diff --git a/ChangeLog b/ChangeLog
index a7e933c..aaad5eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,368 +1,11 @@
-=== release 1.8.2 ===
+=== release 1.9.1 ===
 
-2016-06-09  Sebastian Dröge <slomo@coaxion.net>
+2016-07-06  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.8.2
+	  releasing 1.9.1
 
-2016-06-09 10:06:02 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/hr.po:
-	* po/pt_BR.po:
-	* po/sk.po:
-	  po: Update translations
-
-2016-06-07 21:10:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* ext/webp/gstwebpdec.c:
-	  webpdec: Wait for segment event before checking it
-	  The heuristic to choose between packetise or not was changed to use the
-	  segment format. The problem is that this change is reading the segment
-	  during the caps event handling. The segment event will only be sent
-	  after. That prevented the decoder to go in packetize mode, and avoid
-	  useless parsing.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736252
-
-2016-06-07 21:04:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/vmnc/vmncdec.c:
-	  vmncdec: Wait for segment event before checking it
-	  The heuristic to choose between packetise or not was changed to use the
-	  segment format. The problem is that this change is reading the segment
-	  during the caps event handling. The segment event will only be sent
-	  after. That prevented the decoder to go in packetize mode, and avoid
-	  useless parsing.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736252
-
-2016-05-02 17:38:50 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* gst/mpegtsmux/mpegtsmux.c:
-	  mpegtsmux: Set PTS on aligned buffers
-	  This was broken in 09c05df (make "alignment" property more useful for
-	  packetisation).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765926
-
-2016-05-20 14:34:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* ext/gl/caopengllayersink.h:
-	* ext/gl/caopengllayersink.m:
-	  caopengllayersink: Don't cache buffer pool
-	  Pools cannot be used by the two elements at the same time.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766611
-
-2016-06-07 17:22:01 +1000  Alessandro Decina <alessandro.d@gmail.com>
-
-	* sys/applemedia/vtdec.c:
-	  vtdec: always drain in ::negotiate
-	  Move calling gst_vtdec_push_frames_if_needed from ::set_format to ::negotiate so
-	  that we always drain even when renegotiation is triggered by downstream.
-
-2016-06-07 16:00:01 +1000  Alessandro Decina <alessandro.d@gmail.com>
-
-	* sys/applemedia/vtdec.c:
-	  vtdec: try to preserve downstream caps order
-	  vtdec specifies sysmem; GLMemory as template caps. When negotiating, we used to
-	  call gst_pad_peer_query_caps (..., filter) with our template caps as filter. The
-	  query does gst_caps_intersect (filter, peercaps) internally which gives
-	  precedence to the order of the filter caps. While we want to output sysmem by
-	  default, when negotiating with glimagesink which returns GLMemory; sysmem; we
-	  do want to do GL, so we now query using a NULL filter and intersect the result
-	  with our template caps giving precedence to downstream's caps.
-	  tl;dr: make sure we end up negotiating GLMemory with glimagesink
-
-2016-06-06 12:38:45 -0400  Xavier Claessens <xavier.claessens@collabora.com>
-
-	* sys/androidmedia/gstamcvideoenc.c:
-	  amcvideoenc: Do not call gst_object_unref on GstCaps
-	  https://bugzilla.gnome.org/show_bug.cgi?id=767298
-
-2016-06-06 14:08:43 -0400  Xavier Claessens <xavier.claessens@collabora.com>
-
-	* sys/androidmedia/gstahcsrc.c:
-	  ahcsrc: Avoid a div by 0 warning
-	  https://bugzilla.gnome.org/show_bug.cgi?id=767302
-
-2016-06-02 16:30:02 +1000  Alessandro Decina <alessandro.d@gmail.com>
-
-	* sys/applemedia/vtdec.c:
-	  vtdec: make vtdec_hw fallback to software on renegotiation
-	  When renegotiating mid stream - for example with variable bitrate
-	  streams - and therefore destroying and recreating VTSessions, the
-	  hw decoder might become temporarily unavailable.
-	  To deal with this and avoid erroring out on bitrate changes,
-	  vtdec_hw now falls back to using the software decoder if the hw
-	  one was available at some point but isn't anymore. At
-	  renegotiation/bitrate change time, it will still retry to open
-	  the hardware one.
-
-2016-06-02 13:10:51 +1000  Alessandro Decina <alessandro.d@gmail.com>
-
-	* sys/applemedia/vtdec.c:
-	  vtdec: fix switching from GLMemory to Sysmem
-	  When renegotiating from GLMemory to Sysmem do teardown the texture_cache.
-	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=766190
-
-2016-06-02 11:36:57 +1000  Alessandro Decina <alessandro.d@gmail.com>
-
-	* sys/applemedia/vtdec.c:
-	  vtdec: optimize renegotiation
-	  ::negotiate can be called several times before the CAPS event is sent downstream
-	  so use the currently configured output state caps instead of the pad current
-	  caps when deciding whether to recreate the VTSession or not.
-	  This leads to creating/destroying less VTSessions which makes renegotiation more
-	  reliable especially when using hw decoding.
-
-2016-05-23 15:24:53 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst-libs/gst/player/gstplayer.c:
-	  player: fix suburi getter debug message
-	  The property is a string, not a boolean.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766607
-
-2016-05-25 09:53:15 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst-libs/gst/player/gstplayer.c:
-	  player: Don't set subtitle URI directly but dispatch to the player thread
-	  Otherwise we do state changes and everything in the application thread, which
-	  might block and more important can cause reentrant signals.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766607
-
-2016-05-23 17:00:22 +0530  Arun Raghavan <arun@arunraghavan.net>
-
-	* gst-libs/gst/player/gstplayer-media-info.c:
-	  player: Fix documentation for gst_player_video_info_get_framerate()
-	  Document out parameters and fix function name.
-
-2016-05-18 16:00:47 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* tests/check/libs/player.c:
-	  player: use gst_check_init() in test
-	  Calling GST_DEBUG() in test rely on the default category to be defined,
-	  which is done in gst_check_init().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766607
-
-2016-05-20 17:28:52 -0400  Aaron Boxer <boxerab@gmail.com>
-
-	* ext/openjpeg/gstopenjpegenc.c:
-	  openjpegenc: enable MCT for RGB video
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766732
-
-2016-05-19 09:25:57 -0700  Martin Kelly <martin@surround.io>
-
-	* sys/androidmedia/gst-android-hardware-camera.c:
-	  ahc: fix potential NULL deref
-	  This bug was found via cppcheck static analysis.
-	  If android.hardware.Camera.getParameters returns NULL, then object will
-	  be NULL, and we won't allocate params. This means that the GST_DEBUG
-	  statement referencing params->object will be invalid. Fix this by
-	  exiting early if android.hardware.Camera.getParameters returns NULL.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766638
-
-2016-05-19 16:55:31 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* ext/gl/gstglmosaic.c:
-	  glmosaic: fix shader leak
-	  gst_gl_mosaic_init_shader() is called twice with test_glmosaic so the
-	  first shader was leaked.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766661
-
-2016-05-16 17:11:53 -0400  Xavier Claessens <xavier.claessens@collabora.com>
-
-	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
-	  gl: win32: Unparent internal window before destroying it
-	  For some reason DestroyWindow() deadlock if it's called from
-	  parent window's KeyPress event.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766533
-
-2016-05-16 15:26:53 -0400  Xavier Claessens <xavier.claessens@collabora.com>
-
-	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
-	  gl: win32: Don't steal parent focus when creating internal window
-	  This fix regression introduced by 0acc18c60f6f962cc6553f6047fdb64891bab544.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766520
-
-2016-05-14 11:56:59 +0200  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst-libs/gst/video/gstvideoaggregator.c:
-	  videoaggregator: Don't wait if input buffer is after output
-	  If the input buffer is after the end of the output buffer, then waiting
-	  for more data won't help. We will never get an input buffer for this point.
-	  This fixes compositing of streams from rtspsrc.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766422
-
-2016-05-14 16:59:14 +0300  Alex-P. Natsios <drakevr@2f30.org>
-
-	* configure.ac:
-	  configure: check for shm_open() in OpenBSD
-	  In OpenBSD there is no "actual" librt that programs can link with,
-	  instead the system/base libc provides the functions one would
-	  customarily find there.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766441
-
-2016-05-11 23:48:21 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* sys/androidmedia/gstamc.c:
-	  amcaudiodec: Set layout=interleaved in raw audio caps
-	  Otherwise the GAP event fallback negotiation will fail to produce complete
-	  srcpad caps, and thus fail.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766289
-
-2016-05-10 16:24:08 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* configure.ac:
-	* ext/openjpeg/gstopenjpeg.h:
-	* ext/openjpeg/gstopenjpegdec.c:
-	* ext/openjpeg/gstopenjpegenc.c:
-	  openjpeg: Port to 2.1 and require a pkg-config file for 2.0 and 2.1
-	  The port was trivial, and according to the NEWS file nothing else has changed,
-	  but it is possible that other API was changed without proper notification.
-	  OpenJPEG upstream has shipped a pkg-config file for the past 4 years, and all
-	  distros should be shipping it by now.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766213
-
-2016-05-04 11:30:11 +1000  Alessandro Decina <alessandro.d@gmail.com>
-
-	* sys/applemedia/vtdec.c:
-	  applemedia: vtdec: output sysmem by default
-
-2016-05-05 18:00:25 +1000  Matthew Waters <matthew@centricular.com>
-
-	* ext/vulkan/vkswapper.c:
-	  vkswapper: use gst_video_sink_center_rect for positioning the video
-	  Don't try to reimplement it badly.
-
-2016-05-05 23:53:05 +1000  Matthew Waters <matthew@centricular.com>
-
-	* ext/vulkan/Makefile.am:
-	  vulkan/build: add the build directory to the list of includes
-	  Fixes out of tree builds from tarballs.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=764758
-
-2016-04-08 18:09:53 +1000  Matthew Waters <matthew@centricular.com>
-
-	* ext/vulkan/vkimagememory.c:
-	  vulkan: silence a validation warning filling out the image barrier
-
-2016-04-08 18:09:06 +1000  Matthew Waters <matthew@centricular.com>
-
-	* ext/vulkan/vkdevice.c:
-	* ext/vulkan/vkinstance.c:
-	  vulkan: use the correct validation layer name
-	  The threading validation layer has changed names.
-
-2016-05-02 11:30:43 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* sys/directsound/gstdirectsoundsrc.c:
-	  directsoundsrc: Convert Windows strings to UTF8 before comparing against UTF8 strings
-	  The device name and descriptions returned are in the locale encoding, not
-	  UTF8. Our device name property is in UTF8 though, so we need to convert.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756948
-
-2016-05-03 11:11:24 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/compositor/compositor.c:
-	  compositor: Set blend functions in ::negotiated_caps() instead of ::fixate_caps()
-	  The latter should not change any state but just fixate the caps, while the
-	  former is always called when srcpads caps are decided.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765324
-
-2016-04-25 16:50:18 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/videoparsers/gsth264parse.c:
-	  h264parse: H264 level idc 0 is not valid
-	  Don't put level=0 into the caps, it confuses other elements.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765538
-
-2016-04-25 16:50:55 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/videoparsers/gsth265parse.c:
-	  h265parse: H265 level idc 0 is not valid
-	  Don't put level=0 into the caps, it confuses other elements.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765538
-
-=== release 1.8.1 ===
-
-2016-04-20 18:22:13 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* 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-audiomixer.xml:
-	* docs/plugins/inspect/plugin-audiovisualizers.xml:
-	* docs/plugins/inspect/plugin-autoconvert.xml:
-	* docs/plugins/inspect/plugin-bayer.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-curl.xml:
-	* docs/plugins/inspect/plugin-dataurisrc.xml:
-	* docs/plugins/inspect/plugin-debugutilsbad.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-faad.xml:
-	* docs/plugins/inspect/plugin-festival.xml:
-	* docs/plugins/inspect/plugin-fieldanalysis.xml:
-	* docs/plugins/inspect/plugin-flite.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-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-jpegformat.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-ofa.xml:
-	* docs/plugins/inspect/plugin-openal.xml:
-	* docs/plugins/inspect/plugin-pcapparse.xml:
-	* docs/plugins/inspect/plugin-pnm.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-rtmp.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-soundtouch.xml:
-	* docs/plugins/inspect/plugin-spandsp.xml:
-	* docs/plugins/inspect/plugin-speed.xml:
-	* docs/plugins/inspect/plugin-subenc.xml:
-	* docs/plugins/inspect/plugin-videoparsersbad.xml:
-	* docs/plugins/inspect/plugin-voaacenc.xml:
-	* docs/plugins/inspect/plugin-voamrwbenc.xml:
-	* docs/plugins/inspect/plugin-waylandsink.xml:
-	* docs/plugins/inspect/plugin-y4mdec.xml:
-	* docs/plugins/inspect/plugin-zbar.xml:
-	* gst-plugins-bad.doap:
-	* win32/common/config.h:
-	  Release 1.8.1
-
-2016-04-20 18:10:11 +0300  Sebastian Dröge <sebastian@centricular.com>
+2016-07-06 10:19:24 +0300  Sebastian Dröge <sebastian@centricular.com>
 
 	* po/af.po:
 	* po/az.po:
@@ -404,22 +47,3123 @@
 	* po/uk.po:
 	* po/vi.po:
 	* po/zh_CN.po:
-	  Update .po files
+	  po: Update translations
 
-2016-04-14 22:32:05 -0700  Aleix Conchillo Flaqué <aconchillo@gmail.com>
+2016-07-05 09:21:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 
-	* ext/srtp/gstsrtpdec.c:
-	  srtpdec: also check for "roc" in caps
-	  Currently, gst_srtp_dec_sink_setcaps is happy if the "roc" field is not
-	  provided in the caps. If it is not provided the stream will be properly
-	  inserted in the hash table with a default "roc". Then, when the first
-	  buffer arrives validate_buffer will find an existing stream in the hash
-	  table and will not signal request-key, not allowing the user to provide
-	  a "roc".
-	  This patch expects "roc" in gst_srtp_dec_sink_setcaps, if not found a
-	  request-key will be signaled and the user will be able to provide all
-	  the srtp fields, including "roc".
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765079
+	* ext/webrtcdsp/gstwebrtcdsp.cpp:
+	  webrtcdsp: Workaround GCC/MingW 4.7 limitations
+	  It refuses to initialize a classes using brackets notation. This is
+	  to allow building using our mingw version.
+
+2016-07-04 14:57:11 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* configure.ac:
+	  configure.ac: Add missing double quotes
+	  That affectation was ignored. This worked on recent GCC as C++11 is
+	  enabled by default now.
+
+2016-07-02 10:24:51 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/gstlv2filter.c:
+	* ext/lv2/gstlv2source.c:
+	* ext/lv2/gstlv2utils.c:
+	* ext/lv2/gstlv2utils.h:
+	  lv2: add support for saving presets
+	  Plugns supporting the state interface can now save their presets under '.lv2'.
+
+2016-06-15 22:22:58 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/README:
+	* ext/lv2/gstlv2.c:
+	* ext/lv2/gstlv2.h:
+	* ext/lv2/gstlv2filter.c:
+	* ext/lv2/gstlv2source.c:
+	* ext/lv2/gstlv2utils.c:
+	* ext/lv2/gstlv2utils.h:
+	  lv2: support for loading presets
+	  Detect if plugins can do presets. Lazily read a list of presets and add support
+	  for loading.
+
+2016-07-04 16:54:53 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* configure.ac:
+	* ext/musepack/gstmusepackdec.c:
+	* ext/musepack/gstmusepackreader.c:
+	  musepackdec: port to 1.0
+
+2016-07-04 12:19:36 +0200  Marcin Lewandowski <marcin@radiokit.org>
+
+	* sys/shm/gstshmsrc.c:
+	  shmsrc: Do not call gst_poll_remove_fd upon stop if reading was never started
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768365
+
+2016-07-01 14:50:27 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/parsechannels.c:
+	  dvb/parsechannels: improve parsing-success message
+	  * Fix typo
+	  * Give information on what was actually parsed
+
+2016-07-01 14:37:37 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/parsechannels.c:
+	  dvb/parsechannels: don't use default conf filename for messages
+	  The file name can be user-defined.
+
+2016-07-01 19:22:32 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* ext/qt/Makefile.am:
+	  qt: fix build some more when QPA is not available
+	  Compiler would complain about include directory that didn't
+	  exist because QPA_INCLUDE_PATH gets subst-ed regardless
+	  (and if it didn't we'd have just an empty -I argument).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767553
+
+2016-07-01 14:05:49 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+	* gst/videoparsers/gstjpeg2000parse.c:
+	  gstjpeg2000parse: no need for else after a goto
+	  else clause is redundant when the end of the if statement is a jump.
+	  If we haven't gone to the beach, we are in the false branch.
+
+2016-06-30 07:47:50 -0400  Aaron Boxer <boxerab@gmail.com>
+
+	* gst/videoparsers/gstjpeg2000parse.c:
+	  gstjpeg2000parse: improved parsing of jpc magic and j2c box
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767512
+
+2016-05-25 16:01:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: Add custom flow return for allowing subclasses to specify when a fragment is finished
+	  If it is finished before upstream going EOS.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767365
+
+2016-05-27 16:08:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: Implement SIDX tracking based on buffer offset
+	  This simplifies the code but also removes a bug with tracking of the remaining
+	  size for the initial subfragment: we were not considering the size between the
+	  index and the start of the first moof here.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764684
+
+2016-03-31 13:39:59 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: Properly keep track of current offset
+	  GstAdapter does not guarantee to pass through all the offsets, we have to keep
+	  track of it ourselves.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764684
+
+2016-03-31 13:39:59 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: Properly keep track of current offset
+	  GstAdapter does not guarantee to pass through all the offsets, we have to keep
+	  track of it ourselves.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764684
+
+2016-03-31 13:01:00 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Clear pending data when needed
+	  When switching fragments we don't want to keep any data around from the last
+	  one, and also forget about all data when doing flushing seeks or selecting new
+	  bitrates.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764684
+
+2016-03-28 13:45:36 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: Get rid of internal stream adapter and let subclasses handle this directly
+	  This allows subclasses to have more control and especially ensure that they
+	  push data downstream with the correct offsets.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764684
+
+2016-07-01 12:20:14 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/codecparsers/gstjpeg2000sampling.c:
+	  codecparsers: jpeg2000: don't allow 0 value for array access with i-1
+
+2016-07-01 12:15:28 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/codecparsers/gstjpeg2000sampling.c:
+	  codecparsers: jpeg2000: fix possible out-of-bounds array access
+	  sizeof(array) != G_N_ELEMENTS(array).
+	  CID 1362900
+
+2016-06-30 23:38:26 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Set frame timestamps before sending to the encoder
+
+2016-06-30 23:35:33 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Fix initial time-per-frame calculation
+
+2016-06-30 23:33:38 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	* ext/openh264/gstopenh264enc.h:
+	  openh264enc: Remove meaningless drop bitrate handling
+	  This doesn't even have a property.
+
+2016-06-30 23:29:13 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	* ext/openh264/gstopenh264enc.h:
+	  openh264enc: Expose maximum bitrate setting
+
+2016-06-30 23:19:26 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Actually hook up the rate-control property
+
+2016-06-30 23:06:29 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Use a constant SPS/PPS ID no matter if openh264 older or newer than 1.4 is used
+
+2016-06-30 23:02:49 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Make slice settings more explicit and don't set any number if not a fixed number of slices is selected
+
+2016-06-29 15:56:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/webrtcdsp/gstwebrtcdsp.cpp:
+	* ext/webrtcdsp/gstwebrtcechoprobe.cpp:
+	* ext/webrtcdsp/gstwebrtcechoprobe.h:
+	  webrtcdsp: Rewrite echo data synchronization
+	  The previous code would run out of sync if there was packet lost
+	  or clock skews. When that happened, the echo cancellation feature would
+	  completely stop working. As this is crucial for audio calls, this patch
+	  re-implement synchronization completely.
+	  Instead of letting it drift until next discont, we now synchronize
+	  against the record data at every iteration. This way we simply never
+	  let the stream drift for longer then 10ms period. We also shorter the
+	  delay by using the latency up the probe (basically excluding the sink
+	  latency. This is a decent delay to avoid starving in the probe queue.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768009
+
+2016-06-29 15:55:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/webrtcdsp/gstwebrtcdsp.cpp:
+	  webrtcdsp: We now fail if there is no echo probe
+	  When echo cancel is enabled, we now fail the pipeline if there is
+	  not echo probe. For this reason there is no need to check if probe
+	  pointer is set anymore.
+
+2016-06-30 21:50:12 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglviewconvert.c:
+	  glviewconvert: fix transformation matrix usage
+	  Calling glUniformMatrix before the shader is bound is invalid and
+	  would result in errors like:
+	  GL_INVALID_OPERATION in glUniformMatrix(program not linked)
+	  Move glUniformMatrix() to after the gst_gl_shader_use() call.
+
+2016-06-28 16:07:43 -0400  Javier Martinez Canillas <javier@osg.samsung.com>
+
+	* sys/kms/gstkmssink.c:
+	  kmssink: fallback to universal planes if no overlay plane is found
+	  Without setting the DRM_CLIENT_CAP_UNIVERSAL_PLANES capability bit, only
+	  overlay planes are made available for compatibility with legacy clients.
+	  But if a CRTC doesn't have an overlay plane associated, then kmssink is
+	  not able to find a plane for the CRTC and the pipeline will fail, i.e:
+	  ERROR                kmssink gstkmssink.c:482:gst_kms_sink_start:<kmssink0> Could not find a plane for crtc
+	  If no overlay planes were found for a given CRTC, fallback to universal
+	  planes so DRM will also return primary planes that can be used instead.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768183
+	  Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
+
+2016-06-28 20:51:56 -0400  Javier Martinez Canillas <javier@osg.samsung.com>
+
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* sys/kms/gstkmssink.c:
+	  kmssink: add a plane-id property
+	  Without setting the DRM_CLIENT_CAP_UNIVERSAL_PLANES capability bit, only
+	  overlay planes are made available for compatibility with legacy clients.
+	  But if a CRTC doesn't have an overlay plane associated, then kmssink is
+	  not able to find a plane for the CRTC and the pipeline will fail, i.e:
+	  ERROR                kmssink gstkmssink.c:482:gst_kms_sink_start:<kmssink0> Could not find a plane for crtc
+	  This patch adds a plane-id property to the kmssink element so a specific
+	  plane can be used in case that a CRTC has only a primary plane associated.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768183
+
+2016-06-30 10:33:30 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Remove broken byte-stream to avc conversion and just output byte-stream as generated by the encoder
+	  The byte-stream to avc conversion did not consider NAL sizes bigger than 2^16,
+	  multiple layers, multiple NALs per layer, and various other things. This
+	  caused corrupted streams in higher bitrates and other circumstances.
+	  Let's just forward byte-stream as generated by the encoder and let h264parse
+	  handle conversion to avc if needed. That way we only have to keep around one
+	  version of the conversion and don't have to fix it in multiple places.
+
+2016-06-29 18:36:56 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: Drop filler data
+	  When skipping data, check if they are filler bytes. If so, drop the
+	  data instead of skipping. We don't want to output filler bytes, but they
+	  shouldn't cause a discontinuity.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768125
+
+2016-06-30 08:31:20 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/dvb/dvbbasebin.c:
+	  dvbbasebin: Use a non-timer GstPoll
+	  set_flushing() causes inconsistent states on timer polls and also signals a
+	  g_critical() nowadays because of that.
+
+2016-06-30 14:04:36 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: fix raw data uploader with addition of GstVideoGLTextureType
+	  Fixes regression from 989200820d43c78fb179d7984827800d83787390
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768217
+
+2016-06-29 23:55:18 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glvideoconvert: RG/LA is available in OpenGL ES 3, so let that through
+
+2016-06-29 18:35:17 +1000  Matthew Waters <matthew@centricular.com>
+
+	* sys/applemedia/videotexturecache.m:
+	  vtdec: use L/LA textures on GLES2 as well
+
+2016-06-24 13:41:11 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+	  Revert "Revert "gl/eagl: try getting a gles3 context""
+	  This reverts commit eb142736318463e6e553c21707ba0d716f85a46f.
+	  vtdec now successfully outputs textures that can be converted by
+	  glcolorconvert in GLES3 contexts.
+
+2016-06-25 00:05:37 +1000  Matthew Waters <matthew@centricular.com>
+
+	* sys/applemedia/videotexturecache.m:
+	  vtdec: add support for zerocopy decoding with GLES 3.x
+	  It seems that Red/RG textures aren't supported anymore for zerocopy decoding
+	  with GLES 3.x.  Instead use Luminance/Luminance Alpha textures which are.
+
+2016-06-28 13:51:22 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgloverlay.c:
+	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	* gst-libs/gst/gl/gstglmemorypbo.c:
+	* gst-libs/gst/gl/gstgloverlaycompositor.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstglviewconvert.c:
+	* sys/androidmedia/gstamcvideodec.c:
+	* sys/applemedia/iosurfacememory.c:
+	* sys/applemedia/iosurfacememory.h:
+	* sys/applemedia/videotexturecache.m:
+	* tests/check/libs/gstglcolorconvert.c:
+	* tests/check/libs/gstglcontext.c:
+	* tests/check/libs/gstglmemory.c:
+	* tests/check/libs/gstglupload.c:
+	  glmemory: add the texture type to allocate to parameters
+	  Rather than assuming something.  e.g. zerocopy on iOS with GLES3 requires
+	  the use of Luminance/Luminance Alpha formats and does not work with
+	  Red/RG textures.
+
+2016-06-28 13:09:51 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: don't assume Red/RG textures will be used
+	  Take the used texture type from the memory instead.
+	  Fixes conversion from multi-planar YUV formats with two components per plane
+	  (NV12, NV21, YUY2, UYVY, GRAY16_*, etc) with Luminance Alpha input textures.
+	  This is also needed for zerocopy decoding on iOS with GLES 3.x.
+
+2016-06-28 13:02:32 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: correct precondition for get_gl_version
+	  The intention was to assert if both maj and min were NULL (as there would be no
+	  point calling the function).  Instead if either maj or min were NULL, the assert
+	  would occur.
+	  Fix that.
+
+2016-06-28 19:26:29 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/d3dvideosink/d3dhelpers.c:
+	* sys/d3dvideosink/d3dvideosink.c:
+	  d3dvideosink: Replace some more gst_caps_to_string() with GST_PTR_FORMAT
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768146
+
+2016-06-28 11:50:59 -0400  Jonathan Roy <jroy@adetelgroup.com>
+
+	* sys/d3dvideosink/d3dvideosink.c:
+	  d3dvideosink: leak on caps string
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768146
+
+2016-06-28 11:08:22 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+	* gst-libs/gst/codecparsers/gstjpeg2000sampling.c:
+	  jpeg2000parse: fix typo in sampling check
+	  Fixing small typo that changes the value of the return.
+
+2016-06-27 21:36:50 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* tests/check/Makefile.am:
+	  tests: Ignore kmssink for state change test
+	  It can only be put to READY if the DRM stuff is available.
+
+2016-06-27 18:15:08 +0800  Haihua Hu <jared.hu@nxp.com>
+
+	* configure.ac:
+	* ext/qt/qtitem.cc:
+	  qmlglsink: Fix build error when don't have QPA installed.
+	  Check header file existance and wrap the header file include
+	  in the necessary #ifdef to avoid build error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767553
+
+2016-06-24 18:14:06 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/dvbbasebin.c:
+	  dvbbasebin: make sure we have an error in case of parsing failure
+	  Drop a redundant comment and rellocate another one while at it.
+
+2016-06-22 16:14:33 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/parsechannels.c:
+	  dvb/parsechannels: implement channels.conf format autodetection
+	  Simple autodetection avoids having to call the parsers
+	  one after the other.
+
+2016-06-21 16:08:57 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/parsechannels.c:
+	  dvb/parsechannels: rename v5/zap parsers for congruency
+	  Add function prototypes while at it.
+
+2016-04-12 21:04:25 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/parsechannels.c:
+	  dvb/parsechannels: fix modulation names
+	  Some names were incorrect. Authoritative source for
+	  the dvbv5 format taken from v4l-utils' lib/libdvbv5/dvb-v5.c
+	  Aditionally, add the missing setter mapping for the
+	  modulation param.
+	  This change makes ATSC work.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764957
+
+2016-02-24 21:44:40 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* sys/dvb/parsechannels.c:
+	  dvbbasebin: also accept DVBv5 channels.conf format
+	  Confirmed working with ISDB-T & ATSC conf files.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764957
+
+2016-06-21 11:48:36 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: fix ISDB-T property descriptions
+	  Drop some stale trailing whitespace while at it.
+
+2016-06-21 11:32:07 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: fix misplaced space on doc block
+
+2016-05-10 03:32:59 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	* gst/videoparsers/gsth264parse.h:
+	  h264parse: When input alignment=AU, always drain each packet.
+	  If the input alignment claims AU alignment, each received
+	  buffer should contain a complete video frame, so never hold over parts
+	  of buffers for later processing. Also reduces latency, as packets
+	  are parsed/converted and output immediately instead of 1 buffer
+	  later.
+	  Fixes a problem where an (arguably disallowed) padding byte on the
+	  end of a buffer is detected as an extra byte in the following
+	  start code, and messes up the timestamping that should apply to
+	  that start code.
+
+2016-06-24 13:05:24 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/libgstcodecparsers.def:
+	  win32: update codecparsers .def file for new symbols
+
+2016-06-24 09:41:18 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/openjpeg/Makefile.am:
+	* ext/openjpeg/gstopenjpegdec.h:
+	* ext/openjpeg/gstopenjpegenc.c:
+	  openjpeg: fix more broken includes
+
+2016-06-24 09:39:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/videoparsers/gstjpeg2000parse.h:
+	  videoparsers: fix broken include
+
+2016-06-21 12:41:46 -0400  Aaron Boxer <boxerab@gmail.com>
+
+	* ext/openjpeg/Makefile.am:
+	* ext/openjpeg/gstopenjpegdec.c:
+	* ext/openjpeg/gstopenjpegdec.h:
+	* ext/openjpeg/gstopenjpegenc.c:
+	* gst-libs/gst/codecparsers/Makefile.am:
+	* gst-libs/gst/codecparsers/gstjpeg2000sampling.c:
+	* gst-libs/gst/codecparsers/gstjpeg2000sampling.h:
+	* gst/videoparsers/Makefile.am:
+	* gst/videoparsers/gstjpeg2000parse.c:
+	* gst/videoparsers/gstjpeg2000parse.h:
+	* gst/videoparsers/gstjpeg2000sampling.h:
+	  jpeg2000parse: use enums for colorspace and sampling, rather than strings
+	  Also, move gstjpeg2000sampling to codecparsers project
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767908
+
+2016-06-24 01:57:13 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* configure.ac:
+	  configure: Need to add -DGST_STATIC_COMPILATION when building only statically
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767463
+
+2016-06-23 15:57:58 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/egl/gsteglimage.c:
+	  eglimage: Only register debug category if dmabuf support is enabled
+	  It's not used otherwise currently and causes compiler warnings.
+
+2016-06-22 22:28:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/webrtcdsp/gstwebrtcdsp.cpp:
+	  webrtcdsp: Offset timestamp with duration
+	  The saved timestamp is used to compute the delay of the probe data.
+	  As it's used at the following incoming buffer, it needs to be offset
+	  with the duration of the buffer to represent the end position. Also,
+	  properly initialize the saved timestamp and protect against TIME_NONE.
+
+2016-06-22 21:54:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/webrtcdsp/gstwebrtcdsp.cpp:
+	  webrtcdsp: Synchronize with delays
+	  Until now, we were synchronizing both DSP and Probe adapter by
+	  waiting and clipping the probe adapter data. This increases the CPU
+	  usage, can cause copies if the audio is not 10ms aligned and the worst
+	  is that it prevents the processing from compensating for inaccurate
+	  latency. This is also a step forward toward supporting playback
+	  filters.
+
+2016-06-22 21:45:08 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/webrtcdsp/gstwebrtcdsp.cpp:
+	  webrtdsp: Remove restriction on channels number
+	  Unlike 0.1, in 0.2 the reverse stream can have different number of
+	  channels. Remove the check that restrict it.
+
+2016-06-22 21:44:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/webrtcdsp/gstwebrtcdsp.cpp:
+	  webrtcdsp: Style fix
+
+2016-06-16 14:18:18 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: minimize renegotiation to make hw decoding more reliable
+	  The hardware decoder can become (temporarily) unavailable across
+	  VTDecompressionSessionCreate/Destroy calls. During negotiation if the currently
+	  configured caps are still accepted by downstream we keep using them so we don't
+	  have to destroy and recreate the decoding session.
+	  This indirectly fixes https://bugzilla.gnome.org/show_bug.cgi?id=767429, by
+	  making vtdec stick to GLMemory.
+
+2016-06-16 15:13:02 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/qt/qtitem.cc:
+	* ext/qt/qtplugin.pro:
+	  qmlglsink: add win32 support
+	  The current state of c++ ABI's on Window's and Gst's/Qt's conflicting
+	  mingw builds means that we cannot use mingw for building the qt plugin.
+	  Instead, a qmake .pro file is provided that is expected to be used with the
+	  msvc binaries provided by Qt like so:
+	  (with the PATH environment variable containing the path to the qt biniaries
+	  and PKG_CONFIG_PATH containing the path to GStreamer modules)
+	  cd /path/to/sources/gst-plugins-bad/ext/qt
+	  qmake -tp vc
+	  Then open the resulting VS project and build the library.  Then
+	  cp debug/libgstqtsink.dll /path/to/prefix/lib/gstreamer-1.0/libgstqtsink.cll
+	  https://bugzilla.gnome.org/show_bug.cgi?id=761260
+
+2016-06-21 11:40:22 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* .gitignore:
+	  Add missing file to gitignore
+
+2016-06-20 18:52:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* docs/plugins/Makefile.am:
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* docs/plugins/gst-plugins-bad-plugins.hierarchy:
+	* docs/plugins/gst-plugins-bad-plugins.interfaces:
+	* docs/plugins/inspect/plugin-androidcamera.xml:
+	* docs/plugins/inspect/plugin-assrender.xml:
+	* docs/plugins/inspect/plugin-audiofxbad.xml:
+	* docs/plugins/inspect/plugin-bluez.xml:
+	* docs/plugins/inspect/plugin-bs2b.xml:
+	* docs/plugins/inspect/plugin-compositor.xml:
+	* docs/plugins/inspect/plugin-dashdemux.xml:
+	* docs/plugins/inspect/plugin-decklink.xml:
+	* docs/plugins/inspect/plugin-dtls.xml:
+	* docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+	* docs/plugins/inspect/plugin-fbdevsink.xml:
+	* docs/plugins/inspect/plugin-fluidsynthmidi.xml:
+	* docs/plugins/inspect/plugin-freeverb.xml:
+	* docs/plugins/inspect/plugin-frei0r.xml:
+	* docs/plugins/inspect/plugin-gstgtk.xml:
+	* docs/plugins/inspect/plugin-inter.xml:
+	* docs/plugins/inspect/plugin-ivfparse.xml:
+	* docs/plugins/inspect/plugin-ivtc.xml:
+	* docs/plugins/inspect/plugin-jp2kdecimator.xml:
+	* docs/plugins/inspect/plugin-kate.xml:
+	* docs/plugins/inspect/plugin-kms.xml:
+	* docs/plugins/inspect/plugin-ladspa.xml:
+	* docs/plugins/inspect/plugin-midi.xml:
+	* docs/plugins/inspect/plugin-mpegtsdemux.xml:
+	* docs/plugins/inspect/plugin-mxf.xml:
+	* docs/plugins/inspect/plugin-netsim.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-pnm.xml:
+	* docs/plugins/inspect/plugin-qt.xml:
+	* docs/plugins/inspect/plugin-rawparse.xml:
+	* docs/plugins/inspect/plugin-resindvd.xml:
+	* docs/plugins/inspect/plugin-rsvg.xml:
+	* docs/plugins/inspect/plugin-rtponvif.xml:
+	* docs/plugins/inspect/plugin-smoothstreaming.xml:
+	* docs/plugins/inspect/plugin-sndfile.xml:
+	* docs/plugins/inspect/plugin-srtp.xml:
+	* docs/plugins/inspect/plugin-stereo.xml:
+	* docs/plugins/inspect/plugin-teletext.xml:
+	* docs/plugins/inspect/plugin-uvch264.xml:
+	* docs/plugins/inspect/plugin-vcdsrc.xml:
+	* docs/plugins/inspect/plugin-vdpau.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-webp.xml:
+	* docs/plugins/inspect/plugin-webrtcdsp.xml:
+	* docs/plugins/inspect/plugin-wildmidi.xml:
+	* docs/plugins/inspect/plugin-x265.xml:
+	* docs/plugins/inspect/plugin-yadif.xml:
+	* docs/plugins/inspect/plugin-zbar.xml:
+	* gst/pnm/gstpnmenc.c:
+	  doc: Automatic update
+	  This is an automatic update with manual merges of running
+	  "make update" in the doc/plugins directory. This should help
+	  later maintenance of the plugins doc. A lot of plugin are
+	  not referenced yet in the doc. Will come later.
+
+2016-06-20 16:30:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* docs/plugins/Makefile.am:
+	  doc: Add .cpp files to doc parser
+	  Also, complete the list of directory that need to be visited.
+
+2016-06-06 15:10:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* configure.ac:
+	* ext/Makefile.am:
+	* ext/webrtcdsp/Makefile.am:
+	* ext/webrtcdsp/gstwebrtcdsp.cpp:
+	* ext/webrtcdsp/gstwebrtcdsp.h:
+	* ext/webrtcdsp/gstwebrtcechoprobe.cpp:
+	* ext/webrtcdsp/gstwebrtcechoprobe.h:
+	  webrtcdsp: Add WebRTC Audio Processing support
+	  This DSP library can be used to enhance voice signal for real time
+	  communication call. In implements multiple filters like noise reduction,
+	  high pass filter, echo cancellation, automatic gain control, etc.
+	  The webrtcdsp element can be used along, or with the help of the
+	  webrtcechoprobe if echo cancellation is enabled. The echo probe should
+	  be placed as close as possible to the audio sink, while the DSP is
+	  generally place close to the audio capture. For local testing, one can
+	  use an echo loop pipeline like the following:
+	  autoaudiosrc ! webrtcdsp ! webrtcechoprobe ! autoaudiosink
+	  This pipeline should produce a single echo rather then repeated echo.
+	  Those elements works if they are placed in the same top level pipeline.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767800
+
+2016-06-21 11:46:44 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From ac2f647 to f363b32
+
+2016-03-22 16:51:53 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
+	  glcontext/wgl: try wglCreateContextAttribsARB even not gl3 core profile
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764018
+
+2016-06-21 18:28:46 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: fix get_current_gl_api() on win32
+	  Another case of incorrect calling conventions.
+	  Using this function on win32 would corrupt the stack pointer and end in
+	  massive hilarity.
+
+2016-06-15 12:47:05 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglsl.c:
+	* gst-libs/gst/gl/gstglsl_private.h:
+	* gst-libs/gst/gl/gstglviewconvert.c:
+	  glsl: fixup external-oes shaders by mangling the required extension
+	  Newer devices require using a different GLSL extension for accessing
+	  external-oes textures in a shader using the texture() functions.
+	  While the GL_OES_EGL_image_external_essl3 should supposedly be supported
+	  on a any GLES3 android device, the extension was defined after a lot of the
+	  older drivers were built so they will not know about it.  Thus there are two
+	  possible interpretations of which of texture[2D]() should be supported for
+	  external-oes textures.  Strict adherence to the GL_OES_EGL_image_external
+	  extension spec which uses texture2D() or following GLES3's pattern, also
+	  allowing texture() as a function for accessing external-oes textures
+	  This adds another mangling pass to convert
+	  #extension GL_OES_EGL_image_external : ...
+	  into
+	  #extension GL_OES_EGL_image_external_essl3 : ...
+	  on GLES3 and when the GL_OES_EGL_image_external_essl3 extension is supported.
+	  Only uses texture() when the GLES3 and the GL_OES_EGL_image_external_essl3
+	  extension is supported for external-oes textures.
+	  Uses GLES2 + texture2D() + GL_OES_EGL_image_external in all other external-oes
+	  cases.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766993
+
+2016-05-24 16:26:24 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* sys/winks/ksdeviceprovider.c:
+	* sys/winks/kshelpers.c:
+	* sys/winks/kshelpers.h:
+	  winks: Port to MSVC and pretend to be Windows XP
+	  strcasecmp is not defined on MSVC, so just use the glib wrapper. Also pretend to
+	  be Windows XP explicitly since the API we use was deprecated and removed
+	  (ifdef-ed) from the SDK after this version of Windows. This will be especially
+	  relevant once we stop supporting Windows XP soon:
+	  https://bugzilla.gnome.org/show_bug.cgi?id=756866
+
+2016-03-02 02:17:54 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* win32/common/libgstadaptivedemux.def:
+	* win32/common/libgstbadaudio.def:
+	* win32/common/libgstbadbase.def:
+	* win32/common/libgstbadvideo.def:
+	* win32/common/libgstbasecamerabinsrc.def:
+	* win32/common/libgstinsertbin.def:
+	* win32/common/libgstmpegts.def:
+	* win32/common/libgsturidownloader.def:
+	  win32: Add missing def files for libraries
+
+2016-03-02 00:55:15 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/audiovisualizers/gstspacescope.c:
+	* gst/audiovisualizers/gstspectrascope.c:
+	* gst/audiovisualizers/gstsynaescope.c:
+	* gst/audiovisualizers/gstwavescope.c:
+	  build: Factor out endian-order RGB formats
+	  MSVC seems to ignore preprocessor conditionals inside static pad templates
+
+2016-06-13 22:29:39 -0400  Aaron Boxer <boxerab@gmail.com>
+
+	* ext/openjpeg/gstopenjpegdec.c:
+	* ext/openjpeg/gstopenjpegdec.h:
+	  openjpegdec: use sampling field to determine RGB channel
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767402
+
+2016-06-02 13:53:38 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/elements/templatematch.c:
+	  templatematch: fix buffer leak in test
+	  Need to call gst_check_drop_buffers() to unref the buffers exchanged
+	  during the test.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767159
+
+2016-05-19 13:31:56 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/elements/glimagesink.c:
+	  glimagesink: fix query leak in test
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766663
+
+2016-05-19 13:29:15 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/elements/glimagesink.c:
+	  glimagesink: properly setup/teardown tests
+	  tcase_add_checked_fixture() is suppose to call the setup and teardown
+	  functions so the tests don't have to do it manually.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766663
+
+2016-05-19 13:09:41 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/libs/gstglupload.c:
+	  glupload: fix shader leak in test
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766663
+
+2016-05-19 12:51:17 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/elements/uvch264demux.c:
+	  uvch264demux: fix buffer leaks in test
+	  The mock chain functions aren't unreffing the buffers so the caller
+	  should do it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766663
+
+2016-05-19 12:36:42 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/elements/camerabin.c:
+	  camerabin: fix element leak in test
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766663
+
+2016-05-19 11:19:57 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/elements/autoconvert.c:
+	  fix buffer leaks in tests
+	  gst_check_drop_buffers() release the buffers exchanged during the test.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766663
+
+2016-05-19 11:19:20 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/elements/audiomixer.c:
+	* tests/check/elements/compositor.c:
+	  fix event leaks in tests
+	  The events are supposed to be unreffed when finishing the test, not
+	  reffed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766663
+
+2016-05-19 11:19:01 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/elements/audiointerleave.c:
+	  audiointerleave: fix message leaks by flushing the bus
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766663
+
+2016-05-19 11:16:37 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst-libs/gst/audio/gstaudioaggregator.c:
+	  audioaggregator: fix buffer leak
+	  If the pad was still owning a buffer when being destroyed it was leaked.
+	  Fix a leak with the test_flush_start_flush_stop test.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766663
+
+2016-05-18 16:58:44 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/elements/autoconvert.c:
+	  autoconvert: fix factories leak in test
+	  The factories returned by gst_registry_find_feature() have to be
+	  unreffed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766663
+
+2016-06-17 14:58:44 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	  h264parse: fix default time_offset_length
+	  The default value for time_offset_length should be 24, see
+	  section E2.2 of the H264 spec.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767792
+
+2016-06-17 14:31:42 +0200  Joan Pau Beltran <joanpau.beltran@socib.cat>
+
+	* ext/dc1394/gstdc1394src.c:
+	  dc1394src: check for disabled transmission in _stop_cam
+	  For symetry with _start_cam, check that the transmission
+	  is effectively disabled in _stop_cam.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763026
+
+2016-06-17 15:32:08 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: do not rely on temp var for fail detection
+	  Use errno instead as local var might be overwritten
+	  before the check.
+
+2016-06-14 15:29:08 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: rework set_pids()
+	  - Reflow to avoid unneeded nesting
+	  - Free aux pids array earlier
+	  - Adjust debug output to deliver more meaningful information
+
+2016-06-14 14:24:35 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: drop pointless debug msg
+
+2016-06-09 16:05:39 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	* gst-libs/gst/codecparsers/gsth265parser.h:
+	* gst-libs/gst/codecparsers/gstmpeg4parser.c:
+	* gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+	* gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+	* gst-libs/gst/codecparsers/gstvc1parser.c:
+	  codecparsers: drop all otherwizes
+
+2016-06-12 13:53:18 -0400  Aaron Boxer <boxerab@gmail.com>
+
+	* gst/videoparsers/gstjpeg2000parse.c:
+	* gst/videoparsers/gstjpeg2000parse.h:
+	  jpeg2000parse: support j2c format
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767512
+
+2016-06-16 01:54:16 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/Makefile.am:
+	  tests/glcontext: link against gstvideo for gst_video_info_*
+	  fixes make distcheck complaining about it.
+
+2016-04-14 18:14:32 +0300  Sergey Borovkov <sergey.borovkov@wireload.net>
+
+	* configure.ac:
+	* ext/qt/qtitem.cc:
+	* gst-libs/gst/gl/egl/gstegl.h:
+	  qml: Enable qmlglsink for eglfs
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763044
+
+2016-06-16 00:44:48 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/qt/qtitem.cc:
+	  qmlglsink: propagate GL context creation failure upwards
+	  Otherwise an application cannot know if the qmlglsink will be displaying frames
+	  incorrectly/at all.
+
+2016-06-16 00:44:16 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/qt/qtitem.cc:
+	  qmlglsink: also allow wayland-egl as a platform name
+
+2016-06-12 15:35:28 +0800  Haihua Hu <jared.hu@nxp.com>
+
+	* configure.ac:
+	* ext/qt/Makefile.am:
+	* ext/qt/qtitem.cc:
+	  qmlglsink: Add Wayland support
+	  Don't use gstgldisplay to get wayland display. Should use QPA on wayland
+	  to get wayland display for QT.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767553
+
+2016-06-16 00:46:57 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/libs/gstglcontext.c:
+	  tests/glcontext: update test for gen,del_texture removal
+
+2016-06-14 22:12:18 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/ladspa/gstladspa.c:
+	  ladspa: simplify registry cache structure creation
+	  Create and fill structure in one go.
+
+2016-06-14 13:48:09 +0800  Haihua Hu <jared.hu@nxp.com>
+
+	* ext/gl/effects/gstgleffectssources.c:
+	  gleffects: fix little rectangle that appears at the center of squeeze and tunnel effects
+	  These two shader will calculate the vector length and use it as denominator.
+	  But length could be zero which will cause undefine behaviour. Add protection for
+	  this condition
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767635
+
+2016-06-15 18:10:59 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglsl.c:
+	  glsl: add some debugging
+
+2016-06-15 16:08:57 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  glutils: remove unused functions for texture creation/deletion
+	  Everyone uses GstGLMemory now and any future code should as well.
+
+2016-06-15 15:47:47 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.h:
+	  glfilter: remove unused class fields in/out_tex_id
+	  The functionality is not used by any subclass nor are the values set anywhere.
+
+2016-06-15 15:08:39 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgldeinterlace.c:
+	  gldeinterlace: remove dead code accessing filter->in_tex_id
+	  It's not set by anyone or anything and gldeinterlace is the only user of it now.
+
+2016-06-15 14:40:40 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  gl/upload/meta: remove unneeded texture deletion
+	  The textures are managed by the GstGLMemory inside the output buffer.  Freeing
+	  them prematurely may result in a use-after-free.
+
+2016-05-30 14:10:23 +0200  Aleix Conchillo Flaqué <aleix@oblong.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	* ext/srtp/gstsrtpenc.h:
+	  srtpenc: remove get-rollover-counter signal and add stats property
+	  We remove get-rollover-counter signal in favor of the "stats"
+	  property. The "stats" property is a GstStructure with caps
+	  application/x-srtp-encoder-stats that contains an array of
+	  structures with caps application/x-srtp-stream.
+	  Each stream structure contains "ssrc" and "roc" fields.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733265
+
+2016-05-25 12:55:36 +0200  Mats Lindestam <matslm@axis.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: support for handling of config-interval = -1
+	  Added support for handling of config-interval = -1.
+	  config-inteval = -1 represents resending SPS and PPS for each
+	  I-/IDR-frame.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766803
+
+2016-05-25 12:45:17 +0200  Mats Lindestam <matslm@axis.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: refactored handling of SPS/PPS when pushing frames
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766803
+
+2016-05-25 11:54:55 +0200  Mats Lindestam <matslm@axis.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	* gst/videoparsers/gsth264parse.h:
+	  h264parse: change "config-interval" property type from uint to int
+	  So we can use -1 as special value like in rtph264pay.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766803
+
+2016-06-13 09:20:22 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/avfassetsrc.m:
+	  avfassetsrc: Don't escape the URI before passing it to NSURL
+	  The URI must already be escaped by the caller, we don't support passing around
+	  invalid (unescaped) URIs via the GstURIHandler interface.
+	  Also it will escape too much of the URI in this case, e.g.
+	  ipod-library://item/item.m4a?id=3143338395173862951
+	  becomes
+	  ipod-library://item/item.m4a%3Fid%3D3143338395173862951
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767492
+
+2016-06-13 09:20:02 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/iosassetsrc.m:
+	  iosassetsrc: Print the correct URI if it was rejected
+	  We were printing the previously set URI instead of the new one.
+
+2016-06-09 01:20:36 +0200  Sebastian Rasmussen <sebrn@axis.com>
+
+	* ext/curl/gstcurlsmtpsink.c:
+	  curlsmtpsink: Lock and don't send final boundary upon error
+	  Previously GstCurlSmtpSink could cause the pipeline thread to end up
+	  waiting for a stopped thread to perform work.
+	  The scenario was that the sink could be rendering a buffer and waiting
+	  for the curl transfer thread to have sent the data. As soon as the
+	  transfer thread has copied all data to curl's data buffer in
+	  gst_curl_base_sink_transfer_read_cb() then the render call would stop
+	  waiting and return GST_FLOW_OK. While this takes place the transfer
+	  thread may suffer from an error e.g. due gst_poll_wait() timing out.
+	  This causes the transfer thread to record the error, claim (it is not
+	  really true since there was an error) that the data has been sent and
+	  that a response has been received by trying to signal the pipeline
+	  thread (but this has already stopped waiting). Finally the transfer
+	  thread stops itself. A short while later the pipeline thread may attempt
+	  to push an EOS event into GstCurlSmtpSink. Since there is no check in
+	  gst_curl_smtp_sink_event() to check if the sink has suffered from any
+	  error it may attempt to add a final boundary and ask the, now deceased,
+	  transfer thread to transfer the new data. Next the sink element would
+	  have waited for the transfer to complete (using a different mechanism
+	  than normal transfers through GstCurlBaseSink). In this case there was
+	  an error check to avoid waiting if an error had already been seen.
+	  Finally GstCurlSmtpSink would chain up to GstCurlBaseSink which would
+	  then block waiting for a response (normally this would be prevented by
+	  the transfer thread suffering the error claiming that it had been
+	  received, but GstCurlSmtpSink clobbered this flag after the fact).
+	  Now GstCurlSmtpSink avoids this by locking over the entire event handing
+	  (preventing simultaneous changes to flags by the two threads) and also
+	  by avoiding to initiate transfer of final boundary if an error has
+	  already been seen.
+	  Also add GST_FIXME() for remaining similar issue where the pipeline
+	  thread may block indefinitely waiting for transfer thread to transfer
+	  data but the transfer thread errors out and fails to notify the pipeline
+	  thread that the transfer failed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767501
+
+2016-06-08 11:32:28 -0400  Aaron Boxer <boxerab@gmail.com>
+
+	* gst/videoparsers/gstjpeg2000parse.c:
+	* gst/videoparsers/gstjpeg2000parse.h:
+	* gst/videoparsers/gstjpeg2000sampling.h:
+	  jpeg2000parse: Require either colorspace or sampling field in sink caps
+	  And always set the sampling field on the src caps, if necessary guessing a
+	  correct value for it from the colorspace field.
+	  Also, did some cleanup: removed sampling enum - redundant.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766236
+
+2016-06-10 11:32:46 +0300  Heinrich Fink <hfink@toolsonair.com>
+
+	* ext/opencv/gstfacedetect.cpp:
+	  facedetect: Fix compiler warning with clang 3.8
+	  Use namespace only after it was actually defined by a header.
+	  gstfacedetect.cpp:79:17: error: using directive refers to implicitly-defined namespace 'std' [-Werror]
+	  using namespace std;
+	  ^
+
+2016-06-06 16:35:15 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: unify exit paths on _start()
+
+2016-06-06 15:31:31 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: use proper acronym for PID (Packet Identifier)
+	  Drop formatting tab from message while at it.
+
+2016-06-06 12:25:22 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: set common PES filter params once and reuse
+	  Avoid setting the same harcoded values over and over again.
+
+2016-06-09 22:01:45 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/dc1394/gstdc1394src.c:
+	  dc1394src: minor clean-up
+	  We always call _parse_caps() with non-NULL out vars.
+
+2016-06-09 22:01:13 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/dc1394/gstdc1394src.c:
+	  dc1394src: fix some more c99-isms
+
+2016-06-09 21:47:05 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/Makefile.am:
+	  docs: fix for renamed dc1394 source file
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763026
+
+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
+	  Replace the type and function prefix to follow the conventions:
+	  - Use `GST_TYPE_DC1394_SRC` instead of `GST_TYPE_DC1394`.
+	  - Use `GstDC1394Src` and `GstDC1394SrcClass` instead of
+	  `GstDc1394` and `GstDc1394Class`.
+	  - Use `gst_dc1394_src` instead of `gst_dc1394`.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763026
+
+2016-05-10 18:30:35 +0200  Joan Pau Beltran <joanpau.beltran@socib.cat>
+
+	* configure.ac:
+	* ext/dc1394/Makefile.am:
+	* ext/dc1394/gstdc1394.c:
+	* ext/dc1394/gstdc1394.h:
+	  dc1394src: port to 1.X
+	  The dc1394src is a PushSrc element for IIDC cameras based on libdc1394.
+	  The implementation from the 0.x series is deffective:
+	  caps negotiation does not work, and some video formats
+	  provided by the camera are not supported.
+	  Refactor the code to port it to 1.X and enhance the support
+	  for the full set of video options of IIDC cameras:
+	  - The IIDC specification includes a set of camera video modes
+	  (video format, frame size, and frame rates).
+	  They do not map perfectly to Gstreamer formats, but those that
+	  do not match are very rare (if used at all by any camera).
+	  In addition, although the specification includes a raw format,
+	  some cameras use mono video formats to capture in Bayer format.
+	  Map corresponding video modes to Gstreamer formats in capabilities,
+	  allowing both gray raw and Bayer video formats for mono video modes.
+	  - The specification includes scalable video modes (Format7),
+	  where the frame size and rate can be set to arbitrary values
+	  (within the limits of the camera and the bus transport).
+	  Allow the use of such mode, using the frame size and rate
+	  from the negotiatied caps, and set the camera frame rate
+	  adjusting the packet size as in:
+	  <http://damien.douxchamps.net/ieee1394/libdc1394/faq/#How_do_I_set_the_frame_rate>
+	  The scalable modes also allow for a custom ROI offset.
+	  Support for it can be easily added later using properties.
+	  - Camera operation using libdc1394 is as follows:
+	  1. Enumerate cameras on the system and open the camera
+	  identified the enumeration index or by a GUID (64bit hex code).
+	  2. Query the video formats supported by the camera.
+	  3. Configure the camera for the desired video format.
+	  4. Setup the capture resources for the configured video format
+	  and start the camera transmission.
+	  5. Capture frames from the camera and release them when not used.
+	  6. Stop the camera transmission and clear the capture resources.
+	  7. Close the camera freeing its resources.
+	  Do steps 2 and 3 when getting and setting the caps respectively.
+	  Ideally 4 and 6 would be done when going from PAUSED to PLAYING
+	  and viceversa, but since caps might not be set yet, the video mode
+	  is not properly configured leaving the camera in a broken state.
+	  Hence, setup capture and start transmission in the set caps method,
+	  and consequently clear the capture and stop the transmission
+	  when going from PAUSED to READY (instead of PLAYING to PAUSED).
+	  Symmetrycally, open the camera when going from READY to PAUSED,
+	  allowing to probe the camera caps in the negotiation stage.
+	  Implement that using the `start` and `stop` methods of `GstBaseSrc`,
+	  instead of the `change-state` method of `GstElement`.
+	  Stop the camera before setting new caps and restarting it again
+	  to handle caps reconfiguration while in PLAYING (it has no effect
+	  if the camera is not started).
+	  - Create buffers copying the bytes of the captured frames.
+	  Alternatively, the buffers could just wrap the bytes of the frames,
+	  releasing the frame in the buffer's destroy notify function,
+	  if all buffers were destroyed before going from PLAYING to PAUSED.
+	  - No timestamp nor offset is set when creating buffers.
+	  Timestamping is delegated to the parent class BaseSrc,
+	  setting `gst_base_src_set_live` TRUE, `gst_base_src_set_format`
+	  with GST_FORMAT_TIME and `gst_base_src_set_do_timestamp`.
+	  Captured frames have a timestamp field with the system time
+	  at the completion of the transmission of the frame,
+	  but it is not sure that this comes from a monotonic clock,
+	  and it seems to be left NULL in Windows.
+	  - Use GUID and unit properties to select the camera to operate on.
+	  The camera number used in version 0.X does not uniquely identify
+	  the device (it depends on the set of cameras currently detected).
+	  Since the GUID is 64bit identifier (same as MAC address),
+	  handle it with a string property with its hexadecimal representation.
+	  For practicality, operate on the first camera available if the GUID
+	  is null (default) and match any camera unit number if unit is -1.
+	  Alternatively, the GUID could be handed with an unsigned 64 bit
+	  integer type property, using `0xffffffffffffffff` as default value
+	  to select the first camera available (it is not a valid GUID value).
+	  - Keep name `GstDc1394` and prefix `gst_dc1394` as in version 0.X,
+	  although `GstDC1394Src` and `gst_dc1394_src` are more descriptive.
+	  - Adjust build files to reenable the compilation of the plugin.
+	  Remove dc1394 from the list of unported plugins in configure.ac.
+	  Add the missing flags and libraries to Makefile.
+	  Use `$()` for variable substitution, as many plugins do,
+	  although other plugins use `@@` instead.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763026
+
+2016-06-08 18:02:32 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Move SEEK handling to a separate function
+	  Just for code readability. Doesn't change behaviour
+
+2016-06-07 21:10:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/webp/gstwebpdec.c:
+	  webpdec: Wait for segment event before checking it
+	  The heuristic to choose between packetise or not was changed to use the
+	  segment format. The problem is that this change is reading the segment
+	  during the caps event handling. The segment event will only be sent
+	  after. That prevented the decoder to go in packetize mode, and avoid
+	  useless parsing.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736252
+
+2016-06-07 21:04:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/vmnc/vmncdec.c:
+	  vmncdec: Wait for segment event before checking it
+	  The heuristic to choose between packetise or not was changed to use the
+	  segment format. The problem is that this change is reading the segment
+	  during the caps event handling. The segment event will only be sent
+	  after. That prevented the decoder to go in packetize mode, and avoid
+	  useless parsing.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736252
+
+2016-06-07 14:15:41 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/openjpeg/gstopenjpegenc.c:
+	  openjpeg: fix builddir != srcdir build, and distcheck
+
+2016-06-01 19:02:33 -0400  Aaron Boxer <boxerab@gmail.com>
+
+	* docs/plugins/gst-plugins-bad-plugins.hierarchy:
+	* docs/plugins/inspect/plugin-videoparsersbad.xml:
+	* gst/videoparsers/Makefile.am:
+	* gst/videoparsers/gstjpeg2000parse.c:
+	* gst/videoparsers/gstjpeg2000parse.h:
+	* gst/videoparsers/gstjpeg2000sampling.h:
+	* gst/videoparsers/plugin.c:
+	  jpeg2000parse: Add JPEG2000 parser element
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766236
+
+2016-06-01 19:01:44 -0400  Aaron Boxer <boxerab@gmail.com>
+
+	* ext/openjpeg/gstopenjpegenc.c:
+	* gst/videoparsers/Makefile.am:
+	* gst/videoparsers/gstjpeg2000sampling.h:
+	  openjpeg: set sampling in the caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766236
+
+2016-05-02 17:38:50 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: Set PTS on aligned buffers
+	  This was broken in 09c05df (make "alignment" property more useful for
+	  packetisation).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765926
+
+2016-06-07 17:22:01 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: always drain in ::negotiate
+	  Move calling gst_vtdec_push_frames_if_needed from ::set_format to ::negotiate so
+	  that we always drain even when renegotiation is triggered by downstream.
+
+2016-06-07 16:00:01 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: try to preserve downstream caps order
+	  vtdec specifies sysmem; GLMemory as template caps. When negotiating, we used to
+	  call gst_pad_peer_query_caps (..., filter) with our template caps as filter. The
+	  query does gst_caps_intersect (filter, peercaps) internally which gives
+	  precedence to the order of the filter caps. While we want to output sysmem by
+	  default, when negotiating with glimagesink which returns GLMemory; sysmem; we
+	  do want to do GL, so we now query using a NULL filter and intersect the result
+	  with our template caps giving precedence to downstream's caps.
+	  tl;dr: make sure we end up negotiating GLMemory with glimagesink
+
+2016-06-06 14:08:43 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* sys/androidmedia/gstahcsrc.c:
+	  ahcsrc: Avoid a div by 0 warning
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767302
+
+2016-06-06 12:38:45 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* sys/androidmedia/gstamcvideoenc.c:
+	  amcvideoenc: Do not call gst_object_unref on GstCaps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767298
+
+2016-05-19 11:16:50 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Set DISCONT on startup, resume and after seeks
+	  Initial buffers after STREAM_START and seeks should always have the
+	  DISCONT flag set.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766650
+
+2015-09-23 02:51:57 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	* gst/mpegtsdemux/tsdemux.h:
+	  tsdemux: Change the pad naming scheme to include a generation ID
+	  A simple fix for the problem of creating new pads with duplicate
+	  names when switching program, easier than the alternative of
+	  trying to work out which pads might persist and manage that.
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=758454
+
+2016-06-06 11:13:00 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/player/gstplayer.c:
+	  player: pause() should not inhibit signals but work exactly like play()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766607#c23
+
+2016-06-03 15:58:52 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: improve description of PIDs property
+
+2016-06-03 07:11:33 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* sys/applemedia/Makefile.am:
+	  applemedia: Only use the OpenGL framework on OSX
+	  It's not available on ios (uses OpenGLES already)
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766973
+
+2016-05-17 17:14:49 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
+	* gst-libs/gst/gl/gstglbuffer.c:
+	* gst-libs/gst/gl/gstglmemorypbo.c:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  gst-libs: gl, video: use MAY_BE_LEAKED flag
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767162
+
+2016-05-18 12:48:48 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* sys/bluez/gsta2dpsink.c:
+	  a2dpsink: unref avdtpsink if state transition failed
+	  If for some reason the avdtpsink element can't go READY then the
+	  gsta2dpsink can't either and so should release the ressources it
+	  allocates when trying to do so.
+	  Fix a leak with the generic/states test.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767161
+
+2016-05-28 21:34:52 +0200  Havard Graff <havard.graff@gmail.com>
+
+	* sys/applemedia/Makefile.am:
+	  applemedia: CGLTexImageIOSurface2D needs the OpenGL framework on OSX
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766973
+
+2016-05-28 21:39:00 +0200  Havard Graff <havard.graff@gmail.com>
+
+	* sys/applemedia/avsamplevideosink.m:
+	  avsamplevideosink: check we are compiling for 10.1 up to 10.4
+	  This API was deprecated in 10.4, so don't use it for 10.5 and onwards.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766973
+
+2016-06-01 13:43:32 +0200  Heinrich Fink <hfink@toolsonair.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  applemedia: vtenc: Register a hardware-only vtenc_h264_hw element on OSX
+	  Similar to vtdec_hw, this commit adds a vtenc_h264_hw element that fails
+	  caps negotiation unless a hardware encoder could actually be acquired.
+	  This is useful in situations where a fallback to a software encoder
+	  other than the vtenc_h264 software encoder is desired (e.g. to x264enc).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767104
+
+2016-06-02 16:30:02 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: make vtdec_hw fallback to software on renegotiation
+	  When renegotiating mid stream - for example with variable bitrate
+	  streams - and therefore destroying and recreating VTSessions, the
+	  hw decoder might become temporarily unavailable.
+	  To deal with this and avoid erroring out on bitrate changes,
+	  vtdec_hw now falls back to using the software decoder if the hw
+	  one was available at some point but isn't anymore. At
+	  renegotiation/bitrate change time, it will still retry to open
+	  the hardware one.
+
+2016-06-02 13:10:51 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: fix switching from GLMemory to Sysmem
+	  When renegotiating from GLMemory to Sysmem do teardown the texture_cache.
+	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=766190
+
+2016-06-02 11:36:57 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: optimize renegotiation
+	  ::negotiate can be called several times before the CAPS event is sent downstream
+	  so use the currently configured output state caps instead of the pad current
+	  caps when deciding whether to recreate the VTSession or not.
+	  This leads to creating/destroying less VTSessions which makes renegotiation more
+	  reliable especially when using hw decoding.
+
+2016-06-01 13:52:10 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: remove comment on self-explanatory code
+
+2016-06-01 13:18:21 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: avoid out-bound write on PID filter array
+	  There's no need for an end-of-list marker in the filter
+	  PIDs array if full, as the absolute maximum number of
+	  elements (MAX_FILTERS) is known.
+	  CID #1362441
+
+2016-05-31 20:41:14 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/androidmedia/gstahcsrc.c:
+	  androidmedia: fix error debug message when camera doesn't exist
+	  Makes no sense to include the system error here since errno
+	  will likely not be set and then it says 'system error: success'
+	  which is confusing.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767087
+
+2016-05-31 18:58:43 +0900  Justin Kim <justin.kim@collabora.com>
+
+	* sys/androidmedia/gstahcsrc.c:
+	  ahcsrc: release resources in 'finalize' function
+	  In general, 'dispose' function is used for dropping all references
+	  and 'finalize' is called for releasing instances.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763309
+
+2016-05-25 15:01:31 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst-libs/gst/player/gstplayer.c:
+	* tests/check/libs/player.c:
+	  player: inhibit signals after gst_player_stop() has been called
+	  Also wait for the state change to STOP to have been announced before
+	  destroying the player so it won't appear as leaked by leak detector
+	  tools.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766607
+
+2016-05-25 12:48:13 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/libs/player.c:
+	  player: handle uri-loaded in test
+	  Had to adapt the existing tests because of this new callback.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766607
+
+2016-05-25 16:57:49 -0700  Scott D Phillips <scott.d.phillips@intel.com>
+
+	* gst/videoparsers/gsth265parse.c:
+	  h265parse: Don't assume contiguous id's in make_codec_data
+	  vps/sps/pps id's are not required to be used contiguously.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766891
+
+2016-05-28 01:22:32 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add sample ATSC launch line
+
+2016-05-28 21:36:04 +0200  Havard Graff <havard.graff@gmail.com>
+
+	* gst-libs/gst/gl/gstglquery.c:
+	  gl: glquery: cast to silence compiler warning
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766973
+
+2016-05-28 21:35:37 +0200  Havard Graff <havard.graff@gmail.com>
+
+	* ext/gl/gstgltestsrc.h:
+	  gltestsrc: gltestsrc.h already defines GstGLTestSrc
+	  And redefinition is not allowed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766973
+
+2016-05-27 23:24:54 +0200  Havard Graff <havard.graff@gmail.com>
+
+	* gst-libs/gst/player/gstplayer.c:
+	  player: use correct _NONE enum
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766973
+
+2016-05-28 10:44:04 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	  h264parser: maintain minimal ABI compat
+	  Because we can.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=723352
+
+2014-05-22 16:12:01 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	  h264parser: Remove unused fps_num/fps_den fields
+	  Instead the newly added function should be used to calculate
+	  the framerate properly.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=723352
+
+2016-05-25 10:59:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/smoothstreaming/gstmssmanifest.c:
+	  smoothstreaming: update fps calculation for h264 codec parser API changes
+	  Use new gst_h264_video_calculate_framerate() API instead of fps_n/fps_d
+	  fields in SPS struct which are to be removed.
+	  Apparently H264 content in MSS is always non-interlaced/progressive,
+	  so we can just pass 0 for field_pic_flag and don't need to parse any
+	  slice headers first if there's no external signalling. But even if
+	  that's not the case the new code is not worse than the existing code.
+	  https://msdn.microsoft.com/en-us/library/cc189080%28VS.95%29.aspx
+	  https://bugzilla.gnome.org/show_bug.cgi?id=723352
+
+2016-05-26 10:28:14 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: use single marker at end of filtering PID list
+	  Avoids at least ~100 unneeded assignment operations at runtime
+
+2016-05-23 16:31:05 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: simplify reporting of set polarity
+
+2016-05-23 14:41:40 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: fix bandwidth-hz property description
+	  Bandwidth Hz is no longer a DVBT-only property
+
+2016-05-23 14:02:10 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: fix usage of PES & DVR acronyms everywhere
+	  Additionally, improve message on gst_poll_new() failure
+
+2016-05-26 20:16:07 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gldisplay: always unref the context on a collision
+	  Otherwise we will leak GstGLContext's when adding the same context more than
+	  once.
+	  Fixes a regression caused by 5f9d10f6036068502ad23e1ec86a73e341801ae1 in the
+	  gstglcontext unit test that failed with:
+	  Assertion 'tmp == NULL' failed
+
+2016-05-25 13:38:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  Revert "aggregator: Start the task when linked"
+	  This reverts commit 302580c3815136d29479c3a8cae611d6e2ff3709.
+
+2016-05-20 14:34:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/caopengllayersink.h:
+	* ext/gl/caopengllayersink.m:
+	  caopengllayersink: Don't cache buffer pool
+	  Pools cannot be used by the two elements at the same time.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766611
+
+2016-04-13 16:30:28 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Start the task when linked
+	  Until now we would start the task when the pad is activated. Part of the
+	  activiation concist of testing if the pipeline is live or not.
+	  Unfortunatly, this is often too soon, as it's likely that the pad get
+	  activated before it is fully linked in dynamic pipeline.
+	  Instead, start the task when the first serialized event arrive. This is
+	  a safe moment as we know that the upstream chain is complete and just
+	  like the pad activation, the pads are locked, hence cannot change.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=757548
+
+2016-05-25 09:09:01 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
+	  gl: win32: Add debug category in gstglcontext_wgl.c
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766867
+
+2016-05-16 20:02:28 +0800  Haihua Hu <jared.hu@nxp.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  glimagesink: support video rotation using transform matrix
+	  Add "rotate-method" to glimagesink and apply transform matrix
+	  to vertex coordinate to control rotation.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765795
+
+2016-05-24 23:39:27 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	  glvideomixer: fix race retrieving the GL context from the display
+	  _get_gl_context() can be called concurrently from either propose_allocation() or
+	  decide_allocation().  If it so happens that this happens at the same time,
+	  the check for whether we already had a GL context was outside the lock.  Inside
+	  the lock and loop, the first thing that happens is that we unref the current GL
+	  context (if valid) as if there was a conflict adding it to the display.  If the
+	  timing was unlucky, subsequent use of the GL context would be referencing an
+	  already unreffed GL context object resulting in a critical:
+	  g_object_ref: assertion 'object->ref_count > 0' failed
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766703
+
+2016-05-24 23:38:22 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gldisplay: add some debugging about retrieving GL contexts
+
+2016-05-25 10:01:38 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/egl/gsteglimage.c:
+	  eglimage: Re-add accidentially removed GST_DEFINE_MINI_OBJECT_TYPE()
+
+2016-05-23 15:24:53 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst-libs/gst/player/gstplayer.c:
+	  player: fix suburi getter debug message
+	  The property is a string, not a boolean.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766607
+
+2016-05-25 09:53:15 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/player/gstplayer.c:
+	  player: Don't set subtitle URI directly but dispatch to the player thread
+	  Otherwise we do state changes and everything in the application thread, which
+	  might block and more important can cause reentrant signals.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766607
+
+2016-05-23 20:11:17 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/egl/gsteglimage.c:
+	  eglimage: Ensure that the debug category is always initalized
+	  Before the initializer was only run if dmabuf support was used.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766794
+
+2016-05-24 23:30:09 +1000  Arjen Veenhuizen <arjen.veenhuizen@tno.nl>
+
+	* ext/gl/gstgltransformation.c:
+	  gltransformation: make the pivot-z property READWRITE
+	  Instead of just being READABLE.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766818
+
+2016-05-23 10:40:58 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/gl/gstgltestsrc.c:
+	  gltestsrc: fix src_impl leak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766661
+
+2016-05-24 00:55:11 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/gl/Makefile.am:
+	* gst-libs/gst/insertbin/Makefile.am:
+	* gst-libs/gst/mpegts/Makefile.am:
+	* gst-libs/gst/player/Makefile.am:
+	  g-i: pass compiler env to g-ir-scanner
+	  It's what introspection.mak does as well. Should
+	  fix spurious build failures on gnome-continuous.
+
+2016-05-24 07:17:22 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/pnm/gstpnmdec.c:
+	* gst/pnm/gstpnmdec.h:
+	  pnmdec: Fix ASCII parsing
+	  Parse gray16 properly in ascii mode, and fix
+	  some bugs around reading data in chunks when
+	  ascii values cross chunk boundaries
+
+2016-05-19 01:28:04 +1000  Jan Schmidt <jan@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/pnm.c:
+	  pnm: Add a basic unit test
+	  Test that we can run an encode / decode cycle in various
+	  formats without errors
+
+2016-05-19 01:04:36 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/pnm/gstpnmenc.c:
+	  pnmenc: Make output caps match the srcpad template
+	  Don't output 'image/pnm', which isn't even in the template
+	  caps. Instead, output a mime-type consistent with what we
+	  are encoding.
+
+2016-05-18 17:19:40 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/pnm/gstpnmenc.c:
+	  pnmenc: Tidy up code, support BE/LE GRAY16 properly
+	  Remove code that dealt with odd strides separately - there's
+	  not really any overhead to just using 1 codepath for both matched
+	  and unmatched stride output.
+	  Add separate codepaths for BE vs LE GRAY16 input so they're
+	  handled properly
+
+2016-05-16 21:22:57 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/pnm/gstpnmdec.c:
+	* gst/pnm/gstpnmdec.h:
+	  pnmdec: Actually output LE or BE GRAY16 as negotiated
+	  Add codepaths to output GRAY16 in little or big endian
+	  as negotiated.
+	  Move all output format negotiation into a central
+	  function and clean it up
+
+2015-10-22 17:06:01 +0200  Dimitrios Katsaros <patcherwork@gmail.com>
+
+	* gst/pnm/gstpnmdec.c:
+	* gst/pnm/gstpnmdec.h:
+	* gst/pnm/gstpnmutils.c:
+	  pnmdec: Implementation of GRAY16 handling
+	  https://bugzilla.gnome.org/show_bug.cgi?id=757022
+
+2015-10-19 17:15:30 +0200  Dimitrios Katsaros <patcherwork@gmail.com>
+
+	* gst/pnm/gstpnmenc.c:
+	  pnmenc: Implementation of GRAY16 handling
+	  https://bugzilla.gnome.org/show_bug.cgi?id=757022
+
+2016-05-20 19:25:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* sys/kms/gstkmsbufferpool.c:
+	  kmsbufferpool: error only if no allocator
+	  Do not expect an allocator from the configuration, but expect to have already
+	  one set.
+
+2016-05-15 11:52:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* sys/kms/gstkmssink.c:
+	  kmssink: frame copy log in performance category
+	  Log the message when the frame is going to be copy (worse case) under the
+	  performance log category.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766466
+
+2016-05-15 11:51:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* sys/kms/gstkmssink.c:
+	  kmssink: use trace level for buffer render log
+	  Instead of using debug level for logging each buffer rendered, use trace
+	  level.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766466
+
+2016-05-23 17:00:22 +0530  Arun Raghavan <arun@arunraghavan.net>
+
+	* gst-libs/gst/player/gstplayer-media-info.c:
+	  player: Fix documentation for gst_player_video_info_get_framerate()
+	  Document out parameters and fix function name.
+
+2016-05-18 16:00:47 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/libs/player.c:
+	  player: use gst_check_init() in test
+	  Calling GST_DEBUG() in test rely on the default category to be defined,
+	  which is done in gst_check_init().
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766607
+
+2016-05-20 17:28:52 -0400  Aaron Boxer <boxerab@gmail.com>
+
+	* ext/openjpeg/gstopenjpegenc.c:
+	  openjpegenc: enable MCT for RGB video
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766732
+
+2016-05-20 14:08:03 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: group DVB-T2 substream-id check with its corresponding set_prop()
+
+2016-05-20 13:57:45 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add DVB-S2 sub-stream ID check
+	  Disable if invalid (> 255) instead of blindy setting this
+	  property regardless of its actual value.
+
+2016-05-20 13:47:06 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: clarify consequence of passing a wrong ID to the substream filter
+
+2016-05-19 17:05:33 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/gl/gltestsrc.c:
+	  gltestsrc: fix shaders ref counting
+	  The gltestsrc element uses two shaders: color_shader and snow_shader.
+	  Those are alternatively assigned to the SrcShader->shader pointer and
+	  their reference was transferred to it. Only the SrcShader->shader was
+	  unreffed (in _src_shader_deinit()) so only one shader was properly
+	  freed, the other one was leaked.
+	  Fixed this by giving an extra ref to SrcShader->shader and unreffing the
+	  2 shaders in _src_smpte_free().
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766661
+
+2016-05-19 16:55:31 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/gl/gstglmosaic.c:
+	  glmosaic: fix shader leak
+	  gst_gl_mosaic_init_shader() is called twice with test_glmosaic so the
+	  first shader was leaked.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766661
+
+2016-05-16 17:11:53 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	  gl: win32: Unparent internal window before destroying it
+	  For some reason DestroyWindow() deadlock if it's called from
+	  parent window's KeyPress event.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766533
+
+2016-05-16 15:26:53 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	  gl: win32: Don't steal parent focus when creating internal window
+	  This fix regression introduced by 0acc18c60f6f962cc6553f6047fdb64891bab544.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766520
+
+2016-05-14 11:56:59 +0200  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Don't wait if input buffer is after output
+	  If the input buffer is after the end of the output buffer, then waiting
+	  for more data won't help. We will never get an input buffer for this point.
+	  This fixes compositing of streams from rtspsrc.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766422
+
+2016-05-19 09:25:57 -0700  Martin Kelly <martin@surround.io>
+
+	* sys/androidmedia/gst-android-hardware-camera.c:
+	  ahc: fix potential NULL deref
+	  This bug was found via cppcheck static analysis.
+	  If android.hardware.Camera.getParameters returns NULL, then object will
+	  be NULL, and we won't allocate params. This means that the GST_DEBUG
+	  statement referencing params->object will be invalid. Fix this by
+	  exiting early if android.hardware.Camera.getParameters returns NULL.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766638
+
+2016-05-19 11:33:52 -0700  Martin Kelly <martin@surround.io>
+
+	* sys/androidmedia/gstahcsrc.c:
+	  ahc: fix typo in doc blurb
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766679
+
+2016-05-18 16:55:38 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix pending tags leak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766662
+
+2016-05-18 12:30:05 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* sys/kms/gstkmssink.c:
+	  kmssink: chain up finalize method
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766597
+
+2016-05-18 12:33:51 -0700  Martin Kelly <martin@surround.io>
+
+	* tests/examples/opencv/gstfacedetect_test.c:
+	* tests/examples/opencv/gsthanddetect_test.c:
+	  examples: opencv: typo fix
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766639
+
+2016-05-18 21:29:15 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/README:
+	* ext/lv2/gstlv2.c:
+	* ext/lv2/gstlv2.h:
+	* ext/lv2/gstlv2filter.c:
+	* ext/lv2/gstlv2source.c:
+	* ext/lv2/gstlv2utils.c:
+	* ext/lv2/gstlv2utils.h:
+	  lv2: support CVPorts
+	  CVPorts are ports that take a buffer. For now we just fill the buffers with
+	  the control value.
+
+2016-05-18 21:26:50 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/gstlv2filter.c:
+	* ext/lv2/gstlv2source.c:
+	  lv2: use _OBJECT log variants and lower log level when processing
+
+2016-05-17 14:33:04 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: move ISDB-T bandwidth check to _is_valid_bandwidth()
+	  Allows test to be used for delivery system auto-detection.
+	  Additionally, add 0 (auto) as valid value.
+
+2016-05-17 14:19:30 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add '0' as a valid value for bandwidth
+	  Underlying API considers this the BANDWIDTH_HZ equivalent
+	  to the old BANDWIDTH_AUTO for BANDWIDTH.
+
+2016-05-17 13:53:54 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: factor out and reuse DVB-T/T2 bandwidth checks
+	  Use new utility function as an additional check for delivery
+	  system auto-detection.
+
+2016-05-17 12:06:45 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/parsechannels.c:
+	  dvb/parsechannels: recognize additional bandwidths at zap parsing
+	  Previously ignored 1.712, 5 and 10 MHz values are also valid
+
+2016-05-16 12:27:50 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregatorpad.h:
+	  videoaggregator: canonicalise function names
+	  Had to be done at some point:
+	  gst_videoaggregator_* -> gst_video_aggregator_*
+	  Also fix up some function names with typos.
+
+2016-05-15 23:31:33 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/gstlv2.c:
+	* ext/lv2/gstlv2.h:
+	  lv2: cleanup the predicates
+	  Use the defines from the headers and get rid of our own namespace defines.
+	  Replace the 'role' prop with 'designation'.
+
+2016-05-15 23:27:22 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/gstlv2utils.c:
+	  lv2: tweak enum logging
+	  Log more details when we find a bad scalepoint and downgrade the logging of the
+	  good enum valzes.
+
+2016-05-15 22:05:43 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/README:
+	* ext/lv2/gstlv2utils.c:
+	  lv2: generate enums from scalepoints
+	  Plugins can provide a set of named values for a control port. Ideally only those
+	  values are set for the property. Check if all scalepoints are integers and if so
+	  generate an enum type.
+
+2016-05-15 19:45:26 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/gstlv2utils.c:
+	  lv2: reduce log spam for property bounds
+	  Only complain about bad bounds, if the plugin actually set those. Otherwise
+	  silently adjust our defaults.
+
+2016-05-15 17:58:51 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/gstlv2.c:
+	* ext/lv2/gstlv2.h:
+	  lv2: remove lv2_symbol_pred
+	  We're not actually using it.
+
+2016-05-15 17:54:06 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/gstlv2source.c:
+	  lv2: remove leftover FIME
+
+2016-05-15 00:41:12 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: special case detection when DVB-T and T2 seem valid
+	  There is no way to tell one over the other when parameters
+	  seem valid for DVB-T and DVB-T2 and the adapter supports
+	  both. Reason to go with the former here is that, from
+	  experience, most DVB-T2 channels out there seem to use
+	  parameters that are not valid for DVB-T, like QAM_256
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765731
+
+2016-05-14 23:32:49 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add transmission mode check for DTMB
+
+2016-05-13 01:54:56 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/parsechannels.c:
+	  dvb/parsechannels: use proper fe_spectral_inversion enum identifiers
+
+2016-05-13 01:25:08 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: explicitly disable stream filter for invalid ids
+
+2016-05-13 00:50:45 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/parsechannels.c:
+	  dvb/parsechannels: do not assume DVB-T from zap file alone
+	  DVB-T/T2 have the same number of fields so we were
+	  wrongly assuming DVB-T for DVB-T2 broadcasts. Not
+	  setting the delivery system here allows for dvbsrc
+	  to make an informed guess based on the channel
+	  parameters.
+
+2016-05-13 00:12:33 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: consider transmission mode for delsys autodetection
+
+2016-05-13 00:04:08 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: factor out transmission mode check against delsys
+
+2016-05-12 16:43:09 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: improve delivery system autodetection
+
+2016-05-12 14:12:09 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add modulation checks for DVB-T and T2
+
+2016-05-15 14:46:40 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/ladspa/gstladspa.c:
+	  ladspa: use _OBJECT log variants for plugin_init
+	  Also trim leading whitespae.
+
+2016-05-15 14:45:15 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/README:
+	* ext/lv2/gstlv2.c:
+	* ext/lv2/gstlv2.h:
+	* ext/lv2/gstlv2filter.c:
+	* ext/lv2/gstlv2source.c:
+	* ext/lv2/gstlv2utils.c:
+	* ext/lv2/gstlv2utils.h:
+	  lv2: add registry caching
+	  Use the plugin_cache extra data to avoid introspecting over and over again.
+
+2016-05-14 12:35:15 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/README:
+	* ext/lv2/gstlv2utils.c:
+	  lv2: implemnt the map-extension
+	  This is the most used one and at the same time easy to implement sing QGQuark.
+
+2016-05-14 12:34:10 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/gstlv2.c:
+	* ext/lv2/gstlv2utils.c:
+	* ext/lv2/gstlv2utils.h:
+	  lvs: add require_feature checks
+	  Plugins can report what host features they need. Since we start to implement host feature
+	  check which plugins we can no suuport.
+
+2016-05-15 14:34:33 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Check if we get a valid display ratio
+	  As is done everywhere else, and avoids setting bogus values
+	  And remove useless *<val> checks (we always provide valid values and
+	  it's an internal function).
+	  CID #1320700
+
+2016-05-15 14:16:55 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* ext/rtmp/gstrtmpsrc.c:
+	  rtmpsrc: Remove dead assignments
+	  * read is only used within the while loop
+	  * todo and bsize only need to be assigned once
+
+2016-05-15 15:11:10 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/player/gstplayer.c:
+	  player: Add uri-loaded signal that is fired whenever a new URI is actually loaded
+	  This allows knowing the "boundary" from which on all following signals are for
+	  the new URI.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766062
+
+2016-05-14 17:05:45 +0100  Matthew Waters <matthew@centricular.com>
+
+	* ext/opencv/gstfacedetect.cpp:
+	  opencv/facedetect: fix the build with opencv 3.1.0
+	  - add using namespace std; for std::vector
+	  - use the cpp header imgproc.hpp file for the cv::ellipse function instead of
+	  the C header
+	  - Mat no longer takes IplImage in it's constructors, use the cvarrtomat()
+	  function instead.
+	  Fixes a couple of build errors:
+	  gstfacedetect.cpp:140:30: error: ‘vector’ does not name a type
+	  structure_and_message (const vector < Rect > &rectangles, const gchar * name,
+	  ^~~~~~
+	  gstfacedetect.cpp:140:37: error: expected ‘,’ or ‘...’ before ‘<’ token
+	  structure_and_message (const vector < Rect > &rectangles, const gchar * name,
+	  ^
+	  gstfacedetect.cpp: In function ‘void structure_and_message(int)’:
+	  gstfacedetect.cpp:143:13: error: ‘rectangles’ was not declared in this scope
+	  Rect sr = rectangles[0];
+	  [...]
+	  gstfacedetect.cpp: In function ‘void
+	  gst_face_detect_run_detector(GstFaceDetect*, cv::CascadeClassifier*, gint, gint,
+	  cv::Rect, std::vector<cv::Rect_<int> >&)’:
+	  gstfacedetect.cpp:562:31: error: no matching function for call to
+	  ‘cv::Mat::Mat(IplImage*&, cv::Rect&)’
+	  Mat roi (filter->cvGray, r);
+	  [...]
+	  gstfacedetect.cpp: In function ‘GstFlowReturn
+	  gst_face_detect_transform_ip(GstOpencvVideoFilter*, GstBuffer*, IplImage*)’:
+	  gstfacedetect.cpp:594:44: error: no matching function for call to
+	  ‘cv::Mat::Mat(cv::Mat, bool)’
+	  Mat mtxOrg (cv::cvarrToMat (img), false);
+	  [...]
+	  gstfacedetect.cpp:734:79: error: ‘ellipse’ was not declared in this scope
+	  ellipse (mtxOrg, center, axes, 0, 0, 360, Scalar (cr, cg, cb), 3, 8,
+	  0);
+
+2016-05-15 11:20:21 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* Makefile.am:
+	  build: add removed example dir to CRUFT_DIRS
+
+2016-05-15 13:33:53 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* docs/plugins/gst-plugins-bad-plugins.hierarchy:
+	* docs/plugins/gst-plugins-bad-plugins.interfaces:
+	* 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-audiomixer.xml:
+	* docs/plugins/inspect/plugin-audiovisualizers.xml:
+	* docs/plugins/inspect/plugin-autoconvert.xml:
+	* docs/plugins/inspect/plugin-bayer.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-curl.xml:
+	* docs/plugins/inspect/plugin-dataurisrc.xml:
+	* docs/plugins/inspect/plugin-debugutilsbad.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-festival.xml:
+	* docs/plugins/inspect/plugin-fieldanalysis.xml:
+	* docs/plugins/inspect/plugin-flite.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-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-jpegformat.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-neon.xml:
+	* docs/plugins/inspect/plugin-ofa.xml:
+	* docs/plugins/inspect/plugin-openal.xml:
+	* docs/plugins/inspect/plugin-opencv.xml:
+	* docs/plugins/inspect/plugin-pcapparse.xml:
+	* docs/plugins/inspect/plugin-pnm.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-rtmp.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-soundtouch.xml:
+	* docs/plugins/inspect/plugin-spandsp.xml:
+	* docs/plugins/inspect/plugin-speed.xml:
+	* docs/plugins/inspect/plugin-subenc.xml:
+	* docs/plugins/inspect/plugin-videoparsersbad.xml:
+	* docs/plugins/inspect/plugin-voaacenc.xml:
+	* docs/plugins/inspect/plugin-voamrwbenc.xml:
+	* docs/plugins/inspect/plugin-waylandsink.xml:
+	* docs/plugins/inspect/plugin-y4mdec.xml:
+	  docs: Update for git master
+
+2016-03-04 22:10:47 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* gst/rawparse/Makefile.am:
+	* gst/rawparse/gstaudioparse.c:
+	* gst/rawparse/gstunalignedaudioparse.c:
+	* gst/rawparse/gstunalignedaudioparse.h:
+	* gst/rawparse/plugin.c:
+	* gst/rawparse/unalignedaudio.h:
+	  rawparse: Add unaligned raw audio parsing to audioparse and add new element
+	  This helps in cases where raw audio data is being delivered, but the
+	  buffers do not come in sample aligned sizes. The new unalignedaudioparse
+	  bin can be autoplugged and configures an internal audioparse element to
+	  align the data. audioparse itself gets support for audio/x-unaligned-raw
+	  input caps; the output caps then contain the same information, except that
+	  the name is changed to audio/x-raw (since audioparse aligns the data).
+	  This ensures that souphttpsrc ! audioparse still works.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=689460
+
+2016-05-15 13:14:41 +0300  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gldisplay: demote no platform display debug to info
+	  Avoids confusing everyone with a warning that's not always fatal.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746933
+
+2016-05-15 12:31:38 +0300  Matthew Waters <matthew@centricular.com>
+
+	* .gitignore:
+	  .gitignore: remove non-existent directory
+	  Partially reverts cdf91c455d4057a9d234766510bd2e8a44e1ed05
+
+2016-05-15 19:05:48 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: Handle system header when scanning for timestamps.
+	  When scanning for SCR / PTS / DTS, handle the case where
+	  the pack header is followed by the optional system header,
+	  so we can correctly collect timestamps in such cases.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=623860
+
+2016-05-15 19:04:20 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: Fix backward timestamp scan on small files.
+	  When the file size is smaller than the configured 4MB scan
+	  limit for timestamps, don't underflow the guard variable
+	  when checking if it's time to stop.
+	  Limit the backward SCR scan to the same 4MB as the PTS scan.
+	  Add some comments.
+
+2016-05-13 13:27:37 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: don't do bogus adjustments on seek if we have no first_pts
+	  Fixes bogus segment and gap events with start=GST_CLOCK_TIME_NONE if
+	  we failed to find a first_pts.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=623860
+
+2016-05-14 16:59:14 +0300  Alex-P. Natsios <drakevr@2f30.org>
+
+	* configure.ac:
+	  configure: check for shm_open() in OpenBSD
+	  In OpenBSD there is no "actual" librt that programs can link with,
+	  instead the system/base libc provides the functions one would
+	  customarily find there.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766441
+
+2016-05-14 16:32:06 +0300  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstgltransformation.h:
+	  gltransformation: use the affine transformation meta if available downstream
+	  We can avoid a render pass if downstream supports the affine transformation meta
+	  and increase the performance of some pipelines involving gltransformation.
+	  Implemented by checking for the affine transformation in the allocation query
+	  from downstream and combining our matrix with that of upstream's (or creating
+	  our own).
+
+2016-05-14 16:27:26 +0300  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglvideomixer.c:
+	* gst-libs/gst/gl/gstglshaderstrings.c:
+	* gst-libs/gst/gl/gstglshaderstrings.h:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	* gst-libs/gst/gl/gstglviewconvert.c:
+	  gl: take the affine transformation in NDC
+	  Provide a function to get the affine matrix in the meta in terms of NDC
+	  coordinates and use as a standard opengl matrix.
+	  Also advertise support for the affine transformation meta in the allocation
+	  query.
+
+2016-05-14 15:50:57 +0300  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglbasemixer.h:
+	  glbasemixer: actually attempt to propose an allocation upstream
+	  We were always failing the allocation query as a flag was never being set to
+	  signal a successful negotiation.  Fix by setting the required flag on a
+	  successful caps event from upstream.
+
+2016-05-12 10:52:06 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/Makefile.am:
+	* ext/lv2/README:
+	* ext/lv2/gstlv2.c:
+	* ext/lv2/gstlv2.h:
+	* ext/lv2/gstlv2source.c:
+	  lv2: add a source plugin
+	  Update the readme with a working example and list what feature are supported.
+
+2016-05-11 23:12:07 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/gstlv2utils.c:
+	  lv2: add support for host features
+	  Implement a log handler as the first one.
+
+2016-05-13 15:24:35 +0300  Matthew Waters <matthew@centricular.com>
+
+	* ext/vulkan/vkswapper.c:
+	  vkswapper: check the error of the presentation for out of date
+	  allows us to resize the swapchain correctly.
+
+2016-05-12 19:44:26 +0100  Damian Ziobro <damian@xmementoit.com>
+
+	* gst/mpegtsdemux/mpegtsbase.h:
+	  mpegtsbase: remove unused variables: upstream_live and queried_latency
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766343
+
+2016-05-11 15:45:47 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: improve debug output from _open_frontend()
+	  * Clarify message on delsys info gathering
+	  * Combine redundant INFO/DEBUG pair
+
+2016-05-11 15:26:24 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: fix invalid dereference of delsys data
+	  Use GPOINTER_TO_INT to read GINT_TO_POINTER stored
+	  data.
+
+2016-05-11 23:48:21 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	  amcaudiodec: Set layout=interleaved in raw audio caps
+	  Otherwise the GAP event fallback negotiation will fail to produce complete
+	  srcpad caps, and thus fail.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766289
+
+2016-05-11 16:42:35 +0200  Edward Hervey <edward@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Fix previous commit
+	  The frames queue might return nothing (be empty) if we're flushing.
+	  Move the assertion to after the flushing check
+
+2016-05-10 22:04:48 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/gstlv2.c:
+	  lv2: skip plugins that need host features
+	  We haven't implemented this yet and those plugin would fail when we instantiate
+	  them.
+
+2016-05-10 21:11:41 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/gstlv2utils.c:
+	  lv2: add classification from metadata
+	  This helps apps to structure the element collection.
+
+2016-04-08 07:53:44 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/Makefile.am:
+	* ext/lv2/gstlv2filter.c:
+	* ext/lv2/gstlv2utils.c:
+	* ext/lv2/gstlv2utils.h:
+	  lv2: extract helper code into lv2utils
+	  This is a preparaton for adding lv2-sources and -sinks.
+
+2016-05-10 12:24:03 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/ladspa/gstladspasource.c:
+	* ext/ladspa/gstladspautils.c:
+	  ladspa: code cleanup
+	  Whitespace cleanup and unify codeing style.
+
+2016-05-10 12:22:04 -0700  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/ladspa/gstladspautils.c:
+	  ladspa: simplify the code
+	  Remove a local var and just use the parameter value.
+
+2016-05-10 18:14:36 +0200  Philippe Normand <philn@igalia.com>
+
+	* sys/applemedia/corevideobuffer.c:
+	  applemedia: fix core_video_meta init registration
+
+2016-05-10 16:46:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* .gitignore:
+	  .gitignore: Ignore tests/examples/gl/gtk generated files
+	  And another test binary.
+
+2016-05-10 16:24:08 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* configure.ac:
+	* ext/openjpeg/gstopenjpeg.h:
+	* ext/openjpeg/gstopenjpegdec.c:
+	* ext/openjpeg/gstopenjpegenc.c:
+	  openjpeg: Port to 2.1 and require a pkg-config file for 2.0 and 2.1
+	  The port was trivial, and according to the NEWS file nothing else has changed,
+	  but it is possible that other API was changed without proper notification.
+	  OpenJPEG upstream has shipped a pkg-config file for the past 4 years, and all
+	  distros should be shipping it by now.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766213
+
+2016-05-10 09:40:38 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: fix use-after-free in error code path
+
+2016-05-10 09:38:28 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: remove unnecessary checks for non-NULL frame
+	  We can't get a NULL frame here.
+	  CID 1359923
+
+2016-05-09 15:23:32 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: abort at open frontend failure
+
+2016-05-09 12:50:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/Makefile.am:
+	  applemedia: Ship all headers in tarballs
+	  Some were missing from noinst_HEADERS.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766163
+
+2016-05-04 16:32:19 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	* sys/dvb/gstdvbsrc.h:
+	  dvbsrc: smarten-up delsys autodetection logic
+	  When there's no explicit delivery system information
+	  for a channel in the channel configuration file and
+	  the user hasn't selected one via setting the delsys
+	  property, we *guessed* it by selecting the last
+	  supported delsys reported by the driver. This change
+	  provides the basis for smarter delsys auto detection
+	  and implements a rule for DVB-T2. Rules for other
+	  delivery systems can be added in _guess_delsys() in
+	  a similar way.
+	  Additionally: Store list of adapter-supported
+	  delivery systems instead of querying the driver each
+	  time this information is needed.
+	  Related to:
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765731
+
+2016-05-03 15:00:55 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: remove remaining polling logic from _tune_fe()
+	  No need to do any polling here.
+
+2016-05-06 10:51:39 +0200  Carlos Garcia Campos <cgarcia@igalia.com>
+
+	* gst-libs/gst/uridownloader/gsturidownloader.c:
+	  uridownloader: Take the ownership of the src element
+	  The URI downloader is creating the source element with
+	  gst_element_factory_make() that returns a floating reference that nobody
+	  is consuming. This is causing problems in WebKit, where the smart
+	  pointers used to take references of the source elment get confused and
+	  end up consuming the floating reference and then releasing the element,
+	  which usually crashes because the URI downloader still tries to use its
+	  src element. See https://bugs.webkit.org/show_bug.cgi?id=144040.
+	  This commit adds two helper functions to ensure and destroy the source
+	  element, to make the code simpler and less error prone. The ensure
+	  method takes care of checking if we can reuse the existing one or we
+	  need to create a new one, taking always its ownership. The destroy
+	  method simply avoids duplicated code to set the source to NULL state and
+	  then unref it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766053
+
+2016-04-29 12:31:01 +0100  Alex Ashley <bugzilla@ashley-family.net>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix threading issues in gst_adaptive_demux_wait_until function
+	  The gst_adaptive_demux_wait_until() function can be woken up either
+	  by its end_time being reached, or from other threads that want to
+	  interrupt the waiting thread.
+	  If the thread is interrupted, it needs to cancel its async clock callback
+	  by unscheduling the clock callback. However, the callback task might already
+	  have been activated, but is waiting for the mutex to become available. In this
+	  case, the call to unschedule does not stop the callback from executing.
+	  The solution to this second issue is to use a reference counted object that
+	  is decremented by both the gst_adaptive_demux_wait_until() function and the
+	  call to gst_clock_id_wait_async (). In this way, the GstAdaptiveDemuxTimer
+	  object is only deleted when both the gst_adaptive_demux_wait_until() function
+	  and the async callback are finished with the object.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765728
+
+2016-03-03 15:50:49 +0900  Justin Kim <justin.kim@collabora.com>
+
+	* sys/androidmedia/Makefile.am:
+	* sys/androidmedia/gst-android-graphics-surfacetexture.c:
+	* sys/androidmedia/gst-android-graphics-surfacetexture.h:
+	* sys/androidmedia/gst-android-hardware-camera.c:
+	* sys/androidmedia/gst-android-hardware-camera.h:
+	* sys/androidmedia/gstahcsrc.c:
+	* sys/androidmedia/gstahcsrc.h:
+	* sys/androidmedia/gstamc.c:
+	  androidmeida: replace with new surfacetexture for ahcsrc
+	  GstAmcSurfaceTexture is more clear and simple than GstAGSurfaceTexture.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763099
+
+2016-05-05 23:53:05 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/vulkan/Makefile.am:
+	  vulkan/build: add the build directory to the list of includes
+	  Fixes out of tree builds from tarballs.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764758
+
+2016-05-05 23:18:11 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/vulkan/vkswapper.c:
+	  vkswapper: fix up display synchronization
+	  Use the semaphores in the correct place, before and after the submission for
+	  acquiring and presenting the swapchain buffer.
+	  Waiting on the fence that only signals the command buffer completion rather than
+	  the completion of the presentation is racy with the destruction of the vulkan
+	  buffers associated with that image.  Wait on the device to be idle instead after
+	  presenting.
+
+2016-05-05 18:00:25 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/vulkan/vkswapper.c:
+	  vkswapper: use gst_video_sink_center_rect for positioning the video
+	  Don't try to reimplement it badly.
+
+2016-05-05 10:44:22 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: fix description
+
+2016-05-05 10:41:53 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/videofilters/gstvideodiff.c:
+	  videodiff: fix supported formats in template caps
+
+2016-05-05 10:40:37 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/videofilters/gstvideodiff.c:
+	* gst/videofilters/gstvideodiff.h:
+	  videodiff: fill in FIXME metadata and docs with description
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765989
+
+2016-05-04 12:17:59 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglstereosplit.c:
+	* gst-libs/gst/gl/egl/Makefile.am:
+	* gst-libs/gst/gl/egl/gsteglimage.c:
+	* gst-libs/gst/gl/egl/gsteglimage.h:
+	* gst-libs/gst/gl/egl/gsteglimagememory.c:
+	* gst-libs/gst/gl/egl/gsteglimagememory.h:
+	* gst-libs/gst/gl/egl/gstgldisplay_egl.c:
+	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
+	* gst-libs/gst/gl/egl/gstglmemoryegl.h:
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	* gst-libs/gst/gl/gstglbufferpool.h:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	  gl/egl: replace gsteglimagememory with an EGLImage wrapper
+	  That can be passed to GstGLMemoryEGL.
+	  This also ports the dmabuf uploader to GstEGLImage and GstGLMemoryEGL.
+
+2016-01-21 22:18:17 +0900  Gwang Yoon Hwang <yoon@igalia.com>
+
+	* gst-libs/gst/gl/egl/Makefile.am:
+	* gst-libs/gst/gl/egl/gstgldisplay_egl.c:
+	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
+	* gst-libs/gst/gl/egl/gstglmemoryegl.h:
+	* gst-libs/gst/gl/gstgl_fwd.h:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	  gl: implement GstGLMemoryEGL
+	  Because current GstEGLImageMemory does not inherit GstGLMemory, GLUpload
+	  allocates additional GLMemory and upload the decoded contents from the decoder
+	  which uses EGLImage (e.g. gst-omx in RPi).
+	  This work adds GstGLMemoryEGL to avoid this overhead. Decoders allocate
+	  GstGLMemoryEGL and decode its contents to the EGLImage of GstGLMemoryEGL.  And
+	  GLUpload uses this memory without allocation of additional textures and blit
+	  operations.
+	  [Matthew Waters]: gst-indent the sources and fix a critical retreiving the egl
+	  display from the memory.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=760916
+
+2016-05-04 01:16:51 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstglviewconvert.c:
+	  glmemory: add wrapped data pointers to setup_buffer
+	  Allows creating wrapped memories with GstGLAllocationParams.
+	  The wrapped pointers will be set in the parameters before being passed
+	  to the memory allocation function.
+
+2016-05-04 00:19:44 +1000  Matthew Waters <matthew@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/gl/gstglbasememory.c:
+	* gst-libs/gst/gl/gstglbasememory.h:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	* gst-libs/gst/gl/gstglmemorypbo.c:
+	  glbasememory: take a pointer as the wrapped gpu handle
+	  Allows passing arbitrary data to wrap the the specific memory implementation
+	  which is required for some memory implementations.
+
+2016-05-04 11:30:11 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtdec.c:
+	  applemedia: vtdec: output sysmem by default
+
+2016-05-02 11:30:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/directsound/gstdirectsoundsrc.c:
+	  directsoundsrc: Convert Windows strings to UTF8 before comparing against UTF8 strings
+	  The device name and descriptions returned are in the locale encoding, not
+	  UTF8. Our device name property is in UTF8 though, so we need to convert.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=756948
+
+2016-05-03 11:11:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Set blend functions in ::negotiated_caps() instead of ::fixate_caps()
+	  The latter should not change any state but just fixate the caps, while the
+	  former is always called when srcpads caps are decided.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765324
+
+2016-04-20 15:11:44 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: Fix swapped name and nick in GEnumValues
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742878
+
+2016-04-14 18:26:33 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.h:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.h:
+	  decklink: Add initial 10bit support for YUV modes
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742878
+
+2016-05-03 15:52:38 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklink: Fix indentation
+
+2016-05-03 19:58:00 +1000  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* gst-libs/gst/gl/gstglapi.h:
+	  gl: fix gles3 header usage for older platforms
+	  Some platforms provide an old version of GLES2/gl2.h and GLES2/gl2ext.h that
+	  will fail when including GLES3/gl3.h due to missing typedef's.
+	  Seen on the RPi.
+
+2016-04-29 23:32:03 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: avoid possible race on _output_frontend_stats()
+	  Make sure we send out our info message before we give up ownership
+	  of the structure.
+
+2016-04-29 14:53:06 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: var rename in _output_frontend_params()
+	  Now it matches the rest of its status peers. Underscore
+	  was a leftover from previous times.
+
+2016-04-29 14:45:22 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: always output known frontend status params
+	  The only mandatory frontend information for our use case
+	  is its status. Make sure we output what we know instead
+	  of choking at the first error getting SNR, BER or any of
+	  the other informational parameters.
+
+2016-04-29 12:06:52 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: refactor signal locking loop
+	  Get rid of preliminar frontend status check.
+
+2016-04-29 11:18:53 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: drop unneeded polling step on _tune_fe()
+	  Additional waiting was not needed. Specially considering
+	  it came after a successful READ_STATUS ioctl and was
+	  followed by an EINTR-resilent retry.
+
+2016-04-29 17:19:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsmux/tsmux/tsmuxstream.c:
+	  mpegtsmux: effectively check if there is a language
+	  'language' is an array and not a pointer.
+	  CID 1358835
+
+2016-04-29 13:54:01 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/player/Makefile.am:
+	  player: Add required paths via pkg-config for gstreamer-base-1.0 and gstreamer-video-1.0 for gobject-introspection
+	  The GstBase-1.0.gir and GstVideo-1.0.gir files are required by GstPlayer.
+	  Uninstalled builds fail if these files cannot be found.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765804
+
+2016-04-08 16:47:15 +0800  Haihua Hu <jared.hu@nxp.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstgldeinterlace.c:
+	* ext/gl/gstgldeinterlace.h:
+	* ext/gl/gstopengl.c:
+	  gl: enable gldeinterlace on OpenGL ES
+	  1.Porting the exist deinterlace shader and OpenGL callback
+	  to be compatible with OpenGL ES.
+	  2.Add a our blur vertical shader to gldeinterlace.
+	  3.Add a property named “method” to let user choose which
+	  deinterlace function to use. Default to choose blur vertical
+	  method for better performance.
+	  [Matthew Waters]: fix name of greedyh in method property (was greedhy) and port
+	  to git master.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764873
+
+2016-04-28 15:19:17 +0530  Barun Kumar Singh <barun.singh@samsung.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/player/gstplayer.c:
+	* gst-libs/gst/player/gstplayer.h:
+	* win32/common/libgstplayer.def:
+	  player: Add audio-video-offset property and setter/getter API
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765315
+
+2016-04-19 19:43:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglsl.c:
+	* gst-libs/gst/gl/gstglsl_private.h:
+	* gst-libs/gst/gl/gstglviewconvert.c:
+	  glviewconvert: Port more things to GLES/GL 3 compatibility
+	  And move the shader mangling code into a single place instead of having a copy
+	  in glcolorconvert and glviewconvert.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765266
+
+2016-04-19 19:27:33 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: GLES3 deprecates texture2D() and it does not work at all in newer versions than 3.3
+	  Use the newer texture() function instead. This fixes glimagesink and other
+	  things on various Android devices.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765266
+
+2016-04-19 10:27:43 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
+	* gst/mpegtsmux/tsmux/tsmuxstream.c:
+	* gst/mpegtsmux/tsmux/tsmuxstream.h:
+	  mpegtsmux: write language descriptor when language is available
+	  Adds a new function to mpegts lib to create a iso639 language
+	  descriptor from a language and use it in mpegtsmux to add
+	  a language descriptor to audio streams that have a language set.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763647
+
+2016-04-26 16:48:58 +0800  Song Bing <bing.song@nxp.com>
+
+	* sys/pvr2d/gstpvrbufferpool.c:
+	  pvrbufferpool: fix gst_meta_register() parameters
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765581
+
+2016-04-22 10:15:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Check all pads for data when live
+	  When live, we still need to inspect all pads queue in order to determin
+	  if we have received the first buffer or not.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765431
+
+2016-04-15 16:51:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Fix locking when using the clock
+	  This fixes a race where we check if there is a clock, then it get
+	  removed and we endup calling gst_clock_new_single_shot_id() with a NULL
+	  pointer instead of a valid clock and also calling gst_object_unref()
+	  with a NULL pointer later.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=757548
+
+2016-04-25 16:50:55 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/videoparsers/gsth265parse.c:
+	  h265parse: H265 level idc 0 is not valid
+	  Don't put level=0 into the caps, it confuses other elements.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765538
+
+2016-04-25 16:50:18 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: H264 level idc 0 is not valid
+	  Don't put level=0 into the caps, it confuses other elements.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765538
+
+2016-04-22 14:51:31 +0200  Jerome Laheurte <jlaheurte@quividi.com>
+
+	* sys/dshowsrcwrapper/gstdshowfakesink.cpp:
+	* sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
+	  dshowsrcwrapper: fix DirectShow caps negotiation and set capture pin caps
+	  Some cameras (IDS) have broken DirectShow drivers which incorrectly fill some
+	  fields in the VIDEOINFOHEADER structure; comparison between suggested and
+	  supported media types in CBaseRenderer should ignore deprecated and/or not
+	  essential fields; additionaly explicitely setting the mediatype for the capture
+	  pin before trying to connect it works around another IDS driver bug, and
+	  should have been already done anyway.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765428
+
+2016-04-22 14:48:41 +0200  Jerome Laheurte <jlaheurte@quividi.com>
+
+	* sys/dshowsrcwrapper/gstdshow.cpp:
+	  dshowsrcwrapper: add support for RGB32, RGB555, RGB565 and RGB8 color spaces
+	  Some cameras (IDS) only support those.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=765427
+
+2016-04-22 14:44:57 +0200  Jerome Laheurte <jlaheurte@quividi.com>
+
+	* sys/dshowsrcwrapper/CMakeLists.txt:
+	  dshowsrcwrapper: fix include path and link error
+	  Add include path so that the cmake-generated project
+	  is able to find gstconfig.h
+	  Add /SAFESEH:NO to MSVC linker options so it can link with
+	  gstreamer libraries on Windows.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=765426
+
+2016-04-22 15:02:01 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/adaptive_demux_common.c:
+	* tests/check/elements/adaptive_demux_common.h:
+	  tests: adaptivedemux: only check for data length after seek
+	  When the test involves doing a seek, only check for data size after
+	  the seek. The final segment range after seek might be different/smaller
+	  than the threshold for doing the seek and doing the check before
+	  seeking would fail.
+
+2016-02-16 14:26:55 +0000  Florin Apostol <florin.apostol@oregan.net>
+
+	* tests/check/elements/test_http_src.c:
+	* tests/check/elements/test_http_src.h:
+	  adaptivedemux: tests: use macro to define names of request and response structs
+	  Following the Don't Repeat Yourself principle, define macros
+	  for the structures that contain the request and response headers,
+	  so that the name is not repeated in multiple places in multiple files.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762144
+
+2016-02-16 14:26:42 +0000  Florin Apostol <florin.apostol@oregan.net>
+
+	* tests/check/elements/adaptive_demux_common.c:
+	* tests/check/elements/hls_demux.c:
+	  adaptivedemux: tests: improved checks for expected data
+	  Check the size of received data for each buffer received by AppSink
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762144
+
+2016-02-16 11:37:44 +0000  Florin Apostol <florin.apostol@oregan.net>
+
+	* tests/check/elements/adaptive_demux_engine.c:
+	* tests/check/elements/adaptive_demux_engine.h:
+	* tests/check/elements/dash_demux.c:
+	  dashdemux: tests: added content protection test
+	  Test content protection
+	  Configure 3 content protection sources:
+	  - a uuid scheme/value pair
+	  - a non uuid scheme/value pair (dash recognises only uuid schemes)
+	  - a complex uuid scheme, with trailing spaces and capital letters in scheme uri
+	  Only the uuid scheme should be recognised. We expect to receive 2 content protection events
+	  https://bugzilla.gnome.org/show_bug.cgi?id=758064
+
+2016-04-22 17:04:57 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dash: strip lead/trailing whitespace from descriptortype attributes
+	  The spec says it is xs:anyURI and leading and trailing whitespace
+	  are to be ignored
+	  https://bugzilla.gnome.org/show_bug.cgi?id=758064
+
+2016-02-16 14:26:05 +0000  Florin Apostol <florin.apostol@oregan.net>
+
+	* tests/check/elements/dash_demux.c:
+	  dashdemux: tests: added test for media download error for in stream fragment
+	  Tested download error for a fragment that is not the last media fragment
+	  in the stream.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762144
+
+2016-02-16 14:25:45 +0000  Florin Apostol <florin.apostol@oregan.net>
+
+	* tests/check/elements/dash_demux.c:
+	  dashdemux: tests: added test for download errors during header download
+	  Test header download error.
+	  Let the adaptive demux download a few bytes, then instruct the
+	  GstTestHTTPSrc element to generate an error while the fragment header
+	  is still being downloaded.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762144
+
+2016-02-16 14:25:32 +0000  Florin Apostol <florin.apostol@oregan.net>
+
+	* tests/check/elements/adaptive_demux_common.c:
+	* tests/check/elements/adaptive_demux_common.h:
+	* tests/check/elements/dash_demux.c:
+	  dashdemux: tests: refactor testFragmentDownloadError
+	  Renamed testFragmentDownloadError to testMediaDownloadErrorLastFragment.
+	  Added gst_adaptive_demux_test_unexpected_eos function.
+	  Remove unneeded testFragmentDownloadErrorCheckSizeOfDataReceived.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762144
+
+2016-02-16 14:25:04 +0000  Florin Apostol <florin.apostol@oregan.net>
+
+	* tests/check/elements/dash_demux.c:
+	  dashdemux: tests: tested latency query
+	  Updated query test to also check if dash responds correctly to a latency
+	  query.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762144
+
+2016-02-16 14:24:49 +0000  Florin Apostol <florin.apostol@oregan.net>
+
+	* tests/check/elements/dash_demux.c:
+	  dashdemux: tests: moved testQuery after testFragmentDownloadError
+	  Moved testQuery after testFragmentDownloadError so that testDownloadError
+	  and testFragmentDownloadError are grouped together.
+	  The commit just moved the testQueryCheckDataReceived and
+	  GST_START_TEST (testQuery) functions but git gets confused in matching the
+	  lines and reports a lot of changes in the patch.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762144
+
+2016-02-16 14:24:26 +0000  Florin Apostol <florin.apostol@oregan.net>
+
+	* tests/check/elements/adaptive_demux_common.c:
+	* tests/check/elements/adaptive_demux_common.h:
+	* tests/check/elements/dash_demux.c:
+	  adaptivedemux: tests: create a GstDashDemuxTestCase class
+	  Create a GstDashDemuxTestCase class that extends from GstAdaptiveDemuxTestCase.
+	  This new class will contain all the DASH specific fields.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762144
+
+2016-02-16 14:24:09 +0000  Florin Apostol <florin.apostol@oregan.net>
+
+	* tests/check/elements/dash_demux.c:
+	  dashdemux: tests: added support to pass various parameters to http src callbacks
+	  Added support to pass various parameters to http src callbacks using GstStructure.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762144
+
+2016-03-01 14:54:01 -0800  Scott D Phillips <scott.d.phillips@intel.com>
+
+	* gst/debugutils/gstchecksumsink.c:
+	* gst/debugutils/gstchecksumsink.h:
+	  checksumsink: add "hash" property and allow more checksum types
+	  Now any GChecksumType can be used by GstChecksumSink, adding
+	  support for MD5, SHA-256 and SHA-512 in addition to SHA-1.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763006
+
+2016-04-22 08:20:14 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* tests/check/Makefile.am:
+	  check: Fix LDADD/CFLAGS for player unit test
+	  It now requires libgstvideo
+
+2016-02-16 14:44:39 +0000  Florin Apostol <florin.apostol@oregan.net>
+
+	* tests/check/elements/adaptive_demux_engine.c:
+	* tests/check/elements/adaptive_demux_engine.h:
+	  adaptivedemux: tests: use a GstTestClock as the system clock
+	  To allow the adaptivedemux live stream tests to run in non-realtime, use a
+	  GstTestClock as the system clock. This allows the unit tests to complete
+	  more quickly than if they had to complete in real time.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762147
+
+2016-02-16 14:44:27 +0000  Florin Apostol <florin.apostol@oregan.net>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: use realtime_clock for waiting for a condition
+	  There are several places in adaptivedemux where it waits for
+	  time to pass, for example to wait until it should next download
+	  a fragment. The problem with this approach is that it means that
+	  unit tests are forced to execute in realtime.
+	  This commit replaces the use of g_cond_wait_until() with single
+	  shot GstClockID that signals the condition variable. Under normal
+	  usage, this behaves exactly as before. A unit test can replace the
+	  system clock with a GstTestClock, allowing the test to control the
+	  timing in adaptivedemux.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762147
+
+2016-02-16 14:44:10 +0000  Florin Apostol <florin.apostol@oregan.net>
+
+	* ext/dash/gstdashdemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: use GstSystemClock to all real-time calculations
+	  A realtime clock is used in many places, such as deciding which
+	  fragment to select at start up and deciding how long to sleep
+	  before a fragment becomes available. For example dashdemux needs
+	  sample the client's estimate of UTC when selecting where to start
+	  in a live DASH stream.
+	  The problem with dashdemux calculating the client's idea of UTC is
+	  that it makes it difficult to create unit tests, because the passage
+	  of time is a factor in the test.
+	  This commit changes dashdemux and adaptivedemux to use the
+	  GstSystemClock, so that a unit test can replace the system clock when
+	  it needs to be able to control the clock.
+	  This commit makes no change to the behaviour under normal usage, as
+	  GstSystemClock is based upon the system time.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762147
+
+2016-04-21 14:58:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* win32/common/libgstplayer.def:
+	  win32: Add new API to .def file
+
+2016-04-19 10:59:46 +0530  Barun Kumar Singh <barun.singh@samsung.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/player/Makefile.am:
+	* gst-libs/gst/player/gstplayer.c:
+	* gst-libs/gst/player/gstplayer.h:
+	* pkgconfig/gstreamer-player-uninstalled.pc.in:
+	* pkgconfig/gstreamer-player.pc.in:
+	  player: Add support for multiview settings
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765302
+
+2016-04-21 10:06:40 +0900  Hyunjun Ko <zzoon@igalia.com>
+
+	* sys/applemedia/vtenc.c:
+	  applemedia: vtenc: fix build break on iOS
+	  Fix 'conflicting types' error
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765292
+
+2016-04-20 15:34:55 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add test for invalid DVB-T2 bandwidth
+
+2016-04-20 14:47:22 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: warn on wrong DVB-T2 stream ID value
+	  Stream ID, used for DVB-T2/S2 and ISDB-S can
+	  not exceed 255 for the former. Change makes this
+	  explicit.
+
+2016-04-20 21:07:28 +0900  Hyunjun Ko <zzoon@igalia.com>
+
+	* sys/applemedia/vtenc.c:
+	  applemedia: vtenc: Fix a warning by weak-link symbol
+	  Fix this warning
+	  address of function 'VTCompressionSessionPrepareToEncodeFrames' will always evaluate to 'true' [-Wpointer-bool-conversion]
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765292
+
+2016-04-20 16:19:55 +0900  Hyunjun Ko <zzoon@igalia.com>
+
+	* ext/gl/caopengllayersink.m:
+	  gl: caopengllayersink: fix a minor warning
+	  Fix "unused variable" warning
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765292
+
+2016-04-20 16:00:36 +0900  Hyunjun Ko <zzoon@igalia.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  gl/cocoa: Fix incompatible type warning
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765292
+
+2016-04-19 14:57:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* sys/d3dvideosink/d3dhelpers.h:
+	  d3dvideosink: Don't include deprecated and unavailable d3dx9tex.h
+	  It's not needed, not on native Windows nor with mingw, and
+	  we don't use anything from it anyway
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765250
+
+2016-04-14 12:46:58 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+	* sys/kms/gstkmssink.c:
+	* sys/kms/gstkmssink.h:
+	  kmssink: add sync support for secondary pipes
+	  The vblank event request must specify the crtc for which to request
+	  the event. This fixes kmssink synchronisation for crtcs other than
+	  the first.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765064
 
 2016-04-19 09:30:39 +0300  Sebastian Dröge <sebastian@centricular.com>
 
@@ -437,6 +3181,29 @@
 	  create by application.
 	  https://bugzilla.gnome.org/show_bug.cgi?id=765241
 
+2016-04-18 13:46:55 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: plug caps leak
+	  It was losing ref of the original 'ret' caps that would be returned
+	  or returning it with 2 references to it.
+
+2016-03-28 15:44:27 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* tests/check/elements/compositor.c:
+	  videoaggregator: properly handle interlace-mode restrictions
+	  videoaggregator can't handle interlace-mode changes so it must
+	  always restrict itself to the first interlacing mode it receives.
+	  Tests included
+	  https://bugzilla.gnome.org/show_bug.cgi?id=754495
+
+2016-01-22 16:49:57 +0000  Raffaele Rossi <rarossi@cisco.com>
+
+	* ext/dtls/README:
+	  dtsl: add some documentation
+	  https://bugzilla.gnome.org/show_bug.cgi?id=760994
+
 2016-04-17 15:45:41 +0100  Heinrich Fink <hfink@toolsonair.com>
 
 	* ext/gl/caopengllayersink.m:
@@ -451,22 +3218,143 @@
 	  Fixes blurry content on HiDPI screens
 	  https://bugzilla.gnome.org/show_bug.cgi?id=765194
 
+2016-04-16 22:33:48 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: Remove an unnecessary check for NULL before g_free
+
+2016-04-15 13:22:51 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* gst-libs/gst/player/gstplayer-video-overlay-video-renderer.c:
+	* gst/compositor/compositor.c:
+	  Drop usage of 'overlayed' to mean 'overlaid'
+
+2016-04-15 13:10:41 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: show invalid delsys/mod combination if found
+
+2016-04-15 11:29:48 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add modulation check for ATSC
+
+2016-04-11 23:45:22 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: do not autodetect delsys twice
+	  The process is dealt with the first time the adapter is
+	  opened, there is no need to do this again.
+
+2016-04-14 22:32:05 -0700  Aleix Conchillo Flaqué <aconchillo@gmail.com>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: also check for "roc" in caps
+	  Currently, gst_srtp_dec_sink_setcaps is happy if the "roc" field is not
+	  provided in the caps. If it is not provided the stream will be properly
+	  inserted in the hash table with a default "roc". Then, when the first
+	  buffer arrives validate_buffer will find an existing stream in the hash
+	  table and will not signal request-key, not allowing the user to provide
+	  a "roc".
+	  This patch expects "roc" in gst_srtp_dec_sink_setcaps, if not found a
+	  request-key will be signaled and the user will be able to provide all
+	  the srtp fields, including "roc".
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765079
+
+2014-07-28 12:14:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+	* gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+	  codecparsers: mpegvideo: Parse more slice header fields
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733872
+
+2014-07-28 11:17:05 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+	* gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+	  codecparsers: mpegvideo: Add vbv_delay field to PictureHeader
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733872
+
+2014-07-28 11:14:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+	* gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+	  codecparsers: mpegvideo: Add more fields to the GstMpegVideoSequenceHdr
+	  Added the fields load_non_intra_quantiser_matrix and
+	  load_chroma_intra_quantiser_matrix to the sequence header structure.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733872
+
+2016-04-14 10:02:32 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* README:
+	* common:
+	  Automatic update of common submodule
+	  From 6f2d209 to ac2f647
+
 2016-04-13 18:12:25 +0100  Damian Ziobro <damian@xmementoit.com>
 
 	* gst/mpegtsmux/mpegtsmux.c:
 	  mpegtsmux: free pad_data->language before g_strdup in order to avoid memory leak
 	  https://bugzilla.gnome.org/show_bug.cgi?id=765005
 
-2015-09-08 14:37:57 +0200  Patricia Muscalu <patricia@axis.com>
+2016-04-13 13:10:12 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-	* ext/curl/gstcurlbasesink.c:
-	  curlsink: catch an unknown error
-	  In this case the socket callback has not been called
-	  by libcurl and the curlsink has not been notified about any
-	  connection problems by libcurl.
-	  This indicates that it's a bug in libcurl so catch it as
-	  an unknown error.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754432
+	* sys/applemedia/corevideobuffer.c:
+	  applemedia: GstCoreVideoMeta in the plugin using only public API has no ctx member
+
+2016-04-13 13:09:05 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/coremediabuffer.c:
+	  applemedia: GstCoreMediaMeta in the plugin using only public API has no ctx member
+
+2016-04-13 10:25:32 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/directfb/dfbvideosink.c:
+	* sys/pvr2d/gstpvrbufferpool.c:
+	  meta: Initialize all remaining metas in their init function
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764902
+
+2016-04-13 10:17:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/codecparsers/gstmpegvideometa.c:
+	* sys/applemedia-nonpublic/coremediabuffer.c:
+	* sys/applemedia-nonpublic/corevideobuffer.c:
+	* sys/applemedia/coremediabuffer.c:
+	* sys/applemedia/corevideobuffer.c:
+	  meta: Initialize all GstMeta fields
+	  During allocation they are not initialized to all zeroes.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764902
+
+2016-04-11 22:08:03 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: avoid redundant delsys querying
+	  There is no need to query the frontend for the list
+	  of supported delivery systems if we are selecting
+	  one from the list of autodetected ones.
+
+2016-04-10 18:58:33 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/parsechannels.c:
+	  dvb/parsechannels: add information to file not found error
+	  Adds useful failure info (like filename) comming from
+	  g_file_get_contents() as done for every other error in
+	  this block.
+
+2016-04-13 00:43:18 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	  gl/cocoa/eagl: don't leak GThread's when dispatching messages
+	  gst_gl_context_get_thread() returns a refed pointer, we need to unref it.
+
+2016-04-12 11:14:22 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+	* ext/gl/gstgltestsrc.c:
+	  gltestsrc: don't dereference null pointer
+	  funcs can be NULL, it is one of the two conditions of the OR statement
+	  above, so confirm it isn't before dereferencing with funcs->free.
+	  CID 1358388
 
 2016-04-12 04:16:55 +1000  Jan Schmidt <jan@centricular.com>
 
@@ -478,6 +3366,200 @@
 	  the new program back out of it. Instead, add the new program to
 	  the hash table after handling removal of the old one.
 
+2016-04-06 04:15:40 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: keep the parent buffer around when converting EGLImage to 2D textures
+	  e.g. receiving and releasing a buffer from OMX too early will potentially
+	  cause textures to be overwritten while/before they are displayed.
+
+2016-04-11 16:43:45 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	  glbasemixer: chain up to the parent implementation
+
+2016-04-11 18:06:25 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/vulkan/vkdevice.c:
+	  vulkan: prettify the various versions in the debug output
+	  output human readable numbers.
+
+2016-04-11 20:23:45 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: minor clean-ups
+	  Remove unused property getters, setters; outdated comment.
+
+2016-04-11 20:11:53 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264dec.h:
+	* ext/openh264/gstopenh264enc.cpp:
+	* ext/openh264/gstopenh264enc.h:
+	  openh264: remove unnecessary instance private structures
+	  Element instance structures are not public API, so no need
+	  for the extra indirection to hide the data.
+
+2016-04-11 20:04:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264: fix indentation
+
+2016-02-12 14:21:27 +0100  Philipp Zabel <p.zabel@pengutronix.de>
+
+	* sys/kms/gstkmsutils.c:
+	  kmssink: enable UYVY, YUY2, and YVYU (interleaved YUV 4:2:2) formats
+	  https://bugzilla.gnome.org/show_bug.cgi?id=761059
+
+2016-02-12 14:17:32 +0100  Philipp Zabel <p.zabel@pengutronix.de>
+
+	* sys/kms/gstkmsutils.c:
+	  kmssink: enable NV16 (chroma-interleaved YUV 4:2:2) format
+	  https://bugzilla.gnome.org/show_bug.cgi?id=761059
+
+2016-02-12 14:17:13 +0100  Philipp Zabel <p.zabel@pengutronix.de>
+
+	* sys/kms/gstkmsutils.c:
+	  kmssink: enable Y42B (planar YUV 4:2:2) format
+	  https://bugzilla.gnome.org/show_bug.cgi?id=761059
+
+2016-03-04 16:53:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* sys/kms/gstkmssink.c:
+	* sys/kms/gstkmssink.h:
+	  kmssink: keep last rendered buffer in memory
+	  https://bugzilla.gnome.org/show_bug.cgi?id=761059
+
+2016-02-20 23:13:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* sys/kms/gstkmssink.c:
+	* sys/kms/gstkmssink.h:
+	  kmssink: wait for page flip or vblank
+	  This patch requests for drmModePageFlip() for the used CRTC, if the kernel
+	  module suppports async page flip. If it does not, the element requests for a
+	  vblank event. A GstPoll waits for the event to happen.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=761059
+
+2016-02-10 20:43:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* configure.ac:
+	* sys/kms/Makefile.am:
+	* sys/kms/gstkmsallocator.c:
+	* sys/kms/gstkmsallocator.h:
+	* sys/kms/gstkmssink.c:
+	* sys/kms/gstkmssink.h:
+	  kmssink: add dmabuf support
+	  This patch will enable the import of dmabufs into a KMS buffer using
+	  the PRIME kernel interface.
+	  If the driver does not support prime import, the method is skipped.
+	  It has been tested with a Freescale I.MX6 board.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=761059
+
+2016-01-31 13:12:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* sys/kms/gstkmssink.c:
+	* sys/kms/gstkmsutils.c:
+	* sys/kms/gstkmsutils.h:
+	  kmssink: calculate display ratio
+	  Get the aspect ratio given the information provided by libdrm, and with it
+	  calculate the display ratio.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=761059
+
+2016-01-20 12:00:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* configure.ac:
+	* sys/Makefile.am:
+	* sys/kms/Makefile.am:
+	* sys/kms/gstkmsallocator.c:
+	* sys/kms/gstkmsallocator.h:
+	* sys/kms/gstkmsbufferpool.c:
+	* sys/kms/gstkmsbufferpool.h:
+	* sys/kms/gstkmssink.c:
+	* sys/kms/gstkmssink.h:
+	* sys/kms/gstkmsutils.c:
+	* sys/kms/gstkmsutils.h:
+	  kmssink: add plugin and sink element
+	  This is simple video sink that use libdrm/libkms API to render frames.
+	  The element uses planes to render through drmModeSetPlane().
+	  It has been tested in an Exynos4412 board and in a Freescale I.MX6 board.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=761059
+
+2016-04-10 17:46:15 +1000  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* ext/vulkan/Makefile.am:
+	* ext/vulkan/vkapi.h:
+	* ext/vulkan/vkdevice.c:
+	* ext/vulkan/vkdisplay.c:
+	* ext/vulkan/vkinstance.c:
+	* ext/vulkan/vkwindow.c:
+	* ext/vulkan/wayland/Makefile.am:
+	* ext/vulkan/wayland/vkdisplay_wayland.c:
+	* ext/vulkan/wayland/vkdisplay_wayland.h:
+	* ext/vulkan/wayland/vkwindow_wayland.c:
+	* ext/vulkan/wayland/vkwindow_wayland.h:
+	* ext/vulkan/wayland/wayland_event_source.c:
+	* ext/vulkan/wayland/wayland_event_source.h:
+	  vulkan: add a wayland winsys implementation
+
+2016-04-10 17:43:39 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/vulkan/xcb/vkwindow_xcb.c:
+	* ext/vulkan/xcb/vkwindow_xcb.h:
+	  vulkan/xcb: getProcAddress winsys functions
+	  There's no guarantee that they will always be exposed by the vulkan loader.
+
+2016-04-09 17:52:28 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/vulkan/vkupload.c:
+	  vkupload: copy necessary buffer metadata
+	  timestamps, flags, etc
+
+2016-04-11 08:34:00 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	  libgstgl: cocoa, eagl: use libdispatch to schedule GL calls
+	  Use libdispatch instead of GMainLoop to dispatch GL calls. libdispatch is more
+	  optimized and cuts a lot of poll()/pthread_* overhead.
+
+2016-04-11 08:02:45 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: reduce the number of GMutexes and GConds in send_message()
+	  Don't create many short lived locks/conds in gst_gl_window_send_message. This is
+	  a micro optimization to save a bunch of pthread_* calls which are expensive on
+	  OSX/iOS and possibly other platforms.
+
+2016-04-10 22:18:38 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/libgstgl.def:
+	  win32: update .def file for new gl api
+
+2016-04-08 18:34:45 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/vulkan/vkswapper.c:
+	  vkswapper: add necessary wait stages to the submission info
+
+2016-04-08 18:32:41 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/vulkan/vkswapper.c:
+	  vkswapper: add srgb formats to our list of formats
+	  intel returns them for their surface formats.
+
+2016-04-08 18:09:53 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/vulkan/vkimagememory.c:
+	  vulkan: silence a validation warning filling out the image barrier
+
+2016-04-08 18:09:06 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/vulkan/vkdevice.c:
+	* ext/vulkan/vkinstance.c:
+	  vulkan: use the correct validation layer name
+	  The threading validation layer has changed names.
+
 2016-04-08 14:07:55 +0300  Sebastian Dröge <sebastian@centricular.com>
 
 	* sys/decklink/gstdecklink.cpp:
@@ -501,6 +3583,38 @@
 	  Just warn and error out instead.
 	  https://bugzilla.gnome.org/show_bug.cgi?id=764545
 
+2016-04-08 14:51:44 +1000  Matthew Waters <matthew@centricular.com>
+
+	* sys/nvenc/gstnvbaseenc.c:
+	* sys/nvenc/gstnvbaseenc.h:
+	  nvenc: add some rate control modes/properties
+	  Supported modes are constant quantizer, cbr, vbr and vbr with a minimum quantizer.
+
+2016-04-07 23:24:47 +1000  Matthew Waters <matthew@centricular.com>
+
+	* sys/nvenc/gstnvbaseenc.c:
+	* sys/nvenc/gstnvbaseenc.h:
+	* sys/nvenc/gstnvh264enc.c:
+	  nvenc: move codec config initialization from the implementation to the base class
+	  Supports a better separation of configuration parameters
+
+2016-04-07 22:46:08 +1000  Matthew Waters <matthew@centricular.com>
+
+	* sys/nvenc/gstnvbaseenc.c:
+	* sys/nvenc/gstnvbaseenc.h:
+	* sys/nvenc/gstnvenc.c:
+	* sys/nvenc/gstnvh264enc.c:
+	  nvenc: add preset selection
+	  Some presets are not always supported on all devices and will cause an error if
+	  used.  Specifically, the LOSSLESS presets are known to not work everywhere.
+
+2014-07-16 02:44:42 +0200  Marcin Kolny <marcin.kolny@gmail.com>
+
+	* ext/chromaprint/gstchromaprint.c:
+	  chromaprint: emit notify::fingerprint signal when fingerprint is ready
+	  In addition to adding the fingerprint to the tags.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733233
+
 2016-04-04 20:55:51 +1000  Matthew Waters <matthew@centricular.com>
 
 	* ext/gl/gstglvideomixer.c:
@@ -511,6 +3625,160 @@
 	  sure that it is also overridable.
 	  https://bugzilla.gnome.org/show_bug.cgi?id=764363
 
+2016-04-05 21:40:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/gstrfbsrc.c:
+	  rfbsrc: Fix fallback to GstVideoBufferPool
+	  The replacement pool need to be added to the query, otherwise the
+	  baseclass won't see it. We also need to properly remove the rejected
+	  pools.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763441
+
+2016-04-05 21:07:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/gstrfbsrc.c:
+	* gst/librfb/gstrfbsrc.h:
+	  rfbsrc: Implement decide_allocation virtual
+	  This way we can use the base class for buffer allocation, hence use
+	  fill() instead of create() virtual. This also adds a strict check on the
+	  select pool buffer size as we don't support strides and padding.
+	  This is based on initial patch proposed by Sebastien Dröge, from which I
+	  also fixed a buffer pool leak.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763441
+
+2016-04-05 15:31:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/gstrfbsrc.c:
+	  rfbsrc: Fix caps negotiation
+	  As we currently only use the server reported "natural" format, caps
+	  negotiation should simply be limited to telling the base class which
+	  format to use. Fix the negotiation by moving the associated code
+	  into negotiate() virtual function. Also, use gst_base_src_set_caps()
+	  rather then setting it on the pad directly. Also protect against this
+	  method being called multiple time (we can't renegotiate for now).
+	  This change also moves some network code that was being run during the
+	  application state change call, to be run on the streaming thread.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739598
+
+2016-03-26 13:36:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/gstrfbsrc.c:
+	  rfbsrc: Implement unlock() method
+	  This prevent stalls when we try to stop the source while waiting
+	  for the server to send more updates.
+
+2016-03-24 18:27:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/rfbdecoder.c:
+	  rfbsrc: Check for connection being closed
+	  Although it's not very well documented, g_input_stream_read_all() will
+	  set the number of bytes read to 0 if the connection is closed rather
+	  then returning an error.
+
+2016-03-24 18:26:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/rfbdecoder.c:
+	  rfbsrc: Check for read/write error
+	  Check for read/write error. This prevent undefined behaviour that rely
+	  on unitialized buffer.
+
+2016-03-24 18:14:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/gstrfbsrc.c:
+	* gst/librfb/rfbdecoder.c:
+	* gst/librfb/rfbdecoder.h:
+	  rfbsrc: Add a internal method to disconnect
+	  This also removes the disconnected boolean hack.
+
+2016-03-24 18:14:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/gstrfbsrc.c:
+	  rfbsrc: Don't ignore errors
+	  This prevents recursion on error. This used to happen as we
+	  don't change the state when something fails. We end up running
+	  and failing in the same state forever.
+
+2016-03-24 16:46:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/rfbdecoder.c:
+	* gst/librfb/rfbdecoder.h:
+	  rfbsrc: Serialize write operations
+	  Currently we send key events from seperate threads. IOStream does not
+	  allow concurrent write operations, so protect this operation using a
+	  mutex.
+
+2016-03-17 15:24:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/rfbdecoder.c:
+	  rfbsrc: Add 3.7/3.8 security type negotiation
+
+2016-03-16 18:48:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/Makefile.am:
+	* gst/librfb/gstrfbsrc.c:
+	* gst/librfb/rfbdecoder.c:
+	* gst/librfb/rfbdecoder.h:
+	  rfbsrc: Port to GSocketClient
+	  Using GSocketClient we can simplify a lot the read/write operation.
+	  This also provide an GSocketConnection (a GIOStream) which can then
+	  be used with the GTlsClientConnection for secure connections. Note
+	  that we use _write_all() to ensure all bytes have been read. This is
+	  to follow the fact the none of the _send() calls check the return
+	  value.
+
+2016-03-16 16:49:29 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/Makefile.am:
+	* gst/librfb/gstrfbsrc.h:
+	* gst/librfb/rfb.h:
+	* gst/librfb/rfbdecoder.c:
+	  rfbsrc: Remove useless library wrapping
+	  We use a sinlge .c file, simplify everything by removing that
+	  static library.
+
+2016-03-16 16:49:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/Makefile.am:
+	* gst/librfb/rfb.c:
+	* gst/librfb/rfb.h:
+	* gst/librfb/rfbbuffer.c:
+	* gst/librfb/rfbbuffer.h:
+	* gst/librfb/rfbcontext.h:
+	* gst/librfb/rfbdecoder.h:
+	* gst/librfb/rfbutil.h:
+	  rfbsrc: Cleanup dead code
+	  Remove all the unused stuff, the include header, definition and C code
+	  that don't contribute anything to this element.
+
+2016-03-14 15:08:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/rfbdecoder.c:
+	  rfbsrc: Properly fallback to 3.3
+	  If the major version is not 3, then the minor version provided
+	  should be ignored, as it is meaningless for our fallback.
+
+2016-03-14 15:05:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/librfb/rfbdecoder.c:
+	  rfbsrc: Cleanly handle security negotiation failure
+	  When the security cannot be negotiated, the server returns
+	  security type of 0 (failure). In that case, the next step is
+	  to read the error reason string.
+
+2016-04-01 14:36:15 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: clamp segment durations to each other and period end
+	  5.3.2.1 in the spec.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751792
+
+2015-09-10 13:22:58 +0100  Florin Apostol <florin.apostol@oregan.net>
+
+	* tests/check/elements/dash_mpd.c:
+	  dashdemux: unit testing reproducing segment duration overflow
+	  unit test reproducing https://bugzilla.gnome.org/show_bug.cgi?id=751792
+	  With minor changes by Vincent Penquerc'h.
+
 2016-04-05 14:49:51 +0300  Sebastian Dröge <sebastian@centricular.com>
 
 	* sys/decklink/gstdecklinkaudiosrc.cpp:
@@ -538,6 +3806,51 @@
 	  ::VideoInputFrameArrived() callback, observed on Intensity Pro cards.
 	  https://bugzilla.gnome.org/show_bug.cgi?id=747633
 
+2016-03-23 03:16:11 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: add support for the affine transformation meta
+
+2016-03-23 03:14:40 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: support the affine transformation meta for any texture target
+
+2016-04-05 16:22:49 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: set the current texture to 0 before mapping
+	  If we fail mapping, we don't want to use undefined video data in the subclass.
+
+2015-09-08 14:37:57 +0200  Patricia Muscalu <patricia@axis.com>
+
+	* ext/curl/gstcurlbasesink.c:
+	  curlsink: catch an unknown error
+	  In this case the socket callback has not been called
+	  by libcurl and the curlsink has not been notified about any
+	  connection problems by libcurl.
+	  This indicates that it's a bug in libcurl so catch it as
+	  an unknown error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=754432
+
+2016-04-04 13:43:30 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixerbin.c:
+	  glmixerbin: proxy the start-time-* properties from aggregator
+
+2016-04-04 11:28:35 +0200  Santiago Carot-Nemesio <sancane@gmail.com>
+
+	* ext/dtls/gstdtlssrtpdec.c:
+	* ext/dtls/gstdtlssrtpenc.c:
+	  dtls: Use unique names for internal elements to ease debugging
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748651
+
+2016-04-03 17:56:06 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: remove duplicated test of flow_return in pad_chain_internal
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764549
+
 2016-04-03 18:06:20 +0900  Kouhei Sutou <kou@clear-code.com>
 
 	* sys/directsound/Makefile.am:
@@ -548,6 +3861,73 @@
 	  f9464ce3549c2b3948a582464631ba4f8dd0d5e7 .
 	  https://bugzilla.gnome.org/show_bug.cgi?id=764523
 
+2016-03-31 11:21:35 +0200  Christoffer Stengren <christsn.gs@gmail.com>
+
+	* gst/gdp/dataprotocol.c:
+	* gst/gdp/dataprotocol.h:
+	* gst/gdp/gstgdpdepay.c:
+	* gst/gdp/gstgdpdepay.h:
+	  gdpdepay: Query for buffer allocator before using default
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764361
+
+2016-03-22 19:27:39 +0200  Vivia Nikolaidou <vivia@toolsonair.com>
+
+	* gst/interlace/gstinterlace.c:
+	  interlace: Allow interlaced sink caps, do passthrough
+	  Allow interlace to receive already interlaced content, if compatible with its
+	  configuration. In that case, it will just do passthrough.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764036
+
+2016-04-01 21:24:34 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/README:
+	  README: update to 1.0 and lilv
+
+2016-04-01 18:33:13 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/gstlv2filter.c:
+	  lv2filter: remove the variable for the registry klass tag
+	  Just pass the string when registering.
+
+2016-04-01 18:31:36 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/gstlv2filter.c:
+	  lv2filter: remove copy and paste of doc blob
+	  This doc block is already in gstlv2.c.
+
+2016-04-01 12:59:19 +0200  Vanessa Chipirras Navalon <vanechipi@qtec.com>
+
+	* ext/opencv/gstsegmentation.cpp:
+	* ext/opencv/gstsegmentation.h:
+	  opencv: segmentation: Ported to OpenCV version 3.1
+	  Add namespace bgsegm, replacement functions and Template class for new
+	  OpenCV versions because these functions have been removed. cvarrToMat() is
+	  added because it is compatible with all versions of OpenCV and the use of
+	  class Mat constructor is eliminated, it is also deprecated in 3.X versions.
+	  Use the namespace cv because some functions are called many times.
+	  This patch keeps compatibility with 2.4
+	  https://bugzilla.gnome.org/show_bug.cgi?id=760473
+
+2016-04-01 14:12:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gstvp9parser.c:
+	* gst-libs/gst/codecparsers/gstvp9parser.h:
+	  codecparser: vp9: move persistent fields from GstVp9FrameHdr to GstVp9Parser
+	  The subsampling_x, subsampling_y, bit_depth, color_space and color_range
+	  fileds are moved from GstVp9FrameHdr to the global GstVp9Parser structure.
+	  These fields are only present in keyframe or intra-only frame, no need to
+	  duplicate them for inter-frames. This is an ABI change.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764370
+
+2016-04-01 12:08:53 +0200  Vanessa Chipirras Navalon <vanechipi@qtec.com>
+
+	* ext/opencv/gsttextoverlay.h:
+	  opencv: textoverlay: Ported to OpenCV version 3.1
+	  imgproc_c.h is added because CvFont struct needs it in any 3.x version.
+	  We use this structure in GstOpencvTextOverlay. This keeps compatibility
+	  with 2.4.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=760473
+
 2016-04-01 11:56:20 +0300  Sebastian Dröge <sebastian@centricular.com>
 
 	* gst/videoparsers/gsth264parse.c:
@@ -557,6 +3937,196 @@
 	  and the other compatible profiles.
 	  https://bugzilla.gnome.org/show_bug.cgi?id=764448
 
+2016-03-22 07:19:03 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/egl/gsteglimagememory.c:
+	  eglimage: perform eglCreateImage in the gl thread
+	  while calling eglCreateImage without a GL context current in the executing
+	  thread works on the RPi, some other implementations will return errors.
+	  Marshall the eglCreateImage to the GL thread to appease these implementations.
+
+2016-04-01 14:58:56 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglviewconvert.c:
+	  glviewconvert: support outputting to multiple draw buffers on GLES3
+	  A similar change that was done to glcolorconvert adding the necessary shader
+	  mangling.
+
+2016-03-31 19:50:28 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: implement multiple render targets for GLES3
+	  There are numerous slight differences required between Desktop GL and GLES3 for
+	  multiple render targets.
+	  1. gl_FragData doesn't exist at all and one is required to use
+	  'layout (location = ?) out ...' instead.
+	  2. gl_FragColor doesn't exist, same as 1
+	  3. texture2D() has been deprecated
+	  Fortunately most of these have been taken care of with GL3 and the shader
+	  mangling already exists so just expand the conditions they are used in.  The
+	  gl_FragData issue requires a new mangle pass though.  We also use this new
+	  pass on desktop GL for consistency.
+
+2016-03-31 18:23:22 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/mssdemux.c:
+	  tests: mssdemux: do not use gst_object_unref for pure GObject*
+	  Deallocate GObject* with g_object_unref instead of gst_object_unref.
+	  Even if it works now, it is confusing and in the future it might
+	  not work if any GstObject specifics are added.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762142
+
+2016-02-16 13:55:54 +0000  Florin Apostol <florin.apostol@oregan.net>
+
+	* tests/check/elements/dash_demux.c:
+	  dashdemux: tests: use g_object_unref for test data
+	  The GstDashDemuxTestCase object is allocated using g_object_newv
+	  but in many places was being deallocated using gst_object_unref.
+	  This was caused by commit ae3ed25025e34ea9b09df59d22d7ebd7294560bc.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762142
+
+2016-03-31 16:08:12 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+	* ext/opencv/MotionCells.cpp:
+	* ext/opencv/MotionCells.h:
+	  motioncells: fully construct MotionCells
+	  Some members of MotionCells were not being initialized in the constructor.
+	  Protect from potential garbage memory usage by fully initializing it.
+	  Moving m_frameSize out of the class because it is only used in
+	  performDetectionMotionCells().
+	  CID 1197704
+
+2016-04-01 00:23:25 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	  gl/build: add missing '\' at the end of the line in MakeFile.am
+	  Otherwise the following elements aren't included in the correct variable.
+	  Fixes error in 'make distcheck' failing to find gstgltestsrc.h
+
+2016-03-31 23:07:17 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/Makefile.am:
+	  gl/tests/pipelines: add custom _CFLAGS and LDADD
+	  As is done everywhere else.
+	  From what I can gather from make -C tests/check V=1 $(GST_PLUGINS_BAD_CFLAGS) is
+	  required in order to find in-tree headers as well as srcdir != builddir
+	  configurations.
+
+2016-03-31 22:20:01 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/Makefile.am:
+	  gl/tests: only build the simple-launch-lines test if we have GL
+
+2016-03-31 20:00:37 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: don't use the predefined variable name sample
+	  Using 'sample' as a variable name is an error in GLES3
+
+2016-03-22 23:10:24 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/gtk/switchvideooverlay/Makefile.am:
+	* tests/examples/gl/gtk/switchvideooverlay/main.cpp:
+	  gl/examples: fix switchvideooverlay for wayland
+	  and call XInitThreads() for X11
+
+2016-03-21 15:25:21 +1100  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* tests/examples/gl/gtk/Makefile.am:
+	* tests/examples/gl/gtk/gtkvideooverlay/.gitignore:
+	* tests/examples/gl/gtk/gtkvideooverlay/Makefile.am:
+	* tests/examples/gl/gtk/gtkvideooverlay/gtkvideooverlay.vcproj:
+	* tests/examples/gl/gtk/gtkvideooverlay/main.cpp:
+	  gl/examples: remove duplicated videooverlay example
+	  filtervideooverlay proved the exact same example (only with a extra glfiltercube).
+
+2016-03-21 15:23:41 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/gtk/3dvideo/main.cpp:
+	  gl/examples/3d: additions for wayland support
+
+2016-03-17 23:51:44 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/pipelines/simple-launch-lines.c:
+	  gl/tests: add missing test to the build system
+	  Also update it for the current api
+
+2016-03-17 23:50:00 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/effects/gstgleffectssources.c:
+	* ext/gl/gstgldifferencematte.c:
+	* ext/gl/gstgldifferencematte.h:
+	  gldifferencematte: port to gl3/gles2
+
+2016-02-26 20:55:47 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gltestsrc.c:
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstopengl.c:
+	  gltestsrc: port to gles2/gl3
+	  This makes gltestsrc work everywhere \o/
+	  - workaround RPi returning invalid values for positive coords in the
+	  checker shader
+	  - reduce the number of iterations in the mandelbrot shader for gles2
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751540
+
+2016-02-26 16:57:47 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gltestsrc.c:
+	  gltestsrc: port smpte pattern to shaders
+	  Loosely based on patch by
+	  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751540
+
+2016-02-26 12:02:15 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gltestsrc.c:
+	  gltestsrc: implement the circular method
+	  https://bugzilla.gnome.org/show_bug.cgi?id=759801
+
+2016-02-25 21:18:31 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gltestsrc.c:
+	* ext/gl/gltestsrc.h:
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgltestsrc.h:
+	  gltestsrc: add a generic src framework
+	  Any unsupported pattern (circular) results in an error
+
+2016-02-29 20:15:24 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglstereosplit.c:
+	* ext/gl/gstglstereosplit.h:
+	  glsterosplit: remove internal glupload/glcolorconvert
+	  They are provided separately as elements and no other element contains the
+	  internal references to glupload/glcolorconvert.
+
+2016-03-31 19:43:04 +1100  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h:
+	* gst-libs/gst/gl/gstglapi.h:
+	* gst-libs/gst/gl/gstglcontext.c:
+	  gl: add support for building against GLES3 headers
+	  with a fallback to GLES2 headers if available.
+
+2016-03-31 19:38:12 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: add checking the read implementation format/type on gles2 platforms
+	  By default, reading GL_RED or GL_RG us unsupported by glReadPixels unless
+	  exposed through GL_COLOR_READ_IMPLEMENTATION_FORMAT/TYPE.  This allows
+	  downloading multiple-planar video frames where possible.
+
+2016-03-31 19:35:09 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglbasememory.c:
+	  glbasememory: rollback map state when subclass map fails
+	  Otherwise our state doesn't reflect reality.
+
 2016-03-31 19:31:00 +1100  Matthew Waters <matthew@centricular.com>
 
 	* gst-libs/gst/gl/gstglmemorypbo.c:
@@ -565,11 +4135,15 @@
 	  Also only unset the NEED_DOWNLOAD flag in download_transfer() if the read actually
 	  succeeds.
 
-2016-03-31 19:35:09 +1100  Matthew Waters <matthew@centricular.com>
+2016-03-31 19:25:32 +1100  Matthew Waters <matthew@centricular.com>
 
-	* gst-libs/gst/gl/gstglbasememory.c:
-	  glbasememory: rollback map state when subclass map fails
-	  Otherwise our state doesn't reflect reality.
+	* gst-libs/gst/gl/glprototypes/shaders.h:
+	* gst-libs/gst/gl/gstglshader.c:
+	* gst-libs/gst/gl/gstglshader.h:
+	  glshader: add glBindFragDataLocation
+	  There are some cases where it's needed for binding in/out variables in shaders.
+	  e.g. glsl 150 (gl 3.2) doesn't support the 'layout (location = ?)' specifiers in
+	  the shader source so we have to bind them ourselves.
 
 2016-03-31 12:20:30 +0300  Sebastian Dröge <sebastian@centricular.com>
 
@@ -588,6 +4162,105 @@
 	  across header versions (and ultimately nvidia driver releases).
 	  https://bugzilla.gnome.org/show_bug.cgi?id=763324
 
+2016-03-30 22:34:59 +0100  Vanessa Chipirras Navalon <vanechipi@qtec.com>
+
+	* docs/plugins/Makefile.am:
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* docs/plugins/inspect/plugin-opencv.xml:
+	* ext/opencv/Makefile.am:
+	* ext/opencv/gstopencv.cpp:
+	* ext/opencv/gstpyramidsegment.cpp:
+	* ext/opencv/gstpyramidsegment.h:
+	  opencv: pyramidsegment: delete element
+	  cvPyrSegmentation() has been deprecated in OpenCV 3.0, and there isn't any
+	  function to replace it. Deleting this element so we can support OpenCV 3.1
+	  without build issues.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=760473
+
+2016-01-26 16:52:37 +0100  Vanessa Chipirras Navalon <vanechipi@qtec.com>
+
+	* ext/opencv/gstcvsmooth.cpp:
+	  opencv: gstcvsmooth: Ported to OpenCV version 3.1
+	  cvarrToMat() is added because it is compatible with all versions of Opencv
+	  and the use the class constructor Mat is eliminated because is deprecated
+	  in 3.X versions. This keeps compatibility with 2.4.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=760473
+
+2016-01-27 10:05:13 +0100  Vanessa Chipirras Navalon <vanechipi@qtec.com>
+
+	* ext/opencv/gstgrabcut.cpp:
+	  opencv: grabcut: Ported to OpenCV version 3.1
+	  cvarrToMat() is added because it is compatible with all versions of Opencv
+	  and using the class Mat constructor is eliminated, because is deprecated
+	  in 3.X versions. The use the using namespace cv because is called some
+	  functions many times. This keeps compatibility with 2.4.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=760473
+
+2016-01-27 15:37:39 +0100  Vanessa Chipirras Navalon <vanechipi@qtec.com>
+
+	* ext/opencv/gstfaceblur.cpp:
+	  opencv: faceblur: Ported to OpenCV version 3.1
+	  cvarrToMat() is added because it is compatible with all versions of Opencv
+	  and the use of the class constructor Mat is eliminated because is deprecated
+	  in 3.X versions. Included 'using namespace std' because it is needed for the
+	  Vector class in 3.X versions. This keeps compatibility with 2.4.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=760473
+
+2016-01-27 15:51:37 +0100  Vanessa Chipirras Navalon <vanechipi@qtec.com>
+
+	* ext/opencv/gsthanddetect.cpp:
+	  opencv: handdetect: Ported to OpenCV version 3.1
+	  cvarrToMat() is added because it is compatible with all versions of Opencv
+	  and the use of the class constructor Mat is eliminated because is deprecated
+	  in 3.X versions. Included 'using namespace std' because it is needed for the
+	  vector class in 3.X versions. This keeps compatibility with 2.4.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=760473
+
+2016-01-27 16:51:13 +0100  Vanessa Chipirras Navalon <vanechipi@qtec.com>
+
+	* ext/opencv/gstretinex.cpp:
+	  opencv: retinex: Ported to OpenCV version 3.1
+	  cvarrToMat() is added because it is compatible with all versions of Opencv
+	  and using the class constructor Mat is eliminated because is deprecated
+	  in 3.X versions. This keeps compatibility with 2.4.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=760473
+
+2016-01-28 16:19:46 +0100  Vanessa Chipirras Navalon <vanechipi@qtec.com>
+
+	* ext/opencv/gstdisparity.cpp:
+	* ext/opencv/gstdisparity.h:
+	  opencv: disparity: Ported to OpenCV version 3.1
+	  'METHOD_VAR', 'METHOD_GC' is removed because there aren't equivalent functions
+	  in new OpenCV versions. 'img_right_as_cvMat_rgb', 'img_left_as_cvMat_rgb' and
+	  'depth_map_as_cvMat2' variables is removed because these aren't used.
+	  cvarrToMat() is added because it is compatible with all versions of Opencv
+	  and using the class Mat constructor is eliminated, because is deprecated
+	  in 3.X versions. The use 'using namespace cv' because is called some
+	  functions many times. This keeps compatibility with 2.4.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=760473
+
+2016-02-01 13:58:49 +0100  Vanessa Chipirras Navalon <vanechipi@qtec.com>
+
+	* ext/opencv/gstskindetect.cpp:
+	  opencv: skindetect: Ported to OpenCV version 3.1
+	  cvCVPixToPlane() has been deprecated in OpenCV 3.0, and there is
+	  function to replace it cvSplit(). The include compat.hpp is deleted because
+	  in 3.X versions doen't exist and it isn't necessary for 2.4.X versions
+	  in this element. This keeps compatibility with 2.4.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=760473
+
+2016-01-28 17:40:51 +0100  Vanessa Chipirras Navalon <vanechipi@qtec.com>
+
+	* configure.ac:
+	* ext/opencv/gstopencvutils.cpp:
+	  opencv: Ported to OpenCV version 3.1 OpenCV
+	  configure.ac was changed to work with new versions of OpenCV 3.X.
+	  A new include is added gstopencvutils.cpp because it contains
+	  the previous. This keeps compatibility with 2.4.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=760473
+
 2016-03-30 10:34:07 +0300  Sebastian Dröge <sebastian@centricular.com>
 
 	* sys/androidmedia/gstahcsrc.c:
@@ -598,6 +4271,70 @@
 	  GStreamer API doesn't provide direct ways for doing so.
 	  https://bugzilla.gnome.org/show_bug.cgi?id=764339
 
+2016-03-07 14:57:35 +0100  Edward Hervey <edward@centricular.com>
+
+	* ext/teletextdec/gstteletextdec.c:
+	  teletexdec: Simplify negotiation code
+	  No need to use a while() loop if we're going only going to use
+	  the first structure of the caps ...
+	  CID #1341748
+
+2016-03-28 13:52:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/libs/aggregator.c:
+	  aggregator: Fix leak in unit test
+	  GST_PAD_PROBE_HANDLED means that we should've unreffed the probe data,
+	  it was handled by us in one way or another.
+
+2016-03-28 08:46:10 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* .gitignore:
+	  .gitignore: Ignore some more test temporary files
+
+2016-03-28 08:45:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* tests/check/elements/compositor.c:
+	  tests/compositor: Add test for aggregator pad numbering
+	  Tests that the behaviour in 7a5cb5a473 is being conformed to.
+
+2016-03-27 19:06:50 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Fix strcmp test for sink template
+
+2016-03-27 18:41:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Don't try to be too smart while allocating pad names
+	  Previously, while allocating the pad number for a new pad, aggregator was
+	  maintaining an interesting relationship between the pad count and the pad
+	  number.
+	  If you requested a sink pad called "sink_6", padcount (which is badly named and
+	  actually means number-of-pads-minus-one) would be set to 6. Which means that if
+	  you then requested a sink pad called "sink_0", it would be assigned the name
+	  "sink_6" again, which fails the non-uniqueness test inside gstelement.c.
+	  This can be fixed by instead setting padcount to be 7 in that case, but this
+	  breaks manual management of pad names by the application since it then becomes
+	  impossible to request a pad called "sink_2". Instead, we fix this by always
+	  directly using the requested name as the sink pad name. Uniqueness of the pad
+	  name is tested separately inside gstreamer core. If no name is requested, we use
+	  the next available pad number.
+	  Note that this is important since the sinkpad numbering in aggregator is not
+	  meaningless. Videoaggregator uses it to decide the Z-order of video frames.
+
+2016-02-23 15:11:36 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* configure.ac:
+	* ext/lv2/Makefile.am:
+	* ext/lv2/gstlv2.c:
+	* ext/lv2/gstlv2.h:
+	* ext/lv2/gstlv2filter.c:
+	  lv2: Port filters to GStreamer 1.0 and use lilv instead of slv2
+	  Properly separate files as we will not have only one single base class
+	  for all elements as we used to with 0.10, but the same way it is done
+	  with ladspa, we subclass GstAudioFilter, GstBaseSource etc...
+	  https://bugzilla.gnome.org/show_bug.cgi?id=678207
+
 2016-03-27 14:29:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 
 	* ext/gtk/gstgtkglsink.c:
@@ -607,6 +4344,13 @@
 	  Set a default category for gtkgstbasewidget lest the logging go to the 'default'
 	  category where it can't be found easily
 
+2016-03-27 03:11:45 +0200  Yann Jouanin <yjo@witbe.net>
+
+	* ext/rtmp/gstrtmpsrc.c:
+	* ext/rtmp/gstrtmpsrc.h:
+	  rtmpsrc plugin : add timeout option
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764251
+
 2016-03-18 13:35:37 +0200  Sebastian Dröge <sebastian@centricular.com>
 
 	* gst/mxf/mxfmux.c:
@@ -616,17 +4360,42 @@
 	  their state so that they can be used again when starting the muxer again.
 	  https://bugzilla.gnome.org/show_bug.cgi?id=763862
 
-2016-03-03 11:31:01 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+2016-03-05 09:47:27 +0200  Sebastian Dröge <sebastian@centricular.com>
 
-	* gst/mpegtsdemux/mpegtspacketizer.c:
-	  mpegtspacketizer: simplify variable reset
-	  Just set it directly to 0, instead of checking and reseting
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/player/gstplayer-media-info-private.h:
+	* gst-libs/gst/player/gstplayer-media-info.c:
+	* gst-libs/gst/player/gstplayer-media-info.h:
+	* gst-libs/gst/player/gstplayer.c:
+	* win32/common/libgstplayer.def:
+	  player: Add is_live flag to the GstPlayerMediaInfo
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763126
 
-2016-03-04 20:05:38 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+2016-02-29 11:39:54 +0200  Sebastian Dröge <sebastian@centricular.com>
 
-	* sys/dvb/dvbbasebin.c:
-	  dvbbasebin: plug some leaks
-	  Plug various leaks in dvbbasebin.
+	* gst/sdp/Makefile.am:
+	* gst/sdp/gstsdpelem.c:
+	* gst/sdp/gstsdpsrc.c:
+	* gst/sdp/gstsdpsrc.h:
+	  sdp: Add new sdpsrc element
+	  This can read from an SDP file or get the SDP data via property. Works
+	  around the problem that sdpdemux inside decodebin fails because the
+	  GST_STATE_CHANGE_NO_PREROLL is not observed by the pipeline.
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=702495
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762860
+
+2016-03-25 17:49:14 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gtk/gtkgstglwidget.c:
+	  gtk/gl: don't assert when gdk doesn't provide a GL context
+	  Allows the application to check whether gtkglsink is supported by setting
+	  the element to READY.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764148
+
+2016-03-07 19:41:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	  mpegtsbase: plug EIT string leak
 
 2016-03-07 19:06:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
 
@@ -635,10 +4404,39 @@
 	  Remember to unref the GPtrArray of the PAT table after
 	  use
 
-2016-03-07 19:41:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+2016-03-04 20:05:38 -0300  Thiago Santos <thiagoss@osg.samsung.com>
 
-	* gst/mpegtsdemux/mpegtsbase.c:
-	  mpegtsbase: plug EIT string leak
+	* sys/dvb/dvbbasebin.c:
+	  dvbbasebin: plug some leaks
+	  Plug various leaks in dvbbasebin.
+
+2016-03-03 11:31:01 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  mpegtspacketizer: simplify variable reset
+	  Just set it directly to 0, instead of checking and reseting
+
+2016-03-01 18:21:12 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: print time in same format
+	  Makes it easier to compare
+
+2016-03-15 16:22:59 -0700  Martin Kelly <martin@surround.io>
+
+	* sys/androidmedia/gst-android-hardware-camera.c:
+	* sys/androidmedia/gstahcsrc.c:
+	  ahc: use g_slice_new instead of g_slice_new0
+	  In many cases, we use g_slice_new0 and then immediately overwrite the
+	  allocated memory. This is inefficient. Since we're going to immediately
+	  overwrite it, we might as well use plain g_slice_new.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763998
+
+2016-03-10 08:50:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* sys/d3dvideosink/d3dvideosink.c:
+	  d3dvideosink: post message to application for unhandled keyboard/mouse events
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763403
 
 2016-03-10 08:49:01 +0900  Vineeth TM <vineeth.tm@samsung.com>
 
@@ -652,11 +4450,348 @@
 	  gtkbasesink: post message to application for unhandled keyboard/mouse events
 	  https://bugzilla.gnome.org/show_bug.cgi?id=763403
 
-2016-03-10 08:50:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
+2016-03-03 20:10:16 +0900  Justin Kim <justin.kim@collabora.com>
 
+	* sys/androidmedia/gstahcsrc.c:
+	* sys/androidmedia/gstahcsrc.h:
+	  ahcsrc: remove probe_properties
+	  It's a residue of 0.10.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763100
+
+2016-03-04 15:50:26 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* ext/apexsink/gstapexsink.c:
+	* ext/assrender/gstassrender.c:
+	* ext/bz2/gstbz2dec.c:
+	* ext/bz2/gstbz2enc.c:
+	* ext/curl/gstcurlbasesink.c:
+	* ext/daala/gstdaaladec.c:
+	* ext/daala/gstdaalaenc.c:
+	* ext/dash/gstdashdemux.c:
+	* ext/directfb/dfbvideosink.c:
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlssrtpdec.c:
+	* ext/dtls/gstdtlssrtpdemux.c:
+	* ext/dtls/gstdtlssrtpenc.c:
+	* ext/dts/gstdtsdec.c:
+	* ext/faac/gstfaac.c:
+	* ext/faad/gstfaad.c:
+	* ext/flite/gstflitetestsrc.c:
+	* ext/fluidsynth/gstfluiddec.c:
+	* ext/gl/caopengllayersink.m:
+	* ext/gl/gstglcolorconvertelement.c:
+	* ext/gl/gstgldownloadelement.c:
+	* ext/gl/gstglfilterbin.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixerbin.c:
+	* ext/gl/gstglsrcbin.c:
+	* ext/gl/gstglstereomix.c:
+	* ext/gl/gstglstereosplit.c:
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgluploadelement.c:
+	* ext/gl/gstglvideoflip.c:
+	* ext/gme/gstgme.c:
+	* ext/gsm/gstgsmdec.c:
+	* ext/gsm/gstgsmenc.c:
+	* ext/gtk/gstgtkglsink.c:
+	* ext/gtk/gstgtksink.c:
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlssink.c:
+	* ext/kate/gstkatedec.c:
+	* ext/kate/gstkateenc.c:
+	* ext/kate/gstkateparse.c:
+	* ext/kate/gstkatetiger.c:
+	* ext/libde265/libde265-dec.c:
+	* ext/libmms/gstmms.c:
+	* ext/libvisual/visual-gl.c:
+	* ext/mimic/gstmimdec.c:
+	* ext/mimic/gstmimenc.c:
+	* ext/modplug/gstmodplug.cc:
+	* ext/mpeg2enc/gstmpeg2enc.cc:
+	* ext/mplex/gstmplex.cc:
+	* ext/musepack/gstmusepackdec.c:
+	* ext/nas/nassink.c:
+	* ext/neon/gstneonhttpsrc.c:
+	* ext/openal/gstopenalsink.c:
+	* ext/openal/gstopenalsrc.c:
+	* ext/opencv/gstcvequalizehist.cpp:
+	* ext/opencv/gstcvlaplace.cpp:
+	* ext/opencv/gstcvsobel.cpp:
+	* ext/opencv/gstdisparity.cpp:
+	* ext/opencv/gstedgedetect.cpp:
+	* ext/opencv/gstfaceblur.cpp:
+	* ext/opencv/gstfacedetect.cpp:
+	* ext/opencv/gstgrabcut.cpp:
+	* ext/opencv/gsthanddetect.cpp:
+	* ext/opencv/gstmotioncells.cpp:
+	* ext/opencv/gstpyramidsegment.cpp:
+	* ext/opencv/gstretinex.cpp:
+	* ext/opencv/gstsegmentation.cpp:
+	* ext/opencv/gstskindetect.cpp:
+	* ext/opencv/gsttemplatematch.cpp:
+	* ext/opencv/gsttextoverlay.cpp:
+	* ext/openexr/gstopenexrdec.cpp:
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264enc.cpp:
+	* ext/openjpeg/gstopenjpegdec.c:
+	* ext/openjpeg/gstopenjpegenc.c:
+	* ext/openni2/gstopenni2src.cpp:
+	* ext/opus/gstopusparse.c:
+	* ext/qt/gstqtsink.cc:
+	* ext/resindvd/resindvdbin.c:
+	* ext/resindvd/resindvdsrc.c:
+	* ext/resindvd/rsndec.c:
+	* ext/resindvd/rsninputselector.c:
+	* ext/resindvd/rsnparsetter.c:
+	* ext/rsvg/gstrsvgdec.c:
+	* ext/rsvg/gstrsvgoverlay.c:
+	* ext/rtmp/gstrtmpsink.c:
+	* ext/rtmp/gstrtmpsrc.c:
+	* ext/sbc/gstsbcdec.c:
+	* ext/sbc/gstsbcenc.c:
+	* ext/schroedinger/gstschrodec.c:
+	* ext/schroedinger/gstschroenc.c:
+	* ext/sdl/sdlaudiosink.c:
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/sndfile/gstsfdec.c:
+	* ext/sndfile/gstsfsink.c:
+	* ext/sndfile/gstsfsrc.c:
+	* ext/sndio/sndiosink.c:
+	* ext/sndio/sndiosrc.c:
+	* ext/soundtouch/gstpitch.cc:
+	* ext/spandsp/gstdtmfdetect.c:
+	* ext/spandsp/gstspanplc.c:
+	* ext/spandsp/gsttonegeneratesrc.c:
+	* ext/spc/gstspc.c:
+	* ext/srtp/gstsrtpdec.c:
+	* ext/srtp/gstsrtpenc.c:
+	* ext/teletextdec/gstteletextdec.c:
+	* ext/timidity/gsttimidity.c:
+	* ext/timidity/gstwildmidi.c:
+	* ext/voaacenc/gstvoaacenc.c:
+	* ext/voamrwbenc/gstvoamrwbenc.c:
+	* ext/vulkan/vksink.c:
+	* ext/wayland/gstwaylandsink.c:
+	* ext/webp/gstwebpdec.c:
+	* ext/webp/gstwebpenc.c:
+	* ext/x265/gstx265enc.c:
+	* ext/xvid/gstxviddec.c:
+	* ext/xvid/gstxvidenc.c:
+	* ext/zbar/gstzbar.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/insertbin/gstinsertbin.c:
+	* gst/adpcmdec/adpcmdec.c:
+	* gst/adpcmenc/adpcmenc.c:
+	* gst/aiff/aiffmux.c:
+	* gst/aiff/aiffparse.c:
+	* gst/asfmux/gstasfmux.c:
+	* gst/asfmux/gstasfparse.c:
+	* gst/asfmux/gstrtpasfpay.c:
+	* gst/audiobuffer/gstaudioringbuffer.c:
+	* gst/audiofxbad/gstaudiochannelmix.c:
+	* gst/audiomixer/gstaudiointerleave.c:
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/audiovisualizers/gstspacescope.c:
+	* gst/audiovisualizers/gstspectrascope.c:
+	* gst/audiovisualizers/gstsynaescope.c:
+	* gst/audiovisualizers/gstwavescope.c:
+	* gst/autoconvert/gstautoconvert.c:
+	* gst/autoconvert/gstautovideoconvert.c:
+	* gst/bayer/gstrgb2bayer.c:
+	* gst/camerabin2/gstdigitalzoom.c:
+	* gst/camerabin2/gstviewfinderbin.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	* gst/cdxaparse/gstcdxaparse.c:
+	* gst/cdxaparse/gstvcdparse.c:
+	* gst/coloreffects/gstchromahold.c:
+	* gst/coloreffects/gstcoloreffects.c:
+	* gst/compositor/compositor.c:
+	* gst/dataurisrc/gstdataurisrc.c:
+	* gst/dccp/gstdccpclientsink.c:
+	* gst/dccp/gstdccpclientsrc.c:
+	* gst/dccp/gstdccpserversink.c:
+	* gst/dccp/gstdccpserversrc.c:
+	* gst/debugutils/fpsdisplaysink.c:
+	* gst/debugutils/gstchecksumsink.c:
+	* gst/debugutils/gstchopmydata.c:
+	* gst/debugutils/gstcompare.c:
+	* gst/debugutils/gstdebugspy.c:
+	* gst/debugutils/gsterrorignore.c:
+	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
+	* gst/dvdspu/gstdvdspu.c:
+	* gst/faceoverlay/gstfaceoverlay.c:
+	* gst/festival/gstfestival.c:
+	* gst/fieldanalysis/gstfieldanalysis.c:
+	* gst/freeverb/gstfreeverb.c:
+	* gst/gaudieffects/gstburn.c:
+	* gst/gaudieffects/gstchromium.c:
+	* gst/gaudieffects/gstdilate.c:
+	* gst/gaudieffects/gstdodge.c:
+	* gst/gaudieffects/gstexclusion.c:
+	* gst/gaudieffects/gstgaussblur.c:
+	* gst/gaudieffects/gstsolarize.c:
+	* gst/gdp/gstgdpdepay.c:
+	* gst/gdp/gstgdppay.c:
+	* gst/geometrictransform/gstgeometrictransform.c:
+	* gst/hdvparse/gsthdvparse.c:
+	* gst/id3tag/gstid3mux.c:
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstintersubsink.c:
+	* gst/inter/gstintersubsrc.c:
+	* gst/inter/gstintervideosink.c:
+	* gst/inter/gstintervideosrc.c:
+	* gst/interlace/gstinterlace.c:
+	* gst/ivfparse/gstivfparse.c:
+	* gst/ivtc/gstcombdetect.c:
+	* gst/ivtc/gstivtc.c:
+	* gst/jp2kdecimator/gstjp2kdecimator.c:
+	* gst/jpegformat/gstjifmux.c:
+	* gst/jpegformat/gstjpegparse.c:
+	* gst/librfb/gstrfbsrc.c:
+	* gst/midi/midiparse.c:
+	* gst/mixmatrix/mixmatrix.c:
+	* gst/mpegpsmux/mpegpsmux.c:
+	* gst/mpegtsdemux/mpegtsbase.c:
+	* gst/mpegtsdemux/mpegtsparse.c:
+	* gst/mpegtsmux/mpegtsmux.c:
+	* gst/mve/gstmvemux.c:
+	* gst/mxf/mxfdemux.c:
+	* gst/mxf/mxfmux.c:
+	* gst/netsim/gstnetsim.c:
+	* gst/nuvdemux/gstnuvdemux.c:
+	* gst/onvif/gstrtponvifparse.c:
+	* gst/onvif/gstrtponviftimestamp.c:
+	* gst/overlay/gstoverlay.c:
+	* gst/patchdetect/gstpatchdetect.c:
+	* gst/pcapparse/gstirtspparse.c:
+	* gst/pcapparse/gstpcapparse.c:
+	* gst/pnm/gstpnmdec.c:
+	* gst/pnm/gstpnmenc.c:
+	* gst/rawparse/gstrawparse.c:
+	* gst/removesilence/gstremovesilence.c:
+	* gst/sdi/gstsdidemux.c:
+	* gst/sdi/gstsdimux.c:
+	* gst/sdp/gstsdpdemux.c:
+	* gst/segmentclip/gstaudiosegmentclip.c:
+	* gst/segmentclip/gstvideosegmentclip.c:
+	* gst/siren/gstsirendec.c:
+	* gst/siren/gstsirenenc.c:
+	* gst/smooth/gstsmooth.c:
+	* gst/speed/gstspeed.c:
+	* gst/subenc/gstsrtenc.c:
+	* gst/subenc/gstwebvttenc.c:
+	* gst/tta/gstttadec.c:
+	* gst/tta/gstttaparse.c:
+	* gst/vbidec/gstvbidec.c:
+	* gst/videoframe_audiolevel/gstvideoframe-audiolevel.c:
+	* gst/videomeasure/gstvideomeasure_collector.c:
+	* gst/videomeasure/gstvideomeasure_ssim.c:
+	* gst/videoparsers/gstdiracparse.c:
+	* gst/videoparsers/gsth263parse.c:
+	* gst/videoparsers/gsth264parse.c:
+	* gst/videoparsers/gsth265parse.c:
+	* gst/videoparsers/gstmpeg4videoparse.c:
+	* gst/videoparsers/gstmpegvideoparse.c:
+	* gst/videoparsers/gstpngparse.c:
+	* gst/videoparsers/gstvc1parse.c:
+	* gst/vmnc/vmncdec.c:
+	* gst/y4m/gsty4mdec.c:
+	* gst/yadif/gstyadif.c:
+	* sys/acmenc/acmenc.c:
+	* sys/acmmp3dec/acmmp3dec.c:
+	* sys/androidmedia/gstahcsrc.c:
+	* sys/applemedia-nonpublic/celvideosrc.c:
+	* sys/applemedia-nonpublic/miovideosrc.c:
+	* sys/applemedia/atdec.c:
+	* sys/applemedia/avfassetsrc.m:
+	* sys/applemedia/avfvideosrc.m:
+	* sys/applemedia/avsamplevideosink.m:
+	* sys/applemedia/iosassetsrc.m:
+	* sys/applemedia/qtkitvideosrc.m:
+	* sys/applemedia/vtdec.c:
+	* sys/avc/gstavcsrc.cpp:
+	* sys/bluez/gsta2dpsink.c:
+	* sys/bluez/gstavdtpsink.c:
+	* sys/bluez/gstavdtpsrc.c:
 	* sys/d3dvideosink/d3dvideosink.c:
-	  d3dvideosink: post message to application for unhandled keyboard/mouse events
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763403
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/directsound/gstdirectsoundsrc.c:
+	* sys/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+	* sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
+	* sys/dshowvideosink/dshowvideosink.cpp:
+	* sys/dvb/dvbbasebin.c:
+	* sys/dvb/gstdvbsrc.c:
+	* sys/dxr3/dxr3audiosink.c:
+	* sys/dxr3/dxr3spusink.c:
+	* sys/dxr3/dxr3videosink.c:
+	* sys/fbdev/gstfbdevsink.c:
+	* sys/linsys/gstlinsyssdisink.c:
+	* sys/linsys/gstlinsyssdisrc.c:
+	* sys/nvenc/gstnvbaseenc.c:
+	* sys/nvenc/gstnvh264enc.c:
+	* sys/opensles/openslessink.c:
+	* sys/opensles/openslessrc.c:
+	* sys/pvr2d/gstpvrvideosink.c:
+	* sys/qcam/gstqcamsrc.c:
+	* sys/shm/gstshmsink.c:
+	* sys/shm/gstshmsrc.c:
+	* sys/tinyalsa/tinyalsasink.c:
+	* sys/uvch264/gstuvch264_mjpgdemux.c:
+	* sys/uvch264/gstuvch264_src.c:
+	* sys/vcd/vcdsrc.c:
+	* sys/vdpau/gstvdpsink.c:
+	* sys/vdpau/h264/gstvdph264dec.c:
+	* sys/vdpau/mpeg/gstvdpmpegdec.c:
+	* sys/vdpau/mpeg4/gstvdpmpeg4dec.c:
+	* sys/wasapi/gstwasapisink.c:
+	* sys/wasapi/gstwasapisrc.c:
+	* sys/wininet/gstwininetsrc.c:
+	* sys/winscreencap/gstdx9screencapsrc.c:
+	* sys/winscreencap/gstgdiscreencapsrc.c:
+	* tests/check/elements/autoconvert.c:
+	* tests/check/elements/camerabin.c:
+	* tests/check/elements/test_http_src.c:
+	* tests/check/libs/aggregator.c:
+	* tools/element-templates/sinkpad:
+	* tools/element-templates/sinkpad-audio:
+	* tools/element-templates/sinkpad-simple:
+	* tools/element-templates/sinkpad-template:
+	* tools/element-templates/srcpad:
+	* tools/element-templates/srcpad-audio:
+	* tools/element-templates/srcpad-simple:
+	* tools/element-templates/srcpad-template:
+	  bad: use new gst_element_class_add_static_pad_template()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763081
+
+2016-03-07 17:23:23 -0800  Martin Kelly <martin@surround.io>
+
+	* sys/androidmedia/gst-android-hardware-camera.c:
+	  ahc: eliminate AHC*_CALL macros
+	  Currently, we use AHC*_CALL macros to call many of the Camera functions.
+	  However, we already have helper classes to call the Camera functions, so
+	  eliminate the macros.
+	  As a nice side-benefit, we also get improved error handling and
+	  reporting when something goes wrong calling these functions, because a
+	  GError gets populated, and we log a GST_ERROR when something fails. This
+	  was harder to do using macros, as all error handling was hidden from the
+	  caller.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763065
+
+2016-02-18 11:29:06 -0800  Martin Kelly <martin@surround.io>
+
+	* sys/androidmedia/gst-android-hardware-camera.c:
+	  ahc: use gst unref functions
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763065
+
+2016-02-18 14:08:13 -0800  Martin Kelly <martin@surround.io>
+
+	* sys/androidmedia/gst-android-hardware-camera.c:
+	  ahc: use gst new object functions
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763065
 
 2016-03-17 13:44:13 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
 
@@ -673,13 +4808,10 @@
 	  GtkWidget *window;
 	  ^~~~~~~~~
 
-2016-03-25 17:49:14 +1100  Matthew Waters <matthew@centricular.com>
+2016-03-24 13:33:12 +0200  Sebastian Dröge <sebastian@centricular.com>
 
-	* ext/gtk/gtkgstglwidget.c:
-	  gtk/gl: don't assert when gdk doesn't provide a GL context
-	  Allows the application to check whether gtkglsink is supported by setting
-	  the element to READY.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=764148
+	* configure.ac:
+	  Back to development
 
 === release 1.8.0 ===
 
diff --git a/Makefile.am b/Makefile.am
index 6fa225a..b29d7fc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -113,6 +113,7 @@
 	$(top_srcdir)/gst-libs/gst/baseparse \
 	$(top_srcdir)/gst-libs/gst/egl \
 	$(top_srcdir)/gst-libs/gst/signalprocessor \
+	$(top_srcdir)/tests/examples/gl/gtk/gtkvideooverlay \
 	$(top_srcdir)/tests/examples/scaletempo \
 	$(top_srcdir)/tests/examples/shapewipe \
 	$(top_srcdir)/tests/examples/switch \
diff --git a/Makefile.in b/Makefile.in
index fa276e9..36aa059 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -314,6 +314,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -529,6 +531,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -655,8 +659,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -701,6 +703,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -884,6 +888,7 @@
 	$(top_srcdir)/gst-libs/gst/baseparse \
 	$(top_srcdir)/gst-libs/gst/egl \
 	$(top_srcdir)/gst-libs/gst/signalprocessor \
+	$(top_srcdir)/tests/examples/gl/gtk/gtkvideooverlay \
 	$(top_srcdir)/tests/examples/scaletempo \
 	$(top_srcdir)/tests/examples/shapewipe \
 	$(top_srcdir)/tests/examples/switch \
diff --git a/NEWS b/NEWS
index f67d1f3..4c3baab 100644
--- a/NEWS
+++ b/NEWS
@@ -1,26 +1 @@
-### 1.8.2
-
-The first 1.8 bug-fix release (1.8.2) was released on 9 June 2016.
-This release only contains bugfixes and it should be safe to update from 1.8.0.
-
-#### Major bugfixes in 1.8.2
-
- - Fix vp8enc and flacenc segmentation faults on Windows
- - Fix Android build failure due to BSD sed on OS X
- - Fix Android build failure with applications targetting API > 20
- - Fix playback of live MS SmoothStreaming streams
- - Fix various issues with vtdec and caopengllayersink on OS X
- - Fix severe performance degradation in various image decoders
- - Fix sample rate negotiation in opusdec
- - Fix regression in typefind, causing deadlocks in some situations
- - Fix mpegtsmux to set PTS on all output buffers again
- - Fix extraction of frame dimensions from SDP in RTP JPEG depayloader
- - Fix failure in v4l2videodec when setting of format fails after starting
- - ... and many, many more!
-
-For a full list of bugfixes see [Bugzilla][buglist-1.8.2]. Note that this is
-not the full list of changes. For the full list of changes please refer to the
-GIT logs or ChangeLogs of the particular modules.
-
-[buglist-1.8.2]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=130196&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.8.2
-
+This is GStreamer 1.9.1
diff --git a/README b/README
index fa53f95..48e2c9f 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-GStreamer 1.7.x development series
+GStreamer 1.9.x development series
 
 WHAT IT IS
 ----------
diff --git a/RELEASE b/RELEASE
index e7cb1dc..7085e2c 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,15 +1,15 @@
 
-Release notes for GStreamer Bad Plugins 1.8.2
+Release notes for GStreamer Bad Plugins 1.9.1
 
-The GStreamer team is proud to announce the second bugfix release in the stable
-1.8 release series of your favourite cross-platform multimedia framework!
+The GStreamer team is pleased to announce the first release of the unstable
+1.9 release series. The 1.9 release series is adding new features on top of
+the 1.0, 1.2, 1.4, 1.6 and 1.8 series and is part of the API and ABI-stable 1.x release
+series of the GStreamer multimedia framework. The unstable 1.9 release series
+will lead to the stable 1.10 release series in the next weeks. Any newly added
+API can still change until that point.
 
 
-This release only contains bugfixes and it is safe to update from 1.8.1. For a
-full list of bugfixes see Bugzilla.
-
-
-See /releases/1.8/ for the full release notes.
+Binaries for Android, iOS, Mac OS X and Windows will be provided in the next days.
 
 
 "That an accusation?"
@@ -60,22 +60,97 @@
 
 Bugs fixed in this release
      
-      * 756948 : directsoundsrc - Audio Device not found on Windows (string encoding not honored)
-      * 764758 : vulkan didn't build out of tree due to vkconfig.h
-      * 765324 : compositor: crashes on NULL pointer in _aggregate_frames()
-      * 765456 : vtdec: Strange bug re-encoding video with GST 1.8.1 on Mac OS 10.10
-      * 765926 : mpegtsmux: Set PTS on aligned buffers
-      * 766190 : vtdec: corrupted rendering on OSX
-      * 766213 : openjpeg plugin needs to be ported to libopenjp2 v2.1
-      * 766289 : amc: cannot play some files on android
-      * 766422 : videoaggregator: rtspsrc ! compositor produces no output
-      * 766441 : OpenBSD does not use librt, but provides the needed functions in libc
-      * 766520 : gl: win32: race when handling window messages while creating the internal window
-      * 766611 : gl: buffer pool configuration error with caopengllayersink
-      * 766638 : ahc: fix possible NULL deref
-      * 766732 : openjpegenc: Doesn't manage MCT switch for RGB and YUV frames
-      * 767298 : amc: gst_object_unref on caps
-      * 767302 : ahcsrc: div by 0 warning
+      * 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
 
 ==== Download ====
 
@@ -113,16 +188,69 @@
 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
+      * Carlos Rafael Giani
+      * Christoffer Stengren
+      * Damian Ziobro
+      * Dimitrios Katsaros
+      * Edward Hervey
+      * Florin Apostol
       * 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
+      * Luis de Bethencourt
+      * Marcin Kolny
+      * Marcin Lewandowski
       * Martin Kelly
+      * Mats Lindestam
       * Matthew Waters
+      * Michael Olbrich
       * Nicolas Dufresne
       * Nirbheek Chauhan
       * Olivier Crête
+      * Patricia Muscalu
+      * Philipp Zabel
+      * Philippe Normand
+      * Raffaele Rossi
+      * Reynaldo H. Verdejo Pinochet
+      * Santiago Carot-Nemesio
+      * Scott D Phillips
       * Sebastian Dröge
+      * Sebastian Rasmussen
+      * Sergey Borovkov
+      * 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
  
\ No newline at end of file
diff --git a/common/Makefile.in b/common/Makefile.in
index 10571c4..05d631e 100644
--- a/common/Makefile.in
+++ b/common/Makefile.in
@@ -276,6 +276,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -491,6 +493,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -617,8 +621,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -663,6 +665,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/common/gst.supp b/common/gst.supp
index 2740e9a..f85cd69 100644
--- a/common/gst.supp
+++ b/common/gst.supp
@@ -4024,5 +4024,4 @@
    fun:malloc
    ...
    fun:g_quark_init
-   fun:glib_init_ctor
 }
diff --git a/common/gtk-doc-plugins.mak b/common/gtk-doc-plugins.mak
index fe0977c..4b5dd1b 100644
--- a/common/gtk-doc-plugins.mak
+++ b/common/gtk-doc-plugins.mak
@@ -179,9 +179,13 @@
 		$(top_srcdir)/common/plugins.xsl $$a > xml/`basename $$a`; done
 	@for f in $(EXAMPLE_CFILES); do \
 		$(PYTHON) $(top_srcdir)/common/c-to-xml.py $$f > xml/element-`basename $$f .c`.xml; done
-	@gtkdoc-mkdb \
+	@_source_dir='' ;						\
+	for i in $(DOC_SOURCE_DIR) ; do					\
+	    _source_dir="$${_source_dir} --source-dir=$$i" ;	        \
+	done ;								\
+	gtkdoc-mkdb \
 		--module=$(DOC_MODULE) \
-		--source-dir=$(DOC_SOURCE_DIR) \
+		$${_source_dir} \
 		 --expand-content-files="$(expand_content_files)" \
 		--main-sgml-file=$(srcdir)/$(DOC_MAIN_SGML_FILE) \
 		--output-format=xml \
diff --git a/common/gtk-doc.mak b/common/gtk-doc.mak
index 2aab3a9..4beebcf 100644
--- a/common/gtk-doc.mak
+++ b/common/gtk-doc.mak
@@ -121,7 +121,11 @@
 
 sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(expand_content_files)
 	@echo '  DOC   Building XML'
-	@gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)  --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) --output-format=xml $(MKDB_OPTIONS)
+	@_source_dir='' ;						\
+	for i in $(DOC_SOURCE_DIR) ; do					\
+	    _source_dir="$${_source_dir} --source-dir=$$i" ;	        \
+	done ;							        \
+	gtkdoc-mkdb --module=$(DOC_MODULE) $$(_source_dir)  --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) --output-format=xml $(MKDB_OPTIONS)
 	@cp ../version.entities xml
 	@touch sgml-build.stamp
 
diff --git a/common/m4/Makefile.in b/common/m4/Makefile.in
index 25b8a7a..b381e6e 100644
--- a/common/m4/Makefile.in
+++ b/common/m4/Makefile.in
@@ -216,6 +216,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -431,6 +433,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -557,8 +561,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -603,6 +605,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/common/m4/ax_pthread.m4 b/common/m4/ax_pthread.m4
index d383ad5..4c4051e 100644
--- a/common/m4/ax_pthread.m4
+++ b/common/m4/ax_pthread.m4
@@ -19,10 +19,10 @@
 #   is necessary on AIX to use the special cc_r compiler alias.)
 #
 #   NOTE: You are assumed to not only compile your program with these flags,
-#   but also link it with them as well. e.g. you should link with
+#   but also to link with them as well. For example, you might link with
 #   $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
 #
-#   If you are only building threads programs, you may wish to use these
+#   If you are only building threaded programs, you may wish to use these
 #   variables in your default LIBS, CFLAGS, and CC:
 #
 #     LIBS="$PTHREAD_LIBS $LIBS"
@@ -30,8 +30,8 @@
 #     CC="$PTHREAD_CC"
 #
 #   In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
-#   has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
-#   (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
+#   has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to
+#   that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
 #
 #   Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
 #   PTHREAD_PRIO_INHERIT symbol is defined when compiling with
@@ -82,35 +82,40 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 21
+#serial 23
 
 AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
 AC_DEFUN([AX_PTHREAD], [
 AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_CC])
+AC_REQUIRE([AC_PROG_SED])
 AC_LANG_PUSH([C])
 ax_pthread_ok=no
 
 # We used to check for pthread.h first, but this fails if pthread.h
-# requires special compiler flags (e.g. on True64 or Sequent).
+# requires special compiler flags (e.g. on Tru64 or Sequent).
 # It gets checked for in the link test anyway.
 
 # First of all, check if the user has set any of the PTHREAD_LIBS,
 # etcetera environment variables, and if threads linking works using
 # them:
-if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
-        save_CFLAGS="$CFLAGS"
+if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
+        ax_pthread_save_CC="$CC"
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-        save_LIBS="$LIBS"
         LIBS="$PTHREAD_LIBS $LIBS"
-        AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
-        AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes])
+        AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
+        AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])
         AC_MSG_RESULT([$ax_pthread_ok])
-        if test x"$ax_pthread_ok" = xno; then
+        if test "x$ax_pthread_ok" = "xno"; then
                 PTHREAD_LIBS=""
                 PTHREAD_CFLAGS=""
         fi
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CC="$ax_pthread_save_CC"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 fi
 
 # We must check for the threads library under a number of different
@@ -123,7 +128,7 @@
 # which indicates that we try without any flags at all, and "pthread-config"
 # which is a program returning the flags for the Pth emulation library.
 
-ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
 
 # The ordering *is* (sometimes) important.  Some notes on the
 # individual items follow:
@@ -132,82 +137,225 @@
 # none: in case threads are in libc; should be tried before -Kthread and
 #       other compiler flags to prevent continual compiler warnings
 # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
-# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
-# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
-# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
-# -pthreads: Solaris/gcc
-# -mthreads: Mingw32/gcc, Lynx/gcc
+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64
+#           (Note: HP C rejects this with "bad form for `-t' option")
+# -pthreads: Solaris/gcc (Note: HP C also rejects)
 # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
-#      doesn't hurt to check since this sometimes defines pthreads too;
-#      also defines -D_REENTRANT)
-#      ... -mt is also the pthreads flag for HP/aCC
+#      doesn't hurt to check since this sometimes defines pthreads and
+#      -D_REENTRANT too), HP C (must be checked before -lpthread, which
+#      is present but should not be used directly; and before -mthreads,
+#      because the compiler interprets this as "-mt" + "-hreads")
+# -mthreads: Mingw32/gcc, Lynx/gcc
 # pthread: Linux, etcetera
 # --thread-safe: KAI C++
 # pthread-config: use pthread-config program (for GNU Pth library)
 
-case ${host_os} in
+case $host_os in
+
+        freebsd*)
+
+        # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+        # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
+
+        ax_pthread_flags="-kthread lthread $ax_pthread_flags"
+        ;;
+
+        hpux*)
+
+        # From the cc(1) man page: "[-mt] Sets various -D flags to enable
+        # multi-threading and also sets -lpthread."
+
+        ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
+        ;;
+
+        openedition*)
+
+        # IBM z/OS requires a feature-test macro to be defined in order to
+        # enable POSIX threads at all, so give the user a hint if this is
+        # not set. (We don't define these ourselves, as they can affect
+        # other portions of the system API in unpredictable ways.)
+
+        AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],
+            [
+#            if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
+             AX_PTHREAD_ZOS_MISSING
+#            endif
+            ],
+            [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])
+        ;;
+
         solaris*)
 
         # On Solaris (at least, for some versions), libc contains stubbed
         # (non-functional) versions of the pthreads routines, so link-based
-        # tests will erroneously succeed.  (We need to link with -pthreads/-mt/
-        # -lpthread.)  (The stubs are missing pthread_cleanup_push, or rather
-        # a function called by this macro, so we could check for that, but
-        # who knows whether they'll stub that too in a future libc.)  So,
-        # we'll just look for -pthreads and -lpthread first:
+        # tests will erroneously succeed. (N.B.: The stubs are missing
+        # pthread_cleanup_push, or rather a function called by this macro,
+        # so we could check for that, but who knows whether they'll stub
+        # that too in a future libc.)  So we'll check first for the
+        # standard Solaris way of linking pthreads (-mt -lpthread).
 
-        ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
-        ;;
-
-        darwin*)
-        ax_pthread_flags="-pthread $ax_pthread_flags"
+        ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
         ;;
 esac
 
-# Clang doesn't consider unrecognized options an error unless we specify
-# -Werror. We throw in some extra Clang-specific options to ensure that
-# this doesn't happen for GCC, which also accepts -Werror.
+# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
 
-AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags])
-save_CFLAGS="$CFLAGS"
-ax_pthread_extra_flags="-Werror"
-CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument"
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])],
-                  [AC_MSG_RESULT([yes])],
-                  [ax_pthread_extra_flags=
-                   AC_MSG_RESULT([no])])
-CFLAGS="$save_CFLAGS"
+AS_IF([test "x$GCC" = "xyes"],
+      [ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"])
 
-if test x"$ax_pthread_ok" = xno; then
-for flag in $ax_pthread_flags; do
+# The presence of a feature test macro requesting re-entrant function
+# definitions is, on some systems, a strong hint that pthreads support is
+# correctly enabled
 
-        case $flag in
+case $host_os in
+        darwin* | hpux* | linux* | osf* | solaris*)
+        ax_pthread_check_macro="_REENTRANT"
+        ;;
+
+        aix*)
+        ax_pthread_check_macro="_THREAD_SAFE"
+        ;;
+
+        *)
+        ax_pthread_check_macro="--"
+        ;;
+esac
+AS_IF([test "x$ax_pthread_check_macro" = "x--"],
+      [ax_pthread_check_cond=0],
+      [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
+
+# Are we compiling with Clang?
+
+AC_CACHE_CHECK([whether $CC is Clang],
+    [ax_cv_PTHREAD_CLANG],
+    [ax_cv_PTHREAD_CLANG=no
+     # Note that Autoconf sets GCC=yes for Clang as well as GCC
+     if test "x$GCC" = "xyes"; then
+        AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
+            [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
+#            if defined(__clang__) && defined(__llvm__)
+             AX_PTHREAD_CC_IS_CLANG
+#            endif
+            ],
+            [ax_cv_PTHREAD_CLANG=yes])
+     fi
+    ])
+ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
+
+ax_pthread_clang_warning=no
+
+# Clang needs special handling, because older versions handle the -pthread
+# option in a rather... idiosyncratic way
+
+if test "x$ax_pthread_clang" = "xyes"; then
+
+        # Clang takes -pthread; it has never supported any other flag
+
+        # (Note 1: This will need to be revisited if a system that Clang
+        # supports has POSIX threads in a separate library.  This tends not
+        # to be the way of modern systems, but it's conceivable.)
+
+        # (Note 2: On some systems, notably Darwin, -pthread is not needed
+        # to get POSIX threads support; the API is always present and
+        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
+        # -pthread does define _REENTRANT, and while the Darwin headers
+        # ignore this macro, third-party headers might not.)
+
+        PTHREAD_CFLAGS="-pthread"
+        PTHREAD_LIBS=
+
+        ax_pthread_ok=yes
+
+        # However, older versions of Clang make a point of warning the user
+        # that, in an invocation where only linking and no compilation is
+        # taking place, the -pthread option has no effect ("argument unused
+        # during compilation").  They expect -pthread to be passed in only
+        # when source code is being compiled.
+        #
+        # Problem is, this is at odds with the way Automake and most other
+        # C build frameworks function, which is that the same flags used in
+        # compilation (CFLAGS) are also used in linking.  Many systems
+        # supported by AX_PTHREAD require exactly this for POSIX threads
+        # support, and in fact it is often not straightforward to specify a
+        # flag that is used only in the compilation phase and not in
+        # linking.  Such a scenario is extremely rare in practice.
+        #
+        # Even though use of the -pthread flag in linking would only print
+        # a warning, this can be a nuisance for well-run software projects
+        # that build with -Werror.  So if the active version of Clang has
+        # this misfeature, we search for an option to squash it.
+
+        AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
+             # Create an alternate version of $ac_link that compiles and
+             # links in two steps (.c -> .o, .o -> exe) instead of one
+             # (.c -> exe), because the warning occurs only in the second
+             # step
+             ax_pthread_save_ac_link="$ac_link"
+             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
+             ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
+             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
+             ax_pthread_save_CFLAGS="$CFLAGS"
+             for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
+                AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
+                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
+                ac_link="$ax_pthread_save_ac_link"
+                AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                    [ac_link="$ax_pthread_2step_ac_link"
+                     AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                         [break])
+                    ])
+             done
+             ac_link="$ax_pthread_save_ac_link"
+             CFLAGS="$ax_pthread_save_CFLAGS"
+             AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
+             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
+            ])
+
+        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
+                no | unknown) ;;
+                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
+        esac
+
+fi # $ax_pthread_clang = yes
+
+if test "x$ax_pthread_ok" = "xno"; then
+for ax_pthread_try_flag in $ax_pthread_flags; do
+
+        case $ax_pthread_try_flag in
                 none)
                 AC_MSG_CHECKING([whether pthreads work without any flags])
                 ;;
 
+                -mt,pthread)
+                AC_MSG_CHECKING([whether pthreads work with -mt -lpthread])
+                PTHREAD_CFLAGS="-mt"
+                PTHREAD_LIBS="-lpthread"
+                ;;
+
                 -*)
-                AC_MSG_CHECKING([whether pthreads work with $flag])
-                PTHREAD_CFLAGS="$flag"
+                AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
+                PTHREAD_CFLAGS="$ax_pthread_try_flag"
                 ;;
 
                 pthread-config)
                 AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
-                if test x"$ax_pthread_config" = xno; then continue; fi
+                AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
                 PTHREAD_CFLAGS="`pthread-config --cflags`"
                 PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
                 ;;
 
                 *)
-                AC_MSG_CHECKING([for the pthreads library -l$flag])
-                PTHREAD_LIBS="-l$flag"
+                AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
+                PTHREAD_LIBS="-l$ax_pthread_try_flag"
                 ;;
         esac
 
-        save_LIBS="$LIBS"
-        save_CFLAGS="$CFLAGS"
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
         LIBS="$PTHREAD_LIBS $LIBS"
-        CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags"
 
         # Check for various functions.  We must include pthread.h,
         # since some functions may be macros.  (On the Sequent, we
@@ -218,7 +366,11 @@
         # pthread_cleanup_push because it is one of the few pthread
         # functions on Solaris that doesn't have a non-functional libc stub.
         # We try pthread_create on general principles.
+
         AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
+#                       if $ax_pthread_check_cond
+#                        error "$ax_pthread_check_macro must be defined"
+#                       endif
                         static void routine(void *a) { a = 0; }
                         static void *start_routine(void *a) { return a; }],
                        [pthread_t th; pthread_attr_t attr;
@@ -227,16 +379,14 @@
                         pthread_attr_init(&attr);
                         pthread_cleanup_push(routine, 0);
                         pthread_cleanup_pop(0) /* ; */])],
-                [ax_pthread_ok=yes],
-                [])
+            [ax_pthread_ok=yes],
+            [])
 
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 
         AC_MSG_RESULT([$ax_pthread_ok])
-        if test "x$ax_pthread_ok" = xyes; then
-                break;
-        fi
+        AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
 
         PTHREAD_LIBS=""
         PTHREAD_CFLAGS=""
@@ -244,71 +394,74 @@
 fi
 
 # Various other checks:
-if test "x$ax_pthread_ok" = xyes; then
-        save_LIBS="$LIBS"
-        LIBS="$PTHREAD_LIBS $LIBS"
-        save_CFLAGS="$CFLAGS"
+if test "x$ax_pthread_ok" = "xyes"; then
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+        LIBS="$PTHREAD_LIBS $LIBS"
 
         # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
-        AC_MSG_CHECKING([for joinable pthread attribute])
-        attr_name=unknown
-        for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
-            AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
-                           [int attr = $attr; return attr /* ; */])],
-                [attr_name=$attr; break],
-                [])
-        done
-        AC_MSG_RESULT([$attr_name])
-        if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
-            AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name],
-                               [Define to necessary symbol if this constant
-                                uses a non-standard name on your system.])
-        fi
+        AC_CACHE_CHECK([for joinable pthread attribute],
+            [ax_cv_PTHREAD_JOINABLE_ATTR],
+            [ax_cv_PTHREAD_JOINABLE_ATTR=unknown
+             for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
+                 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
+                                                 [int attr = $ax_pthread_attr; return attr /* ; */])],
+                                [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],
+                                [])
+             done
+            ])
+        AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
+               test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
+               test "x$ax_pthread_joinable_attr_defined" != "xyes"],
+              [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],
+                                  [$ax_cv_PTHREAD_JOINABLE_ATTR],
+                                  [Define to necessary symbol if this constant
+                                   uses a non-standard name on your system.])
+               ax_pthread_joinable_attr_defined=yes
+              ])
 
-        AC_MSG_CHECKING([if more special flags are required for pthreads])
-        flag=no
-        case ${host_os} in
-            aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";;
-            osf* | hpux*) flag="-D_REENTRANT";;
-            solaris*)
-            if test "$GCC" = "yes"; then
-                flag="-D_REENTRANT"
-            else
-                # TODO: What about Clang on Solaris?
-                flag="-mt -D_REENTRANT"
-            fi
-            ;;
-        esac
-        AC_MSG_RESULT([$flag])
-        if test "x$flag" != xno; then
-            PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
-        fi
+        AC_CACHE_CHECK([whether more special flags are required for pthreads],
+            [ax_cv_PTHREAD_SPECIAL_FLAGS],
+            [ax_cv_PTHREAD_SPECIAL_FLAGS=no
+             case $host_os in
+             solaris*)
+             ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
+             ;;
+             esac
+            ])
+        AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
+               test "x$ax_pthread_special_flags_added" != "xyes"],
+              [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
+               ax_pthread_special_flags_added=yes])
 
         AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
-            [ax_cv_PTHREAD_PRIO_INHERIT], [
-                AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
-                                                [[int i = PTHREAD_PRIO_INHERIT;]])],
-                    [ax_cv_PTHREAD_PRIO_INHERIT=yes],
-                    [ax_cv_PTHREAD_PRIO_INHERIT=no])
+            [ax_cv_PTHREAD_PRIO_INHERIT],
+            [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
+                                             [[int i = PTHREAD_PRIO_INHERIT;]])],
+                            [ax_cv_PTHREAD_PRIO_INHERIT=yes],
+                            [ax_cv_PTHREAD_PRIO_INHERIT=no])
             ])
-        AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"],
-            [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])])
+        AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
+               test "x$ax_pthread_prio_inherit_defined" != "xyes"],
+              [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])
+               ax_pthread_prio_inherit_defined=yes
+              ])
 
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 
         # More AIX lossage: compile with *_r variant
-        if test "x$GCC" != xyes; then
+        if test "x$GCC" != "xyes"; then
             case $host_os in
                 aix*)
                 AS_CASE(["x/$CC"],
-                  [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
-                  [#handle absolute path differently from PATH based program lookup
-                   AS_CASE(["x$CC"],
-                     [x/*],
-                     [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
-                     [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
+                    [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
+                    [#handle absolute path differently from PATH based program lookup
+                     AS_CASE(["x$CC"],
+                         [x/*],
+                         [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
+                         [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
                 ;;
             esac
         fi
@@ -321,7 +474,7 @@
 AC_SUBST([PTHREAD_CC])
 
 # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
-if test x"$ax_pthread_ok" = xyes; then
+if test "x$ax_pthread_ok" = "xyes"; then
         ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
         :
 else
diff --git a/config.h.in b/config.h.in
index 0fc542d..aa6e37e 100644
--- a/config.h.in
+++ b/config.h.in
@@ -322,6 +322,9 @@
 /* Define to enable Kate (used by kate). */
 #undef HAVE_KATE
 
+/* Define to enable drm/kms libraries (used by kms). */
+#undef HAVE_KMS
+
 /* Define to enable ladspa (used by ladspa). */
 #undef HAVE_LADSPA
 
@@ -415,15 +418,9 @@
 /* Define to enable opencv plugins (used by opencv). */
 #undef HAVE_OPENCV
 
-/* Define to 1 if you have the <opencv2/contrib/contrib.hpp> header file. */
-#undef HAVE_OPENCV2_CONTRIB_CONTRIB_HPP
-
 /* Define to 1 if you have the <opencv2/core/core_c.h> header file. */
 #undef HAVE_OPENCV2_CORE_CORE_C_H
 
-/* Define to 1 if you have the <opencv2/core/types_c.h> header file. */
-#undef HAVE_OPENCV2_CORE_TYPES_C_H
-
 /* Define to 1 if you have the <opencv2/core/version.hpp> header file. */
 #undef HAVE_OPENCV2_CORE_VERSION_HPP
 
@@ -436,12 +433,6 @@
 /* Define to 1 if you have the <opencv2/imgproc/imgproc.hpp> header file. */
 #undef HAVE_OPENCV2_IMGPROC_IMGPROC_HPP
 
-/* Define to 1 if you have the <opencv2/legacy/compat.hpp> header file. */
-#undef HAVE_OPENCV2_LEGACY_COMPAT_HPP
-
-/* Define to 1 if you have the <opencv2/legacy/legacy.hpp> header file. */
-#undef HAVE_OPENCV2_LEGACY_LEGACY_HPP
-
 /* Define to 1 if you have the <opencv2/objdetect/objdetect.hpp> header file.
    */
 #undef HAVE_OPENCV2_OBJDETECT_OBJDETECT_HPP
@@ -501,8 +492,8 @@
 /* Define to enable Qt elements (used by qt). */
 #undef HAVE_QT
 
-/* Define if Qt Android integration is installed */
-#undef HAVE_QT_ANDROID
+/* Define if Qt eglfs integration is installed */
+#undef HAVE_QT_EGLFS
 
 /* Define if Qt iOS integration is installed */
 #undef HAVE_QT_IOS
@@ -648,6 +639,9 @@
 /* Define to enable WebP (used by webp ). */
 #undef HAVE_WEBP
 
+/* Define to enable WebRTC Audio Processing (used by webrtcdsp). */
+#undef HAVE_WEBRTCDSP
+
 /* Define to enable wildmidi midi soft synth plugin (used by wildmidi). */
 #undef HAVE_WILDMIDI
 
diff --git a/configure b/configure
index 672ae18..77656ab 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.8.2.
+# Generated by GNU Autoconf 2.69 for GStreamer Bad Plug-ins 1.9.1.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='GStreamer Bad Plug-ins'
 PACKAGE_TARNAME='gst-plugins-bad'
-PACKAGE_VERSION='1.8.2'
-PACKAGE_STRING='GStreamer Bad Plug-ins 1.8.2'
+PACKAGE_VERSION='1.9.1'
+PACKAGE_STRING='GStreamer Bad Plug-ins 1.9.1'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -652,6 +652,10 @@
 GST_OPTION_CFLAGS
 DEPRECATED_CFLAGS
 PROFILE_CFLAGS
+USE_WEBRTCDSP_FALSE
+USE_WEBRTCDSP_TRUE
+WEBRTCDSP_LIBS
+WEBRTCDSP_CFLAGS
 USE_X265_FALSE
 USE_X265_TRUE
 X265_LIBS
@@ -867,12 +871,16 @@
 LIBDE265_CFLAGS
 USE_LV2_FALSE
 USE_LV2_TRUE
-SLV2_LIBS
-SLV2_CFLAGS
+LILV_LIBS
+LILV_CFLAGS
 USE_LADSPA_FALSE
 USE_LADSPA_TRUE
 LRDF_LIBS
 LRDF_CFLAGS
+USE_KMS_FALSE
+USE_KMS_TRUE
+DRM_LIBS
+DRM_CFLAGS
 USE_KATE_FALSE
 USE_KATE_TRUE
 USE_TIGER_FALSE
@@ -920,10 +928,6 @@
 USE_WEBP_TRUE
 WEBP_LIBS
 WEBP_CFLAGS
-USE_WAYLAND_FALSE
-USE_WAYLAND_TRUE
-WAYLAND_LIBS
-WAYLAND_CFLAGS
 wayland_scanner
 USE_DIRECTFB_FALSE
 USE_DIRECTFB_TRUE
@@ -1042,6 +1046,10 @@
 DIRECTSOUND_LIBS
 DIRECTX_LDFLAGS
 DIRECTX_CFLAGS
+USE_WAYLAND_FALSE
+USE_WAYLAND_TRUE
+WAYLAND_LIBS
+WAYLAND_CFLAGS
 USE_XCB_FALSE
 USE_XCB_TRUE
 XCB_LIBS
@@ -1816,6 +1824,7 @@
 enable_gsm
 enable_fluidsynth
 enable_kate
+enable_kms
 enable_ladspa
 enable_lv2
 enable_libde265
@@ -1873,6 +1882,7 @@
 enable_hls
 with_libgcrypt_prefix
 enable_x265
+enable_webrtcdsp
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1960,6 +1970,8 @@
 LIBPNG_LIBS
 XCB_CFLAGS
 XCB_LIBS
+WAYLAND_CFLAGS
+WAYLAND_LIBS
 BLUEZ5_CFLAGS
 BLUEZ5_LIBS
 GIO_UNIX_CFLAGS
@@ -1998,8 +2010,6 @@
 LIBDC1394_LIBS
 DIRECTFB_CFLAGS
 DIRECTFB_LIBS
-WAYLAND_CFLAGS
-WAYLAND_LIBS
 WEBP_CFLAGS
 WEBP_LIBS
 DAALA_CFLAGS
@@ -2012,10 +2022,12 @@
 KATE_LIBS
 TIGER_CFLAGS
 TIGER_LIBS
+DRM_CFLAGS
+DRM_LIBS
 LRDF_CFLAGS
 LRDF_LIBS
-SLV2_CFLAGS
-SLV2_LIBS
+LILV_CFLAGS
+LILV_LIBS
 LIBDE265_CFLAGS
 LIBDE265_LIBS
 LIBMMS_CFLAGS
@@ -2103,7 +2115,9 @@
 OPENSSL_CFLAGS
 OPENSSL_LIBS
 X265_CFLAGS
-X265_LIBS'
+X265_LIBS
+WEBRTCDSP_CFLAGS
+WEBRTCDSP_LIBS'
 
 
 # Initialize some variables set by options.
@@ -2654,7 +2668,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.8.2 to adapt to many kinds of systems.
+\`configure' configures GStreamer Bad Plug-ins 1.9.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2726,7 +2740,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer Bad Plug-ins 1.8.2:";;
+     short | recursive ) echo "Configuration of GStreamer Bad Plug-ins 1.9.1:";;
    esac
   cat <<\_ACEOF
 
@@ -2892,6 +2906,7 @@
   --disable-gsm                disable GSM library: gsmenc gsmdec
   --disable-fluidsynth         disable fluidsynth: fluidsynth
   --disable-kate               disable Kate: kate
+  --disable-kms                disable drm/kms libraries: kms
   --disable-ladspa             disable ladspa: ladspa
   --disable-lv2                disable lv2: lv2
   --disable-libde265           disable libde265 HEVC/H.265 decoder: libde265
@@ -2944,6 +2959,7 @@
   --disable-sndio              disable sndio audio: sndio
   --disable-hls                disable http live streaming plugin: hls
   --disable-x265               disable x265 plug-in: x265
+  --disable-webrtcdsp          disable WebRTC Audio Processing: webrtcdsp
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -3131,6 +3147,10 @@
   LIBPNG_LIBS linker flags for LIBPNG, overriding pkg-config
   XCB_CFLAGS  C compiler flags for XCB, overriding pkg-config
   XCB_LIBS    linker flags for XCB, overriding pkg-config
+  WAYLAND_CFLAGS
+              C compiler flags for WAYLAND, overriding pkg-config
+  WAYLAND_LIBS
+              linker flags for WAYLAND, overriding pkg-config
   BLUEZ5_CFLAGS
               C compiler flags for BLUEZ5, overriding pkg-config
   BLUEZ5_LIBS linker flags for BLUEZ5, overriding pkg-config
@@ -3196,10 +3216,6 @@
               C compiler flags for DIRECTFB, overriding pkg-config
   DIRECTFB_LIBS
               linker flags for DIRECTFB, overriding pkg-config
-  WAYLAND_CFLAGS
-              C compiler flags for WAYLAND, overriding pkg-config
-  WAYLAND_LIBS
-              linker flags for WAYLAND, overriding pkg-config
   WEBP_CFLAGS C compiler flags for WEBP, overriding pkg-config
   WEBP_LIBS   linker flags for WEBP, overriding pkg-config
   DAALA_CFLAGS
@@ -3217,10 +3233,12 @@
   TIGER_CFLAGS
               C compiler flags for TIGER, overriding pkg-config
   TIGER_LIBS  linker flags for TIGER, overriding pkg-config
+  DRM_CFLAGS  C compiler flags for DRM, overriding pkg-config
+  DRM_LIBS    linker flags for DRM, overriding pkg-config
   LRDF_CFLAGS C compiler flags for LRDF, overriding pkg-config
   LRDF_LIBS   linker flags for LRDF, overriding pkg-config
-  SLV2_CFLAGS C compiler flags for SLV2, overriding pkg-config
-  SLV2_LIBS   linker flags for SLV2, overriding pkg-config
+  LILV_CFLAGS C compiler flags for LILV, overriding pkg-config
+  LILV_LIBS   linker flags for LILV, overriding pkg-config
   LIBDE265_CFLAGS
               C compiler flags for LIBDE265, overriding pkg-config
   LIBDE265_LIBS
@@ -3361,6 +3379,10 @@
               linker flags for OPENSSL, overriding pkg-config
   X265_CFLAGS C compiler flags for X265, overriding pkg-config
   X265_LIBS   linker flags for X265, overriding pkg-config
+  WEBRTCDSP_CFLAGS
+              C compiler flags for WEBRTCDSP, overriding pkg-config
+  WEBRTCDSP_LIBS
+              linker flags for WEBRTCDSP, overriding pkg-config
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
@@ -3428,7 +3450,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer Bad Plug-ins configure 1.8.2
+GStreamer Bad Plug-ins configure 1.9.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -4401,7 +4423,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.8.2, which was
+It was created by GStreamer Bad Plug-ins $as_me 1.9.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -5383,7 +5405,7 @@
 
 # Define the identity of the package.
  PACKAGE='gst-plugins-bad'
- VERSION='1.8.2'
+ VERSION='1.9.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5594,9 +5616,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.8.2 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.8.2 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.8.2 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.9.1 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.9.1 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.9.1 | cut -d'.' -f3)
 
 
 
@@ -5607,7 +5629,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.8.2 | cut -d'.' -f4)
+  NANO=$(echo 1.9.1 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -10451,10 +10473,10 @@
 done
 
 
-  GST_CURRENT=802
+  GST_CURRENT=901
   GST_REVISION=0
-  GST_AGE=802
-  GST_LIBVERSION=802:0:802
+  GST_AGE=901
+  GST_LIBVERSION=901:0:901
 
 
 
@@ -15082,8 +15104,8 @@
 
 
 
-GST_REQ=1.8.0
-GSTPB_REQ=1.8.0
+GST_REQ=1.9.1
+GSTPB_REQ=1.9.1
 
 
 
@@ -24967,6 +24989,8 @@
 
 
 
+
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -24976,19 +25000,23 @@
 ax_pthread_ok=no
 
 # We used to check for pthread.h first, but this fails if pthread.h
-# requires special compiler flags (e.g. on True64 or Sequent).
+# requires special compiler flags (e.g. on Tru64 or Sequent).
 # It gets checked for in the link test anyway.
 
 # First of all, check if the user has set any of the PTHREAD_LIBS,
 # etcetera environment variables, and if threads linking works using
 # them:
-if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
-        save_CFLAGS="$CFLAGS"
+if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
+        ax_pthread_save_CC="$CC"
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        if test "x$PTHREAD_CC" != "x"; then :
+  CC="$PTHREAD_CC"
+fi
         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-        save_LIBS="$LIBS"
         LIBS="$PTHREAD_LIBS $LIBS"
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5
-$as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS" >&5
+$as_echo_n "checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS... " >&6; }
         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -25014,12 +25042,13 @@
     conftest$ac_exeext conftest.$ac_ext
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
 $as_echo "$ax_pthread_ok" >&6; }
-        if test x"$ax_pthread_ok" = xno; then
+        if test "x$ax_pthread_ok" = "xno"; then
                 PTHREAD_LIBS=""
                 PTHREAD_CFLAGS=""
         fi
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CC="$ax_pthread_save_CC"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 fi
 
 # We must check for the threads library under a number of different
@@ -25032,7 +25061,7 @@
 # which indicates that we try without any flags at all, and "pthread-config"
 # which is a program returning the flags for the Pth emulation library.
 
-ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
 
 # The ordering *is* (sometimes) important.  Some notes on the
 # individual items follow:
@@ -25041,82 +25070,257 @@
 # none: in case threads are in libc; should be tried before -Kthread and
 #       other compiler flags to prevent continual compiler warnings
 # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
-# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
-# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
-# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
-# -pthreads: Solaris/gcc
-# -mthreads: Mingw32/gcc, Lynx/gcc
+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64
+#           (Note: HP C rejects this with "bad form for `-t' option")
+# -pthreads: Solaris/gcc (Note: HP C also rejects)
 # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
-#      doesn't hurt to check since this sometimes defines pthreads too;
-#      also defines -D_REENTRANT)
-#      ... -mt is also the pthreads flag for HP/aCC
+#      doesn't hurt to check since this sometimes defines pthreads and
+#      -D_REENTRANT too), HP C (must be checked before -lpthread, which
+#      is present but should not be used directly; and before -mthreads,
+#      because the compiler interprets this as "-mt" + "-hreads")
+# -mthreads: Mingw32/gcc, Lynx/gcc
 # pthread: Linux, etcetera
 # --thread-safe: KAI C++
 # pthread-config: use pthread-config program (for GNU Pth library)
 
-case ${host_os} in
+case $host_os in
+
+        freebsd*)
+
+        # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+        # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
+
+        ax_pthread_flags="-kthread lthread $ax_pthread_flags"
+        ;;
+
+        hpux*)
+
+        # From the cc(1) man page: "[-mt] Sets various -D flags to enable
+        # multi-threading and also sets -lpthread."
+
+        ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
+        ;;
+
+        openedition*)
+
+        # IBM z/OS requires a feature-test macro to be defined in order to
+        # enable POSIX threads at all, so give the user a hint if this is
+        # not set. (We don't define these ourselves, as they can affect
+        # other portions of the system API in unpredictable ways.)
+
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#            if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
+             AX_PTHREAD_ZOS_MISSING
+#            endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "AX_PTHREAD_ZOS_MISSING" >/dev/null 2>&1; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&5
+$as_echo "$as_me: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&2;}
+fi
+rm -f conftest*
+
+        ;;
+
         solaris*)
 
         # On Solaris (at least, for some versions), libc contains stubbed
         # (non-functional) versions of the pthreads routines, so link-based
-        # tests will erroneously succeed.  (We need to link with -pthreads/-mt/
-        # -lpthread.)  (The stubs are missing pthread_cleanup_push, or rather
-        # a function called by this macro, so we could check for that, but
-        # who knows whether they'll stub that too in a future libc.)  So,
-        # we'll just look for -pthreads and -lpthread first:
+        # tests will erroneously succeed. (N.B.: The stubs are missing
+        # pthread_cleanup_push, or rather a function called by this macro,
+        # so we could check for that, but who knows whether they'll stub
+        # that too in a future libc.)  So we'll check first for the
+        # standard Solaris way of linking pthreads (-mt -lpthread).
 
-        ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
-        ;;
-
-        darwin*)
-        ax_pthread_flags="-pthread $ax_pthread_flags"
+        ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
         ;;
 esac
 
-# Clang doesn't consider unrecognized options an error unless we specify
-# -Werror. We throw in some extra Clang-specific options to ensure that
-# this doesn't happen for GCC, which also accepts -Werror.
+# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler needs -Werror to reject unknown flags" >&5
-$as_echo_n "checking if compiler needs -Werror to reject unknown flags... " >&6; }
-save_CFLAGS="$CFLAGS"
-ax_pthread_extra_flags="-Werror"
-CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo(void);
-int
-main ()
-{
-foo()
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  ax_pthread_extra_flags=
-                   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+if test "x$GCC" = "xyes"; then :
+  ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS="$save_CFLAGS"
 
-if test x"$ax_pthread_ok" = xno; then
-for flag in $ax_pthread_flags; do
+# The presence of a feature test macro requesting re-entrant function
+# definitions is, on some systems, a strong hint that pthreads support is
+# correctly enabled
 
-        case $flag in
+case $host_os in
+        darwin* | hpux* | linux* | osf* | solaris*)
+        ax_pthread_check_macro="_REENTRANT"
+        ;;
+
+        aix*)
+        ax_pthread_check_macro="_THREAD_SAFE"
+        ;;
+
+        *)
+        ax_pthread_check_macro="--"
+        ;;
+esac
+if test "x$ax_pthread_check_macro" = "x--"; then :
+  ax_pthread_check_cond=0
+else
+  ax_pthread_check_cond="!defined($ax_pthread_check_macro)"
+fi
+
+# Are we compiling with Clang?
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC is Clang" >&5
+$as_echo_n "checking whether $CC is Clang... " >&6; }
+if ${ax_cv_PTHREAD_CLANG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ax_cv_PTHREAD_CLANG=no
+     # Note that Autoconf sets GCC=yes for Clang as well as GCC
+     if test "x$GCC" = "xyes"; then
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
+#            if defined(__clang__) && defined(__llvm__)
+             AX_PTHREAD_CC_IS_CLANG
+#            endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "AX_PTHREAD_CC_IS_CLANG" >/dev/null 2>&1; then :
+  ax_cv_PTHREAD_CLANG=yes
+fi
+rm -f conftest*
+
+     fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG" >&5
+$as_echo "$ax_cv_PTHREAD_CLANG" >&6; }
+ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
+
+ax_pthread_clang_warning=no
+
+# Clang needs special handling, because older versions handle the -pthread
+# option in a rather... idiosyncratic way
+
+if test "x$ax_pthread_clang" = "xyes"; then
+
+        # Clang takes -pthread; it has never supported any other flag
+
+        # (Note 1: This will need to be revisited if a system that Clang
+        # supports has POSIX threads in a separate library.  This tends not
+        # to be the way of modern systems, but it's conceivable.)
+
+        # (Note 2: On some systems, notably Darwin, -pthread is not needed
+        # to get POSIX threads support; the API is always present and
+        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
+        # -pthread does define _REENTRANT, and while the Darwin headers
+        # ignore this macro, third-party headers might not.)
+
+        PTHREAD_CFLAGS="-pthread"
+        PTHREAD_LIBS=
+
+        ax_pthread_ok=yes
+
+        # However, older versions of Clang make a point of warning the user
+        # that, in an invocation where only linking and no compilation is
+        # taking place, the -pthread option has no effect ("argument unused
+        # during compilation").  They expect -pthread to be passed in only
+        # when source code is being compiled.
+        #
+        # Problem is, this is at odds with the way Automake and most other
+        # C build frameworks function, which is that the same flags used in
+        # compilation (CFLAGS) are also used in linking.  Many systems
+        # supported by AX_PTHREAD require exactly this for POSIX threads
+        # support, and in fact it is often not straightforward to specify a
+        # flag that is used only in the compilation phase and not in
+        # linking.  Such a scenario is extremely rare in practice.
+        #
+        # Even though use of the -pthread flag in linking would only print
+        # a warning, this can be a nuisance for well-run software projects
+        # that build with -Werror.  So if the active version of Clang has
+        # this misfeature, we search for an option to squash it.
+
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread" >&5
+$as_echo_n "checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread... " >&6; }
+if ${ax_cv_PTHREAD_CLANG_NO_WARN_FLAG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
+             # Create an alternate version of $ac_link that compiles and
+             # links in two steps (.c -> .o, .o -> exe) instead of one
+             # (.c -> exe), because the warning occurs only in the second
+             # step
+             ax_pthread_save_ac_link="$ac_link"
+             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
+             ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
+             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
+             ax_pthread_save_CFLAGS="$CFLAGS"
+             for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
+                if test "x$ax_pthread_try" = "xunknown"; then :
+  break
+fi
+                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
+                ac_link="$ax_pthread_save_ac_link"
+                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int main(void){return 0;}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_link="$ax_pthread_2step_ac_link"
+                     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int main(void){return 0;}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  break
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+             done
+             ac_link="$ax_pthread_save_ac_link"
+             CFLAGS="$ax_pthread_save_CFLAGS"
+             if test "x$ax_pthread_try" = "x"; then :
+  ax_pthread_try=no
+fi
+             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&5
+$as_echo "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&6; }
+
+        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
+                no | unknown) ;;
+                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
+        esac
+
+fi # $ax_pthread_clang = yes
+
+if test "x$ax_pthread_ok" = "xno"; then
+for ax_pthread_try_flag in $ax_pthread_flags; do
+
+        case $ax_pthread_try_flag in
                 none)
                 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5
 $as_echo_n "checking whether pthreads work without any flags... " >&6; }
                 ;;
 
+                -mt,pthread)
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with -mt -lpthread" >&5
+$as_echo_n "checking whether pthreads work with -mt -lpthread... " >&6; }
+                PTHREAD_CFLAGS="-mt"
+                PTHREAD_LIBS="-lpthread"
+                ;;
+
                 -*)
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5
-$as_echo_n "checking whether pthreads work with $flag... " >&6; }
-                PTHREAD_CFLAGS="$flag"
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $ax_pthread_try_flag" >&5
+$as_echo_n "checking whether pthreads work with $ax_pthread_try_flag... " >&6; }
+                PTHREAD_CFLAGS="$ax_pthread_try_flag"
                 ;;
 
                 pthread-config)
@@ -25158,22 +25362,24 @@
 fi
 
 
-                if test x"$ax_pthread_config" = xno; then continue; fi
+                if test "x$ax_pthread_config" = "xno"; then :
+  continue
+fi
                 PTHREAD_CFLAGS="`pthread-config --cflags`"
                 PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
                 ;;
 
                 *)
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5
-$as_echo_n "checking for the pthreads library -l$flag... " >&6; }
-                PTHREAD_LIBS="-l$flag"
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$ax_pthread_try_flag" >&5
+$as_echo_n "checking for the pthreads library -l$ax_pthread_try_flag... " >&6; }
+                PTHREAD_LIBS="-l$ax_pthread_try_flag"
                 ;;
         esac
 
-        save_LIBS="$LIBS"
-        save_CFLAGS="$CFLAGS"
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
         LIBS="$PTHREAD_LIBS $LIBS"
-        CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags"
 
         # Check for various functions.  We must include pthread.h,
         # since some functions may be macros.  (On the Sequent, we
@@ -25184,9 +25390,13 @@
         # pthread_cleanup_push because it is one of the few pthread
         # functions on Solaris that doesn't have a non-functional libc stub.
         # We try pthread_create on general principles.
+
         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <pthread.h>
+#                       if $ax_pthread_check_cond
+#                        error "$ax_pthread_check_macro must be defined"
+#                       endif
                         static void routine(void *a) { a = 0; }
                         static void *start_routine(void *a) { return a; }
 int
@@ -25208,14 +25418,14 @@
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
 $as_echo "$ax_pthread_ok" >&6; }
-        if test "x$ax_pthread_ok" = xyes; then
-                break;
-        fi
+        if test "x$ax_pthread_ok" = "xyes"; then :
+  break
+fi
 
         PTHREAD_LIBS=""
         PTHREAD_CFLAGS=""
@@ -25223,72 +25433,80 @@
 fi
 
 # Various other checks:
-if test "x$ax_pthread_ok" = xyes; then
-        save_LIBS="$LIBS"
-        LIBS="$PTHREAD_LIBS $LIBS"
-        save_CFLAGS="$CFLAGS"
+if test "x$ax_pthread_ok" = "xyes"; then
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+        LIBS="$PTHREAD_LIBS $LIBS"
 
         # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5
 $as_echo_n "checking for joinable pthread attribute... " >&6; }
-        attr_name=unknown
-        for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
-            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+if ${ax_cv_PTHREAD_JOINABLE_ATTR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ax_cv_PTHREAD_JOINABLE_ATTR=unknown
+             for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
+                 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <pthread.h>
 int
 main ()
 {
-int attr = $attr; return attr /* ; */
+int attr = $ax_pthread_attr; return attr /* ; */
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  attr_name=$attr; break
+  ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-        done
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $attr_name" >&5
-$as_echo "$attr_name" >&6; }
-        if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
+             done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_JOINABLE_ATTR" >&5
+$as_echo "$ax_cv_PTHREAD_JOINABLE_ATTR" >&6; }
+        if test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
+               test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
+               test "x$ax_pthread_joinable_attr_defined" != "xyes"; then :
 
 cat >>confdefs.h <<_ACEOF
-#define PTHREAD_CREATE_JOINABLE $attr_name
+#define PTHREAD_CREATE_JOINABLE $ax_cv_PTHREAD_JOINABLE_ATTR
 _ACEOF
 
-        fi
+               ax_pthread_joinable_attr_defined=yes
 
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5
-$as_echo_n "checking if more special flags are required for pthreads... " >&6; }
-        flag=no
-        case ${host_os} in
-            aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";;
-            osf* | hpux*) flag="-D_REENTRANT";;
-            solaris*)
-            if test "$GCC" = "yes"; then
-                flag="-D_REENTRANT"
-            else
-                # TODO: What about Clang on Solaris?
-                flag="-mt -D_REENTRANT"
-            fi
-            ;;
-        esac
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag" >&5
-$as_echo "$flag" >&6; }
-        if test "x$flag" != xno; then
-            PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
-        fi
+fi
+
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether more special flags are required for pthreads" >&5
+$as_echo_n "checking whether more special flags are required for pthreads... " >&6; }
+if ${ax_cv_PTHREAD_SPECIAL_FLAGS+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ax_cv_PTHREAD_SPECIAL_FLAGS=no
+             case $host_os in
+             solaris*)
+             ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
+             ;;
+             esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_SPECIAL_FLAGS" >&5
+$as_echo "$ax_cv_PTHREAD_SPECIAL_FLAGS" >&6; }
+        if test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
+               test "x$ax_pthread_special_flags_added" != "xyes"; then :
+  PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
+               ax_pthread_special_flags_added=yes
+fi
 
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5
 $as_echo_n "checking for PTHREAD_PRIO_INHERIT... " >&6; }
 if ${ax_cv_PTHREAD_PRIO_INHERIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-
-                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <pthread.h>
 int
@@ -25310,23 +25528,26 @@
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5
 $as_echo "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; }
-        if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"; then :
+        if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
+               test "x$ax_pthread_prio_inherit_defined" != "xyes"; then :
 
 $as_echo "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h
 
+               ax_pthread_prio_inherit_defined=yes
+
 fi
 
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 
         # More AIX lossage: compile with *_r variant
-        if test "x$GCC" != xyes; then
+        if test "x$GCC" != "xyes"; then
             case $host_os in
                 aix*)
                 case "x/$CC" in #(
   x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6) :
     #handle absolute path differently from PATH based program lookup
-                   case "x$CC" in #(
+                     case "x$CC" in #(
   x/*) :
     if as_fn_executable_p ${CC}_r; then :
   PTHREAD_CC="${CC}_r"
@@ -25391,7 +25612,7 @@
 
 
 # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
-if test x"$ax_pthread_ok" = xyes; then
+if test "x$ax_pthread_ok" = "xyes"; then
 
 $as_echo "#define HAVE_PTHREAD 1" >>confdefs.h
 
@@ -28985,6 +29206,10 @@
 fi
 
 
+if test x$enable_static = xyes -a x$enable_shared = xno; then
+  GST_STATIC_CFLAGS="-DGST_STATIC_COMPILATION"
+fi
+
 
 # Check whether --with-player-tests was given.
 if test "${with_player_tests+set}" = set; then :
@@ -30210,10 +30435,11 @@
  sdi tta \
  videomeasure \
  linsys \
- apexsink dc1394 \
- musepack nas sdl timidity \
+ apexsink \
+ nas sdl timidity \
  wininet \
- xvid lv2 sndio libvisual"
+ xvid sndio libvisual"
+
 
 
 
@@ -33530,6 +33756,7 @@
 
 HAVE_GL=no
 HAVE_GLES2=no
+HAVE_GLES3_H=no
 HAVE_WAYLAND_EGL=no
 
 HAVE_EGL_RPI=no
@@ -33938,6 +34165,12 @@
 
 
       fi
+      ac_fn_c_check_header_mongrel "$LINENO" "GLES3/gl3.h" "ac_cv_header_GLES3_gl3_h" "$ac_includes_default"
+if test "x$ac_cv_header_GLES3_gl3_h" = xyes; then :
+  HAVE_GLES3_H=yes
+fi
+
+
     fi
     if test "x$NEED_EGL" != "xno"; then
 
@@ -34654,6 +34887,10 @@
 fi
 
 if test "x$HAVE_GL" = "xyes" -a "x$HAVE_GLES2" = "xyes"; then
+  GLES3_H_DEFINE=0
+  if test "x$HAVE_GLES3_H" == "xyes"; then
+    GLES3_H_DEFINE=1
+  fi
   GL_INCLUDES="
 #ifdef __GNUC__
 #  pragma GCC diagnostic push
@@ -34666,8 +34903,13 @@
 #  include <OpenGLES/ES2/gl.h>
 #  include <OpenGLES/ES2/glext.h>
 # else
-#  include <GLES2/gl2.h>
-#  include <GLES2/gl2ext.h>
+#  if $GLES3_H_DEFINE
+#   include <GLES3/gl3.h>
+#   include <GLES3/gl3ext.h>
+#  else
+#   include <GLES2/gl2.h>
+#   include <GLES2/gl2ext.h>
+#  endif
 # endif
 # ifdef __APPLE__
 #  include <OpenGL/OpenGL.h>
@@ -34711,6 +34953,7 @@
       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling GL|ES 2.0 support" >&5
 $as_echo "$as_me: WARNING: Disabling GL|ES 2.0 support" >&2;}
       HAVE_GLES2=no
+      HAVE_GLES3_H=no
     fi
 
 fi
@@ -34952,6 +35195,9 @@
 if test "x$USE_GLES2" = "xyes"; then
   GL_APIS="gles2 $GL_APIS"
   GST_GL_HAVE_GLES2=1
+  if test "x$HAVE_GLES3_H" = "xyes"; then
+    GST_GL_HAVE_GLES3=1
+  fi
 fi
 
 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
@@ -35239,8 +35485,13 @@
 #  include <OpenGLES/ES2/gl.h>
 #  include <OpenGLES/ES2/glext.h>
 # else
-#  include <GLES2/gl2.h>
-#  include <GLES2/gl2ext.h>
+#  if $GST_GL_HAVE_GLES3
+#   include <GLES3/gl3.h>
+#   include <GLES3/gl3ext.h>
+#  else
+#   include <GLES2/gl2.h>
+#   include <GLES2/gl2ext.h>
+#  endif
 # endif
 "
 fi
@@ -35599,8 +35850,6 @@
 fi
 
 
-VULKAN_CONFIG_DEFINES=""
-
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB" >&5
@@ -35662,18 +35911,17 @@
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-                HAVE_XCB=no
+                GST_VULKAN_HAVE_WINDOW_XCB=0
 elif test $pkg_failed = untried; then
-	HAVE_XCB=no
+	GST_VULKAN_HAVE_WINDOW_XCB=0
 else
 	XCB_CFLAGS=$pkg_cv_XCB_CFLAGS
 	XCB_LIBS=$pkg_cv_XCB_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVE_XCB=yes
+	GST_VULKAN_HAVE_WINDOW_XCB=1
 fi
-
- if test "x$HAVE_XCB" = "xyes"; then
+ if test "x$GST_VULKAN_HAVE_WINDOW_XCB" = "x1"; then
   USE_XCB_TRUE=
   USE_XCB_FALSE='#'
 else
@@ -35681,10 +35929,89 @@
   USE_XCB_FALSE=
 fi
 
-if test "x$HAVE_XCB" = "xyes"; then
-  VULKAN_CONFIG_DEFINES="$VULKAN_CONFIG_DEFINES
-  #define GST_VULKAN_HAVE_WINDOW_XCB 1"
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAYLAND" >&5
+$as_echo_n "checking for WAYLAND... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$WAYLAND_CFLAGS"; then
+        pkg_cv_WAYLAND_CFLAGS="$WAYLAND_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-client >= 1.4\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "wayland-client >= 1.4") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_WAYLAND_CFLAGS=`$PKG_CONFIG --cflags "wayland-client >= 1.4" 2>/dev/null`
+else
+  pkg_failed=yes
 fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$WAYLAND_LIBS"; then
+        pkg_cv_WAYLAND_LIBS="$WAYLAND_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-client >= 1.4\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "wayland-client >= 1.4") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_WAYLAND_LIBS=`$PKG_CONFIG --libs "wayland-client >= 1.4" 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
+	        WAYLAND_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "wayland-client >= 1.4"`
+        else
+	        WAYLAND_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "wayland-client >= 1.4"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$WAYLAND_PKG_ERRORS" >&5
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+                GST_VULKAN_HAVE_WINDOW_WAYLAND=0
+elif test $pkg_failed = untried; then
+	GST_VULKAN_HAVE_WINDOW_WAYLAND=0
+else
+	WAYLAND_CFLAGS=$pkg_cv_WAYLAND_CFLAGS
+	WAYLAND_LIBS=$pkg_cv_WAYLAND_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	GST_VULKAN_HAVE_WINDOW_WAYLAND=1
+fi
+ if test "x$GST_VULKAN_HAVE_WINDOW_WAYLAND" = "x1"; then
+  USE_WAYLAND_TRUE=
+  USE_WAYLAND_FALSE='#'
+else
+  USE_WAYLAND_TRUE='#'
+  USE_WAYLAND_FALSE=
+fi
+
+VULKAN_CONFIG_DEFINES="
+#define GST_VULKAN_HAVE_WINDOW_XCB $GST_VULKAN_HAVE_WINDOW_XCB
+#define GST_VULKAN_HAVE_WINDOW_WAYLAND $GST_VULKAN_HAVE_WINDOW_WAYLAND"
 
 ac_config_commands="$ac_config_commands ext/vulkan/vkconfig.h"
 
@@ -43238,6 +43565,355 @@
 
 
 echo
+{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: drm/kms libraries ***" >&5
+$as_echo "$as_me: *** checking feature: drm/kms libraries ***" >&6;}
+if test "xkms" != "x"
+then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: *** for plug-ins: kms ***" >&5
+$as_echo "$as_me: *** for plug-ins: kms ***" >&6;}
+fi
+NOUSE=
+if test "x$USE_KMS" = "xno"; then
+  NOUSE="yes"
+fi
+# Check whether --enable-kms was given.
+if test "${enable_kms+set}" = set; then :
+  enableval=$enable_kms;  case "${enableval}" in
+      yes) USE_KMS=yes;;
+      no) USE_KMS=no;;
+      *) as_fn_error $? "bad value ${enableval} for --enable-kms" "$LINENO" 5 ;;
+    esac
+else
+   USE_KMS=yes
+fi
+
+if test "x$NOUSE" = "xyes"; then
+  USE_KMS="no"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** kms pre-configured not to be built" >&5
+$as_echo "$as_me: WARNING: *** kms pre-configured not to be built" >&2;}
+fi
+NOUSE=
+
+if echo " $GST_PLUGINS_NONPORTED " | tr , ' ' | grep -i " KMS " > /dev/null; then
+  USE_KMS="no"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** kms not ported" >&5
+$as_echo "$as_me: WARNING: *** kms not ported" >&2;}
+fi
+
+
+if test x$USE_KMS = 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_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"
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GST_ALLOCATORS" >&5
+$as_echo_n "checking for GST_ALLOCATORS... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GST_ALLOCATORS_CFLAGS"; then
+        pkg_cv_GST_ALLOCATORS_CFLAGS="$GST_ALLOCATORS_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_ALLOCATORS_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_ALLOCATORS_LIBS"; then
+        pkg_cv_GST_ALLOCATORS_LIBS="$GST_ALLOCATORS_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_ALLOCATORS_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_ALLOCATORS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$which"`
+        else
+	        GST_ALLOCATORS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$which"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$GST_ALLOCATORS_PKG_ERRORS" >&5
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+      HAVE_GST_ALLOCATORS="no"
+      if test "x$required" = "xyes"; then
+        as_fn_error $? "$GST_ALLOCATORS_PKG_ERRORS" "$LINENO" 5
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: $GST_ALLOCATORS_PKG_ERRORS" >&5
+$as_echo "$as_me: $GST_ALLOCATORS_PKG_ERRORS" >&6;}
+      fi
+
+elif test $pkg_failed = untried; then
+
+      HAVE_GST_ALLOCATORS="no"
+      if test "x$required" = "xyes"; then
+        as_fn_error $? "$GST_ALLOCATORS_PKG_ERRORS" "$LINENO" 5
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: $GST_ALLOCATORS_PKG_ERRORS" >&5
+$as_echo "$as_me: $GST_ALLOCATORS_PKG_ERRORS" >&6;}
+      fi
+
+else
+	GST_ALLOCATORS_CFLAGS=$pkg_cv_GST_ALLOCATORS_CFLAGS
+	GST_ALLOCATORS_LIBS=$pkg_cv_GST_ALLOCATORS_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+      HAVE_GST_ALLOCATORS="yes"
+
+fi
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DRM" >&5
+$as_echo_n "checking for DRM... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$DRM_CFLAGS"; then
+        pkg_cv_DRM_CFLAGS="$DRM_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdrm libkms\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libdrm libkms") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_DRM_CFLAGS=`$PKG_CONFIG --cflags "libdrm libkms" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$DRM_LIBS"; then
+        pkg_cv_DRM_LIBS="$DRM_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdrm libkms\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libdrm libkms") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_DRM_LIBS=`$PKG_CONFIG --libs "libdrm libkms" 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
+	        DRM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libdrm libkms"`
+        else
+	        DRM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libdrm libkms"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$DRM_PKG_ERRORS" >&5
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+                HAVE_KMS=no
+elif test $pkg_failed = untried; then
+	HAVE_KMS=no
+else
+	DRM_CFLAGS=$pkg_cv_DRM_CFLAGS
+	DRM_LIBS=$pkg_cv_DRM_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	HAVE_KMS=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_KMS = xno; then
+    USE_KMS=no
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will be built: kms" >&5
+$as_echo "$as_me: *** These plugins will be built: kms" >&6;}
+  fi
+fi
+if test x$USE_KMS = xyes; then
+  :
+  if test "xkms" != "x"; then
+    GST_PLUGINS_YES="\tkms\n$GST_PLUGINS_YES"
+  fi
+
+$as_echo "#define HAVE_KMS /**/" >>confdefs.h
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will not be built: kms" >&5
+$as_echo "$as_me: *** These plugins will not be built: kms" >&6;}
+  if test "xkms" != "x"; then
+    GST_PLUGINS_NO="\tkms\n$GST_PLUGINS_NO"
+  fi
+  :
+fi
+ if test x$USE_KMS = xyes; then
+  USE_KMS_TRUE=
+  USE_KMS_FALSE='#'
+else
+  USE_KMS_TRUE='#'
+  USE_KMS_FALSE=
+fi
+
+
+
+echo
 { $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: ladspa ***" >&5
 $as_echo "$as_me: *** checking feature: ladspa ***" >&6;}
 if test "xladspa" != "x"
@@ -43461,20 +44137,20 @@
 
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SLV2" >&5
-$as_echo_n "checking for SLV2... " >&6; }
+{ $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 "$SLV2_CFLAGS"; then
-        pkg_cv_SLV2_CFLAGS="$SLV2_CFLAGS"
+    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 \"slv2 >= 0.6.6\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "slv2 >= 0.6.6") 2>&5
+    { { $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
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_SLV2_CFLAGS=`$PKG_CONFIG --cflags "slv2 >= 0.6.6" 2>/dev/null`
+  pkg_cv_LILV_CFLAGS=`$PKG_CONFIG --cflags "lilv-0 >= 0.6.6" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -43483,16 +44159,16 @@
 	pkg_failed=untried
 fi
 if test -n "$PKG_CONFIG"; then
-    if test -n "$SLV2_LIBS"; then
-        pkg_cv_SLV2_LIBS="$SLV2_LIBS"
+    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 \"slv2 >= 0.6.6\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "slv2 >= 0.6.6") 2>&5
+    { { $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
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_SLV2_LIBS=`$PKG_CONFIG --libs "slv2 >= 0.6.6" 2>/dev/null`
+  pkg_cv_LILV_LIBS=`$PKG_CONFIG --libs "lilv-0 >= 0.6.6" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -43511,12 +44187,12 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        SLV2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "slv2 >= 0.6.6"`
+	        LILV_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lilv-0 >= 0.6.6"`
         else
-	        SLV2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "slv2 >= 0.6.6"`
+	        LILV_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lilv-0 >= 0.6.6"`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$SLV2_PKG_ERRORS" >&5
+	echo "$LILV_PKG_ERRORS" >&5
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
@@ -43524,8 +44200,8 @@
 elif test $pkg_failed = untried; then
 	HAVE_LV2="no"
 else
-	SLV2_CFLAGS=$pkg_cv_SLV2_CFLAGS
-	SLV2_LIBS=$pkg_cv_SLV2_LIBS
+	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"
@@ -46250,12 +46926,12 @@
         pkg_cv_OPENCV_CFLAGS="$OPENCV_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"opencv >= 2.3.0 opencv < 2.5.0 \""; } >&5
-  ($PKG_CONFIG --exists --print-errors "opencv >= 2.3.0 opencv < 2.5.0 ") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"opencv >= 2.3.0 opencv <= 3.1.0 \""; } >&5
+  ($PKG_CONFIG --exists --print-errors "opencv >= 2.3.0 opencv <= 3.1.0 ") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_OPENCV_CFLAGS=`$PKG_CONFIG --cflags "opencv >= 2.3.0 opencv < 2.5.0 " 2>/dev/null`
+  pkg_cv_OPENCV_CFLAGS=`$PKG_CONFIG --cflags "opencv >= 2.3.0 opencv <= 3.1.0 " 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -46268,12 +46944,12 @@
         pkg_cv_OPENCV_LIBS="$OPENCV_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"opencv >= 2.3.0 opencv < 2.5.0 \""; } >&5
-  ($PKG_CONFIG --exists --print-errors "opencv >= 2.3.0 opencv < 2.5.0 ") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"opencv >= 2.3.0 opencv <= 3.1.0 \""; } >&5
+  ($PKG_CONFIG --exists --print-errors "opencv >= 2.3.0 opencv <= 3.1.0 ") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_OPENCV_LIBS=`$PKG_CONFIG --libs "opencv >= 2.3.0 opencv < 2.5.0 " 2>/dev/null`
+  pkg_cv_OPENCV_LIBS=`$PKG_CONFIG --libs "opencv >= 2.3.0 opencv <= 3.1.0 " 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -46292,9 +46968,9 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        OPENCV_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "opencv >= 2.3.0 opencv < 2.5.0 "`
+	        OPENCV_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "opencv >= 2.3.0 opencv <= 3.1.0 "`
         else
-	        OPENCV_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "opencv >= 2.3.0 opencv < 2.5.0 "`
+	        OPENCV_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "opencv >= 2.3.0 opencv <= 3.1.0 "`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$OPENCV_PKG_ERRORS" >&5
@@ -46708,15 +47384,11 @@
     OLD_CPPFLAGS=$CPPFLAGS
     CPPFLAGS=$OPENCV_CFLAGS
     something_not_found=no
-    for ac_header in opencv2/contrib/contrib.hpp \
-                      opencv2/core/core_c.h \
-                      opencv2/core/types_c.h \
+    for ac_header in opencv2/core/core_c.h \
                       opencv2/core/version.hpp \
                       opencv2/highgui/highgui_c.h \
                       opencv2/imgproc/imgproc.hpp \
                       opencv2/imgproc/imgproc_c.h \
-                      opencv2/legacy/compat.hpp \
-                      opencv2/legacy/legacy.hpp \
                       opencv2/objdetect/objdetect.hpp \
                       opencv2/video/background_segm.hpp
 do :
@@ -49137,6 +49809,17 @@
       else
         HAVE_QT="yes"
         HAVE_QT_WINDOWING="no"
+        QT_VERSION="`$PKG_CONFIG --modversion Qt5Core`"
+        QPA_INCLUDE_PATH=`$PKG_CONFIG --variable=includedir Qt5Core`/QtGui/${QT_VERSION}/QtGui
+        if test -f "$QPA_INCLUDE_PATH/qpa/qplatformnativeinterface.h"; then :
+
+          QT_CFLAGS="$QT_CFLAGS -I$QPA_INCLUDE_PATH"
+          HAVE_QT_QPA_HEADER="yes"
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: Cannot find QPA" >&5
+$as_echo "$as_me: Cannot find QPA" >&6;}
+fi
         if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
 
 pkg_failed=no
@@ -49219,7 +49902,7 @@
 
 fi
         fi
-        if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
+        if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1" -a "x$HAVE_QT_QPA_HEADER" = "xyes"; then
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for QT_WAYLAND" >&5
@@ -49301,7 +49984,8 @@
 
 fi
         fi
-        if test "x$GST_GL_HAVE_WINDOW_ANDROID" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
+        if test "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
+          if test "x$GST_GL_HAVE_WINDOW_ANDROID" = "x1"; then
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for QT_ANDROID" >&5
@@ -49374,10 +50058,10 @@
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
 
-            # c++ on android requires a standard library and there are multiple
-            # choices.  cerbero provides a pkg-config file the describes a choice
-            # so try to use that.  Outside cerbero one has to pass these flags
-            # manually for the library one is using
+              # c++ on android requires a standard library and there are multiple
+              # choices.  cerbero provides a pkg-config file the describes a choice
+              # so try to use that.  Outside cerbero one has to pass these flags
+              # manually for the library one is using
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNUSTL" >&5
@@ -49440,11 +50124,11 @@
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 
-              { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find Standard C++ library" >&5
+                { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find Standard C++ library" >&5
 $as_echo "$as_me: Could not find Standard C++ library" >&6;}
 elif test $pkg_failed = untried; then
 
-              { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find Standard C++ library" >&5
+                { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find Standard C++ library" >&5
 $as_echo "$as_me: Could not find Standard C++ library" >&6;}
 else
 	GNUSTL_CFLAGS=$pkg_cv_GNUSTL_CFLAGS
@@ -49452,19 +50136,24 @@
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
 
-              QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
-              QT_LIBS="$QT_LIBS $GNUSTL_LIBS"
+                QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
+                QT_LIBS="$QT_LIBS $GNUSTL_LIBS"
 
 fi
 
+$as_echo "#define HAVE_QT_EGLFS /**/" >>confdefs.h
 
-$as_echo "#define HAVE_QT_ANDROID /**/" >>confdefs.h
-
-            QT_CFLAGS="$QT_CFLAGS $QT_ANDROID_CFLAGS"
-            QT_LIBS="$QT_LIBS $QT_ANDROID_LIBS"
-            HAVE_QT_WINDOWING="yes"
+              QT_CFLAGS="$QT_CFLAGS $QT_ANDROID_CFLAGS"
+              QT_LIBS="$QT_LIBS $QT_ANDROID_LIBS"
+              HAVE_QT_WINDOWING="yes"
 
 fi
+          else
+
+$as_echo "#define HAVE_QT_EGLFS /**/" >>confdefs.h
+
+              HAVE_QT_WINDOWING="yes"
+          fi
         fi
         if test "x$GST_GL_HAVE_WINDOW_COCOA" = "x1" -a "x$GST_GL_HAVE_PLATFORM_CGL" = "x1"; then
 
@@ -57171,6 +57860,212 @@
 
 
 
+echo
+{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: WebRTC Audio Processing ***" >&5
+$as_echo "$as_me: *** checking feature: WebRTC Audio Processing ***" >&6;}
+if test "xwebrtcdsp" != "x"
+then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: *** for plug-ins: webrtcdsp ***" >&5
+$as_echo "$as_me: *** for plug-ins: webrtcdsp ***" >&6;}
+fi
+NOUSE=
+if test "x$USE_WEBRTCDSP" = "xno"; then
+  NOUSE="yes"
+fi
+# Check whether --enable-webrtcdsp was given.
+if test "${enable_webrtcdsp+set}" = set; then :
+  enableval=$enable_webrtcdsp;  case "${enableval}" in
+      yes) USE_WEBRTCDSP=yes;;
+      no) USE_WEBRTCDSP=no;;
+      *) as_fn_error $? "bad value ${enableval} for --enable-webrtcdsp" "$LINENO" 5 ;;
+    esac
+else
+   USE_WEBRTCDSP=yes
+fi
+
+if test "x$NOUSE" = "xyes"; then
+  USE_WEBRTCDSP="no"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** webrtcdsp pre-configured not to be built" >&5
+$as_echo "$as_me: WARNING: *** webrtcdsp pre-configured not to be built" >&2;}
+fi
+NOUSE=
+
+if echo " $GST_PLUGINS_NONPORTED " | tr , ' ' | grep -i " WEBRTCDSP " > /dev/null; then
+  USE_WEBRTCDSP="no"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** webrtcdsp not ported" >&5
+$as_echo "$as_me: WARNING: *** webrtcdsp not ported" >&2;}
+fi
+
+
+if test x$USE_WEBRTCDSP = 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_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"
+    required="no"
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for WEBRTCDSP" >&5
+$as_echo_n "checking for WEBRTCDSP... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$WEBRTCDSP_CFLAGS"; then
+        pkg_cv_WEBRTCDSP_CFLAGS="$WEBRTCDSP_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_WEBRTCDSP_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 "$WEBRTCDSP_LIBS"; then
+        pkg_cv_WEBRTCDSP_LIBS="$WEBRTCDSP_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_WEBRTCDSP_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
+	        WEBRTCDSP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$which"`
+        else
+	        WEBRTCDSP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$which"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$WEBRTCDSP_PKG_ERRORS" >&5
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+      HAVE_WEBRTCDSP="no"
+      if test "x$required" = "xyes"; then
+        as_fn_error $? "$WEBRTCDSP_PKG_ERRORS" "$LINENO" 5
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: $WEBRTCDSP_PKG_ERRORS" >&5
+$as_echo "$as_me: $WEBRTCDSP_PKG_ERRORS" >&6;}
+      fi
+
+elif test $pkg_failed = untried; then
+
+      HAVE_WEBRTCDSP="no"
+      if test "x$required" = "xyes"; then
+        as_fn_error $? "$WEBRTCDSP_PKG_ERRORS" "$LINENO" 5
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: $WEBRTCDSP_PKG_ERRORS" >&5
+$as_echo "$as_me: $WEBRTCDSP_PKG_ERRORS" >&6;}
+      fi
+
+else
+	WEBRTCDSP_CFLAGS=$pkg_cv_WEBRTCDSP_CFLAGS
+	WEBRTCDSP_LIBS=$pkg_cv_WEBRTCDSP_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+      HAVE_WEBRTCDSP="yes"
+
+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 :
+
+else
+  HAVE_WEBRTCDSP=no
+fi
+
+
+  CPPFLAGS=$old_CPPFLAGS
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+  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_WEBRTCDSP = xno; then
+    USE_WEBRTCDSP=no
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will be built: webrtcdsp" >&5
+$as_echo "$as_me: *** These plugins will be built: webrtcdsp" >&6;}
+  fi
+fi
+if test x$USE_WEBRTCDSP = xyes; then
+  :
+  if test "xwebrtcdsp" != "x"; then
+    GST_PLUGINS_YES="\twebrtcdsp\n$GST_PLUGINS_YES"
+  fi
+
+$as_echo "#define HAVE_WEBRTCDSP /**/" >>confdefs.h
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will not be built: webrtcdsp" >&5
+$as_echo "$as_me: *** These plugins will not be built: webrtcdsp" >&6;}
+  if test "xwebrtcdsp" != "x"; then
+    GST_PLUGINS_NO="\twebrtcdsp\n$GST_PLUGINS_NO"
+  fi
+  :
+fi
+ if test x$USE_WEBRTCDSP = xyes; then
+  USE_WEBRTCDSP_TRUE=
+  USE_WEBRTCDSP_FALSE='#'
+else
+  USE_WEBRTCDSP_TRUE='#'
+  USE_WEBRTCDSP_FALSE=
+fi
+
+
+
 else
 
 
@@ -57415,6 +58310,14 @@
 fi
 
  if false; then
+  USE_KMS_TRUE=
+  USE_KMS_FALSE='#'
+else
+  USE_KMS_TRUE='#'
+  USE_KMS_FALSE=
+fi
+
+ if false; then
   USE_TIGER_TRUE=
   USE_TIGER_FALSE='#'
 else
@@ -57837,7 +58740,7 @@
 
 
 
-GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
+GST_CFLAGS="$GST_CFLAGS $GST_STATIC_CFLAGS -DGST_USE_UNSTABLE_API"
 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
 GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
@@ -57868,7 +58771,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/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/gtkvideooverlay/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/webp/Makefile ext/x265/Makefile ext/xvid/Makefile ext/zbar/Makefile ext/dtls/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/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"
 
 
 sed \
@@ -58607,6 +59510,10 @@
   as_fn_error $? "conditional \"USE_XCB\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${USE_WAYLAND_TRUE}" && test -z "${USE_WAYLAND_FALSE}"; then
+  as_fn_error $? "conditional \"USE_WAYLAND\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${USE_DIRECTSOUND_TRUE}" && test -z "${USE_DIRECTSOUND_FALSE}"; then
   as_fn_error $? "conditional \"USE_DIRECTSOUND\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -58787,6 +59694,10 @@
   as_fn_error $? "conditional \"USE_KATE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${USE_KMS_TRUE}" && test -z "${USE_KMS_FALSE}"; then
+  as_fn_error $? "conditional \"USE_KMS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${USE_LADSPA_TRUE}" && test -z "${USE_LADSPA_FALSE}"; then
   as_fn_error $? "conditional \"USE_LADSPA\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -58999,6 +59910,10 @@
   as_fn_error $? "conditional \"USE_X265\" 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_ASSRENDER_TRUE}" && test -z "${USE_ASSRENDER_FALSE}"; then
   as_fn_error $? "conditional \"USE_ASSRENDER\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -59119,6 +60034,10 @@
   as_fn_error $? "conditional \"USE_KATE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${USE_KMS_TRUE}" && test -z "${USE_KMS_FALSE}"; then
+  as_fn_error $? "conditional \"USE_KMS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${USE_TIGER_TRUE}" && test -z "${USE_TIGER_FALSE}"; then
   as_fn_error $? "conditional \"USE_TIGER\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -59716,7 +60635,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.8.2, which was
+This file was extended by GStreamer Bad Plug-ins $as_me 1.9.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -59782,7 +60701,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.8.2
+GStreamer Bad Plug-ins config.status 1.9.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -60446,6 +61365,7 @@
     "sys/dshowvideosink/Makefile") CONFIG_FILES="$CONFIG_FILES sys/dshowvideosink/Makefile" ;;
     "sys/dvb/Makefile") CONFIG_FILES="$CONFIG_FILES sys/dvb/Makefile" ;;
     "sys/fbdev/Makefile") CONFIG_FILES="$CONFIG_FILES sys/fbdev/Makefile" ;;
+    "sys/kms/Makefile") CONFIG_FILES="$CONFIG_FILES sys/kms/Makefile" ;;
     "sys/linsys/Makefile") CONFIG_FILES="$CONFIG_FILES sys/linsys/Makefile" ;;
     "sys/nvenc/Makefile") CONFIG_FILES="$CONFIG_FILES sys/nvenc/Makefile" ;;
     "sys/opensles/Makefile") CONFIG_FILES="$CONFIG_FILES sys/opensles/Makefile" ;;
@@ -60476,7 +61396,6 @@
     "tests/examples/gl/generic/doublecube/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/gl/generic/doublecube/Makefile" ;;
     "tests/examples/gl/generic/recordgraphic/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/gl/generic/recordgraphic/Makefile" ;;
     "tests/examples/gl/gtk/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/gl/gtk/Makefile" ;;
-    "tests/examples/gl/gtk/gtkvideooverlay/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/gl/gtk/gtkvideooverlay/Makefile" ;;
     "tests/examples/gl/gtk/3dvideo/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/gl/gtk/3dvideo/Makefile" ;;
     "tests/examples/gl/gtk/filternovideooverlay/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/gl/gtk/filternovideooverlay/Makefile" ;;
     "tests/examples/gl/gtk/filtervideooverlay/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/gl/gtk/filtervideooverlay/Makefile" ;;
@@ -60554,11 +61473,13 @@
     "ext/timidity/Makefile") CONFIG_FILES="$CONFIG_FILES ext/timidity/Makefile" ;;
     "ext/vulkan/Makefile") CONFIG_FILES="$CONFIG_FILES ext/vulkan/Makefile" ;;
     "ext/vulkan/xcb/Makefile") CONFIG_FILES="$CONFIG_FILES ext/vulkan/xcb/Makefile" ;;
+    "ext/vulkan/wayland/Makefile") CONFIG_FILES="$CONFIG_FILES ext/vulkan/wayland/Makefile" ;;
     "ext/webp/Makefile") CONFIG_FILES="$CONFIG_FILES ext/webp/Makefile" ;;
     "ext/x265/Makefile") CONFIG_FILES="$CONFIG_FILES ext/x265/Makefile" ;;
     "ext/xvid/Makefile") CONFIG_FILES="$CONFIG_FILES ext/xvid/Makefile" ;;
     "ext/zbar/Makefile") CONFIG_FILES="$CONFIG_FILES ext/zbar/Makefile" ;;
     "ext/dtls/Makefile") CONFIG_FILES="$CONFIG_FILES ext/dtls/Makefile" ;;
+    "ext/webrtcdsp/Makefile") CONFIG_FILES="$CONFIG_FILES ext/webrtcdsp/Makefile" ;;
     "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
     "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
     "docs/plugins/Makefile") CONFIG_FILES="$CONFIG_FILES docs/plugins/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index 6297183..cac9954 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.8.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad])
+AC_INIT([GStreamer Bad Plug-ins],[1.9.1],[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, 802, 0, 802)
+AS_LIBTOOL(GST, 901, 0, 901)
 
 dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.8.0
-GSTPB_REQ=1.8.0
+GST_REQ=1.9.1
+GSTPB_REQ=1.9.1
 
 dnl *** autotools stuff ****
 
@@ -396,6 +396,12 @@
 AC_SUBST(GST_PLUGIN_LIBTOOLFLAGS)
 AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static_plugins" = "xyes")
 
+dnl If only building static libraries, define GST_STATIC_COMPILATION. This is
+dnl needed only on Windows, but it doesn't hurt to have it everywhere.
+if test x$enable_static = xyes -a x$enable_shared = xno; then
+  GST_STATIC_CFLAGS="-DGST_STATIC_COMPILATION"
+fi
+
 AC_ARG_WITH([player-tests],
   AS_HELP_STRING([--with-player-tests],[Enable GstPlayer tests that need network access (default: no)]))
 if test x$with_player_tests = xyes; then
@@ -450,10 +456,11 @@
  sdi tta \
  videomeasure \
  linsys \
- apexsink dc1394 \
- musepack nas sdl timidity \
+ apexsink \
+ nas sdl timidity \
  wininet \
- xvid lv2 sndio libvisual"
+ xvid sndio libvisual"
+
 AC_SUBST(GST_PLUGINS_NONPORTED)
 
 dnl these are all the gst plug-ins, compilable without additional libs
@@ -681,6 +688,7 @@
 
 HAVE_GL=no
 HAVE_GLES2=no
+HAVE_GLES3_H=no
 HAVE_WAYLAND_EGL=no
 
 HAVE_EGL_RPI=no
@@ -707,6 +715,7 @@
       if test "x$HAVE_GLES2" != "xyes"; then
         AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h)
       fi
+      AC_CHECK_HEADER([GLES3/gl3.h], [HAVE_GLES3_H=yes])
     fi
     if test "x$NEED_EGL" != "xno"; then
       AG_GST_PKG_CHECK_MODULES(EGL, egl)
@@ -857,6 +866,10 @@
 
 dnl check if we can include both GL and GLES2 at the same time
 if test "x$HAVE_GL" = "xyes" -a "x$HAVE_GLES2" = "xyes"; then
+  GLES3_H_DEFINE=0
+  if test "x$HAVE_GLES3_H" == "xyes"; then
+    GLES3_H_DEFINE=1
+  fi
   GL_INCLUDES="
 #ifdef __GNUC__
 #  pragma GCC diagnostic push
@@ -869,8 +882,13 @@
 #  include <OpenGLES/ES2/gl.h>
 #  include <OpenGLES/ES2/glext.h>
 # else
-#  include <GLES2/gl2.h>
-#  include <GLES2/gl2ext.h>
+#  if $GLES3_H_DEFINE
+#   include <GLES3/gl3.h>
+#   include <GLES3/gl3ext.h>
+#  else
+#   include <GLES2/gl2.h>
+#   include <GLES2/gl2ext.h>
+#  endif
 # endif
 # ifdef __APPLE__
 #  include <OpenGL/OpenGL.h>
@@ -906,6 +924,7 @@
     else
       AC_MSG_WARN([Disabling GL|ES 2.0 support])
       HAVE_GLES2=no
+      HAVE_GLES3_H=no
     fi
   ])
   CFLAGS="$save_CFLAGS"
@@ -1149,6 +1168,9 @@
 if test "x$USE_GLES2" = "xyes"; then
   GL_APIS="gles2 $GL_APIS"
   GST_GL_HAVE_GLES2=1
+  if test "x$HAVE_GLES3_H" = "xyes"; then
+    GST_GL_HAVE_GLES3=1
+  fi
 fi
 
 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
@@ -1318,8 +1340,13 @@
 #  include <OpenGLES/ES2/gl.h>
 #  include <OpenGLES/ES2/glext.h>
 # else
-#  include <GLES2/gl2.h>
-#  include <GLES2/gl2ext.h>
+#  if $GST_GL_HAVE_GLES3
+#   include <GLES3/gl3.h>
+#   include <GLES3/gl3ext.h>
+#  else
+#   include <GLES2/gl2.h>
+#   include <GLES2/gl2ext.h>
+#  endif
 # endif
 "
 fi
@@ -1470,15 +1497,14 @@
 AM_CONDITIONAL(HAVE_JPEG, test "x$HAVE_JPEG" = "xyes")
 
 dnl Vulkan
-VULKAN_CONFIG_DEFINES=""
+PKG_CHECK_MODULES(XCB, xcb >= 1.10, GST_VULKAN_HAVE_WINDOW_XCB=1, GST_VULKAN_HAVE_WINDOW_XCB=0)
+AM_CONDITIONAL(USE_XCB, test "x$GST_VULKAN_HAVE_WINDOW_XCB" = "x1")
 
-PKG_CHECK_MODULES(XCB, xcb >= 1.10, HAVE_XCB=yes, HAVE_XCB=no)
-
-AM_CONDITIONAL(USE_XCB, test "x$HAVE_XCB" = "xyes")
-if test "x$HAVE_XCB" = "xyes"; then
-  VULKAN_CONFIG_DEFINES="$VULKAN_CONFIG_DEFINES
-  #define GST_VULKAN_HAVE_WINDOW_XCB 1"
-fi
+PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.4, GST_VULKAN_HAVE_WINDOW_WAYLAND=1, GST_VULKAN_HAVE_WINDOW_WAYLAND=0)
+AM_CONDITIONAL(USE_WAYLAND, test "x$GST_VULKAN_HAVE_WINDOW_WAYLAND" = "x1")
+VULKAN_CONFIG_DEFINES="
+#define GST_VULKAN_HAVE_WINDOW_XCB $GST_VULKAN_HAVE_WINDOW_XCB
+#define GST_VULKAN_HAVE_WINDOW_WAYLAND $GST_VULKAN_HAVE_WINDOW_WAYLAND"
 
 AC_CONFIG_COMMANDS([ext/vulkan/vkconfig.h], [
 	outfile=vkconfig.h-tmp
@@ -2311,6 +2337,14 @@
   AC_SUBST(TIGER_LIBS)
 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
 
+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)
+])
+
 dnl *** ladspa ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
@@ -2327,9 +2361,9 @@
 dnl *** LV2 ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
-  PKG_CHECK_MODULES(SLV2, slv2 >= 0.6.6, HAVE_LV2="yes", HAVE_LV2="no")
-  AC_SUBST(SLV2_CFLAGS)
-  AC_SUBST(SLV2_LIBS)
+  PKG_CHECK_MODULES(LILV, lilv-0 >= 0.6.6, HAVE_LV2="yes", HAVE_LV2="no")
+  AC_SUBST(LILV_CFLAGS)
+  AC_SUBST(LILV_LIBS)
 ])
 
 dnl *** libde265 ***
@@ -2657,21 +2691,17 @@
   dnl a new version and the no-backward-compatibility define. (There doesn't
   dnl seem to be a switch to suppress the warnings the cvcompat.h header
   dnl causes.)
-  PKG_CHECK_MODULES(OPENCV, opencv >= 2.3.0 opencv < 2.5.0 , [
+  PKG_CHECK_MODULES(OPENCV, opencv >= 2.3.0 opencv <= 3.1.0 , [
     AC_PROG_CXX
     AC_LANG([C++])
     OLD_CPPFLAGS=$CPPFLAGS
     CPPFLAGS=$OPENCV_CFLAGS
     something_not_found=no
-    AC_CHECK_HEADERS([opencv2/contrib/contrib.hpp \
-                      opencv2/core/core_c.h \
-                      opencv2/core/types_c.h \
+    AC_CHECK_HEADERS([opencv2/core/core_c.h \
                       opencv2/core/version.hpp \
                       opencv2/highgui/highgui_c.h \
                       opencv2/imgproc/imgproc.hpp \
                       opencv2/imgproc/imgproc_c.h \
-                      opencv2/legacy/compat.hpp \
-                      opencv2/legacy/legacy.hpp \
                       opencv2/objdetect/objdetect.hpp \
                       opencv2/video/background_segm.hpp], [], [something_not_found=yes])
     CPPFLAGS=$OLD_CPPFLAGS
@@ -2842,6 +2872,12 @@
       else
         HAVE_QT="yes"
         HAVE_QT_WINDOWING="no"
+        QT_VERSION="`$PKG_CONFIG --modversion Qt5Core`"
+        QPA_INCLUDE_PATH=`$PKG_CONFIG --variable=includedir Qt5Core`/QtGui/${QT_VERSION}/QtGui
+        AS_IF([test -f "$QPA_INCLUDE_PATH/qpa/qplatformnativeinterface.h"], [
+          QT_CFLAGS="$QT_CFLAGS -I$QPA_INCLUDE_PATH"
+          HAVE_QT_QPA_HEADER="yes"
+        ], [AC_MSG_NOTICE([Cannot find QPA])])
         if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
           PKG_CHECK_MODULES(QT_X11, Qt5X11Extras, [
             AC_DEFINE([HAVE_QT_X11], [], [Define if Qt X11 integration is installed])
@@ -2850,7 +2886,7 @@
             HAVE_QT_WINDOWING="yes"
           ], [AC_MSG_NOTICE([Could not find Qt X11 integration])])
         fi
-        if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
+        if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1" -a "x$HAVE_QT_QPA_HEADER" = "xyes"; then
           PKG_CHECK_MODULES(QT_WAYLAND, Qt5WaylandClient, [
             AC_DEFINE([HAVE_QT_WAYLAND], [],
                 [Define if Qt Wayland integration is installed])
@@ -2859,24 +2895,29 @@
             HAVE_QT_WINDOWING="yes"
           ], [AC_MSG_NOTICE([Could not find Qt Wayland integration])])
         fi
-        if test "x$GST_GL_HAVE_WINDOW_ANDROID" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
-          PKG_CHECK_MODULES(QT_ANDROID, Qt5AndroidExtras, [
-            # c++ on android requires a standard library and there are multiple
-            # choices.  cerbero provides a pkg-config file the describes a choice
-            # so try to use that.  Outside cerbero one has to pass these flags
-            # manually for the library one is using
-            PKG_CHECK_MODULES(GNUSTL, gnustl, [
-              QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
-              QT_LIBS="$QT_LIBS $GNUSTL_LIBS"
-              ], [
-              AC_MSG_NOTICE([Could not find Standard C++ library])])
-
-            AC_DEFINE([HAVE_QT_ANDROID], [],
-                [Define if Qt Android integration is installed])
-            QT_CFLAGS="$QT_CFLAGS $QT_ANDROID_CFLAGS"
-            QT_LIBS="$QT_LIBS $QT_ANDROID_LIBS"
-            HAVE_QT_WINDOWING="yes"
-          ], [AC_MSG_NOTICE([Could not find Qt Android integration])])
+        if test "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
+          if test "x$GST_GL_HAVE_WINDOW_ANDROID" = "x1"; then
+            PKG_CHECK_MODULES(QT_ANDROID, Qt5AndroidExtras, [
+              # c++ on android requires a standard library and there are multiple
+              # choices.  cerbero provides a pkg-config file the describes a choice
+              # so try to use that.  Outside cerbero one has to pass these flags
+              # manually for the library one is using
+              PKG_CHECK_MODULES(GNUSTL, gnustl, [
+                QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
+                QT_LIBS="$QT_LIBS $GNUSTL_LIBS"
+                ], [
+                AC_MSG_NOTICE([Could not find Standard C++ library])])
+              AC_DEFINE([HAVE_QT_EGLFS], [],
+                [Define if Qt eglfs integration is installed])
+              QT_CFLAGS="$QT_CFLAGS $QT_ANDROID_CFLAGS"
+              QT_LIBS="$QT_LIBS $QT_ANDROID_LIBS"
+              HAVE_QT_WINDOWING="yes"
+            ], [AC_MSG_NOTICE([Could not find Qt Android integration])])
+          else
+              AC_DEFINE([HAVE_QT_EGLFS], [],
+                [Define if Qt eglfs integration is installed])
+              HAVE_QT_WINDOWING="yes"
+          fi
         fi
         if test "x$GST_GL_HAVE_WINDOW_COCOA" = "x1" -a "x$GST_GL_HAVE_PLATFORM_CGL" = "x1"; then
           PKG_CHECK_MODULES(QT_MAC, Qt5MacExtras, [
@@ -3323,6 +3364,19 @@
   AG_GST_PKG_CHECK_MODULES(X265, x265)
 ])
 
+dnl *** WebRTC Audio Processing ***
+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, [
+  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=$old_CPPFLAGS
+  AC_LANG_POP([C++])
+])
+
 else
 
 dnl not building plugins with external dependencies,
@@ -3358,6 +3412,7 @@
 AM_CONDITIONAL(USE_GTK3_GL, false)
 AM_CONDITIONAL(USE_HLS, false)
 AM_CONDITIONAL(USE_KATE, false)
+AM_CONDITIONAL(USE_KMS, false)
 AM_CONDITIONAL(USE_TIGER, false)
 AM_CONDITIONAL(USE_LADSPA, false)
 AM_CONDITIONAL(USE_LV2, false)
@@ -3448,7 +3503,7 @@
 dnl prefer internal headers to already installed ones
 dnl also add builddir include for enumtypes and marshal
 dnl add GST_OPTION_CFLAGS, but overridable
-GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
+GST_CFLAGS="$GST_CFLAGS $GST_STATIC_CFLAGS -DGST_USE_UNSTABLE_API"
 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
 GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
@@ -3604,6 +3659,7 @@
 sys/dshowvideosink/Makefile
 sys/dvb/Makefile
 sys/fbdev/Makefile
+sys/kms/Makefile
 sys/linsys/Makefile
 sys/nvenc/Makefile
 sys/opensles/Makefile
@@ -3634,7 +3690,6 @@
 tests/examples/gl/generic/doublecube/Makefile
 tests/examples/gl/generic/recordgraphic/Makefile
 tests/examples/gl/gtk/Makefile
-tests/examples/gl/gtk/gtkvideooverlay/Makefile
 tests/examples/gl/gtk/3dvideo/Makefile
 tests/examples/gl/gtk/filternovideooverlay/Makefile
 tests/examples/gl/gtk/filtervideooverlay/Makefile
@@ -3712,11 +3767,13 @@
 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
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 052f2d0..df8e4f1 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -275,6 +275,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -490,6 +492,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -616,8 +620,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -662,6 +664,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/docs/libs/Makefile.in b/docs/libs/Makefile.in
index dec78aa..d97c7d2 100644
--- a/docs/libs/Makefile.in
+++ b/docs/libs/Makefile.in
@@ -237,6 +237,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -452,6 +454,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -578,8 +582,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -624,6 +626,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -1143,7 +1147,11 @@
 
 @ENABLE_GTK_DOC_TRUE@sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(expand_content_files)
 @ENABLE_GTK_DOC_TRUE@	@echo '  DOC   Building XML'
-@ENABLE_GTK_DOC_TRUE@	@gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)  --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) --output-format=xml $(MKDB_OPTIONS)
+@ENABLE_GTK_DOC_TRUE@	@_source_dir='' ;						\
+@ENABLE_GTK_DOC_TRUE@	for i in $(DOC_SOURCE_DIR) ; do					\
+@ENABLE_GTK_DOC_TRUE@	    _source_dir="$${_source_dir} --source-dir=$$i" ;	        \
+@ENABLE_GTK_DOC_TRUE@	done ;							        \
+@ENABLE_GTK_DOC_TRUE@	gtkdoc-mkdb --module=$(DOC_MODULE) $$(_source_dir)  --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) --output-format=xml $(MKDB_OPTIONS)
 @ENABLE_GTK_DOC_TRUE@	@cp ../version.entities xml
 @ENABLE_GTK_DOC_TRUE@	@touch sgml-build.stamp
 
diff --git a/docs/libs/gst-plugins-bad-libs-sections.txt b/docs/libs/gst-plugins-bad-libs-sections.txt
index 922da0f..fdcdf2e 100644
--- a/docs/libs/gst-plugins-bad-libs-sections.txt
+++ b/docs/libs/gst-plugins-bad-libs-sections.txt
@@ -1184,6 +1184,7 @@
 gst_gl_video_allocation_params_init_full
 gst_gl_video_allocation_params_new
 gst_gl_video_allocation_params_new_wrapped_data
+gst_gl_video_allocation_params_new_wrapped_gl_handle
 gst_gl_video_allocation_params_new_wrapped_texture
 GstGLMemoryAllocator
 GstGLMemoryAllocatorClass
@@ -1660,7 +1661,7 @@
 GST_VIDEO_AGGREGATOR
 GST_VIDEO_AGGREGATOR_CLASS
 GST_VIDEO_AGGREGATOR_GET_CLASS
-gst_videoaggregator_get_type
+gst_video_aggregator_get_type
 GstVideoAggregatorPrivate
 </SECTION>
 
@@ -1676,7 +1677,7 @@
 GST_VIDEO_AGGREGATOR_PAD
 GST_VIDEO_AGGREGATOR_PAD_CLASS
 GST_VIDEO_AGGREGATOR_PAD_GET_CLASS
-gst_videoaggregator_pad_get_type
+gst_video_aggregator_pad_get_type
 </SECTION>
 
 <SECTION>
@@ -1745,6 +1746,14 @@
 gst_player_set_color_balance
 gst_player_get_color_balance
 
+gst_player_get_multiview_mode
+gst_player_set_multiview_mode
+gst_player_get_multiview_flags
+gst_player_set_multiview_flags
+
+gst_player_get_audio_video_offset
+gst_player_set_audio_video_offset
+
 gst_player_get_rate
 gst_player_set_rate
 
@@ -1858,6 +1867,7 @@
 gst_player_media_info_get_title
 gst_player_media_info_get_container_format
 gst_player_media_info_is_seekable
+gst_player_media_info_is_live
 gst_player_media_info_get_image_sample
 gst_player_media_info_get_tags
 gst_player_media_info_get_stream_list
diff --git a/docs/libs/html/GstGLBaseFilter.html b/docs/libs/html/GstGLBaseFilter.html
index ad644db..c5f480e 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 — <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>
+<p>GstGLBaseFilter</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -81,10 +81,6 @@
 </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>
@@ -95,17 +91,6 @@
 <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">
@@ -119,39 +104,6 @@
   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">
@@ -163,10 +115,6 @@
 <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 7ada86d..9142729 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 — buffer pool for <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> objects</p>
+<p>GstGLBufferPool</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -97,10 +97,6 @@
 </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>
@@ -108,25 +104,6 @@
 <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">
@@ -134,26 +111,6 @@
 <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">
@@ -162,31 +119,6 @@
 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">
@@ -194,7 +126,6 @@
 <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">
@@ -203,13 +134,8 @@
   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 6f32eab..03f84cf 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 — an object that converts between color spaces/formats</p>
+<p>GstGLColorConvert</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -128,9 +128,6 @@
 </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>
@@ -138,25 +135,6 @@
 <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">
@@ -165,35 +143,6 @@
 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">
@@ -227,35 +176,6 @@
 <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">
@@ -263,19 +183,16 @@
 <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">
@@ -284,13 +201,8 @@
   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 4bf6a87..3b4c25a 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 — OpenGL context abstraction</p>
+<p>GstGLContext</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -300,9 +300,6 @@
 </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>
@@ -317,59 +314,12 @@
 <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">
@@ -379,47 +329,6 @@
                             <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">
@@ -428,71 +337,12 @@
 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">
@@ -500,37 +350,6 @@
 <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">
@@ -546,38 +365,6 @@
 <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">
@@ -593,26 +380,6 @@
 <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">
@@ -620,39 +387,6 @@
 <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">
@@ -661,178 +395,36 @@
 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">
@@ -841,71 +433,12 @@
 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">
@@ -913,63 +446,12 @@
 <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">
@@ -977,32 +459,6 @@
 <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">
@@ -1010,37 +466,6 @@
 <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">
@@ -1050,44 +475,6 @@
                                  <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">
@@ -1096,39 +483,6 @@
 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">
@@ -1136,38 +490,12 @@
 <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">
@@ -1227,13 +555,8 @@
 <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 77eb76b..c567285 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 — window system display connection abstraction</p>
+<p>GstGLDisplay</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -173,26 +173,6 @@
 </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>
@@ -200,39 +180,12 @@
 <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">
@@ -240,60 +193,12 @@
 <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">
@@ -301,37 +206,6 @@
 <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">
@@ -340,36 +214,6 @@
 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">
@@ -385,44 +229,6 @@
                                <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">
@@ -430,35 +236,6 @@
 <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">
@@ -466,32 +243,6 @@
 <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">
@@ -515,59 +266,43 @@
 <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 class="enum_member_description">
-<p>no display type</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>X11 display</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Wayland display</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Cocoa display</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Win32 display</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Dispmanx display</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>EGL display</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>any display type</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -577,8 +312,6 @@
 <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">
@@ -586,51 +319,12 @@
 <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> *object,
-               <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context,
+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,
                <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 5915661..8d88e45 100644
--- a/docs/libs/html/GstGLFilter.html
+++ b/docs/libs/html/GstGLFilter.html
@@ -117,43 +117,6 @@
                             <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>
-<p>Draws <em class="parameter"><code>texture</code></em>
- into the OpenGL scene at the specified <em class="parameter"><code>width</code></em>
- and <em class="parameter"><code>height</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-gl-filter-draw-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>texture</p></td>
-<td class="parameter_description"><p>the texture to draw</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>texture</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 texture</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -165,61 +128,6 @@
                                 <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 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.  <em class="parameter"><code>resize</code></em>
- should
-only ever be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> whenever <em class="parameter"><code>input</code></em>
- is the input texture of <em class="parameter"><code>filter</code></em>
-.</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>resize</p></td>
-<td class="parameter_description"><p>whether to automatically resize the texture between the input size
-and the output size</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>target</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>
 <hr>
 <div class="refsect2">
@@ -231,53 +139,6 @@
                                 <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="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>
- on FBO.  <em class="parameter"><code>resize</code></em>
- should
-only ever be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> whenever <em class="parameter"><code>input</code></em>
- is the input texture of <em class="parameter"><code>filter</code></em>
-.</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>resize</p></td>
-<td class="parameter_description"><p>whether to automatically resize the texture between the input size
-and the output size</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>target</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">
@@ -286,39 +147,6 @@
 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">
@@ -326,20 +154,6 @@
 <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">
@@ -360,63 +174,6 @@
   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/GstGLShader.html b/docs/libs/html/GstGLShader.html
index e7152fa..44388c9 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 — object representing an OpenGL shader program</p>
+<p>GstGLShader</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -425,28 +425,6 @@
 <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">
@@ -454,36 +432,6 @@
 <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">
@@ -492,46 +440,6 @@
 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">
@@ -540,144 +448,30 @@
 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">
@@ -685,41 +479,6 @@
 <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">
@@ -727,41 +486,6 @@
 <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">
@@ -770,44 +494,6 @@
 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">
@@ -815,36 +501,6 @@
 <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">
@@ -852,64 +508,12 @@
 <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">
@@ -917,37 +521,6 @@
 <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">
@@ -1226,10 +799,6 @@
 <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 2c66ebd..80e21a8 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 — an object that uploads to GL textures</p>
+<p>GstGLUpload</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -122,8 +122,6 @@
 </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>
@@ -131,25 +129,6 @@
 <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">
@@ -158,38 +137,6 @@
 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">
@@ -198,42 +145,6 @@
 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">
@@ -242,34 +153,6 @@
 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">
@@ -287,41 +170,6 @@
 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">
@@ -335,13 +183,8 @@
 <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 4ce4cb6..3845f6a 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 — window/surface abstraction</p>
+<p>GstGLWindow</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -283,8 +283,6 @@
 </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>
@@ -324,175 +322,42 @@
 <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">
@@ -501,39 +366,6 @@
 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">
@@ -543,45 +375,6 @@
                                   <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">
@@ -591,42 +384,6 @@
                                   <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">
@@ -636,42 +393,6 @@
                                  <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">
@@ -681,42 +402,6 @@
                                    <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">
@@ -724,58 +409,12 @@
 <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">
@@ -784,59 +423,12 @@
 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">
@@ -845,34 +437,6 @@
 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">
@@ -880,35 +444,6 @@
 <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">
@@ -953,8 +488,6 @@
 <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">
@@ -980,99 +513,6 @@
   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">
@@ -1080,107 +520,25 @@
 <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> *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,
+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,
                <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> *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,
+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,
                <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 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">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/annotation-glossary.html b/docs/libs/html/annotation-glossary.html
deleted file mode 100644
index 8780676..0000000
--- a/docs/libs/html/annotation-glossary.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Annotation Glossary: GStreamer 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 fbcd723..8361576 100644
--- a/docs/libs/html/api-index-deprecated.html
+++ b/docs/libs/html/api-index-deprecated.html
@@ -7,7 +7,6 @@
 <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>
@@ -17,7 +16,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><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
 </tr></table>
 <div class="index">
 <div class="titlepage"><div><div><h1 class="title">
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
index 94ff3e1..89ed096 100644
--- a/docs/libs/html/api-index-full.html
+++ b/docs/libs/html/api-index-full.html
@@ -216,10 +216,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html#GST-CAPS-FEATURE-MEMORY-EGL-IMAGE:CAPS" title="GST_CAPS_FEATURE_MEMORY_EGL_IMAGE">GST_CAPS_FEATURE_MEMORY_EGL_IMAGE</a>, macro in <a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html" title="GstEGLImageMemory">GstEGLImageMemory</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gst-plugins-bad-libs-GstGLBuffer.html#GST-CAPS-FEATURE-MEMORY-GL-BUFFER:CAPS" title="GST_CAPS_FEATURE_MEMORY_GL_BUFFER">GST_CAPS_FEATURE_MEMORY_GL_BUFFER</a>, macro in <a class="link" href="gst-plugins-bad-libs-GstGLBuffer.html" title="GstGLBuffer">GstGLBuffer</a>
 </dt>
 <dd></dd>
@@ -266,35 +262,7 @@
 <dd></dd>
 <a name="idxE"></a><h3 class="title">E</h3>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-get-display" title="gst_egl_image_memory_get_display ()">gst_egl_image_memory_get_display</a>, function in <a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html" title="GstEGLImageMemory">GstEGLImageMemory</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-get-image" title="gst_egl_image_memory_get_image ()">gst_egl_image_memory_get_image</a>, function in <a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html" title="GstEGLImageMemory">GstEGLImageMemory</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-get-orientation" title="gst_egl_image_memory_get_orientation ()">gst_egl_image_memory_get_orientation</a>, function in <a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html" title="GstEGLImageMemory">GstEGLImageMemory</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-init" title="gst_egl_image_memory_init ()">gst_egl_image_memory_init</a>, function in <a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html" title="GstEGLImageMemory">GstEGLImageMemory</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-setup-buffer" title="gst_egl_image_memory_setup_buffer ()">gst_egl_image_memory_setup_buffer</a>, function in <a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html" title="GstEGLImageMemory">GstEGLImageMemory</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-set-orientation" title="gst_egl_image_memory_set_orientation ()">gst_egl_image_memory_set_orientation</a>, function in <a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html" title="GstEGLImageMemory">GstEGLImageMemory</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html#GST-EGL-IMAGE-MEMORY-TYPE:CAPS" title="GST_EGL_IMAGE_MEMORY_TYPE">GST_EGL_IMAGE_MEMORY_TYPE</a>, macro in <a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html" title="GstEGLImageMemory">GstEGLImageMemory</a>
-</dt>
-<dd></dd>
-<dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <a name="idxG"></a><h3 class="title">G</h3>
@@ -315,11 +283,11 @@
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
@@ -811,47 +779,47 @@
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
@@ -991,10 +959,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-del-texture" title="gst_gl_context_del_texture ()">gst_gl_context_del_texture</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-destroy" title="gst_gl_context_destroy ()">gst_gl_context_destroy</a>, function in <a class="link" href="GstGLContext.html" title="GstGLContext">GstGLContext</a>
 </dt>
 <dd></dd>
@@ -1039,10 +1003,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-gen-texture" title="gst_gl_context_gen_texture ()">gst_gl_context_gen_texture</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-current" title="gst_gl_context_get_current ()">gst_gl_context_get_current</a>, function in <a class="link" href="GstGLContext.html" title="GstGLContext">GstGLContext</a>
 </dt>
 <dd></dd>
@@ -1235,10 +1195,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-generate-texture-full" title="gst_gl_generate_texture_full ()">gst_gl_generate_texture_full</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-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>
@@ -1255,7 +1211,7 @@
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
@@ -1647,6 +1603,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-new-wrapped-gl-handle" title="gst_gl_video_allocation_params_new_wrapped_gl_handle ()">gst_gl_video_allocation_params_new_wrapped_gl_handle</a>, function in <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html" title="GstGLMemory">GstGLMemory</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-new-wrapped-texture" title="gst_gl_video_allocation_params_new_wrapped_texture ()">gst_gl_video_allocation_params_new_wrapped_texture</a>, function in <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html" title="GstGLMemory">GstGLMemory</a>
 </dt>
 <dd></dd>
@@ -2049,10 +2009,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-is-egl-image-memory" title="gst_is_egl_image_memory ()">gst_is_egl_image_memory</a>, function in <a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html" title="GstEGLImageMemory">GstEGLImageMemory</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#gst-is-gl-base-memory" title="gst_is_gl_base_memory ()">gst_is_gl_base_memory</a>, function in <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html" title="GstGLBaseMemory">GstGLBaseMemory</a>
 </dt>
 <dd></dd>
@@ -2191,11 +2147,11 @@
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
@@ -2311,647 +2267,647 @@
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
@@ -3340,6 +3296,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer-uri-loaded" title="The “uri-loaded” signal">GstPlayer::uri-loaded</a>, object signal 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-video-dimensions-changed" title="The “video-dimensions-changed” signal">GstPlayer::video-dimensions-changed</a>, object signal in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
 </dt>
 <dd></dd>
@@ -3352,6 +3312,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer--audio-video-offset" title="The “audio-video-offset” property">GstPlayer:audio-video-offset</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--current-audio-track" title="The “current-audio-track” property">GstPlayer:current-audio-track</a>, object property in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
 </dt>
 <dd></dd>
@@ -3404,6 +3368,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer--video-multiview-flags" title="The “video-multiview-flags” property">GstPlayer:video-multiview-flags</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--video-multiview-mode" title="The “video-multiview-mode” property">GstPlayer:video-multiview-mode</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--video-renderer" title="The “video-renderer” property">GstPlayer:video-renderer</a>, object property in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
 </dt>
 <dd></dd>
@@ -3500,6 +3472,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-get-audio-video-offset" title="gst_player_get_audio_video_offset ()">gst_player_get_audio_video_offset</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-color-balance" title="gst_player_get_color_balance ()">gst_player_get_color_balance</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
 </dt>
 <dd></dd>
@@ -3528,6 +3504,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-get-multiview-flags" title="gst_player_get_multiview_flags ()">gst_player_get_multiview_flags</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-multiview-mode" title="gst_player_get_multiview_mode ()">gst_player_get_multiview_mode</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-mute" title="gst_player_get_mute ()">gst_player_get_mute</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
 </dt>
 <dd></dd>
@@ -3604,6 +3588,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#gst-player-media-info-is-live" title="gst_player_media_info_is_live ()">gst_player_media_info_is_live</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html" title="gstplayer-mediainfo">gstplayer-mediainfo</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#gst-player-media-info-is-seekable" title="gst_player_media_info_is_seekable ()">gst_player_media_info_is_seekable</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html" title="gstplayer-mediainfo">gstplayer-mediainfo</a>
 </dt>
 <dd></dd>
@@ -3632,10 +3620,22 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-set-audio-video-offset" title="gst_player_set_audio_video_offset ()">gst_player_set_audio_video_offset</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-color-balance" title="gst_player_set_color_balance ()">gst_player_set_color_balance</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>
+<dt>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-set-multiview-mode" title="gst_player_set_multiview_mode ()">gst_player_set_multiview_mode</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-mute" title="gst_player_set_mute ()">gst_player_set_mute</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 2bc7751..6efd348 100644
--- a/docs/libs/html/base.html
+++ b/docs/libs/html/base.html
@@ -24,8 +24,7 @@
 <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"> — manages a set of pads with the purpose of
-aggregating their buffers.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstAggregator.html">GstAggregator</a></span><span class="refpurpose"></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 985917d..3daceb5 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"> — Interface for digital image capture elements</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstPhotography.html">GstPhotography</a></span><span class="refpurpose"></span>
 </dt></dl></div>
 </div>
 <div class="footer">
diff --git a/docs/libs/html/codecparsers.html b/docs/libs/html/codecparsers.html
index f03fbe0..35dd0ea 100644
--- a/docs/libs/html/codecparsers.html
+++ b/docs/libs/html/codecparsers.html
@@ -24,23 +24,19 @@
 <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"> — Convenience library for h264 video
-bitstream parsing.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-h264parser.html">h264parser</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-jpegparser.html">jpegparser</a></span><span class="refpurpose"> — Convenience library for JPEG bitstream parsing.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-jpegparser.html">jpegparser</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpegvideoparser.html">mpegvideoparser</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpeg4parser.html">mpeg4parser</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-vc1parser.html">vc1parser</a></span><span class="refpurpose"></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 236e3be..6e5d70a 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"> — memory subclass for GL buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglbasememory.html">GstGLBaseMemory</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLBaseFilter.html">GstGLBaseFilter</a></span><span class="refpurpose"> — <span class="type">GstBaseTransform</span> subclass for transformin OpenGL resources</span>
+<span class="refentrytitle"><a href="GstGLBaseFilter.html">GstGLBaseFilter</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLBuffer.html">GstGLBuffer</a></span><span class="refpurpose"> — memory subclass for GL buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLBuffer.html">GstGLBuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLBufferPool.html">GstGLBufferPool</a></span><span class="refpurpose"> — buffer pool for <span class="type">GstGLMemory</span> objects</span>
+<span class="refentrytitle"><a href="GstGLBufferPool.html">GstGLBufferPool</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"> — an object that converts between color spaces/formats</span>
+<span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLContext.html">GstGLContext</a></span><span class="refpurpose"> — OpenGL context abstraction</span>
+<span class="refentrytitle"><a href="GstGLContext.html">GstGLContext</a></span><span class="refpurpose"></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"> — window system display connection abstraction</span>
+<span class="refentrytitle"><a href="GstGLDisplay.html">GstGLDisplay</a></span><span class="refpurpose"></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"> — memory subclass for GL textures</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLMemory.html">GstGLMemory</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglmemorypbo.html">GstGLMemoryPBO</a></span><span class="refpurpose"> — memory subclass for GL textures</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglmemorypbo.html">GstGLMemoryPBO</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLShader.html">GstGLShader</a></span><span class="refpurpose"> — object representing an OpenGL shader program</span>
+<span class="refentrytitle"><a href="GstGLShader.html">GstGLShader</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSL.html">GstGLSL</a></span><span class="refpurpose"> — helpers for dealing with OpenGL shaders</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSL.html">GstGLSL</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href=".html">GstGLSLStage</a></span><span class="refpurpose"> — object for dealing with OpenGL shader stages</span>
+<span class="refentrytitle"><a href=".html"></a></span><span class="refpurpose"></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"> — an object that uploads to GL textures</span>
+<span class="refentrytitle"><a href="GstGLUpload.html">GstGLUpload</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLWindow.html">GstGLWindow</a></span><span class="refpurpose"> — window/surface abstraction</span>
+<span class="refentrytitle"><a href="GstGLWindow.html">GstGLWindow</a></span><span class="refpurpose"></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-OpenGL-debugging.html">OpenGL debugging</a></span><span class="refpurpose"> — helper routines for dealing with OpenGL debugging</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstgldebug.html">OpenGL Debugging</a></span><span class="refpurpose"></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 ef0bc7c..0be1ec3 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="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 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>
       <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="GstGLSLStage" link=".html"/>
+        <sub name="" 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-OpenGL-debugging.html"/>
+        <sub name="OpenGL Debugging" link="gst-plugins-bad-libs-gstgldebug.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,7 +81,6 @@
     <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"/>
@@ -100,11 +99,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" 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_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_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"/>
@@ -127,44 +126,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" 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_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_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" 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="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="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" 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="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="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="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_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_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="Use gst_mpeg_video_packet_parse_quant_matrix_extension() instead."/>
+    <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_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" 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="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="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"/>
@@ -241,183 +240,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" since="1.2"/>
+    <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="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" 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="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="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" 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="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="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"/>
@@ -453,26 +452,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" 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_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_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" since="1.8"/>
+    <keyword type="function" name="gst_gl_base_memory_memcpy ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-base-memory-memcpy"/>
     <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" 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="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="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"/>
@@ -486,10 +485,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" 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_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_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" since="1.8"/>
+    <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="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"/>
@@ -514,32 +513,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" 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_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_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" since="1.4"/>
+    <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_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" 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="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="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"/>
@@ -562,29 +561,20 @@
     <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" 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_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_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" 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_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_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" 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="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="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_egl_image_memory_init ()" link="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-init"/>
-    <keyword type="function" name="gst_egl_image_memory_get_display ()" link="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-get-display"/>
-    <keyword type="function" name="gst_egl_image_memory_get_image ()" link="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-get-image"/>
-    <keyword type="function" name="gst_egl_image_memory_get_orientation ()" link="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-get-orientation"/>
-    <keyword type="function" name="gst_egl_image_memory_set_orientation ()" link="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-set-orientation"/>
-    <keyword type="function" name="gst_egl_image_memory_setup_buffer ()" link="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-setup-buffer"/>
-    <keyword type="function" name="gst_is_egl_image_memory ()" link="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-is-egl-image-memory"/>
-    <keyword type="macro" name="GST_EGL_IMAGE_MEMORY_TYPE" link="gst-plugins-bad-libs-GstEGLImageMemory.html#GST-EGL-IMAGE-MEMORY-TYPE:CAPS"/>
-    <keyword type="macro" name="GST_CAPS_FEATURE_MEMORY_EGL_IMAGE" link="gst-plugins-bad-libs-GstEGLImageMemory.html#GST-CAPS-FEATURE-MEMORY-EGL-IMAGE:CAPS"/>
     <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"/>
@@ -597,26 +587,27 @@
     <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="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" 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_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_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_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" 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="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="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"/>
@@ -624,9 +615,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" 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_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_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"/>
@@ -634,20 +625,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" 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_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_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" 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_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_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"/>
@@ -714,23 +705,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" 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_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_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"/>
@@ -761,27 +752,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-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="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="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_texture ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-gen-texture"/>
-    <keyword type="function" name="gst_gl_context_del_texture ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-del-texture"/>
     <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"/>
@@ -791,7 +780,6 @@
     <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_generate_texture_full ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-generate-texture-full"/>
     <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"/>
     <keyword type="function" name="gst_gl_get_plane_data_size ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-get-plane-data-size"/>
@@ -811,7 +799,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" since="1.8"/>
+    <keyword type="enum" name="enum GstGLTextureTarget" link="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget"/>
     <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"/>
@@ -858,6 +846,12 @@
     <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_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="struct" name="GstPlayer" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer-struct"/>
@@ -869,6 +863,7 @@
     <keyword type="struct" name="struct GstPlayerSignalDispatcherInterface" link="gst-plugins-bad-libs-gstplayer.html#GstPlayerSignalDispatcherInterface"/>
     <keyword type="struct" name="GstPlayerVideoRenderer" link="gst-plugins-bad-libs-gstplayer.html#GstPlayerVideoRenderer-struct"/>
     <keyword type="struct" name="struct GstPlayerVideoRendererInterface" link="gst-plugins-bad-libs-gstplayer.html#GstPlayerVideoRendererInterface"/>
+    <keyword type="property" name="The “audio-video-offset” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--audio-video-offset"/>
     <keyword type="property" name="The “current-audio-track” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--current-audio-track"/>
     <keyword type="property" name="The “current-subtitle-track” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--current-subtitle-track"/>
     <keyword type="property" name="The “current-video-track” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--current-video-track"/>
@@ -882,6 +877,8 @@
     <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"/>
     <keyword type="property" name="The “uri” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--uri"/>
+    <keyword type="property" name="The “video-multiview-flags” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--video-multiview-flags"/>
+    <keyword type="property" name="The “video-multiview-mode” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--video-multiview-mode"/>
     <keyword type="property" name="The “video-renderer” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--video-renderer"/>
     <keyword type="property" name="The “volume” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--volume"/>
     <keyword type="signal" name="The “buffering” signal" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer-buffering"/>
@@ -893,6 +890,7 @@
     <keyword type="signal" name="The “position-updated” signal" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer-position-updated"/>
     <keyword type="signal" name="The “seek-done” signal" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer-seek-done"/>
     <keyword type="signal" name="The “state-changed” signal" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer-state-changed"/>
+    <keyword type="signal" name="The “uri-loaded” signal" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer-uri-loaded"/>
     <keyword type="signal" name="The “video-dimensions-changed” signal" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer-video-dimensions-changed"/>
     <keyword type="signal" name="The “volume-changed” signal" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer-volume-changed"/>
     <keyword type="signal" name="The “warning” signal" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer-warning"/>
@@ -901,6 +899,7 @@
     <keyword type="function" name="gst_player_media_info_get_title ()" link="gst-plugins-bad-libs-gstplayer-mediainfo.html#gst-player-media-info-get-title"/>
     <keyword type="function" name="gst_player_media_info_get_container_format ()" link="gst-plugins-bad-libs-gstplayer-mediainfo.html#gst-player-media-info-get-container-format"/>
     <keyword type="function" name="gst_player_media_info_is_seekable ()" link="gst-plugins-bad-libs-gstplayer-mediainfo.html#gst-player-media-info-is-seekable"/>
+    <keyword type="function" name="gst_player_media_info_is_live ()" link="gst-plugins-bad-libs-gstplayer-mediainfo.html#gst-player-media-info-is-live"/>
     <keyword type="function" name="gst_player_media_info_get_image_sample ()" link="gst-plugins-bad-libs-gstplayer-mediainfo.html#gst-player-media-info-get-image-sample"/>
     <keyword type="function" name="gst_player_media_info_get_tags ()" link="gst-plugins-bad-libs-gstplayer-mediainfo.html#gst-player-media-info-get-tags"/>
     <keyword type="function" name="gst_player_media_info_get_stream_list ()" link="gst-plugins-bad-libs-gstplayer-mediainfo.html#gst-player-media-info-get-stream-list"/>
@@ -1213,463 +1212,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-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_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_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"/>
@@ -1835,556 +1834,5 @@
     <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" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.fps-num"/>
-    <keyword type="member" name="GstH264SPS.fps-den" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.fps-den"/>
-    <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.intra-quantizer-matrix" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.intra-quantizer-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.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-ATSC-variants-of-MPEG-TS-sections.html b/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html
deleted file mode 100644
index dd8df26..0000000
--- a/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html
+++ /dev/null
@@ -1,995 +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>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
deleted file mode 100644
index deb2cbe..0000000
--- a/docs/libs/html/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html
+++ /dev/null
@@ -1,938 +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>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
deleted file mode 100644
index c521b5a..0000000
--- a/docs/libs/html/gst-plugins-bad-libs-Base-MPEG-TS-sections.html
+++ /dev/null
@@ -1,1475 +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>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
deleted file mode 100644
index 7cff3fe..0000000
--- a/docs/libs/html/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html
+++ /dev/null
@@ -1,4033 +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>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
deleted file mode 100644
index 10563a6..0000000
--- a/docs/libs/html/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html
+++ /dev/null
@@ -1,1131 +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>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 ca5e940..594b1b0 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstAggregator.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstAggregator.html
@@ -27,8 +27,7 @@
 <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 — manages a set of pads with the purpose of
-aggregating their buffers.</p>
+<p>GstAggregator</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -96,42 +95,6 @@
 </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>
@@ -140,31 +103,6 @@
 <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">
@@ -172,29 +110,6 @@
 <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">
@@ -203,68 +118,12 @@
 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">
@@ -280,34 +139,6 @@
   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">
@@ -359,132 +190,9 @@
                                         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 e3564ee..8b474f87 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstAggregatorPad.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstAggregatorPad.html
@@ -102,87 +102,18 @@
 <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">
@@ -209,44 +140,6 @@
   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">
@@ -257,24 +150,6 @@
   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-GstEGLImageMemory.html b/docs/libs/html/gst-plugins-bad-libs-GstEGLImageMemory.html
index 8143490..166bb00 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstEGLImageMemory.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstEGLImageMemory.html
@@ -32,154 +32,14 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="gst-plugins-bad-libs-GstEGLImageMemory.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-GstEGLImageMemory.html#gst-egl-image-memory-init" title="gst_egl_image_memory_init ()">gst_egl_image_memory_init</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">EGLDisplay</span>
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-get-display" title="gst_egl_image_memory_get_display ()">gst_egl_image_memory_get_display</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">EGLImageKHR</span>
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-get-image" title="gst_egl_image_memory_get_image ()">gst_egl_image_memory_get_image</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GstVideoGLTextureOrientation</span>
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html#gst-egl-image-memory-get-orientation" title="gst_egl_image_memory_get_orientation ()">gst_egl_image_memory_get_orientation</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-GstEGLImageMemory.html#gst-egl-image-memory-set-orientation" title="gst_egl_image_memory_set_orientation ()">gst_egl_image_memory_set_orientation</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-GstEGLImageMemory.html#gst-egl-image-memory-setup-buffer" title="gst_egl_image_memory_setup_buffer ()">gst_egl_image_memory_setup_buffer</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-GstEGLImageMemory.html#gst-is-egl-image-memory" title="gst_is_egl_image_memory ()">gst_is_egl_image_memory</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-GstEGLImageMemory.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="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html#GST-EGL-IMAGE-MEMORY-TYPE:CAPS" title="GST_EGL_IMAGE_MEMORY_TYPE">GST_EGL_IMAGE_MEMORY_TYPE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-GstEGLImageMemory.html#GST-CAPS-FEATURE-MEMORY-EGL-IMAGE:CAPS" title="GST_CAPS_FEATURE_MEMORY_EGL_IMAGE">GST_CAPS_FEATURE_MEMORY_EGL_IMAGE</a></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-libs-GstEGLImageMemory.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstEGLImageMemory.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="gst-egl-image-memory-init"></a><h3>gst_egl_image_memory_init ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_egl_image_memory_init (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-egl-image-memory-get-display"></a><h3>gst_egl_image_memory_get_display ()</h3>
-<pre class="programlisting"><span class="returnvalue">EGLDisplay</span>
-gst_egl_image_memory_get_display (<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>
-<hr>
-<div class="refsect2">
-<a name="gst-egl-image-memory-get-image"></a><h3>gst_egl_image_memory_get_image ()</h3>
-<pre class="programlisting"><span class="returnvalue">EGLImageKHR</span>
-gst_egl_image_memory_get_image (<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>
-<hr>
-<div class="refsect2">
-<a name="gst-egl-image-memory-get-orientation"></a><h3>gst_egl_image_memory_get_orientation ()</h3>
-<pre class="programlisting"><span class="returnvalue">GstVideoGLTextureOrientation</span>
-gst_egl_image_memory_get_orientation (<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>
-<hr>
-<div class="refsect2">
-<a name="gst-egl-image-memory-set-orientation"></a><h3>gst_egl_image_memory_set_orientation ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_egl_image_memory_set_orientation (<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>,
-                                      <em class="parameter"><code><span class="type">GstVideoGLTextureOrientation</span> orientation</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-egl-image-memory-setup-buffer"></a><h3>gst_egl_image_memory_setup_buffer ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_egl_image_memory_setup_buffer (<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#GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
-                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-is-egl-image-memory"></a><h3>gst_is_egl_image_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_egl_image_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>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstEGLImageMemory.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="GST-EGL-IMAGE-MEMORY-TYPE:CAPS"></a><h3>GST_EGL_IMAGE_MEMORY_TYPE</h3>
-<pre class="programlisting">#define GST_EGL_IMAGE_MEMORY_TYPE "EGLImage"
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-CAPS-FEATURE-MEMORY-EGL-IMAGE:CAPS"></a><h3>GST_CAPS_FEATURE_MEMORY_EGL_IMAGE</h3>
-<pre class="programlisting">#define GST_CAPS_FEATURE_MEMORY_EGL_IMAGE "memory:EGLImage"
-</pre>
-</div>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html b/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html
index d83958b..cb4eca1 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html
@@ -118,104 +118,24 @@
 <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">
@@ -233,46 +153,33 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-API-NONE:CAPS"></a>GST_GL_API_NONE</p></td>
-<td class="enum_member_description">
-<p>no API</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-API-OPENGL:CAPS"></a>GST_GL_API_OPENGL</p></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>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-API-OPENGL3:CAPS"></a>GST_GL_API_OPENGL3</p></td>
-<td class="enum_member_description">
-<p>Desktop OpenGL &gt;= 3.2 core profile</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-API-GLES1:CAPS"></a>GST_GL_API_GLES1</p></td>
-<td class="enum_member_description">
-<p>OpenGL ES 1.x</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-API-GLES2:CAPS"></a>GST_GL_API_GLES2</p></td>
-<td class="enum_member_description">
-<p>OpenGL ES 2.x and 3.x</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-API-ANY:CAPS"></a>GST_GL_API_ANY</p></td>
-<td class="enum_member_description">
-<p>Any OpenGL API</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -292,53 +199,38 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-PLATFORM-NONE:CAPS"></a>GST_GL_PLATFORM_NONE</p></td>
-<td class="enum_member_description">
-<p>no platform</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-PLATFORM-EGL:CAPS"></a>GST_GL_PLATFORM_EGL</p></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>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-PLATFORM-GLX:CAPS"></a>GST_GL_PLATFORM_GLX</p></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>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-PLATFORM-WGL:CAPS"></a>GST_GL_PLATFORM_WGL</p></td>
-<td class="enum_member_description">
-<p>the WGL platform used primarily on Windows</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-PLATFORM-CGL:CAPS"></a>GST_GL_PLATFORM_CGL</p></td>
-<td class="enum_member_description">
-<p>the CGL platform used primarily on OS X</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-PLATFORM-EAGL:CAPS"></a>GST_GL_PLATFORM_EAGL</p></td>
-<td class="enum_member_description">
-<p>the EAGL platform used primarily on iOS</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-PLATFORM-ANY:CAPS"></a>GST_GL_PLATFORM_ANY</p></td>
-<td class="enum_member_description">
-<p>any OpenGL platform</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -349,28 +241,24 @@
 <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 7ef9099..9ef90bd 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 — memory subclass for GL buffers</p>
+<p>GstGLBuffer</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -126,9 +126,6 @@
 </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>
@@ -136,36 +133,12 @@
 <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">
@@ -186,50 +159,6 @@
                                      <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">
@@ -244,39 +173,6 @@
   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">
@@ -288,33 +184,6 @@
   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">
@@ -326,7 +195,6 @@
 <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">
@@ -335,14 +203,12 @@
   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">
@@ -351,10 +217,6 @@
 </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-GstGLMemory.html b/docs/libs/html/gst-plugins-bad-libs-GstGLMemory.html
index 633f69e..2368c1e 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 — memory subclass for GL textures</p>
+<p>GstGLMemory</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -85,6 +85,14 @@
 <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="returnvalue">GstGLVideoAllocationParams</span></a> *
 </td>
 <td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-new-wrapped-gl-handle" title="gst_gl_video_allocation_params_new_wrapped_gl_handle ()">gst_gl_video_allocation_params_new_wrapped_gl_handle</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="returnvalue">GstGLVideoAllocationParams</span></a> *
+</td>
+<td class="function_name">
 <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-new-wrapped-texture" title="gst_gl_video_allocation_params_new_wrapped_texture ()">gst_gl_video_allocation_params_new_wrapped_texture</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
@@ -255,11 +263,6 @@
 </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>
@@ -269,32 +272,6 @@
 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">
@@ -302,24 +279,6 @@
 <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">
@@ -337,110 +296,11 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> plane</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/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>,
                                 <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#guint"><span class="type">guint</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> 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>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">
@@ -451,59 +311,8 @@
                                     <em class="parameter"><code><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> *v_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> plane</code></em>,
                                     <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>);</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 <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>
-</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>
+                                    <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>
 <hr>
 <div class="refsect2">
@@ -516,78 +325,26 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> plane</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/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>,
                                 <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>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>
+<hr>
+<div class="refsect2">
+<a name="gst-gl-video-allocation-params-new-wrapped-gl-handle"></a><h3>gst_gl_video_allocation_params_new_wrapped_gl_handle ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="returnvalue">GstGLVideoAllocationParams</span></a> *
+gst_gl_video_allocation_params_new_wrapped_gl_handle
+                               (<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.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/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> *v_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> plane</code></em>,
+                                <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>,
+                                <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>
 </div>
 <hr>
 <div class="refsect2">
@@ -600,114 +357,22 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> plane</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/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>,
                                 <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_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">
@@ -718,113 +383,19 @@
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> *parent</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 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>,
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> *params</code></em>,
                     <em class="parameter"><code><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> *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> plane</code></em>,
                     <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">
@@ -836,63 +407,6 @@
                          <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">
@@ -911,40 +425,6 @@
 <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">
@@ -952,166 +432,36 @@
 <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">
@@ -1119,40 +469,10 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_memory_setup_buffer (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemoryAllocator"><span class="type">GstGLMemoryAllocator</span></a> *allocator</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 class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> *params</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>
-</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>
+                            <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>,
+                            <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>
 </div>
 <div class="refsect1">
@@ -1171,6 +491,7 @@
   guint                  plane;
   GstVideoAlignment     *valign;
   GstGLTextureTarget     target;
+  GstVideoGLTextureType  tex_type;
 };
 </pre>
 </div>
@@ -1184,7 +505,6 @@
 <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">
@@ -1197,7 +517,6 @@
   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">
@@ -1214,74 +533,14 @@
   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 7352290..8a05c20 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="GstGLSLStage">
+<link rel="next" href=".html" title="">
 <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 — helpers for dealing with OpenGL shaders</p>
+<p>GstGLSL</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -408,10 +408,6 @@
 </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 32a5453..665f20c 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="GstGLSLStage">
+<link rel="prev" href=".html" title="">
 <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 1aa6750..b60238a 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-OpenGL-debugging.html" title="OpenGL debugging">
+<link rel="next" href="gst-plugins-bad-libs-gstgldebug.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-OpenGL-debugging.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></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>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-bad-libs-GstGLWindowX11"></a><div class="titlepage"></div>
@@ -114,18 +114,12 @@
 <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">
@@ -135,7 +129,6 @@
 <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">
@@ -143,7 +136,6 @@
 <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 453c1b0..99ca08f 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 — 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>
+<p>GstInsertbin</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -175,16 +175,6 @@
 </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>
@@ -195,68 +185,12 @@
                          <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">
@@ -266,38 +200,6 @@
                        <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">
@@ -307,38 +209,6 @@
                         <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">
@@ -349,45 +219,6 @@
                              <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">
@@ -398,45 +229,6 @@
                               <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">
@@ -446,37 +238,6 @@
                        <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">
@@ -484,7 +245,6 @@
 <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">
@@ -493,7 +253,6 @@
   GstBinClass parent_class;
 };
 </pre>
-<p>The object class structure.</p>
 </div>
 </div>
 <div class="refsect1">
@@ -501,276 +260,57 @@
 <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> *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,
+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,
                <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> *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,
+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,
                <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> *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,
+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,
                <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> *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,
+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,
                <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> *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,
+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,
                <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 81781f0..9fd47fb 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstPhotography.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstPhotography.html
@@ -27,28 +27,11 @@
 <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 — Interface for digital image capture elements</p>
+<p>GstPhotography</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>
@@ -424,11 +407,6 @@
 </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>
@@ -437,34 +415,6 @@
 <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">
@@ -472,33 +422,6 @@
 <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">
@@ -506,33 +429,6 @@
 <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">
@@ -540,33 +436,6 @@
 <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">
@@ -574,33 +443,6 @@
 <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">
@@ -609,33 +451,6 @@
 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">
@@ -643,33 +458,6 @@
 <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">
@@ -677,33 +465,6 @@
 <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">
@@ -711,33 +472,6 @@
 <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">
@@ -745,33 +479,6 @@
 <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">
@@ -779,33 +486,6 @@
 <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">
@@ -813,33 +493,6 @@
 <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">
@@ -847,33 +500,6 @@
 <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">
@@ -881,33 +507,6 @@
 <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">
@@ -915,33 +514,6 @@
 <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">
@@ -949,33 +521,6 @@
 <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">
@@ -983,33 +528,6 @@
 <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">
@@ -1018,33 +536,6 @@
 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">
@@ -1052,33 +543,6 @@
 <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">
@@ -1086,33 +550,6 @@
 <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">
@@ -1120,33 +557,6 @@
 <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">
@@ -1154,33 +564,6 @@
 <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">
@@ -1188,33 +571,6 @@
 <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">
@@ -1222,33 +578,6 @@
 <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">
@@ -1256,61 +585,12 @@
 <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">
@@ -1320,47 +600,6 @@
                                      <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">
@@ -1368,30 +607,6 @@
 <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">
@@ -1399,33 +614,6 @@
 <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">
@@ -1433,33 +621,6 @@
 <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">
@@ -1467,12 +628,10 @@
 <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">
@@ -1484,45 +643,28 @@
 <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 class="enum_member_description">
-<p>Adaptive noise reduction on Bayer
-format</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>reduces the noise on Y and 2-chroma
-images.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Multi-frame adaptive NR,
-provided for the video mode</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 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>
+<td> </td>
+<td> </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 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>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1531,7 +673,6 @@
 <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">
@@ -1543,67 +684,48 @@
 <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 class="enum_member_description">
-<p>Choose white balance mode automatically</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for daylight conditions</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for cloudy conditions</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for sunset conditions</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for tungsten lighting</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for fluorescent lighting</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Disable automatic white balance adjustment
-and keep current values.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for warm fluorescent lighting (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for shade lighting (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1612,7 +734,6 @@
 <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">
@@ -1624,115 +745,83 @@
 <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 class="enum_member_description">
-<p>No effects</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Sepia</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Negative</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Grayscale</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Natural</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Vivid</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Colorswap</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Solarize</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Out of focus</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Sky blue</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Grass green</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Skin whiten</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Posterize (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Whiteboard (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Blackboard (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Aqua (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1741,8 +830,6 @@
 <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">
@@ -1754,135 +841,93 @@
 <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 class="enum_member_description">
-<p>Set individual options manually</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for close objects</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for portraits</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for landscapes</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for scene with fast motion</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for night conditions</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Choose scene mode automatically</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Take photos of fast moving
-    objects (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Take people pictures
-    at night (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Take photos in a theater (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Take pictures on the beach (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Take pictures on the snow (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Take sunset photos (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 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>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>For shooting firework
-    displays (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Take indoor low-light shot (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 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>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Applications are looking for
-    a barcode (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1891,7 +936,6 @@
 <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">
@@ -1903,40 +947,28 @@
 <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 class="enum_member_description">
-<p>Fire flash automatically according to
-lighting conditions.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Never fire flash</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Always fire flash</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Fill in flash</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Flash mode for reducing chance of
-capturing red eyes</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1945,7 +977,6 @@
 <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">
@@ -1957,31 +988,23 @@
 <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 class="enum_member_description">
-<p>Disable flicker reduction</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>50Hz flicker reduction</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>60Hz flicker reduction</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Choose mode automatically</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1990,7 +1013,6 @@
 <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">
@@ -2002,70 +1024,48 @@
 <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 class="enum_member_description">
-<p>Choose focus mode automatically</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for focusing objects close to lens</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for portraits</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Mode for landscapes and far away objects</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 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>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Extended focus mode</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Continuous autofocus mode</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Extended continuous
-autofocus mode</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 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>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -2074,8 +1074,6 @@
 <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">
@@ -2087,31 +1085,23 @@
 <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 class="enum_member_description">
-<p>No status available</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Focusing is ongoing</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Focusing failed</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Focusing succeeded</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -2120,8 +1110,6 @@
 <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">
@@ -2218,8 +1206,6 @@
 <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">
@@ -2231,24 +1217,18 @@
 <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 class="enum_member_description">
-<p>Low risk</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Medium risk</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>High risk</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -2259,48 +1239,12 @@
 <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 6000c20..8421f95 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 — Base class for video aggregators</p>
+<p>GstVideoAggregator</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -52,13 +52,6 @@
 </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>
@@ -75,29 +68,6 @@
   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">
@@ -122,71 +92,6 @@
   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 035f1c4..3494b6b 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregatorPad.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregatorPad.html
@@ -82,56 +82,6 @@
   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">
@@ -152,15 +102,6 @@
   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-Mpeg-ts-helper-library.html b/docs/libs/html/gst-plugins-bad-libs-Mpeg-ts-helper-library.html
deleted file mode 100644
index c50a0c3..0000000
--- a/docs/libs/html/gst-plugins-bad-libs-Mpeg-ts-helper-library.html
+++ /dev/null
@@ -1,76 +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>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 6f9ce8b..66ebd42 100644
--- a/docs/libs/html/gst-plugins-bad-libs-OpenGL-Formats.html
+++ b/docs/libs/html/gst-plugins-bad-libs-OpenGL-Formats.html
@@ -169,87 +169,18 @@
 <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">
@@ -258,40 +189,6 @@
 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">
@@ -301,41 +198,6 @@
                                (<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">
@@ -348,81 +210,18 @@
 <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">
@@ -430,27 +229,6 @@
 <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">
@@ -468,78 +246,63 @@
 <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 class="enum_member_description">
-<p>no texture target</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>2D texture target</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>rectangle texture target</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>external oes texture target</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 a3841ea..cd4ec70 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-OpenGL-debugging.html" title="OpenGL debugging">
+<link rel="prev" href="gst-plugins-bad-libs-gstgldebug.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-OpenGL-debugging.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></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="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">
@@ -81,22 +81,6 @@
 </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-gen-texture" title="gst_gl_context_gen_texture ()">gst_gl_context_gen_texture</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-texture" title="gst_gl_context_del_texture ()">gst_gl_context_del_texture</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">
@@ -169,14 +153,6 @@
 </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-generate-texture-full" title="gst_gl_generate_texture_full ()">gst_gl_generate_texture_full</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
 <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="returnvalue">GstCaps</span></a> *
 </td>
 <td class="function_name">
@@ -267,61 +243,12 @@
          <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>
-<p>callback definition for operating on textures</p>
-<div class="refsect3">
-<a name="GLCB.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>the width</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>height</p></td>
-<td class="parameter_description"><p>the height</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>texture</p></td>
-<td class="parameter_description"><p>texture</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>stuff</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="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>
-<p>callback definition for operating through a Framebuffer object</p>
-<div class="refsect3">
-<a name="GLCB-V2.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>stuff</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">
@@ -331,39 +258,6 @@
          <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>
-<p>client draw callback</p>
-<div class="refsect3">
-<a name="CDCB.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>texture</p></td>
-<td class="parameter_description"><p>texture to draw</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>new width</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>height</p></td>
-<td class="parameter_description"><p>new height:</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">
@@ -385,23 +279,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-gl-context-gen-texture"></a><h3>gst_gl_context_gen_texture ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_context_gen_texture (<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> *pTexture</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><span class="type">GLint</span> width</code></em>,
-                            <em class="parameter"><code><span class="type">GLint</span> height</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-context-del-texture"></a><h3>gst_gl_context_del_texture ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_context_del_texture (<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> *pTexture</code></em>);</pre>
-</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>,
@@ -473,35 +350,6 @@
 <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">
-<a name="gst-gl-generate-texture-full"></a><h3>gst_gl_generate_texture_full ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_generate_texture_full (<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/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
-                              <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> comp</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#gsize"><span class="type">gsize</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><span class="type">GLuint</span> *pTexture</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -547,27 +395,6 @@
 <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">
@@ -575,34 +402,6 @@
 <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">
@@ -611,36 +410,6 @@
 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>
-<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="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="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 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="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">
diff --git a/docs/libs/html/gst-plugins-bad-libs-OpenGL-debugging.html b/docs/libs/html/gst-plugins-bad-libs-OpenGL-debugging.html
deleted file mode 100644
index ac96c27..0000000
--- a/docs/libs/html/gst-plugins-bad-libs-OpenGL-debugging.html
+++ /dev/null
@@ -1,648 +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-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-ATSC-variants-of-MPEG-TS-descriptors.html b/docs/libs/html/gst-plugins-bad-libs-gst-atsc-descriptor.html
similarity index 72%
rename from docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html
rename to docs/libs/html/gst-plugins-bad-libs-gst-atsc-descriptor.html
index d8ac88d..54af81d 100644
--- a/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gst-atsc-descriptor.html
@@ -2,12 +2,12 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ATSC variants of MPEG-TS descriptors: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
+<title>gst-atsc-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-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">
+<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">
 <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-ATSC-variants-of-MPEG-TS-descriptors.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-libs-gst-atsc-descriptor.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-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>
+<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>
 </tr></table>
 <div class="refentry">
-<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors"></a><div class="titlepage"></div>
+<a name="gst-plugins-bad-libs-gst-atsc-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-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>
+<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>
 </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-descriptors.other"></a><h2>Types and Values</h2>
+<a name="gst-plugins-bad-libs-gst-atsc-descriptor.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
 <col width="150px" class="name">
@@ -40,29 +40,21 @@
 </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-descriptors.html#GstMpegtsATSCDescriptorType" title="enum GstMpegtsATSCDescriptorType">GstMpegtsATSCDescriptorType</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-atsc-descriptor.html#GstMpegtsATSCDescriptorType" title="enum GstMpegtsATSCDescriptorType">GstMpegtsATSCDescriptorType</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<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>
+<a name="gst-plugins-bad-libs-gst-atsc-descriptor.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<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>
+<a name="gst-plugins-bad-libs-gst-atsc-descriptor.functions_details"></a><h2>Functions</h2>
 <p></p>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.other_details"></a><h2>Types and Values</h2>
+<a name="gst-plugins-bad-libs-gst-atsc-descriptor.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-gst-atsc-section.html b/docs/libs/html/gst-plugins-bad-libs-gst-atsc-section.html
new file mode 100644
index 0000000..9fdf2f6
--- /dev/null
+++ b/docs/libs/html/gst-plugins-bad-libs-gst-atsc-section.html
@@ -0,0 +1,475 @@
+<!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
new file mode 100644
index 0000000..2f5759c
--- /dev/null
+++ b/docs/libs/html/gst-plugins-bad-libs-gst-dvb-descriptor.html
@@ -0,0 +1,2425 @@
+<!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
new file mode 100644
index 0000000..aefbf64
--- /dev/null
+++ b/docs/libs/html/gst-plugins-bad-libs-gst-dvb-section.html
@@ -0,0 +1,647 @@
+<!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-ISDB-variants-of-MPEG-TS-descriptors.html b/docs/libs/html/gst-plugins-bad-libs-gst-isdb-descriptor.html
similarity index 80%
rename from docs/libs/html/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html
rename to docs/libs/html/gst-plugins-bad-libs-gst-isdb-descriptor.html
index 3e9c157..e2d8660 100644
--- a/docs/libs/html/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gst-isdb-descriptor.html
@@ -2,11 +2,11 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ISDB variants of MPEG-TS descriptors: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
+<title>gst-isdb-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-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">
+<link rel="prev" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">
 <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-ISDB-variants-of-MPEG-TS-descriptors.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-libs-gst-isdb-descriptor.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-DVB-variants-of-MPEG-TS-descriptors.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></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="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-ISDB-variants-of-MPEG-TS-descriptors"></a><div class="titlepage"></div>
+<a name="gst-plugins-bad-libs-gst-isdb-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-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>
+<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>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.other"></a><h2>Types and Values</h2>
+<a name="gst-plugins-bad-libs-gst-isdb-descriptor.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
 <col width="150px" class="name">
@@ -40,29 +40,21 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">enum</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>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-isdb-descriptor.html#GstMpegtsISDBDescriptorType" title="enum GstMpegtsISDBDescriptorType">GstMpegtsISDBDescriptorType</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<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>
+<a name="gst-plugins-bad-libs-gst-isdb-descriptor.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
-<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>
+<a name="gst-plugins-bad-libs-gst-isdb-descriptor.functions_details"></a><h2>Functions</h2>
 <p></p>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.other_details"></a><h2>Types and Values</h2>
+<a name="gst-plugins-bad-libs-gst-isdb-descriptor.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-gstglbasememory.html b/docs/libs/html/gst-plugins-bad-libs-gstglbasememory.html
index 1f333d0..d27bd36 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 — memory subclass for GL buffers</p>
+<p>GstGLBaseMemory</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -271,9 +271,6 @@
 </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>
@@ -282,55 +279,12 @@
 <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">
@@ -345,167 +299,27 @@
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> alloc_size</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> *alloc_params</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#guint"><span class="type">guint</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> 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">
@@ -513,42 +327,12 @@
 <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">
@@ -562,90 +346,12 @@
                          <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">
@@ -654,36 +360,6 @@
 <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">
@@ -692,35 +368,6 @@
 <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">
@@ -730,39 +377,6 @@
                                (<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">
@@ -771,30 +385,6 @@
 <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">
@@ -804,39 +394,6 @@
                                (<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">
@@ -844,24 +401,6 @@
 <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">
@@ -869,35 +408,6 @@
 <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">
@@ -913,43 +423,6 @@
                            <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">
@@ -957,8 +430,6 @@
 <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">
@@ -979,77 +450,18 @@
   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">
@@ -1065,25 +477,18 @@
 <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 class="enum_member_description">
-<p>generic faliure</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>the implementation is too old and doesn't
-                                    implement enough features</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>a resource could not be found</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1109,19 +514,13 @@
 <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 class="enum_member_description">
-<p>the texture needs downloading
-                                            to the data pointer</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>the data pointer needs uploading
-                                            to the texture</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1145,77 +544,9 @@
   /* GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM only */
   gpointer                          wrapped_data;
   /* GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE only */
-  guint                             gl_handle;
+  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#guint"><span class="type">guint</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">
@@ -1250,36 +581,9 @@
   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
new file mode 100644
index 0000000..4068760
--- /dev/null
+++ b/docs/libs/html/gst-plugins-bad-libs-gstgldebug.html
@@ -0,0 +1,271 @@
+<!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 d2f10d1..6fc51d3 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 — memory subclass for GL textures</p>
+<p>GstGLMemoryPBO</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -123,11 +123,6 @@
 </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>
@@ -135,27 +130,6 @@
 <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">
@@ -169,107 +143,12 @@
                                      <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">
@@ -311,13 +190,8 @@
   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
new file mode 100644
index 0000000..a9c8284
--- /dev/null
+++ b/docs/libs/html/gst-plugins-bad-libs-gstmpegts.html
@@ -0,0 +1,69 @@
+<!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
new file mode 100644
index 0000000..40d6ef9
--- /dev/null
+++ b/docs/libs/html/gst-plugins-bad-libs-gstmpegtsdescriptor.html
@@ -0,0 +1,635 @@
+<!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
new file mode 100644
index 0000000..8af72cd
--- /dev/null
+++ b/docs/libs/html/gst-plugins-bad-libs-gstmpegtssection.html
@@ -0,0 +1,823 @@
+<!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 7dac93c..1e406a9 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstmpegvideometa.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstmpegvideometa.html
@@ -106,30 +106,6 @@
                                 <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">
@@ -174,70 +150,6 @@
   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 dcebcf9..7538a41 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 — Player GLib MainContext dispatcher</p>
+<p>gstplayer-gmaincontextsignaldispatcher</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -58,29 +58,6 @@
 <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 023f4c9..e809695 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 — Player Media Information</p>
+<p>gstplayer-mediainfo</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -79,6 +79,14 @@
 </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-gstplayer-mediainfo.html#gst-player-media-info-is-live" title="gst_player_media_info_is_live ()">gst_player_media_info_is_live</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
 <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="returnvalue">GstSample</span></a> *
 </td>
 <td class="function_name">
@@ -286,75 +294,18 @@
 <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">
@@ -362,50 +313,18 @@
 <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>
+<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>
 <hr>
 <div class="refsect2">
@@ -413,185 +332,42 @@
 <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">
@@ -599,228 +375,54 @@
 <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">
@@ -829,58 +431,12 @@
 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">
@@ -890,61 +446,12 @@
                                (<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">
@@ -952,33 +459,26 @@
 <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 8bf557d..b673335 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 — Player Video Overlay Video Renderer</p>
+<p>gstplayer-videooverlayvideorenderer</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -100,26 +100,6 @@
 <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">
@@ -127,27 +107,6 @@
 <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">
@@ -156,30 +115,6 @@
 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">
@@ -187,23 +122,6 @@
 <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">
@@ -215,45 +133,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *y</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *width</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *height</code></em>);</pre>
-<p>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">
@@ -265,54 +144,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> height</code></em>);</pre>
-<p>Configure a subregion as a video target within the window set by
-<a class="link" href="gst-plugins-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 overlayed 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 557c3ef..89f1675 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 — Player Visualization</p>
+<p>gstplayer-visualization</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -103,86 +103,24 @@
 <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">
@@ -194,29 +132,6 @@
   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 97ee382..7c38c8c 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 — Player</p>
+<p>gstplayer</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -363,6 +363,54 @@
 </tr>
 <tr>
 <td class="function_type">
+<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>
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-get-multiview-mode" title="gst_player_get_multiview_mode ()">gst_player_get_multiview_mode</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-set-multiview-mode" title="gst_player_set_multiview_mode ()">gst_player_set_multiview_mode</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<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>
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-get-multiview-flags" title="gst_player_get_multiview_flags ()">gst_player_get_multiview_flags</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-set-multiview-flags" title="gst_player_set_multiview_flags ()">gst_player_set_multiview_flags</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="returnvalue">gint64</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-get-audio-video-offset" title="gst_player_get_audio_video_offset ()">gst_player_get_audio_video_offset</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-set-audio-video-offset" title="gst_player_set_audio_video_offset ()">gst_player_set_audio_video_offset</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
 </td>
 <td class="function_name">
@@ -390,6 +438,11 @@
 </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-libs-gstplayer.html#GstPlayer--audio-video-offset" title="The “audio-video-offset” property">audio-video-offset</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
 <td class="property_type">
 <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a> *</td>
 <td class="property_name"><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer--current-audio-track" title="The “current-audio-track” property">current-audio-track</a></td>
@@ -463,6 +516,16 @@
 <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-libs-gstplayer.html#GstPlayer--video-multiview-flags" title="The “video-multiview-flags” property">video-multiview-flags</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/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-libs-gstplayer.html#GstPlayer--video-multiview-mode" title="The “video-multiview-mode” property">video-multiview-mode</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
 <td class="property_type">
 <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerVideoRenderer"><span class="type">GstPlayerVideoRenderer</span></a> *</td>
 <td class="property_name"><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer--video-renderer" title="The “video-renderer” property">video-renderer</a></td>
@@ -532,6 +595,11 @@
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
+<td class="signal_name"><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer-uri-loaded" title="The “uri-loaded” signal">uri-loaded</a></td>
+<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-NO-HOOKS:CAPS">No Hooks</a></td>
+</tr>
+<tr>
+<td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer-video-dimensions-changed" title="The “video-dimensions-changed” signal">video-dimensions-changed</a></td>
 <td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-NO-HOOKS:CAPS">No Hooks</a></td>
 </tr>
@@ -635,107 +703,24 @@
 <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">
@@ -743,31 +728,6 @@
 <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">
@@ -775,110 +735,24 @@
 <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">
@@ -886,29 +760,6 @@
 <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">
@@ -916,106 +767,24 @@
 <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">
@@ -1024,30 +793,6 @@
 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>
-<p>Set interval in milliseconds between two position-updated signals.
-Pass 0 to stop updating the position.</p>
-<div class="refsect3">
-<a name="gst-player-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>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>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">
@@ -1055,188 +800,42 @@
 <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>
-<div class="refsect3">
-<a name="gst-player-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>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-update-interval.returns"></a><h4>Returns</h4>
-<p> current position update interval in milliseconds</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">
@@ -1244,34 +843,6 @@
 <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">
@@ -1279,34 +850,6 @@
 <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">
@@ -1314,118 +857,24 @@
 <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">
@@ -1433,29 +882,6 @@
 <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">
@@ -1463,29 +889,6 @@
 <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">
@@ -1493,29 +896,6 @@
 <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">
@@ -1523,61 +903,12 @@
 <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">
@@ -1585,34 +916,6 @@
 <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">
@@ -1620,56 +923,12 @@
 <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">
@@ -1677,57 +936,12 @@
 <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">
@@ -1736,37 +950,6 @@
 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">
@@ -1774,61 +957,51 @@
 <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>
+<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>
 </div>
+<hr>
+<div class="refsect2">
+<a name="gst-player-set-multiview-mode"></a><h3>gst_player_set_multiview_mode ()</h3>
+<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>
+</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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-player-set-multiview-flags"></a><h3>gst_player_set_multiview_flags ()</h3>
+<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>
+</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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-player-set-audio-video-offset"></a><h3>gst_player_set_audio_video_offset ()</h3>
+<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>
 </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">
@@ -1836,29 +1009,6 @@
 <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>
 </div>
 <div class="refsect1">
@@ -1881,32 +1031,23 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PLAYER-STATE-STOPPED:CAPS"></a>GST_PLAYER_STATE_STOPPED</p></td>
-<td class="enum_member_description">
-<p>the player is stopped.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PLAYER-STATE-BUFFERING:CAPS"></a>GST_PLAYER_STATE_BUFFERING</p></td>
-<td class="enum_member_description">
-<p>the player is buffering.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PLAYER-STATE-PAUSED:CAPS"></a>GST_PLAYER_STATE_PAUSED</p></td>
-<td class="enum_member_description">
-<p>the player is paused.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PLAYER-STATE-PLAYING:CAPS"></a>GST_PLAYER_STATE_PLAYING</p></td>
-<td class="enum_member_description">
-<p>the player is currently playing a
-stream.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1931,10 +1072,8 @@
 </colgroup>
 <tbody><tr>
 <td class="enum_member_name"><p><a name="GST-PLAYER-ERROR-FAILED:CAPS"></a>GST_PLAYER_ERROR_FAILED</p></td>
-<td class="enum_member_description">
-<p>generic error.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr></tbody>
 </table></div>
 </div>
@@ -1953,32 +1092,23 @@
 <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 class="enum_member_description">
-<p>brightness or black level.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>contrast or luma gain.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>color saturation or chroma
-gain.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>hue or color balance.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -2022,6 +1152,14 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-gstplayer.property-details"></a><h2>Property Details</h2>
 <div class="refsect2">
+<a name="GstPlayer--audio-video-offset"></a><h3>The <code class="literal">“audio-video-offset”</code> property</h3>
+<pre class="programlisting">  “audio-video-offset”       <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
+<p>The synchronisation offset between audio and video in nanoseconds.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GstPlayer--current-audio-track"></a><h3>The <code class="literal">“current-audio-track”</code> property</h3>
 <pre class="programlisting">  “current-audio-track”      <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a> *</pre>
 <p>Current audio track information.</p>
@@ -2122,6 +1260,21 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GstPlayer--video-multiview-flags"></a><h3>The <code class="literal">“video-multiview-flags”</code> property</h3>
+<pre class="programlisting">  “video-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>Override details of the multiview frame layout.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstPlayer--video-multiview-mode"></a><h3>The <code class="literal">“video-multiview-mode”</code> property</h3>
+<pre class="programlisting">  “video-multiview-mode”     <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>Re-interpret a video stream as one of several frame-packed stereoscopic modes.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE</p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GstPlayer--video-renderer"></a><h3>The <code class="literal">“video-renderer”</code> property</h3>
 <pre class="programlisting">  “video-renderer”           <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerVideoRenderer"><span class="type">GstPlayerVideoRenderer</span></a> *</pre>
 <p>Video renderer to use for rendering videos.</p>
@@ -2219,6 +1372,15 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GstPlayer-uri-loaded"></a><h3>The <code class="literal">“uri-loaded”</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+user_function (<a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *gstplayer,
+               <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#gpointer"><span class="type">gpointer</span></a>   user_data)</pre>
+<p>Flags: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-NO-HOOKS:CAPS">No Hooks</a></p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GstPlayer-video-dimensions-changed"></a><h3>The <code class="literal">“video-dimensions-changed”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 user_function (<a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *gstplayer,
diff --git a/docs/libs/html/gst-plugins-bad-libs-h264parser.html b/docs/libs/html/gst-plugins-bad-libs-h264parser.html
index 404dc52..fa74876 100644
--- a/docs/libs/html/gst-plugins-bad-libs-h264parser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-h264parser.html
@@ -27,8 +27,7 @@
 <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 — Convenience library for h264 video
-bitstream parsing.</p>
+<p>h264parser</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -311,48 +310,6 @@
 </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>
@@ -394,53 +351,6 @@
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> offset</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#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">
@@ -452,57 +362,6 @@
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
                                    <em class="parameter"><code><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">
@@ -510,36 +369,6 @@
 <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">
@@ -550,50 +379,6 @@
                                  <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">
@@ -603,45 +388,6 @@
                            <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">
@@ -650,44 +396,6 @@
 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">
@@ -696,75 +404,18 @@
 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">
@@ -773,40 +424,6 @@
 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">
@@ -815,68 +432,12 @@
 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">
@@ -885,37 +446,6 @@
 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">
@@ -924,37 +454,6 @@
 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">
@@ -963,37 +462,6 @@
 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">
@@ -1002,37 +470,6 @@
 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">
@@ -1043,55 +480,6 @@
                                     <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">
@@ -1110,7 +498,6 @@
 <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">
@@ -1122,143 +509,103 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-UNKNOWN:CAPS"></a>GST_H264_NAL_UNKNOWN</p></td>
-<td class="enum_member_description">
-<p>Unknown nal type</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SLICE:CAPS"></a>GST_H264_NAL_SLICE</p></td>
-<td class="enum_member_description">
-<p>Slice nal</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>DPA slice nal</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>DPB slice nal</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>DPC slice nal</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>DPR slice nal</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SEI:CAPS"></a>GST_H264_NAL_SEI</p></td>
-<td class="enum_member_description">
-<p>Supplemental enhancement information (SEI) nal unit</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SPS:CAPS"></a>GST_H264_NAL_SPS</p></td>
-<td class="enum_member_description">
-<p>Sequence parameter set (SPS) nal unit</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-PPS:CAPS"></a>GST_H264_NAL_PPS</p></td>
-<td class="enum_member_description">
-<p>Picture parameter set (PPS) nal unit</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Access unit (AU) delimiter nal unit</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>End of sequence nal unit</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>End of stream nal unit</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Filler data nal lunit</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Sequence parameter set (SPS) extension NAL unit</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Prefix NAL unit</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Subset sequence parameter set (SSPS) NAL unit</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Depth parameter set (DPS) NAL unit</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Auxiliary coded picture without partitioning NAL unit</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Coded slice extension NAL unit</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Coded slice extension for depth or 3D-AVC texture view</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1267,7 +614,6 @@
 <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">
@@ -1279,45 +625,33 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-PARSER-OK:CAPS"></a>GST_H264_PARSER_OK</p></td>
-<td class="enum_member_description">
-<p>The parsing succeded</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>The data to parse is broken</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 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>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-PARSER-ERROR:CAPS"></a>GST_H264_PARSER_ERROR</p></td>
-<td class="enum_member_description">
-<p>An error occured when parsing</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>No nal found during the parsing</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Start of the nal found, but not the end.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1326,7 +660,6 @@
 <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">
@@ -1338,40 +671,28 @@
 <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 class="enum_member_description">
-<p>Buffering Period SEI Message</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Picture Timing SEI Message</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Recovery Point SEI Message (D.2.7)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>stereo video info SEI message (Since: 1.6)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-FRAME-PACKING:CAPS"></a>GST_H264_SEI_FRAME_PACKING</p></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>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1380,7 +701,6 @@
 <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">
@@ -1392,68 +712,48 @@
 <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 class="enum_member_description">
-<p>Picture is a frame</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Top field of frame</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Botom field of frame</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Top bottom field of frame</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>bottom top field of frame</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>top bottom top field of frame</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>bottom top bottom field of frame</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>indicates that the frame should
- be displayed two times consecutively</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>indicates that the frame should be
- displayed three times consecutively</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1462,7 +762,6 @@
 <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">
@@ -1532,7 +831,6 @@
 <pre class="programlisting">struct GstH264NalParser {
 };
 </pre>
-<p>H264 NAL Parser (opaque structure).</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1557,79 +855,6 @@
   } 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">
@@ -1697,7 +922,7 @@
   gint width, height;
   gint crop_rect_width, crop_rect_height;
   gint crop_rect_x, crop_rect_y;
-  gint fps_num, fps_den;
+  gint fps_num_removed, fps_den_removed; /* FIXME: remove */
   gboolean valid;
 
   /* Subset SPS extensions */
@@ -1707,274 +932,6 @@
   } 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"></a>fps_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.fps-den"></a>fps_den</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">
@@ -2024,7 +981,6 @@
   gboolean valid;
 };
 </pre>
-<p>H264 Picture Parameter Set</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2044,78 +1000,6 @@
   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">
@@ -2175,225 +1059,6 @@
   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> otherwize</p></td>
-<td 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> otherwize</p></td>
-<td 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>
-otherwize.</p></td>
-<td 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 d74b3a0..d76b4c7 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 — Convenience library for JPEG bitstream parsing.</p>
+<p>jpegparser</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -200,11 +200,6 @@
 </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>
@@ -215,50 +210,6 @@
                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#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">
@@ -266,38 +217,6 @@
 <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">
@@ -305,38 +224,6 @@
 <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">
@@ -344,44 +231,6 @@
 <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">
@@ -390,44 +239,6 @@
 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">
@@ -436,35 +247,6 @@
 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">
@@ -478,25 +260,6 @@
 <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">
@@ -505,24 +268,18 @@
 <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">
@@ -563,7 +320,6 @@
 <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">
@@ -575,27 +331,21 @@
 <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 class="enum_member_description">
-<p>Huffman coding</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>arithmetic coding</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="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">
@@ -607,36 +357,27 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-JPEG-PROFILE-BASELINE:CAPS"></a>GST_JPEG_PROFILE_BASELINE</p></td>
-<td class="enum_member_description">
-<p>Baseline DCT</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-JPEG-PROFILE-EXTENDED:CAPS"></a>GST_JPEG_PROFILE_EXTENDED</p></td>
-<td class="enum_member_description">
-<p>Extended sequential DCT</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-JPEG-PROFILE-PROGRESSIVE:CAPS"></a>GST_JPEG_PROFILE_PROGRESSIVE</p></td>
-<td class="enum_member_description">
-<p>Progressive DCT</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-JPEG-PROFILE-LOSSLESS:CAPS"></a>GST_JPEG_PROFILE_LOSSLESS</p></td>
-<td class="enum_member_description">
-<p>Lossless (sequential)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -648,45 +389,6 @@
   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">
@@ -699,45 +401,6 @@
   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">
@@ -749,40 +412,6 @@
   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">
@@ -792,30 +421,6 @@
   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">
@@ -826,35 +431,6 @@
     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">
@@ -864,31 +440,6 @@
   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">
@@ -899,36 +450,6 @@
   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">
@@ -939,36 +460,6 @@
   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 f1f03f6..a8d0536 100644
--- a/docs/libs/html/gst-plugins-bad-libs-mpeg4parser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-mpeg4parser.html
@@ -27,8 +27,7 @@
 <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 — Convenience library for parsing mpeg4 part 2 video
-bitstream.</p>
+<p>mpeg4parser</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -197,8 +196,6 @@
 </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>
@@ -211,58 +208,6 @@
                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> 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> otherwize</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">
@@ -273,52 +218,6 @@
                                     <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">
@@ -327,42 +226,6 @@
 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">
@@ -372,47 +235,6 @@
                                     <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">
@@ -422,48 +244,6 @@
                                <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">
@@ -473,43 +253,6 @@
                                (<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">
@@ -521,63 +264,12 @@
                                      <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">
@@ -714,8 +406,6 @@
 <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">
@@ -757,8 +447,6 @@
 <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">
@@ -770,45 +458,33 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-SQUARE:CAPS"></a>GST_MPEG4_SQUARE</p></td>
-<td class="enum_member_description">
-<p>1:1 square</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>12:11 (625-type for 4:3 picture)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>10:11 (525-type for 4:3 picture)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>16:11 (625-type stretched for 16:9 picture)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>40:33 (525-type stretched for 16:9 picture)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-EXTENDED-PAR:CAPS"></a>GST_MPEG4_EXTENDED_PAR</p></td>
-<td class="enum_member_description">
-<p>Extended par</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -817,7 +493,6 @@
 <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">
@@ -829,31 +504,23 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-PARSER-OK:CAPS"></a>GST_MPEG4_PARSER_OK</p></td>
-<td class="enum_member_description">
-<p>The parsing went well</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>The bitstream was broken</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>There was no packet in the buffer</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>There was no packet end in the buffer</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-PARSER-ERROR:CAPS"></a>GST_MPEG4_PARSER_ERROR</p></td>
@@ -867,8 +534,6 @@
 <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">
@@ -880,31 +545,23 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-I-VOP:CAPS"></a>GST_MPEG4_I_VOP</p></td>
-<td class="enum_member_description">
-<p>intra-coded (I)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-P-VOP:CAPS"></a>GST_MPEG4_P_VOP</p></td>
-<td class="enum_member_description">
-<p>predictive-coded (P)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-B-VOP:CAPS"></a>GST_MPEG4_B_VOP</p></td>
-<td class="enum_member_description">
-<p>bidirectionally-predictive-coded (B)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-S-VOP:CAPS"></a>GST_MPEG4_S_VOP</p></td>
-<td class="enum_member_description">
-<p>sprite (S)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -913,8 +570,6 @@
 <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">
@@ -934,8 +589,6 @@
 <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">
@@ -972,9 +625,6 @@
 <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">
@@ -1006,10 +656,6 @@
 <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">
@@ -1126,10 +772,6 @@
 <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">
@@ -1195,8 +837,6 @@
   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">
@@ -1210,8 +850,6 @@
   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">
@@ -1227,8 +865,6 @@
   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">
@@ -1263,8 +899,6 @@
   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">
@@ -1362,8 +996,6 @@
   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">
@@ -1373,9 +1005,6 @@
   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">
@@ -1389,8 +1018,6 @@
   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">
@@ -1444,8 +1071,6 @@
   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">
@@ -1459,47 +1084,6 @@
   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">
@@ -1511,40 +1095,6 @@
   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 6e731a1..84f946b 100644
--- a/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html
@@ -27,8 +27,7 @@
 <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 — Convenience library for mpeg1 and 2 video
-bitstream parsing.</p>
+<p>mpegvideoparser</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -197,11 +196,6 @@
 </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>
@@ -212,49 +206,6 @@
                       <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#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">
@@ -264,51 +215,7 @@
                                       <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>
-<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> otherwize.</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></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -318,51 +225,7 @@
                                      <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>
-<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>
-otherwize.</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></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -373,51 +236,7 @@
                                 <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>
-<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> otherwize.</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></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -427,50 +246,7 @@
                           <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>
-<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> otherwize.</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></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -481,51 +257,7 @@
                                 <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>
-<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> otherwize.</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></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -547,52 +279,7 @@
                                 <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>
-<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> otherwize.</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></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -610,37 +297,6 @@
 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">
@@ -649,44 +305,12 @@
 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">
@@ -698,66 +322,48 @@
 <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 class="enum_member_description">
-<p>Picture packet starting code</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Slice min packet starting code</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Slice max packet starting code</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>User data packet starting code</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Sequence packet starting code</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Extension packet starting code</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Sequence end packet code</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Group of Picture packet starting code</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>None packet code</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -766,9 +372,6 @@
 <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">
@@ -780,38 +383,28 @@
 <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 class="enum_member_description">
-<p>Sequence extension code</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Sequence Display extension code</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Quantization Matrix extension code</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Sequence Scalable extension code</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Picture coding extension</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -820,7 +413,6 @@
 <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">
@@ -832,31 +424,23 @@
 <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 class="enum_member_description">
-<p>High level (HL)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>High 1440 level (H-14)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Main level (ML)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Low level (LL)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -865,7 +449,6 @@
 <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">
@@ -877,45 +460,33 @@
 <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 class="enum_member_description">
-<p>4:2:2 profile (422)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>High profile (HP)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Spatially Scalable profile (Spatial)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>SNR Scalable profile (SNR)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Main profile (MP)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Simple profile (SP)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -924,7 +495,6 @@
 <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">
@@ -936,31 +506,23 @@
 <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 class="enum_member_description">
-<p>Intra-coded (I) frame</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Predictive-codec (P) frame</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Bidirectionally predictive-coded (B) frame</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>D frame</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -969,7 +531,6 @@
 <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">
@@ -981,24 +542,18 @@
 <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 class="enum_member_description">
-<p>Top field</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Bottom field</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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 class="enum_member_description">
-<p>Frame picture</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1016,7 +571,9 @@
 
   guint8  constrained_parameters_flag;
 
+  guint8  load_intra_quantiser_matrix;
   guint8  intra_quantizer_matrix[64];
+  guint8  load_non_intra_quantiser_matrix;
   guint8  non_intra_quantizer_matrix[64];
 
   /* Calculated values */
@@ -1025,89 +582,6 @@
   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.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.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">
@@ -1132,83 +606,6 @@
   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">
@@ -1216,52 +613,13 @@
 <pre class="programlisting">struct GstMpegVideoPictureHdr {
   guint16 tsn;
   guint8 pic_type;
+  guint16 vbv_delay;
 
   guint8 full_pel_forward_vector, full_pel_backward_vector;
 
   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#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">
@@ -1275,54 +633,6 @@
   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">
@@ -1349,109 +659,6 @@
   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> otherwize</p></td>
-<td 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">
@@ -1467,9 +674,6 @@
  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 0d38ca3..ad54d97 100644
--- a/docs/libs/html/gst-plugins-bad-libs-vc1parser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-vc1parser.html
@@ -27,8 +27,7 @@
 <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 — Convenience library for parsing vc1 video
-bitstream.</p>
+<p>vc1parser</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -257,8 +256,6 @@
 </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>
@@ -268,41 +265,6 @@
 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">
@@ -311,41 +273,6 @@
 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">
@@ -354,41 +281,6 @@
 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">
@@ -398,41 +290,6 @@
                                (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#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">
@@ -442,41 +299,6 @@
                                (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#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">
@@ -486,41 +308,6 @@
                                (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#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">
@@ -530,46 +317,6 @@
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
                                   <em class="parameter"><code><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">
@@ -580,63 +327,12 @@
                             <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">
@@ -656,39 +352,6 @@
 <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> otherwize</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -1114,7 +777,6 @@
   GstVC1AdvancedSeqHdr   advanced;
 };
 </pre>
-<p>Structure for sequence headers in any profile.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1165,7 +827,6 @@
   GstVC1EntryPointHdr entrypoint;
 };
 </pre>
-<p>Structure for the advanced profile sequence headers specific parameters.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1281,7 +942,6 @@
   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">
@@ -1315,11 +975,6 @@
   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">
@@ -1399,258 +1054,6 @@
   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">
@@ -1692,108 +1095,6 @@
   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">
@@ -1838,7 +1139,6 @@
   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 0ddd4d9..0ded4c5 100644
--- a/docs/libs/html/gstreamer-libs-hierarchy.html
+++ b/docs/libs/html/gstreamer-libs-hierarchy.html
@@ -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-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-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-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-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-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-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 cefe5f7..874b3fc 100644
--- a/docs/libs/html/gstreamer-plugins-bad.html
+++ b/docs/libs/html/gstreamer-plugins-bad.html
@@ -33,23 +33,19 @@
 <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"> — Convenience library for h264 video
-bitstream parsing.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-h264parser.html">h264parser</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-jpegparser.html">jpegparser</a></span><span class="refpurpose"> — Convenience library for JPEG bitstream parsing.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-jpegparser.html">jpegparser</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpegvideoparser.html">mpegvideoparser</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpeg4parser.html">mpeg4parser</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-vc1parser.html">vc1parser</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegvideometa.html">gstmpegvideometa</a></span><span class="refpurpose"></span>
@@ -58,39 +54,38 @@
 <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-Mpeg-ts-helper-library.html">Mpeg-ts helper library</a></span><span class="refpurpose"> — Mpeg-ts helper library for plugins and applications</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegts.html">gstmpegts</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegtssection.html">gstmpegtssection</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegtsdescriptor.html">gstmpegtsdescriptor</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-atsc-section.html">gst-atsc-section</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-dvb-section.html">gst-dvb-section</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-atsc-descriptor.html">gst-atsc-descriptor</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-dvb-descriptor.html">gst-dvb-descriptor</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-isdb-descriptor.html">gst-isdb-descriptor</a></span><span class="refpurpose"></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"> — A <span class="type">GstBin</span> to insertally link filter-like elements.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstInsertbin.html">GstInsertbin</a></span><span class="refpurpose"></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"> — manages a set of pads with the purpose of
-aggregating their buffers.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstAggregator.html">GstAggregator</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstAggregatorPad.html">GstAggregatorPad</a></span><span class="refpurpose"></span>
@@ -99,7 +94,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"> — Base class for video aggregators</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstVideoAggregator.html">GstVideoAggregator</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstVideoAggregatorPad.html">GstVideoAggregatorPad</a></span><span class="refpurpose"></span>
@@ -111,22 +106,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"> — memory subclass for GL buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglbasememory.html">GstGLBaseMemory</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLBaseFilter.html">GstGLBaseFilter</a></span><span class="refpurpose"> — <span class="type">GstBaseTransform</span> subclass for transformin OpenGL resources</span>
+<span class="refentrytitle"><a href="GstGLBaseFilter.html">GstGLBaseFilter</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLBuffer.html">GstGLBuffer</a></span><span class="refpurpose"> — memory subclass for GL buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLBuffer.html">GstGLBuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLBufferPool.html">GstGLBufferPool</a></span><span class="refpurpose"> — buffer pool for <span class="type">GstGLMemory</span> objects</span>
+<span class="refentrytitle"><a href="GstGLBufferPool.html">GstGLBufferPool</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"> — an object that converts between color spaces/formats</span>
+<span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLContext.html">GstGLContext</a></span><span class="refpurpose"> — OpenGL context abstraction</span>
+<span class="refentrytitle"><a href="GstGLContext.html">GstGLContext</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLContextCocoa.html">GstGLContextCocoa</a></span><span class="refpurpose"></span>
@@ -144,7 +139,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"> — window system display connection abstraction</span>
+<span class="refentrytitle"><a href="GstGLDisplay.html">GstGLDisplay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstEGLImageMemory.html">GstEGLImageMemory</a></span><span class="refpurpose"></span>
@@ -156,28 +151,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"> — memory subclass for GL textures</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLMemory.html">GstGLMemory</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglmemorypbo.html">GstGLMemoryPBO</a></span><span class="refpurpose"> — memory subclass for GL textures</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglmemorypbo.html">GstGLMemoryPBO</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLShader.html">GstGLShader</a></span><span class="refpurpose"> — object representing an OpenGL shader program</span>
+<span class="refentrytitle"><a href="GstGLShader.html">GstGLShader</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSL.html">GstGLSL</a></span><span class="refpurpose"> — helpers for dealing with OpenGL shaders</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSL.html">GstGLSL</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href=".html">GstGLSLStage</a></span><span class="refpurpose"> — object for dealing with OpenGL shader stages</span>
+<span class="refentrytitle"><a href=".html"></a></span><span class="refpurpose"></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"> — an object that uploads to GL textures</span>
+<span class="refentrytitle"><a href="GstGLUpload.html">GstGLUpload</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLWindow.html">GstGLWindow</a></span><span class="refpurpose"> — window/surface abstraction</span>
+<span class="refentrytitle"><a href="GstGLWindow.html">GstGLWindow</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLWindowAndroid.html">GstGLWindowAndroid</a></span><span class="refpurpose"></span>
@@ -198,7 +193,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-OpenGL-debugging.html">OpenGL debugging</a></span><span class="refpurpose"> — helper routines for dealing with OpenGL debugging</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstgldebug.html">OpenGL Debugging</a></span><span class="refpurpose"></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>
@@ -210,24 +205,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"> — Player</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer.html">gstplayer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-mediainfo.html">gstplayer-mediainfo</a></span><span class="refpurpose"> — Player Media Information</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-mediainfo.html">gstplayer-mediainfo</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html">gstplayer-gmaincontextsignaldispatcher</a></span><span class="refpurpose"> — Player GLib MainContext dispatcher</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html">gstplayer-gmaincontextsignaldispatcher</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html">gstplayer-videooverlayvideorenderer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-visualization.html">gstplayer-visualization</a></span><span class="refpurpose"> — Player Visualization</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-visualization.html">gstplayer-visualization</a></span><span class="refpurpose"></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"> — Interface for digital image capture elements</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstPhotography.html">GstPhotography</a></span><span class="refpurpose"></span>
 </dt></dl></dd>
 </dl>
 </div>
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index b9e4e59..ff61318 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.8.2)
+      for GStreamer Bad Library 1.0 (1.9.1)
       <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,23 +32,19 @@
 <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"> — Convenience library for h264 video
-bitstream parsing.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-h264parser.html">h264parser</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-jpegparser.html">jpegparser</a></span><span class="refpurpose"> — Convenience library for JPEG bitstream parsing.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-jpegparser.html">jpegparser</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpegvideoparser.html">mpegvideoparser</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpeg4parser.html">mpeg4parser</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-vc1parser.html">vc1parser</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegvideometa.html">gstmpegvideometa</a></span><span class="refpurpose"></span>
@@ -57,39 +53,38 @@
 <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-Mpeg-ts-helper-library.html">Mpeg-ts helper library</a></span><span class="refpurpose"> — Mpeg-ts helper library for plugins and applications</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegts.html">gstmpegts</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegtssection.html">gstmpegtssection</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegtsdescriptor.html">gstmpegtsdescriptor</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-atsc-section.html">gst-atsc-section</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-dvb-section.html">gst-dvb-section</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-atsc-descriptor.html">gst-atsc-descriptor</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-dvb-descriptor.html">gst-dvb-descriptor</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-isdb-descriptor.html">gst-isdb-descriptor</a></span><span class="refpurpose"></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"> — A <span class="type">GstBin</span> to insertally link filter-like elements.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstInsertbin.html">GstInsertbin</a></span><span class="refpurpose"></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"> — manages a set of pads with the purpose of
-aggregating their buffers.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstAggregator.html">GstAggregator</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstAggregatorPad.html">GstAggregatorPad</a></span><span class="refpurpose"></span>
@@ -98,7 +93,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"> — Base class for video aggregators</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstVideoAggregator.html">GstVideoAggregator</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstVideoAggregatorPad.html">GstVideoAggregatorPad</a></span><span class="refpurpose"></span>
@@ -110,22 +105,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"> — memory subclass for GL buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglbasememory.html">GstGLBaseMemory</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLBaseFilter.html">GstGLBaseFilter</a></span><span class="refpurpose"> — <span class="type">GstBaseTransform</span> subclass for transformin OpenGL resources</span>
+<span class="refentrytitle"><a href="GstGLBaseFilter.html">GstGLBaseFilter</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLBuffer.html">GstGLBuffer</a></span><span class="refpurpose"> — memory subclass for GL buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLBuffer.html">GstGLBuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLBufferPool.html">GstGLBufferPool</a></span><span class="refpurpose"> — buffer pool for <span class="type">GstGLMemory</span> objects</span>
+<span class="refentrytitle"><a href="GstGLBufferPool.html">GstGLBufferPool</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"> — an object that converts between color spaces/formats</span>
+<span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLContext.html">GstGLContext</a></span><span class="refpurpose"> — OpenGL context abstraction</span>
+<span class="refentrytitle"><a href="GstGLContext.html">GstGLContext</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLContextCocoa.html">GstGLContextCocoa</a></span><span class="refpurpose"></span>
@@ -143,7 +138,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"> — window system display connection abstraction</span>
+<span class="refentrytitle"><a href="GstGLDisplay.html">GstGLDisplay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstEGLImageMemory.html">GstEGLImageMemory</a></span><span class="refpurpose"></span>
@@ -155,28 +150,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"> — memory subclass for GL textures</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLMemory.html">GstGLMemory</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglmemorypbo.html">GstGLMemoryPBO</a></span><span class="refpurpose"> — memory subclass for GL textures</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglmemorypbo.html">GstGLMemoryPBO</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLShader.html">GstGLShader</a></span><span class="refpurpose"> — object representing an OpenGL shader program</span>
+<span class="refentrytitle"><a href="GstGLShader.html">GstGLShader</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSL.html">GstGLSL</a></span><span class="refpurpose"> — helpers for dealing with OpenGL shaders</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSL.html">GstGLSL</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href=".html">GstGLSLStage</a></span><span class="refpurpose"> — object for dealing with OpenGL shader stages</span>
+<span class="refentrytitle"><a href=".html"></a></span><span class="refpurpose"></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"> — an object that uploads to GL textures</span>
+<span class="refentrytitle"><a href="GstGLUpload.html">GstGLUpload</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLWindow.html">GstGLWindow</a></span><span class="refpurpose"> — window/surface abstraction</span>
+<span class="refentrytitle"><a href="GstGLWindow.html">GstGLWindow</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLWindowAndroid.html">GstGLWindowAndroid</a></span><span class="refpurpose"></span>
@@ -197,7 +192,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-OpenGL-debugging.html">OpenGL debugging</a></span><span class="refpurpose"> — helper routines for dealing with OpenGL debugging</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstgldebug.html">OpenGL Debugging</a></span><span class="refpurpose"></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>
@@ -209,30 +204,29 @@
 <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"> — Player</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer.html">gstplayer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-mediainfo.html">gstplayer-mediainfo</a></span><span class="refpurpose"> — Player Media Information</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-mediainfo.html">gstplayer-mediainfo</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html">gstplayer-gmaincontextsignaldispatcher</a></span><span class="refpurpose"> — Player GLib MainContext dispatcher</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html">gstplayer-gmaincontextsignaldispatcher</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html">gstplayer-videooverlayvideorenderer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-visualization.html">gstplayer-visualization</a></span><span class="refpurpose"> — Player Visualization</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-visualization.html">gstplayer-visualization</a></span><span class="refpurpose"></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"> — Interface for digital image capture elements</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstPhotography.html">GstPhotography</a></span><span class="refpurpose"></span>
 </dt></dl></dd>
 </dl></dd>
 <dt><span class="part"><a href="gstreamer-libs-hierarchy.html">II. Object Hierarchy</a></span></dt>
 <dt><span class="index"><a href="api-index-full.html">Index</a></span></dt>
 <dt><span class="index"><a href="api-index-deprecated.html">Index of deprecated API</a></span></dt>
-<dt><span class="glossary"><a href="annotation-glossary.html">Annotation Glossary</a></span></dt>
 </dl></div>
 </div>
 <div class="footer">
diff --git a/docs/libs/html/mpegts.html b/docs/libs/html/mpegts.html
index 3850144..b91dcb7 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-Mpeg-ts-helper-library.html" title="Mpeg-ts helper library">
+<link rel="next" href="gst-plugins-bad-libs-gstmpegts.html" title="gstmpegts">
 <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-Mpeg-ts-helper-library.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></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>
 </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-Mpeg-ts-helper-library.html">Mpeg-ts helper library</a></span><span class="refpurpose"> — Mpeg-ts helper library for plugins and applications</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegts.html">gstmpegts</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegtssection.html">gstmpegtssection</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegtsdescriptor.html">gstmpegtsdescriptor</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-atsc-section.html">gst-atsc-section</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-dvb-section.html">gst-dvb-section</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-atsc-descriptor.html">gst-atsc-descriptor</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-dvb-descriptor.html">gst-dvb-descriptor</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-isdb-descriptor.html">gst-isdb-descriptor</a></span><span class="refpurpose"></span>
 </dt>
 </dl></div>
 <p>
diff --git a/docs/libs/html/player.html b/docs/libs/html/player.html
index 8835c9b..bf84f65 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"> — Player</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer.html">gstplayer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-mediainfo.html">gstplayer-mediainfo</a></span><span class="refpurpose"> — Player Media Information</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-mediainfo.html">gstplayer-mediainfo</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html">gstplayer-gmaincontextsignaldispatcher</a></span><span class="refpurpose"> — Player GLib MainContext dispatcher</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html">gstplayer-gmaincontextsignaldispatcher</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html">gstplayer-videooverlayvideorenderer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-visualization.html">gstplayer-visualization</a></span><span class="refpurpose"> — Player Visualization</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-visualization.html">gstplayer-visualization</a></span><span class="refpurpose"></span>
 </dt>
 </dl></div>
 </div>
diff --git a/docs/libs/html/tools.html b/docs/libs/html/tools.html
index f47790c..075787c 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-ISDB-variants-of-MPEG-TS-descriptors.html" title="ISDB variants of MPEG-TS descriptors">
+<link rel="prev" href="gst-plugins-bad-libs-gst-isdb-descriptor.html" title="gst-isdb-descriptor">
 <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-ISDB-variants-of-MPEG-TS-descriptors.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></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="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"> — A <span class="type">GstBin</span> to insertally link filter-like elements.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstInsertbin.html">GstInsertbin</a></span><span class="refpurpose"></span>
 </dt></dl></div>
 </div>
 <div class="footer">
diff --git a/docs/libs/html/video.html b/docs/libs/html/video.html
index 2d591f4..fc428a7 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"> — Base class for video aggregators</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstVideoAggregator.html">GstVideoAggregator</a></span><span class="refpurpose"></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.am b/docs/plugins/Makefile.am
index 7607b55..0dc14f8 100644
--- a/docs/plugins/Makefile.am
+++ b/docs/plugins/Makefile.am
@@ -25,7 +25,7 @@
 SCAN_OPTIONS=
 
 # Extra options to supply to gtkdoc-mkdb.
-MKDB_OPTIONS=--sgml-mode --source-suffixes=c,h,cc,m
+MKDB_OPTIONS=--sgml-mode --source-suffixes=c,h,cc,cpp,m
 
 # Extra options to supply to gtkdoc-fixref.
 FIXXREF_OPTIONS=--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html \
@@ -38,7 +38,8 @@
   $(top_srcdir)/ext/*/*.hh
 CFILE_GLOB= \
   $(top_srcdir)/gst/*/*.c $(top_srcdir)/ext/*/*.c $(top_srcdir)/sys/*/*.c \
-  $(top_srcdir)/ext/*/*.cc $(top_srcdir)/sys/*/*.m
+  $(top_srcdir)/ext/*/*.cc $(top_srcdir)/ext/*/*.cpp  $(top_srcdir)/sys/*/*.cpp \
+  $(top_srcdir)/ext/*/*.m $(top_srcdir)/sys/*/*.m
 
 # Header files to ignore when scanning.
 IGNORE_HFILES =
@@ -69,7 +70,7 @@
 	$(top_srcdir)/ext/curl/gstcurlhttpsink.h \
 	$(top_srcdir)/ext/curl/gstcurlsmtpsink.h \
 	$(top_srcdir)/ext/curl/gstcurltlssink.h \
-	$(top_srcdir)/ext/dc1394/gstdc1394.h \
+	$(top_srcdir)/ext/dc1394/gstdc1394src.h \
 	$(top_srcdir)/ext/directfb/dfbvideosink.h \
 	$(top_srcdir)/ext/dts/gstdtsdec.h \
 	$(top_srcdir)/ext/faac/gstfaac.h \
@@ -94,12 +95,13 @@
 	$(top_srcdir)/ext/opencv/gstedgedetect.h \
 	$(top_srcdir)/ext/opencv/gstfaceblur.h \
 	$(top_srcdir)/ext/opencv/gstfacedetect.h \
-	$(top_srcdir)/ext/opencv/gstpyramidsegment.h \
 	$(top_srcdir)/ext/opencv/gsttemplatematch.h \
 	$(top_srcdir)/ext/opencv/gsttextoverlay.h \
 	$(top_srcdir)/ext/openni2/gstopenni2src.h \
 	$(top_srcdir)/ext/rsvg/gstrsvgdec.h \
 	$(top_srcdir)/ext/rsvg/gstrsvgoverlay.h \
+	$(top_srcdir)/ext/rtmp/gstrtmpsrc.h \
+	$(top_srcdir)/ext/rtmp/gstrtmpsink.h \
 	$(top_srcdir)/ext/spandsp/gstspanplc.h \
 	$(top_srcdir)/ext/spandsp/gstdtmfdetect.h \
 	$(top_srcdir)/ext/sdl/sdlaudiosink.h \
@@ -108,6 +110,8 @@
 	$(top_srcdir)/ext/timidity/gstwildmidi.h \
 	$(top_srcdir)/ext/voaacenc/gstvoaacenc.h \
 	$(top_srcdir)/ext/voamrwbenc/gstvoamrwbenc.h \
+	$(top_srcdir)/ext/webrtcdsp/gstwebrtcdsp.h \
+	$(top_srcdir)/ext/webrtcdsp/gstwebrtcechoprobe.h \
 	$(top_srcdir)/ext/zbar/gstzbar.h \
 	$(top_srcdir)/gst/aiff/aiffparse.h \
 	$(top_srcdir)/gst/aiff/aiffmux.h \
@@ -150,6 +154,8 @@
 	$(top_srcdir)/gst/geometrictransform/gstwaterripple.h \
 	$(top_srcdir)/gst/ivfparse/gstivfparse.h \
 	$(top_srcdir)/gst/jpegformat/gstjpegparse.h \
+	$(top_srcdir)/gst/mpegtsdemux/tsdemux.h \
+	$(top_srcdir)/gst/mpegtsmux/mpegtsmux.h \
 	$(top_srcdir)/gst/mxf/mxfdemux.h \
 	$(top_srcdir)/gst/mxf/mxfmux.h \
 	$(top_srcdir)/gst/nuvdemux/gstnuvdemux.h \
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index c2aae2c..7363cce 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -295,6 +295,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -510,6 +512,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -636,8 +640,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -682,6 +684,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -798,7 +802,7 @@
 SCAN_OPTIONS = 
 
 # Extra options to supply to gtkdoc-mkdb.
-MKDB_OPTIONS = --sgml-mode --source-suffixes=c,h,cc,m
+MKDB_OPTIONS = --sgml-mode --source-suffixes=c,h,cc,cpp,m
 
 # Extra options to supply to gtkdoc-fixref.
 FIXXREF_OPTIONS = --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html \
@@ -813,7 +817,8 @@
 
 CFILE_GLOB = \
   $(top_srcdir)/gst/*/*.c $(top_srcdir)/ext/*/*.c $(top_srcdir)/sys/*/*.c \
-  $(top_srcdir)/ext/*/*.cc $(top_srcdir)/sys/*/*.m
+  $(top_srcdir)/ext/*/*.cc $(top_srcdir)/ext/*/*.cpp  $(top_srcdir)/sys/*/*.cpp \
+  $(top_srcdir)/ext/*/*.m $(top_srcdir)/sys/*/*.m
 
 
 # Header files to ignore when scanning.
@@ -845,7 +850,7 @@
 	$(top_srcdir)/ext/curl/gstcurlhttpsink.h \
 	$(top_srcdir)/ext/curl/gstcurlsmtpsink.h \
 	$(top_srcdir)/ext/curl/gstcurltlssink.h \
-	$(top_srcdir)/ext/dc1394/gstdc1394.h \
+	$(top_srcdir)/ext/dc1394/gstdc1394src.h \
 	$(top_srcdir)/ext/directfb/dfbvideosink.h \
 	$(top_srcdir)/ext/dts/gstdtsdec.h \
 	$(top_srcdir)/ext/faac/gstfaac.h \
@@ -870,12 +875,13 @@
 	$(top_srcdir)/ext/opencv/gstedgedetect.h \
 	$(top_srcdir)/ext/opencv/gstfaceblur.h \
 	$(top_srcdir)/ext/opencv/gstfacedetect.h \
-	$(top_srcdir)/ext/opencv/gstpyramidsegment.h \
 	$(top_srcdir)/ext/opencv/gsttemplatematch.h \
 	$(top_srcdir)/ext/opencv/gsttextoverlay.h \
 	$(top_srcdir)/ext/openni2/gstopenni2src.h \
 	$(top_srcdir)/ext/rsvg/gstrsvgdec.h \
 	$(top_srcdir)/ext/rsvg/gstrsvgoverlay.h \
+	$(top_srcdir)/ext/rtmp/gstrtmpsrc.h \
+	$(top_srcdir)/ext/rtmp/gstrtmpsink.h \
 	$(top_srcdir)/ext/spandsp/gstspanplc.h \
 	$(top_srcdir)/ext/spandsp/gstdtmfdetect.h \
 	$(top_srcdir)/ext/sdl/sdlaudiosink.h \
@@ -884,6 +890,8 @@
 	$(top_srcdir)/ext/timidity/gstwildmidi.h \
 	$(top_srcdir)/ext/voaacenc/gstvoaacenc.h \
 	$(top_srcdir)/ext/voamrwbenc/gstvoamrwbenc.h \
+	$(top_srcdir)/ext/webrtcdsp/gstwebrtcdsp.h \
+	$(top_srcdir)/ext/webrtcdsp/gstwebrtcechoprobe.h \
 	$(top_srcdir)/ext/zbar/gstzbar.h \
 	$(top_srcdir)/gst/aiff/aiffparse.h \
 	$(top_srcdir)/gst/aiff/aiffmux.h \
@@ -926,6 +934,8 @@
 	$(top_srcdir)/gst/geometrictransform/gstwaterripple.h \
 	$(top_srcdir)/gst/ivfparse/gstivfparse.h \
 	$(top_srcdir)/gst/jpegformat/gstjpegparse.h \
+	$(top_srcdir)/gst/mpegtsdemux/tsdemux.h \
+	$(top_srcdir)/gst/mpegtsmux/mpegtsmux.h \
 	$(top_srcdir)/gst/mxf/mxfdemux.h \
 	$(top_srcdir)/gst/mxf/mxfmux.h \
 	$(top_srcdir)/gst/nuvdemux/gstnuvdemux.h \
@@ -1503,9 +1513,13 @@
 @ENABLE_GTK_DOC_TRUE@		$(top_srcdir)/common/plugins.xsl $$a > xml/`basename $$a`; done
 @ENABLE_GTK_DOC_TRUE@	@for f in $(EXAMPLE_CFILES); do \
 @ENABLE_GTK_DOC_TRUE@		$(PYTHON) $(top_srcdir)/common/c-to-xml.py $$f > xml/element-`basename $$f .c`.xml; done
-@ENABLE_GTK_DOC_TRUE@	@gtkdoc-mkdb \
+@ENABLE_GTK_DOC_TRUE@	@_source_dir='' ;						\
+@ENABLE_GTK_DOC_TRUE@	for i in $(DOC_SOURCE_DIR) ; do					\
+@ENABLE_GTK_DOC_TRUE@	    _source_dir="$${_source_dir} --source-dir=$$i" ;	        \
+@ENABLE_GTK_DOC_TRUE@	done ;								\
+@ENABLE_GTK_DOC_TRUE@	gtkdoc-mkdb \
 @ENABLE_GTK_DOC_TRUE@		--module=$(DOC_MODULE) \
-@ENABLE_GTK_DOC_TRUE@		--source-dir=$(DOC_SOURCE_DIR) \
+@ENABLE_GTK_DOC_TRUE@		$${_source_dir} \
 @ENABLE_GTK_DOC_TRUE@		 --expand-content-files="$(expand_content_files)" \
 @ENABLE_GTK_DOC_TRUE@		--main-sgml-file=$(srcdir)/$(DOC_MAIN_SGML_FILE) \
 @ENABLE_GTK_DOC_TRUE@		--output-format=xml \
diff --git a/docs/plugins/gst-plugins-bad-plugins-docs.sgml b/docs/plugins/gst-plugins-bad-plugins-docs.sgml
index 710ced5..662fd79 100644
--- a/docs/plugins/gst-plugins-bad-plugins-docs.sgml
+++ b/docs/plugins/gst-plugins-bad-plugins-docs.sgml
@@ -75,7 +75,6 @@
     <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-pyramidsegment.xml" />
     <xi:include href="xml/element-rfbsrc.xml" />
     <xi:include href="xml/element-rtmpsink.xml" />
     <xi:include href="xml/element-rtmpsrc.xml" />
@@ -100,6 +99,8 @@
     <xi:include href="xml/element-voaacenc.xml" />
     <xi:include href="xml/element-voamrwbenc.xml" />
     <xi:include href="xml/element-wavescope.xml" />
+    <xi:include href="xml/element-webrtcdsp.xml" />
+    <xi:include href="xml/element-webrtcechoprobe.xml" />
   </chapter>
 
   <chapter>
@@ -148,6 +149,7 @@
     <xi:include href="xml/plugin-speed.xml" />
     <xi:include href="xml/plugin-voaacenc.xml" />
     <xi:include href="xml/plugin-voamrwbenc.xml" />
+    <xi:include href="xml/plugin-webrtcdsp.xml" />
     <xi:include href="xml/plugin-zbar.xml" />
   </chapter>
 </book>
diff --git a/docs/plugins/gst-plugins-bad-plugins-sections.txt b/docs/plugins/gst-plugins-bad-plugins-sections.txt
index 2c1365b..386658a 100644
--- a/docs/plugins/gst-plugins-bad-plugins-sections.txt
+++ b/docs/plugins/gst-plugins-bad-plugins-sections.txt
@@ -1,14 +1,80 @@
 <SECTION>
+<FILE>element-adpcmdec</FILE>
+<TITLE>adpcmdec</TITLE>
+GstCMDec
+<SUBSECTION Standard>
+GstCMDecClass
+GST_CM_DEC
+GST_CM_DEC_CAST
+GST_IS_CM_DEC
+GST_CM_DEC_CLASS
+GST_IS_CM_DEC_CLASS
+GST_TYPE_CM_DEC
+<SUBSECTION Private>
+gst_cm_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-adpcmenc</FILE>
+<TITLE>adpcmenc</TITLE>
+GstCMEnc
+<SUBSECTION Standard>
+GstCMEncClass
+GST_CM_ENC
+GST_CM_ENC_CAST
+GST_IS_CM_ENC
+GST_CM_ENC_CLASS
+GST_IS_CM_ENC_CLASS
+GST_TYPE_CM_ENC
+<SUBSECTION Private>
+gst_cm_enc_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-dvbbasebin</FILE>
+<TITLE>dvbbasebin</TITLE>
+GstBaseBin
+<SUBSECTION Standard>
+GstBaseBinClass
+GST_BASE_BIN
+GST_BASE_BIN_CAST
+GST_IS_BASE_BIN
+GST_BASE_BIN_CLASS
+GST_IS_BASE_BIN_CLASS
+GST_TYPE_BASE_BIN
+<SUBSECTION Private>
+gst_base_bin_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-a2dpsink</FILE>
+<TITLE>a2dpsink</TITLE>
+GstA2dpSink
+<SUBSECTION Standard>
+GstA2dpSinkClass
+GST_A2DP_SINK
+GST_A2DP_SINK_CAST
+GST_IS_A2DP_SINK
+GST_A2DP_SINK_CLASS
+GST_IS_A2DP_SINK_CLASS
+GST_TYPE_A2DP_SINK
+<SUBSECTION Private>
+gst_a2dp_sink_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-accurip</FILE>
 <TITLE>accurip</TITLE>
 GstAccurip
 <SUBSECTION Standard>
+GstAccuripClass
 GST_ACCURIP
-GST_ACCURIP_CLASS
+GST_ACCURIP_CAST
 GST_IS_ACCURIP
+GST_ACCURIP_CLASS
 GST_IS_ACCURIP_CLASS
 GST_TYPE_ACCURIP
-GstAccuripClass
+<SUBSECTION Private>
 gst_accurip_get_type
 </SECTION>
 
@@ -17,12 +83,14 @@
 <TITLE>aiffmux</TITLE>
 GstAiffMux
 <SUBSECTION Standard>
+GstAiffMuxClass
 GST_AIFF_MUX
-GST_AIFF_MUX_CLASS
+GST_AIFF_MUX_CAST
 GST_IS_AIFF_MUX
+GST_AIFF_MUX_CLASS
 GST_IS_AIFF_MUX_CLASS
 GST_TYPE_AIFF_MUX
-GstAiffMuxClass
+<SUBSECTION Private>
 gst_aiff_mux_get_type
 </SECTION>
 
@@ -31,41 +99,94 @@
 <TITLE>aiffparse</TITLE>
 GstAiffParse
 <SUBSECTION Standard>
+GstAiffParseClass
 GST_AIFF_PARSE
-GST_AIFF_PARSE_CLASS
+GST_AIFF_PARSE_CAST
 GST_IS_AIFF_PARSE
+GST_AIFF_PARSE_CLASS
 GST_IS_AIFF_PARSE_CLASS
 GST_TYPE_AIFF_PARSE
-GstAiffParseClass
-GstAiffParseState
+<SUBSECTION Private>
 gst_aiff_parse_get_type
 </SECTION>
 
 <SECTION>
+<FILE>element-asfmux</FILE>
+<TITLE>asfmux</TITLE>
+GstAsfMux
+<SUBSECTION Standard>
+GstAsfMuxClass
+GST_ASF_MUX
+GST_ASF_MUX_CAST
+GST_IS_ASF_MUX
+GST_ASF_MUX_CLASS
+GST_IS_ASF_MUX_CLASS
+GST_TYPE_ASF_MUX
+<SUBSECTION Private>
+gst_asf_mux_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-asfparse</FILE>
+<TITLE>asfparse</TITLE>
+GstAsfParse
+<SUBSECTION Standard>
+GstAsfParseClass
+GST_ASF_PARSE
+GST_ASF_PARSE_CAST
+GST_IS_ASF_PARSE
+GST_ASF_PARSE_CLASS
+GST_IS_ASF_PARSE_CLASS
+GST_TYPE_ASF_PARSE
+<SUBSECTION Private>
+gst_asf_parse_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-assrender</FILE>
 <TITLE>assrender</TITLE>
 GstAssRender
 <SUBSECTION Standard>
-GstAssRenderBlitFunction
 GstAssRenderClass
 GST_ASS_RENDER
-GST_ASS_RENDER_CLASS
+GST_ASS_RENDER_CAST
 GST_IS_ASS_RENDER
+GST_ASS_RENDER_CLASS
 GST_IS_ASS_RENDER_CLASS
+GST_TYPE_ASS_RENDER
+<SUBSECTION Private>
 gst_ass_render_get_type
 </SECTION>
 
 <SECTION>
+<FILE>element-audiochannelmix</FILE>
+<TITLE>audiochannelmix</TITLE>
+GstAudioChannelMix
+<SUBSECTION Standard>
+GstAudioChannelMixClass
+GST_AUDIO_CHANNEL_MIX
+GST_AUDIO_CHANNEL_MIX_CAST
+GST_IS_AUDIO_CHANNEL_MIX
+GST_AUDIO_CHANNEL_MIX_CLASS
+GST_IS_AUDIO_CHANNEL_MIX_CLASS
+GST_TYPE_AUDIO_CHANNEL_MIX
+<SUBSECTION Private>
+gst_audio_channel_mix_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-audiointerleave</FILE>
 <TITLE>audiointerleave</TITLE>
 GstAudioInterleave
 <SUBSECTION Standard>
 GstAudioInterleaveClass
 GST_AUDIO_INTERLEAVE
-GST_AUDIO_INTERLEAVE_CLASS
+GST_AUDIO_INTERLEAVE_CAST
 GST_IS_AUDIO_INTERLEAVE
+GST_AUDIO_INTERLEAVE_CLASS
 GST_IS_AUDIO_INTERLEAVE_CLASS
 GST_TYPE_AUDIO_INTERLEAVE
+<SUBSECTION Private>
 gst_audio_interleave_get_type
 </SECTION>
 
@@ -76,10 +197,12 @@
 <SUBSECTION Standard>
 GstAudioMixerClass
 GST_AUDIO_MIXER
-GST_AUDIO_MIXER_CLASS
+GST_AUDIO_MIXER_CAST
 GST_IS_AUDIO_MIXER
+GST_AUDIO_MIXER_CLASS
 GST_IS_AUDIO_MIXER_CLASS
 GST_TYPE_AUDIO_MIXER
+<SUBSECTION Private>
 gst_audio_mixer_get_type
 </SECTION>
 
@@ -87,27 +210,129 @@
 <FILE>element-audioparse</FILE>
 <TITLE>audioparse</TITLE>
 GstAudioParse
+GstAudioParseFormat
 <SUBSECTION Standard>
 GstAudioParseClass
 GST_AUDIO_PARSE
-GST_AUDIO_PARSE_CLASS
+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-audiosegmentclip</FILE>
+<TITLE>audiosegmentclip</TITLE>
+GstAudioSegmentClip
+<SUBSECTION Standard>
+GstAudioSegmentClipClass
+GST_AUDIO_SEGMENT_CLIP
+GST_AUDIO_SEGMENT_CLIP_CAST
+GST_IS_AUDIO_SEGMENT_CLIP
+GST_AUDIO_SEGMENT_CLIP_CLASS
+GST_IS_AUDIO_SEGMENT_CLIP_CLASS
+GST_TYPE_AUDIO_SEGMENT_CLIP
+<SUBSECTION Private>
+gst_audio_segment_clip_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-autoconvert</FILE>
 <TITLE>autoconvert</TITLE>
 GstAutoConvert
 <SUBSECTION Standard>
 GstAutoConvertClass
-GST_TYPE_AUTO_CONVERT
 GST_AUTO_CONVERT
-GST_AUTO_CONVERT_CLASS
+GST_AUTO_CONVERT_CAST
 GST_IS_AUTO_CONVERT
+GST_AUTO_CONVERT_CLASS
 GST_IS_AUTO_CONVERT_CLASS
+GST_TYPE_AUTO_CONVERT
+<SUBSECTION Private>
+gst_auto_convert_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-autovideoconvert</FILE>
+<TITLE>autovideoconvert</TITLE>
+GstAutoVideoConvert
+<SUBSECTION Standard>
+GstAutoVideoConvertClass
+GST_AUTO_VIDEO_CONVERT
+GST_AUTO_VIDEO_CONVERT_CAST
+GST_IS_AUTO_VIDEO_CONVERT
+GST_AUTO_VIDEO_CONVERT_CLASS
+GST_IS_AUTO_VIDEO_CONVERT_CLASS
+GST_TYPE_AUTO_VIDEO_CONVERT
+<SUBSECTION Private>
+gst_auto_video_convert_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-avdtpsink</FILE>
+<TITLE>avdtpsink</TITLE>
+GstAvdtpSink
+<SUBSECTION Standard>
+GstAvdtpSinkClass
+GST_AVDTP_SINK
+GST_AVDTP_SINK_CAST
+GST_IS_AVDTP_SINK
+GST_AVDTP_SINK_CLASS
+GST_IS_AVDTP_SINK_CLASS
+GST_TYPE_AVDTP_SINK
+<SUBSECTION Private>
+gst_avdtp_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-avdtpsrc</FILE>
+<TITLE>avdtpsrc</TITLE>
+GstAvdtpSrc
+<SUBSECTION Standard>
+GstAvdtpSrcClass
+GST_AVDTP_SRC
+GST_AVDTP_SRC_CAST
+GST_IS_AVDTP_SRC
+GST_AVDTP_SRC_CLASS
+GST_IS_AVDTP_SRC_CLASS
+GST_TYPE_AVDTP_SRC
+<SUBSECTION Private>
+gst_avdtp_src_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-bpmdetect</FILE>
+<TITLE>bpmdetect</TITLE>
+GstBPMDetect
+<SUBSECTION Standard>
+GstBPMDetectClass
+GST_BPM_DETECT
+GST_BPM_DETECT_CAST
+GST_IS_BPM_DETECT
+GST_BPM_DETECT_CLASS
+GST_IS_BPM_DETECT_CLASS
+GST_TYPE_BPM_DETECT
+<SUBSECTION Private>
+gst_bpm_detect_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-bayer2rgb</FILE>
+<TITLE>bayer2rgb</TITLE>
+GstBayer2RGB
+<SUBSECTION Standard>
+GstBayer2RGBClass
+GST_BAYER2_RGB
+GST_BAYER2_RGB_CAST
+GST_IS_BAYER2_RGB
+GST_BAYER2_RGB_CLASS
+GST_IS_BAYER2_RGB_CLASS
+GST_TYPE_BAYER2_RGB
+<SUBSECTION Private>
+gst_bayer2_rgb_get_type
 </SECTION>
 
 <SECTION>
@@ -118,12 +343,12 @@
 GstBs2bClass
 GST_BS2B
 GST_BS2B_CAST
-GST_BS2B_CLASS
 GST_IS_BS2B
+GST_BS2B_CLASS
 GST_IS_BS2B_CLASS
 GST_TYPE_BS2B
+<SUBSECTION Private>
 gst_bs2b_get_type
-gst_bs2b_plugin_init
 </SECTION>
 
 <SECTION>
@@ -134,12 +359,12 @@
 GstBulgeClass
 GST_BULGE
 GST_BULGE_CAST
-GST_BULGE_CLASS
 GST_IS_BULGE
+GST_BULGE_CLASS
 GST_IS_BULGE_CLASS
 GST_TYPE_BULGE
+<SUBSECTION Private>
 gst_bulge_get_type
-gst_bulge_plugin_init
 </SECTION>
 
 <SECTION>
@@ -149,42 +374,143 @@
 <SUBSECTION Standard>
 GstBurnClass
 GST_BURN
-GST_BURN_CLASS
+GST_BURN_CAST
 GST_IS_BURN
+GST_BURN_CLASS
 GST_IS_BURN_CLASS
 GST_TYPE_BURN
+<SUBSECTION Private>
 gst_burn_get_type
-gst_burn_plugin_init
+</SECTION>
+
+<SECTION>
+<FILE>element-bz2dec</FILE>
+<TITLE>bz2dec</TITLE>
+GstBz2dec
+<SUBSECTION Standard>
+GstBz2decClass
+GST_BZ2DEC
+GST_BZ2DEC_CAST
+GST_IS_BZ2DEC
+GST_BZ2DEC_CLASS
+GST_IS_BZ2DEC_CLASS
+GST_TYPE_BZ2DEC
+<SUBSECTION Private>
+gst_bz2dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-bz2enc</FILE>
+<TITLE>bz2enc</TITLE>
+GstBz2enc
+<SUBSECTION Standard>
+GstBz2encClass
+GST_BZ2ENC
+GST_BZ2ENC_CAST
+GST_IS_BZ2ENC
+GST_BZ2ENC_CLASS
+GST_IS_BZ2ENC_CLASS
+GST_TYPE_BZ2ENC
+<SUBSECTION Private>
+gst_bz2enc_get_type
 </SECTION>
 
 <SECTION>
 <FILE>element-camerabin</FILE>
 <TITLE>camerabin</TITLE>
 GstCameraBin
+GstCameraBin2Mode
 <SUBSECTION Standard>
 GstCameraBinClass
 GST_CAMERA_BIN
+GST_CAMERA_BIN_CAST
 GST_IS_CAMERA_BIN
-GST_TYPE_CAMERA_BIN
 GST_CAMERA_BIN_CLASS
 GST_IS_CAMERA_BIN_CLASS
+GST_TYPE_CAMERA_BIN
+<SUBSECTION Private>
 gst_camera_bin_get_type
 </SECTION>
 
+<SECTION>
+<FILE>element-checksumsink</FILE>
+<TITLE>checksumsink</TITLE>
+GstChecksumSink
+GstChecksumSinkHash
+<SUBSECTION Standard>
+GstChecksumSinkClass
+GST_CHECKSUM_SINK
+GST_CHECKSUM_SINK_CAST
+GST_IS_CHECKSUM_SINK
+GST_CHECKSUM_SINK_CLASS
+GST_IS_CHECKSUM_SINK_CLASS
+GST_TYPE_CHECKSUM_SINK
+<SUBSECTION Private>
+gst_checksum_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-chopmydata</FILE>
+<TITLE>chopmydata</TITLE>
+GstChopMyData
+<SUBSECTION Standard>
+GstChopMyDataClass
+GST_CHOP_MY_DATA
+GST_CHOP_MY_DATA_CAST
+GST_IS_CHOP_MY_DATA
+GST_CHOP_MY_DATA_CLASS
+GST_IS_CHOP_MY_DATA_CLASS
+GST_TYPE_CHOP_MY_DATA
+<SUBSECTION Private>
+gst_chop_my_data_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-chromahold</FILE>
+<TITLE>chromahold</TITLE>
+GstChromaHold
+<SUBSECTION Standard>
+GstChromaHoldClass
+GST_CHROMA_HOLD
+GST_CHROMA_HOLD_CAST
+GST_IS_CHROMA_HOLD
+GST_CHROMA_HOLD_CLASS
+GST_IS_CHROMA_HOLD_CLASS
+GST_TYPE_CHROMA_HOLD
+<SUBSECTION Private>
+gst_chroma_hold_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-chromaprint</FILE>
+<TITLE>chromaprint</TITLE>
+GstChromaprint
+<SUBSECTION Standard>
+GstChromaprintClass
+GST_CHROMAPRINT
+GST_CHROMAPRINT_CAST
+GST_IS_CHROMAPRINT
+GST_CHROMAPRINT_CLASS
+GST_IS_CHROMAPRINT_CLASS
+GST_TYPE_CHROMAPRINT
+<SUBSECTION Private>
+gst_chromaprint_get_type
+</SECTION>
 
 <SECTION>
 <FILE>element-chromium</FILE>
 <TITLE>chromium</TITLE>
-<SUBSECTION Standard>
 GstChromium
+<SUBSECTION Standard>
 GstChromiumClass
 GST_CHROMIUM
-GST_CHROMIUM_CLASS
+GST_CHROMIUM_CAST
 GST_IS_CHROMIUM
+GST_CHROMIUM_CLASS
 GST_IS_CHROMIUM_CLASS
 GST_TYPE_CHROMIUM
+<SUBSECTION Private>
 gst_chromium_get_type
-gst_chromium_plugin_init
 </SECTION>
 
 <SECTION>
@@ -195,40 +521,143 @@
 GstCircleClass
 GST_CIRCLE
 GST_CIRCLE_CAST
-GST_CIRCLE_CLASS
 GST_IS_CIRCLE
+GST_CIRCLE_CLASS
 GST_IS_CIRCLE_CLASS
 GST_TYPE_CIRCLE
+<SUBSECTION Private>
 gst_circle_get_type
-gst_circle_plugin_init
 </SECTION>
 
 <SECTION>
 <FILE>element-coloreffects</FILE>
 <TITLE>coloreffects</TITLE>
 GstColorEffects
+GstColorEffectsPreset
 <SUBSECTION Standard>
 GstColorEffectsClass
 GST_COLOR_EFFECTS
-GST_COLOR_EFFECTS_CLASS
+GST_COLOR_EFFECTS_CAST
 GST_IS_COLOR_EFFECTS
+GST_COLOR_EFFECTS_CLASS
 GST_IS_COLOR_EFFECTS_CLASS
 GST_TYPE_COLOR_EFFECTS
+<SUBSECTION Private>
 gst_color_effects_get_type
 </SECTION>
 
 <SECTION>
-<FILE>element-curlsink</FILE>
-<TITLE>curlsink</TITLE>
-GstCurlSink
+<FILE>element-combdetect</FILE>
+<TITLE>combdetect</TITLE>
+GstCombDetect
 <SUBSECTION Standard>
-GstCurlSinkClass
-GST_CURL_SINK
-GST_CURL_SINK_CLASS
-GST_IS_CURL_SINK
-GST_IS_CURL_SINK_CLASS
-GST_TYPE_CURL_SINK
-gst_curl_sink_get_type
+GstCombDetectClass
+GST_COMB_DETECT
+GST_COMB_DETECT_CAST
+GST_IS_COMB_DETECT
+GST_COMB_DETECT_CLASS
+GST_IS_COMB_DETECT_CLASS
+GST_TYPE_COMB_DETECT
+<SUBSECTION Private>
+gst_comb_detect_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-compare</FILE>
+<TITLE>compare</TITLE>
+GstCompare
+GstCompareMethod
+<SUBSECTION Standard>
+GstCompareClass
+GST_COMPARE
+GST_COMPARE_CAST
+GST_IS_COMPARE
+GST_COMPARE_CLASS
+GST_IS_COMPARE_CLASS
+GST_TYPE_COMPARE
+<SUBSECTION Private>
+gst_compare_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-compositor</FILE>
+<TITLE>compositor</TITLE>
+GstCompositor
+GstCompositorBackground
+<SUBSECTION Standard>
+GstCompositorClass
+GST_COMPOSITOR
+GST_COMPOSITOR_CAST
+GST_IS_COMPOSITOR
+GST_COMPOSITOR_CLASS
+GST_IS_COMPOSITOR_CLASS
+GST_TYPE_COMPOSITOR
+<SUBSECTION Private>
+gst_compositor_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-curlfilesink</FILE>
+<TITLE>curlfilesink</TITLE>
+GstCurlFileSink
+<SUBSECTION Standard>
+GstCurlFileSinkClass
+GST_CURL_FILE_SINK
+GST_CURL_FILE_SINK_CAST
+GST_IS_CURL_FILE_SINK
+GST_CURL_FILE_SINK_CLASS
+GST_IS_CURL_FILE_SINK_CLASS
+GST_TYPE_CURL_FILE_SINK
+<SUBSECTION Private>
+gst_curl_file_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-curlftpsink</FILE>
+<TITLE>curlftpsink</TITLE>
+GstCurlFtpSink
+<SUBSECTION Standard>
+GstCurlFtpSinkClass
+GST_CURL_FTP_SINK
+GST_CURL_FTP_SINK_CAST
+GST_IS_CURL_FTP_SINK
+GST_CURL_FTP_SINK_CLASS
+GST_IS_CURL_FTP_SINK_CLASS
+GST_TYPE_CURL_FTP_SINK
+<SUBSECTION Private>
+gst_curl_ftp_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-curlhttpsink</FILE>
+<TITLE>curlhttpsink</TITLE>
+GstCurlHttpSink
+<SUBSECTION Standard>
+GstCurlHttpSinkClass
+GST_CURL_HTTP_SINK
+GST_CURL_HTTP_SINK_CAST
+GST_IS_CURL_HTTP_SINK
+GST_CURL_HTTP_SINK_CLASS
+GST_IS_CURL_HTTP_SINK_CLASS
+GST_TYPE_CURL_HTTP_SINK
+<SUBSECTION Private>
+gst_curl_http_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-curlsmtpsink</FILE>
+<TITLE>curlsmtpsink</TITLE>
+GstCurlSmtpSink
+<SUBSECTION Standard>
+GstCurlSmtpSinkClass
+GST_CURL_SMTP_SINK
+GST_CURL_SMTP_SINK_CAST
+GST_IS_CURL_SMTP_SINK
+GST_CURL_SMTP_SINK_CLASS
+GST_IS_CURL_SMTP_SINK_CLASS
+GST_TYPE_CURL_SMTP_SINK
+<SUBSECTION Private>
+gst_curl_smtp_sink_get_type
 </SECTION>
 
 <SECTION>
@@ -238,27 +667,13 @@
 <SUBSECTION Standard>
 GstCvDilateClass
 GST_CV_DILATE
-GST_CV_DILATE_CLASS
+GST_CV_DILATE_CAST
 GST_IS_CV_DILATE
+GST_CV_DILATE_CLASS
 GST_IS_CV_DILATE_CLASS
 GST_TYPE_CV_DILATE
+<SUBSECTION Private>
 gst_cv_dilate_get_type
-gst_cv_dilate_plugin_init
-</SECTION>
-
-<SECTION>
-<FILE>element-cverode</FILE>
-<TITLE>cverode</TITLE>
-GstCvErode
-<SUBSECTION Standard>
-GstCvErodeClass
-GST_CV_ERODE
-GST_CV_ERODE_CLASS
-GST_IS_CV_ERODE
-GST_IS_CV_ERODE_CLASS
-GST_TYPE_CV_ERODE
-gst_cv_erode_get_type
-gst_cv_erode_plugin_init
 </SECTION>
 
 <SECTION>
@@ -268,12 +683,29 @@
 <SUBSECTION Standard>
 GstCvEqualizeHistClass
 GST_CV_EQUALIZE_HIST
-GST_CV_EQUALIZE_HIST_CLASS
+GST_CV_EQUALIZE_HIST_CAST
 GST_IS_CV_EQUALIZE_HIST
+GST_CV_EQUALIZE_HIST_CLASS
 GST_IS_CV_EQUALIZE_HIST_CLASS
 GST_TYPE_CV_EQUALIZE_HIST
+<SUBSECTION Private>
 gst_cv_equalize_hist_get_type
-gst_cv_equalize_hist_plugin_init
+</SECTION>
+
+<SECTION>
+<FILE>element-cverode</FILE>
+<TITLE>cverode</TITLE>
+GstCvErode
+<SUBSECTION Standard>
+GstCvErodeClass
+GST_CV_ERODE
+GST_CV_ERODE_CAST
+GST_IS_CV_ERODE
+GST_CV_ERODE_CLASS
+GST_IS_CV_ERODE_CLASS
+GST_TYPE_CV_ERODE
+<SUBSECTION Private>
+gst_cv_erode_get_type
 </SECTION>
 
 <SECTION>
@@ -283,27 +715,30 @@
 <SUBSECTION Standard>
 GstCvLaplaceClass
 GST_CV_LAPLACE
-GST_CV_LAPLACE_CLASS
+GST_CV_LAPLACE_CAST
 GST_IS_CV_LAPLACE
+GST_CV_LAPLACE_CLASS
 GST_IS_CV_LAPLACE_CLASS
 GST_TYPE_CV_LAPLACE
+<SUBSECTION Private>
 gst_cv_laplace_get_type
-gst_cv_laplace_plugin_init
 </SECTION>
 
 <SECTION>
 <FILE>element-cvsmooth</FILE>
 <TITLE>cvsmooth</TITLE>
 GstCvSmooth
+GstCvSmoothTypeType
 <SUBSECTION Standard>
 GstCvSmoothClass
 GST_CV_SMOOTH
-GST_CV_SMOOTH_CLASS
+GST_CV_SMOOTH_CAST
 GST_IS_CV_SMOOTH
+GST_CV_SMOOTH_CLASS
 GST_IS_CV_SMOOTH_CLASS
 GST_TYPE_CV_SMOOTH
+<SUBSECTION Private>
 gst_cv_smooth_get_type
-gst_cv_smooth_plugin_init
 </SECTION>
 
 <SECTION>
@@ -313,12 +748,61 @@
 <SUBSECTION Standard>
 GstCvSobelClass
 GST_CV_SOBEL
-GST_CV_SOBEL_CLASS
+GST_CV_SOBEL_CAST
 GST_IS_CV_SOBEL
+GST_CV_SOBEL_CLASS
 GST_IS_CV_SOBEL_CLASS
 GST_TYPE_CV_SOBEL
+<SUBSECTION Private>
 gst_cv_sobel_get_type
-gst_cv_sobel_plugin_init
+</SECTION>
+
+<SECTION>
+<FILE>element-dvbsuboverlay</FILE>
+<TITLE>dvbsuboverlay</TITLE>
+GstDVBSubOverlay
+<SUBSECTION Standard>
+GstDVBSubOverlayClass
+GST_DVB_SUB_OVERLAY
+GST_DVB_SUB_OVERLAY_CAST
+GST_IS_DVB_SUB_OVERLAY
+GST_DVB_SUB_OVERLAY_CLASS
+GST_IS_DVB_SUB_OVERLAY_CLASS
+GST_TYPE_DVB_SUB_OVERLAY
+<SUBSECTION Private>
+gst_dvb_sub_overlay_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-dvdspu</FILE>
+<TITLE>dvdspu</TITLE>
+GstDVDSpu
+<SUBSECTION Standard>
+GstDVDSpuClass
+GST_DVD_SPU
+GST_DVD_SPU_CAST
+GST_IS_DVD_SPU
+GST_DVD_SPU_CLASS
+GST_IS_DVD_SPU_CLASS
+GST_TYPE_DVD_SPU
+<SUBSECTION Private>
+gst_dvd_spu_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-dashdemux</FILE>
+<TITLE>dashdemux</TITLE>
+GstDashDemux
+<SUBSECTION Standard>
+GstDashDemuxClass
+GST_DASH_DEMUX
+GST_DASH_DEMUX_CAST
+GST_IS_DASH_DEMUX
+GST_DASH_DEMUX_CLASS
+GST_IS_DASH_DEMUX_CLASS
+GST_TYPE_DASH_DEMUX
+<SUBSECTION Private>
+gst_dash_demux_get_type
 </SECTION>
 
 <SECTION>
@@ -328,14 +812,15 @@
 <SUBSECTION Standard>
 GstDataURISrcClass
 GST_DATA_URI_SRC
-GST_DATA_URI_SRC_CLASS
+GST_DATA_URI_SRC_CAST
 GST_IS_DATA_URI_SRC
+GST_DATA_URI_SRC_CLASS
 GST_IS_DATA_URI_SRC_CLASS
 GST_TYPE_DATA_URI_SRC
+<SUBSECTION Private>
 gst_data_uri_src_get_type
 </SECTION>
 
-
 <SECTION>
 <FILE>element-dc1394</FILE>
 <TITLE>dc1394</TITLE>
@@ -407,6 +892,86 @@
 </SECTION>
 
 <SECTION>
+<FILE>element-debugspy</FILE>
+<TITLE>debugspy</TITLE>
+GstDebugSpy
+<SUBSECTION Standard>
+GstDebugSpyClass
+GST_DEBUG_SPY
+GST_DEBUG_SPY_CAST
+GST_IS_DEBUG_SPY
+GST_DEBUG_SPY_CLASS
+GST_IS_DEBUG_SPY_CLASS
+GST_TYPE_DEBUG_SPY
+<SUBSECTION Private>
+gst_debug_spy_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-decklinkaudiosink</FILE>
+<TITLE>decklinkaudiosink</TITLE>
+GstDecklinkAudioSink
+<SUBSECTION Standard>
+GstDecklinkAudioSinkClass
+GST_DECKLINK_AUDIO_SINK
+GST_DECKLINK_AUDIO_SINK_CAST
+GST_IS_DECKLINK_AUDIO_SINK
+GST_DECKLINK_AUDIO_SINK_CLASS
+GST_IS_DECKLINK_AUDIO_SINK_CLASS
+GST_TYPE_DECKLINK_AUDIO_SINK
+<SUBSECTION Private>
+gst_decklink_audio_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-decklinkaudiosrc</FILE>
+<TITLE>decklinkaudiosrc</TITLE>
+GstDecklinkAudioSrc
+<SUBSECTION Standard>
+GstDecklinkAudioSrcClass
+GST_DECKLINK_AUDIO_SRC
+GST_DECKLINK_AUDIO_SRC_CAST
+GST_IS_DECKLINK_AUDIO_SRC
+GST_DECKLINK_AUDIO_SRC_CLASS
+GST_IS_DECKLINK_AUDIO_SRC_CLASS
+GST_TYPE_DECKLINK_AUDIO_SRC
+<SUBSECTION Private>
+gst_decklink_audio_src_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-decklinkvideosink</FILE>
+<TITLE>decklinkvideosink</TITLE>
+GstDecklinkVideoSink
+<SUBSECTION Standard>
+GstDecklinkVideoSinkClass
+GST_DECKLINK_VIDEO_SINK
+GST_DECKLINK_VIDEO_SINK_CAST
+GST_IS_DECKLINK_VIDEO_SINK
+GST_DECKLINK_VIDEO_SINK_CLASS
+GST_IS_DECKLINK_VIDEO_SINK_CLASS
+GST_TYPE_DECKLINK_VIDEO_SINK
+<SUBSECTION Private>
+gst_decklink_video_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-decklinkvideosrc</FILE>
+<TITLE>decklinkvideosrc</TITLE>
+GstDecklinkVideoSrc
+<SUBSECTION Standard>
+GstDecklinkVideoSrcClass
+GST_DECKLINK_VIDEO_SRC
+GST_DECKLINK_VIDEO_SRC_CAST
+GST_IS_DECKLINK_VIDEO_SRC
+GST_DECKLINK_VIDEO_SRC_CLASS
+GST_IS_DECKLINK_VIDEO_SRC_CLASS
+GST_TYPE_DECKLINK_VIDEO_SRC
+<SUBSECTION Private>
+gst_decklink_video_src_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-dfbvideosink</FILE>
 <TITLE>dfbvideosink</TITLE>
 GstDfbVideoSink
@@ -434,12 +999,12 @@
 GstDiffuseClass
 GST_DIFFUSE
 GST_DIFFUSE_CAST
-GST_DIFFUSE_CLASS
 GST_IS_DIFFUSE
+GST_DIFFUSE_CLASS
 GST_IS_DIFFUSE_CLASS
 GST_TYPE_DIFFUSE
+<SUBSECTION Private>
 gst_diffuse_get_type
-gst_diffuse_plugin_init
 </SECTION>
 
 <SECTION>
@@ -449,12 +1014,46 @@
 <SUBSECTION Standard>
 GstDilateClass
 GST_DILATE
-GST_DILATE_CLASS
+GST_DILATE_CAST
 GST_IS_DILATE
+GST_DILATE_CLASS
 GST_IS_DILATE_CLASS
 GST_TYPE_DILATE
+<SUBSECTION Private>
 gst_dilate_get_type
-gst_dilate_plugin_init
+</SECTION>
+
+<SECTION>
+<FILE>element-diracparse</FILE>
+<TITLE>diracparse</TITLE>
+GstDiracParse
+<SUBSECTION Standard>
+GstDiracParseClass
+GST_DIRAC_PARSE
+GST_DIRAC_PARSE_CAST
+GST_IS_DIRAC_PARSE
+GST_DIRAC_PARSE_CLASS
+GST_IS_DIRAC_PARSE_CLASS
+GST_TYPE_DIRAC_PARSE
+<SUBSECTION Private>
+gst_dirac_parse_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-disparity</FILE>
+<TITLE>disparity</TITLE>
+GstDisparity
+GstDisparityMethod
+<SUBSECTION Standard>
+GstDisparityClass
+GST_DISPARITY
+GST_DISPARITY_CAST
+GST_IS_DISPARITY
+GST_DISPARITY_CLASS
+GST_IS_DISPARITY_CLASS
+GST_TYPE_DISPARITY
+<SUBSECTION Private>
+gst_disparity_get_type
 </SECTION>
 
 <SECTION>
@@ -464,12 +1063,93 @@
 <SUBSECTION Standard>
 GstDodgeClass
 GST_DODGE
-GST_DODGE_CLASS
+GST_DODGE_CAST
 GST_IS_DODGE
+GST_DODGE_CLASS
 GST_IS_DODGE_CLASS
 GST_TYPE_DODGE
+<SUBSECTION Private>
 gst_dodge_get_type
-gst_dodge_plugin_init
+</SECTION>
+
+<SECTION>
+<FILE>element-dtlsdec</FILE>
+<TITLE>dtlsdec</TITLE>
+GstDtlsDec
+<SUBSECTION Standard>
+GstDtlsDecClass
+GST_DTLS_DEC
+GST_DTLS_DEC_CAST
+GST_IS_DTLS_DEC
+GST_DTLS_DEC_CLASS
+GST_IS_DTLS_DEC_CLASS
+GST_TYPE_DTLS_DEC
+<SUBSECTION Private>
+gst_dtls_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-dtlsenc</FILE>
+<TITLE>dtlsenc</TITLE>
+GstDtlsEnc
+<SUBSECTION Standard>
+GstDtlsEncClass
+GST_DTLS_ENC
+GST_DTLS_ENC_CAST
+GST_IS_DTLS_ENC
+GST_DTLS_ENC_CLASS
+GST_IS_DTLS_ENC_CLASS
+GST_TYPE_DTLS_ENC
+<SUBSECTION Private>
+gst_dtls_enc_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-dtlssrtpdec</FILE>
+<TITLE>dtlssrtpdec</TITLE>
+GstDtlsSrtpDec
+<SUBSECTION Standard>
+GstDtlsSrtpDecClass
+GST_DTLS_SRTP_DEC
+GST_DTLS_SRTP_DEC_CAST
+GST_IS_DTLS_SRTP_DEC
+GST_DTLS_SRTP_DEC_CLASS
+GST_IS_DTLS_SRTP_DEC_CLASS
+GST_TYPE_DTLS_SRTP_DEC
+<SUBSECTION Private>
+gst_dtls_srtp_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-dtlssrtpdemux</FILE>
+<TITLE>dtlssrtpdemux</TITLE>
+GstDtlsSrtpDemux
+<SUBSECTION Standard>
+GstDtlsSrtpDemuxClass
+GST_DTLS_SRTP_DEMUX
+GST_DTLS_SRTP_DEMUX_CAST
+GST_IS_DTLS_SRTP_DEMUX
+GST_DTLS_SRTP_DEMUX_CLASS
+GST_IS_DTLS_SRTP_DEMUX_CLASS
+GST_TYPE_DTLS_SRTP_DEMUX
+<SUBSECTION Private>
+gst_dtls_srtp_demux_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-dtlssrtpenc</FILE>
+<TITLE>dtlssrtpenc</TITLE>
+GstDtlsSrtpEnc
+<SUBSECTION Standard>
+GstDtlsSrtpEncClass
+GST_DTLS_SRTP_ENC
+GST_DTLS_SRTP_ENC_CAST
+GST_IS_DTLS_SRTP_ENC
+GST_DTLS_SRTP_ENC_CLASS
+GST_IS_DTLS_SRTP_ENC_CLASS
+GST_TYPE_DTLS_SRTP_ENC
+<SUBSECTION Private>
+gst_dtls_srtp_enc_get_type
 </SECTION>
 
 <SECTION>
@@ -478,16 +1158,14 @@
 GstDtmfDetect
 <SUBSECTION Standard>
 GstDtmfDetectClass
-GstDtmfDetectPrivate
-GST_TYPE_DTMF_DETECT
 GST_DTMF_DETECT
 GST_DTMF_DETECT_CAST
-GST_DTMF_DETECT_CLASS
-GST_DTMF_DETECT_GET_CLASS
 GST_IS_DTMF_DETECT
+GST_DTMF_DETECT_CLASS
 GST_IS_DTMF_DETECT_CLASS
+GST_TYPE_DTMF_DETECT
+<SUBSECTION Private>
 gst_dtmf_detect_get_type
-gst_dtmf_detect_plugin_init
 </SECTION>
 
 <SECTION>
@@ -496,75 +1174,80 @@
 GstDtsDec
 <SUBSECTION Standard>
 GstDtsDecClass
-gst_dtsdec_get_type
-GST_TYPE_DTSDEC
-GST_DTSDEC
-GST_DTSDEC_CLASS
-GST_IS_DTSDEC
-GST_IS_DTSDEC_CLASS
+GST_DTS_DEC
+GST_DTS_DEC_CAST
+GST_IS_DTS_DEC
+GST_DTS_DEC_CLASS
+GST_IS_DTS_DEC_CLASS
+GST_TYPE_DTS_DEC
+<SUBSECTION Private>
+gst_dts_dec_get_type
 </SECTION>
 
 <SECTION>
 <FILE>element-dvbsrc</FILE>
 <TITLE>dvbsrc</TITLE>
 GstDvbSrc
+GstDvbSrcBandwidth
+GstDvbSrcCode_Rate
+GstDvbSrcCode_Rate
+GstDvbSrcDelsys
+GstDvbSrcGuard
+GstDvbSrcHierarchy
+GstDvbSrcInterleaving
+GstDvbSrcInversion
+GstDvbSrcCode_Rate
+GstDvbSrcModulation
+GstDvbSrcCode_Rate
+GstDvbSrcModulation
+GstDvbSrcCode_Rate
+GstDvbSrcModulation
+GstDvbSrcModulation
+GstDvbSrcPilot
+GstDvbSrcRolloff
+GstDvbSrcTransmission_Mode
 <SUBSECTION Standard>
 GstDvbSrcClass
-GstDvbSrcParam
-GstDvbSrcPol
-GST_DVBSRC
-GST_DVBSRC_CLASS
-GST_IS_DVBSRC
-GST_IS_DVBSRC_CLASS
-GST_TYPE_DVBSRC
-gst_dvbsrc_get_type
-gst_dvbsrc_plugin_init
-DEFAULT_BUFFER_SIZE
-DEFAULT_DEVICE
-DEFAULT_DISEQC_SRC
-DEFAULT_SYMBOL_RATE
-MAX_FILTERS
-IPACKS
-IN_SIZE
-TS_SIZE
-</SECTION>
-
-<SECTION>
-<FILE>element-dvdspu</FILE>
-<TITLE>dvdspu</TITLE>
-GstDVDSpu
-<SUBSECTION Standard>
-GstDVDSpuClass
-GST_DVD_SPU
-GST_DVD_SPU_CLASS
-GST_IS_DVD_SPU
-GST_IS_DVD_SPU_CLASS
-GST_TYPE_DVD_SPU
-gst_dvd_spu_get_type
-SpuColour
-SpuLineCtrlI
-SpuPacket
-SpuPixCtrlI
-SpuRect
-SpuState
-DVD_SPU_LOCK
-DVD_SPU_UNLOCK
-SPU_STATE_FLAGS_MASK
+GST_DVB_SRC
+GST_DVB_SRC_CAST
+GST_IS_DVB_SRC
+GST_DVB_SRC_CLASS
+GST_IS_DVB_SRC_CLASS
+GST_TYPE_DVB_SRC
+<SUBSECTION Private>
+gst_dvb_src_get_type
 </SECTION>
 
 <SECTION>
 <FILE>element-edgedetect</FILE>
 <TITLE>edgedetect</TITLE>
-Gstedgedetect
+GstEdgeDetect
 <SUBSECTION Standard>
-GstedgedetectClass
-GST_EDGEDETECT
-GST_EDGEDETECT_CLASS
-GST_IS_EDGEDETECT
-GST_IS_EDGEDETECT_CLASS
-GST_TYPE_EDGEDETECT
-gst_edgedetect_get_type
-gst_edgedetect_plugin_init
+GstEdgeDetectClass
+GST_EDGE_DETECT
+GST_EDGE_DETECT_CAST
+GST_IS_EDGE_DETECT
+GST_EDGE_DETECT_CLASS
+GST_IS_EDGE_DETECT_CLASS
+GST_TYPE_EDGE_DETECT
+<SUBSECTION Private>
+gst_edge_detect_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-errorignore</FILE>
+<TITLE>errorignore</TITLE>
+GstErrorIgnore
+<SUBSECTION Standard>
+GstErrorIgnoreClass
+GST_ERROR_IGNORE
+GST_ERROR_IGNORE_CAST
+GST_IS_ERROR_IGNORE
+GST_ERROR_IGNORE_CLASS
+GST_IS_ERROR_IGNORE_CLASS
+GST_TYPE_ERROR_IGNORE
+<SUBSECTION Private>
+gst_error_ignore_get_type
 </SECTION>
 
 <SECTION>
@@ -574,25 +1257,62 @@
 <SUBSECTION Standard>
 GstExclusionClass
 GST_EXCLUSION
-GST_EXCLUSION_CLASS
+GST_EXCLUSION_CAST
 GST_IS_EXCLUSION
+GST_EXCLUSION_CLASS
 GST_IS_EXCLUSION_CLASS
 GST_TYPE_EXCLUSION
+<SUBSECTION Private>
 gst_exclusion_get_type
-gst_exclusion_plugin_init
+</SECTION>
+
+<SECTION>
+<FILE>element-fbdevsink</FILE>
+<TITLE>fbdevsink</TITLE>
+GstFBDEVSink
+<SUBSECTION Standard>
+GstFBDEVSinkClass
+GST_FBDEV_SINK
+GST_FBDEV_SINK_CAST
+GST_IS_FBDEV_SINK
+GST_FBDEV_SINK_CLASS
+GST_IS_FBDEV_SINK_CLASS
+GST_TYPE_FBDEV_SINK
+<SUBSECTION Private>
+gst_fbdev_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-fpsdisplaysink</FILE>
+<TITLE>fpsdisplaysink</TITLE>
+GstFPSDisplaySink
+<SUBSECTION Standard>
+GstFPSDisplaySinkClass
+GST_FPS_DISPLAY_SINK
+GST_FPS_DISPLAY_SINK_CAST
+GST_IS_FPS_DISPLAY_SINK
+GST_FPS_DISPLAY_SINK_CLASS
+GST_IS_FPS_DISPLAY_SINK_CLASS
+GST_TYPE_FPS_DISPLAY_SINK
+<SUBSECTION Private>
+gst_fps_display_sink_get_type
 </SECTION>
 
 <SECTION>
 <FILE>element-faac</FILE>
 <TITLE>faac</TITLE>
 GstFaac
+GstFaacBrtype
+GstFaacShortCtl
 <SUBSECTION Standard>
 GstFaacClass
-GST_TYPE_FAAC
 GST_FAAC
+GST_FAAC_CAST
 GST_IS_FAAC
 GST_FAAC_CLASS
 GST_IS_FAAC_CLASS
+GST_TYPE_FAAC
+<SUBSECTION Private>
 gst_faac_get_type
 </SECTION>
 
@@ -602,41 +1322,47 @@
 GstFaad
 <SUBSECTION Standard>
 GstFaadClass
-GST_TYPE_FAAD
 GST_FAAD
+GST_FAAD_CAST
 GST_IS_FAAD
 GST_FAAD_CLASS
 GST_IS_FAAD_CLASS
+GST_TYPE_FAAD
+<SUBSECTION Private>
 gst_faad_get_type
 </SECTION>
-<SECTION>
 
+<SECTION>
 <FILE>element-faceblur</FILE>
 <TITLE>faceblur</TITLE>
-Gstfaceblur
+GstFaceBlur
 <SUBSECTION Standard>
-GstfaceblurClass
-GST_FACEBLUR
-GST_FACEBLUR_CLASS
-GST_TYPE_FACEBLUR
-GST_IS_FACEBLUR
-GST_IS_FACEBLUR_CLASS
-gst_faceblur_get_type
-gst_faceblur_plugin_init
+GstFaceBlurClass
+GST_FACE_BLUR
+GST_FACE_BLUR_CAST
+GST_IS_FACE_BLUR
+GST_FACE_BLUR_CLASS
+GST_IS_FACE_BLUR_CLASS
+GST_TYPE_FACE_BLUR
+<SUBSECTION Private>
+gst_face_blur_get_type
 </SECTION>
 
+<SECTION>
 <FILE>element-facedetect</FILE>
 <TITLE>facedetect</TITLE>
-Gstfacedetect
+GstFaceDetect
+GstFaceDetectUpdates
 <SUBSECTION Standard>
-GstfacedetectClass
-GST_FACEDETECT
-GST_FACEDETECT_CLASS
-GST_TYPE_FACEDETECT
-GST_IS_FACEDETECT
-GST_IS_FACEDETECT_CLASS
-gst_facedetect_get_type
-gst_facedetect_plugin_init
+GstFaceDetectClass
+GST_FACE_DETECT
+GST_FACE_DETECT_CAST
+GST_IS_FACE_DETECT
+GST_FACE_DETECT_CLASS
+GST_IS_FACE_DETECT_CLASS
+GST_TYPE_FACE_DETECT
+<SUBSECTION Private>
+gst_face_detect_get_type
 </SECTION>
 
 <SECTION>
@@ -645,16 +1371,32 @@
 GstFestival
 <SUBSECTION Standard>
 GstFestivalClass
-GstFestivalFlags
 GST_FESTIVAL
-GST_FESTIVAL_CLASS
+GST_FESTIVAL_CAST
 GST_IS_FESTIVAL
+GST_FESTIVAL_CLASS
 GST_IS_FESTIVAL_CLASS
 GST_TYPE_FESTIVAL
+<SUBSECTION Private>
 gst_festival_get_type
-FESTIVAL_DEFAULT_SERVER_HOST
-FESTIVAL_DEFAULT_SERVER_PORT
-FESTIVAL_DEFAULT_TEXT_MODE
+</SECTION>
+
+<SECTION>
+<FILE>element-fieldanalysis</FILE>
+<TITLE>fieldanalysis</TITLE>
+GstFieldAnalysis
+GstFieldAnalysisFieldMetric
+GstFieldAnalysisFrameMetric
+<SUBSECTION Standard>
+GstFieldAnalysisClass
+GST_FIELD_ANALYSIS
+GST_FIELD_ANALYSIS_CAST
+GST_IS_FIELD_ANALYSIS
+GST_FIELD_ANALYSIS_CLASS
+GST_IS_FIELD_ANALYSIS_CLASS
+GST_TYPE_FIELD_ANALYSIS
+<SUBSECTION Private>
+gst_field_analysis_get_type
 </SECTION>
 
 <SECTION>
@@ -665,38 +1407,862 @@
 GstFisheyeClass
 GST_FISHEYE
 GST_FISHEYE_CAST
-GST_FISHEYE_CLASS
 GST_IS_FISHEYE
+GST_FISHEYE_CLASS
 GST_IS_FISHEYE_CLASS
 GST_TYPE_FISHEYE
+<SUBSECTION Private>
 gst_fisheye_get_type
-gst_fisheye_plugin_init
 </SECTION>
 
 <SECTION>
-<FILE>element-fpsdisplaysink</FILE>
-<TITLE>fpsdisplaysink</TITLE>
-GstFPSDisplaySink
+<FILE>element-fluiddec</FILE>
+<TITLE>fluiddec</TITLE>
+GstFluidDec
 <SUBSECTION Standard>
-GstFPSDisplaySinkClass
-GST_TYPE_FPS_DISPLAY_SINK
-GST_FPS_DISPLAY_SINK
-GST_IS_FPS_DISPLAY_SINK
-GST_FPS_DISPLAY_SINK_CLASS
-GST_IS_FPS_DISPLAY_SINK_CLASS
-fps_display_sink_get_type
+GstFluidDecClass
+GST_FLUID_DEC
+GST_FLUID_DEC_CAST
+GST_IS_FLUID_DEC
+GST_FLUID_DEC_CLASS
+GST_IS_FLUID_DEC_CLASS
+GST_TYPE_FLUID_DEC
+<SUBSECTION Private>
+gst_fluid_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-freeverb</FILE>
+<TITLE>freeverb</TITLE>
+GstFreeverb
+<SUBSECTION Standard>
+GstFreeverbClass
+GST_FREEVERB
+GST_FREEVERB_CAST
+GST_IS_FREEVERB
+GST_FREEVERB_CLASS
+GST_IS_FREEVERB_CLASS
+GST_TYPE_FREEVERB
+<SUBSECTION Private>
+gst_freeverb_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gdpdepay</FILE>
+<TITLE>gdpdepay</TITLE>
+GstGDPDepay
+<SUBSECTION Standard>
+GstGDPDepayClass
+GST_GDP_DEPAY
+GST_GDP_DEPAY_CAST
+GST_IS_GDP_DEPAY
+GST_GDP_DEPAY_CLASS
+GST_IS_GDP_DEPAY_CLASS
+GST_TYPE_GDP_DEPAY
+<SUBSECTION Private>
+gst_gdp_depay_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gdppay</FILE>
+<TITLE>gdppay</TITLE>
+GstGDPPay
+<SUBSECTION Standard>
+GstGDPPayClass
+GST_GDP_PAY
+GST_GDP_PAY_CAST
+GST_IS_GDP_PAY
+GST_GDP_PAY_CLASS
+GST_IS_GDP_PAY_CLASS
+GST_TYPE_GDP_PAY
+<SUBSECTION Private>
+gst_gdp_pay_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glcolorbalance</FILE>
+<TITLE>glcolorbalance</TITLE>
+GstGLColorBalance
+<SUBSECTION Standard>
+GstGLColorBalanceClass
+GST_GL_COLOR_BALANCE
+GST_GL_COLOR_BALANCE_CAST
+GST_IS_GL_COLOR_BALANCE
+GST_GL_COLOR_BALANCE_CLASS
+GST_IS_GL_COLOR_BALANCE_CLASS
+GST_TYPE_GL_COLOR_BALANCE
+<SUBSECTION Private>
+gst_gl_color_balance_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glcolorconvert</FILE>
+<TITLE>glcolorconvert</TITLE>
+GstGLColorConvertElement
+<SUBSECTION Standard>
+GstGLColorConvertElementClass
+GST_GL_COLOR_CONVERT_ELEMENT
+GST_GL_COLOR_CONVERT_ELEMENT_CAST
+GST_IS_GL_COLOR_CONVERT_ELEMENT
+GST_GL_COLOR_CONVERT_ELEMENT_CLASS
+GST_IS_GL_COLOR_CONVERT_ELEMENT_CLASS
+GST_TYPE_GL_COLOR_CONVERT_ELEMENT
+<SUBSECTION Private>
+gst_gl_color_convert_element_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glcolorscale</FILE>
+<TITLE>glcolorscale</TITLE>
+GstGLColorscale
+<SUBSECTION Standard>
+GstGLColorscaleClass
+GST_GL_COLORSCALE
+GST_GL_COLORSCALE_CAST
+GST_IS_GL_COLORSCALE
+GST_GL_COLORSCALE_CLASS
+GST_IS_GL_COLORSCALE_CLASS
+GST_TYPE_GL_COLORSCALE
+<SUBSECTION Private>
+gst_gl_colorscale_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gldeinterlace</FILE>
+<TITLE>gldeinterlace</TITLE>
+GstGLDeinterlace
+GstGLDeinterlaceMethod
+<SUBSECTION Standard>
+GstGLDeinterlaceClass
+GST_GL_DEINTERLACE
+GST_GL_DEINTERLACE_CAST
+GST_IS_GL_DEINTERLACE
+GST_GL_DEINTERLACE_CLASS
+GST_IS_GL_DEINTERLACE_CLASS
+GST_TYPE_GL_DEINTERLACE
+<SUBSECTION Private>
+gst_gl_deinterlace_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gldifferencematte</FILE>
+<TITLE>gldifferencematte</TITLE>
+GstGLDifferenceMatte
+<SUBSECTION Standard>
+GstGLDifferenceMatteClass
+GST_GL_DIFFERENCE_MATTE
+GST_GL_DIFFERENCE_MATTE_CAST
+GST_IS_GL_DIFFERENCE_MATTE
+GST_GL_DIFFERENCE_MATTE_CLASS
+GST_IS_GL_DIFFERENCE_MATTE_CLASS
+GST_TYPE_GL_DIFFERENCE_MATTE
+<SUBSECTION Private>
+gst_gl_difference_matte_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gldownload</FILE>
+<TITLE>gldownload</TITLE>
+GstGLDownloadElement
+<SUBSECTION Standard>
+GstGLDownloadElementClass
+GST_GL_DOWNLOAD_ELEMENT
+GST_GL_DOWNLOAD_ELEMENT_CAST
+GST_IS_GL_DOWNLOAD_ELEMENT
+GST_GL_DOWNLOAD_ELEMENT_CLASS
+GST_IS_GL_DOWNLOAD_ELEMENT_CLASS
+GST_TYPE_GL_DOWNLOAD_ELEMENT
+<SUBSECTION Private>
+gst_gl_download_element_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects</FILE>
+<TITLE>gleffects</TITLE>
+GstGLEffectsGeneric
+<SUBSECTION Standard>
+GstGLEffectsGenericClass
+GST_GL_EFFECTS_GENERIC
+GST_GL_EFFECTS_GENERIC_CAST
+GST_IS_GL_EFFECTS_GENERIC
+GST_GL_EFFECTS_GENERIC_CLASS
+GST_IS_GL_EFFECTS_GENERIC_CLASS
+GST_TYPE_GL_EFFECTS_GENERIC
+<SUBSECTION Private>
+gst_gl_effects_generic_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glfilterapp</FILE>
+<TITLE>glfilterapp</TITLE>
+GstGLFilterApp
+<SUBSECTION Standard>
+GstGLFilterAppClass
+GST_GL_FILTER_APP
+GST_GL_FILTER_APP_CAST
+GST_IS_GL_FILTER_APP
+GST_GL_FILTER_APP_CLASS
+GST_IS_GL_FILTER_APP_CLASS
+GST_TYPE_GL_FILTER_APP
+<SUBSECTION Private>
+gst_gl_filter_app_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glfilterbin</FILE>
+<TITLE>glfilterbin</TITLE>
+GstGLFilterBin
+<SUBSECTION Standard>
+GstGLFilterBinClass
+GST_GL_FILTER_BIN
+GST_GL_FILTER_BIN_CAST
+GST_IS_GL_FILTER_BIN
+GST_GL_FILTER_BIN_CLASS
+GST_IS_GL_FILTER_BIN_CLASS
+GST_TYPE_GL_FILTER_BIN
+<SUBSECTION Private>
+gst_gl_filter_bin_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glfiltercube</FILE>
+<TITLE>glfiltercube</TITLE>
+GstGLFilterCube
+<SUBSECTION Standard>
+GstGLFilterCubeClass
+GST_GL_FILTER_CUBE
+GST_GL_FILTER_CUBE_CAST
+GST_IS_GL_FILTER_CUBE
+GST_GL_FILTER_CUBE_CLASS
+GST_IS_GL_FILTER_CUBE_CLASS
+GST_TYPE_GL_FILTER_CUBE
+<SUBSECTION Private>
+gst_gl_filter_cube_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glfilterglass</FILE>
+<TITLE>glfilterglass</TITLE>
+GstGLFilterGlass
+<SUBSECTION Standard>
+GstGLFilterGlassClass
+GST_GL_FILTER_GLASS
+GST_GL_FILTER_GLASS_CAST
+GST_IS_GL_FILTER_GLASS
+GST_GL_FILTER_GLASS_CLASS
+GST_IS_GL_FILTER_GLASS_CLASS
+GST_TYPE_GL_FILTER_GLASS
+<SUBSECTION Private>
+gst_gl_filter_glass_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glshader</FILE>
+<TITLE>glshader</TITLE>
+GstGLFilterShader
+<SUBSECTION Standard>
+GstGLFilterShaderClass
+GST_GL_FILTER_SHADER
+GST_GL_FILTER_SHADER_CAST
+GST_IS_GL_FILTER_SHADER
+GST_GL_FILTER_SHADER_CLASS
+GST_IS_GL_FILTER_SHADER_CLASS
+GST_TYPE_GL_FILTER_SHADER
+<SUBSECTION Private>
+gst_gl_filter_shader_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glimagesinkelement</FILE>
+<TITLE>glimagesinkelement</TITLE>
+GstGLImageSink
+<SUBSECTION Standard>
+GstGLImageSinkClass
+GST_GL_IMAGE_SINK
+GST_GL_IMAGE_SINK_CAST
+GST_IS_GL_IMAGE_SINK
+GST_GL_IMAGE_SINK_CLASS
+GST_IS_GL_IMAGE_SINK_CLASS
+GST_TYPE_GL_IMAGE_SINK
+<SUBSECTION Private>
+gst_gl_image_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glimagesink</FILE>
+<TITLE>glimagesink</TITLE>
+GstGLImageSinkBin
+<SUBSECTION Standard>
+GstGLImageSinkBinClass
+GST_GL_IMAGE_SINK_BIN
+GST_GL_IMAGE_SINK_BIN_CAST
+GST_IS_GL_IMAGE_SINK_BIN
+GST_GL_IMAGE_SINK_BIN_CLASS
+GST_IS_GL_IMAGE_SINK_BIN_CLASS
+GST_TYPE_GL_IMAGE_SINK_BIN
+<SUBSECTION Private>
+gst_gl_image_sink_bin_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glmixerbin</FILE>
+<TITLE>glmixerbin</TITLE>
+GstGLMixerBin
+GstGLMixerBinStartTimeSelection
+<SUBSECTION Standard>
+GstGLMixerBinClass
+GST_GL_MIXER_BIN
+GST_GL_MIXER_BIN_CAST
+GST_IS_GL_MIXER_BIN
+GST_GL_MIXER_BIN_CLASS
+GST_IS_GL_MIXER_BIN_CLASS
+GST_TYPE_GL_MIXER_BIN
+<SUBSECTION Private>
+gst_gl_mixer_bin_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glmosaic</FILE>
+<TITLE>glmosaic</TITLE>
+GstGLMosaic
+<SUBSECTION Standard>
+GstGLMosaicClass
+GST_GL_MOSAIC
+GST_GL_MOSAIC_CAST
+GST_IS_GL_MOSAIC
+GST_GL_MOSAIC_CLASS
+GST_IS_GL_MOSAIC_CLASS
+GST_TYPE_GL_MOSAIC
+<SUBSECTION Private>
+gst_gl_mosaic_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gloverlay</FILE>
+<TITLE>gloverlay</TITLE>
+GstGLOverlay
+<SUBSECTION Standard>
+GstGLOverlayClass
+GST_GL_OVERLAY
+GST_GL_OVERLAY_CAST
+GST_IS_GL_OVERLAY
+GST_GL_OVERLAY_CLASS
+GST_IS_GL_OVERLAY_CLASS
+GST_TYPE_GL_OVERLAY
+<SUBSECTION Private>
+gst_gl_overlay_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glsinkbin</FILE>
+<TITLE>glsinkbin</TITLE>
+GstGLSinkBin
+<SUBSECTION Standard>
+GstGLSinkBinClass
+GST_GL_SINK_BIN
+GST_GL_SINK_BIN_CAST
+GST_IS_GL_SINK_BIN
+GST_GL_SINK_BIN_CLASS
+GST_IS_GL_SINK_BIN_CLASS
+GST_TYPE_GL_SINK_BIN
+<SUBSECTION Private>
+gst_gl_sink_bin_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glsrcbin</FILE>
+<TITLE>glsrcbin</TITLE>
+GstGLSrcBin
+<SUBSECTION Standard>
+GstGLSrcBinClass
+GST_GL_SRC_BIN
+GST_GL_SRC_BIN_CAST
+GST_IS_GL_SRC_BIN
+GST_GL_SRC_BIN_CLASS
+GST_IS_GL_SRC_BIN_CLASS
+GST_TYPE_GL_SRC_BIN
+<SUBSECTION Private>
+gst_gl_src_bin_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glstereomix</FILE>
+<TITLE>glstereomix</TITLE>
+GstGLStereoMix
+<SUBSECTION Standard>
+GstGLStereoMixClass
+GST_GL_STEREO_MIX
+GST_GL_STEREO_MIX_CAST
+GST_IS_GL_STEREO_MIX
+GST_GL_STEREO_MIX_CLASS
+GST_IS_GL_STEREO_MIX_CLASS
+GST_TYPE_GL_STEREO_MIX
+<SUBSECTION Private>
+gst_gl_stereo_mix_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glstereosplit</FILE>
+<TITLE>glstereosplit</TITLE>
+GstGLStereoSplit
+<SUBSECTION Standard>
+GstGLStereoSplitClass
+GST_GL_STEREO_SPLIT
+GST_GL_STEREO_SPLIT_CAST
+GST_IS_GL_STEREO_SPLIT
+GST_GL_STEREO_SPLIT_CLASS
+GST_IS_GL_STEREO_SPLIT_CLASS
+GST_TYPE_GL_STEREO_SPLIT
+<SUBSECTION Private>
+gst_gl_stereo_split_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gltestsrc</FILE>
+<TITLE>gltestsrc</TITLE>
+GstGLTestSrc
+GstGLTestSrcPattern
+<SUBSECTION Standard>
+GstGLTestSrcClass
+GST_GL_TEST_SRC
+GST_GL_TEST_SRC_CAST
+GST_IS_GL_TEST_SRC
+GST_GL_TEST_SRC_CLASS
+GST_IS_GL_TEST_SRC_CLASS
+GST_TYPE_GL_TEST_SRC
+<SUBSECTION Private>
+gst_gl_test_src_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gltransformation</FILE>
+<TITLE>gltransformation</TITLE>
+GstGLTransformation
+<SUBSECTION Standard>
+GstGLTransformationClass
+GST_GL_TRANSFORMATION
+GST_GL_TRANSFORMATION_CLASS
+GST_IS_GL_TRANSFORMATION
+GST_IS_GL_TRANSFORMATION_CLASS
+GST_TYPE_GL_TRANSFORMATION
+</SECTION>
+
+<SECTION>
+<FILE>element-glupload</FILE>
+<TITLE>glupload</TITLE>
+GstGLUploadElement
+<SUBSECTION Standard>
+GstGLUploadElementClass
+GST_GL_UPLOAD_ELEMENT
+GST_GL_UPLOAD_ELEMENT_CAST
+GST_IS_GL_UPLOAD_ELEMENT
+GST_GL_UPLOAD_ELEMENT_CLASS
+GST_IS_GL_UPLOAD_ELEMENT_CLASS
+GST_TYPE_GL_UPLOAD_ELEMENT
+<SUBSECTION Private>
+gst_gl_upload_element_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glvideomixerelement</FILE>
+<TITLE>glvideomixerelement</TITLE>
+GstGLVideoMixer
+GstGLVideoMixerBackground
+<SUBSECTION Standard>
+GstGLVideoMixerClass
+GST_GL_VIDEO_MIXER
+GST_GL_VIDEO_MIXER_CAST
+GST_IS_GL_VIDEO_MIXER
+GST_GL_VIDEO_MIXER_CLASS
+GST_IS_GL_VIDEO_MIXER_CLASS
+GST_TYPE_GL_VIDEO_MIXER
+<SUBSECTION Private>
+gst_gl_video_mixer_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glvideomixer</FILE>
+<TITLE>glvideomixer</TITLE>
+GstGLVideoMixerBin
+<SUBSECTION Standard>
+GstGLVideoMixerBinClass
+GST_GL_VIDEO_MIXER_BIN
+GST_GL_VIDEO_MIXER_BIN_CAST
+GST_IS_GL_VIDEO_MIXER_BIN
+GST_GL_VIDEO_MIXER_BIN_CLASS
+GST_IS_GL_VIDEO_MIXER_BIN_CLASS
+GST_TYPE_GL_VIDEO_MIXER_BIN
+<SUBSECTION Private>
+gst_gl_video_mixer_bin_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-glviewconvert</FILE>
+<TITLE>glviewconvert</TITLE>
+GstGLViewConvertElement
+<SUBSECTION Standard>
+GstGLViewConvertElementClass
+GST_GL_VIEW_CONVERT_ELEMENT
+GST_GL_VIEW_CONVERT_ELEMENT_CAST
+GST_IS_GL_VIEW_CONVERT_ELEMENT
+GST_GL_VIEW_CONVERT_ELEMENT_CLASS
+GST_IS_GL_VIEW_CONVERT_ELEMENT_CLASS
+GST_TYPE_GL_VIEW_CONVERT_ELEMENT
+<SUBSECTION Private>
+gst_gl_view_convert_element_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gsmdec</FILE>
+<TITLE>gsmdec</TITLE>
+GstGSMDec
+<SUBSECTION Standard>
+GstGSMDecClass
+GST_GSM_DEC
+GST_GSM_DEC_CAST
+GST_IS_GSM_DEC
+GST_GSM_DEC_CLASS
+GST_IS_GSM_DEC_CLASS
+GST_TYPE_GSM_DEC
+<SUBSECTION Private>
+gst_gsm_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gsmenc</FILE>
+<TITLE>gsmenc</TITLE>
+GstGSMEnc
+<SUBSECTION Standard>
+GstGSMEncClass
+GST_GSM_ENC
+GST_GSM_ENC_CAST
+GST_IS_GSM_ENC
+GST_GSM_ENC_CLASS
+GST_IS_GSM_ENC_CLASS
+GST_TYPE_GSM_ENC
+<SUBSECTION Private>
+gst_gsm_enc_get_type
 </SECTION>
 
 <SECTION>
 <FILE>element-gaussianblur</FILE>
 <TITLE>gaussianblur</TITLE>
-GaussBlur
+GstGaussianBlur
 <SUBSECTION Standard>
-GaussBlurClass
-GAUSS_BLUR
-GST_TYPE_GAUSS_BLUR
-gauss_blur_get_type
-gst_gauss_blur_plugin_init
+GstGaussianBlurClass
+GST_GAUSSIAN_BLUR
+GST_GAUSSIAN_BLUR_CAST
+GST_IS_GAUSSIAN_BLUR
+GST_GAUSSIAN_BLUR_CLASS
+GST_IS_GAUSSIAN_BLUR_CLASS
+GST_TYPE_GAUSSIAN_BLUR
+<SUBSECTION Private>
+gst_gaussian_blur_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gmedec</FILE>
+<TITLE>gmedec</TITLE>
+GstGmeDec
+<SUBSECTION Standard>
+GstGmeDecClass
+GST_GME_DEC
+GST_GME_DEC_CAST
+GST_IS_GME_DEC
+GST_GME_DEC_CLASS
+GST_IS_GME_DEC_CLASS
+GST_TYPE_GME_DEC
+<SUBSECTION Private>
+gst_gme_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-grabcut</FILE>
+<TITLE>grabcut</TITLE>
+GstGrabcut
+<SUBSECTION Standard>
+GstGrabcutClass
+GST_GRABCUT
+GST_GRABCUT_CAST
+GST_IS_GRABCUT
+GST_GRABCUT_CLASS
+GST_IS_GRABCUT_CLASS
+GST_TYPE_GRABCUT
+<SUBSECTION Private>
+gst_grabcut_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gtkglsink</FILE>
+<TITLE>gtkglsink</TITLE>
+GstGtkGLSink
+<SUBSECTION Standard>
+GstGtkGLSinkClass
+GST_GTK_GL_SINK
+GST_GTK_GL_SINK_CAST
+GST_IS_GTK_GL_SINK
+GST_GTK_GL_SINK_CLASS
+GST_IS_GTK_GL_SINK_CLASS
+GST_TYPE_GTK_GL_SINK
+<SUBSECTION Private>
+gst_gtk_gl_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gtksink</FILE>
+<TITLE>gtksink</TITLE>
+GstGtkSink
+<SUBSECTION Standard>
+GstGtkSinkClass
+GST_GTK_SINK
+GST_GTK_SINK_CAST
+GST_IS_GTK_SINK
+GST_GTK_SINK_CLASS
+GST_IS_GTK_SINK_CLASS
+GST_TYPE_GTK_SINK
+<SUBSECTION Private>
+gst_gtk_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-h263parse</FILE>
+<TITLE>h263parse</TITLE>
+GstH263Parse
+<SUBSECTION Standard>
+GstH263ParseClass
+GST_H263_PARSE
+GST_H263_PARSE_CAST
+GST_IS_H263_PARSE
+GST_H263_PARSE_CLASS
+GST_IS_H263_PARSE_CLASS
+GST_TYPE_H263_PARSE
+<SUBSECTION Private>
+gst_h263_parse_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-h264parse</FILE>
+<TITLE>h264parse</TITLE>
+GstH264Parse
+<SUBSECTION Standard>
+GstH264ParseClass
+GST_H264_PARSE
+GST_H264_PARSE_CAST
+GST_IS_H264_PARSE
+GST_H264_PARSE_CLASS
+GST_IS_H264_PARSE_CLASS
+GST_TYPE_H264_PARSE
+<SUBSECTION Private>
+gst_h264_parse_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-h265parse</FILE>
+<TITLE>h265parse</TITLE>
+GstH265Parse
+<SUBSECTION Standard>
+GstH265ParseClass
+GST_H265_PARSE
+GST_H265_PARSE_CAST
+GST_IS_H265_PARSE
+GST_H265_PARSE_CLASS
+GST_IS_H265_PARSE_CLASS
+GST_TYPE_H265_PARSE
+<SUBSECTION Private>
+gst_h265_parse_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-hlsdemux</FILE>
+<TITLE>hlsdemux</TITLE>
+GstHLSDemux
+<SUBSECTION Standard>
+GstHLSDemuxClass
+GST_HLS_DEMUX
+GST_HLS_DEMUX_CAST
+GST_IS_HLS_DEMUX
+GST_HLS_DEMUX_CLASS
+GST_IS_HLS_DEMUX_CLASS
+GST_TYPE_HLS_DEMUX
+<SUBSECTION Private>
+gst_hls_demux_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-handdetect</FILE>
+<TITLE>handdetect</TITLE>
+GstHanddetect
+<SUBSECTION Standard>
+GstHanddetectClass
+GST_HANDDETECT
+GST_HANDDETECT_CAST
+GST_IS_HANDDETECT
+GST_HANDDETECT_CLASS
+GST_IS_HANDDETECT_CLASS
+GST_TYPE_HANDDETECT
+<SUBSECTION Private>
+gst_handdetect_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-hlssink</FILE>
+<TITLE>hlssink</TITLE>
+GstHlsSink
+<SUBSECTION Standard>
+GstHlsSinkClass
+GST_HLS_SINK
+GST_HLS_SINK_CAST
+GST_IS_HLS_SINK
+GST_HLS_SINK_CLASS
+GST_IS_HLS_SINK_CLASS
+GST_TYPE_HLS_SINK
+<SUBSECTION Private>
+gst_hls_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-irtspparse</FILE>
+<TITLE>irtspparse</TITLE>
+GstIRTSPParse
+<SUBSECTION Standard>
+GstIRTSPParseClass
+GST_IRTSP_PARSE
+GST_IRTSP_PARSE_CAST
+GST_IS_IRTSP_PARSE
+GST_IRTSP_PARSE_CLASS
+GST_IS_IRTSP_PARSE_CLASS
+GST_TYPE_IRTSP_PARSE
+<SUBSECTION Private>
+gst_irtsp_parse_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-id3mux</FILE>
+<TITLE>id3mux</TITLE>
+GstId3Mux
+<SUBSECTION Standard>
+GstId3MuxClass
+GST_ID3_MUX
+GST_ID3_MUX_CAST
+GST_IS_ID3_MUX
+GST_ID3_MUX_CLASS
+GST_IS_ID3_MUX_CLASS
+GST_TYPE_ID3_MUX
+<SUBSECTION Private>
+gst_id3_mux_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-interaudiosink</FILE>
+<TITLE>interaudiosink</TITLE>
+GstInterAudioSink
+<SUBSECTION Standard>
+GstInterAudioSinkClass
+GST_INTER_AUDIO_SINK
+GST_INTER_AUDIO_SINK_CAST
+GST_IS_INTER_AUDIO_SINK
+GST_INTER_AUDIO_SINK_CLASS
+GST_IS_INTER_AUDIO_SINK_CLASS
+GST_TYPE_INTER_AUDIO_SINK
+<SUBSECTION Private>
+gst_inter_audio_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-interaudiosrc</FILE>
+<TITLE>interaudiosrc</TITLE>
+GstInterAudioSrc
+<SUBSECTION Standard>
+GstInterAudioSrcClass
+GST_INTER_AUDIO_SRC
+GST_INTER_AUDIO_SRC_CAST
+GST_IS_INTER_AUDIO_SRC
+GST_INTER_AUDIO_SRC_CLASS
+GST_IS_INTER_AUDIO_SRC_CLASS
+GST_TYPE_INTER_AUDIO_SRC
+<SUBSECTION Private>
+gst_inter_audio_src_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-intersubsink</FILE>
+<TITLE>intersubsink</TITLE>
+GstInterSubSink
+<SUBSECTION Standard>
+GstInterSubSinkClass
+GST_INTER_SUB_SINK
+GST_INTER_SUB_SINK_CAST
+GST_IS_INTER_SUB_SINK
+GST_INTER_SUB_SINK_CLASS
+GST_IS_INTER_SUB_SINK_CLASS
+GST_TYPE_INTER_SUB_SINK
+<SUBSECTION Private>
+gst_inter_sub_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-intersubsrc</FILE>
+<TITLE>intersubsrc</TITLE>
+GstInterSubSrc
+<SUBSECTION Standard>
+GstInterSubSrcClass
+GST_INTER_SUB_SRC
+GST_INTER_SUB_SRC_CAST
+GST_IS_INTER_SUB_SRC
+GST_INTER_SUB_SRC_CLASS
+GST_IS_INTER_SUB_SRC_CLASS
+GST_TYPE_INTER_SUB_SRC
+<SUBSECTION Private>
+gst_inter_sub_src_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-intervideosink</FILE>
+<TITLE>intervideosink</TITLE>
+GstInterVideoSink
+<SUBSECTION Standard>
+GstInterVideoSinkClass
+GST_INTER_VIDEO_SINK
+GST_INTER_VIDEO_SINK_CAST
+GST_IS_INTER_VIDEO_SINK
+GST_INTER_VIDEO_SINK_CLASS
+GST_IS_INTER_VIDEO_SINK_CLASS
+GST_TYPE_INTER_VIDEO_SINK
+<SUBSECTION Private>
+gst_inter_video_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-intervideosrc</FILE>
+<TITLE>intervideosrc</TITLE>
+GstInterVideoSrc
+<SUBSECTION Standard>
+GstInterVideoSrcClass
+GST_INTER_VIDEO_SRC
+GST_INTER_VIDEO_SRC_CAST
+GST_IS_INTER_VIDEO_SRC
+GST_INTER_VIDEO_SRC_CLASS
+GST_IS_INTER_VIDEO_SRC_CLASS
+GST_TYPE_INTER_VIDEO_SRC
+<SUBSECTION Private>
+gst_inter_video_src_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-interlace</FILE>
+<TITLE>interlace</TITLE>
+GstInterlace
+GstInterlacePattern
+<SUBSECTION Standard>
+GstInterlaceClass
+GST_INTERLACE
+GST_INTERLACE_CAST
+GST_IS_INTERLACE
+GST_INTERLACE_CLASS
+GST_IS_INTERLACE_CLASS
+GST_TYPE_INTERLACE
+<SUBSECTION Private>
+gst_interlace_get_type
 </SECTION>
 
 <SECTION>
@@ -704,38 +2270,111 @@
 <TITLE>ivfparse</TITLE>
 GstIvfParse
 <SUBSECTION Standard>
-GstIvfParseState
 GstIvfParseClass
 GST_IVF_PARSE
-GST_IVF_PARSE_CLASS
+GST_IVF_PARSE_CAST
 GST_IS_IVF_PARSE
+GST_IVF_PARSE_CLASS
 GST_IS_IVF_PARSE_CLASS
 GST_TYPE_IVF_PARSE
+<SUBSECTION Private>
 gst_ivf_parse_get_type
 </SECTION>
 
 <SECTION>
+<FILE>element-ivtc</FILE>
+<TITLE>ivtc</TITLE>
+GstIvtc
+<SUBSECTION Standard>
+GstIvtcClass
+GST_IVTC
+GST_IVTC_CAST
+GST_IS_IVTC
+GST_IVTC_CLASS
+GST_IS_IVTC_CLASS
+GST_TYPE_IVTC
+<SUBSECTION Private>
+gst_ivtc_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-jp2kdecimator</FILE>
+<TITLE>jp2kdecimator</TITLE>
+GstJP2kDecimator
+<SUBSECTION Standard>
+GstJP2kDecimatorClass
+GST_J_P2K_DECIMATOR
+GST_J_P2K_DECIMATOR_CAST
+GST_IS_J_P2K_DECIMATOR
+GST_J_P2K_DECIMATOR_CLASS
+GST_IS_J_P2K_DECIMATOR_CLASS
+GST_TYPE_J_P2K_DECIMATOR
+<SUBSECTION Private>
+gst_j_p2k_decimator_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-jpeg2000parse</FILE>
+<TITLE>jpeg2000parse</TITLE>
+GstJPEG2000Parse
+<SUBSECTION Standard>
+GstJPEG2000ParseClass
+GST_JPE_G2000_PARSE
+GST_JPE_G2000_PARSE_CAST
+GST_IS_JPE_G2000_PARSE
+GST_JPE_G2000_PARSE_CLASS
+GST_IS_JPE_G2000_PARSE_CLASS
+GST_TYPE_JPE_G2000_PARSE
+<SUBSECTION Private>
+gst_jpe_g2000_parse_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-jifmux</FILE>
+<TITLE>jifmux</TITLE>
+GstJifMux
+<SUBSECTION Standard>
+GstJifMuxClass
+GST_JIF_MUX
+GST_JIF_MUX_CAST
+GST_IS_JIF_MUX
+GST_JIF_MUX_CLASS
+GST_IS_JIF_MUX_CLASS
+GST_TYPE_JIF_MUX
+<SUBSECTION Private>
+gst_jif_mux_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-jpegparse</FILE>
 <TITLE>jpegparse</TITLE>
 GstJpegParse
-<SUBSECTION Starndard>
+<SUBSECTION Standard>
 GstJpegParseClass
 GST_JPEG_PARSE
-GST_JPEG_PARSE_CLASS
+GST_JPEG_PARSE_CAST
 GST_IS_JPEG_PARSE
+GST_JPEG_PARSE_CLASS
 GST_IS_JPEG_PARSE_CLASS
 GST_TYPE_JPEG_PARSE
+<SUBSECTION Private>
 gst_jpeg_parse_get_type
 </SECTION>
 
 <SECTION>
-<FILE>element-liveadder</FILE>
-<TITLE>liveadder</TITLE>
-GstLiveAdder
+<FILE>element-kmssink</FILE>
+<TITLE>kmssink</TITLE>
+GstKMSSink
 <SUBSECTION Standard>
-GstLiveAdderClass
-GST_TYPE_LIVE_ADDER
-gst_live_adder_get_type
+GstKMSSinkClass
+GST_KMS_SINK
+GST_KMS_SINK_CAST
+GST_IS_KMS_SINK
+GST_KMS_SINK_CLASS
+GST_IS_KMS_SINK_CLASS
+GST_TYPE_KMS_SINK
+<SUBSECTION Private>
+gst_kms_sink_get_type
 </SECTION>
 
 <SECTION>
@@ -746,12 +2385,12 @@
 GstKaleidoscopeClass
 GST_KALEIDOSCOPE
 GST_KALEIDOSCOPE_CAST
-GST_KALEIDOSCOPE_CLASS
 GST_IS_KALEIDOSCOPE
+GST_KALEIDOSCOPE_CLASS
 GST_IS_KALEIDOSCOPE_CLASS
 GST_TYPE_KALEIDOSCOPE
+<SUBSECTION Private>
 gst_kaleidoscope_get_type
-gst_kaleidoscope_plugin_init
 </SECTION>
 
 <SECTION>
@@ -761,10 +2400,12 @@
 <SUBSECTION Standard>
 GstKateDecClass
 GST_KATE_DEC
-GST_KATE_DEC_CLASS
+GST_KATE_DEC_CAST
 GST_IS_KATE_DEC
+GST_KATE_DEC_CLASS
 GST_IS_KATE_DEC_CLASS
 GST_TYPE_KATE_DEC
+<SUBSECTION Private>
 gst_kate_dec_get_type
 </SECTION>
 
@@ -775,10 +2416,12 @@
 <SUBSECTION Standard>
 GstKateEncClass
 GST_KATE_ENC
-GST_KATE_ENC_CLASS
+GST_KATE_ENC_CAST
 GST_IS_KATE_ENC
+GST_KATE_ENC_CLASS
 GST_IS_KATE_ENC_CLASS
 GST_TYPE_KATE_ENC
+<SUBSECTION Private>
 gst_kate_enc_get_type
 </SECTION>
 
@@ -789,10 +2432,12 @@
 <SUBSECTION Standard>
 GstKateParseClass
 GST_KATE_PARSE
-GST_KATE_PARSE_CLASS
+GST_KATE_PARSE_CAST
 GST_IS_KATE_PARSE
+GST_KATE_PARSE_CLASS
 GST_IS_KATE_PARSE_CLASS
 GST_TYPE_KATE_PARSE
+<SUBSECTION Private>
 gst_kate_parse_get_type
 </SECTION>
 
@@ -803,10 +2448,12 @@
 <SUBSECTION Standard>
 GstKateTagClass
 GST_KATE_TAG
-GST_KATE_TAG_CLASS
+GST_KATE_TAG_CAST
 GST_IS_KATE_TAG
+GST_KATE_TAG_CLASS
 GST_IS_KATE_TAG_CLASS
 GST_TYPE_KATE_TAG
+<SUBSECTION Private>
 gst_kate_tag_get_type
 </SECTION>
 
@@ -825,6 +2472,22 @@
 </SECTION>
 
 <SECTION>
+<FILE>element-liveadder</FILE>
+<TITLE>liveadder</TITLE>
+GstLiveAdder
+<SUBSECTION Standard>
+GstLiveAdderClass
+GST_LIVE_ADDER
+GST_LIVE_ADDER_CAST
+GST_IS_LIVE_ADDER
+GST_LIVE_ADDER_CLASS
+GST_IS_LIVE_ADDER_CLASS
+GST_TYPE_LIVE_ADDER
+<SUBSECTION Private>
+gst_live_adder_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-ladspa</FILE>
 <TITLE>ladspa</TITLE>
 GstLADSPA
@@ -833,6 +2496,54 @@
 </SECTION>
 
 <SECTION>
+<FILE>element-mmssrc</FILE>
+<TITLE>mmssrc</TITLE>
+GstMMS
+<SUBSECTION Standard>
+GstMMSClass
+GST_MMS
+GST_MMS_CAST
+GST_IS_MMS
+GST_MMS_CLASS
+GST_IS_MMS_CLASS
+GST_TYPE_MMS
+<SUBSECTION Private>
+gst_mms_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-mxfdemux</FILE>
+<TITLE>mxfdemux</TITLE>
+GstMXFDemux
+<SUBSECTION Standard>
+GstMXFDemuxClass
+GST_MXF_DEMUX
+GST_MXF_DEMUX_CAST
+GST_IS_MXF_DEMUX
+GST_MXF_DEMUX_CLASS
+GST_IS_MXF_DEMUX_CLASS
+GST_TYPE_MXF_DEMUX
+<SUBSECTION Private>
+gst_mxf_demux_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-mxfmux</FILE>
+<TITLE>mxfmux</TITLE>
+GstMXFMux
+<SUBSECTION Standard>
+GstMXFMuxClass
+GST_MXF_MUX
+GST_MXF_MUX_CAST
+GST_IS_MXF_MUX
+GST_MXF_MUX_CLASS
+GST_IS_MXF_MUX_CLASS
+GST_TYPE_MXF_MUX
+<SUBSECTION Private>
+gst_mxf_mux_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-marble</FILE>
 <TITLE>marble</TITLE>
 GstMarble
@@ -840,12 +2551,28 @@
 GstMarbleClass
 GST_MARBLE
 GST_MARBLE_CAST
-GST_MARBLE_CLASS
 GST_IS_MARBLE
+GST_MARBLE_CLASS
 GST_IS_MARBLE_CLASS
 GST_TYPE_MARBLE
+<SUBSECTION Private>
 gst_marble_get_type
-gst_marble_plugin_init
+</SECTION>
+
+<SECTION>
+<FILE>element-midiparse</FILE>
+<TITLE>midiparse</TITLE>
+GstMidiParse
+<SUBSECTION Standard>
+GstMidiParseClass
+GST_MIDI_PARSE
+GST_MIDI_PARSE_CAST
+GST_IS_MIDI_PARSE
+GST_MIDI_PARSE_CLASS
+GST_IS_MIDI_PARSE_CLASS
+GST_TYPE_MIDI_PARSE
+<SUBSECTION Private>
+gst_midi_parse_get_type
 </SECTION>
 
 <SECTION>
@@ -854,12 +2581,14 @@
 GstMimDec
 <SUBSECTION Standard>
 GstMimDecClass
-GST_IS_MIMDEC
-GST_IS_MIMDEC_CLASS
-GST_MIMDEC
-GST_MIMDEC_CLASS
-GST_TYPE_MIMDEC
-gst_mimdec_get_type
+GST_MIM_DEC
+GST_MIM_DEC_CAST
+GST_IS_MIM_DEC
+GST_MIM_DEC_CLASS
+GST_IS_MIM_DEC_CLASS
+GST_TYPE_MIM_DEC
+<SUBSECTION Private>
+gst_mim_dec_get_type
 </SECTION>
 
 <SECTION>
@@ -868,28 +2597,31 @@
 GstMimEnc
 <SUBSECTION Standard>
 GstMimEncClass
-GST_IS_MIMENC
-GST_IS_MIMENC_CLASS
-GST_MIMENC
-GST_MIMENC_CLASS
-GST_TYPE_MIMENC
-gst_mimenc_get_type
+GST_MIM_ENC
+GST_MIM_ENC_CAST
+GST_IS_MIM_ENC
+GST_MIM_ENC_CLASS
+GST_IS_MIM_ENC_CLASS
+GST_TYPE_MIM_ENC
+<SUBSECTION Private>
+gst_mim_enc_get_type
 </SECTION>
 
 <SECTION>
 <FILE>element-mirror</FILE>
 <TITLE>mirror</TITLE>
 GstMirror
+GstMirrorMode
 <SUBSECTION Standard>
 GstMirrorClass
 GST_MIRROR
 GST_MIRROR_CAST
-GST_MIRROR_CLASS
 GST_IS_MIRROR
+GST_MIRROR_CLASS
 GST_IS_MIRROR_CLASS
 GST_TYPE_MIRROR
+<SUBSECTION Private>
 gst_mirror_get_type
-gst_mirror_plugin_init
 </SECTION>
 
 <SECTION>
@@ -898,97 +2630,137 @@
 GstModPlug
 <SUBSECTION Standard>
 GstModPlugClass
-GST_MODPLUG
-GST_MODPLUG_CLASS
-GST_IS_MODPLUG
-GST_IS_MODPLUG_CLASS
-GST_TYPE_MODPLUG
-gst_modplug_get_type
+GST_MOD_PLUG
+GST_MOD_PLUG_CAST
+GST_IS_MOD_PLUG
+GST_MOD_PLUG_CLASS
+GST_IS_MOD_PLUG_CLASS
+GST_TYPE_MOD_PLUG
+<SUBSECTION Private>
+gst_mod_plug_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-motioncells</FILE>
+<TITLE>motioncells</TITLE>
+GstMotioncells
+<SUBSECTION Standard>
+GstMotioncellsClass
+GST_MOTIONCELLS
+GST_MOTIONCELLS_CAST
+GST_IS_MOTIONCELLS
+GST_MOTIONCELLS_CLASS
+GST_IS_MOTIONCELLS_CLASS
+GST_TYPE_MOTIONCELLS
+<SUBSECTION Private>
+gst_motioncells_get_type
 </SECTION>
 
 <SECTION>
 <FILE>element-mpeg2enc</FILE>
 <TITLE>mpeg2enc</TITLE>
 GstMpeg2enc
+GstMpeg2encAspect
+GstMpeg2encFormat
+GstMpeg2encFramerate
+GstMpeg2encInterlaceMode
+GstMpeg2encVideoNorm
+GstMpeg2encPlaybackFieldOrders
+GstMpeg2encQuantisationMatrix
 <SUBSECTION Standard>
 GstMpeg2encClass
 GST_MPEG2ENC
-GST_MPEG2ENC_CLASS
+GST_MPEG2ENC_CAST
 GST_IS_MPEG2ENC
+GST_MPEG2ENC_CLASS
 GST_IS_MPEG2ENC_CLASS
 GST_TYPE_MPEG2ENC
-GST_MPEG2ENC_MUTEX_LOCK
-GST_MPEG2ENC_MUTEX_UNLOCK
-GST_MPEG2ENC_SIGNAL
-GST_MPEG2ENC_WAIT
+<SUBSECTION Private>
 gst_mpeg2enc_get_type
 </SECTION>
 
 <SECTION>
-<FILE>element-mpegpsmux</FILE>
-<TITLE>mpegpsmux</TITLE>
+<FILE>element-mpeg4videoparse</FILE>
+<TITLE>mpeg4videoparse</TITLE>
+GstMpeg4VParse
 <SUBSECTION Standard>
-MpegPsMux
-GST_MPEG_PSMUX
-GST_TYPE_MPEG_PSMUX
-MpegPsMuxClass
-mpegpsmux_get_type
+GstMpeg4VParseClass
+GST_MPEG4_V_PARSE
+GST_MPEG4_V_PARSE_CAST
+GST_IS_MPEG4_V_PARSE
+GST_MPEG4_V_PARSE_CLASS
+GST_IS_MPEG4_V_PARSE_CLASS
+GST_TYPE_MPEG4_V_PARSE
 <SUBSECTION Private>
-MpegPsPadData
-MpegPsPadDataPrepareFunction
-CLOCK_BASE
-CLOCK_FREQ
-GSTTIME_TO_MPEGTIME
-NORMAL_TS_PACKET_LENGTH
-M2TS_PACKET_LENGTH
-STANDARD_TIME_CLOCK
-TWO_POW_33_MINUS1
+gst_mpeg4_v_parse_get_type
 </SECTION>
 
 <SECTION>
-<FILE>element-mpegtsmux</FILE>
-<TITLE>mpegtsmux</TITLE>
+<FILE>element-mpegpsdemux</FILE>
+<TITLE>mpegpsdemux</TITLE>
+GstMpegPSDemux
 <SUBSECTION Standard>
-MpegTsMux
-GST_MPEG_TSMUX
-GST_TYPE_MPEG_TSMUX
-MpegTsMuxClass
-mpegtsmux_get_type
+GstMpegPSDemuxClass
+GST_MPEG_PS_DEMUX
+GST_MPEG_PS_DEMUX_CAST
+GST_IS_MPEG_PS_DEMUX
+GST_MPEG_PS_DEMUX_CLASS
+GST_IS_MPEG_PS_DEMUX_CLASS
+GST_TYPE_MPEG_PS_DEMUX
 <SUBSECTION Private>
-MpegTsPadData
-CLOCK_BASE
-CLOCK_FREQ
-CLOCK_FREQ_SCR
-MPEGTIME_TO_GSTTIME
-GSTTIME_TO_MPEGTIME
-MPEG_SYS_TIME_TO_GSTTIME
-GSTTIME_TO_MPEG_SYS_TIME
-NORMAL_TS_PACKET_LENGTH
-M2TS_PACKET_LENGTH
-MAX_PROG_NUMBER
-DEFAULT_PROG_ID
+gst_mpeg_ps_demux_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-mpegvideoparse</FILE>
+<TITLE>mpegvideoparse</TITLE>
+GstMpegvParse
+<SUBSECTION Standard>
+GstMpegvParseClass
+GST_MPEGV_PARSE
+GST_MPEGV_PARSE_CAST
+GST_IS_MPEGV_PARSE
+GST_MPEGV_PARSE_CLASS
+GST_IS_MPEGV_PARSE_CLASS
+GST_TYPE_MPEGV_PARSE
+<SUBSECTION Private>
+gst_mpegv_parse_get_type
 </SECTION>
 
 <SECTION>
 <FILE>element-mplex</FILE>
 <TITLE>mplex</TITLE>
 GstMplex
+GstMplexFormat
 <SUBSECTION Standard>
 GstMplexClass
 GST_MPLEX
-GST_MPLEX_CLASS
+GST_MPLEX_CAST
 GST_IS_MPLEX
+GST_MPLEX_CLASS
 GST_IS_MPLEX_CLASS
 GST_TYPE_MPLEX
-GST_MPLEX_MUTEX_LOCK
-GST_MPLEX_MUTEX_UNLOCK
-GST_MPLEX_SIGNAL
-GST_MPLEX_SIGNAL_ALL
-GST_MPLEX_WAIT
+<SUBSECTION Private>
 gst_mplex_get_type
 </SECTION>
 
 <SECTION>
+<FILE>element-mssdemux</FILE>
+<TITLE>mssdemux</TITLE>
+GstMssDemux
+<SUBSECTION Standard>
+GstMssDemuxClass
+GST_MSS_DEMUX
+GST_MSS_DEMUX_CAST
+GST_IS_MSS_DEMUX
+GST_MSS_DEMUX_CLASS
+GST_IS_MSS_DEMUX_CLASS
+GST_TYPE_MSS_DEMUX
+<SUBSECTION Private>
+gst_mss_demux_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-mxfdemux</FILE>
 <TITLE>mxfdemux</TITLE>
 GstMXFDemux
@@ -1018,6 +2790,22 @@
 </SECTION>
 
 <SECTION>
+<FILE>element-netsim</FILE>
+<TITLE>netsim</TITLE>
+GstNetSim
+<SUBSECTION Standard>
+GstNetSimClass
+GST_NET_SIM
+GST_NET_SIM_CAST
+GST_IS_NET_SIM
+GST_NET_SIM_CLASS
+GST_IS_NET_SIM_CLASS
+GST_TYPE_NET_SIM
+<SUBSECTION Private>
+gst_net_sim_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-nuvdemux</FILE>
 <TITLE>nuvdemux</TITLE>
 GstNuvDemux
@@ -1053,25 +2841,78 @@
 <SUBSECTION Standard>
 GstOFAClass
 GST_OFA
-GST_OFA_CLASS
+GST_OFA_CAST
 GST_IS_OFA
+GST_OFA_CLASS
 GST_IS_OFA_CLASS
 GST_TYPE_OFA
+<SUBSECTION Private>
 gst_ofa_get_type
 </SECTION>
 
 <SECTION>
 <FILE>element-openalsink</FILE>
 <TITLE>openalsink</TITLE>
-GstOpenalSink
+GstOpenALSink
 <SUBSECTION Standard>
-GstOpenalSinkClass
-GST_OPENAL_SINK
-GST_OPENAL_SINK_CLASS
-GST_IS_OPENAL_SINK
-GST_IS_OPENAL_SINK_CLASS
-GST_TYPE_OPENAL_SINK
-gst_openal_sink_get_type
+GstOpenALSinkClass
+GST_OPEN_AL_SINK
+GST_OPEN_AL_SINK_CAST
+GST_IS_OPEN_AL_SINK
+GST_OPEN_AL_SINK_CLASS
+GST_IS_OPEN_AL_SINK_CLASS
+GST_TYPE_OPEN_AL_SINK
+<SUBSECTION Private>
+gst_open_al_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-openexrdec</FILE>
+<TITLE>openexrdec</TITLE>
+GstOpenEXRDec
+<SUBSECTION Standard>
+GstOpenEXRDecClass
+GST_OPEN_EXR_DEC
+GST_OPEN_EXR_DEC_CAST
+GST_IS_OPEN_EXR_DEC
+GST_OPEN_EXR_DEC_CLASS
+GST_IS_OPEN_EXR_DEC_CLASS
+GST_TYPE_OPEN_EXR_DEC
+<SUBSECTION Private>
+gst_open_exr_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-openjpegdec</FILE>
+<TITLE>openjpegdec</TITLE>
+GstOpenJPEGDec
+<SUBSECTION Standard>
+GstOpenJPEGDecClass
+GST_OPEN_JPEG_DEC
+GST_OPEN_JPEG_DEC_CAST
+GST_IS_OPEN_JPEG_DEC
+GST_OPEN_JPEG_DEC_CLASS
+GST_IS_OPEN_JPEG_DEC_CLASS
+GST_TYPE_OPEN_JPEG_DEC
+<SUBSECTION Private>
+gst_open_jpeg_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-openjpegenc</FILE>
+<TITLE>openjpegenc</TITLE>
+GstOpenJPEGEnc
+GstOpenJPEGEncProgressionOrder
+<SUBSECTION Standard>
+GstOpenJPEGEncClass
+GST_OPEN_JPEG_ENC
+GST_OPEN_JPEG_ENC_CAST
+GST_IS_OPEN_JPEG_ENC
+GST_OPEN_JPEG_ENC_CLASS
+GST_IS_OPEN_JPEG_ENC_CLASS
+GST_TYPE_OPEN_JPEG_ENC
+<SUBSECTION Private>
+gst_open_jpeg_enc_get_type
 </SECTION>
 
 <SECTION>
@@ -1081,25 +2922,45 @@
 <SUBSECTION Standard>
 GstOpenalSrcClass
 GST_OPENAL_SRC
-GST_OPENAL_SRC_CLASS
+GST_OPENAL_SRC_CAST
 GST_IS_OPENAL_SRC
+GST_OPENAL_SRC_CLASS
 GST_IS_OPENAL_SRC_CLASS
 GST_TYPE_OPENAL_SRC
+<SUBSECTION Private>
 gst_openal_src_get_type
 </SECTION>
 
+<SECTION>
 <FILE>element-opencvtextoverlay</FILE>
 <TITLE>opencvtextoverlay</TITLE>
 GstOpencvTextOverlay
 <SUBSECTION Standard>
 GstOpencvTextOverlayClass
 GST_OPENCV_TEXT_OVERLAY
-GST_OPENCV_TEXT_OVERLAY_CLASS
-GST_TYPE_OPENCV_TEXT_OVERLAY
+GST_OPENCV_TEXT_OVERLAY_CAST
 GST_IS_OPENCV_TEXT_OVERLAY
+GST_OPENCV_TEXT_OVERLAY_CLASS
 GST_IS_OPENCV_TEXT_OVERLAY_CLASS
+GST_TYPE_OPENCV_TEXT_OVERLAY
+<SUBSECTION Private>
 gst_opencv_text_overlay_get_type
-gst_opencv_text_overlay_plugin_init
+</SECTION>
+
+<SECTION>
+<FILE>element-opusparse</FILE>
+<TITLE>opusparse</TITLE>
+GstOpusParse
+<SUBSECTION Standard>
+GstOpusParseClass
+GST_OPUS_PARSE
+GST_OPUS_PARSE_CAST
+GST_IS_OPUS_PARSE
+GST_OPUS_PARSE_CLASS
+GST_IS_OPUS_PARSE_CLASS
+GST_TYPE_OPUS_PARSE
+<SUBSECTION Private>
+gst_opus_parse_get_type
 </SECTION>
 
 <SECTION>
@@ -1109,15 +2970,32 @@
 <SUBSECTION Standard>
 GstPcapParseClass
 GST_PCAP_PARSE
-GST_PCAP_PARSE_CLASS
+GST_PCAP_PARSE_CAST
 GST_IS_PCAP_PARSE
+GST_PCAP_PARSE_CLASS
 GST_IS_PCAP_PARSE_CLASS
 GST_TYPE_PCAP_PARSE
-GstPcapParseState
+<SUBSECTION Private>
 gst_pcap_parse_get_type
 </SECTION>
 
 <SECTION>
+<FILE>element-perspective</FILE>
+<TITLE>perspective</TITLE>
+GstPerspective
+<SUBSECTION Standard>
+GstPerspectiveClass
+GST_PERSPECTIVE
+GST_PERSPECTIVE_CAST
+GST_IS_PERSPECTIVE
+GST_PERSPECTIVE_CLASS
+GST_IS_PERSPECTIVE_CLASS
+GST_TYPE_PERSPECTIVE
+<SUBSECTION Private>
+gst_perspective_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-pinch</FILE>
 <TITLE>pinch</TITLE>
 GstPinch
@@ -1125,68 +3003,108 @@
 GstPinchClass
 GST_PINCH
 GST_PINCH_CAST
-GST_PINCH_CLASS
 GST_IS_PINCH
+GST_PINCH_CLASS
 GST_IS_PINCH_CLASS
 GST_TYPE_PINCH
+<SUBSECTION Private>
 gst_pinch_get_type
-gst_pinch_plugin_init
-</SECTION>
-
-<FILE>element-pyramidsegment</FILE>
-<TITLE>pyramidsegment</TITLE>
-Gstpyramidsegment
-<SUBSECTION Standard>
-GstpyramidsegmentClass
-GST_PYRAMIDSEGMENT
-GST_PYRAMIDSEGMENT_CLASS
-GST_TYPE_PYRAMIDSEGMENT
-GST_IS_PYRAMIDSEGMENT
-GST_IS_PYRAMIDSEGMENT_CLASS
-gst_pyramidsegment_get_type
-gst_pyramidsegment_plugin_init
 </SECTION>
 
 <SECTION>
-<FILE>element-rfbsrc</FILE>
-<TITLE>rfbsrc</TITLE>
-GstRfbSrc
+<FILE>element-pitch</FILE>
+<TITLE>pitch</TITLE>
+GstPitch
 <SUBSECTION Standard>
-GstRfbSrcClass
-GST_RFB_SRC
-GST_RFB_SRC_CLASS
-GST_IS_RFB_SRC
-GST_IS_RFB_SRC_CLASS
-GST_TYPE_RFB_SRC
-gst_rfb_src_get_type
+GstPitchClass
+GST_PITCH
+GST_PITCH_CAST
+GST_IS_PITCH
+GST_PITCH_CLASS
+GST_IS_PITCH_CLASS
+GST_TYPE_PITCH
+<SUBSECTION Private>
+gst_pitch_get_type
 </SECTION>
 
 <SECTION>
-<FILE>element-rsvgoverlay</FILE>
-<TITLE>rsvgoverlay</TITLE>
-GstRsvgOverlay
+<FILE>element-pngparse</FILE>
+<TITLE>pngparse</TITLE>
+GstPngParse
 <SUBSECTION Standard>
-GstRsvgOverlayClass
-GST_RSVG_OVERLAY
-GST_RSVG_OVERLAY_CLASS
-GST_IS_RSVG_OVERLAY
-GST_IS_RSVG_OVERLAY_CLASS
-GST_TYPE_RSVG_OVERLAY
-gst_rsvg_overlay_get_type
+GstPngParseClass
+GST_PNG_PARSE
+GST_PNG_PARSE_CAST
+GST_IS_PNG_PARSE
+GST_PNG_PARSE_CLASS
+GST_IS_PNG_PARSE_CLASS
+GST_TYPE_PNG_PARSE
+<SUBSECTION Private>
+gst_png_parse_get_type
 </SECTION>
 
 <SECTION>
-<FILE>element-rsvgdec</FILE>
-<TITLE>rsvgdec</TITLE>
-GstRsvgDec
+<FILE>element-pnmdec</FILE>
+<TITLE>pnmdec</TITLE>
+GstPnmdec
 <SUBSECTION Standard>
-GstRsvgDecClass
-GST_RSVG_DEC
-GST_RSVG_DEC_CLASS
-GST_IS_RSVG_DEC
-GST_IS_RSVG_DEC_CLASS
-GST_TYPE_RSVG_DEC
-gst_rsvg_dec_get_type
+GstPnmdecClass
+GST_PNMDEC
+GST_PNMDEC_CAST
+GST_IS_PNMDEC
+GST_PNMDEC_CLASS
+GST_IS_PNMDEC_CLASS
+GST_TYPE_PNMDEC
+<SUBSECTION Private>
+gst_pnmdec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-pnmenc</FILE>
+<TITLE>pnmenc</TITLE>
+GstPnmenc
+<SUBSECTION Standard>
+GstPnmencClass
+GST_PNMENC
+GST_PNMENC_CAST
+GST_IS_PNMENC
+GST_PNMENC_CLASS
+GST_IS_PNMENC_CLASS
+GST_TYPE_PNMENC
+<SUBSECTION Private>
+gst_pnmenc_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-qmlglsink</FILE>
+<TITLE>qmlglsink</TITLE>
+GstQtSink
+<SUBSECTION Standard>
+GstQtSinkClass
+GST_QT_SINK
+GST_QT_SINK_CAST
+GST_IS_QT_SINK
+GST_QT_SINK_CLASS
+GST_IS_QT_SINK_CLASS
+GST_TYPE_QT_SINK
+<SUBSECTION Private>
+gst_qt_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-rgb2bayer</FILE>
+<TITLE>rgb2bayer</TITLE>
+GstRGB2Bayer
+<SUBSECTION Standard>
+GstRGB2BayerClass
+GST_RG_B2_BAYER
+GST_RG_B2_BAYER_CAST
+GST_IS_RG_B2_BAYER
+GST_RG_B2_BAYER_CLASS
+GST_IS_RG_B2_BAYER_CLASS
+GST_TYPE_RG_B2_BAYER
+<SUBSECTION Private>
+gst_rg_b2_bayer_get_type
 </SECTION>
 
 <SECTION>
@@ -1196,11 +3114,13 @@
 <SUBSECTION Standard>
 GstRTMPSinkClass
 GST_RTMP_SINK
+GST_RTMP_SINK_CAST
 GST_IS_RTMP_SINK
-GST_TYPE_RTMP_SINK
-gst_rtmp_sink_get_type
 GST_RTMP_SINK_CLASS
 GST_IS_RTMP_SINK_CLASS
+GST_TYPE_RTMP_SINK
+<SUBSECTION Private>
+gst_rtmp_sink_get_type
 </SECTION>
 
 <SECTION>
@@ -1210,11 +3130,158 @@
 <SUBSECTION Standard>
 GstRTMPSrcClass
 GST_RTMP_SRC
+GST_RTMP_SRC_CAST
 GST_IS_RTMP_SRC
-GST_TYPE_RTMP_SRC
-gst_rtmp_src_get_type
 GST_RTMP_SRC_CLASS
 GST_IS_RTMP_SRC_CLASS
+GST_TYPE_RTMP_SRC
+<SUBSECTION Private>
+gst_rtmp_src_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-removesilence</FILE>
+<TITLE>removesilence</TITLE>
+GstRemoveSilence
+<SUBSECTION Standard>
+GstRemoveSilenceClass
+GST_REMOVE_SILENCE
+GST_REMOVE_SILENCE_CAST
+GST_IS_REMOVE_SILENCE
+GST_REMOVE_SILENCE_CLASS
+GST_IS_REMOVE_SILENCE_CLASS
+GST_TYPE_REMOVE_SILENCE
+<SUBSECTION Private>
+gst_remove_silence_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-retinex</FILE>
+<TITLE>retinex</TITLE>
+GstRetinex
+GstRetinexMethod
+<SUBSECTION Standard>
+GstRetinexClass
+GST_RETINEX
+GST_RETINEX_CAST
+GST_IS_RETINEX
+GST_RETINEX_CLASS
+GST_IS_RETINEX_CLASS
+GST_TYPE_RETINEX
+<SUBSECTION Private>
+gst_retinex_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-rfbsrc</FILE>
+<TITLE>rfbsrc</TITLE>
+GstRfbSrc
+<SUBSECTION Standard>
+GstRfbSrcClass
+GST_RFB_SRC
+GST_RFB_SRC_CAST
+GST_IS_RFB_SRC
+GST_RFB_SRC_CLASS
+GST_IS_RFB_SRC_CLASS
+GST_TYPE_RFB_SRC
+<SUBSECTION Private>
+gst_rfb_src_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-rotate</FILE>
+<TITLE>rotate</TITLE>
+GstRotate
+<SUBSECTION Standard>
+GstRotateClass
+GST_ROTATE
+GST_ROTATE_CAST
+GST_IS_ROTATE
+GST_ROTATE_CLASS
+GST_IS_ROTATE_CLASS
+GST_TYPE_ROTATE
+<SUBSECTION Private>
+gst_rotate_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-rsvgdec</FILE>
+<TITLE>rsvgdec</TITLE>
+GstRsvgDec
+<SUBSECTION Standard>
+GstRsvgDecClass
+GST_RSVG_DEC
+GST_RSVG_DEC_CAST
+GST_IS_RSVG_DEC
+GST_RSVG_DEC_CLASS
+GST_IS_RSVG_DEC_CLASS
+GST_TYPE_RSVG_DEC
+<SUBSECTION Private>
+gst_rsvg_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-rsvgoverlay</FILE>
+<TITLE>rsvgoverlay</TITLE>
+GstRsvgOverlay
+<SUBSECTION Standard>
+GstRsvgOverlayClass
+GST_RSVG_OVERLAY
+GST_RSVG_OVERLAY_CAST
+GST_IS_RSVG_OVERLAY
+GST_RSVG_OVERLAY_CLASS
+GST_IS_RSVG_OVERLAY_CLASS
+GST_TYPE_RSVG_OVERLAY
+<SUBSECTION Private>
+gst_rsvg_overlay_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-rtpasfpay</FILE>
+<TITLE>rtpasfpay</TITLE>
+GstRtpAsfPay
+<SUBSECTION Standard>
+GstRtpAsfPayClass
+GST_RTP_ASF_PAY
+GST_RTP_ASF_PAY_CAST
+GST_IS_RTP_ASF_PAY
+GST_RTP_ASF_PAY_CLASS
+GST_IS_RTP_ASF_PAY_CLASS
+GST_TYPE_RTP_ASF_PAY
+<SUBSECTION Private>
+gst_rtp_asf_pay_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-rtponvifparse</FILE>
+<TITLE>rtponvifparse</TITLE>
+GstRtpOnvifParse
+<SUBSECTION Standard>
+GstRtpOnvifParseClass
+GST_RTP_ONVIF_PARSE
+GST_RTP_ONVIF_PARSE_CAST
+GST_IS_RTP_ONVIF_PARSE
+GST_RTP_ONVIF_PARSE_CLASS
+GST_IS_RTP_ONVIF_PARSE_CLASS
+GST_TYPE_RTP_ONVIF_PARSE
+<SUBSECTION Private>
+gst_rtp_onvif_parse_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-rtponviftimestamp</FILE>
+<TITLE>rtponviftimestamp</TITLE>
+GstRtpOnvifTimestamp
+<SUBSECTION Standard>
+GstRtpOnvifTimestampClass
+GST_RTP_ONVIF_TIMESTAMP
+GST_RTP_ONVIF_TIMESTAMP_CAST
+GST_IS_RTP_ONVIF_TIMESTAMP
+GST_RTP_ONVIF_TIMESTAMP_CLASS
+GST_IS_RTP_ONVIF_TIMESTAMP_CLASS
+GST_TYPE_RTP_ONVIF_TIMESTAMP
+<SUBSECTION Private>
+gst_rtp_onvif_timestamp_get_type
 </SECTION>
 
 <SECTION>
@@ -1254,17 +3321,111 @@
 GstSDPDemux
 <SUBSECTION Standard>
 GstSDPDemuxClass
-GstSDPStream
 GST_SDP_DEMUX
-GST_SDP_DEMUX_CLASS
+GST_SDP_DEMUX_CAST
 GST_IS_SDP_DEMUX
+GST_SDP_DEMUX_CLASS
 GST_IS_SDP_DEMUX_CLASS
 GST_TYPE_SDP_DEMUX
+<SUBSECTION Private>
 gst_sdp_demux_get_type
-GST_SDP_DEMUX_CAST
-GST_SDP_STREAM_GET_LOCK
-GST_SDP_STREAM_LOCK
-GST_SDP_STREAM_UNLOCK
+</SECTION>
+
+<SECTION>
+<FILE>element-sfdec</FILE>
+<TITLE>sfdec</TITLE>
+GstSFDec
+<SUBSECTION Standard>
+GstSFDecClass
+GST_SF_DEC
+GST_SF_DEC_CAST
+GST_IS_SF_DEC
+GST_SF_DEC_CLASS
+GST_IS_SF_DEC_CLASS
+GST_TYPE_SF_DEC
+<SUBSECTION Private>
+gst_sf_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-scenechange</FILE>
+<TITLE>scenechange</TITLE>
+GstSceneChange
+<SUBSECTION Standard>
+GstSceneChangeClass
+GST_SCENE_CHANGE
+GST_SCENE_CHANGE_CAST
+GST_IS_SCENE_CHANGE
+GST_SCENE_CHANGE_CLASS
+GST_IS_SCENE_CHANGE_CLASS
+GST_TYPE_SCENE_CHANGE
+<SUBSECTION Private>
+gst_scene_change_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-schrodec</FILE>
+<TITLE>schrodec</TITLE>
+GstSchroDec
+<SUBSECTION Standard>
+GstSchroDecClass
+GST_SCHRO_DEC
+GST_SCHRO_DEC_CAST
+GST_IS_SCHRO_DEC
+GST_SCHRO_DEC_CLASS
+GST_IS_SCHRO_DEC_CLASS
+GST_TYPE_SCHRO_DEC
+<SUBSECTION Private>
+gst_schro_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-schroenc</FILE>
+<TITLE>schroenc</TITLE>
+GstSchroEnc
+<SUBSECTION Standard>
+GstSchroEncClass
+GST_SCHRO_ENC
+GST_SCHRO_ENC_CAST
+GST_IS_SCHRO_ENC
+GST_SCHRO_ENC_CLASS
+GST_IS_SCHRO_ENC_CLASS
+GST_TYPE_SCHRO_ENC
+<SUBSECTION Private>
+gst_schro_enc_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-sdpsrc</FILE>
+<TITLE>sdpsrc</TITLE>
+GstSdpSrc
+<SUBSECTION Standard>
+GstSdpSrcClass
+GST_SDP_SRC
+GST_SDP_SRC_CAST
+GST_IS_SDP_SRC
+GST_SDP_SRC_CLASS
+GST_IS_SDP_SRC_CLASS
+GST_TYPE_SDP_SRC
+<SUBSECTION Private>
+gst_sdp_src_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-segmentation</FILE>
+<TITLE>segmentation</TITLE>
+GstSegmentation
+GstSegmentationMethod
+<SUBSECTION Standard>
+GstSegmentationClass
+GST_SEGMENTATION
+GST_SEGMENTATION_CAST
+GST_IS_SEGMENTATION
+GST_SEGMENTATION_CLASS
+GST_IS_SEGMENTATION_CLASS
+GST_TYPE_SEGMENTATION
+<SUBSECTION Private>
+gst_segmentation_get_type
 </SECTION>
 
 <SECTION>
@@ -1273,11 +3434,13 @@
 GstShmSink
 <SUBSECTION Standard>
 GstShmSinkClass
-GST_IS_SHM_SINK
-GST_IS_SHM_SINK_CLASS
 GST_SHM_SINK
+GST_SHM_SINK_CAST
+GST_IS_SHM_SINK
 GST_SHM_SINK_CLASS
+GST_IS_SHM_SINK_CLASS
 GST_TYPE_SHM_SINK
+<SUBSECTION Private>
 gst_shm_sink_get_type
 </SECTION>
 
@@ -1287,54 +3450,174 @@
 GstShmSrc
 <SUBSECTION Standard>
 GstShmSrcClass
-GST_IS_SHM_SRC
-GST_IS_SHM_SRC_CLASS
 GST_SHM_SRC
+GST_SHM_SRC_CAST
+GST_IS_SHM_SRC
 GST_SHM_SRC_CLASS
+GST_IS_SHM_SRC_CLASS
 GST_TYPE_SHM_SRC
+<SUBSECTION Private>
 gst_shm_src_get_type
 </SECTION>
 
 <SECTION>
+<FILE>element-simplevideomark</FILE>
+<TITLE>simplevideomark</TITLE>
+GstSimpleVideoMark
+<SUBSECTION Standard>
+GstSimpleVideoMarkClass
+GST_SIMPLE_VIDEO_MARK
+GST_SIMPLE_VIDEO_MARK_CAST
+GST_IS_SIMPLE_VIDEO_MARK
+GST_SIMPLE_VIDEO_MARK_CLASS
+GST_IS_SIMPLE_VIDEO_MARK_CLASS
+GST_TYPE_SIMPLE_VIDEO_MARK
+<SUBSECTION Private>
+gst_simple_video_mark_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-simplevideomarkdetect</FILE>
+<TITLE>simplevideomarkdetect</TITLE>
+GstSimpleVideoMarkDetect
+<SUBSECTION Standard>
+GstSimpleVideoMarkDetectClass
+GST_SIMPLE_VIDEO_MARK_DETECT
+GST_SIMPLE_VIDEO_MARK_DETECT_CAST
+GST_IS_SIMPLE_VIDEO_MARK_DETECT
+GST_SIMPLE_VIDEO_MARK_DETECT_CLASS
+GST_IS_SIMPLE_VIDEO_MARK_DETECT_CLASS
+GST_TYPE_SIMPLE_VIDEO_MARK_DETECT
+<SUBSECTION Private>
+gst_simple_video_mark_detect_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-sirendec</FILE>
+<TITLE>sirendec</TITLE>
+GstSirenDec
+<SUBSECTION Standard>
+GstSirenDecClass
+GST_SIREN_DEC
+GST_SIREN_DEC_CAST
+GST_IS_SIREN_DEC
+GST_SIREN_DEC_CLASS
+GST_IS_SIREN_DEC_CLASS
+GST_TYPE_SIREN_DEC
+<SUBSECTION Private>
+gst_siren_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-sirenenc</FILE>
+<TITLE>sirenenc</TITLE>
+GstSirenEnc
+<SUBSECTION Standard>
+GstSirenEncClass
+GST_SIREN_ENC
+GST_SIREN_ENC_CAST
+GST_IS_SIREN_ENC
+GST_SIREN_ENC_CLASS
+GST_IS_SIREN_ENC_CLASS
+GST_TYPE_SIREN_ENC
+<SUBSECTION Private>
+gst_siren_enc_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-skindetect</FILE>
+<TITLE>skindetect</TITLE>
+GstSkinDetect
+<SUBSECTION Standard>
+GstSkinDetectClass
+GST_SKIN_DETECT
+GST_SKIN_DETECT_CAST
+GST_IS_SKIN_DETECT
+GST_SKIN_DETECT_CLASS
+GST_IS_SKIN_DETECT_CLASS
+GST_TYPE_SKIN_DETECT
+<SUBSECTION Private>
+gst_skin_detect_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-smooth</FILE>
+<TITLE>smooth</TITLE>
+GstSmooth
+<SUBSECTION Standard>
+GstSmoothClass
+GST_SMOOTH
+GST_SMOOTH_CAST
+GST_IS_SMOOTH
+GST_SMOOTH_CLASS
+GST_IS_SMOOTH_CLASS
+GST_TYPE_SMOOTH
+<SUBSECTION Private>
+gst_smooth_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-solarize</FILE>
 <TITLE>solarize</TITLE>
 GstSolarize
 <SUBSECTION Standard>
 GstSolarizeClass
 GST_SOLARIZE
-GST_SOLARIZE_CLASS
+GST_SOLARIZE_CAST
 GST_IS_SOLARIZE
+GST_SOLARIZE_CLASS
 GST_IS_SOLARIZE_CLASS
 GST_TYPE_SOLARIZE
+<SUBSECTION Private>
 gst_solarize_get_type
-gst_solarize_plugin_init
 </SECTION>
 
 <SECTION>
 <FILE>element-spacescope</FILE>
 <TITLE>spacescope</TITLE>
 GstSpaceScope
+GstSpaceScopeStyle
 <SUBSECTION Standard>
 GstSpaceScopeClass
 GST_SPACE_SCOPE
-GST_SPACE_SCOPE_CLASS
+GST_SPACE_SCOPE_CAST
 GST_IS_SPACE_SCOPE
+GST_SPACE_SCOPE_CLASS
 GST_IS_SPACE_SCOPE_CLASS
 GST_TYPE_SPACE_SCOPE
+<SUBSECTION Private>
 gst_space_scope_get_type
 </SECTION>
 
 <SECTION>
+<FILE>element-spanplc</FILE>
+<TITLE>spanplc</TITLE>
+GstSpanPlc
+<SUBSECTION Standard>
+GstSpanPlcClass
+GST_SPAN_PLC
+GST_SPAN_PLC_CAST
+GST_IS_SPAN_PLC
+GST_SPAN_PLC_CLASS
+GST_IS_SPAN_PLC_CLASS
+GST_TYPE_SPAN_PLC
+<SUBSECTION Private>
+gst_span_plc_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-spectrascope</FILE>
 <TITLE>spectrascope</TITLE>
 GstSpectraScope
 <SUBSECTION Standard>
 GstSpectraScopeClass
 GST_SPECTRA_SCOPE
-GST_SPECTRA_SCOPE_CLASS
+GST_SPECTRA_SCOPE_CAST
 GST_IS_SPECTRA_SCOPE
+GST_SPECTRA_SCOPE_CLASS
 GST_IS_SPECTRA_SCOPE_CLASS
 GST_TYPE_SPECTRA_SCOPE
+<SUBSECTION Private>
 gst_spectra_scope_get_type
 </SECTION>
 
@@ -1344,12 +3627,13 @@
 GstSpeed
 <SUBSECTION Standard>
 GstSpeedClass
-GstSpeedFormat
 GST_SPEED
-GST_SPEED_CLASS
+GST_SPEED_CAST
 GST_IS_SPEED
+GST_SPEED_CLASS
 GST_IS_SPEED_CLASS
 GST_TYPE_SPEED
+<SUBSECTION Private>
 gst_speed_get_type
 </SECTION>
 
@@ -1361,12 +3645,12 @@
 GstSphereClass
 GST_SPHERE
 GST_SPHERE_CAST
-GST_SPHERE_CLASS
 GST_IS_SPHERE
+GST_SPHERE_CLASS
 GST_IS_SPHERE_CLASS
 GST_TYPE_SPHERE
+<SUBSECTION Private>
 gst_sphere_get_type
-gst_sphere_plugin_init
 </SECTION>
 
 <SECTION>
@@ -1377,12 +3661,60 @@
 GstSquareClass
 GST_SQUARE
 GST_SQUARE_CAST
-GST_SQUARE_CLASS
 GST_IS_SQUARE
+GST_SQUARE_CLASS
 GST_IS_SQUARE_CLASS
 GST_TYPE_SQUARE
+<SUBSECTION Private>
 gst_square_get_type
-gst_square_plugin_init
+</SECTION>
+
+<SECTION>
+<FILE>element-srtenc</FILE>
+<TITLE>srtenc</TITLE>
+GstSrtEnc
+<SUBSECTION Standard>
+GstSrtEncClass
+GST_SRT_ENC
+GST_SRT_ENC_CAST
+GST_IS_SRT_ENC
+GST_SRT_ENC_CLASS
+GST_IS_SRT_ENC_CLASS
+GST_TYPE_SRT_ENC
+<SUBSECTION Private>
+gst_srt_enc_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-srtpdec</FILE>
+<TITLE>srtpdec</TITLE>
+GstSrtpDec
+<SUBSECTION Standard>
+GstSrtpDecClass
+GST_SRTP_DEC
+GST_SRTP_DEC_CAST
+GST_IS_SRTP_DEC
+GST_SRTP_DEC_CLASS
+GST_IS_SRTP_DEC_CLASS
+GST_TYPE_SRTP_DEC
+<SUBSECTION Private>
+gst_srtp_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-srtpenc</FILE>
+<TITLE>srtpenc</TITLE>
+GstSrtpEnc
+<SUBSECTION Standard>
+GstSrtpEncClass
+GST_SRTP_ENC
+GST_SRTP_ENC_CAST
+GST_IS_SRTP_ENC
+GST_SRTP_ENC_CLASS
+GST_IS_SRTP_ENC_CLASS
+GST_TYPE_SRTP_ENC
+<SUBSECTION Private>
+gst_srtp_enc_get_type
 </SECTION>
 
 <SECTION>
@@ -1392,10 +3724,12 @@
 <SUBSECTION Standard>
 GstStereoClass
 GST_STEREO
-GST_STEREO_CLASS
+GST_STEREO_CAST
 GST_IS_STEREO
+GST_STEREO_CLASS
 GST_IS_STEREO_CLASS
 GST_TYPE_STEREO
+<SUBSECTION Private>
 gst_stereo_get_type
 </SECTION>
 
@@ -1407,12 +3741,12 @@
 GstStretchClass
 GST_STRETCH
 GST_STRETCH_CAST
-GST_STRETCH_CLASS
 GST_IS_STRETCH
+GST_STRETCH_CLASS
 GST_IS_STRETCH_CLASS
 GST_TYPE_STRETCH
+<SUBSECTION Private>
 gst_stretch_get_type
-gst_stretch_plugin_init
 </SECTION>
 
 <SECTION>
@@ -1422,25 +3756,77 @@
 <SUBSECTION Standard>
 GstSynaeScopeClass
 GST_SYNAE_SCOPE
-GST_SYNAE_SCOPE_CLASS
+GST_SYNAE_SCOPE_CAST
 GST_IS_SYNAE_SCOPE
+GST_SYNAE_SCOPE_CLASS
 GST_IS_SYNAE_SCOPE_CLASS
 GST_TYPE_SYNAE_SCOPE
+<SUBSECTION Private>
 gst_synae_scope_get_type
 </SECTION>
 
+<SECTION>
+<FILE>element-tsdemux</FILE>
+<TITLE>tsdemux</TITLE>
+GstTSDemux
+<SUBSECTION Standard>
+GstTSDemuxClass
+GST_TS_DEMUX
+GST_TS_DEMUX_CAST
+GST_IS_TS_DEMUX
+GST_TS_DEMUX_CLASS
+GST_IS_TS_DEMUX_CLASS
+GST_TYPE_TS_DEMUX
+<SUBSECTION Private>
+gst_ts_demux_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-teletextdec</FILE>
+<TITLE>teletextdec</TITLE>
+GstTeletextDec
+<SUBSECTION Standard>
+GstTeletextDecClass
+GST_TELETEXT_DEC
+GST_TELETEXT_DEC_CAST
+GST_IS_TELETEXT_DEC
+GST_TELETEXT_DEC_CLASS
+GST_IS_TELETEXT_DEC_CLASS
+GST_TYPE_TELETEXT_DEC
+<SUBSECTION Private>
+gst_teletext_dec_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-templatematch</FILE>
 <TITLE>templatematch</TITLE>
 GstTemplateMatch
 <SUBSECTION Standard>
 GstTemplateMatchClass
-GST_TEMPLATEMATCH
-GST_TEMPLATEMATCH_CLASS
-GST_TYPE_TEMPLATEMATCH
-GST_IS_TEMPLATEMATCH
-GST_IS_TEMPLATEMATCH_CLASS
-gst_templatematch_get_type
-gst_templatematch_plugin_init
+GST_TEMPLATE_MATCH
+GST_TEMPLATE_MATCH_CAST
+GST_IS_TEMPLATE_MATCH
+GST_TEMPLATE_MATCH_CLASS
+GST_IS_TEMPLATE_MATCH_CLASS
+GST_TYPE_TEMPLATE_MATCH
+<SUBSECTION Private>
+gst_template_match_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-tonegeneratesrc</FILE>
+<TITLE>tonegeneratesrc</TITLE>
+GstToneGenerateSrc
+<SUBSECTION Standard>
+GstToneGenerateSrcClass
+GST_TONE_GENERATE_SRC
+GST_TONE_GENERATE_SRC_CAST
+GST_IS_TONE_GENERATE_SRC
+GST_TONE_GENERATE_SRC_CLASS
+GST_IS_TONE_GENERATE_SRC_CLASS
+GST_TYPE_TONE_GENERATE_SRC
+<SUBSECTION Private>
+gst_tone_generate_src_get_type
 </SECTION>
 
 <SECTION>
@@ -1465,12 +3851,12 @@
 GstTunnelClass
 GST_TUNNEL
 GST_TUNNEL_CAST
-GST_TUNNEL_CLASS
 GST_IS_TUNNEL
+GST_TUNNEL_CLASS
 GST_IS_TUNNEL_CLASS
 GST_TYPE_TUNNEL
+<SUBSECTION Private>
 gst_tunnel_get_type
-gst_tunnel_plugin_init
 </SECTION>
 
 <SECTION>
@@ -1481,12 +3867,124 @@
 GstTwirlClass
 GST_TWIRL
 GST_TWIRL_CAST
-GST_TWIRL_CLASS
 GST_IS_TWIRL
+GST_TWIRL_CLASS
 GST_IS_TWIRL_CLASS
 GST_TYPE_TWIRL
+<SUBSECTION Private>
 gst_twirl_get_type
-gst_twirl_plugin_init
+</SECTION>
+
+<SECTION>
+<FILE>element-unalignedaudioparse</FILE>
+<TITLE>unalignedaudioparse</TITLE>
+GstUnalignedAudioParse
+<SUBSECTION Standard>
+GstUnalignedAudioParseClass
+GST_UNALIGNED_AUDIO_PARSE
+GST_UNALIGNED_AUDIO_PARSE_CAST
+GST_IS_UNALIGNED_AUDIO_PARSE
+GST_UNALIGNED_AUDIO_PARSE_CLASS
+GST_IS_UNALIGNED_AUDIO_PARSE_CLASS
+GST_TYPE_UNALIGNED_AUDIO_PARSE
+<SUBSECTION Private>
+gst_unaligned_audio_parse_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-uvch264mjpgdemux</FILE>
+<TITLE>uvch264mjpgdemux</TITLE>
+GstUvcH264MjpgDemux
+<SUBSECTION Standard>
+GstUvcH264MjpgDemuxClass
+GST_UVC_H264_MJPG_DEMUX
+GST_UVC_H264_MJPG_DEMUX_CAST
+GST_IS_UVC_H264_MJPG_DEMUX
+GST_UVC_H264_MJPG_DEMUX_CLASS
+GST_IS_UVC_H264_MJPG_DEMUX_CLASS
+GST_TYPE_UVC_H264_MJPG_DEMUX
+<SUBSECTION Private>
+gst_uvc_h264_mjpg_demux_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-uvch264src</FILE>
+<TITLE>uvch264src</TITLE>
+GstUvcH264Src
+<SUBSECTION Standard>
+GstUvcH264SrcClass
+GST_UVC_H264_SRC
+GST_UVC_H264_SRC_CAST
+GST_IS_UVC_H264_SRC
+GST_UVC_H264_SRC_CLASS
+GST_IS_UVC_H264_SRC_CLASS
+GST_TYPE_UVC_H264_SRC
+<SUBSECTION Private>
+gst_uvc_h264_src_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-vc1parse</FILE>
+<TITLE>vc1parse</TITLE>
+GstVC1Parse
+<SUBSECTION Standard>
+GstVC1ParseClass
+GST_V_C1_PARSE
+GST_V_C1_PARSE_CAST
+GST_IS_V_C1_PARSE
+GST_V_C1_PARSE_CLASS
+GST_IS_V_C1_PARSE_CLASS
+GST_TYPE_V_C1_PARSE
+<SUBSECTION Private>
+gst_v_c1_parse_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-vcdsrc</FILE>
+<TITLE>vcdsrc</TITLE>
+GstVCDSrc
+<SUBSECTION Standard>
+GstVCDSrcClass
+GST_VCD_SRC
+GST_VCD_SRC_CAST
+GST_IS_VCD_SRC
+GST_VCD_SRC_CLASS
+GST_IS_VCD_SRC_CLASS
+GST_TYPE_VCD_SRC
+<SUBSECTION Private>
+gst_vcd_src_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-vmncdec</FILE>
+<TITLE>vmncdec</TITLE>
+GstVMncDec
+<SUBSECTION Standard>
+GstVMncDecClass
+GST_V_MNC_DEC
+GST_V_MNC_DEC_CAST
+GST_IS_V_MNC_DEC
+GST_V_MNC_DEC_CLASS
+GST_IS_V_MNC_DEC_CLASS
+GST_TYPE_V_MNC_DEC
+<SUBSECTION Private>
+gst_v_mnc_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-vdpaumpegdec</FILE>
+<TITLE>vdpaumpegdec</TITLE>
+GstVdpMpegDec
+<SUBSECTION Standard>
+GstVdpMpegDecClass
+GST_VDP_MPEG_DEC
+GST_VDP_MPEG_DEC_CAST
+GST_IS_VDP_MPEG_DEC
+GST_VDP_MPEG_DEC_CLASS
+GST_IS_VDP_MPEG_DEC_CLASS
+GST_TYPE_VDP_MPEG_DEC
+<SUBSECTION Private>
+gst_vdp_mpeg_dec_get_type
 </SECTION>
 
 <SECTION>
@@ -1496,40 +3994,45 @@
 <SUBSECTION Standard>
 GstVideoAnalyseClass
 GST_VIDEO_ANALYSE
+GST_VIDEO_ANALYSE_CAST
 GST_IS_VIDEO_ANALYSE
-GST_TYPE_VIDEO_ANALYSE
-gst_video_analyse_get_type
 GST_VIDEO_ANALYSE_CLASS
 GST_IS_VIDEO_ANALYSE_CLASS
-gst_wildmidi_get_type
+GST_TYPE_VIDEO_ANALYSE
+<SUBSECTION Private>
+gst_video_analyse_get_type
 </SECTION>
 
 <SECTION>
-<FILE>element-videodetect</FILE>
-<TITLE>videodetect</TITLE>
-GstVideoDetect
+<FILE>element-videodiff</FILE>
+<TITLE>videodiff</TITLE>
+GstVideoDiff
 <SUBSECTION Standard>
-GstVideoDetectClass
-GST_VIDEO_DETECT
-GST_IS_VIDEO_DETECT
-GST_TYPE_VIDEO_DETECT
-gst_video_detect_get_type
-GST_VIDEO_DETECT_CLASS
-GST_IS_VIDEO_DETECT_CLASS
+GstVideoDiffClass
+GST_VIDEO_DIFF
+GST_VIDEO_DIFF_CAST
+GST_IS_VIDEO_DIFF
+GST_VIDEO_DIFF_CLASS
+GST_IS_VIDEO_DIFF_CLASS
+GST_TYPE_VIDEO_DIFF
+<SUBSECTION Private>
+gst_video_diff_get_type
 </SECTION>
 
 <SECTION>
-<FILE>element-videomark</FILE>
-<TITLE>videomark</TITLE>
-GstVideoMark
+<FILE>element-videoframe-audiolevel</FILE>
+<TITLE>videoframe-audiolevel</TITLE>
+GstVideoFrameAudioLevel
 <SUBSECTION Standard>
-GstVideoMarkClass
-GST_VIDEO_MARK
-GST_IS_VIDEO_MARK
-GST_TYPE_VIDEO_MARK
-gst_video_mark_get_type
-GST_VIDEO_MARK_CLASS
-GST_IS_VIDEO_MARK_CLASS
+GstVideoFrameAudioLevelClass
+GST_VIDEO_FRAME_AUDIO_LEVEL
+GST_VIDEO_FRAME_AUDIO_LEVEL_CAST
+GST_IS_VIDEO_FRAME_AUDIO_LEVEL
+GST_VIDEO_FRAME_AUDIO_LEVEL_CLASS
+GST_IS_VIDEO_FRAME_AUDIO_LEVEL_CLASS
+GST_TYPE_VIDEO_FRAME_AUDIO_LEVEL
+<SUBSECTION Private>
+gst_video_frame_audio_level_get_type
 </SECTION>
 
 <SECTION>
@@ -1539,14 +4042,81 @@
 <SUBSECTION Standard>
 GstVideoParseClass
 GST_VIDEO_PARSE
-GST_VIDEO_PARSE_CLASS
+GST_VIDEO_PARSE_CAST
 GST_IS_VIDEO_PARSE
+GST_VIDEO_PARSE_CLASS
 GST_IS_VIDEO_PARSE_CLASS
 GST_TYPE_VIDEO_PARSE
+<SUBSECTION Private>
 gst_video_parse_get_type
 </SECTION>
 
 <SECTION>
+<FILE>element-videosegmentclip</FILE>
+<TITLE>videosegmentclip</TITLE>
+GstVideoSegmentClip
+<SUBSECTION Standard>
+GstVideoSegmentClipClass
+GST_VIDEO_SEGMENT_CLIP
+GST_VIDEO_SEGMENT_CLIP_CAST
+GST_IS_VIDEO_SEGMENT_CLIP
+GST_VIDEO_SEGMENT_CLIP_CLASS
+GST_IS_VIDEO_SEGMENT_CLIP_CLASS
+GST_TYPE_VIDEO_SEGMENT_CLIP
+<SUBSECTION Private>
+gst_video_segment_clip_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-viewfinderbin</FILE>
+<TITLE>viewfinderbin</TITLE>
+GstViewfinderBin
+<SUBSECTION Standard>
+GstViewfinderBinClass
+GST_VIEWFINDER_BIN
+GST_VIEWFINDER_BIN_CAST
+GST_IS_VIEWFINDER_BIN
+GST_VIEWFINDER_BIN_CLASS
+GST_IS_VIEWFINDER_BIN_CLASS
+GST_TYPE_VIEWFINDER_BIN
+<SUBSECTION Private>
+gst_viewfinder_bin_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-voamrwbenc</FILE>
+<TITLE>voamrwbenc</TITLE>
+GstVoAmrWbEnc
+GstVoAmrWbEncBandMode
+<SUBSECTION Standard>
+GstVoAmrWbEncClass
+GST_VO_AMR_WB_ENC
+GST_VO_AMR_WB_ENC_CAST
+GST_IS_VO_AMR_WB_ENC
+GST_VO_AMR_WB_ENC_CLASS
+GST_IS_VO_AMR_WB_ENC_CLASS
+GST_TYPE_VO_AMR_WB_ENC
+<SUBSECTION Private>
+gst_vo_amr_wb_enc_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-watchdog</FILE>
+<TITLE>watchdog</TITLE>
+GstWatchdog
+<SUBSECTION Standard>
+GstWatchdogClass
+GST_WATCHDOG
+GST_WATCHDOG_CAST
+GST_IS_WATCHDOG
+GST_WATCHDOG_CLASS
+GST_IS_WATCHDOG_CLASS
+GST_TYPE_WATCHDOG
+<SUBSECTION Private>
+gst_watchdog_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-waterripple</FILE>
 <TITLE>waterripple</TITLE>
 GstWaterRipple
@@ -1554,39 +4124,158 @@
 GstWaterRippleClass
 GST_WATER_RIPPLE
 GST_WATER_RIPPLE_CAST
-GST_WATER_RIPPLE_CLASS
 GST_IS_WATER_RIPPLE
+GST_WATER_RIPPLE_CLASS
 GST_IS_WATER_RIPPLE_CLASS
 GST_TYPE_WATER_RIPPLE
+<SUBSECTION Private>
 gst_water_ripple_get_type
-gst_water_ripple_plugin_init
 </SECTION>
 
 <SECTION>
 <FILE>element-wavescope</FILE>
 <TITLE>wavescope</TITLE>
 GstWaveScope
+GstWaveScopeStyle
 <SUBSECTION Standard>
 GstWaveScopeClass
 GST_WAVE_SCOPE
-GST_WAVE_SCOPE_CLASS
+GST_WAVE_SCOPE_CAST
 GST_IS_WAVE_SCOPE
+GST_WAVE_SCOPE_CLASS
 GST_IS_WAVE_SCOPE_CLASS
 GST_TYPE_WAVE_SCOPE
+<SUBSECTION Private>
 gst_wave_scope_get_type
 </SECTION>
 
 <SECTION>
+<FILE>element-waylandsink</FILE>
+<TITLE>waylandsink</TITLE>
+GstWaylandSink
+<SUBSECTION Standard>
+GstWaylandSinkClass
+GST_WAYLAND_SINK
+GST_WAYLAND_SINK_CAST
+GST_IS_WAYLAND_SINK
+GST_WAYLAND_SINK_CLASS
+GST_IS_WAYLAND_SINK_CLASS
+GST_TYPE_WAYLAND_SINK
+<SUBSECTION Private>
+gst_wayland_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-webpdec</FILE>
+<TITLE>webpdec</TITLE>
+GstWebPDec
+<SUBSECTION Standard>
+GstWebPDecClass
+GST_WEB_P_DEC
+GST_WEB_P_DEC_CAST
+GST_IS_WEB_P_DEC
+GST_WEB_P_DEC_CLASS
+GST_IS_WEB_P_DEC_CLASS
+GST_TYPE_WEB_P_DEC
+<SUBSECTION Private>
+gst_web_p_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-webpenc</FILE>
+<TITLE>webpenc</TITLE>
+GstWebpEnc
+GstWebpEncPreset
+<SUBSECTION Standard>
+GstWebpEncClass
+GST_WEBP_ENC
+GST_WEBP_ENC_CAST
+GST_IS_WEBP_ENC
+GST_WEBP_ENC_CLASS
+GST_IS_WEBP_ENC_CLASS
+GST_TYPE_WEBP_ENC
+<SUBSECTION Private>
+gst_webp_enc_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-webrtcdsp</FILE>
+<TITLE>webrtcdsp</TITLE>
+GstWebrtcDsp
+<SUBSECTION Standard>
+GstWebrtcDspClass
+GST_WEBRTC_DSP
+GST_WEBRTC_DSP_CAST
+GST_IS_WEBRTC_DSP
+GST_WEBRTC_DSP_CLASS
+GST_IS_WEBRTC_DSP_CLASS
+GST_TYPE_WEBRTC_DSP
+<SUBSECTION Private>
+gst_webrtc_dsp_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-webrtcechoprobe</FILE>
+<TITLE>webrtcechoprobe</TITLE>
+GstWebrtcEchoProbe
+<SUBSECTION Standard>
+GstWebrtcEchoProbeClass
+GST_WEBRTC_ECHO_PROBE
+GST_WEBRTC_ECHO_PROBE_CAST
+GST_IS_WEBRTC_ECHO_PROBE
+GST_WEBRTC_ECHO_PROBE_CLASS
+GST_IS_WEBRTC_ECHO_PROBE_CLASS
+GST_TYPE_WEBRTC_ECHO_PROBE
+<SUBSECTION Private>
+gst_webrtc_echo_probe_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-webvttenc</FILE>
+<TITLE>webvttenc</TITLE>
+GstWebvttEnc
+<SUBSECTION Standard>
+GstWebvttEncClass
+GST_WEBVTT_ENC
+GST_WEBVTT_ENC_CAST
+GST_IS_WEBVTT_ENC
+GST_WEBVTT_ENC_CLASS
+GST_IS_WEBVTT_ENC_CLASS
+GST_TYPE_WEBVTT_ENC
+<SUBSECTION Private>
+gst_webvtt_enc_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-wildmidi</FILE>
 <TITLE>wildmidi</TITLE>
 GstWildmidi
 <SUBSECTION Standard>
 GstWildmidiClass
 GST_WILDMIDI
-GST_WILDMIDI_CLASS
+GST_WILDMIDI_CAST
 GST_IS_WILDMIDI
+GST_WILDMIDI_CLASS
 GST_IS_WILDMIDI_CLASS
 GST_TYPE_WILDMIDI
+<SUBSECTION Private>
+gst_wildmidi_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-wrappercamerabinsrc</FILE>
+<TITLE>wrappercamerabinsrc</TITLE>
+GstWrapperCameraBinSrc
+<SUBSECTION Standard>
+GstWrapperCameraBinSrcClass
+GST_WRAPPER_CAMERA_BIN_SRC
+GST_WRAPPER_CAMERA_BIN_SRC_CAST
+GST_IS_WRAPPER_CAMERA_BIN_SRC
+GST_WRAPPER_CAMERA_BIN_SRC_CLASS
+GST_IS_WRAPPER_CAMERA_BIN_SRC_CLASS
+GST_TYPE_WRAPPER_CAMERA_BIN_SRC
+<SUBSECTION Private>
+gst_wrapper_camera_bin_src_get_type
 </SECTION>
 
 <SECTION>
@@ -1604,17 +4293,52 @@
 </SECTION>
 
 <SECTION>
-<FILE>element-voamrwbenc</FILE>
-<TITLE>voamrwbenc</TITLE>
-GstVoAmrwbEnc
+<FILE>element-x265enc</FILE>
+<TITLE>x265enc</TITLE>
+GstX265Enc
 <SUBSECTION Standard>
-GstVoAmrwbEncClass
-GST_VOAMRWBENC
-GST_VOAMRWBENC_CLASS
-GST_IS_VOAMRWBENC
-GST_IS_VOAMRWBENC_CLASS
-GST_TYPE_VOAMRWBENC
-gst_voamrwbenc_get_type
+GstX265EncClass
+GST_X265_ENC
+GST_X265_ENC_CAST
+GST_IS_X265_ENC
+GST_X265_ENC_CLASS
+GST_IS_X265_ENC_CLASS
+GST_TYPE_X265_ENC
+<SUBSECTION Private>
+gst_x265_enc_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-y4mdec</FILE>
+<TITLE>y4mdec</TITLE>
+GstY4mDec
+<SUBSECTION Standard>
+GstY4mDecClass
+GST_Y4M_DEC
+GST_Y4M_DEC_CAST
+GST_IS_Y4M_DEC
+GST_Y4M_DEC_CLASS
+GST_IS_Y4M_DEC_CLASS
+GST_TYPE_Y4M_DEC
+<SUBSECTION Private>
+gst_y4m_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-yadif</FILE>
+<TITLE>yadif</TITLE>
+GstYadif
+GstYadifModes
+<SUBSECTION Standard>
+GstYadifClass
+GST_YADIF
+GST_YADIF_CAST
+GST_IS_YADIF
+GST_YADIF_CLASS
+GST_IS_YADIF_CLASS
+GST_TYPE_YADIF
+<SUBSECTION Private>
+gst_yadif_get_type
 </SECTION>
 
 <SECTION>
@@ -1623,42 +4347,397 @@
 GstZBar
 <SUBSECTION Standard>
 GstZBarClass
-GST_ZBAR
-GST_ZBAR_CLASS
-GST_IS_ZBAR
-GST_IS_ZBAR_CLASS
-GST_TYPE_ZBAR
+GST_Z_BAR
+GST_Z_BAR_CAST
+GST_IS_Z_BAR
+GST_Z_BAR_CLASS
+GST_IS_Z_BAR_CLASS
+GST_TYPE_Z_BAR
+<SUBSECTION Private>
+gst_z_bar_get_type
 </SECTION>
 
 <SECTION>
-<FILE>element-gltransformation</FILE>
-<TITLE>gltransformation</TITLE>
-GstGLTransformation
+<FILE>element-zebrastripe</FILE>
+<TITLE>zebrastripe</TITLE>
+GstZebraStripe
 <SUBSECTION Standard>
-GstGLTransformationClass
-GST_GL_TRANSFORMATION
-GST_GL_TRANSFORMATION_CLASS
-GST_IS_GL_TRANSFORMATION
-GST_IS_GL_TRANSFORMATION_CLASS
-GST_TYPE_GL_TRANSFORMATION
+GstZebraStripeClass
+GST_ZEBRA_STRIPE
+GST_ZEBRA_STRIPE_CAST
+GST_IS_ZEBRA_STRIPE
+GST_ZEBRA_STRIPE_CLASS
+GST_IS_ZEBRA_STRIPE_CLASS
+GST_TYPE_ZEBRA_STRIPE
+<SUBSECTION Private>
+gst_zebra_stripe_get_type
 </SECTION>
 
 <SECTION>
-<FILE>element-compositor</FILE>
-<TITLE>compositor</TITLE>
+<FILE>element-mpegpsmux</FILE>
+<TITLE>mpegpsmux</TITLE>
+GstgPsMux
 <SUBSECTION Standard>
-GstCompositorClass
-GstCompositor
-GST_COMPOSITOR
-GST_COMPOSITOR_CLASS
-GST_IS_COMPOSITOR
-GST_IS_COMPOSITOR_CLASS
-GST_TYPE_COMPOSITOR
-GstCompositorPad
-GstCompositorPadClass
-GST_COMPOSITOR_PAD
-GST_COMPOSITOR_PAD_CLASS
-GST_IS_COMPOSITOR_PAD
-GST_IS_COMPOSITOR_PAD_CLASS
-GST_TYPE_COMPOSITOR_PAD
+GstgPsMuxClass
+GST_G_PS_MUX
+GST_G_PS_MUX_CAST
+GST_IS_G_PS_MUX
+GST_G_PS_MUX_CLASS
+GST_IS_G_PS_MUX_CLASS
+GST_TYPE_G_PS_MUX
+<SUBSECTION Private>
+gst_g_ps_mux_get_type
 </SECTION>
+
+<SECTION>
+<FILE>element-tsparse</FILE>
+<TITLE>tsparse</TITLE>
+GstgTSParse2
+<SUBSECTION Standard>
+GstgTSParse2Class
+GST_G_TS_PARSE2
+GST_G_TS_PARSE2_CAST
+GST_IS_G_TS_PARSE2
+GST_G_TS_PARSE2_CLASS
+GST_IS_G_TS_PARSE2_CLASS
+GST_TYPE_G_TS_PARSE2
+<SUBSECTION Private>
+gst_g_ts_parse2_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-mpegtsmux</FILE>
+<TITLE>mpegtsmux</TITLE>
+GstgTsMux
+<SUBSECTION Standard>
+GstgTsMuxClass
+GST_G_TS_MUX
+GST_G_TS_MUX_CAST
+GST_IS_G_TS_MUX
+GST_G_TS_MUX_CLASS
+GST_IS_G_TS_MUX_CLASS
+GST_TYPE_G_TS_MUX
+<SUBSECTION Private>
+gst_g_ts_mux_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-rsndvdbin</FILE>
+<TITLE>rsndvdbin</TITLE>
+GstDvdBin
+<SUBSECTION Standard>
+GstDvdBinClass
+GST_DVD_BIN
+GST_DVD_BIN_CAST
+GST_IS_DVD_BIN
+GST_DVD_BIN_CLASS
+GST_IS_DVD_BIN_CLASS
+GST_TYPE_DVD_BIN
+<SUBSECTION Private>
+gst_dvd_bin_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_blur</FILE>
+<TITLE>gleffects_blur</TITLE>
+Gstffects_blur
+<SUBSECTION Standard>
+Gstffects_blurClass
+GST_FFECTS_BLUR
+GST_FFECTS_BLUR_CAST
+GST_IS_FFECTS_BLUR
+GST_FFECTS_BLUR_CLASS
+GST_IS_FFECTS_BLUR_CLASS
+GST_TYPE_FFECTS_BLUR
+<SUBSECTION Private>
+gst_ffects_blur_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_bulge</FILE>
+<TITLE>gleffects_bulge</TITLE>
+Gstffects_bulge
+<SUBSECTION Standard>
+Gstffects_bulgeClass
+GST_FFECTS_BULGE
+GST_FFECTS_BULGE_CAST
+GST_IS_FFECTS_BULGE
+GST_FFECTS_BULGE_CLASS
+GST_IS_FFECTS_BULGE_CLASS
+GST_TYPE_FFECTS_BULGE
+<SUBSECTION Private>
+gst_ffects_bulge_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_fisheye</FILE>
+<TITLE>gleffects_fisheye</TITLE>
+Gstffects_fisheye
+<SUBSECTION Standard>
+Gstffects_fisheyeClass
+GST_FFECTS_FISHEYE
+GST_FFECTS_FISHEYE_CAST
+GST_IS_FFECTS_FISHEYE
+GST_FFECTS_FISHEYE_CLASS
+GST_IS_FFECTS_FISHEYE_CLASS
+GST_TYPE_FFECTS_FISHEYE
+<SUBSECTION Private>
+gst_ffects_fisheye_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_glow</FILE>
+<TITLE>gleffects_glow</TITLE>
+Gstffects_glow
+<SUBSECTION Standard>
+Gstffects_glowClass
+GST_FFECTS_GLOW
+GST_FFECTS_GLOW_CAST
+GST_IS_FFECTS_GLOW
+GST_FFECTS_GLOW_CLASS
+GST_IS_FFECTS_GLOW_CLASS
+GST_TYPE_FFECTS_GLOW
+<SUBSECTION Private>
+gst_ffects_glow_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_heat</FILE>
+<TITLE>gleffects_heat</TITLE>
+Gstffects_heat
+<SUBSECTION Standard>
+Gstffects_heatClass
+GST_FFECTS_HEAT
+GST_FFECTS_HEAT_CAST
+GST_IS_FFECTS_HEAT
+GST_FFECTS_HEAT_CLASS
+GST_IS_FFECTS_HEAT_CLASS
+GST_TYPE_FFECTS_HEAT
+<SUBSECTION Private>
+gst_ffects_heat_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_identity</FILE>
+<TITLE>gleffects_identity</TITLE>
+Gstffects_identity
+<SUBSECTION Standard>
+Gstffects_identityClass
+GST_FFECTS_IDENTITY
+GST_FFECTS_IDENTITY_CAST
+GST_IS_FFECTS_IDENTITY
+GST_FFECTS_IDENTITY_CLASS
+GST_IS_FFECTS_IDENTITY_CLASS
+GST_TYPE_FFECTS_IDENTITY
+<SUBSECTION Private>
+gst_ffects_identity_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_laplacian</FILE>
+<TITLE>gleffects_laplacian</TITLE>
+Gstffects_laplacian
+<SUBSECTION Standard>
+Gstffects_laplacianClass
+GST_FFECTS_LAPLACIAN
+GST_FFECTS_LAPLACIAN_CAST
+GST_IS_FFECTS_LAPLACIAN
+GST_FFECTS_LAPLACIAN_CLASS
+GST_IS_FFECTS_LAPLACIAN_CLASS
+GST_TYPE_FFECTS_LAPLACIAN
+<SUBSECTION Private>
+gst_ffects_laplacian_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_lumaxpro</FILE>
+<TITLE>gleffects_lumaxpro</TITLE>
+Gstffects_lumaxpro
+<SUBSECTION Standard>
+Gstffects_lumaxproClass
+GST_FFECTS_LUMAXPRO
+GST_FFECTS_LUMAXPRO_CAST
+GST_IS_FFECTS_LUMAXPRO
+GST_FFECTS_LUMAXPRO_CLASS
+GST_IS_FFECTS_LUMAXPRO_CLASS
+GST_TYPE_FFECTS_LUMAXPRO
+<SUBSECTION Private>
+gst_ffects_lumaxpro_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_mirror</FILE>
+<TITLE>gleffects_mirror</TITLE>
+Gstffects_mirror
+<SUBSECTION Standard>
+Gstffects_mirrorClass
+GST_FFECTS_MIRROR
+GST_FFECTS_MIRROR_CAST
+GST_IS_FFECTS_MIRROR
+GST_FFECTS_MIRROR_CLASS
+GST_IS_FFECTS_MIRROR_CLASS
+GST_TYPE_FFECTS_MIRROR
+<SUBSECTION Private>
+gst_ffects_mirror_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_sepia</FILE>
+<TITLE>gleffects_sepia</TITLE>
+Gstffects_sepia
+<SUBSECTION Standard>
+Gstffects_sepiaClass
+GST_FFECTS_SEPIA
+GST_FFECTS_SEPIA_CAST
+GST_IS_FFECTS_SEPIA
+GST_FFECTS_SEPIA_CLASS
+GST_IS_FFECTS_SEPIA_CLASS
+GST_TYPE_FFECTS_SEPIA
+<SUBSECTION Private>
+gst_ffects_sepia_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_sin</FILE>
+<TITLE>gleffects_sin</TITLE>
+Gstffects_sin
+<SUBSECTION Standard>
+Gstffects_sinClass
+GST_FFECTS_SIN
+GST_FFECTS_SIN_CAST
+GST_IS_FFECTS_SIN
+GST_FFECTS_SIN_CLASS
+GST_IS_FFECTS_SIN_CLASS
+GST_TYPE_FFECTS_SIN
+<SUBSECTION Private>
+gst_ffects_sin_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_sobel</FILE>
+<TITLE>gleffects_sobel</TITLE>
+Gstffects_sobel
+<SUBSECTION Standard>
+Gstffects_sobelClass
+GST_FFECTS_SOBEL
+GST_FFECTS_SOBEL_CAST
+GST_IS_FFECTS_SOBEL
+GST_FFECTS_SOBEL_CLASS
+GST_IS_FFECTS_SOBEL_CLASS
+GST_TYPE_FFECTS_SOBEL
+<SUBSECTION Private>
+gst_ffects_sobel_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_square</FILE>
+<TITLE>gleffects_square</TITLE>
+Gstffects_square
+<SUBSECTION Standard>
+Gstffects_squareClass
+GST_FFECTS_SQUARE
+GST_FFECTS_SQUARE_CAST
+GST_IS_FFECTS_SQUARE
+GST_FFECTS_SQUARE_CLASS
+GST_IS_FFECTS_SQUARE_CLASS
+GST_TYPE_FFECTS_SQUARE
+<SUBSECTION Private>
+gst_ffects_square_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_squeeze</FILE>
+<TITLE>gleffects_squeeze</TITLE>
+Gstffects_squeeze
+<SUBSECTION Standard>
+Gstffects_squeezeClass
+GST_FFECTS_SQUEEZE
+GST_FFECTS_SQUEEZE_CAST
+GST_IS_FFECTS_SQUEEZE
+GST_FFECTS_SQUEEZE_CLASS
+GST_IS_FFECTS_SQUEEZE_CLASS
+GST_TYPE_FFECTS_SQUEEZE
+<SUBSECTION Private>
+gst_ffects_squeeze_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_stretch</FILE>
+<TITLE>gleffects_stretch</TITLE>
+Gstffects_stretch
+<SUBSECTION Standard>
+Gstffects_stretchClass
+GST_FFECTS_STRETCH
+GST_FFECTS_STRETCH_CAST
+GST_IS_FFECTS_STRETCH
+GST_FFECTS_STRETCH_CLASS
+GST_IS_FFECTS_STRETCH_CLASS
+GST_TYPE_FFECTS_STRETCH
+<SUBSECTION Private>
+gst_ffects_stretch_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_tunnel</FILE>
+<TITLE>gleffects_tunnel</TITLE>
+Gstffects_tunnel
+<SUBSECTION Standard>
+Gstffects_tunnelClass
+GST_FFECTS_TUNNEL
+GST_FFECTS_TUNNEL_CAST
+GST_IS_FFECTS_TUNNEL
+GST_FFECTS_TUNNEL_CLASS
+GST_IS_FFECTS_TUNNEL_CLASS
+GST_TYPE_FFECTS_TUNNEL
+<SUBSECTION Private>
+gst_ffects_tunnel_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_twirl</FILE>
+<TITLE>gleffects_twirl</TITLE>
+Gstffects_twirl
+<SUBSECTION Standard>
+Gstffects_twirlClass
+GST_FFECTS_TWIRL
+GST_FFECTS_TWIRL_CAST
+GST_IS_FFECTS_TWIRL
+GST_FFECTS_TWIRL_CLASS
+GST_IS_FFECTS_TWIRL_CLASS
+GST_TYPE_FFECTS_TWIRL
+<SUBSECTION Private>
+gst_ffects_twirl_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_xpro</FILE>
+<TITLE>gleffects_xpro</TITLE>
+Gstffects_xpro
+<SUBSECTION Standard>
+Gstffects_xproClass
+GST_FFECTS_XPRO
+GST_FFECTS_XPRO_CAST
+GST_IS_FFECTS_XPRO
+GST_FFECTS_XPRO_CLASS
+GST_IS_FFECTS_XPRO_CLASS
+GST_TYPE_FFECTS_XPRO
+<SUBSECTION Private>
+gst_ffects_xpro_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-gleffects_xray</FILE>
+<TITLE>gleffects_xray</TITLE>
+Gstffects_xray
+<SUBSECTION Standard>
+Gstffects_xrayClass
+GST_FFECTS_XRAY
+GST_FFECTS_XRAY_CAST
+GST_IS_FFECTS_XRAY
+GST_FFECTS_XRAY_CLASS
+GST_IS_FFECTS_XRAY_CLASS
+GST_TYPE_FFECTS_XRAY
+<SUBSECTION Private>
+gst_ffects_xray_get_type
+</SECTION>
+
diff --git a/docs/plugins/gst-plugins-bad-plugins.args b/docs/plugins/gst-plugins-bad-plugins.args
index 0bdbfbd..ce94f99 100644
--- a/docs/plugins/gst-plugins-bad-plugins.args
+++ b/docs/plugins/gst-plugins-bad-plugins.args
@@ -1399,6 +1399,16 @@
 </ARG>
 
 <ARG>
+<NAME>GstGLImageSink::rotate-method</NAME>
+<TYPE>GstGLRotateMethod</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>rotate method</NICK>
+<BLURB>rotate method.</BLURB>
+<DEFAULT>Identity (no rotation)</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstRgAnalysis::forced</NAME>
 <TYPE>gboolean</TYPE>
 <RANGE></RANGE>
@@ -1704,7 +1714,7 @@
 <RANGE></RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>bandwidth-hz</NICK>
-<BLURB>(DVB-T) Bandwidth in Hz.</BLURB>
+<BLURB>Channel bandwidth in Hz.</BLURB>
 <DEFAULT>8000000</DEFAULT>
 </ARG>
 
@@ -1814,7 +1824,7 @@
 <RANGE></RANGE>
 <FLAGS>w</FLAGS>
 <NICK>pids</NICK>
-<BLURB>Colon seperated list of pids (eg. 110:120).</BLURB>
+<BLURB>Colon-separated list of PIDs (eg. 110:120) to capture. ACT and CAT are automatically included but PMT should be added explicitly. Special value 8192 gets full MPEG-TS.</BLURB>
 <DEFAULT>"8192"</DEFAULT>
 </ARG>
 
@@ -2003,7 +2013,7 @@
 <TYPE>guint</TYPE>
 <RANGE>[1,7]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T layer enabled</NICK>
+<NICK>ISDB-T layer enabled</NICK>
 <BLURB>(ISDB-T) Layer Enabled (7 = All layers).</BLURB>
 <DEFAULT>7</DEFAULT>
 </ARG>
@@ -2033,7 +2043,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,13]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T layer A segment count</NICK>
+<NICK>ISDB-T layer A segment count</NICK>
 <BLURB>(ISDB-T) Layer A segment count (-1 = AUTO).</BLURB>
 <DEFAULT>-1</DEFAULT>
 </ARG>
@@ -2043,7 +2053,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,8]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T layer A time interleaving </NICK>
+<NICK>ISDB-T layer A time interleaving</NICK>
 <BLURB>(ISDB-T) Layer A time interleaving (-1 = AUTO).</BLURB>
 <DEFAULT>-1</DEFAULT>
 </ARG>
@@ -2073,7 +2083,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,13]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T layer B segment count</NICK>
+<NICK>ISDB-T layer B segment count</NICK>
 <BLURB>(ISDB-T) Layer B segment count (-1 = AUTO).</BLURB>
 <DEFAULT>-1</DEFAULT>
 </ARG>
@@ -2083,7 +2093,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,8]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T layer B time interleaving </NICK>
+<NICK>ISDB-T layer B time interleaving</NICK>
 <BLURB>(ISDB-T) Layer B time interleaving (-1 = AUTO).</BLURB>
 <DEFAULT>-1</DEFAULT>
 </ARG>
@@ -2113,7 +2123,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,13]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T layer C segment count</NICK>
+<NICK>ISDB-T layer C segment count</NICK>
 <BLURB>(ISDB-T) Layer C segment count (-1 = AUTO).</BLURB>
 <DEFAULT>-1</DEFAULT>
 </ARG>
@@ -2123,7 +2133,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,8]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T layer C time interleaving </NICK>
+<NICK>ISDB-T layer C time interleaving</NICK>
 <BLURB>(ISDB-T) Layer C time interleaving (-1 = AUTO).</BLURB>
 <DEFAULT>-1</DEFAULT>
 </ARG>
@@ -2133,7 +2143,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,1]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T partial reception</NICK>
+<NICK>ISDB-T partial reception</NICK>
 <BLURB>(ISDB-T) Partial Reception (-1 = AUTO).</BLURB>
 <DEFAULT>1</DEFAULT>
 </ARG>
@@ -2143,7 +2153,7 @@
 <TYPE>guint</TYPE>
 <RANGE>[1,13]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T SB segment count</NICK>
+<NICK>ISDB-T SB segment count</NICK>
 <BLURB>(ISDB-T) SB segment count.</BLURB>
 <DEFAULT>1</DEFAULT>
 </ARG>
@@ -2153,7 +2163,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[0,12]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T SB segment IDX</NICK>
+<NICK>ISDB-T SB segment IDX</NICK>
 <BLURB>(ISDB-T) SB segment IDX.</BLURB>
 <DEFAULT>0</DEFAULT>
 </ARG>
@@ -2163,7 +2173,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,41]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T SB subchannel ID</NICK>
+<NICK>ISDB-T SB subchannel ID</NICK>
 <BLURB>(ISDB-T) SB Subchannel ID (-1 = AUTO).</BLURB>
 <DEFAULT>0</DEFAULT>
 </ARG>
@@ -2173,7 +2183,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[0,1]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T sound broadcasting</NICK>
+<NICK>ISDB-T sound broadcasting</NICK>
 <BLURB>(ISDB-T) Sound Broadcasting.</BLURB>
 <DEFAULT>0</DEFAULT>
 </ARG>
@@ -18174,7 +18184,7 @@
 <RANGE></RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>bandwidth-hz</NICK>
-<BLURB>(DVB-T) Bandwidth in Hz.</BLURB>
+<BLURB>Channel bandwidth in Hz.</BLURB>
 <DEFAULT>8000000</DEFAULT>
 </ARG>
 
@@ -18233,7 +18243,7 @@
 <TYPE>guint</TYPE>
 <RANGE>[1,7]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T layer enabled</NICK>
+<NICK>ISDB-T layer enabled</NICK>
 <BLURB>(ISDB-T) Layer Enabled (7 = All layers).</BLURB>
 <DEFAULT>7</DEFAULT>
 </ARG>
@@ -18263,7 +18273,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,13]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T layer A segment count</NICK>
+<NICK>ISDB-T layer A segment count</NICK>
 <BLURB>(ISDB-T) Layer A segment count (-1 = AUTO).</BLURB>
 <DEFAULT>-1</DEFAULT>
 </ARG>
@@ -18273,7 +18283,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,8]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T layer A time interleaving </NICK>
+<NICK>ISDB-T layer A time interleaving</NICK>
 <BLURB>(ISDB-T) Layer A time interleaving (-1 = AUTO).</BLURB>
 <DEFAULT>-1</DEFAULT>
 </ARG>
@@ -18303,7 +18313,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,13]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T layer B segment count</NICK>
+<NICK>ISDB-T layer B segment count</NICK>
 <BLURB>(ISDB-T) Layer B segment count (-1 = AUTO).</BLURB>
 <DEFAULT>-1</DEFAULT>
 </ARG>
@@ -18313,7 +18323,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,8]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T layer B time interleaving </NICK>
+<NICK>ISDB-T layer B time interleaving</NICK>
 <BLURB>(ISDB-T) Layer B time interleaving (-1 = AUTO).</BLURB>
 <DEFAULT>-1</DEFAULT>
 </ARG>
@@ -18343,7 +18353,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,13]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T layer C segment count</NICK>
+<NICK>ISDB-T layer C segment count</NICK>
 <BLURB>(ISDB-T) Layer C segment count (-1 = AUTO).</BLURB>
 <DEFAULT>-1</DEFAULT>
 </ARG>
@@ -18353,7 +18363,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,8]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T layer C time interleaving </NICK>
+<NICK>ISDB-T layer C time interleaving</NICK>
 <BLURB>(ISDB-T) Layer C time interleaving (-1 = AUTO).</BLURB>
 <DEFAULT>-1</DEFAULT>
 </ARG>
@@ -18363,7 +18373,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,1]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T partial reception</NICK>
+<NICK>ISDB-T partial reception</NICK>
 <BLURB>(ISDB-T) Partial Reception (-1 = AUTO).</BLURB>
 <DEFAULT>1</DEFAULT>
 </ARG>
@@ -18373,7 +18383,7 @@
 <TYPE>guint</TYPE>
 <RANGE>[1,13]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T SB segment count</NICK>
+<NICK>ISDB-T SB segment count</NICK>
 <BLURB>(ISDB-T) SB segment count.</BLURB>
 <DEFAULT>1</DEFAULT>
 </ARG>
@@ -18383,7 +18393,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[0,12]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T SB segment IDX</NICK>
+<NICK>ISDB-T SB segment IDX</NICK>
 <BLURB>(ISDB-T) SB segment IDX.</BLURB>
 <DEFAULT>0</DEFAULT>
 </ARG>
@@ -18393,7 +18403,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[G_MAXULONG,41]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T SB subchannel ID</NICK>
+<NICK>ISDB-T SB subchannel ID</NICK>
 <BLURB>(ISDB-T) SB Subchannel ID (-1 = AUTO).</BLURB>
 <DEFAULT>0</DEFAULT>
 </ARG>
@@ -18403,7 +18413,7 @@
 <TYPE>gint</TYPE>
 <RANGE>[0,1]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>ISB-T sound broadcasting</NICK>
+<NICK>ISDB-T sound broadcasting</NICK>
 <BLURB>(ISDB-T) Sound Broadcasting.</BLURB>
 <DEFAULT>0</DEFAULT>
 </ARG>
@@ -18900,11 +18910,11 @@
 
 <ARG>
 <NAME>GstH264Parse::config-interval</NAME>
-<TYPE>guint</TYPE>
-<RANGE><= 3600</RANGE>
+<TYPE>gint</TYPE>
+<RANGE>[G_MAXULONG,3600]</RANGE>
 <FLAGS>rwx</FLAGS>
 <NICK>SPS PPS Send Interval</NICK>
-<BLURB>Send SPS and PPS Insertion Interval in seconds (sprop parameter sets will be multiplexed in the data stream when detected.) (0 = disabled).</BLURB>
+<BLURB>Send SPS and PPS Insertion Interval in seconds (sprop parameter sets will be multiplexed in the data stream when detected.) (0 = disabled, -1 = send with every IDR frame).</BLURB>
 <DEFAULT>0</DEFAULT>
 </ARG>
 
@@ -27264,8 +27274,8 @@
 <RANGE>[0,1]</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>diffspace</NICK>
-<BLURB>difference space: a value from 0 to 256.</BLURB>
-<DEFAULT>1</DEFAULT>
+<BLURB>difference space: a value from 0 to 256 (mapped to [0,1]).</BLURB>
+<DEFAULT>0.00390625</DEFAULT>
 </ARG>
 
 <ARG>
@@ -27274,8 +27284,8 @@
 <RANGE>[0,1]</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>triplevel</NICK>
-<BLURB>level of trip: use high numbers, incremented by 100.</BLURB>
-<DEFAULT>0</DEFAULT>
+<BLURB>level of trip: mapped to [0,1] asymptotical.</BLURB>
+<DEFAULT>1</DEFAULT>
 </ARG>
 
 <ARG>
@@ -27313,7 +27323,7 @@
 <TYPE>gdouble</TYPE>
 <RANGE>[0,1]</RANGE>
 <FLAGS>rw</FLAGS>
-<NICK>brightness</NICK>
+<NICK>Brightness</NICK>
 <BLURB></BLURB>
 <DEFAULT>0.5</DEFAULT>
 </ARG>
@@ -27359,6 +27369,46 @@
 </ARG>
 
 <ARG>
+<NAME>frei0r-filter-lens-correction::correction-near-center</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Correction near center</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-lens-correction::correction-near-edges</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Correction near edges</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-lens-correction::x-center</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>X center</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-lens-correction::y-center</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Y center</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>frei0r-filter-brightness::brightness</NAME>
 <TYPE>gdouble</TYPE>
 <RANGE>[0,1]</RANGE>
@@ -27429,6 +27479,26 @@
 </ARG>
 
 <ARG>
+<NAME>frei0r-filter-pixeliz0r::block-height</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Block height</NICK>
+<BLURB>Vertical size of one "pixel".</BLURB>
+<DEFAULT>0.0291667</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pixeliz0r::block-width</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Block width</NICK>
+<BLURB>Horizontal size of one "pixel".</BLURB>
+<DEFAULT>0.021875</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>frei0r-filter-3dflippo::center-position--x-</NAME>
 <TYPE>gdouble</TYPE>
 <RANGE>[0,1]</RANGE>
@@ -27605,7 +27675,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Saturation</NICK>
 <BLURB>The saturation value.</BLURB>
-<DEFAULT>0</DEFAULT>
+<DEFAULT>0.125</DEFAULT>
 </ARG>
 
 <ARG>
@@ -27635,7 +27705,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>lredscale</NICK>
 <BLURB>multiplier for downscaling non-edge brightness.</BLURB>
-<DEFAULT>5.48413e-322</DEFAULT>
+<DEFAULT>0</DEFAULT>
 </ARG>
 
 <ARG>
@@ -27645,7 +27715,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>lthresh</NICK>
 <BLURB>threshold for edge lightening.</BLURB>
-<DEFAULT>8.00386e-321</DEFAULT>
+<DEFAULT>0</DEFAULT>
 </ARG>
 
 <ARG>
@@ -27655,7 +27725,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>lupscale</NICK>
 <BLURB>multiplier for upscaling edge brightness.</BLURB>
-<DEFAULT>7.93469e-321</DEFAULT>
+<DEFAULT>0</DEFAULT>
 </ARG>
 
 <ARG>
@@ -27685,7 +27755,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Green Tint</NICK>
 <BLURB>Adjust the level of green.</BLURB>
-<DEFAULT>0</DEFAULT>
+<DEFAULT>0.133333</DEFAULT>
 </ARG>
 
 <ARG>
@@ -27825,7 +27895,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>blend</NICK>
 <BLURB>blend factor.</BLURB>
-<DEFAULT>0</DEFAULT>
+<DEFAULT>7.49023e-11</DEFAULT>
 </ARG>
 
 <ARG>
@@ -28015,7 +28085,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>HSync</NICK>
 <BLURB>the hsync offset.</BLURB>
-<DEFAULT>2.11543e-316</DEFAULT>
+<DEFAULT>0</DEFAULT>
 </ARG>
 
 <ARG>
@@ -33995,7 +34065,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Histogram position</NICK>
 <BLURB>Histogram position.</BLURB>
-<DEFAULT>0</DEFAULT>
+<DEFAULT>0.3</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34125,7 +34195,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Color (G)</NICK>
 <BLURB>The color to make transparent (B G R).</BLURB>
-<DEFAULT>0</DEFAULT>
+<DEFAULT>0.94</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34145,7 +34215,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Distance</NICK>
 <BLURB>Distance to Color (127 is good).</BLURB>
-<DEFAULT>0</DEFAULT>
+<DEFAULT>0.288</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34345,7 +34415,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Zoomrate</NICK>
 <BLURB>Zoomrate.</BLURB>
-<DEFAULT>0</DEFAULT>
+<DEFAULT>0.202</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34354,8 +34424,8 @@
 <RANGE>[0,1]</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Channel</NICK>
-<BLURB>Channel to adjust levels (1 = RED; 2 = GREEN; 3 = BLUE; 4 = LUMA).</BLURB>
-<DEFAULT>0</DEFAULT>
+<BLURB>Channel to adjust (0 = red, 0.1 = green, 0.2 = blue, 0.3 = alpha, 0.4 = luma, 0.5 = rgb, 0.6 = hue, 0.7 = saturation).</BLURB>
+<DEFAULT>0.5</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34364,8 +34434,8 @@
 <RANGE>[0,1]</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Curve point number</NICK>
-<BLURB>Number of point to use to build curve.</BLURB>
-<DEFAULT>0</DEFAULT>
+<BLURB>Number of points to use to build curve (/10 to fit [0,1] parameter range). Minimum 2 (0.2), Maximum 5 (0.5). Not relevant for Bézier spline.</BLURB>
+<DEFAULT>0.2</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34374,8 +34444,8 @@
 <RANGE>[0,1]</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Graph position</NICK>
-<BLURB>Output image corner where curve graph will be drawn (1 = TOP,LEFT; 2 = TOP,RIGHT; 3 = BOTTOM,LEFT; 4 = BOTTOM, RIGHT).</BLURB>
-<DEFAULT>0</DEFAULT>
+<BLURB>Output image corner where curve graph will be drawn (0.1 = TOP,LEFT; 0.2 = TOP,RIGHT; 0.3 = BOTTOM,LEFT; 0.4 = BOTTOM, RIGHT).</BLURB>
+<DEFAULT>0.3</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34385,7 +34455,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Point 1 input value</NICK>
 <BLURB>Point 1 input value.</BLURB>
-<DEFAULT>1</DEFAULT>
+<DEFAULT>0</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34395,7 +34465,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Point 1 output value</NICK>
 <BLURB>Point 1 output value.</BLURB>
-<DEFAULT>1</DEFAULT>
+<DEFAULT>0</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34425,7 +34495,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Point 3 input value</NICK>
 <BLURB>Point 3 input value.</BLURB>
-<DEFAULT>1</DEFAULT>
+<DEFAULT>0</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34435,7 +34505,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Point 3 output value</NICK>
 <BLURB>Point 3 output value.</BLURB>
-<DEFAULT>1</DEFAULT>
+<DEFAULT>0</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34445,7 +34515,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Point 4 input value</NICK>
 <BLURB>Point 4 input value.</BLURB>
-<DEFAULT>1</DEFAULT>
+<DEFAULT>0</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34455,7 +34525,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Point 4 output value</NICK>
 <BLURB>Point 4 output value.</BLURB>
-<DEFAULT>1</DEFAULT>
+<DEFAULT>0</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34465,7 +34535,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Point 5 input value</NICK>
 <BLURB>Point 5 input value.</BLURB>
-<DEFAULT>1</DEFAULT>
+<DEFAULT>0</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34475,7 +34545,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Point 5 output value</NICK>
 <BLURB>Point 5 output value.</BLURB>
-<DEFAULT>1</DEFAULT>
+<DEFAULT>0</DEFAULT>
 </ARG>
 
 <ARG>
@@ -34489,6 +34559,26 @@
 </ARG>
 
 <ARG>
+<NAME>frei0r-filter-curves::b--zier-spline</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Bézier spline</NICK>
+<BLURB>Use cubic Bézier spline. Has to be a sorted list of points in the format "handle1x;handle1y#pointx;pointy#handle2x;handle2y"(pointx = in, pointy = out). Points are separated by a "|".The values can have "double" precision. x, y for points should be in the range 0-1. x,y for handles might also be out of this range.</BLURB>
+<DEFAULT>""</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-curves::luma-formula</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Luma formula</NICK>
+<BLURB>Use Rec. 601 (false) or Rec. 709 (true).</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>VdpSink::display</NAME>
 <TYPE>gchar*</TYPE>
 <RANGE></RANGE>
@@ -46409,6 +46499,16 @@
 </ARG>
 
 <ARG>
+<NAME>GstRTMPSrc::timeout</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>RTMP Timeout</NICK>
+<BLURB>Time without receiving any data from the server to wait before to timeout the session.</BLURB>
+<DEFAULT>120</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstFliteTestSrc::samplesperbuffer</NAME>
 <TYPE>gint</TYPE>
 <RANGE>>= 1</RANGE>
@@ -46909,46 +47009,6 @@
 </ARG>
 
 <ARG>
-<NAME>Gstpyramidsegment::level</NAME>
-<TYPE>gint</TYPE>
-<RANGE>[0,4]</RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Level</NICK>
-<BLURB>Maximum level of the pyramid segmentation.</BLURB>
-<DEFAULT>4</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>Gstpyramidsegment::silent</NAME>
-<TYPE>gboolean</TYPE>
-<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Silent</NICK>
-<BLURB>Produce verbose output ?.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>Gstpyramidsegment::threshold1</NAME>
-<TYPE>gdouble</TYPE>
-<RANGE>[0,1000]</RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Threshold1</NICK>
-<BLURB>Error threshold for establishing links.</BLURB>
-<DEFAULT>50</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>Gstpyramidsegment::threshold2</NAME>
-<TYPE>gdouble</TYPE>
-<RANGE>[0,1000]</RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Threshold2</NICK>
-<BLURB>Error threshold for segment clustering.</BLURB>
-<DEFAULT>60</DEFAULT>
-</ARG>
-
-<ARG>
 <NAME>Gstfacedetect::display</NAME>
 <TYPE>gboolean</TYPE>
 <RANGE></RANGE>
@@ -58905,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>
@@ -58955,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>
@@ -58965,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>
@@ -58975,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>
@@ -59015,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>
@@ -66743,6 +66803,16 @@
 </ARG>
 
 <ARG>
+<NAME>GstSrtpEnc::stats</NAME>
+<TYPE>GstStructure*</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Statistics</NICK>
+<BLURB>Various statistics.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstSegmentation::learning-rate</NAME>
 <TYPE>gfloat</TYPE>
 <RANGE>[0,1]</RANGE>
@@ -67672,11 +67742,11 @@
 
 <ARG>
 <NAME>GstRtpH265Pay::config-interval</NAME>
-<TYPE>guint</TYPE>
-<RANGE><= 3600</RANGE>
+<TYPE>gint</TYPE>
+<RANGE>[G_MAXULONG,3600]</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>VPS SPS PPS Send Interval</NICK>
-<BLURB>Send VPS, SPS and PPS Insertion Interval in seconds (sprop parameter sets will be multiplexed in the data stream when detected.) (0 = disabled).</BLURB>
+<BLURB>Send VPS, SPS and PPS Insertion Interval in seconds (sprop parameter sets will be multiplexed in the data stream when detected.) (0 = disabled, -1 = send with every IDR frame).</BLURB>
 <DEFAULT>0</DEFAULT>
 </ARG>
 
@@ -67737,7 +67807,7 @@
 <FLAGS>rwx</FLAGS>
 <NICK>Connection</NICK>
 <BLURB>Video input connection to use.</BLURB>
-<DEFAULT>auto</DEFAULT>
+<DEFAULT>Auto</DEFAULT>
 </ARG>
 
 <ARG>
@@ -67757,7 +67827,17 @@
 <FLAGS>rwx</FLAGS>
 <NICK>Playback Mode</NICK>
 <BLURB>Video Mode to use for playback.</BLURB>
-<DEFAULT>auto</DEFAULT>
+<DEFAULT>Automatic detection</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstDecklinkVideoSrc::video-format</NAME>
+<TYPE>GstDecklinkVideoFormat</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Video format</NICK>
+<BLURB>Video format type to use for input (Only use auto for mode=auto).</BLURB>
+<DEFAULT>Auto</DEFAULT>
 </ARG>
 
 <ARG>
@@ -67777,7 +67857,17 @@
 <FLAGS>rwx</FLAGS>
 <NICK>Playback Mode</NICK>
 <BLURB>Video Mode to use for playback.</BLURB>
-<DEFAULT>ntsc</DEFAULT>
+<DEFAULT>NTSC SD 60i</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstDecklinkVideoSink::video-format</NAME>
+<TYPE>GstDecklinkVideoFormat</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Video format</NICK>
+<BLURB>Video format type to use for playback.</BLURB>
+<DEFAULT>bmdFormat8BitYUV</DEFAULT>
 </ARG>
 
 <ARG>
@@ -67807,7 +67897,7 @@
 <FLAGS>rwx</FLAGS>
 <NICK>Connection</NICK>
 <BLURB>Audio input connection to use.</BLURB>
-<DEFAULT>auto</DEFAULT>
+<DEFAULT>Automatic</DEFAULT>
 </ARG>
 
 <ARG>
@@ -67967,7 +68057,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Slice mode</NICK>
 <BLURB>Slice mode.</BLURB>
-<DEFAULT>num-slices slices</DEFAULT>
+<DEFAULT>Fixed number of slices</DEFAULT>
 </ARG>
 
 <ARG>
@@ -67991,6 +68081,16 @@
 </ARG>
 
 <ARG>
+<NAME>GstOpenh264Enc::max-bitrate</NAME>
+<TYPE>guint</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Max Bitrate</NICK>
+<BLURB>Maximum Bitrate (in bits per second).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstLibde265Dec::max-threads</NAME>
 <TYPE>gint</TYPE>
 <RANGE>>= 0</RANGE>
@@ -68211,6 +68311,26 @@
 </ARG>
 
 <ARG>
+<NAME>GstGLMixerBin::start-time</NAME>
+<TYPE>guint64</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Start Time</NICK>
+<BLURB>Start time to use if start-time-selection=set.</BLURB>
+<DEFAULT>18446744073709551615</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLMixerBin::start-time-selection</NAME>
+<TYPE>GstGLMixerBinStartTimeSelection</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Start Time Selection</NICK>
+<BLURB>Decides which start time is output.</BLURB>
+<DEFAULT>Start at 0 running time (default)</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstGLImageSinkBin::async</NAME>
 <TYPE>gboolean</TYPE>
 <RANGE></RANGE>
@@ -68411,6 +68531,16 @@
 </ARG>
 
 <ARG>
+<NAME>GstGLImageSinkBin::rotate-method</NAME>
+<TYPE>GstGLRotateMethod</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>rotate method</NICK>
+<BLURB>rotate method.</BLURB>
+<DEFAULT>Identity (no rotation)</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstGLFilterBin::filter</NAME>
 <TYPE>GstElement*</TYPE>
 <RANGE></RANGE>
@@ -69360,3 +69490,2753 @@
 <DEFAULT>0</DEFAULT>
 </ARG>
 
+<ARG>
+<NAME>GstChecksumSink::hash</NAME>
+<TYPE>GstChecksumSinkHash</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Hash</NICK>
+<BLURB>Checksum type.</BLURB>
+<DEFAULT>SHA-1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstSdpSrc::location</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Location</NICK>
+<BLURB>URI to SDP file (sdp:///path/to/file).</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstSdpSrc::sdp</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>SDP</NICK>
+<BLURB>SDP description used instead of location.</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLDeinterlace::method</NAME>
+<TYPE>GstGLDeinterlaceMethod</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Deinterlace Method</NICK>
+<BLURB>Select which deinterlace method apply to GL video texture.</BLURB>
+<DEFAULT>Blur Vertical</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-r::amplitude</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Amplitude</NICK>
+<BLURB>Amplitude (contrast) of the pattern.</BLURB>
+<DEFAULT>0.8</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-r::aspect-type</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Aspect type</NICK>
+<BLURB>Pixel aspect ratio presets.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-r::channel</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Channel</NICK>
+<BLURB>Into which color channel to draw.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-r::freq-1</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Freq 1</NICK>
+<BLURB>Pattern 7 H frequency.</BLURB>
+<DEFAULT>0.03</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-r::freq-2</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Freq 2</NICK>
+<BLURB>Pattern 7 V frequency.</BLURB>
+<DEFAULT>0.03</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-r::lin-p-swp</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Lin P swp</NICK>
+<BLURB>Use linear period sweep.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-r::manual-aspect</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Manual aspect</NICK>
+<BLURB>Manual pixel aspect ratio.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-r::type</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Type</NICK>
+<BLURB>Type of test pattern.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-l::channel</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Channel</NICK>
+<BLURB>Into which color channel to draw.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-l::type</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Type</NICK>
+<BLURB>Type of test pattern.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-i::amplitude</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Amplitude</NICK>
+<BLURB>Amplitude (contrast) of the pattern.</BLURB>
+<DEFAULT>0.8</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-i::channel</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Channel</NICK>
+<BLURB>Into which color channel to draw.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-i::negative</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Negative</NICK>
+<BLURB>Change polarity of impulse/step.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-i::tilt</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Tilt</NICK>
+<BLURB>Angle of step function.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-i::type</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Type</NICK>
+<BLURB>Type of test pattern.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-i::width</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Width</NICK>
+<BLURB>Width of impulse.</BLURB>
+<DEFAULT>0.040404</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-g::aspect-type</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Aspect type</NICK>
+<BLURB>Pixel aspect ratio presets.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-g::manual-aspect</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Manual Aspect</NICK>
+<BLURB>Manual pixel aspect ratio.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-g::negative</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Negative</NICK>
+<BLURB>Polarity of image.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-g::size-1</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Size 1</NICK>
+<BLURB>Size of major features.</BLURB>
+<DEFAULT>0.28125</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-g::size-2</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Size 2</NICK>
+<BLURB>Size of minor features.</BLURB>
+<DEFAULT>0.0625</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-g::type</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Type</NICK>
+<BLURB>Type of test pattern.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-c::color-space</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Color space</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-c::cross-section</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Cross section</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-c::fullscreen</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Fullscreen</NICK>
+<BLURB></BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-c::third-axis-value</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Third axis value</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-b::aspect-type</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Aspect type</NICK>
+<BLURB>7 choices, pixel aspect ratio.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-b::manual-aspect</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Manual Aspect</NICK>
+<BLURB>Manual pixel aspect ratio (Aspect type 6).</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-src-test-pat-b::type</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Type</NICK>
+<BLURB>8 choices, select test pattern.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-mixer-cairoblend::blend-mode</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>blend mode</NICK>
+<BLURB>Blend mode used to compose image. Accepted values: 'normal', 'add', 'saturate', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'colordodge', 'colorburn', 'hardlight', 'softlight', 'difference', 'exclusion', 'hslhue', 'hslsaturation', 'hslcolor', 'hslluminosity'.</BLURB>
+<DEFAULT>"normal"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-mixer-cairoblend::opacity</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>opacity</NICK>
+<BLURB>Opacity of composited image.</BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-mixer-cairoaffineblend::anchor-x</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>anchor x</NICK>
+<BLURB>X position of rotation center within the second input.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-mixer-cairoaffineblend::anchor-y</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>anchor y</NICK>
+<BLURB>Y position of rotation center within the second input.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-mixer-cairoaffineblend::blend-mode</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>blend mode</NICK>
+<BLURB>Blend mode used to compose image. Accepted values: 'normal', 'add', 'saturate', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'colordodge', 'colorburn', 'hardlight', 'softlight', 'difference', 'exclusion', 'hslhue', 'hslsaturation', 'hslcolor', 'hslluminosity'.</BLURB>
+<DEFAULT>"normal"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-mixer-cairoaffineblend::opacity</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>opacity</NICK>
+<BLURB>Opacity of second input.</BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-mixer-cairoaffineblend::rotation</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>rotation</NICK>
+<BLURB>Rotation of second input, value interperted as range 0 - 360.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-mixer-cairoaffineblend::x</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>x</NICK>
+<BLURB>X position of second input, value interperted as range -2*width - 3*width.</BLURB>
+<DEFAULT>0.4</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-mixer-cairoaffineblend::x-scale</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>x scale</NICK>
+<BLURB>X scale of second input, value interperted as range 0 - 5.</BLURB>
+<DEFAULT>0.2</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-mixer-cairoaffineblend::y</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>y</NICK>
+<BLURB>Y position of second input, value interperted as range -2*height - 3*height.</BLURB>
+<DEFAULT>0.4</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-mixer-cairoaffineblend::y-scale</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>y scale</NICK>
+<BLURB>Y scale of second input, value interperted as range 0 - 5.</BLURB>
+<DEFAULT>0.2</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-white-balance--lms-space-::color-temperature</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Color Temperature</NICK>
+<BLURB>Choose an output color temperature, if different from 6500 K.</BLURB>
+<DEFAULT>0.433333</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-white-balance--lms-space-::neutral-color-b</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Neutral Color (B)</NICK>
+<BLURB>Choose a color from the source image that should be white.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-white-balance--lms-space-::neutral-color-g</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Neutral Color (G)</NICK>
+<BLURB>Choose a color from the source image that should be white.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-white-balance--lms-space-::neutral-color-r</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Neutral Color (R)</NICK>
+<BLURB>Choose a color from the source image that should be white.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-vignette::aspect</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>aspect</NICK>
+<BLURB>Aspect ratio.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-vignette::clearcenter</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>clearCenter</NICK>
+<BLURB>Size of the unaffected center.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-vignette::soft</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>soft</NICK>
+<BLURB>Softness.</BLURB>
+<DEFAULT>0.6</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-vectorscope::mix</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>mix</NICK>
+<BLURB>The amount of source image mixed into background of display.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-vectorscope::overlay-sides</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>overlay sides</NICK>
+<BLURB>If false, the sides of image are shown without overlay.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-timeout-indicator::color-b</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>color (B)</NICK>
+<BLURB>Indicator colour.</BLURB>
+<DEFAULT>6.44597e-44</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-timeout-indicator::color-g</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>color (G)</NICK>
+<BLURB>Indicator colour.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-timeout-indicator::color-r</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>color (R)</NICK>
+<BLURB>Indicator colour.</BLURB>
+<DEFAULT>1.28487e-37</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-timeout-indicator::time</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>time</NICK>
+<BLURB>Current time.</BLURB>
+<DEFAULT>1.80984e-316</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-timeout-indicator::transparency</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>transparency</NICK>
+<BLURB>Indicator transparency.</BLURB>
+<DEFAULT>1.80984e-316</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-spillsupress::supresstype</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>supresstype</NICK>
+<BLURB>Defines if green or blue screen spill supress is applied.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sop-sat::aoffset</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>aOffset</NICK>
+<BLURB>Offset of the alpha component.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sop-sat::apower</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>aPower</NICK>
+<BLURB>Power (Gamma) of the alpha component.</BLURB>
+<DEFAULT>0.05</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sop-sat::aslope</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>aSlope</NICK>
+<BLURB>Slope of the alpha component.</BLURB>
+<DEFAULT>0.05</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sop-sat::boffset</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>bOffset</NICK>
+<BLURB>Offset of the blue color component.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sop-sat::bpower</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>bPower</NICK>
+<BLURB>Power (Gamma) of the blue color component.</BLURB>
+<DEFAULT>0.05</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sop-sat::bslope</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>bSlope</NICK>
+<BLURB>Slope of the blue color component.</BLURB>
+<DEFAULT>0.05</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sop-sat::goffset</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>gOffset</NICK>
+<BLURB>Offset of the green color component.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sop-sat::gpower</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>gPower</NICK>
+<BLURB>Power (Gamma) of the green color component.</BLURB>
+<DEFAULT>0.05</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sop-sat::gslope</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>gSlope</NICK>
+<BLURB>Slope of the green color component.</BLURB>
+<DEFAULT>0.05</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sop-sat::roffset</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>rOffset</NICK>
+<BLURB>Offset of the red color component.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sop-sat::rpower</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>rPower</NICK>
+<BLURB>Power (Gamma) of the red color component.</BLURB>
+<DEFAULT>0.05</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sop-sat::rslope</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>rSlope</NICK>
+<BLURB>Slope of the red color component.</BLURB>
+<DEFAULT>0.05</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sop-sat::saturation</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>saturation</NICK>
+<BLURB>Overall saturation.</BLURB>
+<DEFAULT>0.1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-softglow::blur</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>blur</NICK>
+<BLURB>Blur of the glow.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-softglow::blurblend</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>blurblend</NICK>
+<BLURB>Blend mode used to blend highlight blur with input image.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-softglow::brightness</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>brightness</NICK>
+<BLURB>Brightness of highlight areas.</BLURB>
+<DEFAULT>0.75</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-softglow::sharpness</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>sharpness</NICK>
+<BLURB>Sharpness of highlight areas.</BLURB>
+<DEFAULT>0.85</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sigmoidaltransfer::brightness</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>brightness</NICK>
+<BLURB>Brightnesss of image.</BLURB>
+<DEFAULT>0.75</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sigmoidaltransfer::sharpness</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>sharpness</NICK>
+<BLURB>Sharpness of transfer.</BLURB>
+<DEFAULT>0.85</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sharpness::amount</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Amount</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.3</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-sharpness::size</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Size</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-select0r::color-to-select-b</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Color to select (B)</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-select0r::color-to-select-g</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Color to select (G)</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.8</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-select0r::color-to-select-r</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Color to select (R)</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-select0r::delta-b---i---i</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Delta B / I / I</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.2</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-select0r::delta-g---b---chroma</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Delta G / B / Chroma</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.2</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-select0r::delta-r---a---hue</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Delta R / A / Hue</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.2</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-select0r::edge-mode</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Edge mode</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-select0r::invert-selection</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Invert selection</NICK>
+<BLURB></BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-select0r::operation</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Operation</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-select0r::selection-subspace</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Selection subspace</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-select0r::slope</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Slope</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-select0r::subspace-shape</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Subspace shape</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-rgbnoise::noise</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>noise</NICK>
+<BLURB>Amount of noise added.</BLURB>
+<DEFAULT>0.2</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-rgb-parade::mix</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>mix</NICK>
+<BLURB>The amount of source image mixed into background of display.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-rgb-parade::overlay-sides</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>overlay sides</NICK>
+<BLURB>If false, the sides of image are shown without overlay.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::alpha-trace</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Alpha trace</NICK>
+<BLURB>Show Alpha trace on scope.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::b-trace</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>B trace</NICK>
+<BLURB>Show B trace on scope.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::channel</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Channel</NICK>
+<BLURB>Channel to numerically display.</BLURB>
+<DEFAULT>0.375005</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::color</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Color</NICK>
+<BLURB>rec 601 or rec 709.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::crosshair-color</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Crosshair color</NICK>
+<BLURB>Color of the profile marker.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::display-average</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Display average</NICK>
+<BLURB>e.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::display-maximum</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Display maximum</NICK>
+<BLURB></BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::display-minimum</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Display minimum</NICK>
+<BLURB></BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::display-rms</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Display RMS</NICK>
+<BLURB></BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::g-trace</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>G trace</NICK>
+<BLURB>Show G trace on scope.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::length</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Length</NICK>
+<BLURB>Length of profile.</BLURB>
+<DEFAULT>0.589744</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::marker-1</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Marker 1</NICK>
+<BLURB>Position of marker 1.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::marker-2</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Marker 2</NICK>
+<BLURB>Position of marker 2.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::param-256-scale</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>256 scale</NICK>
+<BLURB>use 0-255 instead of 0.0-1.0.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::pb-trace</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Pb trace</NICK>
+<BLURB>Show Pb trace on scope.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::pr-trace</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Pr trace</NICK>
+<BLURB>Show Pr trace on scope.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::r-trace</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>R trace</NICK>
+<BLURB>Show R trace on scope.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::tilt</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Tilt</NICK>
+<BLURB>Tilt of profile.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::x</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>X</NICK>
+<BLURB>X position of profile.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::y</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Y</NICK>
+<BLURB>Y position of profile.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0file::y-trace</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Y trace</NICK>
+<BLURB>Show Y' trace on scope.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0be::big-window</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Big window</NICK>
+<BLURB>Display more data.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0be::measurement</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Measurement</NICK>
+<BLURB>What measurement to display.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0be::param-256-scale</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>256 scale</NICK>
+<BLURB>use 0-255 instead of 0.0-1.0.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0be::show-alpha</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Show alpha</NICK>
+<BLURB>Display alpha value too.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0be::x</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>X</NICK>
+<BLURB>X position of probe.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0be::x-size</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>X size</NICK>
+<BLURB>X size of probe.</BLURB>
+<DEFAULT>0.25</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0be::y</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Y</NICK>
+<BLURB>Y position of probe.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-pr0be::y-size</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Y size</NICK>
+<BLURB>Y size of probe.</BLURB>
+<DEFAULT>0.25</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-posterize::levels</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>levels</NICK>
+<BLURB>Number of values per channel.</BLURB>
+<DEFAULT>0.104167</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-ndvi-filter::color-map</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Color Map</NICK>
+<BLURB>The color map to use. One of 'earth', 'grayscale', 'heat' or 'rainbow'.</BLURB>
+<DEFAULT>"grayscale"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-ndvi-filter::index-calculation</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Index Calculation</NICK>
+<BLURB>The index calculation to use. One of 'ndvi' or 'vi'.</BLURB>
+<DEFAULT>"ndvi"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-ndvi-filter::legend</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Legend</NICK>
+<BLURB>Control legend display. One of 'off' or 'bottom'.</BLURB>
+<DEFAULT>"off"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-ndvi-filter::levels</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Levels</NICK>
+<BLURB>The number of color levels to use in the false image (divided by 1000).</BLURB>
+<DEFAULT>0.256</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-ndvi-filter::nir-channel</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>NIR Channel</NICK>
+<BLURB>The channel to use for the near-infrared component. One of 'r', 'g', or 'b'.</BLURB>
+<DEFAULT>"r"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-ndvi-filter::nir-offset</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>NIR Offset</NICK>
+<BLURB>An offset to be applied to the near-infrared component (mapped to [-100%, 100%].</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-ndvi-filter::nir-scale</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>NIR Scale</NICK>
+<BLURB>A scaling factor to be applied to the near-infrared component (divided by 10).</BLURB>
+<DEFAULT>0.1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-ndvi-filter::vis-offset</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>VIS Offset</NICK>
+<BLURB>An offset to be applied to the visible component (mapped to [-100%, 100%].</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-ndvi-filter::vis-scale</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>VIS Scale</NICK>
+<BLURB>A scaling factor to be applied to the visible component (divided by 10).</BLURB>
+<DEFAULT>0.1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-ndvi-filter::visible-channel</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Visible Channel</NICK>
+<BLURB>The channel to use for the visible component. One of 'r', 'g', or 'b'.</BLURB>
+<DEFAULT>"b"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-medians::size</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Size</NICK>
+<BLURB>Size for 'var size' type filter.</BLURB>
+<DEFAULT>0.1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-medians::type</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Type</NICK>
+<BLURB>Choose type of median: Cross5, Square3x3, Bilevel, Diamond3x3, Square5x5, Temp3, Temp5, ArceBI, ML3D, ML3dEX, VarSize.</BLURB>
+<DEFAULT>"Square3x3"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::backgroundweight</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>backgroundWeight</NICK>
+<BLURB>Describes how strong the (accumulated) background should shine through.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::blackreference</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>blackReference</NICK>
+<BLURB>Uses black as background image instead of the first frame.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::dim</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>dim</NICK>
+<BLURB>Dimming of the light mask.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::longalpha</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>longAlpha</NICK>
+<BLURB>Alpha value for moving average.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::loweroverexposure</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>lowerOverexposure</NICK>
+<BLURB>Prevents some overexposure if the light source stays steady too long (varying speed).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::nonlineardim</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>nonlinearDim</NICK>
+<BLURB>Nonlinear dimming (may look more natural).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::reset</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>reset</NICK>
+<BLURB>Reset filter masks.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::saturation</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>saturation</NICK>
+<BLURB>Saturation of lights.</BLURB>
+<DEFAULT>0.25</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::sensitivity</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>sensitivity</NICK>
+<BLURB>Sensitivity of the effect for light (higher sensitivity will lead to brighter lights).</BLURB>
+<DEFAULT>0.2</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::statsbrightness</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>statsBrightness</NICK>
+<BLURB>Display the brightness and threshold, for adjusting the brightness threshold parameter.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::statsdifference</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>statsDifference</NICK>
+<BLURB>Display the background difference and threshold.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::statsdiffsum</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>statsDiffSum</NICK>
+<BLURB>Display the sum of the background difference and the threshold.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::thresholdbrightness</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>thresholdBrightness</NICK>
+<BLURB>Brightness threshold to distinguish between foreground and background.</BLURB>
+<DEFAULT>0.588235</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::thresholddifference</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>thresholdDifference</NICK>
+<BLURB>Threshold: Difference to background to distinguish between fore- and background.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::thresholddiffsum</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>thresholdDiffSum</NICK>
+<BLURB>Threshold for sum of differences. Can in most cases be ignored (set to 0).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-light-graffiti::transparentbackground</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>transparentBackground</NICK>
+<BLURB>Make the background transparent.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::amount-1</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Amount 1</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.55</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::amount-2</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Amount 2</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::hue-gate</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Hue gate</NICK>
+<BLURB>Restrict mask to hues close to key.</BLURB>
+<DEFAULT>0.25</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::key-color-b</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Key color (B)</NICK>
+<BLURB>Key color that was used for chroma keying.</BLURB>
+<DEFAULT>0.1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::key-color-g</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Key color (G)</NICK>
+<BLURB>Key color that was used for chroma keying.</BLURB>
+<DEFAULT>0.8</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::key-color-r</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Key color (R)</NICK>
+<BLURB>Key color that was used for chroma keying.</BLURB>
+<DEFAULT>0.1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::mask-to-alpha</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Mask to Alpha</NICK>
+<BLURB>Replace alpha channel with the mask.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::mask-type</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Mask type</NICK>
+<BLURB>Which mask to apply [0,1,2,3].</BLURB>
+<DEFAULT>"0"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::operation-1</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Operation 1</NICK>
+<BLURB>First operation 1 [0,1,2].</BLURB>
+<DEFAULT>"1"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::operation-2</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Operation 2</NICK>
+<BLURB>Second operation 2 [0,1,2].</BLURB>
+<DEFAULT>"0"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::saturation-threshold</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Saturation threshold</NICK>
+<BLURB>Restrict mask to saturated colors.</BLURB>
+<DEFAULT>0.15</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::show-mask</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Show mask</NICK>
+<BLURB>Replace image with the mask.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::slope</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Slope</NICK>
+<BLURB>Range of colors around the key where effect gradually decreases.</BLURB>
+<DEFAULT>0.4</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::target-color-b</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Target color (B)</NICK>
+<BLURB>Desired color to replace key residue with.</BLURB>
+<DEFAULT>0.4</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::target-color-g</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Target color (G)</NICK>
+<BLURB>Desired color to replace key residue with.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::target-color-r</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Target color (R)</NICK>
+<BLURB>Desired color to replace key residue with.</BLURB>
+<DEFAULT>0.78</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-keyspillm0pup::tolerance</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Tolerance</NICK>
+<BLURB>Range of colors around the key, where effect is full strength.</BLURB>
+<DEFAULT>0.24</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-iir-blur::amount</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Amount</NICK>
+<BLURB>Amount of blur.</BLURB>
+<DEFAULT>0.2</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-iir-blur::edge</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Edge</NICK>
+<BLURB>Edge compensation.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-iir-blur::type</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Type</NICK>
+<BLURB>Blur type.</BLURB>
+<DEFAULT>0.333344</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-hqdn3d::spatial</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Spatial</NICK>
+<BLURB>Amount of spatial filtering.</BLURB>
+<DEFAULT>0.04</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-hqdn3d::temporal</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Temporal</NICK>
+<BLURB>Amount of temporal filtering.</BLURB>
+<DEFAULT>0.06</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-emboss::azimuth</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>azimuth</NICK>
+<BLURB>Light direction.</BLURB>
+<DEFAULT>0.375</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-emboss::elevation</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>elevation</NICK>
+<BLURB>Background lightness.</BLURB>
+<DEFAULT>0.333333</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-emboss::width45</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>width45</NICK>
+<BLURB>Bump height.</BLURB>
+<DEFAULT>0.25</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-dither::levels</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>levels</NICK>
+<BLURB>Number of values per channel.</BLURB>
+<DEFAULT>0.104167</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-dither::matrixid</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>matrixid</NICK>
+<BLURB>Id of matrix used for dithering.</BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-defish0r::amount</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Amount</NICK>
+<BLURB>Focal Ratio.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-defish0r::aspect-type</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Aspect type</NICK>
+<BLURB>Pixel aspect ratio presets.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-defish0r::defish</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>DeFish</NICK>
+<BLURB>Fish or Defish.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-defish0r::interpolator</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Interpolator</NICK>
+<BLURB>Quality of interpolation.</BLURB>
+<DEFAULT>0.166667</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-defish0r::manual-aspect</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Manual Aspect</NICK>
+<BLURB>Manual Pixel Aspect ratio.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-defish0r::manual-scale</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Manual Scale</NICK>
+<BLURB>Manual Scale.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-defish0r::scaling</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Scaling</NICK>
+<BLURB>Scaling method.</BLURB>
+<DEFAULT>0.666667</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-defish0r::type</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Type</NICK>
+<BLURB>Mapping function.</BLURB>
+<DEFAULT>0.666667</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-colortap::table</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>table</NICK>
+<BLURB>Lookup table used to filter colors. One of: xpro, sepia, heat, red_green, old_photo, xray, esses, yellow_blue.</BLURB>
+<DEFAULT>"esses"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-colorize::hue</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>hue</NICK>
+<BLURB>Color shade of the colorized image.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-colorize::lightness</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>lightness</NICK>
+<BLURB>Lightness of the colorized image.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-colorize::saturation</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>saturation</NICK>
+<BLURB>Amount of color in the colorized image.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-colorhalftone::cyan-angle</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>cyan angle</NICK>
+<BLURB>Cyan dots angle.</BLURB>
+<DEFAULT>0.3</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-colorhalftone::dot-radius</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>dot radius</NICK>
+<BLURB>Halftone pattern dot size.</BLURB>
+<DEFAULT>0.4</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-colorhalftone::magenta-angle</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>magenta angle</NICK>
+<BLURB>Magenta dots angle.</BLURB>
+<DEFAULT>0.45</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-colorhalftone::yellow-angle</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>yellow angle</NICK>
+<BLURB>Yellow dots angle.</BLURB>
+<DEFAULT>0.25</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-coloradj-rgb::action</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Action</NICK>
+<BLURB>Type of color adjustment.</BLURB>
+<DEFAULT>0.333344</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-coloradj-rgb::alpha-controlled</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Alpha controlled</NICK>
+<BLURB>Adjust only areas with nonzero alpha.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-coloradj-rgb::b</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>B</NICK>
+<BLURB>Amount of blue.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-coloradj-rgb::g</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>G</NICK>
+<BLURB>Amount of green.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-coloradj-rgb::keep-luma</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Keep luma</NICK>
+<BLURB>Don't change brightness.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-coloradj-rgb::luma-formula</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Luma formula</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.500025</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-coloradj-rgb::r</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>R</NICK>
+<BLURB>Amount of red.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairoimagegrid::columns</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>columns</NICK>
+<BLURB>Number of columns in the image grid. Input range 0 - 1 is interpreted as range 1 - 20.</BLURB>
+<DEFAULT>0.105263</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairoimagegrid::rows</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>rows</NICK>
+<BLURB>Number of rows in the image grid. Input range 0 - 1 is interpreted as range 1 - 20.</BLURB>
+<DEFAULT>0.105263</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::blend-mode</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>blend mode</NICK>
+<BLURB>Blend mode used to compose gradient on image. Accepted values: 'normal', 'add', 'saturate', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'colordodge', 'colorburn', 'hardlight', 'softlight', 'difference', 'exclusion', 'hslhue', 'hslsaturation', 'hslcolor', 'hslluminosity'.</BLURB>
+<DEFAULT>"normal"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::end-color-b</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>end color (B)</NICK>
+<BLURB>Second color of the gradient.</BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::end-color-g</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>end color (G)</NICK>
+<BLURB>Second color of the gradient.</BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::end-color-r</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>end color (R)</NICK>
+<BLURB>Second color of the gradient.</BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::end-opacity</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>end opacity</NICK>
+<BLURB>Opacity of the second color of the gradient.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::end-x</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>end x</NICK>
+<BLURB>X position of the end point of the gradient.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::end-y</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>end y</NICK>
+<BLURB>Y position of the end point of the gradient.</BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::offset</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>offset</NICK>
+<BLURB>Position of first color in the line connecting gradient ends, really useful only for radial gradient.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::pattern</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>pattern</NICK>
+<BLURB>Linear or radial gradient.</BLURB>
+<DEFAULT>"gradient_linear"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::start-color-b</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>start color (B)</NICK>
+<BLURB>First color of the gradient.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::start-color-g</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>start color (G)</NICK>
+<BLURB>First color of the gradient.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::start-color-r</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>start color (R)</NICK>
+<BLURB>First color of the gradient.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::start-opacity</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>start opacity</NICK>
+<BLURB>Opacity of the first color of the gradient.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::start-x</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>start x</NICK>
+<BLURB>X position of the start point of the gradient.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-cairogradient::start-y</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>start y</NICK>
+<BLURB>Y position of the start point of the gradient.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::alpha-operation</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Alpha operation</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::corner-1-x</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Corner 1 X</NICK>
+<BLURB>X coordinate of corner 1.</BLURB>
+<DEFAULT>0.333333</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::corner-1-y</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Corner 1 Y</NICK>
+<BLURB>Y coordinate of corner 1.</BLURB>
+<DEFAULT>0.333333</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::corner-2-x</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Corner 2 X</NICK>
+<BLURB>X coordinate of corner 2.</BLURB>
+<DEFAULT>0.666666</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::corner-2-y</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Corner 2 Y</NICK>
+<BLURB>Y coordinate of corner 2.</BLURB>
+<DEFAULT>0.333333</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::corner-3-x</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Corner 3 X</NICK>
+<BLURB>X coordinate of corner 3.</BLURB>
+<DEFAULT>0.666666</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::corner-3-y</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Corner 3 Y</NICK>
+<BLURB>Y coordinate of corner 3.</BLURB>
+<DEFAULT>0.666666</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::corner-4-x</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Corner 4 X</NICK>
+<BLURB>X coordinate of corner 4.</BLURB>
+<DEFAULT>0.333333</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::corner-4-y</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Corner 4 Y</NICK>
+<BLURB>Y coordinate of corner 4.</BLURB>
+<DEFAULT>0.666666</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::enable-stretch</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Enable Stretch</NICK>
+<BLURB>Enable stretching.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::feather-alpha</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Feather Alpha</NICK>
+<BLURB>Makes smooth transition into transparent.</BLURB>
+<DEFAULT>0.01</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::interpolator</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Interpolator</NICK>
+<BLURB>Quality of interpolation.</BLURB>
+<DEFAULT>0.166667</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::stretch-x</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Stretch X</NICK>
+<BLURB>Amount of stretching in X direction.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::stretch-y</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Stretch Y</NICK>
+<BLURB>Amount of stretching in Y direction.</BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-c0rners::transparent-background</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Transparent Background</NICK>
+<BLURB>Makes background transparent.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphaspot::max</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Max</NICK>
+<BLURB></BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphaspot::min</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Min</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphaspot::operation</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Operation</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphaspot::position-x</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Position X</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphaspot::position-y</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Position Y</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphaspot::shape</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Shape</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphaspot::size-x</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Size X</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphaspot::size-y</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Size Y</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphaspot::tilt</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Tilt</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphaspot::transition-width</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Transition width</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.2</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphagrad::max</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Max</NICK>
+<BLURB></BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphagrad::min</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Min</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphagrad::operation</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Operation</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphagrad::position</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Position</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphagrad::tilt</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Tilt</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alphagrad::transition-width</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Transition width</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alpha0ps::display</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Display</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alpha0ps::display-input-alpha</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Display input alpha</NICK>
+<BLURB></BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alpha0ps::invert</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Invert</NICK>
+<BLURB></BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alpha0ps::operation</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Operation</NICK>
+<BLURB></BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alpha0ps::shrink-grow-blur-amount</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Shrink/Grow/Blur amount</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.333344</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>frei0r-filter-alpha0ps::threshold</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Threshold</NICK>
+<BLURB></BLURB>
+<DEFAULT>0.5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstKMSSink::connector-id</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= G_MAXULONG</RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Connector ID</NICK>
+<BLURB>DRM connector id.</BLURB>
+<DEFAULT>-1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstKMSSink::driver-name</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>device name</NICK>
+<BLURB>DRM device driver name.</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstKMSSink::plane-id</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= G_MAXULONG</RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Plane ID</NICK>
+<BLURB>DRM plane id.</BLURB>
+<DEFAULT>-1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstBs2b::fcut</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[300,2000]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Frequency cut</NICK>
+<BLURB>Low-pass filter cut frequency (Hz).</BLURB>
+<DEFAULT>700</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstBs2b::feed</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[10,150]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Feed level</NICK>
+<BLURB>Feed Level (dB/10).</BLURB>
+<DEFAULT>45</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstWebrtcDsp::echo-cancel</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Echo Cancel</NICK>
+<BLURB>Enable or disable echo canceller, note that it will be disabled if no webrtcechoprobe has been found.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstWebrtcDsp::experimental-agc</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Experimental AGC</NICK>
+<BLURB>Enable or disable experimental automatic gain control.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstWebrtcDsp::extended-filter</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Extended Filter</NICK>
+<BLURB>Enable or disable the extended filter.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstWebrtcDsp::gain-control</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Gain Control</NICK>
+<BLURB>Enable or disable automatic digital gain control.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstWebrtcDsp::high-pass-filter</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>High Pass Filter</NICK>
+<BLURB>Enable or disable high pass filtering.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstWebrtcDsp::noise-suppression</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Noise Suppression</NICK>
+<BLURB>Enable or disable noise suppression.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstWebrtcDsp::probe</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Echo Probe</NICK>
+<BLURB>The name of the webrtcechoprobe element that record the audio being played through loud speakers. Must be set before PAUSED state.</BLURB>
+<DEFAULT>"webrtcechoprobe0"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstWebrtcDsp::echo-suppression-level</NAME>
+<TYPE>GstWebrtcEchoSuppressionLevel</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Echo Suppression Level</NICK>
+<BLURB>Controls the aggressiveness of the suppressor. A higher level trades off double-talk performance for increased echo suppression.</BLURB>
+<DEFAULT>Moderate Suppression</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstWebrtcDsp::noise-suppression-level</NAME>
+<TYPE>GstWebrtcNoiseSuppressionLevel</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Noise Suppression Level</NICK>
+<BLURB>Controls the aggressiveness of the suppression. Increasing the level will reduce the noise level at the expense of a higher speech distortion.</BLURB>
+<DEFAULT>Moderate Suppression</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstDC1394Src::dma</NAME>
+<TYPE>guint</TYPE>
+<RANGE>>= 1</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>DMA ring buffer size</NICK>
+<BLURB>The number of frames in the Direct Memory Access ring buffer.</BLURB>
+<DEFAULT>10</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstDC1394Src::guid</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Camera GUID</NICK>
+<BLURB>The hexadecimal representation of the GUID of the camera (use first camera available if null).</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstDC1394Src::iso</NAME>
+<TYPE>GstDC1394ISOSpeed</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>ISO bandwidth</NICK>
+<BLURB>The ISO bandwidth in Mbps.</BLURB>
+<DEFAULT>DC1394 ISO speed 400</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstDC1394Src::unit</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= G_MAXULONG</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Camera unit</NICK>
+<BLURB>The unit number of the camera (-1 if no unit number is used).</BLURB>
+<DEFAULT>-1</DEFAULT>
+</ARG>
+
diff --git a/docs/plugins/gst-plugins-bad-plugins.hierarchy b/docs/plugins/gst-plugins-bad-plugins.hierarchy
index 5a912cb..2405c41 100644
--- a/docs/plugins/gst-plugins-bad-plugins.hierarchy
+++ b/docs/plugins/gst-plugins-bad-plugins.hierarchy
@@ -60,6 +60,7 @@
           GstH265Parse
           GstIRTSPParse
           GstIvfParse
+          GstJPEG2000Parse
           GstJpegParse
           GstMpeg4VParse
           GstMpegvParse
@@ -108,6 +109,7 @@
             GstAudioBaseSrc
               GstAudioSrc
                 GstOpenalSrc
+            GstDC1394Src
             GstDecklinkAudioSrc
             GstDecklinkVideoSrc
             GstDvbSrc
@@ -123,6 +125,7 @@
             GstAccurip
             GstAudioChannelMix
             GstBPMDetect
+            GstBs2b
             GstChromaprint
             GstLADSPAFilter
               ladspa-amp-so-amp-mono
@@ -206,8 +209,27 @@
               GstPerspective
               GstRotate
               GstSquare
+            GstGrabcut
+            GstOpencvVideoFilter
+              GstCvDilateErode
+                GstCvDilate
+                GstCvErode
+              GstCvEqualizeHist
+              GstCvLaplace
+              GstCvSmooth
+              GstCvSobel
+              GstEdgeDetect
+              GstFaceBlur
+              GstFaceDetect
+              GstHanddetect
+              GstMotioncells
+              GstOpencvTextOverlay
+              GstSkinDetect
+              GstTemplateMatch
+            GstRetinex
             GstRsvgOverlay
             GstSceneChange
+            GstSegmentation
             GstSimpleVideoMark
             GstSimpleVideoMarkDetect
             GstSmooth
@@ -244,6 +266,8 @@
           GstPipeline
             GstCameraBin
           GstSDPDemux
+          GstSdpSrc
+          GstUnalignedAudioParse
           GstViewfinderBin
           RsnDvdBin
         GstBz2dec
@@ -252,6 +276,7 @@
         GstCompare
         GstDVBSubOverlay
         GstDVDSpu
+        GstDisparity
         GstDtlsDec
         GstDtlsEnc
         GstDtlsSrtpDemux
@@ -278,6 +303,7 @@
         GstMpeg2enc
         GstMpegPSDemux
         GstMplex
+        GstMusepackDec
         GstNetSim
         GstPcapParse
         GstPitch
@@ -305,6 +331,7 @@
           GstLibde265Dec
           GstOpenEXRDec
           GstOpenJPEGDec
+          GstOpenh264Dec
           GstPnmdec
           GstRsvgDec
           GstSchroDec
@@ -312,6 +339,7 @@
           GstWebPDec
         GstVideoEncoder
           GstOpenJPEGEnc
+          GstOpenh264Enc
           GstPnmenc
           GstSchroEnc
           GstWebpEnc
diff --git a/docs/plugins/gst-plugins-bad-plugins.interfaces b/docs/plugins/gst-plugins-bad-plugins.interfaces
index c9d803f..1a5967c 100644
--- a/docs/plugins/gst-plugins-bad-plugins.interfaces
+++ b/docs/plugins/gst-plugins-bad-plugins.interfaces
@@ -13,6 +13,7 @@
 GstBaseCameraSrc GstChildProxy
 GstBaseVideoEncoder GstPreset
 GstBin GstChildProxy
+GstBs2b GstPreset
 GstCameraBin GstChildProxy GstImplementsInterface GstColorBalance GstTagSetter
 GstCameraBin GstChildProxy GstTagSetter
 GstCameraBin2 GstChildProxy GstTagSetter
@@ -77,8 +78,10 @@
 GstSDPDemux GstChildProxy
 GstSbcEnc GstPreset
 GstSchroEnc GstPreset
+GstSdpSrc GstChildProxy GstURIHandler
 GstSirenEnc GstPreset
 GstTagMux GstTagSetter
+GstUnalignedAudioParse GstChildProxy
 GstUvcH264Src GstChildProxy
 GstVCDSrc GstURIHandler
 GstVP8Enc GstPreset GstTagSetter
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index db8e432..f4d2a1e 100644
--- a/docs/plugins/html/ch01.html
+++ b/docs/plugins/html/ch01.html
@@ -99,7 +99,7 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-dodge.html">dodge</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-dtmfdetect.html">dtmfdetect</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-dtmfdetect.html">dtmfdetect</a></span><span class="refpurpose"> — Detects DTMF tones</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-dtsdec.html">dtsdec</a></span><span class="refpurpose"></span>
@@ -183,10 +183,10 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-ofa.html">ofa</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-openalsrc.html">openalsrc</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-openalsrc.html">openalsrc</a></span><span class="refpurpose"> — capture raw audio samples through OpenAL</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-openalsink.html">openalsink</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-openalsink.html">openalsink</a></span><span class="refpurpose"> — capture raw audio samples through OpenAL</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-pcapparse.html">pcapparse</a></span><span class="refpurpose"></span>
@@ -195,9 +195,6 @@
 <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-pyramidsegment.html">pyramidsegment</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>
@@ -269,6 +266,12 @@
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-wavescope.html">wavescope</a></span><span class="refpurpose"></span>
 </dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-webrtcdsp.html">webrtcdsp</a></span><span class="refpurpose"> — Audio Filter using WebRTC Audio Processing library</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-webrtcechoprobe.html">webrtcechoprobe</a></span><span class="refpurpose"></span>
+</dt>
 </dl></div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/html/ch02.html b/docs/plugins/html/ch02.html
index e4a6f00..a375336 100644
--- a/docs/plugins/html/ch02.html
+++ b/docs/plugins/html/ch02.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="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
-<link rel="prev" href="gst-plugins-bad-plugins-wavescope.html" title="wavescope">
+<link rel="prev" href="gst-plugins-bad-plugins-webrtcechoprobe.html" title="webrtcechoprobe">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-aiff.html" title="aiff">
 <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><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="gst-plugins-bad-plugins-wavescope.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-webrtcechoprobe.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-aiff.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="chapter">
@@ -156,6 +156,9 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-voamrwbenc.html">voamrwbenc</a></span><span class="refpurpose"> — Adaptive Multi-Rate Wide-Band Encoder</span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-webrtcdsp.html">webrtcdsp</a></span><span class="refpurpose"> — Voice pre-processing using WebRTC Audio Processing Library</span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-zbar.html">zbar</a></span><span class="refpurpose"> — zbar barcode scanner</span>
 </dt>
 </dl></div>
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 520ca60..948d2cf 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-1.0.devhelp2
+++ b/docs/plugins/html/gst-plugins-bad-plugins-1.0.devhelp2
@@ -59,7 +59,6 @@
       <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="pyramidsegment" link="gst-plugins-bad-plugins-pyramidsegment.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"/>
@@ -84,6 +83,8 @@
       <sub name="voaacenc" link="gst-plugins-bad-plugins-voaacenc.html"/>
       <sub name="voamrwbenc" link="gst-plugins-bad-plugins-voamrwbenc.html"/>
       <sub name="wavescope" link="gst-plugins-bad-plugins-wavescope.html"/>
+      <sub name="webrtcdsp" link="gst-plugins-bad-plugins-webrtcdsp.html"/>
+      <sub name="webrtcechoprobe" link="gst-plugins-bad-plugins-webrtcechoprobe.html"/>
     </sub>
     <sub name="gst-plugins-bad Plugins" link="ch02.html">
       <sub name="aiff" link="gst-plugins-bad-plugins-plugin-aiff.html"/>
@@ -130,6 +131,7 @@
       <sub name="speed" link="gst-plugins-bad-plugins-plugin-speed.html"/>
       <sub name="voaacenc" link="gst-plugins-bad-plugins-plugin-voaacenc.html"/>
       <sub name="voamrwbenc" link="gst-plugins-bad-plugins-plugin-voamrwbenc.html"/>
+      <sub name="webrtcdsp" link="gst-plugins-bad-plugins-plugin-webrtcdsp.html"/>
       <sub name="zbar" link="gst-plugins-bad-plugins-plugin-zbar.html"/>
     </sub>
   </chapters>
@@ -155,12 +157,15 @@
     <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"/>
-    <keyword type="struct" name="struct GstBs2b" link="gst-plugins-bad-plugins-bs2b.html#GstBs2b"/>
+    <keyword type="struct" name="struct GstBs2b" link="gst-plugins-bad-plugins-bs2b.html#GstBs2b-struct"/>
+    <keyword type="property" name="The “fcut” property" link="gst-plugins-bad-plugins-bs2b.html#GstBs2b--fcut"/>
+    <keyword type="property" name="The “feed” property" link="gst-plugins-bad-plugins-bs2b.html#GstBs2b--feed"/>
     <keyword type="struct" name="struct GstBulge" link="gst-plugins-bad-plugins-bulge.html#GstBulge-struct"/>
     <keyword type="property" name="The “zoom” property" link="gst-plugins-bad-plugins-bulge.html#GstBulge--zoom"/>
     <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="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"/>
@@ -169,17 +174,20 @@
     <keyword type="property" name="The “height” property" link="gst-plugins-bad-plugins-circle.html#GstCircle--height"/>
     <keyword type="property" name="The “spread-angle” property" link="gst-plugins-bad-plugins-circle.html#GstCircle--spread-angle"/>
     <keyword type="struct" name="struct GstColorEffects" link="gst-plugins-bad-plugins-coloreffects.html#GstColorEffects-struct"/>
+    <keyword type="enum" name="enum GstColorEffectsPreset" link="gst-plugins-bad-plugins-coloreffects.html#GstColorEffectsPreset"/>
     <keyword type="property" name="The “preset” property" link="gst-plugins-bad-plugins-coloreffects.html#GstColorEffects--preset"/>
+    <keyword type="struct" name="struct GstCompositor" link="gst-plugins-bad-plugins-compositor.html#GstCompositor-struct"/>
+    <keyword type="enum" name="enum GstCompositorBackground" link="gst-plugins-bad-plugins-compositor.html#GstCompositorBackground"/>
     <keyword type="property" name="The “background” property" link="gst-plugins-bad-plugins-compositor.html#GstCompositor--background"/>
-    <keyword type="struct" name="struct GstCvDilate" link="gst-plugins-bad-plugins-cvdilate.html#GstCvDilate"/>
-    <keyword type="struct" name="struct GstCvErode" link="gst-plugins-bad-plugins-cverode.html#GstCvErode"/>
-    <keyword type="struct" name="struct GstCvEqualizeHist" link="gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist"/>
-    <keyword type="struct" name="struct GstCvLaplace" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace"/>
+    <keyword type="struct" name="struct GstCvDilate" link="gst-plugins-bad-plugins-cvdilate.html#GstCvDilate-struct"/>
+    <keyword type="struct" name="struct GstCvErode" link="gst-plugins-bad-plugins-cverode.html#GstCvErode-struct"/>
+    <keyword type="struct" name="struct GstCvEqualizeHist" link="gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist-struct"/>
+    <keyword type="struct" name="struct GstCvLaplace" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace-struct"/>
     <keyword type="property" name="The “aperture-size” property" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--aperture-size"/>
     <keyword type="property" name="The “scale” property" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--scale"/>
     <keyword type="property" name="The “shift” property" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--shift"/>
     <keyword type="property" name="The “mask” property" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--mask"/>
-    <keyword type="struct" name="struct GstCvSmooth" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth"/>
+    <keyword type="struct" name="struct GstCvSmooth" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth-struct"/>
     <keyword type="property" name="The “param1” property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param1"/>
     <keyword type="property" name="The “param2” property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param2"/>
     <keyword type="property" name="The “param3” property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param3"/>
@@ -189,7 +197,7 @@
     <keyword type="property" name="The “height” property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--height"/>
     <keyword type="property" name="The “spatial” property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--spatial"/>
     <keyword type="property" name="The “width” property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--width"/>
-    <keyword type="struct" name="struct GstCvSobel" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel"/>
+    <keyword type="struct" name="struct GstCvSobel" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel-struct"/>
     <keyword type="property" name="The “aperture-size” property" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--aperture-size"/>
     <keyword type="property" name="The “x-order” property" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--x-order"/>
     <keyword type="property" name="The “y-order” property" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--y-order"/>
@@ -267,6 +275,11 @@
     <keyword type="struct" name="struct GstExclusion" link="gst-plugins-bad-plugins-exclusion.html#GstExclusion-struct"/>
     <keyword type="property" name="The “silent” property" link="gst-plugins-bad-plugins-exclusion.html#GstExclusion--silent"/>
     <keyword type="property" name="The “factor” property" link="gst-plugins-bad-plugins-exclusion.html#GstExclusion--factor"/>
+    <keyword type="struct" name="struct GstEdgeDetect" link="gst-plugins-bad-plugins-edgedetect.html#GstEdgeDetect-struct"/>
+    <keyword type="property" name="The “aperture” property" link="gst-plugins-bad-plugins-edgedetect.html#GstEdgeDetect--aperture"/>
+    <keyword type="property" name="The “mask” property" link="gst-plugins-bad-plugins-edgedetect.html#GstEdgeDetect--mask"/>
+    <keyword type="property" name="The “threshold1” property" link="gst-plugins-bad-plugins-edgedetect.html#GstEdgeDetect--threshold1"/>
+    <keyword type="property" name="The “threshold2” property" link="gst-plugins-bad-plugins-edgedetect.html#GstEdgeDetect--threshold2"/>
     <keyword type="struct" name="struct GstFaac" link="gst-plugins-bad-plugins-faac.html#GstFaac-struct"/>
     <keyword type="property" name="The “bitrate” property" link="gst-plugins-bad-plugins-faac.html#GstFaac--bitrate"/>
     <keyword type="property" name="The “midside” property" link="gst-plugins-bad-plugins-faac.html#GstFaac--midside"/>
@@ -277,6 +290,27 @@
     <keyword type="property" name="The “quality” property" link="gst-plugins-bad-plugins-faac.html#GstFaac--quality"/>
     <keyword type="property" name="The “rate-control” property" link="gst-plugins-bad-plugins-faac.html#GstFaac--rate-control"/>
     <keyword type="struct" name="GstFaad" link="gst-plugins-bad-plugins-faad.html#GstFaad-struct"/>
+    <keyword type="struct" name="struct GstFaceBlur" link="gst-plugins-bad-plugins-faceblur.html#GstFaceBlur-struct"/>
+    <keyword type="property" name="The “profile” property" link="gst-plugins-bad-plugins-faceblur.html#GstFaceBlur--profile"/>
+    <keyword type="property" name="The “flags” property" link="gst-plugins-bad-plugins-faceblur.html#GstFaceBlur--flags"/>
+    <keyword type="property" name="The “min-neighbors” property" link="gst-plugins-bad-plugins-faceblur.html#GstFaceBlur--min-neighbors"/>
+    <keyword type="property" name="The “min-size-height” property" link="gst-plugins-bad-plugins-faceblur.html#GstFaceBlur--min-size-height"/>
+    <keyword type="property" name="The “min-size-width” property" link="gst-plugins-bad-plugins-faceblur.html#GstFaceBlur--min-size-width"/>
+    <keyword type="property" name="The “scale-factor” property" link="gst-plugins-bad-plugins-faceblur.html#GstFaceBlur--scale-factor"/>
+    <keyword type="struct" name="struct GstFaceDetect" link="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect-struct"/>
+    <keyword type="enum" name="enum GstFaceDetectUpdates" link="gst-plugins-bad-plugins-facedetect.html#GstFaceDetectUpdates"/>
+    <keyword type="property" name="The “display” property" link="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--display"/>
+    <keyword type="property" name="The “eyes-profile” property" link="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--eyes-profile"/>
+    <keyword type="property" name="The “flags” property" link="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--flags"/>
+    <keyword type="property" name="The “min-neighbors” property" link="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--min-neighbors"/>
+    <keyword type="property" name="The “min-size-height” property" link="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--min-size-height"/>
+    <keyword type="property" name="The “min-size-width” property" link="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--min-size-width"/>
+    <keyword type="property" name="The “mouth-profile” property" link="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--mouth-profile"/>
+    <keyword type="property" name="The “nose-profile” property" link="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--nose-profile"/>
+    <keyword type="property" name="The “profile” property" link="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--profile"/>
+    <keyword type="property" name="The “scale-factor” property" link="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--scale-factor"/>
+    <keyword type="property" name="The “updates” property" link="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--updates"/>
+    <keyword type="property" name="The “min-stddev” property" link="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--min-stddev"/>
     <keyword type="struct" name="struct GstFestival" link="gst-plugins-bad-plugins-festival.html#GstFestival-struct"/>
     <keyword type="struct" name="struct GstFisheye" link="gst-plugins-bad-plugins-fisheye.html#GstFisheye-struct"/>
     <keyword type="struct" name="struct GstFPSDisplaySink" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink-struct"/>
@@ -292,14 +326,9 @@
     <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="macro" name="GST_JPEG_PARSE()" link="gst-plugins-bad-plugins-jpegparse.html#GST-JPEG-PARSE:CAPS"/>
-    <keyword type="macro" name="GST_JPEG_PARSE_CLASS()" link="gst-plugins-bad-plugins-jpegparse.html#GST-JPEG-PARSE-CLASS:CAPS"/>
-    <keyword type="macro" name="GST_IS_JPEG_PARSE()" link="gst-plugins-bad-plugins-jpegparse.html#GST-IS-JPEG-PARSE:CAPS"/>
-    <keyword type="macro" name="GST_IS_JPEG_PARSE_CLASS()" link="gst-plugins-bad-plugins-jpegparse.html#GST-IS-JPEG-PARSE-CLASS:CAPS"/>
-    <keyword type="function" name="gst_jpeg_parse_get_type ()" link="gst-plugins-bad-plugins-jpegparse.html#gst-jpeg-parse-get-type"/>
+    <keyword type="typedef" name="GstGaussianBlur" link="gst-plugins-bad-plugins-gaussianblur.html#GstGaussianBlur"/>
+    <keyword type="property" name="The “sigma” property" link="gst-plugins-bad-plugins-gaussianblur.html#GstGaussianBlur--sigma"/>
     <keyword type="struct" name="struct GstJpegParse" link="gst-plugins-bad-plugins-jpegparse.html#GstJpegParse-struct"/>
-    <keyword type="struct" name="struct GstJpegParseClass" link="gst-plugins-bad-plugins-jpegparse.html#GstJpegParseClass"/>
-    <keyword type="macro" name="GST_TYPE_JPEG_PARSE" link="gst-plugins-bad-plugins-jpegparse.html#GST-TYPE-JPEG-PARSE:CAPS"/>
     <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"/>
     <keyword type="property" name="The “angle2” property" link="gst-plugins-bad-plugins-kaleidoscope.html#GstKaleidoscope--angle2"/>
@@ -313,6 +342,7 @@
     <keyword type="property" name="The “paused-mode” property" link="gst-plugins-bad-plugins-mimenc.html#GstMimEnc--paused-mode"/>
     <keyword type="struct" name="struct GstMimDec" link="gst-plugins-bad-plugins-mimdec.html#GstMimDec-struct"/>
     <keyword type="struct" name="struct GstMirror" link="gst-plugins-bad-plugins-mirror.html#GstMirror-struct"/>
+    <keyword type="enum" name="enum GstMirrorMode" link="gst-plugins-bad-plugins-mirror.html#GstMirrorMode"/>
     <keyword type="property" name="The “mode” property" link="gst-plugins-bad-plugins-mirror.html#GstMirror--mode"/>
     <keyword type="struct" name="GstModPlug" link="gst-plugins-bad-plugins-modplug.html#GstModPlug-struct"/>
     <keyword type="property" name="The “megabass” property" link="gst-plugins-bad-plugins-modplug.html#GstModPlug--megabass"/>
@@ -362,13 +392,6 @@
     <keyword type="property" name="The “sequence-length” property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--sequence-length"/>
     <keyword type="property" name="The “unit-coeff-elim” property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--unit-coeff-elim"/>
     <keyword type="property" name="The “vcd-still-size” property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--vcd-still-size"/>
-    <keyword type="property" name="The “aggregate-gops” property" link="gst-plugins-bad-plugins-mpegpsmux.html#MpegPsMux--aggregate-gops"/>
-    <keyword type="property" name="The “m2ts-mode” property" link="gst-plugins-bad-plugins-mpegtsmux.html#MpegTsMux--m2ts-mode"/>
-    <keyword type="property" name="The “prog-map” property" link="gst-plugins-bad-plugins-mpegtsmux.html#MpegTsMux--prog-map"/>
-    <keyword type="property" name="The “pat-interval” property" link="gst-plugins-bad-plugins-mpegtsmux.html#MpegTsMux--pat-interval"/>
-    <keyword type="property" name="The “pmt-interval” property" link="gst-plugins-bad-plugins-mpegtsmux.html#MpegTsMux--pmt-interval"/>
-    <keyword type="property" name="The “alignment” property" link="gst-plugins-bad-plugins-mpegtsmux.html#MpegTsMux--alignment"/>
-    <keyword type="property" name="The “si-interval” property" link="gst-plugins-bad-plugins-mpegtsmux.html#MpegTsMux--si-interval"/>
     <keyword type="struct" name="GstMplex" link="gst-plugins-bad-plugins-mplex.html#GstMplex-struct"/>
     <keyword type="property" name="The “bufsize” property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--bufsize"/>
     <keyword type="property" name="The “format” property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--format"/>
@@ -397,6 +420,15 @@
     <keyword type="struct" name="struct GstOpenalSrc" link="gst-plugins-bad-plugins-openalsrc.html#GstOpenalSrc-struct"/>
     <keyword type="property" name="The “device” property" link="gst-plugins-bad-plugins-openalsrc.html#GstOpenalSrc--device"/>
     <keyword type="property" name="The “device-name” property" link="gst-plugins-bad-plugins-openalsrc.html#GstOpenalSrc--device-name"/>
+    <keyword type="struct" name="struct GstOpenALSink" link="gst-plugins-bad-plugins-openalsink.html#GstOpenALSink-struct"/>
+    <keyword type="property" name="The “context-handle” property" link="gst-plugins-bad-plugins-openalsink.html#GstOpenALSink--context-handle"/>
+    <keyword type="property" name="The “device” property" link="gst-plugins-bad-plugins-openalsink.html#GstOpenALSink--device"/>
+    <keyword type="property" name="The “device-handle” property" link="gst-plugins-bad-plugins-openalsink.html#GstOpenALSink--device-handle"/>
+    <keyword type="property" name="The “device-name” property" link="gst-plugins-bad-plugins-openalsink.html#GstOpenALSink--device-name"/>
+    <keyword type="property" name="The “source-id” property" link="gst-plugins-bad-plugins-openalsink.html#GstOpenALSink--source-id"/>
+    <keyword type="property" name="The “user-context” property" link="gst-plugins-bad-plugins-openalsink.html#GstOpenALSink--user-context"/>
+    <keyword type="property" name="The “user-device” property" link="gst-plugins-bad-plugins-openalsink.html#GstOpenALSink--user-device"/>
+    <keyword type="property" name="The “user-source” property" link="gst-plugins-bad-plugins-openalsink.html#GstOpenALSink--user-source"/>
     <keyword type="struct" name="struct GstPcapParse" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse-struct"/>
     <keyword type="property" name="The “dst-ip” property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--dst-ip"/>
     <keyword type="property" name="The “dst-port” property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--dst-port"/>
@@ -423,6 +455,7 @@
     <keyword type="property" name="The “location” property" link="gst-plugins-bad-plugins-rtmpsink.html#GstRTMPSink--location"/>
     <keyword type="struct" name="struct GstRTMPSrc" link="gst-plugins-bad-plugins-rtmpsrc.html#GstRTMPSrc-struct"/>
     <keyword type="property" name="The “location” property" link="gst-plugins-bad-plugins-rtmpsrc.html#GstRTMPSrc--location"/>
+    <keyword type="property" name="The “timeout” property" link="gst-plugins-bad-plugins-rtmpsrc.html#GstRTMPSrc--timeout"/>
     <keyword type="struct" name="struct GstShmSink" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink-struct"/>
     <keyword type="property" name="The “perms” property" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink--perms"/>
     <keyword type="property" name="The “shm-size” property" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink--shm-size"/>
@@ -459,11 +492,11 @@
     <keyword type="property" name="The “zoom” property" link="gst-plugins-bad-plugins-square.html#GstSquare--zoom"/>
     <keyword type="struct" name="struct GstStretch" link="gst-plugins-bad-plugins-stretch.html#GstStretch-struct"/>
     <keyword type="property" name="The “intensity” property" link="gst-plugins-bad-plugins-stretch.html#GstStretch--intensity"/>
-    <keyword type="struct" name="struct GstTemplateMatch" link="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch"/>
+    <keyword type="struct" name="struct GstTemplateMatch" link="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch-struct"/>
     <keyword type="property" name="The “display” property" link="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch--display"/>
     <keyword type="property" name="The “method” property" link="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch--method"/>
     <keyword type="property" name="The “template” property" link="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch--template"/>
-    <keyword type="struct" name="struct GstOpencvTextOverlay" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay"/>
+    <keyword type="struct" name="struct GstOpencvTextOverlay" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay-struct"/>
     <keyword type="property" name="The “colorB” property" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--colorB"/>
     <keyword type="property" name="The “colorG” property" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--colorG"/>
     <keyword type="property" name="The “colorR” property" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--colorR"/>
@@ -504,7 +537,38 @@
     <keyword type="property" name="The “attach-frame” property" link="gst-plugins-bad-plugins-zbar.html#GstZBar--attach-frame"/>
     <keyword type="struct" name="struct GstVoAacEnc" link="gst-plugins-bad-plugins-voaacenc.html#GstVoAacEnc-struct"/>
     <keyword type="property" name="The “bitrate” property" link="gst-plugins-bad-plugins-voaacenc.html#GstVoAacEnc--bitrate"/>
+    <keyword type="struct" name="struct GstVoAmrWbEnc" link="gst-plugins-bad-plugins-voamrwbenc.html#GstVoAmrWbEnc-struct"/>
+    <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="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"/>
+    <keyword type="property" name="The “gain-control” property" link="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp--gain-control"/>
+    <keyword type="property" name="The “high-pass-filter” property" link="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp--high-pass-filter"/>
+    <keyword type="property" name="The “noise-suppression” property" link="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp--noise-suppression"/>
+    <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="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"/>
+    <keyword type="constant" name="GST_COLOR_EFFECTS_PRESET_XRAY" link="gst-plugins-bad-plugins-coloreffects.html#GST-COLOR-EFFECTS-PRESET-XRAY:CAPS"/>
+    <keyword type="constant" name="GST_COLOR_EFFECTS_PRESET_XPRO" link="gst-plugins-bad-plugins-coloreffects.html#GST-COLOR-EFFECTS-PRESET-XPRO:CAPS"/>
+    <keyword type="constant" name="GST_COLOR_EFFECTS_PRESET_YELLOWBLUE" link="gst-plugins-bad-plugins-coloreffects.html#GST-COLOR-EFFECTS-PRESET-YELLOWBLUE:CAPS"/>
+    <keyword type="constant" name="COMPOSITOR_BACKGROUND_CHECKER" link="gst-plugins-bad-plugins-compositor.html#COMPOSITOR-BACKGROUND-CHECKER:CAPS"/>
+    <keyword type="constant" name="COMPOSITOR_BACKGROUND_BLACK" link="gst-plugins-bad-plugins-compositor.html#COMPOSITOR-BACKGROUND-BLACK:CAPS"/>
+    <keyword type="constant" name="COMPOSITOR_BACKGROUND_WHITE" link="gst-plugins-bad-plugins-compositor.html#COMPOSITOR-BACKGROUND-WHITE:CAPS"/>
+    <keyword type="constant" name="COMPOSITOR_BACKGROUND_TRANSPARENT" link="gst-plugins-bad-plugins-compositor.html#COMPOSITOR-BACKGROUND-TRANSPARENT:CAPS"/>
+    <keyword type="constant" name="GST_FACEDETECT_UPDATES_EVERY_FRAME" link="gst-plugins-bad-plugins-facedetect.html#GST-FACEDETECT-UPDATES-EVERY-FRAME:CAPS"/>
+    <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_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"/>
+    <keyword type="constant" name="GST_MIRROR_MODE_BOTTOM" link="gst-plugins-bad-plugins-mirror.html#GST-MIRROR-MODE-BOTTOM:CAPS"/>
   </functions>
 </book>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-assrender.html b/docs/plugins/html/gst-plugins-bad-plugins-assrender.html
index 1246a6c..3d042c0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-assrender.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-assrender.html
@@ -84,10 +84,25 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-assrender.description"></a><h2>Description</h2>
+<p>Renders timestamped SSA/ASS subtitles on top of a video stream.</p>
+<div class="refsect2">
+<a name="id-1.2.5.7.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> <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=/</span>path<span class="gtkdoc opt">/</span>to<span class="gtkdoc opt">/</span>mkv <span class="gtkdoc opt">!</span> matroskademux name<span class="gtkdoc opt">=</span>d <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> mpegaudioparse <span class="gtkdoc opt">!</span> mad <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> autoaudiosink  d<span class="gtkdoc opt">. !</span> queue <span class="gtkdoc opt">!</span> h264parse <span class="gtkdoc opt">!</span> avdec_h264 <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> r<span class="gtkdoc opt">.</span>   d<span class="gtkdoc opt">. !</span> queue <span class="gtkdoc opt">!</span> <span class="string">&quot;application/x-ass&quot;</span> <span class="gtkdoc opt">!</span> assrender name<span class="gtkdoc opt">=</span>r <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This pipeline demuxes a Matroska file with h.264 video, MP3 audio and embedded ASS subtitles and renders the subtitles on top of the video.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.5.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.5.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -113,7 +128,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.5.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.5.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -166,7 +181,7 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -194,7 +209,7 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html b/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html
index b69aa30..7411cd8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html
@@ -15,7 +15,10 @@
 <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-bs2b.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-plugins-bs2b.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-bs2b.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-bs2b.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-bs2b.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>
@@ -32,6 +35,28 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-bs2b.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-bs2b.html#GstBs2b--fcut" title="The “fcut” property">fcut</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-bs2b.html#GstBs2b--feed" title="The “feed” property">feed</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstBs2b"></a><div class="refsect1">
 <a name="gst-plugins-bad-plugins-bs2b.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
@@ -40,16 +65,50 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-bs2b.html#GstBs2b" title="struct GstBs2b">GstBs2b</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-bs2b.html#GstBs2b-struct" title="struct GstBs2b">GstBs2b</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-bs2b.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> GstBs2b
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-bs2b.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstBs2b implements
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPreset.html#GstPreset-struct">GstPreset</a>.</p>
+</div>
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-bs2b.description"></a><h2>Description</h2>
+<p>Improve headphone listening of stereo audio records using the bs2b library. 
+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>
+<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> audiotestsrc <span class="gtkdoc opt">!</span> <span class="string">&quot;audio/x-raw,channel-mask=(bitmask)0x1&quot;</span> <span class="gtkdoc opt">!</span> interleave name<span class="gtkdoc opt">=</span>i <span class="gtkdoc opt">!</span> bs2b <span class="gtkdoc opt">!</span> autoaudiosink audiotestsrc freq<span class="gtkdoc opt">=</span><span class="number">330</span> <span class="gtkdoc opt">!</span> <span class="string">&quot;audio/x-raw,channel-mask=(bitmask)0x2&quot;</span> <span class="gtkdoc opt">!</span> i<span class="gtkdoc opt">.</span></pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Play two independent sine test sources and crossfeed them.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.9.4.2.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">
@@ -68,14 +127,14 @@
 </tr>
 <tr>
 <td><p><span class="term">class</span></p></td>
-<td>Effect/Audio</td>
+<td>Filter/Effect/Audio</td>
 </tr>
 </tbody>
 </table></div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.9.4.2.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">
@@ -142,11 +201,28 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-bs2b.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstBs2b"></a><h3>struct GstBs2b</h3>
-<pre class="programlisting">struct GstBs2b {
-  GstAudioFilter element;
-};
-</pre>
+<a name="GstBs2b-struct"></a><h3>struct GstBs2b</h3>
+<pre class="programlisting">struct GstBs2b;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-bs2b.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstBs2b--fcut"></a><h3>The <code class="literal">“fcut”</code> property</h3>
+<pre class="programlisting">  “fcut”                     <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Low-pass filter cut frequency (Hz).</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [300,2000]</p>
+<p>Default value: 700</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstBs2b--feed"></a><h3>The <code class="literal">“feed”</code> property</h3>
+<pre class="programlisting">  “feed”                     <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Feed Level (dB/10).</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [10,150]</p>
+<p>Default value: 45</p>
 </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 35591c3..da80981 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-chromium.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-chromium.html
@@ -61,6 +61,19 @@
 </table></div>
 </div>
 <a name="GstChromium"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-chromium.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="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-chromium.html#GstChromium">GstChromium</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-chromium.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>
@@ -75,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.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.13.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -91,7 +104,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.13.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.13.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -117,7 +130,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.13.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.13.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -175,6 +188,11 @@
 </div>
 <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>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-chromium.property-details"></a><h2>Property Details</h2>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html b/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
index c7b755b..9adb740 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
@@ -42,7 +42,7 @@
 <col width="200px" class="properties_flags">
 </colgroup>
 <tbody><tr>
-<td class="property_type"><span class="type">GstColorEffectsPreset</span></td>
+<td class="property_type"><a class="link" href="gst-plugins-bad-plugins-coloreffects.html#GstColorEffectsPreset" title="enum GstColorEffectsPreset"><span class="type">GstColorEffectsPreset</span></a></td>
 <td class="property_name"><a class="link" href="gst-plugins-bad-plugins-coloreffects.html#GstColorEffects--preset" title="The “preset” property">preset</a></td>
 <td class="property_flags">Read / Write</td>
 </tr></tbody>
@@ -55,10 +55,16 @@
 <col width="150px" class="name">
 <col class="description">
 </colgroup>
-<tbody><tr>
+<tbody>
+<tr>
 <td class="datatype_keyword">struct</td>
 <td class="function_name"><a class="link" href="gst-plugins-bad-plugins-coloreffects.html#GstColorEffects-struct" title="struct GstColorEffects">GstColorEffects</a></td>
-</tr></tbody>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-coloreffects.html#GstColorEffectsPreset" title="enum GstColorEffectsPreset">GstColorEffectsPreset</a></td>
+</tr>
+</tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -183,12 +189,59 @@
 <pre class="programlisting">struct GstColorEffects;</pre>
 <p>Opaque datastructure.</p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstColorEffectsPreset"></a><h3>enum GstColorEffectsPreset</h3>
+<p>The lookup table to use to convert input colors</p>
+<div class="refsect3">
+<a name="GstColorEffectsPreset.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-COLOR-EFFECTS-PRESET-NONE:CAPS"></a>GST_COLOR_EFFECTS_PRESET_NONE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-COLOR-EFFECTS-PRESET-HEAT:CAPS"></a>GST_COLOR_EFFECTS_PRESET_HEAT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-COLOR-EFFECTS-PRESET-SEPIA:CAPS"></a>GST_COLOR_EFFECTS_PRESET_SEPIA</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-COLOR-EFFECTS-PRESET-XRAY:CAPS"></a>GST_COLOR_EFFECTS_PRESET_XRAY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-COLOR-EFFECTS-PRESET-XPRO:CAPS"></a>GST_COLOR_EFFECTS_PRESET_XPRO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-COLOR-EFFECTS-PRESET-YELLOWBLUE:CAPS"></a>GST_COLOR_EFFECTS_PRESET_YELLOWBLUE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-coloreffects.property-details"></a><h2>Property Details</h2>
 <div class="refsect2">
 <a name="GstColorEffects--preset"></a><h3>The <code class="literal">“preset”</code> property</h3>
-<pre class="programlisting">  “preset”                   <span class="type">GstColorEffectsPreset</span></pre>
+<pre class="programlisting">  “preset”                   <a class="link" href="gst-plugins-bad-plugins-coloreffects.html#GstColorEffectsPreset" title="enum GstColorEffectsPreset"><span class="type">GstColorEffectsPreset</span></a></pre>
 <p>Color effect preset to use.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: Do nothing preset</p>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-compositor.html b/docs/plugins/html/gst-plugins-bad-plugins-compositor.html
index 13e52d4..968bf0d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-compositor.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-compositor.html
@@ -16,7 +16,8 @@
 <td width="100%" align="left" class="shortcuts">
 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-compositor.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-compositor.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-compositor.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-compositor.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-compositor.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>
@@ -42,28 +43,49 @@
 <col width="200px" class="properties_flags">
 </colgroup>
 <tbody><tr>
-<td class="property_type"><span class="type">GstCompositorBackground</span></td>
+<td class="property_type"><a class="link" href="gst-plugins-bad-plugins-compositor.html#GstCompositorBackground" title="enum GstCompositorBackground"><span class="type">GstCompositorBackground</span></a></td>
 <td class="property_name"><a class="link" href="gst-plugins-bad-plugins-compositor.html#GstCompositor--background" title="The “background” property">background</a></td>
 <td class="property_flags">Read / Write</td>
 </tr></tbody>
 </table></div>
 </div>
-<a name="GstCompositor"></a><a name="GstCompositorPad"></a><div class="refsect1">
+<a name="GstCompositor"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-compositor.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-compositor.html#GstCompositor-struct" title="struct GstCompositor">GstCompositor</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-compositor.html#GstCompositorBackground" title="enum GstCompositorBackground">GstCompositorBackground</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-compositor.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>   <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>       <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>           <span class="lineart">╰──</span> GstCompositor
-            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPad-struct">GstPad</a>
-                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0gst-plugins-bad-libs-GstAggregatorPad.html#GstAggregatorPad">GstAggregatorPad</a>
-                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0gst-plugins-bad-libs-GstVideoAggregatorPad.html#GstVideoAggregatorPad">GstVideoAggregatorPad</a>
-                        <span class="lineart">╰──</span> GstCompositorPad
+            <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> GstCompositor
 </pre>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-compositor.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstCompositor 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-compositor.description"></a><h2>Description</h2>
 <p>Compositor 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
@@ -71,7 +93,7 @@
 biggest incoming video stream and the framerate of the fastest incoming one.</p>
 <p>Compositor will do colorspace conversion.</p>
 <p>Individual parameters for each input stream can be configured on the
-<a class="link" href="gst-plugins-bad-plugins-compositor.html#GstCompositorPad"><span class="type">GstCompositorPad</span></a>:</p>
+<span class="type">GstCompositorPad</span>:</p>
 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
 <li class="listitem">
 "xpos": The x-coordinate position of the top-left corner of the picture
@@ -100,7 +122,7 @@
 </li>
 </ul></div>
 <div class="refsect2">
-<a name="id-1.2.16.7.6"></a><h3>Sample pipelines</h3>
+<a name="id-1.2.16.8.6"></a><h3>Sample pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -128,7 +150,7 @@
  A pipeline to demonstrate compositor used together with videobox.
 This should show a 320x240 pixels video test source with some transparency
 showing the background checker pattern. Another video test source with just
-the snow pattern of 100x100 pixels is overlayed on top of the first one on
+the snow pattern of 100x100 pixels is overlaid on top of the first one on
 the left vertically centered with a small transparency showing the first
 video test source behind and the checker pattern under it. Note that the
 framerate of the output video is 10 frames per second.
@@ -199,7 +221,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.16.7.7.1"></a><h3>Element Information</h3>
+<a name="id-1.2.16.8.7.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -225,7 +247,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.16.7.7.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.16.8.7.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -283,12 +305,53 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-compositor.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstCompositor-struct"></a><h3>struct GstCompositor</h3>
+<pre class="programlisting">struct GstCompositor;</pre>
+<p>The opaque <a class="link" href="gst-plugins-bad-plugins-compositor.html#GstCompositor"><span class="type">GstCompositor</span></a> structure.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstCompositorBackground"></a><h3>enum GstCompositorBackground</h3>
+<div class="refsect3">
+<a name="GstCompositorBackground.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="COMPOSITOR-BACKGROUND-CHECKER:CAPS"></a>COMPOSITOR_BACKGROUND_CHECKER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="COMPOSITOR-BACKGROUND-BLACK:CAPS"></a>COMPOSITOR_BACKGROUND_BLACK</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="COMPOSITOR-BACKGROUND-WHITE:CAPS"></a>COMPOSITOR_BACKGROUND_WHITE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="COMPOSITOR-BACKGROUND-TRANSPARENT:CAPS"></a>COMPOSITOR_BACKGROUND_TRANSPARENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-compositor.property-details"></a><h2>Property Details</h2>
 <div class="refsect2">
 <a name="GstCompositor--background"></a><h3>The <code class="literal">“background”</code> property</h3>
-<pre class="programlisting">  “background”               <span class="type">GstCompositorBackground</span></pre>
+<pre class="programlisting">  “background”               <a class="link" href="gst-plugins-bad-plugins-compositor.html#GstCompositorBackground" title="enum GstCompositorBackground"><span class="type">GstCompositorBackground</span></a></pre>
 <p>Background type.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: Checker pattern</p>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html b/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html
index 1ba97cb..50c3922 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.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-cvdilate.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-plugins-cvdilate.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-cvdilate.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="GstCvDilate"></a><div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvdilate.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
@@ -40,16 +41,44 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvdilate.html#GstCvDilate" title="struct GstCvDilate">GstCvDilate</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvdilate.html#GstCvDilate-struct" title="struct GstCvDilate">GstCvDilate</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-cvdilate.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-gstvideofilter.html#GstVideoFilter-struct">GstVideoFilter</a>
+                        <span class="lineart">╰──</span> GstOpencvVideoFilter
+                            <span class="lineart">╰──</span> GstCvDilateErode
+                                <span class="lineart">╰──</span> GstCvDilate
+</pre>
+</div>
+<div class="refsect1">
 <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>
+<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> cvdilate <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.17.4.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.17.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -75,7 +104,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.17.4.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.17.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -230,11 +259,8 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvdilate.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstCvDilate"></a><h3>struct GstCvDilate</h3>
-<pre class="programlisting">struct GstCvDilate {
-  GstCvDilateErode element;
-};
-</pre>
+<a name="GstCvDilate-struct"></a><h3>struct GstCvDilate</h3>
+<pre class="programlisting">struct GstCvDilate;</pre>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html b/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html
index bbc427f..e31ee3d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.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-cvequalizehist.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-plugins-cvequalizehist.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-cvequalizehist.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="GstCvEqualizeHist"></a><div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvequalizehist.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
@@ -40,16 +41,44 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist" title="struct GstCvEqualizeHist">GstCvEqualizeHist</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist-struct" title="struct GstCvEqualizeHist">GstCvEqualizeHist</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-cvequalizehist.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-gstvideofilter.html#GstVideoFilter-struct">GstVideoFilter</a>
+                        <span class="lineart">╰──</span> GstOpencvVideoFilter
+                            <span class="lineart">╰──</span> GstCvEqualizeHist
+</pre>
+</div>
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvequalizehist.description"></a><h2>Description</h2>
+<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>
+<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 pattern<span class="gtkdoc opt">=</span><span class="number">23</span> <span class="gtkdoc opt">!</span> cvequalizehist <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.19.4.2.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">
@@ -75,7 +104,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.19.4.2.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">
@@ -134,11 +163,8 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvequalizehist.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstCvEqualizeHist"></a><h3>struct GstCvEqualizeHist</h3>
-<pre class="programlisting">struct GstCvEqualizeHist {
-  GstOpencvVideoFilter element;
-};
-</pre>
+<a name="GstCvEqualizeHist-struct"></a><h3>struct GstCvEqualizeHist</h3>
+<pre class="programlisting">struct GstCvEqualizeHist;</pre>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cverode.html b/docs/plugins/html/gst-plugins-bad-plugins-cverode.html
index c038210..0601245 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cverode.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cverode.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-cverode.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-plugins-cverode.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-cverode.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="GstCvErode"></a><div class="refsect1">
 <a name="gst-plugins-bad-plugins-cverode.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
@@ -40,16 +41,44 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cverode.html#GstCvErode" title="struct GstCvErode">GstCvErode</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cverode.html#GstCvErode-struct" title="struct GstCvErode">GstCvErode</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-cverode.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-gstvideofilter.html#GstVideoFilter-struct">GstVideoFilter</a>
+                        <span class="lineart">╰──</span> GstOpencvVideoFilter
+                            <span class="lineart">╰──</span> GstCvDilateErode
+                                <span class="lineart">╰──</span> GstCvErode
+</pre>
+</div>
+<div class="refsect1">
 <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>
+<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> cverode <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.18.4.2.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">
@@ -75,7 +104,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.18.4.2.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">
@@ -230,11 +259,8 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cverode.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstCvErode"></a><h3>struct GstCvErode</h3>
-<pre class="programlisting">struct GstCvErode {
-  GstCvDilateErode element;
-};
-</pre>
+<a name="GstCvErode-struct"></a><h3>struct GstCvErode</h3>
+<pre class="programlisting">struct GstCvErode;</pre>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html b/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html
index 318c67b..d09961b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.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-cvlaplace.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-cvlaplace.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-cvlaplace.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-cvlaplace.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>
@@ -64,7 +65,7 @@
 </tbody>
 </table></div>
 </div>
-<div class="refsect1">
+<a name="GstCvLaplace"></a><div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvlaplace.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
@@ -73,16 +74,43 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace" title="struct GstCvLaplace">GstCvLaplace</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace-struct" title="struct GstCvLaplace">GstCvLaplace</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-cvlaplace.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-gstvideofilter.html#GstVideoFilter-struct">GstVideoFilter</a>
+                        <span class="lineart">╰──</span> GstOpencvVideoFilter
+                            <span class="lineart">╰──</span> GstCvLaplace
+</pre>
+</div>
+<div class="refsect1">
 <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>
+<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> cvlaplace <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.20.5.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.20.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -108,7 +136,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.20.5.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.20.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -167,21 +195,8 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvlaplace.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstCvLaplace"></a><h3>struct GstCvLaplace</h3>
-<pre class="programlisting">struct GstCvLaplace {
-  GstOpencvVideoFilter element;
-
-  gint aperture_size;
-  gdouble scale;
-  gdouble shift;
-  gboolean mask;
-
-  IplImage *intermediary_img;
-  IplImage *cvGray;
-  IplImage *Laplace;
-  IplImage *CLaplace;
-};
-</pre>
+<a name="GstCvLaplace-struct"></a><h3>struct GstCvLaplace</h3>
+<pre class="programlisting">struct GstCvLaplace;</pre>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html b/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html
index 1b3e9af..8f1476d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.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-cvsmooth.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-cvsmooth.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-cvsmooth.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-cvsmooth.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>
@@ -89,7 +90,7 @@
 </tbody>
 </table></div>
 </div>
-<div class="refsect1">
+<a name="GstCvSmooth"></a><div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvsmooth.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
@@ -98,16 +99,43 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth" title="struct GstCvSmooth">GstCvSmooth</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth-struct" title="struct GstCvSmooth">GstCvSmooth</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-cvsmooth.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-gstvideofilter.html#GstVideoFilter-struct">GstVideoFilter</a>
+                        <span class="lineart">╰──</span> GstOpencvVideoFilter
+                            <span class="lineart">╰──</span> GstCvSmooth
+</pre>
+</div>
+<div class="refsect1">
 <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>
+<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> cvsmooth <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.21.5.2.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">
@@ -133,7 +161,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.21.5.2.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">
@@ -208,18 +236,8 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvsmooth.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstCvSmooth"></a><h3>struct GstCvSmooth</h3>
-<pre class="programlisting">struct GstCvSmooth {
-  GstOpencvVideoFilter element;
-
-  gint type;
-
-  gint width;
-  gint height;
-  gdouble colorsigma;
-  gdouble spatialsigma;
-};
-</pre>
+<a name="GstCvSmooth-struct"></a><h3>struct GstCvSmooth</h3>
+<pre class="programlisting">struct GstCvSmooth;</pre>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html b/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html
index f18a753..ae72eb7 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.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-cvsobel.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-cvsobel.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-cvsobel.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-cvsobel.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>
@@ -64,7 +65,7 @@
 </tbody>
 </table></div>
 </div>
-<div class="refsect1">
+<a name="GstCvSobel"></a><div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvsobel.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
@@ -73,16 +74,43 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel" title="struct GstCvSobel">GstCvSobel</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel-struct" title="struct GstCvSobel">GstCvSobel</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-cvsobel.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-gstvideofilter.html#GstVideoFilter-struct">GstVideoFilter</a>
+                        <span class="lineart">╰──</span> GstOpencvVideoFilter
+                            <span class="lineart">╰──</span> GstCvSobel
+</pre>
+</div>
+<div class="refsect1">
 <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>
+<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> cvsobel <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.22.5.2.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">
@@ -108,7 +136,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.22.5.2.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">
@@ -167,20 +195,8 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvsobel.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstCvSobel"></a><h3>struct GstCvSobel</h3>
-<pre class="programlisting">struct GstCvSobel {
-  GstOpencvVideoFilter element;
-
-  gint x_order;
-  gint y_order;
-  gint aperture_size;
-  gboolean mask;
-
-  IplImage *cvCSobel;
-  IplImage *cvGray;
-  IplImage *cvSobel;
-};
-</pre>
+<a name="GstCvSobel-struct"></a><h3>struct GstCvSobel</h3>
+<pre class="programlisting">struct GstCvSobel;</pre>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html b/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
index 29c6103..43092e6 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-dtmfdetect.top_of_page"></a>dtmfdetect</span></h2>
-<p>dtmfdetect</p>
+<p>dtmfdetect — Detects DTMF tones</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -57,10 +57,31 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dtmfdetect.description"></a><h2>Description</h2>
+<p>This element will detect DTMF tones and emit messages.</p>
+<p>The message is called <code class="classname">"dtmf-event"</code> and has
+the following fields:</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+  gint <code class="classname">type</code> (0-1):
+  The application uses this field to specify which of the two methods
+  specified in RFC 2833 to use. The value should be 0 for tones and 1 for
+  named events. Tones are specified by their frequencies and events are
+  specfied by their number. This element can only take events as input.
+  Do not confuse with "method" which specified the output.
+  </p></li>
+<li class="listitem"><p>
+  gint <code class="classname">number</code> (0-16):
+  The event number.
+  </p></li>
+<li class="listitem"><p>
+  gint <code class="classname">method</code> (2):
+  This field will always been 2 (ie sound) from this element.
+  </p></li>
+</ul></div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.27.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.27.6.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -86,7 +107,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.27.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.27.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 5924ce1..7b494d7 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html
@@ -73,10 +73,36 @@
 </div>
 <div class="refsect1">
 <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>
+<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> dvdreadsrc title<span class="gtkdoc opt">=</span><span class="number">1</span> <span class="gtkdoc opt">!</span> mpegpsdemux <span class="gtkdoc opt">!</span> dtsdec <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> alsasink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Play a DTS audio track from a dvd.
+<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> filesrc location<span class="gtkdoc opt">=</span>abc<span class="gtkdoc opt">.</span>dts <span class="gtkdoc opt">!</span> dtsdec <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> alsasink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Decode a standalone file and play it.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.28.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.28.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -102,7 +128,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.28.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.28.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 d431f36..a71cc8d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
@@ -366,10 +366,70 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dvbsrc.description"></a><h2>Description</h2>
+<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>
+<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> dvbsrc modulation<span class="gtkdoc opt">=</span><span class="string">&quot;QAM 64&quot;</span> trans<span class="gtkdoc opt">-</span>mode<span class="gtkdoc opt">=</span><span class="number">8</span>k bandwidth<span class="gtkdoc opt">=</span><span class="number">8</span> frequency<span class="gtkdoc opt">=</span><span class="number">514000000</span> code<span class="gtkdoc opt">-</span>rate<span class="gtkdoc opt">-</span>lp<span class="gtkdoc opt">=</span>AUTO code<span class="gtkdoc opt">-</span>rate<span class="gtkdoc opt">-</span>hp<span class="gtkdoc opt">=</span><span class="number">2</span><span class="gtkdoc opt">/</span><span class="number">3</span> guard<span class="gtkdoc opt">=</span><span class="number">4</span>  hierarchy<span class="gtkdoc opt">=</span><span class="number">0</span> <span class="gtkdoc opt">!</span> mpegtsdemux name<span class="gtkdoc opt">=</span>demux <span class="gtkdoc opt">!</span> queue max<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">0</span> max<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">-</span>time<span class="gtkdoc opt">=</span><span class="number">0</span> <span class="gtkdoc opt">!</span> mpeg2dec <span class="gtkdoc opt">!</span> xvimagesink demux<span class="gtkdoc opt">. !</span> queue max<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">0</span> max<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">-</span>time<span class="gtkdoc opt">=</span><span class="number">0</span> <span class="gtkdoc opt">!</span> mad <span class="gtkdoc opt">!</span> alsasink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Captures a full transport stream from DVB card 0 that is a DVB-T card at tuned frequency 514000000 Hz with other parameters as seen in the pipeline and renders the first TV program on the transport stream.
+<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> dvbsrc modulation<span class="gtkdoc opt">=</span><span class="string">&quot;QAM 64&quot;</span> trans<span class="gtkdoc opt">-</span>mode<span class="gtkdoc opt">=</span><span class="number">8</span>k bandwidth<span class="gtkdoc opt">=</span><span class="number">8</span> frequency<span class="gtkdoc opt">=</span><span class="number">514000000</span> code<span class="gtkdoc opt">-</span>rate<span class="gtkdoc opt">-</span>lp<span class="gtkdoc opt">=</span>AUTO code<span class="gtkdoc opt">-</span>rate<span class="gtkdoc opt">-</span>hp<span class="gtkdoc opt">=</span><span class="number">2</span><span class="gtkdoc opt">/</span><span class="number">3</span> guard<span class="gtkdoc opt">=</span><span class="number">4</span>  hierarchy<span class="gtkdoc opt">=</span><span class="number">0</span> pids<span class="gtkdoc opt">=</span><span class="number">100</span><span class="gtkdoc opt">:</span><span class="number">256</span><span class="gtkdoc opt">:</span><span class="number">257</span> <span class="gtkdoc opt">!</span> mpegtsdemux name<span class="gtkdoc opt">=</span>demux <span class="gtkdoc opt">!</span> queue max<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">0</span> max<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">-</span>time<span class="gtkdoc opt">=</span><span class="number">0</span> <span class="gtkdoc opt">!</span> mpeg2dec <span class="gtkdoc opt">!</span> xvimagesink demux<span class="gtkdoc opt">. !</span> queue max<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">0</span> max<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">-</span>time<span class="gtkdoc opt">=</span><span class="number">0</span> <span class="gtkdoc opt">!</span> mad <span class="gtkdoc opt">!</span> alsasink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Captures and renders a transport stream from DVB card 0 that is a DVB-T card for a program at tuned frequency 514000000 Hz with PMT PID 100 and elementary stream PIDs of 256, 257 with other parameters as seen in the pipeline.
+<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> dvbsrc polarity<span class="gtkdoc opt">=</span><span class="string">&quot;h&quot;</span> frequency<span class="gtkdoc opt">=</span><span class="number">11302000</span> symbol<span class="gtkdoc opt">-</span>rate<span class="gtkdoc opt">=</span><span class="number">27500</span> diseqc<span class="gtkdoc opt">-</span>source<span class="gtkdoc opt">=</span><span class="number">0</span> pids<span class="gtkdoc opt">=</span><span class="number">50</span><span class="gtkdoc opt">:</span><span class="number">102</span><span class="gtkdoc opt">:</span><span class="number">103</span> <span class="gtkdoc opt">!</span> mpegtsdemux name<span class="gtkdoc opt">=</span>demux <span class="gtkdoc opt">!</span> queue max<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">0</span> max<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">-</span>time<span class="gtkdoc opt">=</span><span class="number">0</span> <span class="gtkdoc opt">!</span> mpeg2dec <span class="gtkdoc opt">!</span> xvimagesink demux<span class="gtkdoc opt">. !</span> queue max<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">0</span> max<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">-</span>time<span class="gtkdoc opt">=</span><span class="number">0</span> <span class="gtkdoc opt">!</span> mad <span class="gtkdoc opt">!</span> alsasink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Captures and renders a transport stream from DVB card 0 that is a DVB-S card for a program at tuned frequency 11302000 kHz, symbol rate of 27500 kBd (kilo bauds) with PMT PID of 50 and elementary stream PIDs of 102 and 103.
+<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> dvbsrc frequency<span class="gtkdoc opt">=</span><span class="number">515142857</span> guard<span class="gtkdoc opt">=</span><span class="number">16</span> trans<span class="gtkdoc opt">-</span>mode<span class="gtkdoc opt">=</span><span class="string">&quot;8k&quot;</span> isdbt<span class="gtkdoc opt">-</span>layer<span class="gtkdoc opt">-</span>enabled<span class="gtkdoc opt">=</span><span class="number">7</span> isdbt<span class="gtkdoc opt">-</span>partial<span class="gtkdoc opt">-</span>reception<span class="gtkdoc opt">=</span><span class="number">1</span> isdbt<span class="gtkdoc opt">-</span>layera<span class="gtkdoc opt">-</span>fec<span class="gtkdoc opt">=</span><span class="string">&quot;2/3&quot;</span> isdbt<span class="gtkdoc opt">-</span>layera<span class="gtkdoc opt">-</span>modulation<span class="gtkdoc opt">=</span><span class="string">&quot;QPSK&quot;</span> isdbt<span class="gtkdoc opt">-</span>layera<span class="gtkdoc opt">-</span>segment<span class="gtkdoc opt">-</span>count<span class="gtkdoc opt">=</span><span class="number">1</span> isdbt<span class="gtkdoc opt">-</span>layera<span class="gtkdoc opt">-</span>time<span class="gtkdoc opt">-</span>interleaving<span class="gtkdoc opt">=</span><span class="number">4</span> isdbt<span class="gtkdoc opt">-</span>layerb<span class="gtkdoc opt">-</span>fec<span class="gtkdoc opt">=</span><span class="string">&quot;3/4&quot;</span> isdbt<span class="gtkdoc opt">-</span>layerb<span class="gtkdoc opt">-</span>modulation<span class="gtkdoc opt">=</span><span class="string">&quot;qam-64&quot;</span> isdbt<span class="gtkdoc opt">-</span>layerb<span class="gtkdoc opt">-</span>segment<span class="gtkdoc opt">-</span>count<span class="gtkdoc opt">=</span><span class="number">12</span> isdbt<span class="gtkdoc opt">-</span>layerb<span class="gtkdoc opt">-</span>time<span class="gtkdoc opt">-</span>interleaving<span class="gtkdoc opt">=</span><span class="number">2</span> isdbt<span class="gtkdoc opt">-</span>layerc<span class="gtkdoc opt">-</span>fec<span class="gtkdoc opt">=</span><span class="string">&quot;1/2&quot;</span> isdbt<span class="gtkdoc opt">-</span>layerc<span class="gtkdoc opt">-</span>modulation<span class="gtkdoc opt">=</span><span class="string">&quot;qam-64&quot;</span> isdbt<span class="gtkdoc opt">-</span>layerc<span class="gtkdoc opt">-</span>segment<span class="gtkdoc opt">-</span>count<span class="gtkdoc opt">=</span><span class="number">0</span> isdbt<span class="gtkdoc opt">-</span>layerc<span class="gtkdoc opt">-</span>time<span class="gtkdoc opt">-</span>interleaving<span class="gtkdoc opt">=</span><span class="number">0</span> delsys<span class="gtkdoc opt">=</span><span class="string">&quot;isdb-t&quot;</span> <span class="gtkdoc opt">!</span> tsdemux <span class="gtkdoc opt">!</span> <span class="string">&quot;video/x-h264&quot;</span> <span class="gtkdoc opt">!</span> h264parse <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> avdec_h264 <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Captures and renders the video track of TV Paraíba HD (Globo affiliate) in Campina Grande, Brazil. This is an ISDB-T (Brazilian ISDB-Tb variant) broadcast.
+<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> dvbsrc frequency<span class="gtkdoc opt">=</span><span class="number">503000000</span> delsys<span class="gtkdoc opt">=</span><span class="string">&quot;atsc&quot;</span> modulation<span class="gtkdoc opt">=</span><span class="string">&quot;8vsb&quot;</span> pids<span class="gtkdoc opt">=</span><span class="number">48</span><span class="gtkdoc opt">:</span><span class="number">49</span><span class="gtkdoc opt">:</span><span class="number">52</span> <span class="gtkdoc opt">!</span> decodebin name<span class="gtkdoc opt">=</span>dec dec<span class="gtkdoc opt">. !</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink dec<span class="gtkdoc opt">. !</span> audioconvert <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Captures and renders KOFY-HD in San Jose, California. This is an ATSC broadcast, PMT ID 48, Audio/Video elementary stream PIDs 49 and 52 respectively.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.29.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.29.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -396,7 +456,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.29.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.29.8.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -440,7 +500,7 @@
 <div class="refsect2">
 <a name="GstDvbSrc--bandwidth-hz"></a><h3>The <code class="literal">“bandwidth-hz”</code> property</h3>
 <pre class="programlisting">  “bandwidth-hz”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
-<p>(DVB-T) Bandwidth in Hz.</p>
+<p>Channel bandwidth in Hz.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: 8000000</p>
 </div>
@@ -530,7 +590,7 @@
 <div class="refsect2">
 <a name="GstDvbSrc--pids"></a><h3>The <code class="literal">“pids”</code> property</h3>
 <pre class="programlisting">  “pids”                     <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
-<p>Colon seperated list of pids (eg. 110:120).</p>
+<p>Colon-separated list of PIDs (eg. 110:120) to capture. ACT and CAT are automatically included but PMT should be added explicitly. Special value 8192 gets full MPEG-TS.</p>
 <p>Flags: Write</p>
 <p>Default value: "8192"</p>
 </div>
@@ -878,6 +938,29 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 user_function (<a class="link" href="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc"><span class="type">GstDvbSrc</span></a> *gstdvbsrc,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)</pre>
+<p>Signal emited when the tunner has successfully got a lock on a signal.</p>
+<div class="refsect3">
+<a name="GstDvbSrc-tuning-done.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>gstdvbsrc</p></td>
+<td class="parameter_description"><p>the element on which the signal is emitted</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 <p>Flags: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
@@ -886,6 +969,30 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 user_function (<a class="link" href="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc"><span class="type">GstDvbSrc</span></a> *gstdvbsrc,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)</pre>
+<p>Signal emited when the tunner failed to get a lock on the
+signal.</p>
+<div class="refsect3">
+<a name="GstDvbSrc-tuning-fail.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>gstdvbsrc</p></td>
+<td class="parameter_description"><p>the element on which the signal is emitted</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 <p>Flags: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
@@ -894,6 +1001,30 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 user_function (<a class="link" href="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc"><span class="type">GstDvbSrc</span></a> *gstdvbsrc,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)</pre>
+<p>Signal emited when the element first attempts to tune the
+frontend tunner to a given frequency.</p>
+<div class="refsect3">
+<a name="GstDvbSrc-tuning-start.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>gstdvbsrc</p></td>
+<td class="parameter_description"><p>the element on which the signal is emitted</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 <p>Flags: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
@@ -902,6 +1033,30 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 user_function (<a class="link" href="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc"><span class="type">GstDvbSrc</span></a> *gstdvbsrc,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)</pre>
+<p>Signal emited from the application to the element, instructing it
+to tune.</p>
+<div class="refsect3">
+<a name="GstDvbSrc-tune.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>gstdvbsrc</p></td>
+<td class="parameter_description"><p>the element on which the signal is emitted</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/plugins/html/gst-plugins-bad-plugins-edgedetect.html b/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
index 9e781a7..5802825 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
@@ -15,7 +15,9 @@
 <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-edgedetect.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-plugins-edgedetect.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-edgedetect.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-edgedetect.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>
@@ -32,11 +34,83 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-edgedetect.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-edgedetect.html#GstEdgeDetect--aperture" title="The “aperture” property">aperture</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-edgedetect.html#GstEdgeDetect--mask" title="The “mask” property">mask</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-edgedetect.html#GstEdgeDetect--threshold1" title="The “threshold1” property">threshold1</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-edgedetect.html#GstEdgeDetect--threshold2" title="The “threshold2” property">threshold2</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstEdgeDetect"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-edgedetect.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-edgedetect.html#GstEdgeDetect-struct" title="struct GstEdgeDetect">GstEdgeDetect</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-edgedetect.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-gstvideofilter.html#GstVideoFilter-struct">GstVideoFilter</a>
+                        <span class="lineart">╰──</span> GstOpencvVideoFilter
+                            <span class="lineart">╰──</span> GstEdgeDetect
+</pre>
+</div>
+<div class="refsect1">
 <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>
+<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> decodebin <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> edgedetect <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> xvimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.32.3.2.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">
@@ -62,7 +136,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.32.3.2.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">
@@ -120,6 +194,47 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-edgedetect.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstEdgeDetect-struct"></a><h3>struct GstEdgeDetect</h3>
+<pre class="programlisting">struct GstEdgeDetect;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-edgedetect.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstEdgeDetect--aperture"></a><h3>The <code class="literal">“aperture”</code> property</h3>
+<pre class="programlisting">  “aperture”                 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Aperture size for Sobel operator (Must be either 3, 5 or 7.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [3,7]</p>
+<p>Default value: 3</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstEdgeDetect--mask"></a><h3>The <code class="literal">“mask”</code> property</h3>
+<pre class="programlisting">  “mask”                     <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Sets whether the detected edges should be used as a mask on the original input or not.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstEdgeDetect--threshold1"></a><h3>The <code class="literal">“threshold1”</code> property</h3>
+<pre class="programlisting">  “threshold1”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Threshold value for canny edge detection.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,1000]</p>
+<p>Default value: 50</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstEdgeDetect--threshold2"></a><h3>The <code class="literal">“threshold2”</code> property</h3>
+<pre class="programlisting">  “threshold2”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Second threshold value for canny edge detection.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,1000]</p>
+<p>Default value: 150</p>
+</div>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-faac.html b/docs/plugins/html/gst-plugins-bad-plugins-faac.html
index 7c1c563..faac749 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faac.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faac.html
@@ -117,10 +117,25 @@
 </div>
 <div class="refsect1">
 <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>
+<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> audiotestsrc wave<span class="gtkdoc opt">=</span>sine num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">100</span> <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> faac <span class="gtkdoc opt">!</span> matroskamux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>sine<span class="gtkdoc opt">.</span>mkv</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Encode a sine beep as aac and write to matroska container.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.33.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.33.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -146,7 +161,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.33.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.33.8.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -301,6 +316,10 @@
 <p>Default value: VBR</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-faac.see-also"></a><h2>See Also</h2>
+<p>faad</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-faad.html b/docs/plugins/html/gst-plugins-bad-plugins-faad.html
index cb2f509..c066761 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faad.html
@@ -57,10 +57,36 @@
 </div>
 <div class="refsect1">
 <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>
+<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> filesrc location<span class="gtkdoc opt">=</span>example<span class="gtkdoc opt">.</span>mp4 <span class="gtkdoc opt">!</span> qtdemux <span class="gtkdoc opt">!</span> faad <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Play aac from mp4 file.
+<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> filesrc location<span class="gtkdoc opt">=</span>example<span class="gtkdoc opt">.</span>adts <span class="gtkdoc opt">!</span> faad <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Play standalone aac bitstream.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.34.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.34.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -86,7 +112,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.34.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.34.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 814a222..75812ff 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html
@@ -15,7 +15,9 @@
 <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-faceblur.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-plugins-faceblur.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-faceblur.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-faceblur.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>
@@ -32,11 +34,94 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-faceblur.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-faceblur.html#GstFaceBlur--profile" title="The “profile” property">profile</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstOpencvFaceBlurFlags</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-faceblur.html#GstFaceBlur--flags" title="The “flags” property">flags</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-faceblur.html#GstFaceBlur--min-neighbors" title="The “min-neighbors” property">min-neighbors</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-faceblur.html#GstFaceBlur--min-size-height" title="The “min-size-height” property">min-size-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-faceblur.html#GstFaceBlur--min-size-width" title="The “min-size-width” property">min-size-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-faceblur.html#GstFaceBlur--scale-factor" title="The “scale-factor” property">scale-factor</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstFaceBlur"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-faceblur.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-faceblur.html#GstFaceBlur-struct" title="struct GstFaceBlur">GstFaceBlur</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-faceblur.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-gstvideofilter.html#GstVideoFilter-struct">GstVideoFilter</a>
+                        <span class="lineart">╰──</span> GstOpencvVideoFilter
+                            <span class="lineart">╰──</span> GstFaceBlur
+</pre>
+</div>
+<div class="refsect1">
 <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>
+<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> autovideosrc <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> faceblur <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.35.3.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.35.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -62,7 +147,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.35.3.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.35.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -120,6 +205,64 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-faceblur.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstFaceBlur-struct"></a><h3>struct GstFaceBlur</h3>
+<pre class="programlisting">struct GstFaceBlur;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-faceblur.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstFaceBlur--profile"></a><h3>The <code class="literal">“profile”</code> property</h3>
+<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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceBlur--flags"></a><h3>The <code class="literal">“flags”</code> property</h3>
+<pre class="programlisting">  “flags”                    <span class="type">GstOpencvFaceBlurFlags</span></pre>
+<p>Flags to cvHaarDetectObjects.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: Do Canny edge detection to discard some regions</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceBlur--min-neighbors"></a><h3>The <code class="literal">“min-neighbors”</code> property</h3>
+<pre class="programlisting">  “min-neighbors”            <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Minimum number (minus 1) of neighbor rectangles that makes up an object.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 0</p>
+<p>Default value: 3</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceBlur--min-size-height"></a><h3>The <code class="literal">“min-size-height”</code> property</h3>
+<pre class="programlisting">  “min-size-height”          <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Minimum window height size.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 0</p>
+<p>Default value: 30</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceBlur--min-size-width"></a><h3>The <code class="literal">“min-size-width”</code> property</h3>
+<pre class="programlisting">  “min-size-width”           <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Minimum window width size.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 0</p>
+<p>Default value: 30</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceBlur--scale-factor"></a><h3>The <code class="literal">“scale-factor”</code> property</h3>
+<pre class="programlisting">  “scale-factor”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>Factor by which the windows is scaled after each scan.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [1.1,10]</p>
+<p>Default value: 1.25</p>
+</div>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html b/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
index b997939..4562a01 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
@@ -15,7 +15,9 @@
 <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-facedetect.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-plugins-facedetect.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-facedetect.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-facedetect.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>
@@ -32,11 +34,149 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-facedetect.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-facedetect.html#GstFaceDetect--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#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--eyes-profile" title="The “eyes-profile” property">eyes-profile</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstOpencvFaceDetectFlags</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--flags" title="The “flags” property">flags</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-facedetect.html#GstFaceDetect--min-neighbors" title="The “min-neighbors” property">min-neighbors</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-facedetect.html#GstFaceDetect--min-size-height" title="The “min-size-height” property">min-size-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-facedetect.html#GstFaceDetect--min-size-width" title="The “min-size-width” property">min-size-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#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--mouth-profile" title="The “mouth-profile” property">mouth-profile</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-facedetect.html#GstFaceDetect--nose-profile" title="The “nose-profile” property">nose-profile</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-facedetect.html#GstFaceDetect--profile" title="The “profile” property">profile</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-facedetect.html#GstFaceDetect--scale-factor" title="The “scale-factor” property">scale-factor</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a class="link" href="gst-plugins-bad-plugins-facedetect.html#GstFaceDetectUpdates" title="enum GstFaceDetectUpdates"><span class="type">GstFaceDetectUpdates</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-facedetect.html#GstFaceDetect--updates" title="The “updates” property">updates</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-facedetect.html#GstFaceDetect--min-stddev" title="The “min-stddev” property">min-stddev</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstFaceDetect"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-facedetect.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-facedetect.html#GstFaceDetect-struct" title="struct GstFaceDetect">GstFaceDetect</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-facedetect.html#GstFaceDetectUpdates" title="enum GstFaceDetectUpdates">GstFaceDetectUpdates</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-facedetect.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-gstvideofilter.html#GstVideoFilter-struct">GstVideoFilter</a>
+                        <span class="lineart">╰──</span> GstOpencvVideoFilter
+                            <span class="lineart">╰──</span> GstFaceDetect
+</pre>
+</div>
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-facedetect.description"></a><h2>Description</h2>
+<p>Performs face detection on videos and images.
+If you have high cpu load you need to use videoscale with capsfilter and reduce the video resolution.</p>
+<p>The image is scaled down multiple times using the GstFaceDetect::scale-factor
+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>
+<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> autovideosrc <span class="gtkdoc opt">!</span> decodebin <span class="gtkdoc opt">!</span> colorspace <span class="gtkdoc opt">!</span> facedetect <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> xvimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Detect and show faces
+<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> autovideosrc <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span>width<span class="gtkdoc opt">=</span><span class="number">320</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">240</span> <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> facedetect min<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">-</span>width<span class="gtkdoc opt">=</span><span class="number">60</span> min<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">-</span>height<span class="gtkdoc opt">=</span><span class="number">60</span> <span class="gtkdoc opt">!</span> colorspace <span class="gtkdoc opt">!</span> xvimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Detect large faces on a smaller image
+
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.36.3.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.36.7.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -62,7 +202,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.36.3.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.36.7.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -120,6 +260,158 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-facedetect.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstFaceDetect-struct"></a><h3>struct GstFaceDetect</h3>
+<pre class="programlisting">struct GstFaceDetect;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceDetectUpdates"></a><h3>enum GstFaceDetectUpdates</h3>
+<p>Bus messages update scheme</p>
+<div class="refsect3">
+<a name="GstFaceDetectUpdates.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-FACEDETECT-UPDATES-EVERY-FRAME:CAPS"></a>GST_FACEDETECT_UPDATES_EVERY_FRAME</p></td>
+<td class="enum_member_description">
+<p>Send bus update messages for every frame</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-FACEDETECT-UPDATES-ON-CHANGE:CAPS"></a>GST_FACEDETECT_UPDATES_ON_CHANGE</p></td>
+<td class="enum_member_description">
+<p>Send bus update messages on change (face detected/not detected)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-FACEDETECT-UPDATES-ON-FACE:CAPS"></a>GST_FACEDETECT_UPDATES_ON_FACE</p></td>
+<td class="enum_member_description">
+<p>Send bus update messages when a face is detected</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-FACEDETECT-UPDATES-NONE:CAPS"></a>GST_FACEDETECT_UPDATES_NONE</p></td>
+<td class="enum_member_description">
+<p>No bus update messages</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-facedetect.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstFaceDetect--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#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Sets whether the detected faces should be highlighted in the output.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceDetect--eyes-profile"></a><h3>The <code class="literal">“eyes-profile”</code> property</h3>
+<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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceDetect--flags"></a><h3>The <code class="literal">“flags”</code> property</h3>
+<pre class="programlisting">  “flags”                    <span class="type">GstOpencvFaceDetectFlags</span></pre>
+<p>Flags to cvHaarDetectObjects.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: Do Canny edge detection to discard some regions</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceDetect--min-neighbors"></a><h3>The <code class="literal">“min-neighbors”</code> property</h3>
+<pre class="programlisting">  “min-neighbors”            <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Minimum number (minus 1) of neighbor rectangles that makes up an object.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 0</p>
+<p>Default value: 3</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceDetect--min-size-height"></a><h3>The <code class="literal">“min-size-height”</code> property</h3>
+<pre class="programlisting">  “min-size-height”          <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Minimum area height to be recognized as a face.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 0</p>
+<p>Default value: 30</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceDetect--min-size-width"></a><h3>The <code class="literal">“min-size-width”</code> property</h3>
+<pre class="programlisting">  “min-size-width”           <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Minimum area width to be recognized as a face.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 0</p>
+<p>Default value: 30</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceDetect--mouth-profile"></a><h3>The <code class="literal">“mouth-profile”</code> property</h3>
+<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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceDetect--nose-profile"></a><h3>The <code class="literal">“nose-profile”</code> property</h3>
+<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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceDetect--profile"></a><h3>The <code class="literal">“profile”</code> property</h3>
+<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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceDetect--scale-factor"></a><h3>The <code class="literal">“scale-factor”</code> property</h3>
+<pre class="programlisting">  “scale-factor”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>Factor by which the frame is scaled after each object scan.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [1.1,10]</p>
+<p>Default value: 1.25</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceDetect--updates"></a><h3>The <code class="literal">“updates”</code> property</h3>
+<pre class="programlisting">  “updates”                  <a class="link" href="gst-plugins-bad-plugins-facedetect.html#GstFaceDetectUpdates" title="enum GstFaceDetectUpdates"><span class="type">GstFaceDetectUpdates</span></a></pre>
+<p>When send update bus messages, if at all.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: Send update messages on every frame</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstFaceDetect--min-stddev"></a><h3>The <code class="literal">“min-stddev”</code> property</h3>
+<pre class="programlisting">  “min-stddev”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Minimum image average standard deviation: on images with standard deviation lesser than this value facedetection will not be performed. Setting this property help to save cpu and reduce false positives not performing face detection on images with little changes.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,255]</p>
+<p>Default value: 0</p>
+</div>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html b/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
index da74357..9c23870 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
@@ -15,7 +15,9 @@
 <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-gaussianblur.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-plugins-gaussianblur.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gaussianblur.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gaussianblur.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>
@@ -32,10 +34,49 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-gaussianblur.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-gaussianblur.html#GstGaussianBlur--sigma" title="The “sigma” property">sigma</a></td>
+<td class="property_flags">Read / Write</td>
+</tr></tbody>
+</table></div>
+</div>
+<a name="GstGaussianBlur"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-gaussianblur.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="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-gaussianblur.html#GstGaussianBlur">GstGaussianBlur</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gaussianblur.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-gstvideofilter.html#GstVideoFilter-struct">GstVideoFilter</a>
+                        <span class="lineart">╰──</span> GstGaussianBlur
+</pre>
+</div>
+<div class="refsect1">
 <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.3.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.40.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -51,7 +92,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.40.3.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.40.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -77,7 +118,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.40.3.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.40.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -135,6 +176,22 @@
 </div>
 <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>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gaussianblur.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGaussianBlur--sigma"></a><h3>The <code class="literal">“sigma”</code> property</h3>
+<pre class="programlisting">  “sigma”                    <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>Sigma value for gaussian blur (negative for sharpen).</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [-20,20]</p>
+<p>Default value: 1.2</p>
+</div>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html b/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
index 9de33f6..1c93d97 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
@@ -32,49 +32,6 @@
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
-<a name="gst-plugins-bad-plugins-jpegparse.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-plugins-jpegparse.html#GST-JPEG-PARSE:CAPS" title="GST_JPEG_PARSE()">GST_JPEG_PARSE</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-plugins-jpegparse.html#GST-JPEG-PARSE-CLASS:CAPS" title="GST_JPEG_PARSE_CLASS()">GST_JPEG_PARSE_CLASS</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-plugins-jpegparse.html#GST-IS-JPEG-PARSE:CAPS" title="GST_IS_JPEG_PARSE()">GST_IS_JPEG_PARSE</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-plugins-jpegparse.html#GST-IS-JPEG-PARSE-CLASS:CAPS" title="GST_IS_JPEG_PARSE_CLASS()">GST_IS_JPEG_PARSE_CLASS</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-plugins-jpegparse.html#gst-jpeg-parse-get-type" title="gst_jpeg_parse_get_type ()">gst_jpeg_parse_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
 <a name="GstJpegParse"></a><div class="refsect1">
 <a name="gst-plugins-bad-plugins-jpegparse.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -82,20 +39,10 @@
 <col width="150px" class="name">
 <col class="description">
 </colgroup>
-<tbody>
-<tr>
+<tbody><tr>
 <td class="datatype_keyword">struct</td>
 <td class="function_name"><a class="link" href="gst-plugins-bad-plugins-jpegparse.html#GstJpegParse-struct" title="struct GstJpegParse">GstJpegParse</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-jpegparse.html#GstJpegParseClass" title="struct GstJpegParseClass">GstJpegParseClass</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-jpegparse.html#GST-TYPE-JPEG-PARSE:CAPS" title="GST_TYPE_JPEG_PARSE">GST_TYPE_JPEG_PARSE</a></td>
-</tr>
-</tbody>
+</tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -115,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.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.41.6.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -133,7 +80,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.41.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.41.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -159,7 +106,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.41.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.41.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -213,31 +160,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-jpegparse.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="GST-JPEG-PARSE:CAPS"></a><h3>GST_JPEG_PARSE()</h3>
-<pre class="programlisting">#define             GST_JPEG_PARSE(obj)</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-JPEG-PARSE-CLASS:CAPS"></a><h3>GST_JPEG_PARSE_CLASS()</h3>
-<pre class="programlisting">#define             GST_JPEG_PARSE_CLASS(klass)</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-IS-JPEG-PARSE:CAPS"></a><h3>GST_IS_JPEG_PARSE()</h3>
-<pre class="programlisting">#define             GST_IS_JPEG_PARSE(obj)</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-IS-JPEG-PARSE-CLASS:CAPS"></a><h3>GST_IS_JPEG_PARSE_CLASS()</h3>
-<pre class="programlisting">#define             GST_IS_JPEG_PARSE_CLASS(klass)</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-jpeg-parse-get-type"></a><h3>gst_jpeg_parse_get_type ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
-gst_jpeg_parse_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-jpegparse.other_details"></a><h2>Types and Values</h2>
@@ -245,19 +168,6 @@
 <a name="GstJpegParse-struct"></a><h3>struct GstJpegParse</h3>
 <pre class="programlisting">struct GstJpegParse;</pre>
 </div>
-<hr>
-<div class="refsect2">
-<a name="GstJpegParseClass"></a><h3>struct GstJpegParseClass</h3>
-<pre class="programlisting">struct GstJpegParseClass {
-  GstBaseParseClass  parent_class;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-TYPE-JPEG-PARSE:CAPS"></a><h3>GST_TYPE_JPEG_PARSE</h3>
-<pre class="programlisting">#define             GST_TYPE_JPEG_PARSE</pre>
-</div>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html b/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
index eb82f2d..120e472 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
@@ -56,10 +56,13 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mimdec.description"></a><h2>Description</h2>
+<p>The MIMIC codec is used by MSN Messenger's webcam support. It consumes the
+TCP header for the MIMIC codec.</p>
+<p>Its fourcc is ML20.</p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.46.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.46.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -85,7 +88,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.46.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.46.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -152,6 +155,10 @@
 <pre class="programlisting">struct GstMimDec;</pre>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-mimdec.see-also"></a><h2>See Also</h2>
+<p>mimenc</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html b/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
index 529b3a3..cd037c5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
@@ -72,10 +72,19 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mimenc.description"></a><h2>Description</h2>
+<p>The MIMIC codec is used by MSN Messenger's webcam support. It creates the
+TCP header for the MIMIC codec.</p>
+<p>When using it to communicate directly with MSN Messenger, if the sender
+wants to stop sending, he has to send a special buffer every 4 seconds.
+When the "paused-mode" property is set to TRUE, if the element receives no
+buffer on its sink pad for 4 seconds, it will produced a special paused
+frame and will continue doing so every 4 seconds until a new buffer is
+u received on its sink pad.</p>
+<p>Its fourcc is ML20.</p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.45.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.45.7.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -101,7 +110,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.45.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.45.7.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -178,6 +187,10 @@
 <p>Default value: FALSE</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-mimenc.see-also"></a><h2>See Also</h2>
+<p>mimdec</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mirror.html b/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
index 594a684..cb7a150 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
@@ -42,7 +42,7 @@
 <col width="200px" class="properties_flags">
 </colgroup>
 <tbody><tr>
-<td class="property_type"><span class="type">GstMirrorMode</span></td>
+<td class="property_type"><a class="link" href="gst-plugins-bad-plugins-mirror.html#GstMirrorMode" title="enum GstMirrorMode"><span class="type">GstMirrorMode</span></a></td>
 <td class="property_name"><a class="link" href="gst-plugins-bad-plugins-mirror.html#GstMirror--mode" title="The “mode” property">mode</a></td>
 <td class="property_flags">Read / Write</td>
 </tr></tbody>
@@ -55,10 +55,16 @@
 <col width="150px" class="name">
 <col class="description">
 </colgroup>
-<tbody><tr>
+<tbody>
+<tr>
 <td class="datatype_keyword">struct</td>
 <td class="function_name"><a class="link" href="gst-plugins-bad-plugins-mirror.html#GstMirror-struct" title="struct GstMirror">GstMirror</a></td>
-</tr></tbody>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-mirror.html#GstMirrorMode" title="enum GstMirrorMode">GstMirrorMode</a></td>
+</tr>
+</tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -182,12 +188,48 @@
 <a name="GstMirror-struct"></a><h3>struct GstMirror</h3>
 <pre class="programlisting">struct GstMirror;</pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstMirrorMode"></a><h3>enum GstMirrorMode</h3>
+<div class="refsect3">
+<a name="GstMirrorMode.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-MIRROR-MODE-LEFT:CAPS"></a>GST_MIRROR_MODE_LEFT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MIRROR-MODE-RIGHT:CAPS"></a>GST_MIRROR_MODE_RIGHT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MIRROR-MODE-TOP:CAPS"></a>GST_MIRROR_MODE_TOP</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MIRROR-MODE-BOTTOM:CAPS"></a>GST_MIRROR_MODE_BOTTOM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mirror.property-details"></a><h2>Property Details</h2>
 <div class="refsect2">
 <a name="GstMirror--mode"></a><h3>The <code class="literal">“mode”</code> property</h3>
-<pre class="programlisting">  “mode”                     <span class="type">GstMirrorMode</span></pre>
+<pre class="programlisting">  “mode”                     <a class="link" href="gst-plugins-bad-plugins-mirror.html#GstMirrorMode" title="enum GstMirrorMode"><span class="type">GstMirrorMode</span></a></pre>
 <p>How to split the video frame and which side reflect.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: Split horizontally and reflect left into right</p>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-modplug.html b/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
index 547fcbb..b203366 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
@@ -130,10 +130,26 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-modplug.description"></a><h2>Description</h2>
+<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>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=</span><span class="number">1990</span>s<span class="gtkdoc opt">-</span>nostalgia<span class="gtkdoc opt">.</span>xm <span class="gtkdoc opt">!</span> modplug <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> alsasink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Play a FastTracker xm file.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.48.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.48.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -159,7 +175,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.48.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.48.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 2d391f1..d1801d4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html
@@ -246,10 +246,51 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpeg2enc.description"></a><h2>Description</h2>
+<p>This element encodes raw video into an MPEG-1/2 elementary stream using the</p>
+<a class="ulink" href="http://mjpeg.sourceforge.net/" target="_top">mjpegtools</a> library.
+<p>Documentation on MPEG encoding in general can be found in the </p>
+<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>
+<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 num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">1000</span> <span class="gtkdoc opt">!</span> mpeg2enc <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>videotestsrc<span class="gtkdoc opt">.</span>m1v</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This example pipeline will encode a test video source to a an MPEG1
+elementary stream (with Generic MPEG1 profile).
+<p>
+Likely, the <a class="link" href="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--format" title="The “format” property"><span class="type">“format”</span></a> property
+is most important, as it selects the type of MPEG stream that is produced.
+In particular, default property values are dependent on the format,
+and can even be forcibly restrained to certain pre-sets (and thereby ignored).
+Note that the (S)VCD profiles also restrict the image size, so some scaling
+may be needed to accomodate this.  The so-called generic profiles (as used
+in the example above) allow most parameters to be adjusted.
+</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> videotestsrc num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">1000</span> <span class="gtkdoc opt">!</span> videoscale <span class="gtkdoc opt">!</span> mpeg2enc format<span class="gtkdoc opt">=</span><span class="number">1</span> norm<span class="gtkdoc opt">=</span>p <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>videotestsrc<span class="gtkdoc opt">.</span>m1v</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This will produce an MPEG1 profile stream according to VCD2.0 specifications
+for PAL <a class="link" href="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--norm" title="The “norm” property"><span class="type">“norm”</span></a> (as the image height is dependent on video norm).
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.49.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.49.8.8.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -276,7 +317,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.49.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.49.8.8.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -630,6 +671,10 @@
 <p>Default value: 0</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-mpeg2enc.see-also"></a><h2>See Also</h2>
+<p>mpeg2dec</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html b/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html
index a1cb9e4..c59aae2 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html
@@ -15,9 +15,7 @@
 <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-mpegpsmux.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-mpegpsmux.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-mpegpsmux.properties" class="shortcut">Properties</a></span>
+                  <a href="#gst-plugins-bad-plugins-mpegpsmux.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>
@@ -34,35 +32,11 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="gst-plugins-bad-plugins-mpegpsmux.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-mpegpsmux.html#MpegPsMux--aggregate-gops" title="The “aggregate-gops” property">aggregate-gops</a></td>
-<td class="property_flags">Read / Write</td>
-</tr></tbody>
-</table></div>
-</div>
-<a name="MpegPsMux"></a><div class="refsect1">
-<a name="gst-plugins-bad-plugins-mpegpsmux.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> MpegPsMux
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpegpsmux.description"></a><h2>Description</h2>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.50.6.2.1"></a><h3>Element Information</h3>
+<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">
@@ -88,7 +62,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.50.6.2.2"></a><h3>Element Pads</h3>
+<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">
@@ -167,16 +141,6 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpegpsmux.other_details"></a><h2>Types and Values</h2>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-bad-plugins-mpegpsmux.property-details"></a><h2>Property Details</h2>
-<div class="refsect2">
-<a name="MpegPsMux--aggregate-gops"></a><h3>The <code class="literal">“aggregate-gops”</code> property</h3>
-<pre class="programlisting">  “aggregate-gops”           <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
-<p>Whether to aggregate GOPs and push them out as buffer lists.</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>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html b/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html
index 1b6e324..f953f29 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html
@@ -15,9 +15,7 @@
 <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-mpegtsmux.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-mpegtsmux.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-mpegtsmux.properties" class="shortcut">Properties</a></span>
+                  <a href="#gst-plugins-bad-plugins-mpegtsmux.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>
@@ -34,63 +32,11 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="gst-plugins-bad-plugins-mpegtsmux.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-mpegtsmux.html#MpegTsMux--m2ts-mode" title="The “m2ts-mode” property">m2ts-mode</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-mpegtsmux.html#MpegTsMux--prog-map" title="The “prog-map” property">prog-map</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-mpegtsmux.html#MpegTsMux--pat-interval" title="The “pat-interval” property">pat-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#guint"><span class="type">guint</span></a></td>
-<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-mpegtsmux.html#MpegTsMux--pmt-interval" title="The “pmt-interval” property">pmt-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#gint"><span class="type">gint</span></a></td>
-<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-mpegtsmux.html#MpegTsMux--alignment" title="The “alignment” property">alignment</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-mpegtsmux.html#MpegTsMux--si-interval" title="The “si-interval” property">si-interval</a></td>
-<td class="property_flags">Read / Write</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<a name="MpegTsMux"></a><div class="refsect1">
-<a name="gst-plugins-bad-plugins-mpegtsmux.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> MpegTsMux
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpegtsmux.description"></a><h2>Description</h2>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.51.6.2.1"></a><h3>Element Information</h3>
+<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">
@@ -116,7 +62,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.51.6.2.2"></a><h3>Element Pads</h3>
+<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">
@@ -227,59 +173,6 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpegtsmux.other_details"></a><h2>Types and Values</h2>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-bad-plugins-mpegtsmux.property-details"></a><h2>Property Details</h2>
-<div class="refsect2">
-<a name="MpegTsMux--m2ts-mode"></a><h3>The <code class="literal">“m2ts-mode”</code> property</h3>
-<pre class="programlisting">  “m2ts-mode”                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
-<p>Set to TRUE to output Blu-Ray disc format with 192 byte packets. FALSE for standard TS format with 188 byte packets.</p>
-<p>Flags: Read / Write</p>
-<p>Default value: FALSE</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="MpegTsMux--prog-map"></a><h3>The <code class="literal">“prog-map”</code> property</h3>
-<pre class="programlisting">  “prog-map”                 <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *</pre>
-<p>A GstStructure specifies the mapping from elementary streams to programs.</p>
-<p>Flags: Read / Write</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="MpegTsMux--pat-interval"></a><h3>The <code class="literal">“pat-interval”</code> property</h3>
-<pre class="programlisting">  “pat-interval”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
-<p>Set the interval (in ticks of the 90kHz clock) for writing out the PAT table.</p>
-<p>Flags: Read / Write</p>
-<p>Allowed values: &gt;= 1</p>
-<p>Default value: 9000</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="MpegTsMux--pmt-interval"></a><h3>The <code class="literal">“pmt-interval”</code> property</h3>
-<pre class="programlisting">  “pmt-interval”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
-<p>Set the interval (in ticks of the 90kHz clock) for writing out the PMT table.</p>
-<p>Flags: Read / Write</p>
-<p>Allowed values: &gt;= 1</p>
-<p>Default value: 9000</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="MpegTsMux--alignment"></a><h3>The <code class="literal">“alignment”</code> property</h3>
-<pre class="programlisting">  “alignment”                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
-<p>Number of packets per buffer (padded with dummy packets on EOS) (-1 = auto, 0 = all available packets, 7 for UDP streaming).</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="MpegTsMux--si-interval"></a><h3>The <code class="literal">“si-interval”</code> property</h3>
-<pre class="programlisting">  “si-interval”              <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
-<p>Set the interval (in ticks of the 90kHz clock) for writing out the ServiceInformation tables.</p>
-<p>Flags: Read / Write</p>
-<p>Allowed values: &gt;= 1</p>
-<p>Default value: 9000</p>
-</div>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mplex.html b/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
index 0fa961e..99bd156 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
@@ -104,10 +104,37 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mplex.description"></a><h2>Description</h2>
+<p>This element is an audio/video multiplexer for MPEG-1/2 video streams
+and (un)compressed audio streams such as AC3, MPEG layer I/II/III.
+It is based on the <a class="ulink" href="http://mjpeg.sourceforge.net/" target="_top">mjpegtools</a> library.
+Documentation on creating MPEG videos in general can be found in the</p>
+<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>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">1000</span> <span class="gtkdoc opt">!</span> mpeg2enc <span class="gtkdoc opt">!</span> mplex <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>videotestsrc<span class="gtkdoc opt">.</span>mpg</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This example pipeline will encode a test video source to an
+MPEG1 elementary stream and multiplexes this to an MPEG system stream.
+<p>
+If several streams are being multiplexed, there should (as usual) be
+a queue in each stream, and due to mplex' buffering the capacities of these
+may have to be set to a few times the default settings to prevent the
+pipeline stalling.
+</p>
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.52.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.52.7.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -135,7 +162,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.52.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.52.7.6.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -296,6 +323,10 @@
 <p>Default value: FALSE</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-mplex.see-also"></a><h2>See Also</h2>
+<p>mpeg2enc</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-ofa.html b/docs/plugins/html/gst-plugins-bad-plugins-ofa.html
index e38327c..7b8e945 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-ofa.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-ofa.html
@@ -165,6 +165,7 @@
 <div class="refsect2">
 <a name="GstOFA-struct"></a><h3>struct GstOFA</h3>
 <pre class="programlisting">struct GstOFA;</pre>
+<p>Opaque <a class="link" href="gst-plugins-bad-plugins-ofa.html#GstOFA"><span class="type">GstOFA</span></a> data structure</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html b/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html
index de88f4a..ebd948c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html
@@ -15,7 +15,9 @@
 <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-openalsink.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-plugins-openalsink.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-openalsink.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-openalsink.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>
@@ -27,16 +29,133 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-openalsink.top_of_page"></a>openalsink</span></h2>
-<p>openalsink</p>
+<p>openalsink — capture raw audio samples through OpenAL</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-openalsink.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-openalsink.html#GstOpenALSink--context-handle" title="The “context-handle” property">context-handle</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-openalsink.html#GstOpenALSink--device" title="The “device” property">device</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-openalsink.html#GstOpenALSink--device-handle" title="The “device-handle” property">device-handle</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-openalsink.html#GstOpenALSink--device-name" title="The “device-name” property">device-name</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#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-openalsink.html#GstOpenALSink--source-id" title="The “source-id” property">source-id</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-openalsink.html#GstOpenALSink--user-context" title="The “user-context” property">user-context</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-openalsink.html#GstOpenALSink--user-device" title="The “user-device” property">user-device</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-openalsink.html#GstOpenALSink--user-source" title="The “user-source” property">user-source</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstOpenALSink"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-openalsink.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-openalsink.html#GstOpenALSink-struct" title="struct GstOpenALSink">GstOpenALSink</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-openalsink.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-gstaudiobasesink.html#GstAudioBaseSink-struct">GstAudioBaseSink</a>
+                        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstaudiosink.html#GstAudioSink-struct">GstAudioSink</a>
+                            <span class="lineart">╰──</span> GstOpenALSink
+</pre>
+</div>
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-openalsink.description"></a><h2>Description</h2>
+<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>
+<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> audiotestsrc <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> volume volume<span class="gtkdoc opt">=</span><span class="number">0.5</span> <span class="gtkdoc opt">!</span> openalsink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ will play a sine wave (continuous beep sound) through OpenAL.
+<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> filesrc location<span class="gtkdoc opt">=</span>stream<span class="gtkdoc opt">.</span>wav <span class="gtkdoc opt">!</span> decodebin <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> openalsink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ will play a wav audio file through OpenAL.
+<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> openalsrc <span class="gtkdoc opt">!</span> <span class="string">&quot;audio/x-raw,format=S16LE,rate=44100&quot;</span> <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> volume volume<span class="gtkdoc opt">=</span><span class="number">0.25</span> <span class="gtkdoc opt">!</span> openalsink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ will capture and play audio through OpenAL.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.56.3.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.56.7.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -62,7 +181,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.56.3.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.56.7.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -108,6 +227,76 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-openalsink.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstOpenALSink-struct"></a><h3>struct GstOpenALSink</h3>
+<pre class="programlisting">struct GstOpenALSink;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-openalsink.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstOpenALSink--context-handle"></a><h3>The <code class="literal">“context-handle”</code> property</h3>
+<pre class="programlisting">  “context-handle”           <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></pre>
+<p>Custom playback context.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstOpenALSink--device"></a><h3>The <code class="literal">“device”</code> property</h3>
+<pre class="programlisting">  “device”                   <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Human-readable name of the device.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstOpenALSink--device-handle"></a><h3>The <code class="literal">“device-handle”</code> property</h3>
+<pre class="programlisting">  “device-handle”            <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></pre>
+<p>Custom playback device.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstOpenALSink--device-name"></a><h3>The <code class="literal">“device-name”</code> property</h3>
+<pre class="programlisting">  “device-name”              <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Human-readable name of the opened device.</p>
+<p>Flags: Read</p>
+<p>Default value: ""</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstOpenALSink--source-id"></a><h3>The <code class="literal">“source-id”</code> property</h3>
+<pre class="programlisting">  “source-id”                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Custom playback sID.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstOpenALSink--user-context"></a><h3>The <code class="literal">“user-context”</code> property</h3>
+<pre class="programlisting">  “user-context”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></pre>
+<p>User context.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstOpenALSink--user-device"></a><h3>The <code class="literal">“user-device”</code> property</h3>
+<pre class="programlisting">  “user-device”              <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></pre>
+<p>User device.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstOpenALSink--user-source"></a><h3>The <code class="literal">“user-source”</code> property</h3>
+<pre class="programlisting">  “user-source”              <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>User source.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-openalsink.see-also"></a><h2>See Also</h2>
+<p>openalsrc</p>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html
index ccb707e..c7305f9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-openalsrc.top_of_page"></a>openalsrc</span></h2>
-<p>openalsrc</p>
+<p>openalsrc — capture raw audio samples through OpenAL</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -85,10 +85,36 @@
 </div>
 <div class="refsect1">
 <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>
+<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 openalsrc <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> wavenc <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>stream<span class="gtkdoc opt">.</span>wav</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ * will capture sound through OpenAL and encode it to a wav file.
+<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> openalsrc <span class="gtkdoc opt">!</span> <span class="string">&quot;audio/x-raw,format=S16LE,rate=44100&quot;</span> <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> volume volume<span class="gtkdoc opt">=</span><span class="number">0.25</span> <span class="gtkdoc opt">!</span> openalsink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ will capture and play audio through OpenAL.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.55.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.55.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -114,7 +140,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.55.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.55.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -175,6 +201,10 @@
 <p>Default value: NULL</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-openalsrc.see-also"></a><h2>See Also</h2>
+<p>openalsink</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html b/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html
index 94c4de1..2d226c3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.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-opencvtextoverlay.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-opencvtextoverlay.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-opencvtextoverlay.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-opencvtextoverlay.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>
@@ -90,7 +91,7 @@
 </tbody>
 </table></div>
 </div>
-<a name="GstOpenalSrc"></a><div class="refsect1">
+<a name="GstOpencvTextOverlay"></a><div class="refsect1">
 <a name="gst-plugins-bad-plugins-opencvtextoverlay.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
@@ -99,16 +100,43 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay" title="struct GstOpencvTextOverlay">GstOpencvTextOverlay</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay-struct" title="struct GstOpencvTextOverlay">GstOpencvTextOverlay</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-opencvtextoverlay.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-gstvideofilter.html#GstVideoFilter-struct">GstVideoFilter</a>
+                        <span class="lineart">╰──</span> GstOpencvVideoFilter
+                            <span class="lineart">╰──</span> GstOpencvTextOverlay
+</pre>
+</div>
+<div class="refsect1">
 <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>
+<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> videoconvert <span class="gtkdoc opt">!</span> opencvtextoverlay text<span class="gtkdoc opt">=</span><span class="string">&quot;Opencv Text Overlay &quot;</span> <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> xvimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.75.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.74.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -134,7 +162,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.75.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.74.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -193,21 +221,8 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-opencvtextoverlay.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstOpencvTextOverlay"></a><h3>struct GstOpencvTextOverlay</h3>
-<pre class="programlisting">struct GstOpencvTextOverlay {
-  GstOpencvVideoFilter element;
-
-  CvFont font;
-
-  gint xpos;
-  gint ypos;
-  gint thickness;
-  gint colorR,colorG,colorB;
-  gdouble height;
-  gdouble width;
-  gchar *textbuf;
-};
-</pre>
+<a name="GstOpencvTextOverlay-struct"></a><h3>struct GstOpencvTextOverlay</h3>
+<pre class="programlisting">struct GstOpencvTextOverlay;</pre>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-pinch.html b/docs/plugins/html/gst-plugins-bad-plugins-pinch.html
index 98c87d4..c37a2e3 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-pyramidsegment.html" title="pyramidsegment">
+<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>
@@ -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-pyramidsegment.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></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-pinch"></a><div class="titlepage"></div>
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 0e035e2..b6987fd 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
index d5999ad..1e8a132 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html
index 639277e..a5d2bf5 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
index b726162..68929b1 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
index b9264d1..ed6da25 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
index 1469702..4b1a389 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html
index d7b3358..2b517a1 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.5.0.1</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -50,7 +50,7 @@
 </tr>
 <tr>
 <td><p><span class="term">package</span></p></td>
-<td>GStreamer Bad Plug-ins git</td>
+<td>GStreamer Bad Plug-ins source release</td>
 </tr>
 <tr>
 <td><p><span class="term">origin</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 7a91c0c..a9d4884 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
index 39e67ee..6319a4e 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
index 36b282b..79456c3 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
index 14bea76..08766ec 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
index 9db197f..7b26e80 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
index 08524c0..d6e71e3 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
index d9c3546..3471f7c 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
index 2acc772..e363b00 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
index 209042e..75e0e8c 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
index b4d009c..7e276ea 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
index 14d5490..13364ee 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
index 34f91f7..37c5c56 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
index 9b87ef5..ef80792 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
index fed18d5..6beadc7 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
index c9f80ce..a669ed8 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
index 00e5d7f..2d964df 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
index 88ef640..3c17ef0 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
index afbc16e..bae0b74 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
index 7595965..d7b50d9 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
index 4faae02..d481f32 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html
index d31ba61..529f46b 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
index a8fb5e4..da41389 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
index 50773ad..9db99e8 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-neon.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-neon.html
index 0f67c78..b9bf5bd 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-neon.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-neon.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.9.0.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -50,7 +50,7 @@
 </tr>
 <tr>
 <td><p><span class="term">package</span></p></td>
-<td>GStreamer Bad Plug-ins source release</td>
+<td>GStreamer Bad Plug-ins git</td>
 </tr>
 <tr>
 <td><p><span class="term">origin</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 12822ab..1b3b1ba 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
index bef5328..a0f187b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
index 4e42da0..b78a76d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.7.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -126,10 +126,6 @@
 <td>Write text on the top of video</td>
 </tr>
 <tr>
-<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-pyramidsegment.html" title="pyramidsegment">pyramidsegment</a></span></p></td>
-<td>Applies pyramid segmentation to a video or image.</td>
-</tr>
-<tr>
 <td><p><span class="term">retinex</span></p></td>
 <td>Multiscale retinex for colour image enhancement</td>
 </tr>
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 8df5b33..7763f8b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
index 4724f1d..fb60a89 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -72,6 +72,10 @@
 <td>Converts stream into audio frames</td>
 </tr>
 <tr>
+<td><p><span class="term">unalignedaudioparse</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-videoparse.html" title="videoparse">videoparse</a></span></p></td>
 <td>Converts stream into video frames</td>
 </tr>
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 cbed40f..27ae49c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
index f03437a..12ec18a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
index 1cb48a7..1a31961 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -66,10 +66,16 @@
 <col align="left" valign="top">
 <col>
 </colgroup>
-<tbody><tr>
+<tbody>
+<tr>
 <td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-sdpdemux.html" title="sdpdemux">sdpdemux</a></span></p></td>
 <td>Receive data over the network via SDP</td>
-</tr></tbody>
+</tr>
+<tr>
+<td><p><span class="term">sdpsrc</span></p></td>
+<td>Stream RTP based on an SDP</td>
+</tr>
+</tbody>
 </table></div>
 </div>
 </div>
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 f39ca41..dcff68b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
index f173608..4da2c41 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
index 2e422a7..dcc66da 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
index 1b6d684..a441485 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
index 260d115..a544592 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.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-voaacenc.html" title="voaacenc">
-<link rel="next" href="gst-plugins-bad-plugins-plugin-zbar.html" title="zbar">
+<link rel="next" href="gst-plugins-bad-plugins-plugin-webrtcdsp.html" title="webrtcdsp">
 <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-voaacenc.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-zbar.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-webrtcdsp.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-voamrwbenc"></a><div class="titlepage"></div>
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html
new file mode 100644
index 0000000..6cc06fd
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>webrtcdsp: 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-voamrwbenc.html" title="voamrwbenc">
+<link rel="next" href="gst-plugins-bad-plugins-plugin-zbar.html" title="zbar">
+<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-voamrwbenc.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-zbar.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-webrtcdsp"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle">webrtcdsp</span></h2>
+<p>webrtcdsp — <a name="plugin-webrtcdsp"></a>Voice pre-processing using WebRTC Audio Processing Library</p>
+</td>
+<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>
+<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>libgstwebrtcdsp.so</td>
+</tr>
+<tr>
+<td><p><span class="term">version</span></p></td>
+<td>1.9.0.1</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>WebRTCDsp</td>
+</tr>
+<tr>
+<td><p><span class="term">origin</span></p></td>
+<td>http://git.collabora.com</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<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">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-webrtcdsp.html" title="webrtcdsp">webrtcdsp</a></span></p></td>
+<td>Pre-processes voice with WebRTC Audio Processing Library</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-webrtcechoprobe.html" title="webrtcechoprobe">webrtcechoprobe</a></span></p></td>
+<td>Gathers playback buffers for webrtcdsp</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-zbar.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
index 084606c..b0621c0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.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-voamrwbenc.html" title="voamrwbenc">
+<link rel="prev" href="gst-plugins-bad-plugins-plugin-webrtcdsp.html" title="webrtcdsp">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -15,7 +15,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-voamrwbenc.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-webrtcdsp.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="refentry">
@@ -28,7 +28,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">
@@ -41,7 +41,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -59,7 +59,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-pyramidsegment.html b/docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html
deleted file mode 100644
index 441d404..0000000
--- a/docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html
+++ /dev/null
@@ -1,128 +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>pyramidsegment: 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-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-pyramidsegment.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-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-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-pyramidsegment"></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-pyramidsegment.top_of_page"></a>pyramidsegment</span></h2>
-<p>pyramidsegment</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<a name="GstPinch"></a><div class="refsect1">
-<a name="gst-plugins-bad-plugins-pyramidsegment.description"></a><h2>Description</h2>
-<div class="refsynopsisdiv">
-<h2>Synopsis</h2>
-<div class="refsect2">
-<a name="id-1.2.59.4.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-opencv.html#plugin-opencv">opencv</a>
-          </td>
-</tr>
-<tr>
-<td><p><span class="term">author</span></p></td>
-<td>Michael Sheldon &lt;mike@mikeasoft.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.4.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, format=(string)RGB, 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)RGB, 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-pyramidsegment.functions_details"></a><h2>Functions</h2>
-<p></p>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-plugins-pyramidsegment.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-rfbsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-rfbsrc.html
index 55d8fff..a1d31f2 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-pyramidsegment.html" title="pyramidsegment">
+<link rel="prev" href="gst-plugins-bad-plugins-pinch.html" title="pinch">
 <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-pyramidsegment.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></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-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.60.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.59.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.60.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.59.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 87df730..653803c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html
@@ -81,10 +81,29 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtmpsink.description"></a><h2>Description</h2>
+<p>This element delivers data to a streaming server via RTMP. It uses
+librtmp, and supports any protocols/urls that librtmp supports.
+The URL/location can contain extra connection or session parameters
+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>
+<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> ffenc_flv <span class="gtkdoc opt">!</span> flvmux <span class="gtkdoc opt">!</span> rtmpsink location<span class="gtkdoc opt">=</span><span class="string">'rtmp://localhost/path/to/stream live=1'</span></pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Encode a test video stream to FLV video format and stream it via RTMP.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.61.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.60.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -110,7 +129,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.61.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.60.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 8d36145..93c49d3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html
@@ -42,12 +42,19 @@
 <col width="300px" class="properties_name">
 <col width="200px" class="properties_flags">
 </colgroup>
-<tbody><tr>
+<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-rtmpsrc.html#GstRTMPSrc--location" title="The “location” property">location</a></td>
 <td class="property_flags">Read / Write</td>
-</tr></tbody>
+</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-rtmpsrc.html#GstRTMPSrc--timeout" title="The “timeout” property">timeout</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
 </table></div>
 </div>
 <a name="GstRTMPSrc"></a><div class="refsect1">
@@ -82,10 +89,27 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtmpsrc.description"></a><h2>Description</h2>
+<p>This plugin reads data from a local or remote location specified
+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>
+<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 rtmpsrc location<span class="gtkdoc opt">=</span>rtmp<span class="gtkdoc opt">:</span><span class="gtkdoc slc">//somehost/someurl ! fakesink</span></pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Open an RTMP location and pass its content to fakesink.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.62.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.61.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -111,7 +135,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.62.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.61.8.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -148,6 +172,7 @@
 <div class="refsect2">
 <a name="GstRTMPSrc-struct"></a><h3>struct GstRTMPSrc</h3>
 <pre class="programlisting">struct GstRTMPSrc;</pre>
+<p>Opaque data structure.</p>
 </div>
 </div>
 <div class="refsect1">
@@ -159,6 +184,15 @@
 <p>Flags: Read / Write</p>
 <p>Default value: NULL</p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstRTMPSrc--timeout"></a><h3>The <code class="literal">“timeout”</code> property</h3>
+<pre class="programlisting">  “timeout”                  <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Time without receiving any data from the server to wait before to timeout the session.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 0</p>
+<p>Default value: 120</p>
+</div>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html b/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html
index f6e9eb4..88aac0c 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.65.8.5"></a><h3>Example launch line</h3>
+<a name="id-1.2.64.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.65.8.6.1"></a><h3>Element Information</h3>
+<a name="id-1.2.64.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.65.8.6.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.64.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 791d2be..3021921 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html
@@ -119,10 +119,25 @@
 </div>
 <div class="refsect1">
 <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>
+<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>  shmsink socket<span class="gtkdoc opt">-</span>path<span class="gtkdoc opt">=/</span>tmp<span class="gtkdoc opt">/</span>blah shm<span class="gtkdoc opt">-</span>size<span class="gtkdoc opt">=</span><span class="number">1000000</span></pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Send video to shm buffers.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.63.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.62.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -148,7 +163,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.63.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.62.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 2361a73..3779d7d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html
@@ -88,10 +88,29 @@
 </div>
 <div class="refsect1">
 <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>
+<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> shmsrc socket<span class="gtkdoc opt">-</span>path<span class="gtkdoc opt">=/</span>tmp<span class="gtkdoc opt">/</span>blah <span class="gtkdoc opt">!</span> \
+<span class="string">&quot;video/x-yuv, format=YUY2, color-matrix=sdtv, \</span>
+<span class="string">chroma-site=mpeg2, width=(int)320, height=(int)240, framerate=(fraction)30/1&quot;</span> <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Render video from shm buffers.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.64.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.63.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -117,7 +136,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.64.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.63.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 60a28e3..68e1283 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.66.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.65.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.66.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.65.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.66.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.65.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 6b42299..a6f590f 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.67.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.66.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.67.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.66.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.67.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.66.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 4fa8dc7..a8f954d 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.68.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.67.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.67.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.67.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 589073e..e99cf76 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.70.7.4"></a><h3>Example launch line</h3>
+<a name="id-1.2.69.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.70.7.5.1"></a><h3>Element Information</h3>
+<a name="id-1.2.69.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.70.7.5.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.69.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 c37c2c6..870d652 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.71.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.70.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.71.7.4.1"></a><h3>Element Information</h3>
+<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">
@@ -120,7 +120,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.70.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 d80e942..96e6026 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.72.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.71.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.72.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.71.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.72.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.71.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 2efd75b..72faba4 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.73.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.72.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.73.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.72.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.73.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.72.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 2c8b34e..f5dbbc6 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.69.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.68.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.69.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.68.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.69.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.68.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 1af6a1b..64c6956 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-templatematch.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-templatematch.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-templatematch.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-templatematch.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-templatematch.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>
@@ -60,7 +61,7 @@
 </tbody>
 </table></div>
 </div>
-<a name="GstSynaeScope"></a><div class="refsect1">
+<a name="GstTemplateMatch"></a><div class="refsect1">
 <a name="gst-plugins-bad-plugins-templatematch.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
@@ -69,16 +70,43 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch" title="struct GstTemplateMatch">GstTemplateMatch</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch-struct" title="struct GstTemplateMatch">GstTemplateMatch</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-templatematch.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-gstvideofilter.html#GstVideoFilter-struct">GstVideoFilter</a>
+                        <span class="lineart">╰──</span> GstOpencvVideoFilter
+                            <span class="lineart">╰──</span> GstTemplateMatch
+</pre>
+</div>
+<div class="refsect1">
 <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>
+<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> decodebin <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> templatematch <span class="gtkdoc kwc">template</span><span class="gtkdoc opt">=/</span>path<span class="gtkdoc opt">/</span>to<span class="gtkdoc opt">/</span>file<span class="gtkdoc opt">.</span>jpg <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> xvimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.74.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.73.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -104,7 +132,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.74.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.73.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -163,18 +191,8 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-templatematch.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstTemplateMatch"></a><h3>struct GstTemplateMatch</h3>
-<pre class="programlisting">struct GstTemplateMatch {
-  GstOpencvVideoFilter element;
-
-  gint method;
-  gboolean display;
-
-  gchar *templ;
-
-  IplImage *cvGray, *cvTemplateImage, *cvDistImage;
-};
-</pre>
+<a name="GstTemplateMatch-struct"></a><h3>struct GstTemplateMatch</h3>
+<pre class="programlisting">struct GstTemplateMatch;</pre>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html b/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html
index 891d87b..53a75bf 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.76.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.75.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.76.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.75.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.76.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.75.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 ec9e38b..6eb025a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-twirl.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-twirl.html
@@ -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.77.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.76.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.77.7.4.1"></a><h3>Element Information</h3>
+<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">
@@ -120,7 +120,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.77.7.4.2"></a><h3>Element Pads</h3>
+<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">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html b/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
index 8ef7792..c7114ff 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
@@ -161,7 +161,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.78.7.3.1"></a><h3>Element Information</h3>
+<a name="id-1.2.77.7.3.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -187,7 +187,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.78.7.3.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.77.7.3.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html b/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
index 6d37c53..81a9dcb 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
@@ -80,10 +80,26 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-voaacenc.description"></a><h2>Description</h2>
+<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>
+<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> filesrc location<span class="gtkdoc opt">=</span>abc<span class="gtkdoc opt">.</span>wav <span class="gtkdoc opt">!</span> wavparse <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> voaacenc <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>abc<span class="gtkdoc opt">.</span>aac</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.81.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.80.8.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -109,7 +125,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.81.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.80.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 4458aeb..ea54875 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html
@@ -15,7 +15,10 @@
 <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-voamrwbenc.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-plugins-voamrwbenc.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-voamrwbenc.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-voamrwbenc.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-voamrwbenc.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>
@@ -32,11 +35,73 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-voamrwbenc.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">GstVoAmrWbEncBandMode</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-voamrwbenc.html#GstVoAmrWbEnc--band-mode" title="The “band-mode” property">band-mode</a></td>
+<td class="property_flags">Read / Write / Construct</td>
+</tr></tbody>
+</table></div>
+</div>
+<a name="GstVoAmrWbEnc"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-voamrwbenc.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-voamrwbenc.html#GstVoAmrWbEnc-struct" title="struct GstVoAmrWbEnc">GstVoAmrWbEnc</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-voamrwbenc.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-base-libs-1.0gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder-struct">GstAudioEncoder</a>
+                    <span class="lineart">╰──</span> GstVoAmrWbEnc
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-voamrwbenc.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstVoAmrWbEnc implements
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPreset.html#GstPreset-struct">GstPreset</a>.</p>
+</div>
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-voamrwbenc.description"></a><h2>Description</h2>
+<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>
+<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 filesrc location<span class="gtkdoc opt">=</span>abc<span class="gtkdoc opt">.</span>wav <span class="gtkdoc opt">!</span> wavparse <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> voamrwbenc <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>abc<span class="gtkdoc opt">.</span>amr</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+Please note that the above stream misses the header, that is needed to play
+the stream.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.82.3.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.81.8.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -62,7 +127,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.82.3.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.81.8.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -120,6 +185,24 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-voamrwbenc.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstVoAmrWbEnc-struct"></a><h3>struct GstVoAmrWbEnc</h3>
+<pre class="programlisting">struct GstVoAmrWbEnc;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-voamrwbenc.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstVoAmrWbEnc--band-mode"></a><h3>The <code class="literal">“band-mode”</code> property</h3>
+<pre class="programlisting">  “band-mode”                <span class="type">GstVoAmrWbEncBandMode</span></pre>
+<p>Encoding Band Mode (Kbps).</p>
+<p>Flags: Read / Write / Construct</p>
+<p>Default value: MR660</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-voamrwbenc.see-also"></a><h2>See Also</h2>
+<p><span class="type">GstAmrWbDec</span>, <span class="type">GstAmrWbParse</span></p>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html b/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html
index 9df7ce9..1f52f73 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.79.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.78.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.79.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.78.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.79.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.78.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 dcbbce4..fcbded3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-wavescope.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-voamrwbenc.html" title="voamrwbenc">
-<link rel="next" href="ch02.html" title="gst-plugins-bad Plugins">
+<link rel="next" href="gst-plugins-bad-plugins-webrtcdsp.html" title="webrtcdsp">
 <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-voamrwbenc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="ch02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-webrtcdsp.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-wavescope"></a><div class="titlepage"></div>
@@ -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.83.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.82.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.83.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.82.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.83.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.82.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
new file mode 100644
index 0000000..3640c08
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-webrtcdsp.html
@@ -0,0 +1,330 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>webrtcdsp: 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-wavescope.html" title="wavescope">
+<link rel="next" href="gst-plugins-bad-plugins-webrtcechoprobe.html" title="webrtcechoprobe">
+<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-webrtcdsp.description" class="shortcut">Description</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>
+<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-wavescope.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-webrtcechoprobe.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-webrtcdsp"></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-webrtcdsp.top_of_page"></a>webrtcdsp</span></h2>
+<p>webrtcdsp — Audio Filter using WebRTC Audio Processing library</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-webrtcdsp.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-webrtcdsp.html#GstWebrtcDsp--echo-cancel" title="The “echo-cancel” property">echo-cancel</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--experimental-agc" title="The “experimental-agc” property">experimental-agc</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--extended-filter" title="The “extended-filter” property">extended-filter</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--gain-control" title="The “gain-control” property">gain-control</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--high-pass-filter" title="The “high-pass-filter” property">high-pass-filter</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--noise-suppression" title="The “noise-suppression” property">noise-suppression</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#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp--probe" title="The “probe” property">probe</a></td>
+<td class="property_flags">Read / Write / Construct</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstWebrtcEchoSuppressionLevel</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp--echo-suppression-level" title="The “echo-suppression-level” property">echo-suppression-level</a></td>
+<td class="property_flags">Read / Write / Construct</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstWebrtcNoiseSuppressionLevel</span></td>
+<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>
+</tbody>
+</table></div>
+</div>
+<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>
+<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-webrtcdsp.html#GstWebrtcDsp" title="GstWebrtcDsp">GstWebrtcDsp</a></td>
+</tr></tbody>
+</table></div>
+</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
+tries to enable as much as possible. The currently enabled enhancements are
+High Pass Filter, Echo Canceller, Noise Suppression, Automatic Gain Control,
+and some extended filters.</p>
+<p>While webrtcdsp element can be used alone, there is an exception for the
+echo canceller. The audio canceller need to be aware of the far end streams
+that are played to loud speakers. For this, you must place a webrtcechoprobe
+element at that far end. Note that the sample rate must match between
+webrtcdsp and the webrtechoprobe. Though, the number of channels can differ.
+The probe is found by the DSP element using it's object name. By default,
+webrtcdsp looks for webrtcechoprobe0, which means it just work if you have
+a single probe and DSP.</p>
+<p>The probe can only be used within the same top level GstPipeline.
+Additonally, to simplify the code, the probe element must be created
+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>
+<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">
+  <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> pulsesrc <span class="gtkdoc opt">!</span> webrtcdsp <span class="gtkdoc opt">!</span> webrtcechoprobe <span class="gtkdoc opt">!</span> pulsesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+<p></p>
+<p>In real environment, you'll place the probe before the playback, but only
+process the far end streams. The DSP should be placed as close as possible
+to the audio capture. The following pipeline is astracted and does not
+represent a real pipeline.</p>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1
+2</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> far<span class="gtkdoc opt">-</span>end<span class="gtkdoc opt">-</span>src <span class="gtkdoc opt">!</span> audio<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span>rate<span class="gtkdoc opt">=</span><span class="number">48000</span> <span class="gtkdoc opt">!</span> webrtcechoprobe <span class="gtkdoc opt">!</span> pulsesink \
+               pulsesrc <span class="gtkdoc opt">!</span> audio<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span>rate<span class="gtkdoc opt">=</span><span class="number">48000</span> <span class="gtkdoc opt">!</span> webrtcdsp <span class="gtkdoc opt">!</span> far<span class="gtkdoc opt">-</span>end<span class="gtkdoc opt">-</span>sink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+<p></p>
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.83.5.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-webrtcdsp.html#plugin-webrtcdsp">webrtcdsp</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Nicolas Dufresne &lt;nicolas.dufresne@collabora.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Generic/Audio</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.83.5.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</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-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int){ 48000, 32000, 16000, 8000 }, 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)S16LE, layout=(string)interleaved, rate=(int){ 48000, 32000, 16000, 8000 }, channels=(int)[ 1, 2147483647 ]</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-webrtcdsp.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<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>
+<pre class="programlisting">typedef struct _GstWebrtcDsp GstWebrtcDsp;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-webrtcdsp.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstWebrtcDsp--echo-cancel"></a><h3>The <code class="literal">“echo-cancel”</code> property</h3>
+<pre class="programlisting">  “echo-cancel”              <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Enable or disable echo canceller, note that it will be disabled if no webrtcechoprobe has been found.</p>
+<p>Flags: Read / Write / Construct</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstWebrtcDsp--experimental-agc"></a><h3>The <code class="literal">“experimental-agc”</code> property</h3>
+<pre class="programlisting">  “experimental-agc”         <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Enable or disable experimental automatic gain control.</p>
+<p>Flags: Read / Write / Construct</p>
+<p>Default value: FALSE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstWebrtcDsp--extended-filter"></a><h3>The <code class="literal">“extended-filter”</code> property</h3>
+<pre class="programlisting">  “extended-filter”          <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Enable or disable the extended filter.</p>
+<p>Flags: Read / Write / Construct</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstWebrtcDsp--gain-control"></a><h3>The <code class="literal">“gain-control”</code> property</h3>
+<pre class="programlisting">  “gain-control”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Enable or disable automatic digital gain control.</p>
+<p>Flags: Read / Write / Construct</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstWebrtcDsp--high-pass-filter"></a><h3>The <code class="literal">“high-pass-filter”</code> property</h3>
+<pre class="programlisting">  “high-pass-filter”         <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Enable or disable high pass filtering.</p>
+<p>Flags: Read / Write / Construct</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstWebrtcDsp--noise-suppression"></a><h3>The <code class="literal">“noise-suppression”</code> property</h3>
+<pre class="programlisting">  “noise-suppression”        <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Enable or disable noise suppression.</p>
+<p>Flags: Read / Write / Construct</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstWebrtcDsp--probe"></a><h3>The <code class="literal">“probe”</code> property</h3>
+<pre class="programlisting">  “probe”                    <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>The name of the webrtcechoprobe element that record the audio being played through loud speakers. Must be set before PAUSED state.</p>
+<p>Flags: Read / Write / Construct</p>
+<p>Default value: "webrtcechoprobe0"</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstWebrtcDsp--echo-suppression-level"></a><h3>The <code class="literal">“echo-suppression-level”</code> property</h3>
+<pre class="programlisting">  “echo-suppression-level”   <span class="type">GstWebrtcEchoSuppressionLevel</span></pre>
+<p>Controls the aggressiveness of the suppressor. A higher level trades off double-talk performance for increased echo suppression.</p>
+<p>Flags: Read / Write / Construct</p>
+<p>Default value: Moderate Suppression</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstWebrtcDsp--noise-suppression-level"></a><h3>The <code class="literal">“noise-suppression-level”</code> property</h3>
+<pre class="programlisting">  “noise-suppression-level”  <span class="type">GstWebrtcNoiseSuppressionLevel</span></pre>
+<p>Controls the aggressiveness of the suppression. Increasing the level will reduce the noise level at the expense of a higher speech distortion.</p>
+<p>Flags: Read / Write / Construct</p>
+<p>Default value: Moderate Suppression</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-webrtcechoprobe.html b/docs/plugins/html/gst-plugins-bad-plugins-webrtcechoprobe.html
new file mode 100644
index 0000000..2b8d2f3
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-webrtcechoprobe.html
@@ -0,0 +1,170 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>webrtcechoprobe: 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-webrtcdsp.html" title="webrtcdsp">
+<link rel="next" href="ch02.html" title="gst-plugins-bad Plugins">
+<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-webrtcechoprobe.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-webrtcdsp.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch02.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-webrtcechoprobe"></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-webrtcechoprobe.top_of_page"></a>webrtcechoprobe</span></h2>
+<p>webrtcechoprobe</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<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>
+<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-webrtcechoprobe.html#GstWebrtcEchoProbe" title="struct GstWebrtcEchoProbe">GstWebrtcEchoProbe</a></td>
+</tr></tbody>
+</table></div>
+</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>
+<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-webrtcdsp.html#plugin-webrtcdsp">webrtcdsp</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Nicolas Dufresne &lt;nicolas.dufrsesne@collabora.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Generic/Audio</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.84.4.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>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-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int){ 48000, 32000, 16000, 8000 }, 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)S16LE, layout=(string)interleaved, rate=(int){ 48000, 32000, 16000, 8000 }, channels=(int)[ 1, 2147483647 ]</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-webrtcechoprobe.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<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>
+<p>The adder object structure.</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-zbar.html b/docs/plugins/html/gst-plugins-bad-plugins-zbar.html
index 1a7b0a1..b9b70e8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-zbar.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-zbar.html
@@ -86,10 +86,71 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-zbar.description"></a><h2>Description</h2>
+<p>Detect bar codes in the video streams and send them as element messages to
+the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBus.html#GstBus-struct"><span class="type">GstBus</span></a> if .<a class="link" href="gst-plugins-bad-plugins-zbar.html#GstZBar--message" title="The “message” property"><span class="type">“message”</span></a> property is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.
+If the .<a class="link" href="gst-plugins-bad-plugins-zbar.html#GstZBar--attach-frame" title="The “attach-frame” property"><span class="type">“attach-frame”</span></a> property is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the posted barcode message
+includes a sample of the frame where the barcode was detected (Since 1.6).</p>
+<p>The element generate messages named</p>
+<code class="classname">"barcode"</code>. The structure containes these
+<p>fields:</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+  <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a>
+  <code class="classname">"timestamp"</code>:
+  the timestamp of the buffer that triggered the message.
+  </p></li>
+<li class="listitem"><p>
+  gchar*
+  <code class="classname">"type"</code>:
+  the symbol type.
+  </p></li>
+<li class="listitem"><p>
+  gchar*
+  <code class="classname">"symbol"</code>:
+  the deteted bar code data.
+  </p></li>
+<li class="listitem"><p>
+  gint
+  <code class="classname">"quality"</code>:
+  an unscaled, relative quantity: larger values are better than smaller
+  values.
+  </p></li>
+<li class="listitem"><p>
+  GstSample
+  <code class="classname">"frame"</code>:
+  the frame in which the barcode message was detected, if
+  the .<a class="link" href="gst-plugins-bad-plugins-zbar.html#GstZBar--attach-frame" title="The “attach-frame” property"><span class="type">“attach-frame”</span></a> property was set to <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> (Since 1.6)
+  </p></li>
+</ul></div>
+<div class="refsect2">
+<a name="id-1.2.79.7.7"></a><h3>Example launch lines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>m v4l2src <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> zbar <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> xvimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This pipeline will detect barcodes and send them as messages.
+<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>m v4l2src <span class="gtkdoc opt">!</span> tee name<span class="gtkdoc opt">=</span>t <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> zbar <span class="gtkdoc opt">!</span> fakesink t<span class="gtkdoc opt">. !</span> queue <span class="gtkdoc opt">!</span> xvimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Same as above, but running the filter on a branch to keep the display in color
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.80.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.79.7.8.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -115,7 +176,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.80.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.79.7.8.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -176,6 +237,7 @@
 <div class="refsect2">
 <a name="GstZBar-struct"></a><h3>struct GstZBar</h3>
 <pre class="programlisting">struct GstZBar;</pre>
+<p>Opaque data structure.</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 6b8ac0c..5e5d60a 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.8.2)
+      for GStreamer Bad Plugins 1.0 (1.9.1)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad/html/</a>.
     </p></div>
@@ -101,7 +101,7 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-dodge.html">dodge</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-dtmfdetect.html">dtmfdetect</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-dtmfdetect.html">dtmfdetect</a></span><span class="refpurpose"> — Detects DTMF tones</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-dtsdec.html">dtsdec</a></span><span class="refpurpose"></span>
@@ -185,10 +185,10 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-ofa.html">ofa</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-openalsrc.html">openalsrc</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-openalsrc.html">openalsrc</a></span><span class="refpurpose"> — capture raw audio samples through OpenAL</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-openalsink.html">openalsink</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-openalsink.html">openalsink</a></span><span class="refpurpose"> — capture raw audio samples through OpenAL</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-pcapparse.html">pcapparse</a></span><span class="refpurpose"></span>
@@ -197,9 +197,6 @@
 <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-pyramidsegment.html">pyramidsegment</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>
@@ -271,6 +268,12 @@
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-wavescope.html">wavescope</a></span><span class="refpurpose"></span>
 </dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-webrtcdsp.html">webrtcdsp</a></span><span class="refpurpose"> — Audio Filter using WebRTC Audio Processing library</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-webrtcechoprobe.html">webrtcechoprobe</a></span><span class="refpurpose"></span>
+</dt>
 </dl></dd>
 <dt><span class="chapter"><a href="ch02.html">gst-plugins-bad Plugins</a></span></dt>
 <dd><dl>
@@ -407,6 +410,9 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-voamrwbenc.html">voamrwbenc</a></span><span class="refpurpose"> — Adaptive Multi-Rate Wide-Band Encoder</span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-webrtcdsp.html">webrtcdsp</a></span><span class="refpurpose"> — Voice pre-processing using WebRTC Audio Processing Library</span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-zbar.html">zbar</a></span><span class="refpurpose"> — zbar barcode scanner</span>
 </dt>
 </dl></dd>
diff --git a/docs/plugins/inspect/plugin-accurip.xml b/docs/plugins/inspect/plugin-accurip.xml
index 8fc2e94..56f50b1 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.8.2</version>
+  <version>1.9.1</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 0129788..4ceacf3 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.8.2</version>
+  <version>1.9.1</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 4a7c796..ded555d 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.8.2</version>
+  <version>1.9.1</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 c8056d9..7e23d08 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-androidcamera.xml b/docs/plugins/inspect/plugin-androidcamera.xml
deleted file mode 100644
index c9417ca..0000000
--- a/docs/plugins/inspect/plugin-androidcamera.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<plugin>
-  <name>androidcamera</name>
-  <description>Capture from Android cameras</description>
-  <filename>../../sys/androidcamera/.libs/libgstandroidcamera.so</filename>
-  <basename>libgstandroidcamera.so</basename>
-  <version>0.10.22.1</version>
-  <license>LGPL</license>
-  <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
-  <origin>Unknown package origin</origin>
-  <elements>
-    <element>
-      <name>ahcsrc</name>
-      <longname>Android Camera Source</longname>
-      <class>Source/Video</class>
-      <description>Reads frames from android.hardware.Camera class into buffers</description>
-      <author>Youness Alaoui &lt;youness.alaoui@collabora.co.uk&gt;</author>
-      <pads>
-        <caps>
-          <name>src</name>
-          <direction>source</direction>
-          <presence>always</presence>
-          <details>video/x-raw-yuv, format=(fourcc) { YV12 , YUY2 , NV21 , NV16 }, width=(int) [ 1, 2147483647 ], height=(int) [ 1, 2147483647 ], framerate=(fraction) [ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)16, depth=(int)16, red_mask=(int)63488, green_mask=(int)2016, blue_mask=(int)31, width=(int) [ 1, 2147483647 ], height=(int) [ 1, 2147483647 ], framerate=(fraction) [ 0/1, 2147483647/1 ] </details>
-        </caps>
-      </pads>
-    </element>
-  </elements>
-</plugin>
diff --git a/docs/plugins/inspect/plugin-asfmux.xml b/docs/plugins/inspect/plugin-asfmux.xml
index 5dbfd8f..5a4225e 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.8.2</version>
+  <version>1.9.1</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 fb09c91..a5bac02 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -26,13 +26,13 @@
           <name>video_sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-audiofxbad.xml b/docs/plugins/inspect/plugin-audiofxbad.xml
index c414d0e..1752981 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.8.2</version>
+  <version>1.9.1</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 a7e80f8..1c6bdf8 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.8.2</version>
+  <version>1.9.1</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 aa1fa68..16915a4 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.8.2</version>
+  <version>1.9.1</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 6afa18d..0ee28c9 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.8.2</version>
+  <version>1.9.1</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 2be3e4b..10b40fb 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.8.2</version>
+  <version>1.9.1</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 a4352f2..b469113 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.8.2</version>
+  <version>1.9.1</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 c646cbe..79783b2 100644
--- a/docs/plugins/inspect/plugin-bs2b.xml
+++ b/docs/plugins/inspect/plugin-bs2b.xml
@@ -3,16 +3,16 @@
   <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.5.0.1</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
       <name>bs2b</name>
       <longname>Crossfeed effect</longname>
-      <class>Effect/Audio</class>
+      <class>Filter/Effect/Audio</class>
       <description>Improve headphone listening of stereo audio records using the bs2b library.</description>
       <author>Christoph Reiter &lt;reiter.christoph@gmail.com&gt;</author>
       <pads>
diff --git a/docs/plugins/inspect/plugin-bz2.xml b/docs/plugins/inspect/plugin-bz2.xml
index ce410e0..5c74efe 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.8.2</version>
+  <version>1.9.1</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 8685c14..69afef5 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.8.2</version>
+  <version>1.9.1</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 3a84ad5..7c0e151 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.8.2</version>
+  <version>1.9.1</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 7e093c5..ea66574 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.8.2</version>
+  <version>1.9.1</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 7370c18..cc022ad 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.8.2</version>
+  <version>1.9.1</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 a71d5e9..2c0156f 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.8.2</version>
+  <version>1.9.1</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 2d95487..7ef13c1 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.8.2</version>
+  <version>1.9.1</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 bc31934..6de40ea 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.8.2</version>
+  <version>1.9.1</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
new file mode 100644
index 0000000..32e586b
--- /dev/null
+++ b/docs/plugins/inspect/plugin-dc1394.xml
@@ -0,0 +1,28 @@
+<plugin>
+  <name>dc1394</name>
+  <description>1394 IIDC video source</description>
+  <filename>../../ext/dc1394/.libs/libgstdc1394.so</filename>
+  <basename>libgstdc1394.so</basename>
+  <version>1.9.1</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>dc1394src</name>
+      <longname>1394 IIDC Video Source</longname>
+      <class>Source/Video</class>
+      <description>libdc1394 based source for IIDC cameras</description>
+      <author>Antoine Tremblay &lt;hexa00@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string)IYU2, width=(int)160, height=(int)120, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)UYVY, width=(int)320, height=(int)240, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)IYU1, width=(int)640, height=(int)480, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)UYVY, width=(int)640, height=(int)480, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)RGB, width=(int)640, height=(int)480, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)GRAY8, width=(int)640, height=(int)480, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)640, height=(int)480, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)GRAY16_BE, width=(int)640, height=(int)480, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)UYVY, width=(int)800, height=(int)600, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)RGB, width=(int)800, height=(int)600, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)GRAY8, width=(int)800, height=(int)600, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)800, height=(int)600, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)UYVY, width=(int)1024, height=(int)768, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)RGB, width=(int)1024, height=(int)768, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)GRAY8, width=(int)1024, height=(int)768, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)1024, height=(int)768, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)GRAY16_BE, width=(int)800, height=(int)600, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)GRAY16_BE, width=(int)1024, height=(int)768, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)960, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)RGB, width=(int)1280, height=(int)960, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)GRAY8, width=(int)1280, height=(int)960, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)1280, height=(int)960, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)UYVY, width=(int)1600, height=(int)1200, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)RGB, width=(int)1600, height=(int)1200, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)GRAY8, width=(int)1600, height=(int)1200, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)1600, height=(int)1200, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)GRAY16_BE, width=(int)1280, height=(int)960, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)GRAY16_BE, width=(int)1600, height=(int)1200, framerate=(fraction){ 15/8, 15/4, 15/2, 15/1, 30/1, 60/1, 120/1, 240/1 }; video/x-raw, format=(string)RGB, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 1/2147483647, 2147483647/1 ]; video/x-raw, format=(string)IYU2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 1/2147483647, 2147483647/1 ]; video/x-raw, format=(string)UYVY, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 1/2147483647, 2147483647/1 ]; video/x-raw, format=(string)IYU1, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 1/2147483647, 2147483647/1 ]; video/x-raw, format=(string)GRAY16_BE, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 1/2147483647, 2147483647/1 ]; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 1/2147483647, 2147483647/1 ]; video/x-raw, format=(string)GRAY8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 1/2147483647, 2147483647/1 ]; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 1/2147483647, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-debugutilsbad.xml b/docs/plugins/inspect/plugin-debugutilsbad.xml
index 7490c86..f34e4d2 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.8.2</version>
+  <version>1.9.1</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 2425ed4..142bfab 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
@@ -50,7 +50,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB</details>
+          <details>video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)BGRA</details>
         </caps>
       </pads>
     </element>
@@ -65,7 +65,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)24000/1001, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)24000/1001, format=(string)ARGB; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)ARGB</details>
+          <details>video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)v210; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)BGRA; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)24000/1001, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)24000/1001, format=(string)v210; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)24000/1001, format=(string)ARGB; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)24000/1001, format=(string)BGRA; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)v210; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)BGRA; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)v210; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)BGRA; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)v210; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30/1, format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30/1, format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)BGRA; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)v210; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)BGRA; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)v210; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)BGRA; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)v210; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)BGRA; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)v210; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)BGRA; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)v210; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)BGRA; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)v210; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)BGRA; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)v210; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)BGRA; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)v210; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)BGRA</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-dfbvideosink.xml b/docs/plugins/inspect/plugin-dfbvideosink.xml
index 87950eb..cc5f7bd 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.8.2</version>
+  <version>1.9.1</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 51f6f54..f5842d9 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.8.2</version>
+  <version>1.9.1</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 4e162de..b39558a 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.8.2</version>
+  <version>1.9.1</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 60cfe01..3a6781f 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.8.2</version>
+  <version>1.9.1</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 287d987..95e88f8 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -26,13 +26,13 @@
           <name>video_sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-dvdspu.xml b/docs/plugins/inspect/plugin-dvdspu.xml
index 7259c8a..b283882 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.8.2</version>
+  <version>1.9.1</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 6c688ce..0ab3a8f 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.8.2</version>
+  <version>1.9.1</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 fcc0d6e..c0d8e7f 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.8.2</version>
+  <version>1.9.1</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 d070dac..f72f555 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-festival.xml b/docs/plugins/inspect/plugin-festival.xml
index c10124e..bdeb837 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.8.2</version>
+  <version>1.9.1</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 4c8694c..188a6c7 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.8.2</version>
+  <version>1.9.1</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 cb0a5e7..9a70857 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.8.2</version>
+  <version>1.9.1</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 f500fc5..d4e84ab 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.8.2</version>
+  <version>1.9.1</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 b72dbe7..27409e7 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.8.2</version>
+  <version>1.9.1</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 bcae8d2..13235da 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.8.2</version>
+  <version>1.9.1</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 8b4bb3e..af26824 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.8.2</version>
+  <version>1.9.1</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 62119b7..98886f9 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.8.2</version>
+  <version>1.9.1</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 4cc2673..147ffd9 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.8.2</version>
+  <version>1.9.1</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 7cf0bb7..87dd5b7 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.8.2</version>
+  <version>1.9.1</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 0e78ad4..683facf 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.8.2</version>
+  <version>1.9.1</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 618528f..350f850 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.8.2</version>
+  <version>1.9.1</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 f703d97..5aed1dc 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.8.2</version>
+  <version>1.9.1</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 5761780..2329e56 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.8.2</version>
+  <version>1.9.1</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 66225fa..6ab761e 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.8.2</version>
+  <version>1.9.1</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 a56ad3b..dc5266e 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
@@ -80,7 +80,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
@@ -95,7 +95,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-interlace.xml b/docs/plugins/inspect/plugin-interlace.xml
index 55aef70..e2f2010 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -20,7 +20,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ AYUV, YUY2, UYVY, I420, YV12, Y42B, Y444, NV12, NV21 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive</details>
+          <details>video/x-raw, format=(string){ AYUV, YUY2, UYVY, I420, YV12, Y42B, Y444, NV12, NV21 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
diff --git a/docs/plugins/inspect/plugin-ivfparse.xml b/docs/plugins/inspect/plugin-ivfparse.xml
index c0be9aa..628a0b6 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.8.2</version>
+  <version>1.9.1</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 7d2ff9a..bfe8950 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.8.2</version>
+  <version>1.9.1</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 c962078..2c019bf 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.8.2</version>
+  <version>1.9.1</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 3cabcb9..0f772e3 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.8.2</version>
+  <version>1.9.1</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 0181009..6f6f693 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-kms.xml b/docs/plugins/inspect/plugin-kms.xml
new file mode 100644
index 0000000..dd8cac0
--- /dev/null
+++ b/docs/plugins/inspect/plugin-kms.xml
@@ -0,0 +1,28 @@
+<plugin>
+  <name>kms</name>
+  <description>Video sink using the Linux kernel mode setting API</description>
+  <filename>../../sys/kms/.libs/libgstkmssink.so</filename>
+  <basename>libgstkmssink.so</basename>
+  <version>1.9.0.1</version>
+  <license>LGPL</license>
+  <source>gst-plugins-bad</source>
+  <package>GStreamer Bad Plug-ins git</package>
+  <origin>Unknown package origin</origin>
+  <elements>
+    <element>
+      <name>kmssink</name>
+      <longname>KMS video sink</longname>
+      <class>Sink/Video</class>
+      <description>Video sink using the Linux kernel mode setting API</description>
+      <author>Víctor Jáquez &lt;vjaquez@igalia.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ BGRA, BGRx, RGBA, RGBx, UYVY, YUY2, YVYU, I420, YV12, Y42B, NV12, NV21, NV16 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-ladspa.xml b/docs/plugins/inspect/plugin-ladspa.xml
index 77c23f9..8bd5c50 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.8.2</version>
+  <version>1.9.1</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 3815188..7d3455e 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.8.2</version>
+  <version>1.9.1</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 b8d182e..3a0e8f1 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.8.2</version>
+  <version>1.9.1</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 f3fc746..972e4f1 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.8.2</version>
+  <version>1.9.1</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 08d8be6..4b43286 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.8.2</version>
+  <version>1.9.1</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 94728a9..e4a3d55 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.8.2</version>
+  <version>1.9.1</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 f84367e..cbfda70 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.8.2</version>
+  <version>1.9.1</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 ea92198..79b997a 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.8.2</version>
+  <version>1.9.1</version>
   <license>unknown</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -11,7 +11,7 @@
   <elements>
     <element>
       <name>mpegpsdemux</name>
-      <longname>The Fluendo MPEG Program Stream Demuxer</longname>
+      <longname>MPEG Program Stream Demuxer</longname>
       <class>Codec/Demuxer</class>
       <description>Demultiplexes MPEG Program Streams</description>
       <author>Wim Taymans &lt;wim@fluendo.com&gt;</author>
diff --git a/docs/plugins/inspect/plugin-mpegpsmux.xml b/docs/plugins/inspect/plugin-mpegpsmux.xml
index 80b59dd..0e61377 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.8.2</version>
+  <version>1.9.1</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 189e204..2441c08 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -24,25 +24,25 @@
           <details>video/mpegts, systemstream=(boolean)true</details>
         </caps>
         <caps>
-          <name>audio_%04x</name>
+          <name>audio_%01x_%05x</name>
           <direction>source</direction>
           <presence>sometimes</presence>
           <details>audio/mpeg, mpegversion=(int)1; audio/mpeg, mpegversion=(int)2, stream-format=(string)adts; audio/mpeg, mpegversion=(int)4, stream-format=(string)loas; audio/x-lpcm, width=(int){ 16, 20, 24 }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 8 ], dynamic_range=(int)[ 0, 255 ], emphasis=(boolean){ false, true }, mute=(boolean){ false, true }; audio/x-ac3; audio/x-eac3; audio/x-dts; audio/x-opus; audio/x-private-ts-lpcm</details>
         </caps>
         <caps>
-          <name>private_%04x</name>
+          <name>private_%01x_%05x</name>
           <direction>source</direction>
           <presence>sometimes</presence>
           <details>ANY</details>
         </caps>
         <caps>
-          <name>subpicture_%04x</name>
+          <name>subpicture_%01x_%05x</name>
           <direction>source</direction>
           <presence>sometimes</presence>
           <details>subpicture/x-pgs; subpicture/x-dvd; subpicture/x-dvb</details>
         </caps>
         <caps>
-          <name>video_%04x</name>
+          <name>video_%01x_%05x</name>
           <direction>source</direction>
           <presence>sometimes</presence>
           <details>video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false; video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal; video/x-h265, stream-format=(string)byte-stream, alignment=(string)nal; video/x-dirac; video/x-cavs; video/x-wmv, wmvversion=(int)3, format=(string)WVC1</details>
diff --git a/docs/plugins/inspect/plugin-mpegtsmux.xml b/docs/plugins/inspect/plugin-mpegtsmux.xml
index 3ffc493..00444a6 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.8.2</version>
+  <version>1.9.1</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 23b36a7..243410f 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.8.2</version>
+  <version>1.9.1</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
new file mode 100644
index 0000000..fc9b47e
--- /dev/null
+++ b/docs/plugins/inspect/plugin-musepack.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>musepack</name>
+  <description>Musepack decoder</description>
+  <filename>../../ext/musepack/.libs/libgstmusepack.so</filename>
+  <basename>libgstmusepack.so</basename>
+  <version>1.9.1</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>musepackdec</name>
+      <longname>Musepack decoder</longname>
+      <class>Codec/Decoder/Audio</class>
+      <description>Musepack decoder</description>
+      <author>Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-musepack, streamversion=(int){ 7, 8 }</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 8000, 96000 ], channels=(int)[ 1, 2 ]</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-mxf.xml b/docs/plugins/inspect/plugin-mxf.xml
index 325f5c5..9fa350a 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-neon.xml b/docs/plugins/inspect/plugin-neon.xml
index c53fcd4..896d1aa 100644
--- a/docs/plugins/inspect/plugin-neon.xml
+++ b/docs/plugins/inspect/plugin-neon.xml
@@ -3,10 +3,10 @@
   <description>lib neon http client src</description>
   <filename>../../ext/neon/.libs/libgstneonhttpsrc.so</filename>
   <basename>libgstneonhttpsrc.so</basename>
-  <version>1.7.1</version>
+  <version>1.9.0.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins source release</package>
+  <package>GStreamer Bad Plug-ins git</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-netsim.xml b/docs/plugins/inspect/plugin-netsim.xml
index d1d7b05..6dcc1f7 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.8.2</version>
+  <version>1.9.1</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 d2765df..137ea2f 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.8.2</version>
+  <version>1.9.1</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 1c2ad91..20589ce 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.8.2</version>
+  <version>1.9.1</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 9bf44e4..ba8d908 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.7.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -306,27 +306,6 @@
       </pads>
     </element>
     <element>
-      <name>pyramidsegment</name>
-      <longname>pyramidsegment</longname>
-      <class>Filter/Effect/Video</class>
-      <description>Applies pyramid segmentation to a video or image.</description>
-      <author>Michael Sheldon &lt;mike@mikeasoft.com&gt;</author>
-      <pads>
-        <caps>
-          <name>sink</name>
-          <direction>sink</direction>
-          <presence>always</presence>
-          <details>video/x-raw, format=(string)RGB, 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)RGB, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
-        </caps>
-      </pads>
-    </element>
-    <element>
       <name>retinex</name>
       <longname>Retinex image colour enhacement</longname>
       <class>Filter/Effect/Video</class>
diff --git a/docs/plugins/inspect/plugin-openexr.xml b/docs/plugins/inspect/plugin-openexr.xml
index f17e047..e9535d0 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.8.2</version>
+  <version>1.9.1</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 834971e..954b386 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -588,7 +588,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>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 ]; video/x-raw(memory:EGLImage, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(memory:EGLImage), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>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 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
@@ -651,7 +651,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>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 ]; video/x-raw(memory:EGLImage, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(memory:EGLImage), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>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 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
@@ -681,7 +681,7 @@
           <name>sink_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
-          <details>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 ]; video/x-raw(memory:EGLImage, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(memory:EGLImage), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>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 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
@@ -765,7 +765,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>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 ]; video/x-raw(memory:EGLImage, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(memory:EGLImage), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>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 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
@@ -817,7 +817,7 @@
           <name>sink</name>
           <direction>sink</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 ]; video/x-raw(memory:EGLImage), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]</details>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>left</name>
@@ -859,7 +859,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>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 ]; video/x-raw(memory:EGLImage, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(memory:EGLImage), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>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 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
@@ -880,7 +880,7 @@
           <name>sink_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
-          <details>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 ]; video/x-raw(memory:EGLImage, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(memory:EGLImage), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>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 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; 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 ]; 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 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
diff --git a/docs/plugins/inspect/plugin-openh264.xml b/docs/plugins/inspect/plugin-openh264.xml
new file mode 100644
index 0000000..f5b13b5
--- /dev/null
+++ b/docs/plugins/inspect/plugin-openh264.xml
@@ -0,0 +1,55 @@
+<plugin>
+  <name>openh264</name>
+  <description>OpenH264 encoder/decoder plugin</description>
+  <filename>../../ext/openh264/.libs/libgstopenh264.so</filename>
+  <basename>libgstopenh264.so</basename>
+  <version>1.9.1</version>
+  <license>BSD</license>
+  <source>gst-plugins-bad</source>
+  <package>OpenWebRTC GStreamer plugins</package>
+  <origin>http://www.ericsson.com</origin>
+  <elements>
+    <element>
+      <name>openh264dec</name>
+      <longname>OpenH264 video decoder</longname>
+      <class>Decoder/Video</class>
+      <description>OpenH264 video decoder</description>
+      <author>Ericsson AB, http://www.ericsson.com</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string){ constrained-baseline, baseline }</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>openh264enc</name>
+      <longname>OpenH264 video encoder</longname>
+      <class>Encoder/Video</class>
+      <description>OpenH264 video encoder</description>
+      <author>Ericsson AB, http://www.ericsson.com</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string)I420, 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-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)baseline</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-openjpeg.xml b/docs/plugins/inspect/plugin-openjpeg.xml
index d8f49e1..64411f8 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -20,7 +20,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>image/x-j2c, colorspace=(string){ sRGB, sYUV, GRAY }; image/x-jpc, colorspace=(string){ sRGB, sYUV, GRAY }; image/jp2</details>
+          <details>image/x-j2c, sampling=(string){ RGB, BGR, RGBA, BGRA, YCbCr-4:4:4, YCbCr-4:2:2, YCbCr-4:2:0, YCbCr-4:1:1, GRAYSCALE, YCbCrA-4:4:4:4 }; image/x-jpc, sampling=(string){ RGB, BGR, RGBA, BGRA, YCbCr-4:4:4, YCbCr-4:2:2, YCbCr-4:2:0, YCbCr-4:1:1, GRAYSCALE, YCbCrA-4:4:4:4 }; image/jp2</details>
         </caps>
         <caps>
           <name>src</name>
@@ -47,7 +47,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>image/x-j2c, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], num-components=(int)[ 1, 4 ], colorspace=(string){ sRGB, sYUV, GRAY }; image/x-jpc, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], num-components=(int)[ 1, 4 ], colorspace=(string){ sRGB, sYUV, GRAY }; image/jp2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</details>
+          <details>image/x-j2c, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], num-components=(int)[ 1, 4 ], sampling=(string){ RGB, BGR, RGBA, BGRA, YCbCr-4:4:4, YCbCr-4:2:2, YCbCr-4:2:0, YCbCr-4:1:1, GRAYSCALE, YCbCrA-4:4:4:4 }, colorspace=(string){ sRGB, sYUV, GRAY }; image/x-jpc, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], num-components=(int)[ 1, 4 ], sampling=(string){ RGB, BGR, RGBA, BGRA, YCbCr-4:4:4, YCbCr-4:2:2, YCbCr-4:2:0, YCbCr-4:1:1, GRAYSCALE, YCbCrA-4:4:4:4 }, colorspace=(string){ sRGB, sYUV, GRAY }; image/jp2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-opusparse.xml b/docs/plugins/inspect/plugin-opusparse.xml
index d81ac5a..e6ac24d 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.8.2</version>
+  <version>1.9.1</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 c18292d..e4c85ff 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.8.2</version>
+  <version>1.9.1</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 3026ada..ba0e18a 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -26,7 +26,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string)RGB, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string)GRAY8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ RGB, GRAY8, GRAY16_BE, GRAY16_LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
@@ -41,7 +41,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string)RGB, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string)GRAY8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ RGB, GRAY8, GRAY16_BE, GRAY16_LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
diff --git a/docs/plugins/inspect/plugin-qt.xml b/docs/plugins/inspect/plugin-qt.xml
index 803747c..14a5b7b 100644
--- a/docs/plugins/inspect/plugin-qt.xml
+++ b/docs/plugins/inspect/plugin-qt.xml
@@ -3,7 +3,7 @@
   <description>Qt sink</description>
   <filename>../../ext/qt/.libs/libgstqtsink.so</filename>
   <basename>libgstqtsink.so</basename>
-  <version>1.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rawparse.xml b/docs/plugins/inspect/plugin-rawparse.xml
index f3c9b51..c16cc6e 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -26,7 +26,28 @@
           <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>
+          <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-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-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>unalignedaudioparse</name>
+      <longname>unalignedaudioparse</longname>
+      <class>Codec/Parser/Bin/Audio</class>
+      <description>Parse unaligned raw audio data</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 }</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 }</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-removesilence.xml b/docs/plugins/inspect/plugin-removesilence.xml
index 9023de1..c551b8b 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.8.2</version>
+  <version>1.9.1</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 e8773e8..1e23d9e 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.8.2</version>
+  <version>1.9.1</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer</package>
@@ -32,7 +32,7 @@
           <name>video</name>
           <direction>source</direction>
           <presence>sometimes</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-rfbsrc.xml b/docs/plugins/inspect/plugin-rfbsrc.xml
index a37cea4..ebd2f3a 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.8.2</version>
+  <version>1.9.1</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 6bd9a8e..8251261 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.8.2</version>
+  <version>1.9.1</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 8847275..ea8fa22 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtpbad.xml b/docs/plugins/inspect/plugin-rtpbad.xml
new file mode 100644
index 0000000..b4a1b7f
--- /dev/null
+++ b/docs/plugins/inspect/plugin-rtpbad.xml
@@ -0,0 +1,55 @@
+<plugin>
+  <name>rtpbad</name>
+  <description>Real-time protocol plugins</description>
+  <filename>../../gst/rtp/.libs/libgstrtpbad.so</filename>
+  <basename>libgstrtpbad.so</basename>
+  <version>1.6.0</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>rtph265depay</name>
+      <longname>RTP H265 depayloader</longname>
+      <class>Codec/Depayloader/Network/RTP</class>
+      <description>Extracts H265 video from RTP packets (draft-ietf-payload-rtp-h265-03.txt)</description>
+      <author>Jurgen Slowack &lt;jurgenslowack@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H265</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-h265, stream-format=(string)byte-stream, alignment=(string){ nal, au }</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>rtph265pay</name>
+      <longname>RTP H265 payloader</longname>
+      <class>Codec/Payloader/Network/RTP</class>
+      <description>Payload-encode H265 video into RTP packets (based on draft-ietf-payload-rtp-h265-03.txt)</description>
+      <author>Jurgen Slowack &lt;jurgenslowack@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-h265, stream-format=(string)byte-stream, alignment=(string){ nal, au }</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>application/x-rtp, media=(string)video, payload=(int)[ 96, 127 ], clock-rate=(int)90000, encoding-name=(string)H265</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-rtponvif.xml b/docs/plugins/inspect/plugin-rtponvif.xml
index f81b14d..f608e62 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.8.2</version>
+  <version>1.9.1</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 72749b9..558ac77 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.8.2</version>
+  <version>1.9.1</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 7a1e082..e3c75d4 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.8.2</version>
+  <version>1.9.1</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 03d526e..8edb192 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -30,5 +30,20 @@
         </caps>
       </pads>
     </element>
+    <element>
+      <name>sdpsrc</name>
+      <longname>SDP Source</longname>
+      <class>Source/Network/RTP</class>
+      <description>Stream RTP based on an SDP</description>
+      <author>Sebastian Dröge &lt;sebastian@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>stream_%u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>application/x-rtp</details>
+        </caps>
+      </pads>
+    </element>
   </elements>
 </plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-segmentclip.xml b/docs/plugins/inspect/plugin-segmentclip.xml
index 40b3994..60add5e 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.8.2</version>
+  <version>1.9.1</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 5434a91..2d2d7d5 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.8.2</version>
+  <version>1.9.1</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 6b7f2bd..a9c015a 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.8.2</version>
+  <version>1.9.1</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 db5337c..39663b2 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.8.2</version>
+  <version>1.9.1</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 fd89cb7..d7e5021 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.8.2</version>
+  <version>1.9.1</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 5b05137..099111a 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.8.2</version>
+  <version>1.9.1</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 2f8d914..acbeb31 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.8.2</version>
+  <version>1.9.1</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 22b1a8d..1437d86 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.8.2</version>
+  <version>1.9.1</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 23fd183..b15d787 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.8.2</version>
+  <version>1.9.1</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 a843bc1..4282046 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.8.2</version>
+  <version>1.9.1</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 bcd6719..82a3bc9 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.8.2</version>
+  <version>1.9.1</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 7d13a3b..61b0181 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-uvch264.xml b/docs/plugins/inspect/plugin-uvch264.xml
index 76afd72..04aeeda 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -65,13 +65,13 @@
           <name>vfsrc</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; image/jpeg, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; image/jpeg, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>vidsrc</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; image/jpeg, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-h264, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], stream-format=(string){ byte-stream, avc }, alignment=(string)au, profile=(string){ high, main, baseline, constrained-baseline }</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; image/jpeg, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-h264, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], stream-format=(string){ byte-stream, avc }, alignment=(string)au, profile=(string){ high, main, baseline, constrained-baseline }</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-vcdsrc.xml b/docs/plugins/inspect/plugin-vcdsrc.xml
index 83cb8f8..c187ce7 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-vdpau.xml b/docs/plugins/inspect/plugin-vdpau.xml
new file mode 100644
index 0000000..964c1a9
--- /dev/null
+++ b/docs/plugins/inspect/plugin-vdpau.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>vdpau</name>
+  <description>Various elements utilizing VDPAU</description>
+  <filename>../../sys/vdpau/.libs/libgstvdpau.so</filename>
+  <basename>libgstvdpau.so</basename>
+  <version>1.9.0.1</version>
+  <license>LGPL</license>
+  <source>gst-plugins-bad</source>
+  <package>GStreamer</package>
+  <origin>http://gstreamer.net/</origin>
+  <elements>
+    <element>
+      <name>vdpaumpegdec</name>
+      <longname>VDPAU Mpeg Decoder</longname>
+      <class>Decoder</class>
+      <description>Decode mpeg stream with vdpau</description>
+      <author>Carl-Anton Ingmarsson &lt;ca.ingmarsson@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/mpeg, mpegversion=(int)[ 1, 2 ], systemstream=(boolean)false</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:VdpVideoSurface), format=(string){ YV12 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ YV12 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-videofiltersbad.xml b/docs/plugins/inspect/plugin-videofiltersbad.xml
index 1acab93..2904dee 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
@@ -32,22 +32,22 @@
     </element>
     <element>
       <name>videodiff</name>
-      <longname>FIXME Long name</longname>
-      <class>Generic</class>
-      <description>FIXME Description</description>
-      <author>FIXME &lt;fixme@example.com&gt;</author>
+      <longname>Video Diff</longname>
+      <class>Video/Filter</class>
+      <description>Visualize differences between adjacent video frames</description>
+      <author>David Schleef &lt;ds@schleef.org&gt;</author>
       <pads>
         <caps>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, Y444, Y42B, UYVY, RGBA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, Y444, Y42B, Y41B }, 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, Y444, Y42B, UYVY, RGBA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, Y444, Y42B, Y41B }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-videoframe_audiolevel.xml b/docs/plugins/inspect/plugin-videoframe_audiolevel.xml
index b9f9962..8ad67a5 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.8.2</version>
+  <version>1.9.1</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 103b608..1f2e63d 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -94,6 +94,27 @@
       </pads>
     </element>
     <element>
+      <name>jpeg2000parse</name>
+      <longname>JPEG 2000 parser</longname>
+      <class>Codec/Parser/Video/Image</class>
+      <description>Parses JPEG 2000 files</description>
+      <author>Aaron Boxer &lt;boxerab@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>image/x-jpc, sampling=(string){ RGB, BGR, RGBA, BGRA, YCbCr-4:4:4, YCbCr-4:2:2, YCbCr-4:2:0, YCbCr-4:1:1, GRAYSCALE, YCbCrA-4:4:4:4 }; image/x-jpc, colorspace=(string){ sRGB, sYUV, GRAY }; image/x-j2c, sampling=(string){ RGB, BGR, RGBA, BGRA, YCbCr-4:4:4, YCbCr-4:2:2, YCbCr-4:2:0, YCbCr-4:1:1, GRAYSCALE, YCbCrA-4:4:4:4 }; image/x-j2c, colorspace=(string){ sRGB, sYUV, GRAY }</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>image/x-jpc, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], sampling=(string){ RGB, BGR, RGBA, BGRA, YCbCr-4:4:4, YCbCr-4:2:2, YCbCr-4:2:0, YCbCr-4:1:1, GRAYSCALE, YCbCrA-4:4:4:4 }, colorspace=(string){ sRGB, sYUV, GRAY }, parsed=(boolean)true; image/x-j2c, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], sampling=(string){ RGB, BGR, RGBA, BGRA, YCbCr-4:4:4, YCbCr-4:2:2, YCbCr-4:2:0, YCbCr-4:1:1, GRAYSCALE, YCbCrA-4:4:4:4 }, colorspace=(string){ sRGB, sYUV, GRAY }, parsed=(boolean)true</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>mpeg4videoparse</name>
       <longname>MPEG 4 video elementary stream parser</longname>
       <class>Codec/Parser/Video</class>
diff --git a/docs/plugins/inspect/plugin-videosignal.xml b/docs/plugins/inspect/plugin-videosignal.xml
index d68d771..8181995 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.8.2</version>
+  <version>1.9.1</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 f159eaa..7e4e374 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.8.2</version>
+  <version>1.9.1</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 bba0608..e955be9 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.8.2</version>
+  <version>1.9.1</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 cad0e0e..313f0a7 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.8.2</version>
+  <version>1.9.1</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 fad9726..c87189b 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.8.2</version>
+  <version>1.9.1</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 f7948b0..a6564ac 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.8.2</version>
+  <version>1.9.1</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
new file mode 100644
index 0000000..6136964
--- /dev/null
+++ b/docs/plugins/inspect/plugin-webrtcdsp.xml
@@ -0,0 +1,55 @@
+<plugin>
+  <name>webrtcdsp</name>
+  <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>
+  <license>LGPL</license>
+  <source>gst-plugins-bad</source>
+  <package>WebRTCDsp</package>
+  <origin>http://git.collabora.com</origin>
+  <elements>
+    <element>
+      <name>webrtcdsp</name>
+      <longname>Voice Processor (AGC, AEC, filters, etc.)</longname>
+      <class>Generic/Audio</class>
+      <description>Pre-processes voice with WebRTC Audio Processing Library</description>
+      <author>Nicolas Dufresne &lt;nicolas.dufresne@collabora.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){ 48000, 32000, 16000, 8000 }, channels=(int)[ 1, 2147483647 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int){ 48000, 32000, 16000, 8000 }, channels=(int)[ 1, 2147483647 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>webrtcechoprobe</name>
+      <longname>Accoustic Echo Canceller probe</longname>
+      <class>Generic/Audio</class>
+      <description>Gathers playback buffers for webrtcdsp</description>
+      <author>Nicolas Dufresne &lt;nicolas.dufrsesne@collabora.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){ 48000, 32000, 16000, 8000 }, channels=(int)[ 1, 2147483647 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int){ 48000, 32000, 16000, 8000 }, channels=(int)[ 1, 2147483647 ]</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-wildmidi.xml b/docs/plugins/inspect/plugin-wildmidi.xml
index 8f6ecb0..25ef128 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.8.2</version>
+  <version>1.9.1</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 f7b6458..a1a55f4 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.8.2</version>
+  <version>1.9.1</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 2713ea7..71c4296 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.8.2</version>
+  <version>1.9.1</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 31da56a..cb9fb36 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.8.2</version>
+  <version>1.9.1</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 29219fd..2c8b1be 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.8.2</version>
+  <version>1.9.1</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 f97ef44..d0bf515 100644
--- a/ext/Makefile.am
+++ b/ext/Makefile.am
@@ -412,6 +412,12 @@
 VULKAN_DIR=
 endif
 
+if USE_WEBRTCDSP
+WEBRTCDSP_DIR=webrtcdsp
+else
+WEBRTCDSP_DIR=
+endif
+
 SUBDIRS=\
 	$(VOAACENC_DIR) \
 	$(ASSRENDER_DIR) \
@@ -481,7 +487,8 @@
 	$(WEBP_DIR) \
 	$(X265_DIR) \
 	$(DTLS_DIR) \
-	$(VULKAN_DIR)
+	$(VULKAN_DIR) \
+	$(WEBRTCDSP_DIR)
 
 DIST_SUBDIRS = \
 	assrender \
@@ -549,6 +556,7 @@
 	webp \
 	x265 \
 	dtls \
-	vulkan
+	vulkan \
+	webrtcdsp
 
 include $(top_srcdir)/common/parallel-subdirs.mak
diff --git a/ext/Makefile.in b/ext/Makefile.in
index 698e244..94ecc06 100644
--- a/ext/Makefile.in
+++ b/ext/Makefile.in
@@ -281,6 +281,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -496,6 +498,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -622,8 +626,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -668,6 +670,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -900,6 +904,8 @@
 @USE_DTLS_TRUE@DTLS_DIR = dtls
 @USE_VULKAN_FALSE@VULKAN_DIR = 
 @USE_VULKAN_TRUE@VULKAN_DIR = vulkan
+@USE_WEBRTCDSP_FALSE@WEBRTCDSP_DIR = 
+@USE_WEBRTCDSP_TRUE@WEBRTCDSP_DIR = webrtcdsp
 SUBDIRS = \
 	$(VOAACENC_DIR) \
 	$(ASSRENDER_DIR) \
@@ -969,7 +975,8 @@
 	$(WEBP_DIR) \
 	$(X265_DIR) \
 	$(DTLS_DIR) \
-	$(VULKAN_DIR)
+	$(VULKAN_DIR) \
+	$(WEBRTCDSP_DIR)
 
 DIST_SUBDIRS = \
 	assrender \
@@ -1037,7 +1044,8 @@
 	webp \
 	x265 \
 	dtls \
-	vulkan
+	vulkan \
+	webrtcdsp
 
 all: all-recursive
 
diff --git a/ext/apexsink/Makefile.in b/ext/apexsink/Makefile.in
index ca42489..22b7474 100644
--- a/ext/apexsink/Makefile.in
+++ b/ext/apexsink/Makefile.in
@@ -305,6 +305,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -520,6 +522,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -646,8 +650,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -692,6 +694,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/apexsink/gstapexsink.c b/ext/apexsink/gstapexsink.c
index c008e18..df5c5f2 100644
--- a/ext/apexsink/gstapexsink.c
+++ b/ext/apexsink/gstapexsink.c
@@ -265,8 +265,8 @@
       "Apple AirPort Express Audio Sink", "Sink/Audio/Wireless",
       "Output stream to an AirPort Express",
       "Jérémie Bernard [GRemi] <gremimail@gmail.com>");
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_apexsink_sink_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_apexsink_sink_factory);
 }
 
 /* sink class init */
diff --git a/ext/assrender/Makefile.in b/ext/assrender/Makefile.in
index 62c6bff..e7fdf9a 100644
--- a/ext/assrender/Makefile.in
+++ b/ext/assrender/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/assrender/gstassrender.c b/ext/assrender/gstassrender.c
index 913beb5..b4e385b 100644
--- a/ext/assrender/gstassrender.c
+++ b/ext/assrender/gstassrender.c
@@ -170,12 +170,11 @@
   gstelement_class->change_state =
       GST_DEBUG_FUNCPTR (gst_ass_render_change_state);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&video_sink_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&text_sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &video_sink_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &text_sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class, "ASS/SSA Render",
       "Mixer/Video/Overlay/Subtitle",
diff --git a/ext/bs2b/Makefile.in b/ext/bs2b/Makefile.in
index fbb3abb..8d6bd86 100644
--- a/ext/bs2b/Makefile.in
+++ b/ext/bs2b/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/bz2/Makefile.in b/ext/bz2/Makefile.in
index d912d8f..cac55b7 100644
--- a/ext/bz2/Makefile.in
+++ b/ext/bz2/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/bz2/gstbz2dec.c b/ext/bz2/gstbz2dec.c
index 5a06b19..ad3eef0 100644
--- a/ext/bz2/gstbz2dec.c
+++ b/ext/bz2/gstbz2dec.c
@@ -296,10 +296,8 @@
           1, G_MAXUINT, DEFAULT_BUFFER_SIZE,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class, &src_template);
   gst_element_class_set_static_metadata (gstelement_class, "BZ2 decoder",
       "Codec/Decoder", "Decodes compressed streams",
       "Lutz Mueller <lutz@users.sourceforge.net>");
diff --git a/ext/bz2/gstbz2enc.c b/ext/bz2/gstbz2enc.c
index c1c1ee1..05ec767 100644
--- a/ext/bz2/gstbz2enc.c
+++ b/ext/bz2/gstbz2enc.c
@@ -320,10 +320,8 @@
           1, G_MAXUINT, DEFAULT_BUFFER_SIZE,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class, &src_template);
   gst_element_class_set_static_metadata (gstelement_class, "BZ2 encoder",
       "Codec/Encoder", "Compresses streams",
       "Lutz Mueller <lutz@users.sourceforge.net>");
diff --git a/ext/chromaprint/Makefile.in b/ext/chromaprint/Makefile.in
index e562df9..f66e98a 100644
--- a/ext/chromaprint/Makefile.in
+++ b/ext/chromaprint/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/chromaprint/gstchromaprint.c b/ext/chromaprint/gstchromaprint.c
index b7217a6..95600d6 100644
--- a/ext/chromaprint/gstchromaprint.c
+++ b/ext/chromaprint/gstchromaprint.c
@@ -87,7 +87,6 @@
   gobject_class->set_property = gst_chromaprint_set_property;
   gobject_class->get_property = gst_chromaprint_get_property;
 
-  /* FIXME: do we need this in addition to the tag message ? */
   g_object_class_install_property (gobject_class, PROP_FINGERPRINT,
       g_param_spec_string ("fingerprint", "Resulting fingerprint",
           "Resulting fingerprint", NULL, G_PARAM_READABLE));
@@ -147,6 +146,8 @@
   chromaprint_get_fingerprint (chromaprint->context, &chromaprint->fingerprint);
   chromaprint->record = FALSE;
 
+  g_object_notify ((GObject *) chromaprint, "fingerprint");
+
   tags = gst_tag_list_new (GST_TAG_CHROMAPRINT_FINGERPRINT,
       chromaprint->fingerprint, NULL);
 
diff --git a/ext/curl/Makefile.in b/ext/curl/Makefile.in
index 31d09a9..6bc7a49 100644
--- a/ext/curl/Makefile.in
+++ b/ext/curl/Makefile.in
@@ -316,6 +316,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -531,6 +533,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -657,8 +661,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -703,6 +705,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/curl/gstcurlbasesink.c b/ext/curl/gstcurlbasesink.c
index 013839d..5728ab2 100644
--- a/ext/curl/gstcurlbasesink.c
+++ b/ext/curl/gstcurlbasesink.c
@@ -235,8 +235,7 @@
           DSCP_MIN, DSCP_MAX, DEFAULT_QOS_DSCP,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (element_class, &sinktemplate);
 }
 
 static void
diff --git a/ext/curl/gstcurlsmtpsink.c b/ext/curl/gstcurlsmtpsink.c
index 40ab016..07a1474 100644
--- a/ext/curl/gstcurlsmtpsink.c
+++ b/ext/curl/gstcurlsmtpsink.c
@@ -202,21 +202,16 @@
 
       GST_OBJECT_LOCK (sink);
       sink->eos = TRUE;
-      GST_OBJECT_UNLOCK (sink);
-
-      if (sink->base64_chunk != NULL && !sink->final_boundary_added) {
+      if (bcsink->flow_ret == GST_FLOW_OK && sink->base64_chunk != NULL
+          && !sink->final_boundary_added) {
         add_final_boundary_unlocked (sink);
-
         gst_curl_base_sink_transfer_thread_notify_unlocked (bcsink);
-
-        GST_OBJECT_LOCK (sink);
-        if (sink->base64_chunk != NULL && bcsink->flow_ret == GST_FLOW_OK) {
-          gst_curl_smtp_sink_wait_for_transfer_end_unlocked (sink);
-        }
-        GST_OBJECT_UNLOCK (sink);
+        GST_FIXME_OBJECT (sink, "if gstpoll errors in transfer thread, then "
+            "this wait will never timeout because the transfer thread does "
+            "not signal it upon errors");
+        gst_curl_smtp_sink_wait_for_transfer_end_unlocked (sink);
       }
-      gst_curl_base_sink_transfer_thread_close (bcsink);
-
+      GST_OBJECT_UNLOCK (sink);
       break;
 
     default:
diff --git a/ext/daala/Makefile.in b/ext/daala/Makefile.in
index 34aadd0..38b201f 100644
--- a/ext/daala/Makefile.in
+++ b/ext/daala/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/daala/gstdaaladec.c b/ext/daala/gstdaaladec.c
index d40537d..f401ff3 100644
--- a/ext/daala/gstdaaladec.c
+++ b/ext/daala/gstdaaladec.c
@@ -103,13 +103,12 @@
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
   GstVideoDecoderClass *video_decoder_class = GST_VIDEO_DECODER_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&daala_dec_src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&daala_dec_sink_factory));
-  gst_element_class_set_static_metadata (element_class,
-      "Daala video decoder", "Codec/Decoder/Video",
-      "Decode raw Daala streams to raw YUV video",
+  gst_element_class_add_static_pad_template (element_class,
+      &daala_dec_src_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &daala_dec_sink_factory);
+  gst_element_class_set_static_metadata (element_class, "Daala video decoder",
+      "Codec/Decoder/Video", "Decode raw Daala streams to raw YUV video",
       "Sebastian Dröge <slomo@circular-chaos.org>");
 
   video_decoder_class->start = GST_DEBUG_FUNCPTR (daala_dec_start);
diff --git a/ext/daala/gstdaalaenc.c b/ext/daala/gstdaalaenc.c
index 705c7e6..7209ddf 100644
--- a/ext/daala/gstdaalaenc.c
+++ b/ext/daala/gstdaalaenc.c
@@ -212,13 +212,12 @@
           1, G_MAXINT, DEFAULT_KEYFRAME_RATE,
           (GParamFlags) G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&daala_enc_src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&daala_enc_sink_factory));
-  gst_element_class_set_static_metadata (element_class,
-      "Daala video encoder", "Codec/Encoder/Video",
-      "Encode raw YUV video to a Daala stream",
+  gst_element_class_add_static_pad_template (element_class,
+      &daala_enc_src_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &daala_enc_sink_factory);
+  gst_element_class_set_static_metadata (element_class, "Daala video encoder",
+      "Codec/Encoder/Video", "Encode raw YUV video to a Daala stream",
       "Sebastian Dröge <slomo@circular-chaos.org>");
 
   gstvideo_encoder_class->start = GST_DEBUG_FUNCPTR (daala_enc_start);
diff --git a/ext/dash/Makefile.in b/ext/dash/Makefile.in
index 3fbad07..5d75597 100644
--- a/ext/dash/Makefile.in
+++ b/ext/dash/Makefile.in
@@ -307,6 +307,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -522,6 +524,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -648,8 +652,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -694,6 +696,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/dash/gstdashdemux.c b/ext/dash/gstdashdemux.c
index 4c1f999..c67c635 100644
--- a/ext/dash/gstdashdemux.c
+++ b/ext/dash/gstdashdemux.c
@@ -253,6 +253,9 @@
 static void gst_dash_demux_advance_period (GstAdaptiveDemux * demux);
 static gboolean gst_dash_demux_has_next_period (GstAdaptiveDemux * demux);
 static GstFlowReturn gst_dash_demux_data_received (GstAdaptiveDemux * demux,
+    GstAdaptiveDemuxStream * stream, GstBuffer * buffer);
+static gboolean
+gst_dash_demux_stream_fragment_start (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream);
 static GstFlowReturn
 gst_dash_demux_stream_fragment_finished (GstAdaptiveDemux * demux,
@@ -266,7 +269,8 @@
     GstActiveStream * stream);
 static GstPad *gst_dash_demux_create_pad (GstDashDemux * demux,
     GstActiveStream * stream);
-static GstDashDemuxClockDrift *gst_dash_demux_clock_drift_new (void);
+static GstDashDemuxClockDrift *gst_dash_demux_clock_drift_new (GstDashDemux *
+    demux);
 static void gst_dash_demux_clock_drift_free (GstDashDemuxClockDrift *);
 static gboolean gst_dash_demux_poll_clock_drift (GstDashDemux * demux);
 static GTimeSpan gst_dash_demux_get_clock_compensation (GstDashDemux * demux);
@@ -403,15 +407,14 @@
           DEFAULT_PRESENTATION_DELAY,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_dash_demux_audiosrc_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_dash_demux_videosrc_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_dash_demux_subtitlesrc_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_dash_demux_audiosrc_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_dash_demux_videosrc_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_dash_demux_subtitlesrc_template);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "DASH Demuxer",
@@ -454,6 +457,7 @@
   gstadaptivedemux_class->get_period_start_time =
       gst_dash_demux_get_period_start_time;
 
+  gstadaptivedemux_class->start_fragment = gst_dash_demux_stream_fragment_start;
   gstadaptivedemux_class->finish_fragment =
       gst_dash_demux_stream_fragment_finished;
   gstadaptivedemux_class->data_received = gst_dash_demux_data_received;
@@ -631,6 +635,8 @@
     }
 
     gst_isoff_sidx_parser_init (&stream->sidx_parser);
+    if (gst_mpd_client_has_isoff_ondemand_profile (demux->client))
+      stream->sidx_adapter = gst_adapter_new ();
   }
 
   return TRUE;
@@ -712,7 +718,7 @@
           SUPPORTED_CLOCK_FORMATS, NULL);
       if (urls) {
         GST_DEBUG_OBJECT (dashdemux, "Found a supported UTCTiming element");
-        dashdemux->clock_drift = gst_dash_demux_clock_drift_new ();
+        dashdemux->clock_drift = gst_dash_demux_clock_drift_new (dashdemux);
         gst_dash_demux_poll_clock_drift (dashdemux);
       }
     }
@@ -1090,9 +1096,7 @@
   gint idx = sidx->entries_count;
 
   /* check whether ts is already past the last element or not */
-  if (sidx->entries[idx - 1].pts + sidx->entries[idx - 1].duration < ts) {
-    dashstream->sidx_current_remaining = 0;
-  } else {
+  if (sidx->entries[idx - 1].pts + sidx->entries[idx - 1].duration >= ts) {
     GstSearchMode mode = GST_SEARCH_MODE_BEFORE;
 
     if ((flags & GST_SEEK_FLAG_SNAP_NEAREST) == GST_SEEK_FLAG_SNAP_NEAREST) {
@@ -1120,8 +1124,6 @@
           ABS (sidx->entries[idx].pts - ts))
         idx += 1;
     }
-
-    dashstream->sidx_current_remaining = sidx->entries[idx].size;
   }
 
   sidx->entry_index = idx;
@@ -1202,9 +1204,6 @@
       "Finished fragment: %d", sidx->entry_index, sidx->entries_count,
       fragment_finished);
 
-  if (!fragment_finished) {
-    dashstream->sidx_current_remaining = sidx->entries[sidx->entry_index].size;
-  }
   return !fragment_finished;
 }
 
@@ -1223,6 +1222,16 @@
       dashstream->active_stream, stream->demux->segment.rate > 0.0);
 }
 
+static void
+gst_dash_demux_clear_pending_stream_data (GstDashDemux * dashdemux,
+    GstDashDemuxStream * 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);
+}
+
 static GstFlowReturn
 gst_dash_demux_stream_advance_fragment (GstAdaptiveDemuxStream * stream)
 {
@@ -1236,6 +1245,8 @@
       return GST_FLOW_OK;
   }
 
+  gst_dash_demux_clear_pending_stream_data (dashdemux, dashstream);
+
   return gst_mpd_client_advance_segment (dashdemux->client,
       dashstream->active_stream, stream->demux->segment.rate > 0.0);
 }
@@ -1291,16 +1302,13 @@
     }
   }
 
-  if (gst_mpd_client_has_isoff_ondemand_profile (demux->client)) {
+  if (ret) {
+    gst_dash_demux_clear_pending_stream_data (demux, dashstream);
 
-    /* store our current position to change to the same one in a different
-     * representation if needed */
-    dashstream->sidx_index = SIDX (dashstream)->entry_index;
-    if (ret) {
-      /* TODO cache indexes to avoid re-downloading and parsing */
-      /* if we switched, we need a new index */
-      gst_isoff_sidx_parser_clear (&dashstream->sidx_parser);
-      gst_isoff_sidx_parser_init (&dashstream->sidx_parser);
+    if (gst_mpd_client_has_isoff_ondemand_profile (demux->client)) {
+      /* store our current position to change to the same one in a different
+       * representation if needed */
+      dashstream->sidx_index = SIDX (dashstream)->entry_index;
     }
   }
 
@@ -1386,8 +1394,7 @@
     GstDashDemuxStream *dashstream = iter->data;
 
     if (flags & GST_SEEK_FLAG_FLUSH) {
-      gst_isoff_sidx_parser_clear (&dashstream->sidx_parser);
-      gst_isoff_sidx_parser_init (&dashstream->sidx_parser);
+      gst_dash_demux_clear_pending_stream_data (dashdemux, dashstream);
     }
     gst_dash_demux_stream_seek (iter->data, rate >= 0, 0, target_pos, NULL);
   }
@@ -1541,8 +1548,12 @@
     gint64 diff;
     GstDateTime *cur_time;
 
-    cur_time = gst_date_time_new_now_utc ();
-    diff = gst_mpd_client_calculate_time_difference (cur_time,
+    cur_time =
+        gst_date_time_new_from_g_date_time
+        (gst_adaptive_demux_get_client_now_utc (GST_ADAPTIVE_DEMUX_CAST
+            (dashdemux)));
+    diff =
+        gst_mpd_client_calculate_time_difference (cur_time,
         segmentAvailability);
     gst_date_time_unref (segmentAvailability);
     gst_date_time_unref (cur_time);
@@ -1603,6 +1614,18 @@
   return newbuf;
 }
 
+static gboolean
+gst_dash_demux_stream_fragment_start (GstAdaptiveDemux * demux,
+    GstAdaptiveDemuxStream * stream)
+{
+  GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
+
+  dashstream->sidx_index_header_or_data = 0;
+  dashstream->sidx_current_offset = -1;
+
+  return TRUE;
+}
+
 static GstFlowReturn
 gst_dash_demux_stream_fragment_finished (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream)
@@ -1627,24 +1650,47 @@
 
 static GstFlowReturn
 gst_dash_demux_data_received (GstAdaptiveDemux * demux,
-    GstAdaptiveDemuxStream * stream)
+    GstAdaptiveDemuxStream * stream, GstBuffer * buffer)
 {
   GstDashDemuxStream *dash_stream = (GstDashDemuxStream *) stream;
   GstDashDemux *dashdemux = GST_DASH_DEMUX_CAST (demux);
   GstFlowReturn ret = GST_FLOW_OK;
-  GstBuffer *buffer;
-  gsize available;
+  guint index_header_or_data;
 
   if (!gst_mpd_client_has_isoff_ondemand_profile (dashdemux->client))
-    return GST_ADAPTIVE_DEMUX_CLASS (parent_class)->data_received (demux,
-        stream);
+    return gst_adaptive_demux_stream_push_buffer (stream, buffer);
+
+  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->sidx_index_header_or_data != index_header_or_data) {
+    /* Clear pending data */
+    if (gst_adapter_available (dash_stream->sidx_adapter) != 0)
+      GST_ERROR_OBJECT (stream->pad,
+          "Had pending SIDX data after switch between index/header/data");
+    gst_adapter_clear (dash_stream->sidx_adapter);
+    dash_stream->sidx_index_header_or_data = index_header_or_data;
+    dash_stream->sidx_current_offset = -1;
+  }
+
+  if (dash_stream->sidx_current_offset == -1)
+    dash_stream->sidx_current_offset =
+        GST_BUFFER_OFFSET_IS_VALID (buffer) ? GST_BUFFER_OFFSET (buffer) : 0;
+
+  gst_adapter_push (dash_stream->sidx_adapter, buffer);
+  buffer = NULL;
 
   if (stream->downloading_index) {
     GstIsoffParserResult res;
     guint consumed;
+    gsize available;
 
-    available = gst_adapter_available (stream->adapter);
-    buffer = gst_adapter_take_buffer (stream->adapter, available);
+    available = gst_adapter_available (dash_stream->sidx_adapter);
+    buffer = gst_adapter_take_buffer (dash_stream->sidx_adapter, available);
 
     if (dash_stream->sidx_parser.status != GST_ISOFF_SIDX_PARSER_FINISHED) {
       res =
@@ -1666,34 +1712,44 @@
           } else {
             SIDX (dash_stream)->entry_index = dash_stream->sidx_index;
           }
-          dash_stream->sidx_current_remaining =
-              SIDX_CURRENT_ENTRY (dash_stream)->size;
         } else if (consumed < available) {
           GstBuffer *pending;
           /* we still need to keep some data around for the next parsing round
            * so just push what was already processed by the parser */
           pending = _gst_buffer_split (buffer, consumed, -1);
-          gst_adapter_push (stream->adapter, pending);
+          gst_adapter_push (dash_stream->sidx_adapter, pending);
         }
       }
     }
+    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);
   } else if (dash_stream->sidx_parser.status == GST_ISOFF_SIDX_PARSER_FINISHED) {
+    gsize available;
 
     while (ret == GST_FLOW_OK
-        && ((available = gst_adapter_available (stream->adapter)) > 0)) {
+        && ((available =
+                gst_adapter_available (dash_stream->sidx_adapter)) > 0)) {
       gboolean advance = FALSE;
+      guint64 sidx_end_offset =
+          dash_stream->sidx_base_offset +
+          SIDX_CURRENT_ENTRY (dash_stream)->offset +
+          SIDX_CURRENT_ENTRY (dash_stream)->size;
 
-      if (available < dash_stream->sidx_current_remaining) {
-        buffer = gst_adapter_take_buffer (stream->adapter, available);
-        dash_stream->sidx_current_remaining -= available;
+      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 (stream->adapter,
-            dash_stream->sidx_current_remaining);
-        dash_stream->sidx_current_remaining = 0;
+            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;
@@ -1708,10 +1764,15 @@
     }
   } else {
     /* this should be the main header, just push it all */
-    ret =
-        gst_adaptive_demux_stream_push_buffer (stream,
-        gst_adapter_take_buffer (stream->adapter,
-            gst_adapter_available (stream->adapter)));
+    buffer = gst_adapter_take_buffer (dash_stream->sidx_adapter,
+        gst_adapter_available (dash_stream->sidx_adapter));
+
+    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);
   }
 
   return ret;
@@ -1723,16 +1784,20 @@
   GstDashDemuxStream *dash_stream = (GstDashDemuxStream *) stream;
 
   gst_isoff_sidx_parser_clear (&dash_stream->sidx_parser);
+  if (dash_stream->sidx_adapter)
+    g_object_unref (dash_stream->sidx_adapter);
 }
 
 static GstDashDemuxClockDrift *
-gst_dash_demux_clock_drift_new (void)
+gst_dash_demux_clock_drift_new (GstDashDemux * demux)
 {
   GstDashDemuxClockDrift *clock_drift;
 
   clock_drift = g_slice_new0 (GstDashDemuxClockDrift);
   g_mutex_init (&clock_drift->clock_lock);
-  clock_drift->next_update = g_get_monotonic_time ();
+  clock_drift->next_update =
+      GST_TIME_AS_USECONDS (gst_adaptive_demux_get_monotonic_time
+      (GST_ADAPTIVE_DEMUX_CAST (demux)));
   return clock_drift;
 }
 
@@ -2021,7 +2086,9 @@
   g_return_val_if_fail (demux != NULL, FALSE);
   g_return_val_if_fail (demux->clock_drift != NULL, FALSE);
   clock_drift = demux->clock_drift;
-  now = g_get_monotonic_time ();
+  now =
+      GST_TIME_AS_USECONDS (gst_adaptive_demux_get_monotonic_time
+      (GST_ADAPTIVE_DEMUX_CAST (demux)));
   if (now < clock_drift->next_update) {
     /*TODO: If a fragment fails to download in adaptivedemux, it waits
        for a manifest reload before another attempt to fetch a fragment.
@@ -2051,7 +2118,8 @@
       goto quit;
     }
   }
-  start = g_date_time_new_now_utc ();
+  start =
+      gst_adaptive_demux_get_client_now_utc (GST_ADAPTIVE_DEMUX_CAST (demux));
   if (!value) {
     GstFragment *download;
     gint64 range_start = 0, range_end = -1;
@@ -2079,7 +2147,7 @@
         urls[clock_drift->selected_url]);
     goto quit;
   }
-  end = g_date_time_new_now_utc ();
+  end = gst_adaptive_demux_get_client_now_utc (GST_ADAPTIVE_DEMUX_CAST (demux));
   if (!value && method == GST_MPD_UTCTIMING_TYPE_HTTP_NTP) {
     value = gst_dash_demux_parse_http_ntp (clock_drift, buffer);
   } else if (!value) {
@@ -2156,8 +2224,13 @@
 static GDateTime *
 gst_dash_demux_get_server_now_utc (GstDashDemux * demux)
 {
-  GDateTime *client_now = g_date_time_new_now_utc ();
-  GDateTime *server_now = g_date_time_add (client_now,
+  GDateTime *client_now;
+  GDateTime *server_now;
+
+  client_now =
+      gst_adaptive_demux_get_client_now_utc (GST_ADAPTIVE_DEMUX_CAST (demux));
+  server_now =
+      g_date_time_add (client_now,
       gst_dash_demux_get_clock_compensation (demux));
   g_date_time_unref (client_now);
   return server_now;
diff --git a/ext/dash/gstdashdemux.h b/ext/dash/gstdashdemux.h
index 5ed9620..5f0094b 100644
--- a/ext/dash/gstdashdemux.h
+++ b/ext/dash/gstdashdemux.h
@@ -67,11 +67,15 @@
   GstMediaFragmentInfo current_fragment;
 
   /* index parsing */
+  GstAdapter *sidx_adapter;
   GstSidxParser sidx_parser;
-  gsize sidx_current_remaining;
   gint sidx_index;
   gint64 sidx_base_offset;
   GstClockTime pending_seek_ts;
+  /* sidx offset tracking */
+  guint64 sidx_current_offset;
+  /* index = 1, header = 2, data = 3 */
+  guint sidx_index_header_or_data;
 };
 
 /**
diff --git a/ext/dash/gstmpdparser.c b/ext/dash/gstmpdparser.c
index 778ab2e..dd83165 100644
--- a/ext/dash/gstmpdparser.c
+++ b/ext/dash/gstmpdparser.c
@@ -38,6 +38,8 @@
     gboolean (*validator) (const char *));
 static gboolean gst_mpdparser_get_xml_prop_string (xmlNode * a_node,
     const gchar * property_name, gchar ** property_value);
+static gboolean gst_mpdparser_get_xml_prop_string_stripped (xmlNode * a_node,
+    const gchar * property_name, gchar ** property_value);
 static gboolean gst_mpdparser_get_xml_ns_prop_string (xmlNode * a_node,
     const gchar * ns_name, const gchar * property_name,
     gchar ** property_value);
@@ -311,6 +313,18 @@
 }
 
 static gboolean
+gst_mpdparser_get_xml_prop_string_stripped (xmlNode * a_node,
+    const gchar * property_name, gchar ** property_value)
+{
+  gboolean ret;
+  ret =
+      gst_mpdparser_get_xml_prop_string (a_node, property_name, property_value);
+  if (ret)
+    *property_value = g_strstrip (*property_value);
+  return ret;
+}
+
+static gboolean
 gst_mpdparser_validate_no_whitespace (const char *s)
 {
   return !strpbrk (s, "\r\n\t ");
@@ -1291,7 +1305,7 @@
   *list = g_list_append (*list, new_descriptor);
 
   GST_LOG ("attributes of %s node:", a_node->name);
-  gst_mpdparser_get_xml_prop_string (a_node, "schemeIdUri",
+  gst_mpdparser_get_xml_prop_string_stripped (a_node, "schemeIdUri",
       &new_descriptor->schemeIdUri);
   if (!gst_mpdparser_get_xml_prop_string (a_node, "value",
           &new_descriptor->value)) {
@@ -4054,18 +4068,47 @@
     }
   }
 
-  /* check duration of last segment */
-  last_media_segment = (stream->segments && stream->segments->len) ?
-      g_ptr_array_index (stream->segments, stream->segments->len - 1) : NULL;
+  /* clip duration of segments to stop at period end */
+  if (stream->segments && stream->segments->len) {
+    if (GST_CLOCK_TIME_IS_VALID (PeriodEnd)) {
+      for (guint n = 0; n < stream->segments->len; ++n) {
+        GstMediaSegment *media_segment =
+            g_ptr_array_index (stream->segments, n);
+        if (media_segment) {
+          if (media_segment->start + media_segment->duration >
+              PeriodEnd - PeriodStart) {
+            GstClockTime stop = PeriodEnd - PeriodStart;
+            if (n < stream->segments->len - 1) {
+              GstMediaSegment *next_segment =
+                  g_ptr_array_index (stream->segments, n + 1);
+              if (next_segment && next_segment->start < PeriodEnd - PeriodStart)
+                stop = next_segment->start;
+            }
+            media_segment->duration =
+                media_segment->start > stop ? 0 : stop - media_segment->start;
+            GST_LOG ("Fixed duration of segment %u: %" GST_TIME_FORMAT, n,
+                GST_TIME_ARGS (media_segment->duration));
 
-  if (last_media_segment && GST_CLOCK_TIME_IS_VALID (PeriodEnd)) {
-    if (last_media_segment->start + last_media_segment->duration > PeriodEnd) {
-      last_media_segment->duration =
-          PeriodEnd - PeriodStart - last_media_segment->start;
-      GST_LOG ("Fixed duration of last segment: %" GST_TIME_FORMAT,
-          GST_TIME_ARGS (last_media_segment->duration));
+            /* If the segment was clipped entirely, we discard it and all
+             * subsequent ones */
+            if (media_segment->duration == 0) {
+              GST_WARNING ("Discarding %u segments outside period",
+                  stream->segments->len - n);
+              /* _set_size should properly unref elements */
+              g_ptr_array_set_size (stream->segments, n);
+              break;
+            }
+          }
+        }
+      }
     }
-    GST_LOG ("Built a list of %d segments", last_media_segment->number);
+    if (stream->segments->len > 0) {
+      last_media_segment =
+          g_ptr_array_index (stream->segments, stream->segments->len - 1);
+      GST_LOG ("Built a list of %d segments", last_media_segment->number);
+    } else {
+      GST_LOG ("All media segments were clipped");
+    }
   }
 
   g_free (stream->baseURL);
diff --git a/ext/dc1394/Makefile.am b/ext/dc1394/Makefile.am
index eb1a4f7..985f63d 100644
--- a/ext/dc1394/Makefile.am
+++ b/ext/dc1394/Makefile.am
@@ -1,16 +1,22 @@
+plugin_LTLIBRARIES = \
+    libgstdc1394.la
 
-plugin_LTLIBRARIES =	libgstdc1394.la
+libgstdc1394_la_SOURCES = \
+    gstdc1394src.c
+libgstdc1394_la_CFLAGS = \
+    $(LIBDC1394_CFLAGS) \
+    $(GST_PLUGINS_BASE_CFLAGS) \
+    $(GST_BASE_CFLAGS) \
+    $(GST_CFLAGS)
+libgstdc1394_la_LIBADD = \
+    $(LIBDC1394_LIBS) \
+    $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
+    $(GST_BASE_LIBS) \
+    $(GST_LIBS)
+libgstdc1394_la_LDFLAGS = \
+    $(GST_PLUGIN_LDFLAGS)
+libgstdc1394_la_LIBTOOLFLAGS = \
+    $(GST_PLUGIN_LIBTOOLFLAGS)
 
-libgstdc1394_la_SOURCES =	gstdc1394.c 
-
-
-libgstdc1394_la_CFLAGS = 	$(GST_CFLAGS) \
-				$(LIBDC1394_CFLAGS)
-
-libgstdc1394_la_LDFLAGS = 	$(GST_PLUGIN_LDFLAGS)
-libgstdc1394_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-
-libgstdc1394_la_LIBADD = 	$(GST_BASE_LIBS) \
-				$(LIBDC1394_LIBS) 
-
-noinst_HEADERS = gstdc1394.h
+noinst_HEADERS = \
+    gstdc1394src.h
diff --git a/ext/dc1394/Makefile.in b/ext/dc1394/Makefile.in
index 7f1c184..24096f9 100644
--- a/ext/dc1394/Makefile.in
+++ b/ext/dc1394/Makefile.in
@@ -164,8 +164,9 @@
 LTLIBRARIES = $(plugin_LTLIBRARIES)
 am__DEPENDENCIES_1 =
 libgstdc1394_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1)
-am_libgstdc1394_la_OBJECTS = libgstdc1394_la-gstdc1394.lo
+am_libgstdc1394_la_OBJECTS = libgstdc1394_la-gstdc1394src.lo
 libgstdc1394_la_OBJECTS = $(am_libgstdc1394_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -302,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -777,17 +782,33 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 wayland_scanner = @wayland_scanner@
-plugin_LTLIBRARIES = libgstdc1394.la
-libgstdc1394_la_SOURCES = gstdc1394.c 
-libgstdc1394_la_CFLAGS = $(GST_CFLAGS) \
-				$(LIBDC1394_CFLAGS)
+plugin_LTLIBRARIES = \
+    libgstdc1394.la
 
-libgstdc1394_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstdc1394_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-libgstdc1394_la_LIBADD = $(GST_BASE_LIBS) \
-				$(LIBDC1394_LIBS) 
+libgstdc1394_la_SOURCES = \
+    gstdc1394src.c
 
-noinst_HEADERS = gstdc1394.h
+libgstdc1394_la_CFLAGS = \
+    $(LIBDC1394_CFLAGS) \
+    $(GST_PLUGINS_BASE_CFLAGS) \
+    $(GST_BASE_CFLAGS) \
+    $(GST_CFLAGS)
+
+libgstdc1394_la_LIBADD = \
+    $(LIBDC1394_LIBS) \
+    $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
+    $(GST_BASE_LIBS) \
+    $(GST_LIBS)
+
+libgstdc1394_la_LDFLAGS = \
+    $(GST_PLUGIN_LDFLAGS)
+
+libgstdc1394_la_LIBTOOLFLAGS = \
+    $(GST_PLUGIN_LIBTOOLFLAGS)
+
+noinst_HEADERS = \
+    gstdc1394src.h
+
 all: all-am
 
 .SUFFIXES:
@@ -866,7 +887,7 @@
 distclean-compile:
 	-rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstdc1394_la-gstdc1394.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstdc1394_la-gstdc1394src.Plo@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -892,12 +913,12 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
-libgstdc1394_la-gstdc1394.lo: gstdc1394.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstdc1394_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstdc1394_la_CFLAGS) $(CFLAGS) -MT libgstdc1394_la-gstdc1394.lo -MD -MP -MF $(DEPDIR)/libgstdc1394_la-gstdc1394.Tpo -c -o libgstdc1394_la-gstdc1394.lo `test -f 'gstdc1394.c' || echo '$(srcdir)/'`gstdc1394.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstdc1394_la-gstdc1394.Tpo $(DEPDIR)/libgstdc1394_la-gstdc1394.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstdc1394.c' object='libgstdc1394_la-gstdc1394.lo' libtool=yes @AMDEPBACKSLASH@
+libgstdc1394_la-gstdc1394src.lo: gstdc1394src.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstdc1394_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstdc1394_la_CFLAGS) $(CFLAGS) -MT libgstdc1394_la-gstdc1394src.lo -MD -MP -MF $(DEPDIR)/libgstdc1394_la-gstdc1394src.Tpo -c -o libgstdc1394_la-gstdc1394src.lo `test -f 'gstdc1394src.c' || echo '$(srcdir)/'`gstdc1394src.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstdc1394_la-gstdc1394src.Tpo $(DEPDIR)/libgstdc1394_la-gstdc1394src.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstdc1394src.c' object='libgstdc1394_la-gstdc1394src.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 $(libgstdc1394_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstdc1394_la_CFLAGS) $(CFLAGS) -c -o libgstdc1394_la-gstdc1394.lo `test -f 'gstdc1394.c' || echo '$(srcdir)/'`gstdc1394.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstdc1394_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstdc1394_la_CFLAGS) $(CFLAGS) -c -o libgstdc1394_la-gstdc1394src.lo `test -f 'gstdc1394src.c' || echo '$(srcdir)/'`gstdc1394src.c
 
 mostlyclean-libtool:
 	-rm -f *.lo
diff --git a/ext/dc1394/gstdc1394.c b/ext/dc1394/gstdc1394.c
deleted file mode 100644
index 4a403b4..0000000
--- a/ext/dc1394/gstdc1394.c
+++ /dev/null
@@ -1,1335 +0,0 @@
-/* GStreamer
- * Copyright (C) <2006> Eric Jonas <jonas@mit.edu>
- * Copyright (C) <2006> Antoine Tremblay <hexa00@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-/**
- * SECTION:element-dc1394
- *
- * Source for IIDC (Instrumentation & Industrial Digital Camera) firewire
- * cameras.
- * 
- * <refsect2>
- * <title>Example launch line</title>
- * |[
- * gst-launch -v dc1394 camera-number=0 ! xvimagesink
- * ]|
- * </refsect2>
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include "gstdc1394.h"
-#include <sys/time.h>
-#include <time.h>
-#include <string.h>
-
-GST_DEBUG_CATEGORY (dc1394_debug);
-#define GST_CAT_DEFAULT dc1394_debug
-
-enum
-{
-  PROP_0,
-  PROP_TIMESTAMP_OFFSET,
-  PROP_CAMNUM,
-  PROP_BUFSIZE,
-  PROP_ISO_SPEED
-      /* FILL ME */
-};
-
-
-GST_BOILERPLATE (GstDc1394, gst_dc1394, GstPushSrc, GST_TYPE_PUSH_SRC);
-
-static void gst_dc1394_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec);
-static void gst_dc1394_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec);
-
-static GstCaps *gst_dc1394_getcaps (GstBaseSrc * bsrc);
-static gboolean gst_dc1394_setcaps (GstBaseSrc * bsrc, GstCaps * caps);
-static void gst_dc1394_src_fixate (GstPad * pad, GstCaps * caps);
-
-static void gst_dc1394_get_times (GstBaseSrc * basesrc,
-    GstBuffer * buffer, GstClockTime * start, GstClockTime * end);
-
-static GstFlowReturn gst_dc1394_create (GstPushSrc * psrc, GstBuffer ** buffer);
-
-static GstStateChangeReturn
-gst_dc1394_change_state (GstElement * element, GstStateChange transition);
-
-static gboolean gst_dc1394_parse_caps (const GstCaps * caps,
-    gint * width,
-    gint * height,
-    gint * rate_numerator, gint * rate_denominator, gint * vmode, gint * bpp);
-
-static gint gst_dc1394_caps_set_format_vmode_caps (GstStructure * st,
-    gint mode);
-static gboolean gst_dc1394_set_caps_color (GstStructure * gs, gint mc);
-static void gst_dc1394_set_caps_framesize (GstStructure * gs, gint width,
-    gint height);
-static void gst_dc1394_set_caps_framesize_range (GstStructure * gs,
-    gint minwidth, gint maxwidth, gint incwidth,
-    gint minheight, gint maxheight, gint incheight);
-
-static gint gst_dc1394_caps_set_framerate_list (GstStructure * gs,
-    dc1394framerates_t * framerates);
-
-static GstCaps *gst_dc1394_get_all_dc1394_caps (void);
-static GstCaps *gst_dc1394_get_cam_caps (GstDc1394 * src);
-static gboolean gst_dc1394_open_cam_with_best_caps (GstDc1394 * src);
-static gint gst_dc1394_framerate_frac_to_const (gint num, gint denom);
-static void gst_dc1394_framerate_const_to_frac (gint framerateconst,
-    GValue * framefrac);
-static gboolean
-gst_dc1394_change_camera_transmission (GstDc1394 * src, gboolean on);
-static gboolean gst_dc1394_query (GstBaseSrc * bsrc, GstQuery * query);
-
-static void
-gst_dc1394_base_init (gpointer g_class)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-
-  gst_element_class_set_static_metadata (element_class,
-      "1394 IIDC Video Source", "Source/Video",
-      "libdc1394 based source, supports 1394 IIDC cameras",
-      "Antoine Tremblay <hexa00@gmail.com>");
-
-  gst_element_class_add_pad_template (element_class,
-      gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
-          gst_dc1394_get_all_dc1394_caps ()));
-
-}
-
-static void
-gst_dc1394_class_init (GstDc1394Class * klass)
-{
-  GObjectClass *gobject_class;
-  GstBaseSrcClass *gstbasesrc_class;
-  GstPushSrcClass *gstpushsrc_class;
-  GstElementClass *gstelement_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstbasesrc_class = (GstBaseSrcClass *) klass;
-  gstpushsrc_class = (GstPushSrcClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-
-  gobject_class->set_property = gst_dc1394_set_property;
-  gobject_class->get_property = gst_dc1394_get_property;
-
-  g_object_class_install_property (G_OBJECT_CLASS (klass),
-      PROP_TIMESTAMP_OFFSET, g_param_spec_int64 ("timestamp-offset",
-          "Timestamp offset",
-          "An offset added to timestamps set on buffers (in ns)", G_MININT64,
-          G_MAXINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (G_OBJECT_CLASS (klass),
-      PROP_CAMNUM, g_param_spec_int ("camera-number",
-          "The number of the camera on the firewire bus",
-          "The number of the camera on the firewire bus", 0,
-          G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (G_OBJECT_CLASS (klass),
-      PROP_BUFSIZE, g_param_spec_int ("buffer-size",
-          "The number of frames in the dma ringbuffer",
-          "The number of frames in the dma ringbuffer", 1,
-          G_MAXINT, 10, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (G_OBJECT_CLASS (klass),
-      PROP_ISO_SPEED, g_param_spec_int ("iso-speed",
-          "The iso bandwidth in Mbps (100, 200, 400, 800, 1600, 3200)",
-          "The iso bandwidth in Mbps (100, 200, 400, 800, 1600, 3200)", 100,
-          3200, 400, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
-  gstbasesrc_class->get_caps = gst_dc1394_getcaps;
-  gstbasesrc_class->set_caps = gst_dc1394_setcaps;
-  gstbasesrc_class->query = gst_dc1394_query;
-
-  gstbasesrc_class->get_times = gst_dc1394_get_times;
-  gstpushsrc_class->create = gst_dc1394_create;
-
-  gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_dc1394_change_state);
-}
-
-static void
-gst_dc1394_init (GstDc1394 * src, GstDc1394Class * g_class)
-{
-
-  src->segment_start_frame = -1;
-  src->segment_end_frame = -1;
-  src->timestamp_offset = 0;
-  src->caps = gst_dc1394_get_all_dc1394_caps ();
-  src->bufsize = 10;
-  src->iso_speed = 400;
-  src->camnum = 0;
-  src->n_frames = 0;
-
-  gst_pad_set_fixatecaps_function (GST_BASE_SRC_PAD (src),
-      gst_dc1394_src_fixate);
-
-  gst_base_src_set_live (GST_BASE_SRC (src), TRUE);
-}
-
-static void
-gst_dc1394_src_fixate (GstPad * pad, GstCaps * caps)
-{
-
-  GstDc1394 *src = GST_DC1394 (gst_pad_get_parent (pad));
-  GstStructure *structure;
-  int i;
-
-  GST_LOG_OBJECT (src, " fixating caps to closest to 320x240 , 30 fps");
-
-  for (i = 0; i < gst_caps_get_size (caps); ++i) {
-    structure = gst_caps_get_structure (caps, i);
-
-    gst_structure_fixate_field_nearest_int (structure, "width", 320);
-    gst_structure_fixate_field_nearest_int (structure, "height", 240);
-    gst_structure_fixate_field_nearest_fraction (structure, "framerate", 30, 1);
-  }
-  gst_object_unref (GST_OBJECT (src));
-}
-
-static gboolean
-gst_dc1394_query (GstBaseSrc * bsrc, GstQuery * query)
-{
-  gboolean res = TRUE;
-  GstDc1394 *src = GST_DC1394 (bsrc);
-
-  switch (GST_QUERY_TYPE (query)) {
-    case GST_QUERY_LATENCY:
-    {
-      GstClockTime min_latency, max_latency;
-
-      if (!src->camera) {
-        GST_WARNING_OBJECT (src,
-            "Can't give latency since device isn't open !");
-        res = FALSE;
-        goto done;
-      }
-
-      if (src->rate_denominator <= 0 || src->rate_numerator <= 0) {
-        GST_WARNING_OBJECT (bsrc,
-            "Can't give latency since framerate isn't fixated !");
-        res = FALSE;
-        goto done;
-      }
-
-      /* min latency is the time to capture one frame */
-      min_latency = gst_util_uint64_scale (GST_SECOND,
-          src->rate_denominator, src->rate_numerator);
-
-      /* max latency is total duration of the frame buffer */
-      max_latency = gst_util_uint64_scale (src->bufsize,
-          GST_SECOND * src->rate_denominator, src->rate_numerator);
-
-      GST_DEBUG_OBJECT (bsrc,
-          "report latency min %" GST_TIME_FORMAT " max %" GST_TIME_FORMAT,
-          GST_TIME_ARGS (min_latency), GST_TIME_ARGS (max_latency));
-
-      /* we are always live, the min latency is 1 frame and the max latency is
-       * the complete buffer of frames. */
-      gst_query_set_latency (query, TRUE, min_latency, max_latency);
-
-      res = TRUE;
-      break;
-    }
-    default:
-      res = GST_BASE_SRC_CLASS (parent_class)->query (bsrc, query);
-      break;
-  }
-
-done:
-  return res;
-}
-
-static void
-gst_dc1394_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstDc1394 *src = GST_DC1394 (object);
-
-  switch (prop_id) {
-    case PROP_TIMESTAMP_OFFSET:
-      src->timestamp_offset = g_value_get_int64 (value);
-      break;
-    case PROP_CAMNUM:
-      src->camnum = g_value_get_int (value);
-      break;
-    case PROP_BUFSIZE:
-      src->bufsize = g_value_get_int (value);
-      break;
-    case PROP_ISO_SPEED:
-      switch (g_value_get_int (value)) {
-        case 100:
-        case 200:
-        case 300:
-        case 400:
-        case 800:
-        case 1600:
-        case 3200:
-          // fallthrough
-          src->iso_speed = g_value_get_int (value);
-          break;
-        default:
-          g_warning ("%s: Invalid iso speed %d, ignoring",
-              GST_ELEMENT_NAME (src), g_value_get_int (value));
-          break;
-      }
-    default:
-      break;
-  }
-}
-
-static void
-gst_dc1394_get_property (GObject * object, guint prop_id, GValue * value,
-    GParamSpec * pspec)
-{
-  GstDc1394 *src = GST_DC1394 (object);
-
-  switch (prop_id) {
-    case PROP_TIMESTAMP_OFFSET:
-      g_value_set_int64 (value, src->timestamp_offset);
-      break;
-    case PROP_CAMNUM:
-      g_value_set_int (value, src->camnum);
-      break;
-    case PROP_BUFSIZE:
-      g_value_set_int (value, src->bufsize);
-      break;
-    case PROP_ISO_SPEED:
-      g_value_set_int (value, src->iso_speed);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static GstCaps *
-gst_dc1394_getcaps (GstBaseSrc * bsrc)
-{
-  GstDc1394 *gsrc;
-
-  gsrc = GST_DC1394 (bsrc);
-
-  g_return_val_if_fail (gsrc->caps, NULL);
-
-  return gst_caps_copy (gsrc->caps);
-}
-
-static gboolean
-gst_dc1394_setcaps (GstBaseSrc * bsrc, GstCaps * caps)
-{
-  gboolean res = TRUE;
-  GstDc1394 *dc1394;
-  gint width, height, rate_denominator, rate_numerator;
-  gint bpp, vmode;
-
-  dc1394 = GST_DC1394 (bsrc);
-
-  if (dc1394->caps) {
-    gst_caps_unref (dc1394->caps);
-  }
-
-  dc1394->caps = gst_caps_copy (caps);
-
-  res = gst_dc1394_parse_caps (caps, &width, &height,
-      &rate_numerator, &rate_denominator, &vmode, &bpp);
-
-  if (res) {
-    /* looks ok here */
-    dc1394->width = width;
-    dc1394->height = height;
-    dc1394->vmode = vmode;
-    dc1394->rate_numerator = rate_numerator;
-    dc1394->rate_denominator = rate_denominator;
-    dc1394->bpp = bpp;
-  }
-
-  return res;
-}
-
-static void
-gst_dc1394_get_times (GstBaseSrc * basesrc, GstBuffer * buffer,
-    GstClockTime * start, GstClockTime * end)
-{
-  /* for live sources, sync on the timestamp of the buffer */
-  if (gst_base_src_is_live (basesrc)) {
-    GstClockTime timestamp = GST_BUFFER_TIMESTAMP (buffer);
-
-    if (GST_CLOCK_TIME_IS_VALID (timestamp)) {
-      /* get duration to calculate end time */
-      GstClockTime duration = GST_BUFFER_DURATION (buffer);
-
-      if (GST_CLOCK_TIME_IS_VALID (duration)) {
-        *end = timestamp + duration;
-      }
-      *start = timestamp;
-    }
-  } else {
-    *start = -1;
-    *end = -1;
-  }
-}
-
-static GstFlowReturn
-gst_dc1394_create (GstPushSrc * psrc, GstBuffer ** buffer)
-{
-  GstDc1394 *src;
-  GstBuffer *outbuf;
-  GstCaps *caps;
-  dc1394video_frame_t *frame[1];
-  GstFlowReturn res = GST_FLOW_OK;
-  dc1394error_t err;
-
-  src = GST_DC1394 (psrc);
-
-  err = dc1394_capture_dequeue (src->camera, DC1394_CAPTURE_POLICY_WAIT, frame);
-
-  if (err != DC1394_SUCCESS) {
-    GST_ELEMENT_ERROR (src, RESOURCE, FAILED,
-        ("failed to dequeue frame"), ("failed to dequeue frame"));
-    goto error;
-  }
-
-  outbuf = gst_buffer_new_and_alloc (frame[0]->image_bytes);
-
-  memcpy (GST_BUFFER_MALLOCDATA (outbuf), (guchar *) frame[0]->image,
-      frame[0]->image_bytes * sizeof (guchar));
-
-  GST_BUFFER_DATA (outbuf) = GST_BUFFER_MALLOCDATA (outbuf);
-
-  caps = gst_pad_get_caps (GST_BASE_SRC_PAD (psrc));
-  gst_buffer_set_caps (outbuf, caps);
-  gst_caps_unref (caps);
-
-  GST_BUFFER_TIMESTAMP (outbuf) = src->timestamp_offset + src->running_time;
-  if (src->rate_numerator != 0) {
-    GST_BUFFER_DURATION (outbuf) = gst_util_uint64_scale_int (GST_SECOND,
-        src->rate_denominator, src->rate_numerator);
-  }
-
-  src->n_frames++;
-  if (src->rate_numerator != 0) {
-    src->running_time = gst_util_uint64_scale_int (src->n_frames * GST_SECOND,
-        src->rate_denominator, src->rate_numerator);
-  }
-
-  if (dc1394_capture_enqueue (src->camera, frame[0]) != DC1394_SUCCESS) {
-    GST_ELEMENT_ERROR (src, RESOURCE, FAILED, ("failed to enqueue frame"),
-        ("failed to enqueue frame"));
-    goto error;
-  }
-
-  *buffer = outbuf;
-
-  return res;
-
-error:
-  {
-    return GST_FLOW_ERROR;
-  }
-}
-
-
-static gboolean
-gst_dc1394_parse_caps (const GstCaps * caps,
-    gint * width,
-    gint * height,
-    gint * rate_numerator, gint * rate_denominator, gint * vmode, gint * bpp)
-{
-  const GstStructure *structure;
-  GstPadLinkReturn ret;
-  const GValue *framerate;
-
-  if (gst_caps_get_size (caps) < 1)
-    return FALSE;
-
-  structure = gst_caps_get_structure (caps, 0);
-
-  ret = gst_structure_get_int (structure, "width", width);
-  ret &= gst_structure_get_int (structure, "height", height);
-
-  framerate = gst_structure_get_value (structure, "framerate");
-
-  ret &= gst_structure_get_int (structure, "vmode", vmode);
-
-  ret &= gst_structure_get_int (structure, "bpp", bpp);
-
-
-  if (framerate) {
-    *rate_numerator = gst_value_get_fraction_numerator (framerate);
-    *rate_denominator = gst_value_get_fraction_denominator (framerate);
-  } else {
-    ret = FALSE;
-  }
-
-  return ret;
-}
-
-static GstStateChangeReturn
-gst_dc1394_change_state (GstElement * element, GstStateChange transition)
-{
-  GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
-  GstDc1394 *src = GST_DC1394 (element);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_NULL_TO_READY:
-      GST_LOG_OBJECT (src, "State change null to ready");
-      src->dc1394 = dc1394_new ();
-      break;
-    case GST_STATE_CHANGE_READY_TO_PAUSED:
-      GST_LOG_OBJECT (src, "State ready to paused");
-
-      if (src->caps) {
-        gst_caps_unref (src->caps);
-        src->caps = NULL;
-      }
-      src->caps = gst_dc1394_get_cam_caps (src);
-      if (src->caps == NULL) {
-        GST_LOG_OBJECT (src,
-            "Error : Set property  could not get cam caps ! , reverting to default");
-        src->caps = gst_dc1394_get_all_dc1394_caps ();
-        ret = GST_STATE_CHANGE_FAILURE;
-      }
-
-      break;
-    case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
-      GST_LOG_OBJECT (src, "State change paused to playing");
-
-      if (!gst_dc1394_open_cam_with_best_caps (src)) {
-        ret = GST_STATE_CHANGE_FAILURE;
-      }
-
-      if (src->camera && !gst_dc1394_change_camera_transmission (src, TRUE)) {
-        ret = GST_STATE_CHANGE_FAILURE;
-      }
-
-      break;
-    default:
-      break;
-  }
-  if (ret == GST_STATE_CHANGE_FAILURE)
-    return ret;
-
-  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
-      GST_LOG_OBJECT (src, "State change playing to paused");
-      break;
-    case GST_STATE_CHANGE_PAUSED_TO_READY:
-      GST_LOG_OBJECT (src, "State change paused to ready");
-
-      if (src->camera && !gst_dc1394_change_camera_transmission (src, FALSE)) {
-
-        if (src->camera) {
-          dc1394_camera_free (src->camera);
-        }
-        src->camera = NULL;
-
-        if (src->caps) {
-          gst_caps_unref (src->caps);
-          src->caps = NULL;
-        }
-
-        ret = GST_STATE_CHANGE_FAILURE;
-      }
-
-      break;
-    case GST_STATE_CHANGE_READY_TO_NULL:
-      GST_LOG_OBJECT (src, "State change ready to null");
-      if (src->camera) {
-        dc1394_camera_free (src->camera);
-      }
-      src->camera = NULL;
-
-      if (src->dc1394) {
-        dc1394_free (src->dc1394);
-      }
-      src->dc1394 = NULL;
-
-      if (src->caps) {
-        gst_caps_unref (src->caps);
-        src->caps = NULL;
-      }
-      break;
-    default:
-      break;
-  }
-
-  return ret;
-}
-
-
-static gint
-gst_dc1394_caps_set_format_vmode_caps (GstStructure * gs, gint mode)
-{
-  gint retval = 0;
-
-  switch (mode) {
-    case DC1394_VIDEO_MODE_160x120_YUV444:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_YUV444);
-      gst_dc1394_set_caps_framesize (gs, 160, 120);
-      break;
-    case DC1394_VIDEO_MODE_320x240_YUV422:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_YUV422);
-      gst_dc1394_set_caps_framesize (gs, 320, 240);
-      break;
-    case DC1394_VIDEO_MODE_640x480_YUV411:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_YUV411);
-      gst_dc1394_set_caps_framesize (gs, 640, 480);
-      break;
-    case DC1394_VIDEO_MODE_640x480_YUV422:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_YUV422);
-      gst_dc1394_set_caps_framesize (gs, 640, 480);
-      break;
-    case DC1394_VIDEO_MODE_640x480_RGB8:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_RGB8);
-      gst_dc1394_set_caps_framesize (gs, 640, 480);
-      break;
-    case DC1394_VIDEO_MODE_640x480_MONO8:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_MONO8);
-      gst_dc1394_set_caps_framesize (gs, 640, 480);
-      break;
-    case DC1394_VIDEO_MODE_640x480_MONO16:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_MONO16);
-      gst_dc1394_set_caps_framesize (gs, 640, 480);
-      break;
-    case DC1394_VIDEO_MODE_800x600_YUV422:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_YUV422);
-      gst_dc1394_set_caps_framesize (gs, 800, 600);
-      break;
-    case DC1394_VIDEO_MODE_800x600_RGB8:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_RGB8);
-      gst_dc1394_set_caps_framesize (gs, 800, 600);
-      break;
-    case DC1394_VIDEO_MODE_800x600_MONO8:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_MONO8);
-      gst_dc1394_set_caps_framesize (gs, 800, 600);
-      break;
-    case DC1394_VIDEO_MODE_1024x768_YUV422:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_YUV422);
-      gst_dc1394_set_caps_framesize (gs, 1024, 768);
-      break;
-    case DC1394_VIDEO_MODE_1024x768_RGB8:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_RGB8);
-      gst_dc1394_set_caps_framesize (gs, 1024, 768);
-      break;
-    case DC1394_VIDEO_MODE_1024x768_MONO8:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_MONO8);
-      gst_dc1394_set_caps_framesize (gs, 1024, 768);
-      break;
-    case DC1394_VIDEO_MODE_800x600_MONO16:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_MONO16);
-      gst_dc1394_set_caps_framesize (gs, 800, 600);
-      break;
-    case DC1394_VIDEO_MODE_1024x768_MONO16:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_MONO16);
-      gst_dc1394_set_caps_framesize (gs, 1024, 768);
-      break;
-    case DC1394_VIDEO_MODE_1280x960_YUV422:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_YUV422);
-      gst_dc1394_set_caps_framesize (gs, 1280, 960);
-      break;
-    case DC1394_VIDEO_MODE_1280x960_RGB8:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_RGB8);
-      gst_dc1394_set_caps_framesize (gs, 1280, 960);
-      break;
-    case DC1394_VIDEO_MODE_1280x960_MONO8:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_MONO8);
-      gst_dc1394_set_caps_framesize (gs, 1280, 960);
-      break;
-    case DC1394_VIDEO_MODE_1600x1200_YUV422:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_YUV422);
-      gst_dc1394_set_caps_framesize (gs, 1600, 1200);
-      break;
-    case DC1394_VIDEO_MODE_1600x1200_RGB8:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_RGB8);
-      gst_dc1394_set_caps_framesize (gs, 1600, 1200);
-      break;
-    case DC1394_VIDEO_MODE_1600x1200_MONO8:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_MONO8);
-      gst_dc1394_set_caps_framesize (gs, 1600, 1200);
-      break;
-    case DC1394_VIDEO_MODE_1280x960_MONO16:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_MONO16);
-      gst_dc1394_set_caps_framesize (gs, 1280, 960);
-      break;
-    case DC1394_VIDEO_MODE_1600x1200_MONO16:
-      gst_dc1394_set_caps_color (gs, DC1394_COLOR_CODING_MONO8);
-      gst_dc1394_set_caps_framesize (gs, 1600, 1200);
-      break;
-
-    default:
-      retval = -1;
-  }
-
-  return retval;
-
-}
-
-
-static gboolean
-gst_dc1394_set_caps_color (GstStructure * gs, gint mc)
-{
-  gboolean ret = TRUE;
-  gint fourcc;
-
-  switch (mc) {
-    case DC1394_COLOR_CODING_YUV444:
-      gst_structure_set_name (gs, "video/x-raw-yuv");
-
-      fourcc = GST_MAKE_FOURCC ('I', 'Y', 'U', '2');
-      gst_structure_set (gs,
-          "format", GST_TYPE_FOURCC, fourcc, "bpp", G_TYPE_INT, 16, NULL);
-      break;
-
-    case DC1394_COLOR_CODING_YUV422:
-      gst_structure_set_name (gs, "video/x-raw-yuv");
-      fourcc = GST_MAKE_FOURCC ('U', 'Y', 'V', 'Y');
-      gst_structure_set (gs,
-          "format", GST_TYPE_FOURCC, fourcc, "bpp", G_TYPE_INT, 16, NULL);
-      break;
-
-    case DC1394_COLOR_CODING_YUV411:
-      gst_structure_set_name (gs, "video/x-raw-yuv");
-      fourcc = GST_MAKE_FOURCC ('I', 'Y', 'U', '1');
-      gst_structure_set (gs,
-          "format", GST_TYPE_FOURCC, fourcc, "bpp", G_TYPE_INT, 12, NULL);
-      break;
-    case DC1394_COLOR_CODING_RGB8:
-      gst_structure_set_name (gs, "video/x-raw-rgb");
-      gst_structure_set (gs,
-          "bpp", G_TYPE_INT, 24,
-          "depth", G_TYPE_INT, 24,
-          "endianness", G_TYPE_INT, G_BIG_ENDIAN,
-          "red_mask", G_TYPE_INT, 0xFF0000,
-          "green_mask", G_TYPE_INT, 0x00FF00,
-          "blue_mask", G_TYPE_INT, 0x0000FF, NULL);
-      break;
-    case DC1394_COLOR_CODING_MONO8:
-      gst_structure_set_name (gs, "video/x-raw-gray");
-      gst_structure_set (gs,
-          "bpp", G_TYPE_INT, 8, "depth", G_TYPE_INT, 8, NULL);
-
-      break;
-    case DC1394_COLOR_CODING_MONO16:
-      gst_structure_set_name (gs, "video/x-raw-gray");
-      gst_structure_set (gs,
-          "bpp", G_TYPE_INT, 16, "depth", G_TYPE_INT, 16, NULL);
-      // there is no fourcc for this format
-      break;
-    default:
-      GST_DEBUG ("Ignoring unsupported color format %d", mc);
-      ret = FALSE;
-      break;
-  }
-  return ret;
-}
-
-
-static void
-gst_dc1394_set_caps_framesize (GstStructure * gs, gint width, gint height)
-{
-  gst_structure_set (gs,
-      "width", G_TYPE_INT, width, "height", G_TYPE_INT, height, NULL);
-}
-
-static void
-gst_dc1394_set_caps_framesize_range (GstStructure * gs,
-    gint minwidth,
-    gint maxwidth,
-    gint incwidth, gint minheight, gint maxheight, gint incheight)
-{
-  /* 
-     Format 7 cameras allow you to change the camera width/height in multiples
-     of incwidth/incheight up to some max. This sets the necessary
-     list structure in the gst caps structure
-   */
-
-  GValue widthlist = { 0 };
-  GValue widthval = { 0 };
-  GValue heightlist = { 0 };
-  GValue heightval = { 0 };
-  gint x = 0;
-
-  g_value_init (&widthlist, GST_TYPE_LIST);
-  g_value_init (&widthval, G_TYPE_INT);
-  for (x = minwidth; x <= maxwidth; x += incwidth) {
-    g_value_set_int (&widthval, x);
-    gst_value_list_append_value (&widthlist, &widthval);
-  }
-  gst_structure_set_value (gs, "width", &widthlist);
-
-  g_value_unset (&widthlist);
-  g_value_unset (&widthval);
-
-  g_value_init (&heightlist, GST_TYPE_LIST);
-  g_value_init (&heightval, G_TYPE_INT);
-  for (x = minheight; x <= maxheight; x += incheight) {
-    g_value_set_int (&heightval, x);
-    gst_value_list_append_value (&heightlist, &heightval);
-  }
-
-  gst_structure_set_value (gs, "height", &heightlist);
-
-  g_value_unset (&heightlist);
-  g_value_unset (&heightval);
-}
-
-
-static gint
-gst_dc1394_caps_set_framerate_list (GstStructure * gs,
-    dc1394framerates_t * framerates)
-{
-  GValue framefrac = { 0 };
-  GValue frameratelist = { 0 };
-  gint f;
-
-  g_value_init (&frameratelist, GST_TYPE_LIST);
-  g_value_init (&framefrac, GST_TYPE_FRACTION);
-
-  // figure out the frame rate
-  for (f = framerates->num - 1; f >= 0; f--) {
-    /* reverse order so we place the faster frame rates higher in 
-       the sequence */
-    if (framerates->framerates[f]) {
-      gst_dc1394_framerate_const_to_frac (framerates->framerates[f],
-          &framefrac);
-
-      gst_value_list_append_value (&frameratelist, &framefrac);
-    }
-  }
-  gst_structure_set_value (gs, "framerate", &frameratelist);
-
-  g_value_unset (&framefrac);
-  g_value_unset (&frameratelist);
-  return 0;
-}
-
-
-
-static void
-gst_dc1394_framerate_const_to_frac (gint framerateconst, GValue * framefrac)
-{
-
-  // frac must have been already initialized
-
-  switch (framerateconst) {
-    case DC1394_FRAMERATE_1_875:
-      gst_value_set_fraction (framefrac, 15, 8);
-      break;
-    case DC1394_FRAMERATE_3_75:
-      gst_value_set_fraction (framefrac, 15, 4);
-      break;
-    case DC1394_FRAMERATE_7_5:
-      gst_value_set_fraction (framefrac, 15, 2);
-      break;
-    case DC1394_FRAMERATE_15:
-      gst_value_set_fraction (framefrac, 15, 1);
-      break;
-    case DC1394_FRAMERATE_30:
-      gst_value_set_fraction (framefrac, 30, 1);
-      break;
-    case DC1394_FRAMERATE_60:
-      gst_value_set_fraction (framefrac, 60, 1);
-      break;
-    case DC1394_FRAMERATE_120:
-      gst_value_set_fraction (framefrac, 120, 1);
-      break;
-    case DC1394_FRAMERATE_240:
-      gst_value_set_fraction (framefrac, 240, 1);
-      break;
-  }
-}
-
-static GstCaps *
-gst_dc1394_get_all_dc1394_caps (void)
-{
-  /* 
-     generate all possible caps
-
-   */
-
-  GstCaps *gcaps;
-  gint i = 0;
-
-  gcaps = gst_caps_new_empty ();
-  // first, the fixed mode caps
-  for (i = DC1394_VIDEO_MODE_MIN; i < DC1394_VIDEO_MODE_EXIF; i++) {
-    GstStructure *gs = gst_structure_empty_new ("video");
-    gint ret = gst_dc1394_caps_set_format_vmode_caps (gs, i);
-
-    gst_structure_set (gs,
-        "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL);
-    gst_structure_set (gs, "vmode", G_TYPE_INT, i, NULL);
-    if (ret >= 0) {
-      gst_caps_append_structure (gcaps, gs);
-    }
-  }
-
-  // then Format 7 options
-
-  for (i = DC1394_COLOR_CODING_MIN; i <= DC1394_COLOR_CODING_MAX; i++) {
-    GstStructure *gs = gst_structure_empty_new ("video");
-
-    //int ret =  gst_dc1394_caps_set_format_vmode_caps(gs, i); 
-
-    gst_structure_set (gs, "vmode", GST_TYPE_INT_RANGE, 1, G_MAXINT, NULL);
-
-    gst_structure_set (gs,
-        "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL);
-    gst_structure_set (gs,
-        "width", GST_TYPE_INT_RANGE, 1, G_MAXINT,
-        "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, NULL);
-
-    if (gst_dc1394_set_caps_color (gs, i)) {
-      gst_caps_append_structure (gcaps, gs);
-    }
-  }
-  return gcaps;
-
-}
-
-GstCaps *
-gst_dc1394_get_cam_caps (GstDc1394 * src)
-{
-
-  dc1394camera_t *camera = NULL;
-  dc1394camera_list_t *cameras = NULL;
-  dc1394error_t camerr;
-  gint i, j;
-  dc1394video_modes_t modes;
-  dc1394framerates_t framerates;
-  GstCaps *gcaps = NULL;
-
-  gcaps = gst_caps_new_empty ();
-
-  camerr = dc1394_camera_enumerate (src->dc1394, &cameras);
-
-  if (camerr != DC1394_SUCCESS || cameras == NULL) {
-    GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND,
-        ("Can't find cameras error : %d", camerr),
-        ("Can't find cameras error : %d", camerr));
-    goto error;
-  }
-
-  if (cameras->num == 0) {
-    GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND, ("There were no cameras"),
-        ("There were no cameras"));
-    goto error;
-  }
-
-  if (src->camnum > (cameras->num - 1)) {
-    GST_ELEMENT_ERROR (src, RESOURCE, FAILED, ("Invalid camera number"),
-        ("Invalid camera number %d", src->camnum));
-    goto error;
-  }
-
-  camera =
-      dc1394_camera_new_unit (src->dc1394, cameras->ids[src->camnum].guid,
-      cameras->ids[src->camnum].unit);
-
-  dc1394_camera_free_list (cameras);
-  cameras = NULL;
-
-  camerr = dc1394_video_get_supported_modes (camera, &modes);
-  if (camerr != DC1394_SUCCESS) {
-    GST_ELEMENT_ERROR (src, RESOURCE, FAILED, ("Error getting supported modes"),
-        ("Error getting supported modes"));
-    goto error;
-  }
-
-  for (i = modes.num - 1; i >= 0; i--) {
-    int m = modes.modes[i];
-
-    if (m < DC1394_VIDEO_MODE_EXIF) {
-
-      GstStructure *gs = gst_structure_empty_new ("video");
-
-      gst_structure_set (gs, "vmode", G_TYPE_INT, m, NULL);
-
-      if (gst_dc1394_caps_set_format_vmode_caps (gs, m) < 0) {
-        GST_ELEMENT_ERROR (src, STREAM, FAILED,
-            ("attempt to set mode to %d failed", m),
-            ("attempt to set mode to %d failed", m));
-        goto error;
-      } else {
-
-        camerr = dc1394_video_get_supported_framerates (camera, m, &framerates);
-        gst_dc1394_caps_set_framerate_list (gs, &framerates);
-        gst_caps_append_structure (gcaps, gs);
-
-      }
-    } else {
-      // FORMAT 7
-      guint maxx, maxy;
-      GstStructure *gs = gst_structure_empty_new ("video");
-      dc1394color_codings_t colormodes;
-      guint xunit, yunit;
-
-      gst_structure_set (gs, "vmode", G_TYPE_INT, m, NULL);
-
-      // Get the maximum frame size
-      camerr = dc1394_format7_get_max_image_size (camera, m, &maxx, &maxy);
-      if (camerr != DC1394_SUCCESS) {
-        GST_ELEMENT_ERROR (src, RESOURCE, FAILED,
-            ("Error getting format 7 max image size"),
-            ("Error getting format 7 max image size"));
-        goto error;
-      }
-      GST_LOG_OBJECT (src, "Format 7 maxx=%d maxy=%d", maxx, maxy);
-
-      camerr = dc1394_format7_get_unit_size (camera, m, &xunit, &yunit);
-      if (camerr != DC1394_SUCCESS) {
-        GST_ELEMENT_ERROR (src, RESOURCE, FAILED,
-            ("Error getting format 7 image unit size"),
-            ("Error getting format 7 image unit size"));
-        goto error;
-      }
-      GST_LOG_OBJECT (src, "Format 7 unitx=%d unity=%d", xunit, yunit);
-
-      gst_dc1394_set_caps_framesize_range (gs, xunit, maxx, xunit,
-          yunit, maxy, yunit);
-
-      // note that format 7 has no concept of a framerate, so we pass the 
-      // full range
-      gst_structure_set (gs,
-          "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL);
-
-      // get the available color codings
-      camerr = dc1394_format7_get_color_codings (camera, m, &colormodes);
-      if (camerr != DC1394_SUCCESS) {
-        GST_ELEMENT_ERROR (src, RESOURCE, FAILED,
-            ("Error getting format 7 color modes"),
-            ("Error getting format 7 color modes"));
-        goto error;
-      }
-
-      for (j = 0; j < colormodes.num; j++) {
-        GstStructure *newgs = gst_structure_copy (gs);
-
-        gst_dc1394_set_caps_color (newgs, colormodes.codings[j]);
-        GST_LOG_OBJECT (src, "Format 7 colormode set : %d",
-            colormodes.codings[j]);
-        // note that since there are multiple color modes, we append
-        // multiple structures.
-        gst_caps_append_structure (gcaps, newgs);
-      }
-    }
-  }
-
-  if (camera) {
-    dc1394_camera_free (camera);
-  }
-
-  return gcaps;
-
-error:
-
-  if (gcaps) {
-    gst_caps_unref (gcaps);
-  }
-
-  if (cameras) {
-    dc1394_camera_free_list (cameras);
-    cameras = NULL;
-  }
-
-  if (camera) {
-    dc1394_camera_free (camera);
-    camera = NULL;
-  }
-
-  return NULL;
-}
-
-static gint
-gst_dc1394_framerate_frac_to_const (gint num, gint denom)
-{
-  // frac must have been already initialized
-  int retvalue = -1;
-
-  if (num == 15 && denom == 8)
-    retvalue = DC1394_FRAMERATE_1_875;
-
-  if (num == 15 && denom == 4)
-    retvalue = DC1394_FRAMERATE_3_75;
-
-  if (num == 15 && denom == 2)
-    retvalue = DC1394_FRAMERATE_7_5;
-
-  if (num == 15 && denom == 1)
-    retvalue = DC1394_FRAMERATE_15;
-
-
-  if (num == 30 && denom == 1)
-    retvalue = DC1394_FRAMERATE_30;
-
-  if (num == 60 && denom == 1)
-    retvalue = DC1394_FRAMERATE_60;
-
-  return retvalue;
-}
-
-
-static gboolean
-gst_dc1394_open_cam_with_best_caps (GstDc1394 * src)
-{
-  dc1394camera_list_t *cameras = NULL;
-  gint err = 0;
-  int framerateconst;
-
-  GST_LOG_OBJECT (src, "Opening the camera!!!");
-
-
-  if (dc1394_camera_enumerate (src->dc1394, &cameras) != DC1394_SUCCESS) {
-    GST_ELEMENT_ERROR (src, RESOURCE, FAILED, ("Can't find cameras"),
-        ("Can't find cameras"));
-    goto error;
-  }
-
-  GST_LOG_OBJECT (src, "Found  %d  cameras", cameras->num);
-
-  if (src->camnum > (cameras->num - 1)) {
-    GST_ELEMENT_ERROR (src, RESOURCE, FAILED, ("Invalid camera number"),
-        ("Invalid camera number"));
-    goto error;
-  }
-
-  GST_LOG_OBJECT (src, "Opening camera : %d", src->camnum);
-
-  src->camera =
-      dc1394_camera_new_unit (src->dc1394, cameras->ids[src->camnum].guid,
-      cameras->ids[src->camnum].unit);
-
-  dc1394_camera_free_list (cameras);
-  cameras = NULL;
-
-  // figure out mode
-  framerateconst = gst_dc1394_framerate_frac_to_const (src->rate_numerator,
-      src->rate_denominator);
-
-  GST_LOG_OBJECT (src, "The dma buffer queue size is %d  buffers",
-      src->bufsize);
-
-  switch (src->iso_speed) {
-    case 100:
-      err = dc1394_video_set_iso_speed (src->camera, DC1394_ISO_SPEED_100);
-      break;
-    case 200:
-      err = dc1394_video_set_iso_speed (src->camera, DC1394_ISO_SPEED_200);
-      break;
-    case 400:
-      err = dc1394_video_set_iso_speed (src->camera, DC1394_ISO_SPEED_400);
-      break;
-    case 800:
-      if (src->camera->bmode_capable > 0) {
-        dc1394_video_set_operation_mode (src->camera,
-            DC1394_OPERATION_MODE_1394B);
-        err = dc1394_video_set_iso_speed (src->camera, DC1394_ISO_SPEED_800);
-      }
-      break;
-    case 1600:
-      if (src->camera->bmode_capable > 0) {
-        dc1394_video_set_operation_mode (src->camera,
-            DC1394_OPERATION_MODE_1394B);
-        err = dc1394_video_set_iso_speed (src->camera, DC1394_ISO_SPEED_1600);
-      }
-      break;
-    case 3200:
-      if (src->camera->bmode_capable > 0) {
-        dc1394_video_set_operation_mode (src->camera,
-            DC1394_OPERATION_MODE_1394B);
-        err = dc1394_video_set_iso_speed (src->camera, DC1394_ISO_SPEED_3200);
-      }
-      break;
-    default:
-      GST_ELEMENT_ERROR (src, RESOURCE, FAILED, ("Invalid ISO speed"),
-          ("Invalid ISO speed"));
-      goto error;
-      break;
-  }
-
-  if (err != DC1394_SUCCESS) {
-    GST_ELEMENT_ERROR (src, RESOURCE, FAILED, ("Could not set ISO speed"),
-        ("Could not set ISO speed"));
-    goto error;
-  }
-
-  GST_LOG_OBJECT (src, "Setting mode :  %d", src->vmode);
-  err = dc1394_video_set_mode (src->camera, src->vmode);
-
-  if (err != DC1394_SUCCESS) {
-    GST_ELEMENT_ERROR (src, RESOURCE, FAILED, ("Could not set video mode %d",
-            src->vmode), ("Could not set video mode %d", src->vmode));
-    goto error;
-  }
-
-  GST_LOG_OBJECT (src, "Setting framerate :  %d", framerateconst);
-  dc1394_video_set_framerate (src->camera, framerateconst);
-
-  if (err != DC1394_SUCCESS) {
-    GST_ELEMENT_ERROR (src, RESOURCE, FAILED, ("Could not set framerate to %d",
-            framerateconst), ("Could not set framerate to %d", framerateconst));
-    goto error;
-  }
-  // set any format-7 parameters if this is a format-7 mode
-  if (src->vmode >= DC1394_VIDEO_MODE_FORMAT7_MIN &&
-      src->vmode <= DC1394_VIDEO_MODE_FORMAT7_MAX) {
-    // the big thing we care about right now is frame size
-    err = dc1394_format7_set_image_size (src->camera, src->vmode,
-        src->width, src->height);
-    if (err != DC1394_SUCCESS) {
-      GST_ELEMENT_ERROR (src, RESOURCE, FAILED,
-          ("Could not set format 7 image size to %d x %d", src->width,
-              src->height), ("Could not set format 7 image size to %d x %d",
-              src->width, src->height));
-
-      goto error;
-    }
-
-  }
-  err = dc1394_capture_setup (src->camera, src->bufsize,
-      DC1394_CAPTURE_FLAGS_DEFAULT);
-  if (err != DC1394_SUCCESS) {
-    GST_ELEMENT_ERROR (src, RESOURCE, FAILED, ("Error setting capture mode"),
-        ("Error setting capture mode"));
-  }
-  if (err != DC1394_SUCCESS) {
-    if (err == DC1394_NO_BANDWIDTH) {
-      GST_LOG_OBJECT (src, "Capture setup_dma failed."
-          "Trying to cleanup the iso_channels_and_bandwidth and retrying");
-
-      // try to cleanup the bandwidth and retry 
-      err = dc1394_iso_release_all (src->camera);
-      if (err != DC1394_SUCCESS) {
-        GST_ELEMENT_ERROR (src, RESOURCE, FAILED,
-            ("Could not cleanup bandwidth"), ("Could not cleanup bandwidth"));
-        goto error;
-      } else {
-        err =
-            dc1394_capture_setup (src->camera, src->bufsize,
-            DC1394_CAPTURE_FLAGS_DEFAULT);
-        if (err != DC1394_SUCCESS) {
-          GST_ELEMENT_ERROR (src, RESOURCE, FAILED,
-              ("unable to setup camera error %d", err),
-              ("unable to setup camera error %d", err));
-          goto error;
-        }
-      }
-    } else {
-      GST_ELEMENT_ERROR (src, RESOURCE, FAILED,
-          ("unable to setup camera error %d", err),
-          ("unable to setup camera error %d", err));
-      goto error;
-
-    }
-  }
-
-
-  return TRUE;
-
-error:
-
-  if (src->camera) {
-    dc1394_camera_free (src->camera);
-    src->camera = NULL;
-  }
-
-  return FALSE;
-
-}
-
-
-gboolean
-gst_dc1394_change_camera_transmission (GstDc1394 * src, gboolean on)
-{
-  dc1394switch_t status = DC1394_OFF;
-  dc1394error_t err = DC1394_FAILURE;
-  gint i = 0;
-
-  g_return_val_if_fail (src->camera, FALSE);
-
-  if (on) {
-
-    status = dc1394_video_set_transmission (src->camera, DC1394_ON);
-
-    i = 0;
-    while (status == DC1394_OFF && i++ < 5) {
-      g_usleep (50000);
-      if (dc1394_video_get_transmission (src->camera,
-              &status) != DC1394_SUCCESS) {
-        if (status == DC1394_OFF) {
-          GST_LOG_OBJECT (src, "camera is still off , retrying");
-        }
-      }
-    }
-
-    if (i == 5) {
-      GST_ELEMENT_ERROR (src, RESOURCE, FAILED,
-          ("Camera doesn't seem to want to turn on!"),
-          ("Camera doesn't seem to want to turn on!"));
-      return FALSE;
-    }
-
-    GST_LOG_OBJECT (src, "got transmision status ON");
-
-  } else {
-
-    if (dc1394_video_set_transmission (src->camera,
-            DC1394_OFF) != DC1394_SUCCESS) {
-      GST_ELEMENT_ERROR (src, RESOURCE, FAILED, ("Unable to stop transmision"),
-          ("Unable to stop transmision"));
-      return FALSE;
-    }
-
-    GST_LOG_OBJECT (src, "Stopping capture");
-
-    err = dc1394_capture_stop (src->camera);
-    if (err > 0) {
-      GST_ELEMENT_ERROR (src, RESOURCE, FAILED, ("Capture stop error : %d ",
-              err), ("Capture stop error : %d ", err));
-      return FALSE;
-    } else {
-      GST_LOG_OBJECT (src, "Capture stoped successfully");
-    }
-  }
-
-  return TRUE;
-}
-
-
-static gboolean
-plugin_init (GstPlugin * plugin)
-{
-  GST_DEBUG_CATEGORY_INIT (dc1394_debug, "dc1394", 0, "DC1394 interface");
-
-  return gst_element_register (plugin, "dc1394src", GST_RANK_NONE,
-      GST_TYPE_DC1394);
-
-}
-
-
-GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
-    GST_VERSION_MINOR,
-    dc1394,
-    "1394 IIDC Video Source",
-    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
diff --git a/ext/dc1394/gstdc1394.h b/ext/dc1394/gstdc1394.h
deleted file mode 100644
index a27b1f8..0000000
--- a/ext/dc1394/gstdc1394.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* GStreamer
- * Copyright (C) <2006> Eric Jonas <jonas@mit.edu>
- * Copyright (C) <2006> Antoine Tremblay <hexa00@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef __GST_DC1394_H__
-#define __GST_DC1394_H__
-
-#include <gst/gst.h>
-#include <gst/base/gstpushsrc.h>
-#include <dc1394/control.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_DC1394 \
-  (gst_dc1394_get_type())
-#define GST_DC1394(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DC1394,GstDc1394))
-#define GST_DC1394_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DC1394,GstDc1394))
-#define GST_IS_DC1394(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DC1394))
-#define GST_IS_DC1394_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DC1394))
-
-typedef struct _GstDc1394 GstDc1394;
-typedef struct _GstDc1394Class GstDc1394Class;
-
-struct _GstDc1394 {
-  GstPushSrc element;
-
-  /* video state */
-  gint width;
-  gint height;
-  gint vmode; 
-
-  gint bpp;
-  gint rate_numerator;
-  gint rate_denominator;
-
-  /* private */
-  gint64 timestamp_offset;		/* base offset */
-  GstClockTime running_time;		/* total running time */
-  gint64 n_frames;			/* total frames sent */
-  gint64 segment_start_frame;
-  gint64 segment_end_frame;
-  gboolean segment;
-  gint camnum; 
-  gint bufsize; 
-  gint iso_speed;
-
-  dc1394_t * dc1394;
-  dc1394camera_t * camera; 
-
-  GstCaps *caps;
-};
-
-struct _GstDc1394Class {
-  GstPushSrcClass parent_class;
-};
-
-GType gst_dc1394_get_type (void);
-
-G_END_DECLS
-
-#endif /* __GST_DC1394_H__ */
diff --git a/ext/dc1394/gstdc1394src.c b/ext/dc1394/gstdc1394src.c
new file mode 100644
index 0000000..3ab3026
--- /dev/null
+++ b/ext/dc1394/gstdc1394src.c
@@ -0,0 +1,1247 @@
+/* GStreamer
+ * Copyright (C) <2006> Eric Jonas <jonas@mit.edu>
+ * Copyright (C) <2006> Antoine Tremblay <hexa00@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:element-dc1394src
+ *
+ * Source for IIDC (Instrumentation & Industrial Digital Camera) firewire
+ * cameras. If several cameras are connected to the system, the desired one
+ * can be selected by its GUID and an optional unit number (most cameras are
+ * single unit and do not require it). The frame size, rate and format are set
+ * from capabilities. Although the IIDC specification includes a raw video
+ * mode, many cameras use mono video modes to capture in Bayer format.
+ * Thus, for each mono video mode supported by a camera, both gray raw and Bayer
+ * corresponding video formats are exposed in the capabilities.
+ * The Bayer pattern is left unspecified.
+ *
+ * <refsect2>
+ * <title>Example launch lines</title>
+ * |[
+ * gst-launch-1.0 -v dc1394src ! videoconvert ! autovideosink
+ * ]| Capture and display frames from the first camera available in the system.
+ * |[
+ * gst-launch-1.0 dc1394src guid=00074813004DF937 \
+ *     ! "video/x-bayer,format=gbrg,width=1280,height=960,framerate=15/2" \
+ *     ! bayer2rgb ! videoconvert ! autovideosink
+ * ]| Capture and display frames from a specific camera in the desired format.
+ * </refsect2>
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "gstdc1394src.h"
+#include <gst/video/video.h>
+
+GST_DEBUG_CATEGORY_STATIC (dc1394_debug);
+#define GST_CAT_DEFAULT dc1394_debug
+
+
+enum
+{
+  PROP_0,
+  PROP_CAMERA_GUID,
+  PROP_CAMERA_UNIT,
+  PROP_ISO_SPEED,
+  PROP_DMA_BUFFER_SIZE
+};
+
+
+#define GST_TYPE_DC1394_ISO_SPEED (gst_dc1394_iso_speed_get_type ())
+static GType
+gst_dc1394_iso_speed_get_type (void)
+{
+  static const GEnumValue iso_speeds[] = {
+    {100, "DC1394 ISO speed 100", "100"},
+    {200, "DC1394 ISO speed 200", "200"},
+    {400, "DC1394 ISO speed 400", "400"},
+    {800, "DC1394 ISO speed 800", "800"},
+    {1600, "DC1394 ISO speed 1600", "1600"},
+    {3200, "DC1394 ISO speed 3200", "3200"},
+    {0, NULL, NULL}
+  };
+  static GType type = 0;
+
+  if (!type) {
+    type = g_enum_register_static ("GstDC1394ISOSpeed", iso_speeds);
+  }
+  return type;
+}
+
+
+#define gst_dc1394_src_parent_class parent_class
+G_DEFINE_TYPE (GstDC1394Src, gst_dc1394_src, GST_TYPE_PUSH_SRC);
+
+static void gst_dc1394_src_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_dc1394_src_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static gboolean gst_dc1394_src_start (GstBaseSrc * bsrc);
+static gboolean gst_dc1394_src_stop (GstBaseSrc * bsrc);
+static gboolean gst_dc1394_src_set_caps (GstBaseSrc * bsrc, GstCaps * caps);
+static GstCaps *gst_dc1394_src_get_caps (GstBaseSrc * bsrc, GstCaps * filter);
+static GstFlowReturn gst_dc1394_src_create (GstPushSrc * psrc,
+    GstBuffer ** buffer);
+
+static void gst_dc1394_src_set_prop_camera_guid (GstDC1394Src * src,
+    const gchar * guid);
+static gchar *gst_dc1394_src_get_prop_camera_guid (GstDC1394Src * src);
+static void gst_dc1394_src_set_prop_camera_unit (GstDC1394Src * src, gint unit);
+static gint gst_dc1394_src_get_prop_camera_unit (GstDC1394Src * src);
+static void gst_dc1394_src_set_prop_iso_speed (GstDC1394Src * src, guint speed);
+static guint gst_dc1394_src_get_prop_iso_speed (GstDC1394Src * src);
+static void gst_dc1394_src_set_prop_dma_buffer_size (GstDC1394Src * src,
+    guint size);
+static guint gst_dc1394_src_get_prop_dma_buffer_size (GstDC1394Src * src);
+static gboolean gst_dc1394_src_open_cam (GstDC1394Src * src);
+static void gst_dc1394_src_close_cam (GstDC1394Src * src);
+static gboolean gst_dc1394_src_start_cam (GstDC1394Src * src);
+static gboolean gst_dc1394_src_stop_cam (GstDC1394Src * src);
+static gboolean gst_dc1394_src_set_cam_caps (GstDC1394Src * src,
+    GstCaps * caps);
+static GstCaps *gst_dc1394_src_get_cam_caps (GstDC1394Src * src);
+static GstCaps *gst_dc1394_src_get_all_caps (void);
+
+static GstCaps *gst_dc1394_src_build_caps (const dc1394color_codings_t *
+    supported_codings, const dc1394framerates_t * supported_rates,
+    guint width_min, guint width_max, guint width_step, guint height_min,
+    guint height_max, guint height_step);
+static gboolean gst_dc1394_src_parse_caps (const GstCaps * caps,
+    dc1394color_codings_t * color_codings, dc1394framerate_t * rate,
+    gdouble * rate_decimal, guint * width, guint * height);
+
+static void
+gst_dc1394_src_class_init (GstDC1394SrcClass * klass)
+{
+  GObjectClass *gobject_class;
+  GstElementClass *element_class;
+  GstBaseSrcClass *basesrc_class;
+  GstPushSrcClass *pushsrc_class;
+
+  gobject_class = G_OBJECT_CLASS (klass);
+  element_class = GST_ELEMENT_CLASS (klass);
+  basesrc_class = GST_BASE_SRC_CLASS (klass);
+  pushsrc_class = GST_PUSH_SRC_CLASS (klass);
+
+  gobject_class->set_property = gst_dc1394_src_set_property;
+  gobject_class->get_property = gst_dc1394_src_get_property;
+  g_object_class_install_property (gobject_class, PROP_CAMERA_GUID,
+      g_param_spec_string ("guid", "Camera GUID",
+          "The hexadecimal representation of the GUID of the camera"
+          " (use first camera available if null)",
+          NULL,
+          G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE |
+          GST_PARAM_MUTABLE_READY));
+  g_object_class_install_property (gobject_class, PROP_CAMERA_UNIT,
+      g_param_spec_int ("unit", "Camera unit",
+          "The unit number of the camera (-1 if no unit number is used)",
+          -1, G_MAXINT, -1,
+          G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE |
+          GST_PARAM_MUTABLE_READY));
+  g_object_class_install_property (gobject_class, PROP_ISO_SPEED,
+      g_param_spec_enum ("iso", "ISO bandwidth",
+          "The ISO bandwidth in Mbps",
+          GST_TYPE_DC1394_ISO_SPEED, 400,
+          G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE |
+          GST_PARAM_MUTABLE_READY));
+  g_object_class_install_property (gobject_class, PROP_DMA_BUFFER_SIZE,
+      g_param_spec_uint ("dma", "DMA ring buffer size",
+          "The number of frames in the Direct Memory Access ring buffer",
+          1, G_MAXUINT, 10,
+          G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE |
+          GST_PARAM_MUTABLE_READY));
+
+  gst_element_class_set_static_metadata (element_class,
+      "1394 IIDC Video Source", "Source/Video",
+      "libdc1394 based source for IIDC cameras",
+      "Antoine Tremblay <hexa00@gmail.com>");
+  gst_element_class_add_pad_template (element_class,
+      gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
+          gst_dc1394_src_get_all_caps ()));
+
+  basesrc_class->start = GST_DEBUG_FUNCPTR (gst_dc1394_src_start);
+  basesrc_class->stop = GST_DEBUG_FUNCPTR (gst_dc1394_src_stop);
+  basesrc_class->set_caps = GST_DEBUG_FUNCPTR (gst_dc1394_src_set_caps);
+  basesrc_class->get_caps = GST_DEBUG_FUNCPTR (gst_dc1394_src_get_caps);
+
+  pushsrc_class->create = GST_DEBUG_FUNCPTR (gst_dc1394_src_create);
+}
+
+
+static void
+gst_dc1394_src_init (GstDC1394Src * src)
+{
+  src->guid = -1;
+  src->unit = -1;
+  src->iso_speed = DC1394_ISO_SPEED_400;
+  src->dma_buffer_size = 10;
+  src->dc1394 = NULL;
+  src->camera = NULL;
+  src->caps = NULL;
+
+  gst_base_src_set_live (GST_BASE_SRC (src), TRUE);
+  gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);
+  gst_base_src_set_do_timestamp (GST_BASE_SRC (src), TRUE);
+}
+
+
+static void
+gst_dc1394_src_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
+{
+  GstDC1394Src *src;
+
+  src = GST_DC1394_SRC (object);
+  switch (prop_id) {
+    case PROP_CAMERA_GUID:
+      g_value_take_string (value, gst_dc1394_src_get_prop_camera_guid (src));
+      break;
+    case PROP_CAMERA_UNIT:
+      g_value_set_int (value, gst_dc1394_src_get_prop_camera_unit (src));
+      break;
+    case PROP_ISO_SPEED:
+      g_value_set_enum (value, gst_dc1394_src_get_prop_iso_speed (src));
+      break;
+    case PROP_DMA_BUFFER_SIZE:
+      g_value_set_uint (value, gst_dc1394_src_get_prop_dma_buffer_size (src));
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+
+static void
+gst_dc1394_src_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec)
+{
+  GstDC1394Src *src;
+
+  src = GST_DC1394_SRC (object);
+  switch (prop_id) {
+    case PROP_CAMERA_GUID:
+      gst_dc1394_src_set_prop_camera_guid (src, g_value_get_string (value));
+      break;
+    case PROP_CAMERA_UNIT:
+      gst_dc1394_src_set_prop_camera_unit (src, g_value_get_int (value));
+      break;
+    case PROP_ISO_SPEED:
+      gst_dc1394_src_set_prop_iso_speed (src, g_value_get_enum (value));
+      break;
+    case PROP_DMA_BUFFER_SIZE:
+      gst_dc1394_src_set_prop_dma_buffer_size (src, g_value_get_uint (value));
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+
+static gboolean
+gst_dc1394_src_start (GstBaseSrc * bsrc)
+{
+  GstDC1394Src *src;
+
+  src = GST_DC1394_SRC (bsrc);
+  return gst_dc1394_src_open_cam (src);
+}
+
+
+static gboolean
+gst_dc1394_src_stop (GstBaseSrc * bsrc)
+{
+  GstDC1394Src *src;
+
+  src = GST_DC1394_SRC (bsrc);
+  if (!gst_dc1394_src_stop_cam (src))
+    return FALSE;
+  gst_dc1394_src_close_cam (src);
+  return TRUE;
+}
+
+
+static GstCaps *
+gst_dc1394_src_get_caps (GstBaseSrc * bsrc, GstCaps * filter)
+{
+  GstDC1394Src *src;
+  GstCaps *caps, *ret;
+
+  src = GST_DC1394_SRC (bsrc);
+  if (src->camera) {
+    caps = gst_dc1394_src_get_cam_caps (src);
+  } else {
+    caps = gst_dc1394_src_get_all_caps ();
+  }
+  if (caps && filter) {
+    ret = gst_caps_intersect_full (filter, caps, GST_CAPS_INTERSECT_FIRST);
+    gst_caps_unref (caps);
+  } else {
+    ret = caps;
+  }
+  return ret;
+}
+
+
+static gboolean
+gst_dc1394_src_set_caps (GstBaseSrc * bsrc, GstCaps * caps)
+{
+  GstDC1394Src *src;
+
+  src = GST_DC1394_SRC (bsrc);
+  return gst_dc1394_src_stop_cam (src)
+      && gst_dc1394_src_set_cam_caps (src, caps)
+      && gst_dc1394_src_start_cam (src);
+}
+
+
+static GstFlowReturn
+gst_dc1394_src_create (GstPushSrc * psrc, GstBuffer ** obuf)
+{
+  GstDC1394Src *src;
+  GstBuffer *buffer;
+  dc1394video_frame_t *frame;
+  dc1394error_t ret;
+
+  src = GST_DC1394_SRC (psrc);
+  buffer = NULL;
+  ret = dc1394_capture_dequeue (src->camera, DC1394_CAPTURE_POLICY_WAIT,
+      &frame);
+  if (ret != DC1394_SUCCESS) {
+    GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL),
+        ("Could not dequeue frame: %s.", dc1394_error_get_string (ret)));
+    goto error;
+  }
+  /*
+   * TODO: We could create the buffer by wrapping the image bytes in the frame
+   * (enqueing the frame in the notify function) to save the copy operation.
+   * It will only work if all the buffers are disposed before closing the camera
+   * when state changes from PAUSED to READY.
+   */
+  buffer = gst_buffer_new_allocate (NULL, frame->image_bytes, NULL);
+  gst_buffer_fill (buffer, 0, frame->image, frame->image_bytes);
+  /*
+   * TODO: There is a field timestamp in the frame structure,
+   * It is not sure if it could be used as PTS or DTS:
+   * we are not sure if it comes from a monotonic clock,
+   * and it seems to be left undefined under MS Windows.
+   */
+  ret = dc1394_capture_enqueue (src->camera, frame);
+  if (ret != DC1394_SUCCESS) {
+    GST_ELEMENT_WARNING (src, RESOURCE, READ, (NULL),
+        ("Could not enqueue frame: %s.", dc1394_error_get_string (ret)));
+  }
+  *obuf = buffer;
+  return GST_FLOW_OK;
+
+error:
+  if (buffer)
+    gst_buffer_unref (buffer);
+  return GST_FLOW_ERROR;
+}
+
+
+static void
+gst_dc1394_src_set_prop_camera_guid (GstDC1394Src * src, const gchar * guid)
+{
+  gchar *end;
+
+  if (!guid) {
+    GST_DEBUG_OBJECT (src, "Null camera GUID value: %s.",
+        "first camera available will be used");
+    src->guid = -1;
+    return;
+  }
+  errno = 0;
+  src->guid = g_ascii_strtoull (guid, &end, 16);
+  if (errno == ERANGE || end == guid || *end != '\0') {
+    GST_ERROR_OBJECT (src, "Invalid camera GUID value: %s.", guid);
+    return;
+  }
+}
+
+
+static gchar *
+gst_dc1394_src_get_prop_camera_guid (GstDC1394Src * src)
+{
+  if (src->guid == -1) {
+    return NULL;
+  }
+  return g_strdup_printf ("%016" G_GINT64_MODIFIER "X", src->guid);
+}
+
+
+static void
+gst_dc1394_src_set_prop_camera_unit (GstDC1394Src * src, gint unit)
+{
+  src->unit = unit;
+}
+
+
+static gint
+gst_dc1394_src_get_prop_camera_unit (GstDC1394Src * src)
+{
+  return src->unit;
+}
+
+
+static void
+gst_dc1394_src_set_prop_iso_speed (GstDC1394Src * src, guint speed)
+{
+  switch (speed) {
+    case 100:
+      src->iso_speed = DC1394_ISO_SPEED_100;
+      break;
+    case 200:
+      src->iso_speed = DC1394_ISO_SPEED_200;
+      break;
+    case 400:
+      src->iso_speed = DC1394_ISO_SPEED_400;
+      break;
+    case 800:
+      src->iso_speed = DC1394_ISO_SPEED_800;
+      break;
+    case 1600:
+      src->iso_speed = DC1394_ISO_SPEED_1600;
+      break;
+    case 3200:
+      src->iso_speed = DC1394_ISO_SPEED_3200;
+      break;
+    default:
+      GST_ERROR_OBJECT (src, "Invalid ISO speed value: %d.", speed);
+  }
+}
+
+
+static guint
+gst_dc1394_src_get_prop_iso_speed (GstDC1394Src * src)
+{
+  switch (src->iso_speed) {
+    case DC1394_ISO_SPEED_100:
+      return 100;
+    case DC1394_ISO_SPEED_200:
+      return 200;
+    case DC1394_ISO_SPEED_400:
+      return 400;
+    case DC1394_ISO_SPEED_800:
+      return 800;
+    case DC1394_ISO_SPEED_1600:
+      return 1600;
+    case DC1394_ISO_SPEED_3200:
+      return 3200;
+    default:                   /* never reached */
+      return DC1394_ISO_SPEED_MIN - 1;
+  }
+}
+
+
+static void
+gst_dc1394_src_set_prop_dma_buffer_size (GstDC1394Src * src, guint size)
+{
+  src->dma_buffer_size = size;
+}
+
+
+static guint
+gst_dc1394_src_get_prop_dma_buffer_size (GstDC1394Src * src)
+{
+  return src->dma_buffer_size;
+}
+
+
+static gboolean
+gst_dc1394_src_open_cam (GstDC1394Src * src)
+{
+  dc1394camera_list_t *cameras;
+  dc1394error_t ret;
+  int number;
+  uint64_t guid;
+  int unit, i;
+
+  src->dc1394 = dc1394_new ();
+  if (!src->dc1394) {
+    GST_ELEMENT_ERROR (src, LIBRARY, INIT, (NULL),
+        ("Could not initialize dc1394 library."));
+    goto error;
+  }
+
+  number = -1;
+  guid = -1;
+  unit = -1;
+  ret = dc1394_camera_enumerate (src->dc1394, &cameras);
+  if (ret != DC1394_SUCCESS) {
+    GST_ELEMENT_ERROR (src, LIBRARY, FAILED, (NULL),
+        ("Could not enumerate cameras: %s.", dc1394_error_get_string (ret)));
+    goto error;
+  }
+  for (i = 0; i < cameras->num; i++) {
+    GST_DEBUG_OBJECT (src, "Camera %2d is %016" G_GINT64_MODIFIER "X %d.",
+        i, cameras->ids[i].guid, cameras->ids[i].unit);
+    if ((src->guid == -1 || src->guid == cameras->ids[i].guid) &&
+        (src->unit == -1 || src->unit == cameras->ids[i].unit)) {
+      number = i;
+      guid = cameras->ids[i].guid;
+      unit = cameras->ids[i].unit;
+    }
+  }
+  dc1394_camera_free_list (cameras);
+  if (number < 0) {
+    if (src->guid == -1) {
+      GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND, (NULL),
+          ("No cameras found."));
+    } else {
+      GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND, (NULL),
+          ("Camera %016" G_GINT64_MODIFIER "X %d not found.",
+              src->guid, src->unit));
+    }
+    goto error;
+  }
+
+  GST_DEBUG_OBJECT (src, "Open camera %016" G_GINT64_MODIFIER "X %d.",
+      guid, unit);
+  src->camera = dc1394_camera_new_unit (src->dc1394, guid, unit);
+  if (!src->camera) {
+    GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ_WRITE, (NULL),
+        ("Could not open camera %016" G_GINT64_MODIFIER "X %d.", guid, unit));
+    goto error;
+  }
+  GST_DEBUG_OBJECT (src,
+      "Camera %016" G_GINT64_MODIFIER "X %d opened: \"%s %s\".",
+      src->camera->guid, src->camera->unit,
+      src->camera->vendor, src->camera->model);
+
+  if (src->iso_speed > DC1394_ISO_SPEED_400) {
+    ret = dc1394_video_set_operation_mode (src->camera,
+        DC1394_OPERATION_MODE_1394B);
+    if (ret != DC1394_SUCCESS) {
+      GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL),
+          ("Could not set 1394B operation mode: %s.",
+              dc1394_error_get_string (ret)));
+      goto error;
+    }
+  }
+  ret = dc1394_video_set_iso_speed (src->camera, src->iso_speed);
+  if (ret != DC1394_SUCCESS) {
+    GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL),
+        ("Could not set ISO speed %d: %s.", src->iso_speed,
+            dc1394_error_get_string (ret)));
+    goto error;
+  }
+
+  return TRUE;
+
+error:
+  if (src->camera) {
+    dc1394_camera_free (src->camera);
+    src->camera = NULL;
+  }
+  if (src->dc1394) {
+    dc1394_free (src->dc1394);
+    src->dc1394 = NULL;
+  }
+  return FALSE;
+}
+
+
+static void
+gst_dc1394_src_close_cam (GstDC1394Src * src)
+{
+  GST_DEBUG_OBJECT (src,
+      "Close camera %016" G_GINT64_MODIFIER "X %d: \"%s %s\".",
+      src->camera->guid, src->camera->unit,
+      src->camera->vendor, src->camera->model);
+  if (src->caps) {
+    gst_caps_unref (src->caps);
+    src->caps = NULL;
+  }
+  dc1394_camera_free (src->camera);
+  src->camera = NULL;
+  dc1394_free (src->dc1394);
+  src->dc1394 = NULL;
+  GST_DEBUG_OBJECT (src, "Camera closed.");
+}
+
+
+static gboolean
+gst_dc1394_src_start_cam (GstDC1394Src * src)
+{
+  dc1394error_t ret;
+  dc1394switch_t status;
+  guint trials;
+
+  GST_DEBUG_OBJECT (src, "Setup capture with a DMA buffer of %d frames",
+      src->dma_buffer_size);
+  ret = dc1394_capture_setup (src->camera, src->dma_buffer_size,
+      DC1394_CAPTURE_FLAGS_DEFAULT);
+  if (ret == DC1394_NO_BANDWIDTH) {
+    GST_DEBUG_OBJECT (src,
+        "Could not setup capture with available ISO bandwidth,"
+        "releasing channels and bandwidth and retrying...");
+    ret = dc1394_iso_release_all (src->camera);
+    if (ret != DC1394_SUCCESS) {
+      GST_ELEMENT_WARNING (src, RESOURCE, FAILED, (NULL),
+          ("Could not release ISO channels and bandwidth: %s",
+              dc1394_error_get_string (ret)));
+    }
+    ret = dc1394_capture_setup (src->camera, src->dma_buffer_size,
+        DC1394_CAPTURE_FLAGS_DEFAULT);
+  }
+  if (ret != DC1394_SUCCESS) {
+    GST_ELEMENT_ERROR (src, RESOURCE, FAILED, (NULL),
+        ("Could not setup capture: %s", dc1394_error_get_string (ret)));
+    goto error_capture;
+  }
+
+  /*
+   * TODO: dc1394_capture_setup/stop can start/stop the transmission
+   * when called with DC1394_CAPTURE_FLAGS_AUTO_ISO in the flags.
+   * The repeated trials check is a leftover of the original code,
+   * and might not be needed.
+   */
+  GST_DEBUG_OBJECT (src, "Enable camera transmission.");
+  ret = dc1394_video_set_transmission (src->camera, DC1394_ON);
+  if (ret != DC1394_SUCCESS) {
+    GST_ELEMENT_ERROR (src, RESOURCE, FAILED, (NULL),
+        ("Could not set transmission status: %s.",
+            dc1394_error_get_string (ret)));
+    goto error_transmission;
+  }
+  ret = dc1394_video_get_transmission (src->camera, &status);
+  for (trials = 10;
+      (trials > 0) && !(ret == DC1394_SUCCESS && status == DC1394_ON);
+      trials--) {
+    GST_DEBUG_OBJECT (src,
+        "Wait for camera to start transmission (%d trials left).", trials);
+    g_usleep (50000);
+    ret = dc1394_video_get_transmission (src->camera, &status);
+  }
+  if (!(ret == DC1394_SUCCESS && status == DC1394_ON)) {
+    GST_ELEMENT_ERROR (src, RESOURCE, FAILED, (NULL),
+        ("Could not get positive transmission status: %s.",
+            dc1394_error_get_string (ret)));
+    goto error_transmission;
+  }
+
+  GST_DEBUG_OBJECT (src, "Capture successfully started.");
+  return TRUE;
+
+error_transmission:
+  ret = dc1394_capture_stop (src->camera);
+  if (ret != DC1394_SUCCESS) {
+    GST_ELEMENT_WARNING (src, RESOURCE, FAILED, (NULL),
+        ("Could not stop capture: %s.", dc1394_error_get_string (ret)));
+  }
+error_capture:
+  return FALSE;
+}
+
+
+static gboolean
+gst_dc1394_src_stop_cam (GstDC1394Src * src)
+{
+  dc1394error_t ret;
+  dc1394switch_t status;
+  guint trials;
+
+  /*
+   * TODO: dc1394_capture_setup/stop can start/stop the transmission
+   * when called with DC1394_CAPTURE_FLAGS_AUTO_ISO in the flags.
+   * The repeated trials check is a leftover of the original code,
+   * and might not be needed.
+   */
+  GST_DEBUG_OBJECT (src, "Disable camera transmission.");
+  ret = dc1394_video_set_transmission (src->camera, DC1394_OFF);
+  if (ret != DC1394_SUCCESS) {
+    GST_ELEMENT_ERROR (src, RESOURCE, FAILED, (NULL),
+        ("Could not set transmission status: %s.",
+            dc1394_error_get_string (ret)));
+    return FALSE;
+  }
+  ret = dc1394_video_get_transmission (src->camera, &status);
+  for (trials = 10;
+      (trials > 0) && !(ret == DC1394_SUCCESS && status == DC1394_OFF);
+      trials--) {
+    GST_DEBUG_OBJECT (src,
+        "Wait for camera to stop transmission (%d trials left).", trials);
+    g_usleep (50000);
+    ret = dc1394_video_get_transmission (src->camera, &status);
+  }
+  if (!(ret == DC1394_SUCCESS && status == DC1394_OFF)) {
+    GST_WARNING_OBJECT (src,
+        "Could not get negative transmission status: %s.",
+        dc1394_error_get_string (ret));
+  }
+
+  GST_DEBUG_OBJECT (src, "Clear capture resources.");
+  ret = dc1394_capture_stop (src->camera);
+  if (ret != DC1394_SUCCESS && ret != DC1394_CAPTURE_IS_NOT_SET) {
+    GST_ELEMENT_ERROR (src, RESOURCE, FAILED, (NULL),
+        ("Could not clear capture: %s.", dc1394_error_get_string (ret)));
+    return FALSE;
+  }
+
+  switch (ret) {
+    case DC1394_CAPTURE_IS_NOT_SET:
+      GST_DEBUG_OBJECT (src, "Capture was not set up.");
+      break;
+    case DC1394_SUCCESS:
+      GST_DEBUG_OBJECT (src, "Capture successfully stopped.");
+      break;
+    default:
+      break;
+  }
+
+  return TRUE;
+}
+
+
+static gboolean
+gst_dc1394_src_set_cam_caps (GstDC1394Src * src, GstCaps * caps)
+{
+  GstCaps *mode_caps;
+  gboolean ok, supported;
+  dc1394video_modes_t supported_modes;
+  dc1394video_mode_t mode;
+  dc1394color_codings_t supported_codings;
+  dc1394color_coding_t coding;
+  dc1394framerates_t supported_rates;
+  dc1394framerate_t rate;
+  double rate_decimal;
+  uint64_t total_bytes;
+  uint32_t width, width_step, height, height_step;
+  guint m, c;
+
+  ok = dc1394_video_get_supported_modes (src->camera,
+      &supported_modes) == DC1394_SUCCESS;
+  if (!ok) {
+    GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL),
+        ("Could not get supported modes."));
+    goto error;
+  }
+  supported = FALSE;
+  for (m = 0; m < supported_modes.num && !supported; m++) {
+    mode = supported_modes.modes[m];
+    mode_caps = gst_caps_new_empty ();
+    if (dc1394_is_video_mode_scalable (mode)) {
+      ok &= dc1394_format7_get_color_codings (src->camera, mode,
+          &supported_codings) == DC1394_SUCCESS;
+      ok &= dc1394_format7_get_max_image_size (src->camera, mode,
+          &width, &height) == DC1394_SUCCESS;
+      ok &= dc1394_format7_get_unit_size (src->camera, mode,
+          &width_step, &height_step) == DC1394_SUCCESS;
+    } else {
+      ok &= dc1394_get_color_coding_from_video_mode (src->camera, mode,
+          &coding) == DC1394_SUCCESS;
+      ok &= dc1394_get_image_size_from_video_mode (src->camera, mode,
+          &width, &height) == DC1394_SUCCESS;
+      ok &= dc1394_video_get_supported_framerates (src->camera, mode,
+          &supported_rates) == DC1394_SUCCESS;
+    }
+    if (!ok) {
+      GST_ELEMENT_WARNING (src, RESOURCE, SETTINGS, (NULL),
+          ("Could not get video mode %d parameters.", mode));
+    } else if (dc1394_is_video_mode_scalable (mode)) {
+      gst_caps_append (mode_caps,
+          gst_dc1394_src_build_caps (&supported_codings, NULL,
+              width_step, width, width_step, height_step, height, height_step));
+    } else {
+      supported_codings.num = 1;
+      supported_codings.codings[0] = coding;
+      gst_caps_append (mode_caps,
+          gst_dc1394_src_build_caps (&supported_codings, &supported_rates,
+              width, width, 1, height, height, 1));
+    }
+    supported = gst_caps_can_intersect (caps, mode_caps);
+    gst_caps_unref (mode_caps);
+  }
+  ok = supported && gst_dc1394_src_parse_caps (caps, &supported_codings, &rate,
+      &rate_decimal, &width, &height);
+  if (!ok) {
+    GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL),
+        ("Unsupported caps %" GST_PTR_FORMAT, caps));
+    goto error;
+  }
+  GST_DEBUG_OBJECT (src, "Set video mode %d.", mode);
+  ok = dc1394_video_set_mode (src->camera, mode) == DC1394_SUCCESS;
+  if (!ok) {
+    GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL),
+        ("Could not set video mode %d.", mode));
+    goto error;
+  }
+  if (dc1394_is_video_mode_scalable (mode)) {
+    ok = FALSE;
+    for (c = 0; c < supported_codings.num && !ok; c++) {
+      coding = supported_codings.codings[c];
+      GST_DEBUG_OBJECT (src,
+          "Try format7 video mode %d with coding %d, size %d %d, and rate %.4f Hz.",
+          mode, coding, width, height, rate_decimal);
+      ok = (dc1394_format7_set_color_coding (src->camera, mode,
+              coding) == DC1394_SUCCESS)
+          && (dc1394_format7_set_image_size (src->camera, mode,
+              width, height) == DC1394_SUCCESS)
+          && (dc1394_format7_get_total_bytes (src->camera, mode,
+              &total_bytes) == DC1394_SUCCESS)
+          && (dc1394_format7_set_packet_size (src->camera, mode,
+              total_bytes * rate_decimal * 0.000125) == DC1394_SUCCESS);
+    }
+  } else {
+    GST_DEBUG_OBJECT (src, "Set fixed video mode %d rate %.4f Hz (%d).",
+        mode, rate_decimal, rate);
+    ok = dc1394_video_set_framerate (src->camera, rate) == DC1394_SUCCESS;
+  }
+  /* TODO: check feature framerate */
+  if (!ok) {
+    GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL),
+        ("Could not set video mode %d parameters.", mode));
+    goto error;
+  }
+  return TRUE;
+
+error:
+  return FALSE;
+}
+
+
+GstCaps *
+gst_dc1394_src_get_cam_caps (GstDC1394Src * src)
+{
+  gboolean ok;
+  dc1394video_modes_t supported_modes;
+  dc1394video_mode_t mode;
+  dc1394color_codings_t supported_codings;
+  dc1394color_coding_t coding;
+  dc1394framerates_t supported_rates;
+  uint32_t width, width_step, height, height_step;
+  guint m;
+
+  if (src->caps)
+    return gst_caps_ref (src->caps);
+
+  ok = dc1394_video_get_supported_modes (src->camera,
+      &supported_modes) == DC1394_SUCCESS;
+  if (!ok) {
+    GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, (NULL),
+        ("Could not get supported modes."));
+    return NULL;
+  }
+
+  src->caps = gst_caps_new_empty ();
+  for (m = 0; m < supported_modes.num; m++) {
+    mode = supported_modes.modes[m];
+    if (dc1394_is_video_mode_scalable (mode)) {
+      ok &= dc1394_format7_get_color_codings (src->camera, mode,
+          &supported_codings) == DC1394_SUCCESS;
+      ok &= dc1394_format7_get_max_image_size (src->camera, mode,
+          &width, &height) == DC1394_SUCCESS;
+      ok &= dc1394_format7_get_unit_size (src->camera, mode,
+          &width_step, &height_step) == DC1394_SUCCESS;
+      if (!ok) {
+        GST_ELEMENT_WARNING (src, RESOURCE, SETTINGS, (NULL),
+            ("Could not get format7 video mode %d parameters.", mode));
+      } else {
+        gst_caps_append (src->caps,
+            gst_dc1394_src_build_caps (&supported_codings, NULL,
+                width_step, width, width_step, height_step, height,
+                height_step));
+      }
+    } else {
+      ok &= dc1394_get_image_size_from_video_mode (src->camera, mode,
+          &width, &height) == DC1394_SUCCESS;
+      ok &= dc1394_video_get_supported_framerates (src->camera, mode,
+          &supported_rates) == DC1394_SUCCESS;
+      ok &= dc1394_get_color_coding_from_video_mode (src->camera, mode,
+          &coding) == DC1394_SUCCESS;
+      if (!ok) {
+        GST_ELEMENT_WARNING (src, RESOURCE, SETTINGS, (NULL),
+            ("Could not get fixed video mode %d parameters.", mode));
+      } else {
+        supported_codings.num = 1;
+        supported_codings.codings[0] = coding;
+        gst_caps_append (src->caps,
+            gst_dc1394_src_build_caps (&supported_codings, &supported_rates,
+                width, width, 1, height, height, 1));
+      }
+    }
+  }
+  GST_DEBUG_OBJECT (src, "Camera capabilities: \"%" GST_PTR_FORMAT "\".",
+      src->caps);
+  return gst_caps_ref (src->caps);
+}
+
+
+static GstCaps *
+gst_dc1394_src_get_all_caps (void)
+{
+  GstCaps *caps;
+  dc1394color_coding_t coding;
+  dc1394color_codings_t video_codings;
+  uint32_t width, height;
+
+  const dc1394color_codings_t supported_codings = { 7, {
+          /* DC1394_COLOR_CODING_RGB16S, DC1394_COLOR_CODING_RGB16, */
+          DC1394_COLOR_CODING_RGB8, DC1394_COLOR_CODING_YUV444,
+          DC1394_COLOR_CODING_YUV422, DC1394_COLOR_CODING_YUV411,
+          /* DC1394_COLOR_CODING_RAW16, DC1394_COLOR_CODING_MONO16S */
+          DC1394_COLOR_CODING_MONO16, DC1394_COLOR_CODING_RAW8,
+      DC1394_COLOR_CODING_MONO8}
+  };
+  const dc1394framerates_t all_rates = { 8, {
+          DC1394_FRAMERATE_1_875, DC1394_FRAMERATE_3_75, DC1394_FRAMERATE_7_5,
+          DC1394_FRAMERATE_15, DC1394_FRAMERATE_30, DC1394_FRAMERATE_60,
+      DC1394_FRAMERATE_120, DC1394_FRAMERATE_240}
+  };
+  dc1394video_mode_t mode;
+
+  caps = gst_caps_new_empty ();
+  /* First caps for fixed video modes */
+  for (mode = DC1394_VIDEO_MODE_MIN; mode < DC1394_VIDEO_MODE_EXIF; mode++) {
+    dc1394_get_image_size_from_video_mode (NULL, mode, &width, &height);
+    dc1394_get_color_coding_from_video_mode (NULL, mode, &coding);
+    video_codings.codings[0] = coding;
+    video_codings.num = 1;
+    gst_caps_append (caps,
+        gst_dc1394_src_build_caps (&video_codings, &all_rates,
+            width, width, 1, height, height, 1));
+  }
+  /* Then caps for Format 7 modes */
+  gst_caps_append (caps,
+      gst_dc1394_src_build_caps (&supported_codings, NULL,
+          1, G_MAXINT, 1, 1, G_MAXINT, 1));
+  return caps;
+}
+
+
+static GstCaps *
+gst_dc1394_src_build_caps (const dc1394color_codings_t * supported_codings,
+    const dc1394framerates_t * supported_rates,
+    uint32_t width_min, uint32_t width_max, uint32_t width_step,
+    uint32_t height_min, uint32_t height_max, uint32_t height_step)
+{
+  GstCaps *caps;
+  GstStructure *structure;
+  GstVideoFormat video_format;
+  dc1394color_coding_t coding;
+  dc1394framerate_t rate;
+  GValue format = { 0 };
+  GValue formats = { 0 };
+  GValue width = { 0 };
+  GValue widths = { 0 };
+  GValue height = { 0 };
+  GValue heights = { 0 };
+  GValue framerate = { 0 };
+  GValue framerates = { 0 };
+  guint c, w, h, r;
+
+  caps = gst_caps_new_empty ();
+  for (c = 0; c < supported_codings->num; c++) {
+    coding = supported_codings->codings[c];
+    switch (coding) {
+      case DC1394_COLOR_CODING_MONO8:
+        video_format = GST_VIDEO_FORMAT_GRAY8;
+        break;
+      case DC1394_COLOR_CODING_YUV411:
+        video_format = GST_VIDEO_FORMAT_IYU1;
+        break;
+      case DC1394_COLOR_CODING_YUV422:
+        video_format = GST_VIDEO_FORMAT_UYVY;
+        break;
+      case DC1394_COLOR_CODING_YUV444:
+        video_format = GST_VIDEO_FORMAT_IYU2;
+        break;
+      case DC1394_COLOR_CODING_RGB8:
+        video_format = GST_VIDEO_FORMAT_RGB;
+        break;
+      case DC1394_COLOR_CODING_RAW8:
+        video_format = GST_VIDEO_FORMAT_UNKNOWN;        /* GST_BAYER_FORMAT_XXXX8 */
+        break;
+      case DC1394_COLOR_CODING_MONO16:
+        video_format = GST_VIDEO_FORMAT_GRAY16_BE;
+        break;
+        /*
+         * The following formats do not exist in Gstreamer:
+         *case DC1394_COLOR_CODING_RGB16: // Unsigned RGB 16 bits per channel
+         *  video_format = GST_VIDEO_FORMAT_RGB48;
+         *  break;
+         *case DC1394_COLOR_CODING_MONO16S: // Signed grayscale 16 bits
+         *  video_format = GST_VIDEO_FORMAT_GRAY16_BE_SIGNED;
+         *  break;
+         *case DC1394_COLOR_CODING_RGB16S: // Signed RGB 16 bits per channel
+         *  video_format = GST_VIDEO_FORMAT_RGB48_SIGNED;
+         *  break;
+         *case DC1394_COLOR_CODING_RAW16: // Raw sensor output (bayer) 16 bits
+         *  video_format = GST_VIDEO_FORMAT_UNKNOWN; // GST_BAYER_FORMAT_XXXX16_BE
+         *  break;
+         */
+      default:
+        video_format = GST_VIDEO_FORMAT_UNKNOWN;
+        GST_DEBUG ("unsupported dc1394 video coding %d", coding);
+    }
+    if (video_format != GST_VIDEO_FORMAT_UNKNOWN) {
+      g_value_init (&formats, G_TYPE_STRING);
+      g_value_set_string (&formats, gst_video_format_to_string (video_format));
+      structure = gst_structure_new_empty ("video/x-raw");
+      gst_structure_set_value (structure, "format", &formats);
+      gst_caps_append_structure (caps, structure);
+      g_value_unset (&formats);
+    }
+    if (coding == DC1394_COLOR_CODING_MONO8 ||
+        coding == DC1394_COLOR_CODING_RAW8) {
+      g_value_init (&formats, GST_TYPE_LIST);
+      g_value_init (&format, G_TYPE_STRING);
+      g_value_set_static_string (&format, "bggr");
+      gst_value_list_append_value (&formats, &format);
+      g_value_set_static_string (&format, "rggb");
+      gst_value_list_append_value (&formats, &format);
+      g_value_set_static_string (&format, "grbg");
+      gst_value_list_append_value (&formats, &format);
+      g_value_set_static_string (&format, "gbrg");
+      gst_value_list_append_value (&formats, &format);
+      structure = gst_structure_new_empty ("video/x-bayer");
+      gst_structure_set_value (structure, "format", &formats);
+      gst_caps_append_structure (caps, structure);
+      g_value_unset (&format);
+      g_value_unset (&formats);
+    }
+  }
+
+  if (width_min == width_max) {
+    g_value_init (&widths, G_TYPE_INT);
+    g_value_set_int (&widths, width_min);
+  } else if (width_step == 1) {
+    g_value_init (&widths, GST_TYPE_INT_RANGE);
+    gst_value_set_int_range (&widths, width_min, width_max);
+  } else {
+    g_value_init (&widths, GST_TYPE_LIST);
+    g_value_init (&width, G_TYPE_INT);
+    for (w = width_min; w <= width_max; w += width_step) {
+      g_value_set_int (&width, w);
+      gst_value_list_append_value (&widths, &width);
+    }
+    g_value_unset (&width);
+  }
+  if (height_min == height_max) {
+    g_value_init (&heights, G_TYPE_INT);
+    g_value_set_int (&heights, height_min);
+  } else if (height_step == 1) {
+    g_value_init (&heights, GST_TYPE_INT_RANGE);
+    gst_value_set_int_range (&heights, height_min, height_max);
+  } else {
+    g_value_init (&heights, GST_TYPE_LIST);
+    g_value_init (&height, G_TYPE_INT);
+    for (h = height_min; h <= height_max; h += height_step) {
+      g_value_set_int (&height, h);
+      gst_value_list_append_value (&heights, &height);
+    }
+    g_value_unset (&height);
+  }
+  gst_caps_set_value (caps, "width", &widths);
+  gst_caps_set_value (caps, "height", &heights);
+  g_value_unset (&widths);
+  g_value_unset (&heights);
+
+  if (supported_rates) {
+    g_value_init (&framerates, GST_TYPE_LIST);
+    g_value_init (&framerate, GST_TYPE_FRACTION);
+    for (r = 0; r < supported_rates->num; r++) {
+      rate = supported_rates->framerates[r];
+      switch (rate) {
+        case DC1394_FRAMERATE_1_875:
+          gst_value_set_fraction (&framerate, 240, 128);
+          break;
+        case DC1394_FRAMERATE_3_75:
+          gst_value_set_fraction (&framerate, 240, 64);
+          break;
+        case DC1394_FRAMERATE_7_5:
+          gst_value_set_fraction (&framerate, 240, 32);
+          break;
+        case DC1394_FRAMERATE_15:
+          gst_value_set_fraction (&framerate, 240, 16);
+          break;
+        case DC1394_FRAMERATE_30:
+          gst_value_set_fraction (&framerate, 240, 8);
+          break;
+        case DC1394_FRAMERATE_60:
+          gst_value_set_fraction (&framerate, 240, 4);
+          break;
+        case DC1394_FRAMERATE_120:
+          gst_value_set_fraction (&framerate, 240, 2);
+          break;
+        case DC1394_FRAMERATE_240:
+          gst_value_set_fraction (&framerate, 240, 1);
+          break;
+      }
+      gst_value_list_append_value (&framerates, &framerate);
+    }
+    g_value_unset (&framerate);
+  } else {
+    g_value_init (&framerates, GST_TYPE_FRACTION_RANGE);
+    gst_value_set_fraction_range_full (&framerates, 1, G_MAXINT, G_MAXINT, 1);
+  }
+  gst_caps_set_value (caps, "framerate", &framerates);
+  g_value_unset (&framerates);
+  return caps;
+}
+
+
+static gboolean
+gst_dc1394_src_parse_caps (const GstCaps * caps,
+    dc1394color_codings_t * color_codings,
+    dc1394framerate_t * rate, double *rate_decimal,
+    uint32_t * width, uint32_t * height)
+{
+  const GstStructure *structure;
+  const gchar *format;
+  gint w, h, num, den;
+  gdouble dec;
+
+  structure = gst_caps_get_structure (caps, 0);
+  if (!structure)
+    goto error;
+
+  if (!gst_structure_get_int (structure, "width", &w)
+      || !gst_structure_get_int (structure, "height", &h))
+    goto error;
+
+  *width = w;
+  *height = h;
+
+  if (!gst_structure_get_fraction (structure, "framerate", &num, &den))
+    goto error;
+
+  if (gst_util_fraction_compare (num, den, 240, 128) <= 0) {
+    *rate = DC1394_FRAMERATE_1_875;
+  } else if (gst_util_fraction_compare (num, den, 240, 64) <= 0) {
+    *rate = DC1394_FRAMERATE_3_75;
+  } else if (gst_util_fraction_compare (num, den, 240, 32) <= 0) {
+    *rate = DC1394_FRAMERATE_7_5;
+  } else if (gst_util_fraction_compare (num, den, 240, 16) <= 0) {
+    *rate = DC1394_FRAMERATE_15;
+  } else if (gst_util_fraction_compare (num, den, 240, 8) <= 0) {
+    *rate = DC1394_FRAMERATE_30;
+  } else if (gst_util_fraction_compare (num, den, 240, 4) <= 0) {
+    *rate = DC1394_FRAMERATE_60;
+  } else if (gst_util_fraction_compare (num, den, 240, 2) <= 0) {
+    *rate = DC1394_FRAMERATE_120;
+  } else if (gst_util_fraction_compare (num, den, 240, 1) <= 0) {
+    *rate = DC1394_FRAMERATE_240;
+  } else {
+    *rate = DC1394_FRAMERATE_240;
+  }
+
+  gst_util_fraction_to_double (num, den, &dec);
+  *rate_decimal = dec;
+
+  if (gst_structure_has_name (structure, "video/x-raw")) {
+    format = gst_structure_get_string (structure, "format");
+    switch (gst_video_format_from_string (format)) {
+      case GST_VIDEO_FORMAT_GRAY8:
+        color_codings->num = 1;
+        color_codings->codings[0] = DC1394_COLOR_CODING_MONO8;
+        break;
+      case GST_VIDEO_FORMAT_IYU1:
+        color_codings->num = 1;
+        color_codings->codings[0] = DC1394_COLOR_CODING_YUV411;
+        break;
+      case GST_VIDEO_FORMAT_UYVY:
+        color_codings->num = 1;
+        color_codings->codings[0] = DC1394_COLOR_CODING_YUV422;
+        break;
+      case GST_VIDEO_FORMAT_IYU2:
+        color_codings->num = 1;
+        color_codings->codings[0] = DC1394_COLOR_CODING_YUV444;
+        break;
+      case GST_VIDEO_FORMAT_RGB:
+        color_codings->num = 1;
+        color_codings->codings[0] = DC1394_COLOR_CODING_RGB8;
+        break;
+      case GST_VIDEO_FORMAT_GRAY16_BE:
+        color_codings->num = 1;
+        color_codings->codings[0] = DC1394_COLOR_CODING_MONO16;
+        break;
+        /*
+         * The following formats do not exist in Gstreamer:
+         *case GST_VIDEO_FORMAT_RGB48: // Unsigned RGB format 16 bits per channel
+         *  color_codings->num = 1
+         *  color_codings->codings[0] = DC1394_COLOR_CODING_RGB16;
+         *  break;
+         *case GST_VIDEO_FORMAT_GRAY16_BE_SIGNED: // Signed grayscale format 16 bits
+         *  color_codings->num = 1
+         *  color_codings->codings[0] = DC1394_COLOR_CODING_MONO16S;
+         *  break;
+         *case GST_VIDEO_FORMAT_RGB48_SIGNED: // Signed RGB format 16 bits per channel
+         *  color_codings->num = 1
+         *  color_codings->codings[0] = DC1394_COLOR_CODING_RGB16S;
+         *  break;
+         */
+      default:
+        GST_ERROR ("unsupported raw video format %s", format);
+        goto error;
+    }
+  } else if (gst_structure_has_name (structure, "video/x-bayer")) {
+    /*
+     * The following formats do not exist in Gstreamer:
+     *switch (gst_bayer_format_from_string(format)) {
+     *  case GST_BAYER_FORMAT_BGGR8:
+     *  case GST_BAYER_FORMAT_GBRG8:
+     *  case GST_BAYER_FORMAT_GRBG8:
+     *  case GST_BAYER_FORMAT_BGGR8:
+     *    *coding = DC1394_COLOR_CODING_RAW8;
+     *    break;
+     *  case GST_BAYER_FORMAT_BGGR16_BE:
+     *  case GST_BAYER_FORMAT_GBRG16_BE:
+     *  case GST_BAYER_FORMAT_GRBG16_BE:
+     *  case GST_BAYER_FORMAT_BGGR16_BE:
+     *    *coding = DC1394_COLOR_CODING_RAW16;
+     *    break;
+     *  default:
+     *    GST_ERROR("unsupported raw video format %s", format);
+     *    goto error;
+     *}
+     */
+    color_codings->num = 2;
+    color_codings->codings[0] = DC1394_COLOR_CODING_RAW8;
+    color_codings->codings[1] = DC1394_COLOR_CODING_MONO8;
+  } else {
+    goto error;
+  }
+
+  return TRUE;
+
+error:
+  return FALSE;
+}
+
+
+static gboolean
+plugin_init (GstPlugin * plugin)
+{
+  GST_DEBUG_CATEGORY_INIT (dc1394_debug, "dc1394", 0, "DC1394 interface");
+
+  return gst_element_register (plugin, "dc1394src", GST_RANK_NONE,
+      GST_TYPE_DC1394_SRC);
+}
+
+
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    dc1394,
+    "1394 IIDC video source",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
diff --git a/ext/dc1394/gstdc1394src.h b/ext/dc1394/gstdc1394src.h
new file mode 100644
index 0000000..8767826
--- /dev/null
+++ b/ext/dc1394/gstdc1394src.h
@@ -0,0 +1,60 @@
+/* GStreamer
+ * Copyright (C) <2006> Eric Jonas <jonas@mit.edu>
+ * Copyright (C) <2006> Antoine Tremblay <hexa00@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_DC1394_H__
+#define __GST_DC1394_H__
+
+#include <gst/gst.h>
+#include <gst/base/gstpushsrc.h>
+#include <dc1394/control.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_DC1394_SRC            (gst_dc1394_src_get_type())
+#define GST_DC1394_SRC(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DC1394_SRC,GstDC1394Src))
+#define GST_DC1394_SRC_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DC1394_SRC,GstDC1394SrcClass))
+#define GST_IS_DC1394_SRC(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DC1394_SRC))
+#define GST_IS_DC1394_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DC1394_SRC))
+
+typedef struct _GstDC1394Src GstDC1394Src;
+typedef struct _GstDC1394SrcClass GstDC1394SrcClass;
+
+struct _GstDC1394Src {
+  GstPushSrc pushsrc;
+
+  GstCaps * caps;
+
+  uint64_t guid;
+  int unit;
+  dc1394speed_t iso_speed;
+  uint32_t dma_buffer_size;
+  dc1394camera_t * camera;
+  dc1394_t * dc1394;
+};
+
+struct _GstDC1394SrcClass {
+  GstPushSrcClass parent_class;
+};
+
+GType gst_dc1394_src_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GST_DC1394_H__ */
diff --git a/ext/directfb/Makefile.in b/ext/directfb/Makefile.in
index 0d4c313..3fabeca 100644
--- a/ext/directfb/Makefile.in
+++ b/ext/directfb/Makefile.in
@@ -312,6 +312,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -527,6 +529,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -653,8 +657,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -699,6 +701,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/directfb/dfbvideosink.c b/ext/directfb/dfbvideosink.c
index 7ef617f..a6f433b 100644
--- a/ext/directfb/dfbvideosink.c
+++ b/ext/directfb/dfbvideosink.c
@@ -168,6 +168,19 @@
   return type;
 }
 
+static gboolean
+gst_meta_dfbsurface_init (GstMetaDfbSurface * meta, gpointer params,
+    GstBuffer * buf)
+{
+  meta->surface = NULL;
+  meta->width = meta->height = 0;
+  meta->locked = FALSE;
+  meta->pixel_format = 0;
+  meta->dfbvideosink = NULL;
+
+  return TRUE;
+}
+
 /* our metadata */
 const GstMetaInfo *
 gst_meta_dfbsurface_get_info (void)
@@ -178,7 +191,8 @@
     const GstMetaInfo *meta =
         gst_meta_register (gst_meta_dfbsurface_api_get_type (),
         "GstMetaDfbSurface", sizeof (GstMetaDfbSurface),
-        (GstMetaInitFunction) NULL, (GstMetaFreeFunction) NULL,
+        (GstMetaInitFunction) gst_meta_dfbsurface_init,
+        (GstMetaFreeFunction) NULL,
         (GstMetaTransformFunction) NULL);
     g_once_init_leave (&meta_info, meta);
   }
@@ -2420,8 +2434,8 @@
       "DirectFB video sink", "Sink/Video", "A DirectFB based videosink",
       "Julien Moutte <julien@moutte.net>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_dfbvideosink_sink_template_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_dfbvideosink_sink_template_factory);
 
   gstelement_class->change_state = gst_dfbvideosink_change_state;
 
diff --git a/ext/dtls/Makefile.in b/ext/dtls/Makefile.in
index c92a0a0..4b97fe8 100644
--- a/ext/dtls/Makefile.in
+++ b/ext/dtls/Makefile.in
@@ -243,7 +243,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -309,6 +309,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -524,6 +526,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -650,8 +654,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -696,6 +698,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/dtls/README b/ext/dtls/README
new file mode 100644
index 0000000..8d165ec
--- /dev/null
+++ b/ext/dtls/README
@@ -0,0 +1,153 @@
+INTRODUCTION
+============
+This document is an attempt to describe the basics of the DTLS element.
+It hasn't been written by the author(s) and so, besides being incomplete,
+*IT MIGHT ALSO BE INCORRECT*. So take it with a pinch of salt.
+
+As always, if in doubt ask the #gstreamer IRC channel.
+
+THE INTERNALS
+=============
+This plugin provides two main elements (dtlssrtpdec and dtlssrtpenc) and a few
+minor elements necessary to implement them. The two elements dtlssrtpdec and
+dtlssrtpenc are the only ones you are supposed to include in, respectively, the
+RX and TX pipelines of your DTLS-enabled application. This means you're not
+supposed to directly include those minor elements in your pipelines.
+
+dtlssrtpenc
+-----------
+This element is to be included in the TX pipeline and will initiate the DTLS
+handshake if configured to be the client. Its main configuration parameters are:
+
+  - connection-id: a string that must match the connection-id in dtlssrtpdec;
+  - is-client: a boolean that indicates whether this is going to be the client
+							 or the server during the DTLS handshake.
+
+Internally this element comprises the standard srtpenc element, the dtlsenc
+element and a funnel to connect both these elements to one single output.
+The srtpenc can be used to encrypt SRTP/SRTCP packets while the dtlsenc can be
+used to encrypt generic data, e.g. for non-SRTP applications.
+
+NB With the current implementation the TX pipeline containing the dtlssrtpenc
+	 must be created *AFTER* the RX pipeline.
+
+dtlssrtpdec
+-----------
+It is to be included in the RX pipeline. Its main configuration parameters are:
+
+  - connection-id: a string that must match the connection-id in dtlssrtpenc;
+	- pem: a string that can be used to provide your own certificate *AND* private
+				 key in PEM format. The private key is required to carry out the
+				 handshake so do not forget it or the DTLS negotiation will fail;
+  - peer_pem: a read only parameter that can be used to retrieve the
+							certificate sent from the other party in PEM format once the
+							handshake is completed.
+
+Internally this element comprises a dtlssrtpdemux, a standard srtpdec element
+and the dtlsdec element. The dtlssrtpdemux element switches SRT(C)P packets to
+the srtpdec element and DTLS packets to the dtlsdec element and discards any
+other unknown packet. So, similarly for the dtlssrtpenc case, DTLS-SRTP
+applications would exercise the srtpdec element and any other non-SRTP
+application would exercise the dtlsdec element.
+
+NB With the current implementation the RX pipeline containing the dtlssrtpdec
+	 must be created *BEFORE* the TX pipeline.
+
+EXAMPLE PIPELINE
+================
+The following is an example usage of the DTLS plugin. It is a python script that
+creates two endpoints that exchange encrypted audio using DTLS to exchange the
+encryption keys.
+
+NB In theory we would show an example gst-launch command. However that would not
+	 be enough because you need two pairs of TX/RX pipelines for a proper
+	 handshake and you can't use gst-launch two start 4 different pipelines.
+	 This why there is a python script in here.
+
+```
+#!/usr/bin/env python3
+
+# create two endpoints, each with tx and rx pipelines using the DTLS
+# elements and let audio flowing for a while to give time for a packet capture
+
+import time
+from gi.repository import Gst, GObject, GLib
+GObject.threads_init()
+Gst.init(None)
+
+
+def _start_pipeline(pipeline):
+    pipeline.set_state(Gst.State.PLAYING)
+    pipeline.get_state(Gst.CLOCK_TIME_NONE)
+
+
+def _sleep_while_iterating_gloop(secs):
+    """ block for secs seconds but iterate the gloop while you do """
+    for _ in range(10 * secs):
+        gloop = GLib.MainLoop()
+        gloop_context = gloop.get_context()
+        gloop_context.iteration(may_block=False)
+        time.sleep(0.1)
+
+def dtls_tx_pipeline_description(name, is_client, port):
+    return ' ! '.join([
+        'audiotestsrc is-live=true',
+        'audio/x-raw, rate=8000, format=S16LE, channels=1',
+        'opusenc frame-size=10',
+        'rtpopuspay pt=103',
+        '.rtp_sink_0 dtlssrtpenc connection-id={name} is-client={client} .src',
+        'udpsink port={port}'
+    ]).format(name=name, client=is_client, port=port)
+
+
+def dtls_rx_pipeline_description(name, port):
+    return ' ! '.join([
+        'udpsrc port={port}',
+        '.sink dtlssrtpdec connection-id={name} .rtp_src',
+        'queue',
+        'fakesink async=false'
+    ]).format(name=name, port=port)
+
+
+class Endpoint:
+    def __init__(self, name, is_client, tx_port, rx_port):
+        self.name = name
+        tx_pipeline_description = dtls_tx_pipeline_description(
+            name, is_client, tx_port
+        )
+        rx_pipeline_description = dtls_rx_pipeline_description(name, rx_port)
+        print(rx_pipeline_description)
+        print(tx_pipeline_description)
+
+        self.rx_pipeline = Gst.parse_launch(rx_pipeline_description)
+        self.tx_pipeline = Gst.parse_launch(tx_pipeline_description)
+
+    def start(self):
+				# Start RX first, otherwise it fails due to the current implementation
+        self.start_rx_pipeline()
+        self.start_tx_pipeline()
+
+    def start_rx_pipeline(self):
+        _start_pipeline(self.rx_pipeline)
+
+    def start_tx_pipeline(self):
+        _start_pipeline(self.tx_pipeline)
+
+    def stop(self):
+        def stop_pipeline(p):
+            p.set_state(Gst.State.NULL)
+            p.get_state(Gst.CLOCK_TIME_NONE)
+        stop_pipeline(self.tx_pipeline)
+        stop_pipeline(self.rx_pipeline)
+
+blue = Endpoint("blue", is_client=True, tx_port=23000, rx_port=23002)
+red = Endpoint("red", is_client=False, tx_port=23002, rx_port=23000)
+
+red.start()
+blue.start()
+
+_sleep_while_iterating_gloop(3)
+
+red.stop()
+blue.stop()
+```
diff --git a/ext/dtls/gstdtlsdec.c b/ext/dtls/gstdtlsdec.c
index f05b4f1..3770de0 100644
--- a/ext/dtls/gstdtlsdec.c
+++ b/ext/dtls/gstdtlsdec.c
@@ -173,10 +173,8 @@
 
   g_object_class_install_properties (gobject_class, NUM_PROPERTIES, properties);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "DTLS Decoder",
diff --git a/ext/dtls/gstdtlsenc.c b/ext/dtls/gstdtlsenc.c
index 060f053..9c64935 100644
--- a/ext/dtls/gstdtlsenc.c
+++ b/ext/dtls/gstdtlsenc.c
@@ -162,10 +162,8 @@
 
   g_object_class_install_properties (gobject_class, NUM_PROPERTIES, properties);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "DTLS Encoder",
diff --git a/ext/dtls/gstdtlssrtpdec.c b/ext/dtls/gstdtlssrtpdec.c
index 5e29a0f..300fb9c 100644
--- a/ext/dtls/gstdtlssrtpdec.c
+++ b/ext/dtls/gstdtlssrtpdec.c
@@ -133,14 +133,10 @@
 
   g_object_class_install_properties (gobject_class, NUM_PROPERTIES, properties);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&rtp_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&rtcp_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&data_src_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &rtp_src_template);
+  gst_element_class_add_static_pad_template (element_class, &rtcp_src_template);
+  gst_element_class_add_static_pad_template (element_class, &data_src_template);
 
   gst_element_class_set_static_metadata (element_class,
       "DTLS-SRTP Decoder",
@@ -169,19 +165,19 @@
                                  +-----------+
 */
 
-  self->srtp_dec = gst_element_factory_make ("srtpdec", "srtp-decoder");
+  self->srtp_dec = gst_element_factory_make ("srtpdec", NULL);
   if (!self->srtp_dec) {
     GST_ERROR_OBJECT (self,
         "failed to create srtp_dec, is the srtp plugin registered?");
     return;
   }
   self->dtls_srtp_demux =
-      gst_element_factory_make ("dtlssrtpdemux", "dtls-srtp-demux");
+      gst_element_factory_make ("dtlssrtpdemux", NULL);
   if (!self->dtls_srtp_demux) {
     GST_ERROR_OBJECT (self, "failed to create dtls_srtp_demux");
     return;
   }
-  self->bin.dtls_element = gst_element_factory_make ("dtlsdec", "dtls-decoder");
+  self->bin.dtls_element = gst_element_factory_make ("dtlsdec", NULL);
   if (!self->bin.dtls_element) {
     GST_ERROR_OBJECT (self, "failed to create dtls_dec");
     return;
diff --git a/ext/dtls/gstdtlssrtpdemux.c b/ext/dtls/gstdtlssrtpdemux.c
index f52d5fb..ab1ef70 100644
--- a/ext/dtls/gstdtlssrtpdemux.c
+++ b/ext/dtls/gstdtlssrtpdemux.c
@@ -69,12 +69,9 @@
 
   element_class = (GstElementClass *) klass;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&rtp_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&dtls_src_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &rtp_src_template);
+  gst_element_class_add_static_pad_template (element_class, &dtls_src_template);
 
   gst_element_class_set_static_metadata (element_class,
       "DTLS SRTP Demultiplexer",
diff --git a/ext/dtls/gstdtlssrtpenc.c b/ext/dtls/gstdtlssrtpenc.c
index 941afac..237aec5 100644
--- a/ext/dtls/gstdtlssrtpenc.c
+++ b/ext/dtls/gstdtlssrtpenc.c
@@ -139,14 +139,12 @@
 
   g_object_class_install_properties (gobject_class, NUM_PROPERTIES, properties);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&rtp_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&rtcp_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&data_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class, &rtp_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &rtcp_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &data_sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 
   gst_element_class_set_static_metadata (element_class,
       "DTLS-SRTP Encoder",
@@ -174,19 +172,19 @@
                  +--------------------+     +-----------------+
 */
 
-  self->srtp_enc = gst_element_factory_make ("srtpenc", "srtp-encoder");
+  self->srtp_enc = gst_element_factory_make ("srtpenc", NULL);
   if (!self->srtp_enc) {
     GST_ERROR_OBJECT (self,
         "failed to create srtp encoder, is the srtp plugin registered?");
     return;
   }
   g_return_if_fail (self->srtp_enc);
-  self->bin.dtls_element = gst_element_factory_make ("dtlsenc", "dtls-encoder");
+  self->bin.dtls_element = gst_element_factory_make ("dtlsenc", NULL);
   if (!self->bin.dtls_element) {
     GST_ERROR_OBJECT (self, "failed to create dtls encoder");
     return;
   }
-  self->funnel = gst_element_factory_make ("funnel", "funnel");
+  self->funnel = gst_element_factory_make ("funnel", NULL);
   if (!self->funnel) {
     GST_ERROR_OBJECT (self, "failed to create funnel");
     return;
diff --git a/ext/dts/Makefile.in b/ext/dts/Makefile.in
index e5f7fa7..03a6524 100644
--- a/ext/dts/Makefile.in
+++ b/ext/dts/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/dts/gstdtsdec.c b/ext/dts/gstdtsdec.c
index 767b6bf..095238c 100644
--- a/ext/dts/gstdtsdec.c
+++ b/ext/dts/gstdtsdec.c
@@ -156,10 +156,8 @@
   gobject_class->set_property = gst_dtsdec_set_property;
   gobject_class->get_property = gst_dtsdec_get_property;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
   gst_element_class_set_static_metadata (gstelement_class, "DTS audio decoder",
       "Codec/Decoder/Audio",
       "Decodes DTS audio streams",
diff --git a/ext/faac/Makefile.in b/ext/faac/Makefile.in
index 09b85a3..9f1f8ce 100644
--- a/ext/faac/Makefile.in
+++ b/ext/faac/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/faac/gstfaac.c b/ext/faac/gstfaac.c
index 6804cbf..7e3cf41 100644
--- a/ext/faac/gstfaac.c
+++ b/ext/faac/gstfaac.c
@@ -191,8 +191,7 @@
 
   GST_DEBUG_CATEGORY_INIT (faac_debug, "faac", 0, "AAC encoding");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_template);
 
   sink_caps = gst_faac_enc_generate_sink_caps ();
   sink_templ = gst_pad_template_new ("sink",
diff --git a/ext/faad/Makefile.in b/ext/faad/Makefile.in
index 86ddefa..7e39159 100644
--- a/ext/faad/Makefile.in
+++ b/ext/faad/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/faad/gstfaad.c b/ext/faad/gstfaad.c
index b72b42d..07cca30 100644
--- a/ext/faad/gstfaad.c
+++ b/ext/faad/gstfaad.c
@@ -111,10 +111,8 @@
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
   GstAudioDecoderClass *base_class = GST_AUDIO_DECODER_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   gst_element_class_set_static_metadata (element_class, "AAC audio decoder",
       "Codec/Decoder/Audio",
diff --git a/ext/flite/Makefile.in b/ext/flite/Makefile.in
index c53146e..99561a3 100644
--- a/ext/flite/Makefile.in
+++ b/ext/flite/Makefile.in
@@ -301,6 +301,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -516,6 +518,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -642,8 +646,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -688,6 +690,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/flite/gstflitetestsrc.c b/ext/flite/gstflitetestsrc.c
index b6c5667..63ed90d 100644
--- a/ext/flite/gstflitetestsrc.c
+++ b/ext/flite/gstflitetestsrc.c
@@ -126,8 +126,8 @@
           1, G_MAXINT, DEFAULT_SAMPLES_PER_BUFFER,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_flite_test_src_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_flite_test_src_src_template);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Flite speech test source", "Source/Audio",
diff --git a/ext/fluidsynth/Makefile.in b/ext/fluidsynth/Makefile.in
index 8fd5276..e340836 100644
--- a/ext/fluidsynth/Makefile.in
+++ b/ext/fluidsynth/Makefile.in
@@ -310,6 +310,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -525,6 +527,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -651,8 +655,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -697,6 +699,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/fluidsynth/gstfluiddec.c b/ext/fluidsynth/gstfluiddec.c
index 124825b..62262ec 100644
--- a/ext/fluidsynth/gstfluiddec.c
+++ b/ext/fluidsynth/gstfluiddec.c
@@ -177,10 +177,8 @@
           "Synth Polyphony", "The number of simultaneous voices", 1, 65535,
           DEFAULT_SYNTH_POLYPHONY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class, "Fluidsynth",
       "Codec/Decoder/Audio",
diff --git a/ext/gl/Makefile.am b/ext/gl/Makefile.am
index 5d55f54..5a82853 100644
--- a/ext/gl/Makefile.am
+++ b/ext/gl/Makefile.am
@@ -40,7 +40,10 @@
 	gstglfilterapp.c \
 	gstglviewconvert.c \
 	gstglstereosplit.c \
-	gstglstereomix.c
+	gstgldeinterlace.c \
+	gstglstereomix.c \
+	gltestsrc.c \
+	gstgltestsrc.c
 
 noinst_HEADERS = \
 	gstglbasemixer.h \
@@ -63,22 +66,19 @@
 	gstglfilterapp.h \
 	gstglstereosplit.h \
 	gstglstereomix.h \
-	gstglviewconvert.h
+	gstgldeinterlace.h \
+	gstglviewconvert.h \
+	gltestsrc.h \
+	gstgltestsrc.h
 
 # full opengl required
 if USE_OPENGL
 libgstopengl_la_SOURCES += \
 	gstglfilterglass.c \
-	gstgldeinterlace.c \
-	gltestsrc.c \
-	gstgltestsrc.c \
 	gstglmosaic.c
 
 noinst_HEADERS += \
 	gstglfilterglass.h \
-	gstgldeinterlace.h \
-	gltestsrc.h \
-	gstgltestsrc.h \
 	gstglmosaic.h \
 	effects/gstgleffectscurves.h \
 	effects/gstgleffectlumatocurve.h
diff --git a/ext/gl/Makefile.in b/ext/gl/Makefile.in
index 2b2ecdf..08449a8 100644
--- a/ext/gl/Makefile.in
+++ b/ext/gl/Makefile.in
@@ -94,16 +94,10 @@
 # full opengl required
 @USE_OPENGL_TRUE@am__append_1 = \
 @USE_OPENGL_TRUE@	gstglfilterglass.c \
-@USE_OPENGL_TRUE@	gstgldeinterlace.c \
-@USE_OPENGL_TRUE@	gltestsrc.c \
-@USE_OPENGL_TRUE@	gstgltestsrc.c \
 @USE_OPENGL_TRUE@	gstglmosaic.c
 
 @USE_OPENGL_TRUE@am__append_2 = \
 @USE_OPENGL_TRUE@	gstglfilterglass.h \
-@USE_OPENGL_TRUE@	gstgldeinterlace.h \
-@USE_OPENGL_TRUE@	gltestsrc.h \
-@USE_OPENGL_TRUE@	gstgltestsrc.h \
 @USE_OPENGL_TRUE@	gstglmosaic.h \
 @USE_OPENGL_TRUE@	effects/gstgleffectscurves.h \
 @USE_OPENGL_TRUE@	effects/gstgleffectlumatocurve.h
@@ -231,15 +225,12 @@
 	effects/gstgleffectlaplacian.c gstglcolorscale.c \
 	gstglcolorbalance.c gstglmixer.c gstglvideomixer.c \
 	gstglfiltershader.c gstglfilterapp.c gstglviewconvert.c \
-	gstglstereosplit.c gstglstereomix.c gstglfilterglass.c \
-	gstgldeinterlace.c gltestsrc.c gstgltestsrc.c gstglmosaic.c \
+	gstglstereosplit.c gstgldeinterlace.c gstglstereomix.c \
+	gltestsrc.c gstgltestsrc.c gstglfilterglass.c gstglmosaic.c \
 	gstgldifferencematte.c gstgltransformation.c gstglvideoflip.c \
 	gstgloverlay.c caopengllayersink.m
 am__dirstamp = $(am__leading_dot)dirstamp
 @USE_OPENGL_TRUE@am__objects_1 = libgstopengl_la-gstglfilterglass.lo \
-@USE_OPENGL_TRUE@	libgstopengl_la-gstgldeinterlace.lo \
-@USE_OPENGL_TRUE@	libgstopengl_la-gltestsrc.lo \
-@USE_OPENGL_TRUE@	libgstopengl_la-gstgltestsrc.lo \
 @USE_OPENGL_TRUE@	libgstopengl_la-gstglmosaic.lo
 @HAVE_PNG_TRUE@@USE_OPENGL_TRUE@am__objects_2 = libgstopengl_la-gstgldifferencematte.lo
 @HAVE_GRAPHENE_TRUE@am__objects_3 =  \
@@ -286,7 +277,9 @@
 	libgstopengl_la-gstglfilterapp.lo \
 	libgstopengl_la-gstglviewconvert.lo \
 	libgstopengl_la-gstglstereosplit.lo \
-	libgstopengl_la-gstglstereomix.lo $(am__objects_1) \
+	libgstopengl_la-gstgldeinterlace.lo \
+	libgstopengl_la-gstglstereomix.lo libgstopengl_la-gltestsrc.lo \
+	libgstopengl_la-gstgltestsrc.lo $(am__objects_1) \
 	$(am__objects_2) $(am__objects_3) $(am__objects_4) \
 	$(am__objects_5)
 libgstopengl_la_OBJECTS = $(am_libgstopengl_la_OBJECTS)
@@ -364,8 +357,8 @@
 	effects/gstgleffectssources.h gstglcolorscale.h \
 	gstglcolorbalance.h gstglmixer.h gstglvideomixer.h \
 	gstglfiltershader.h gstglfilterapp.h gstglstereosplit.h \
-	gstglstereomix.h gstglviewconvert.h gstglfilterglass.h \
-	gstgldeinterlace.h gltestsrc.h gstgltestsrc.h gstglmosaic.h \
+	gstglstereomix.h gstgldeinterlace.h gstglviewconvert.h \
+	gltestsrc.h gstgltestsrc.h gstglfilterglass.h gstglmosaic.h \
 	effects/gstgleffectscurves.h effects/gstgleffectlumatocurve.h \
 	gstgldifferencematte.h gstgltransformation.h gstglvideoflip.h \
 	gstgloverlay.h caopengllayersink.h
@@ -455,6 +448,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -670,6 +665,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -796,8 +793,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -842,6 +837,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -948,9 +945,9 @@
 	effects/gstgleffectlaplacian.c gstglcolorscale.c \
 	gstglcolorbalance.c gstglmixer.c gstglvideomixer.c \
 	gstglfiltershader.c gstglfilterapp.c gstglviewconvert.c \
-	gstglstereosplit.c gstglstereomix.c $(am__append_1) \
-	$(am__append_3) $(am__append_5) $(am__append_7) \
-	$(am__append_9)
+	gstglstereosplit.c gstgldeinterlace.c gstglstereomix.c \
+	gltestsrc.c gstgltestsrc.c $(am__append_1) $(am__append_3) \
+	$(am__append_5) $(am__append_7) $(am__append_9)
 noinst_HEADERS = gstglbasemixer.h gstgluploadelement.h \
 	gstgldownloadelement.h gstglcolorconvertelement.h \
 	gstglfilterbin.h gstglmixerbin.h gstglsinkbin.h gstglsrcbin.h \
@@ -958,9 +955,9 @@
 	effects/gstgleffectssources.h gstglcolorscale.h \
 	gstglcolorbalance.h gstglmixer.h gstglvideomixer.h \
 	gstglfiltershader.h gstglfilterapp.h gstglstereosplit.h \
-	gstglstereomix.h gstglviewconvert.h $(am__append_2) \
-	$(am__append_4) $(am__append_6) $(am__append_8) \
-	$(am__append_10)
+	gstglstereomix.h gstgldeinterlace.h gstglviewconvert.h \
+	gltestsrc.h gstgltestsrc.h $(am__append_2) $(am__append_4) \
+	$(am__append_6) $(am__append_8) $(am__append_10)
 libgstopengl_la_OBJCFLAGS = \
 	-I$(top_srcdir)/gst-libs \
 	-I$(top_builddir)/gst-libs \
@@ -1469,20 +1466,6 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -c -o libgstopengl_la-gstglstereosplit.lo `test -f 'gstglstereosplit.c' || echo '$(srcdir)/'`gstglstereosplit.c
 
-libgstopengl_la-gstglstereomix.lo: gstglstereomix.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -MT libgstopengl_la-gstglstereomix.lo -MD -MP -MF $(DEPDIR)/libgstopengl_la-gstglstereomix.Tpo -c -o libgstopengl_la-gstglstereomix.lo `test -f 'gstglstereomix.c' || echo '$(srcdir)/'`gstglstereomix.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstopengl_la-gstglstereomix.Tpo $(DEPDIR)/libgstopengl_la-gstglstereomix.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstglstereomix.c' object='libgstopengl_la-gstglstereomix.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 $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -c -o libgstopengl_la-gstglstereomix.lo `test -f 'gstglstereomix.c' || echo '$(srcdir)/'`gstglstereomix.c
-
-libgstopengl_la-gstglfilterglass.lo: gstglfilterglass.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -MT libgstopengl_la-gstglfilterglass.lo -MD -MP -MF $(DEPDIR)/libgstopengl_la-gstglfilterglass.Tpo -c -o libgstopengl_la-gstglfilterglass.lo `test -f 'gstglfilterglass.c' || echo '$(srcdir)/'`gstglfilterglass.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstopengl_la-gstglfilterglass.Tpo $(DEPDIR)/libgstopengl_la-gstglfilterglass.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstglfilterglass.c' object='libgstopengl_la-gstglfilterglass.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 $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -c -o libgstopengl_la-gstglfilterglass.lo `test -f 'gstglfilterglass.c' || echo '$(srcdir)/'`gstglfilterglass.c
-
 libgstopengl_la-gstgldeinterlace.lo: gstgldeinterlace.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -MT libgstopengl_la-gstgldeinterlace.lo -MD -MP -MF $(DEPDIR)/libgstopengl_la-gstgldeinterlace.Tpo -c -o libgstopengl_la-gstgldeinterlace.lo `test -f 'gstgldeinterlace.c' || echo '$(srcdir)/'`gstgldeinterlace.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstopengl_la-gstgldeinterlace.Tpo $(DEPDIR)/libgstopengl_la-gstgldeinterlace.Plo
@@ -1490,6 +1473,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 $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -c -o libgstopengl_la-gstgldeinterlace.lo `test -f 'gstgldeinterlace.c' || echo '$(srcdir)/'`gstgldeinterlace.c
 
+libgstopengl_la-gstglstereomix.lo: gstglstereomix.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -MT libgstopengl_la-gstglstereomix.lo -MD -MP -MF $(DEPDIR)/libgstopengl_la-gstglstereomix.Tpo -c -o libgstopengl_la-gstglstereomix.lo `test -f 'gstglstereomix.c' || echo '$(srcdir)/'`gstglstereomix.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstopengl_la-gstglstereomix.Tpo $(DEPDIR)/libgstopengl_la-gstglstereomix.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstglstereomix.c' object='libgstopengl_la-gstglstereomix.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 $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -c -o libgstopengl_la-gstglstereomix.lo `test -f 'gstglstereomix.c' || echo '$(srcdir)/'`gstglstereomix.c
+
 libgstopengl_la-gltestsrc.lo: gltestsrc.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -MT libgstopengl_la-gltestsrc.lo -MD -MP -MF $(DEPDIR)/libgstopengl_la-gltestsrc.Tpo -c -o libgstopengl_la-gltestsrc.lo `test -f 'gltestsrc.c' || echo '$(srcdir)/'`gltestsrc.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstopengl_la-gltestsrc.Tpo $(DEPDIR)/libgstopengl_la-gltestsrc.Plo
@@ -1504,6 +1494,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 $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -c -o libgstopengl_la-gstgltestsrc.lo `test -f 'gstgltestsrc.c' || echo '$(srcdir)/'`gstgltestsrc.c
 
+libgstopengl_la-gstglfilterglass.lo: gstglfilterglass.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -MT libgstopengl_la-gstglfilterglass.lo -MD -MP -MF $(DEPDIR)/libgstopengl_la-gstglfilterglass.Tpo -c -o libgstopengl_la-gstglfilterglass.lo `test -f 'gstglfilterglass.c' || echo '$(srcdir)/'`gstglfilterglass.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstopengl_la-gstglfilterglass.Tpo $(DEPDIR)/libgstopengl_la-gstglfilterglass.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstglfilterglass.c' object='libgstopengl_la-gstglfilterglass.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 $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -c -o libgstopengl_la-gstglfilterglass.lo `test -f 'gstglfilterglass.c' || echo '$(srcdir)/'`gstglfilterglass.c
+
 libgstopengl_la-gstglmosaic.lo: gstglmosaic.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -MT libgstopengl_la-gstglmosaic.lo -MD -MP -MF $(DEPDIR)/libgstopengl_la-gstglmosaic.Tpo -c -o libgstopengl_la-gstglmosaic.lo `test -f 'gstglmosaic.c' || echo '$(srcdir)/'`gstglmosaic.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstopengl_la-gstglmosaic.Tpo $(DEPDIR)/libgstopengl_la-gstglmosaic.Plo
diff --git a/ext/gl/caopengllayersink.m b/ext/gl/caopengllayersink.m
index 367b59a..83cb827 100644
--- a/ext/gl/caopengllayersink.m
+++ b/ext/gl/caopengllayersink.m
@@ -227,8 +227,7 @@
       "Sink/Video", "A video sink based on CAOpenGLLayer",
       "Matthew Waters <matthew@centricular.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_ca_opengl_layer_sink_template));
+  gst_element_class_add_static_pad_template (element_class, &gst_ca_opengl_layer_sink_template);
 
   gobject_class->finalize = gst_ca_opengl_layer_sink_finalize;
 
@@ -384,7 +383,6 @@
 gst_ca_opengl_layer_sink_query (GstBaseSink * bsink, GstQuery * query)
 {
   GstCAOpenGLLayerSink *ca_sink = GST_CA_OPENGL_LAYER_SINK (bsink);
-  gboolean res = FALSE;
 
   switch (GST_QUERY_TYPE (query)) {
     case GST_QUERY_CONTEXT:
diff --git a/ext/gl/effects/gstgleffectssources.c b/ext/gl/effects/gstgleffectssources.c
index 6bdc155..b83e1d7 100644
--- a/ext/gl/effects/gstgleffectssources.c
+++ b/ext/gl/effects/gstgleffectssources.c
@@ -100,7 +100,8 @@
   "void main () {"
   "  vec2 texturecoord = v_texcoord.xy;"
   "  vec2 normcoord = texturecoord - 0.5;"
-  "  float r = length (normcoord);"
+  /* Add a very small value to length otherwise it could be 0 */
+  "  float r = length (normcoord)+0.01;"
   "  r = pow(r, 0.40)*1.3;"
   "  normcoord = normcoord / r;"
   "  texturecoord = (normcoord + 0.5);"
@@ -136,7 +137,8 @@
    * rect textures */
   "  normcoord = (texturecoord - 0.5);"
   "  float r = length(normcoord);"
-  "  normcoord *= clamp (r, 0.0, 0.275) / r;"
+  "  if (r > 0.0)"
+  "    normcoord *= clamp (r, 0.0, 0.275) / r;"
   "  texturecoord = normcoord + 0.5;"
   "  gl_FragColor = texture2D (tex, texturecoord);"
   "}";
@@ -466,32 +468,44 @@
   "}";
 
 const gchar *interpolate_fragment_source =
+  "#ifdef GL_ES\n"
+  "precision mediump float;\n"
+  "#endif\n"
+  "varying vec2 v_texcoord;"
   "uniform sampler2D base;"
   "uniform sampler2D blend;"
   "void main () {"
-  "vec4 basecolor = texture2D (base, gl_TexCoord[0].st);"
-  "vec4 blendcolor = texture2D (blend, gl_TexCoord[0].st);"
+  "vec4 basecolor = texture2D (base, v_texcoord);"
+  "vec4 blendcolor = texture2D (blend, v_texcoord);"
   "vec4 white = vec4(1.0);"
   "gl_FragColor = blendcolor + (1.0 - blendcolor.a) * basecolor;"
   "}";
 
 const gchar *texture_interp_fragment_source =
+  "#ifdef GL_ES\n"
+  "precision mediump float;\n"
+  "#endif\n"
+  "varying vec2 v_texcoord;"
   "uniform sampler2D base;"
   "uniform sampler2D blend;"
   "uniform sampler2D alpha;"
   "void main () {"
-  "  vec4 basecolor = texture2D (base, gl_TexCoord[0].st);"
-  "  vec4 blendcolor = texture2D (blend, gl_TexCoord[0].st);"
-  "  vec4 alphacolor = texture2D (alpha, gl_TexCoord[0].st);"
+  "  vec4 basecolor = texture2D (base, v_texcoord);"
+  "  vec4 blendcolor = texture2D (blend, v_texcoord);"
+  "  vec4 alphacolor = texture2D (alpha, v_texcoord);"
   "  gl_FragColor = (alphacolor * blendcolor) + (1.0 - alphacolor) * basecolor;"
   "}";
 
 const gchar *difference_fragment_source =
+  "#ifdef GL_ES\n"
+  "precision mediump float;\n"
+  "#endif\n"
+  "varying vec2 v_texcoord;"
   "uniform sampler2D saved;"
   "uniform sampler2D current;"
   "void main () {"
-  "vec4 savedcolor = texture2D (saved, gl_TexCoord[0].st);"
-  "vec4 currentcolor = texture2D (current, gl_TexCoord[0].st);"
+  "vec4 savedcolor = texture2D (saved, v_texcoord);"
+  "vec4 currentcolor = texture2D (current, v_texcoord);"
   "gl_FragColor = vec4 (step (0.12, length (savedcolor - currentcolor)));"
   "}";
 
diff --git a/ext/gl/gltestsrc.c b/ext/gl/gltestsrc.c
index c4a2765..80e3c55 100644
--- a/ext/gl/gltestsrc.c
+++ b/ext/gl/gltestsrc.c
@@ -1,5 +1,6 @@
 /* GStreamer
  * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ * Copyright (C) <2016> 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
@@ -21,17 +22,19 @@
 #include "config.h"
 #endif
 
-/* non-GST-specific stuff */
-
 #include "gltestsrc.h"
 
-#include <string.h>
-#include <stdlib.h>
-#include <math.h>
+#define MAX_ATTRIBUTES 4
 
-#ifndef M_PI
-#define M_PI  3.14159265358979323846
-#endif
+struct vts_color_struct
+{
+  gfloat R, G, B;
+};
+
+struct XYZWRGB
+{
+  gfloat X, Y, Z, W, R, G, B;
+};
 
 enum
 {
@@ -51,408 +54,1115 @@
 
 static const struct vts_color_struct vts_colors[] = {
   /* 100% white */
-  {255, 128, 128, 255, 255, 255, 255},
+  {1.0f, 1.0f, 1.0f},
   /* yellow */
-  {226, 0, 155, 255, 255, 0, 255},
+  {1.0f, 1.0f, 0.0f},
   /* cyan */
-  {179, 170, 0, 0, 255, 255, 255},
+  {0.0f, 1.0f, 1.0f},
   /* green */
-  {150, 46, 21, 0, 255, 0, 255},
+  {0.0f, 1.0f, 0.0f},
   /* magenta */
-  {105, 212, 235, 255, 0, 255, 255},
+  {1.0f, 0.0f, 1.0f},
   /* red */
-  {76, 85, 255, 255, 0, 0, 255},
+  {1.0f, 0.0f, 0.0f},
   /* blue */
-  {29, 255, 107, 0, 0, 255, 255},
+  {0.0f, 0.0f, 1.0f},
   /* black */
-  {16, 128, 128, 0, 0, 0, 255},
+  {0.0f, 0.0f, 0.0f},
   /* -I */
-  {16, 198, 21, 0, 0, 128, 255},
+  {0.0, 0.0f, 0.5f},
   /* +Q */
-  {16, 235, 198, 0, 128, 255, 255},
+  {0.0f, 0.5, 1.0f},
   /* superblack */
-  {0, 128, 128, 0, 0, 0, 255},
-  /* 5% grey */
-  {32, 128, 128, 32, 32, 32, 255},
+  {0.0f, 0.0f, 0.0f},
+  /* 7.421875% grey */
+  {19. / 256.0f, 19. / 256.0f, 19. / 256.0},
 };
 
-static void
-gst_gl_test_src_unicolor (GstGLTestSrc * v, GstBuffer * buffer, int w,
-    int h, const struct vts_color_struct *color);
-
-void
-gst_gl_test_src_smpte (GstGLTestSrc * v, GstBuffer * buffer, int w, int h)
-{
-#if GST_GL_HAVE_OPENGL
-  int i;
-
-  if (gst_gl_context_get_gl_api (v->context) & GST_GL_API_OPENGL) {
-
-    glClearColor (0.0, 0.0, 0.0, 1.0);
-    glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
-    glDisable (GL_CULL_FACE);
-
-    glMatrixMode (GL_PROJECTION);
-    glLoadIdentity ();
-
-    for (i = 0; i < 7; i++) {
-      glColor4f (vts_colors[i].R * (1 / 255.0f), vts_colors[i].G * (1 / 255.0f),
-          vts_colors[i].B * (1 / 255.0f), 1.0f);
-      glBegin (GL_QUADS);
-      glVertex3f (-1.0f + i * (2.0f / 7.0f), -1.0f + 2.0 * (2.0f / 3.0f), 0);
-      glVertex3f (-1.0f + (i + 1.0f) * (2.0f / 7.0f),
-          -1.0f + 2.0f * (2.0f / 3.0f), 0);
-      glVertex3f (-1.0f + (i + 1.0f) * (2.0f / 7.0f), -1.0f, 0);
-      glVertex3f (-1.0f + i * (2.0f / 7.0f), -1.0f, 0);
-      glEnd ();
-    }
-
-    for (i = 0; i < 7; i++) {
-      int k;
-
-      if (i & 1) {
-        k = 7;
-      } else {
-        k = 6 - i;
-      }
-
-      glColor4f (vts_colors[k].R * (1 / 255.0f), vts_colors[k].G * (1 / 255.0f),
-          vts_colors[k].B * (1 / 255.0f), 1.0f);
-      glBegin (GL_QUADS);
-      glVertex3f (-1.0f + i * (2.0f / 7.0f), -1.0f + 2.0f * (3.0f / 4.0f), 0);
-      glVertex3f (-1.0f + (i + 1) * (2.0f / 7.0f), -1.0f + 2.0f * (3.0f / 4.0f),
-          0);
-      glVertex3f (-1.0f + (i + 1) * (2.0f / 7.0f), -1.0f + 2.0f * (2.0f / 3.0f),
-          0);
-      glVertex3f (-1.0f + i * (2.0f / 7.0f), -1.0f + 2.0f * (2.0f / 3.0f), 0);
-      glEnd ();
-    }
-
-    for (i = 0; i < 3; i++) {
-      int k;
-
-      if (i == 0) {
-        k = 8;
-      } else if (i == 1) {
-        k = 0;
-      } else {
-        k = 9;
-      }
-
-      glColor4f (vts_colors[k].R * (1 / 255.0f), vts_colors[k].G * (1 / 255.0f),
-          vts_colors[k].B * (1 / 255.0f), 1.0f);
-      glBegin (GL_QUADS);
-      glVertex3f (-1.0f + i * (2.0f / 6.0f), -1.0f + 2.0f * 1, 0);
-      glVertex3f (-1.0f + (i + 1) * (2.0f / 6.0f), -1.0f + 2.0f * 1, 0);
-      glVertex3f (-1.0f + (i + 1) * (2.0f / 6.0f), -1.0f + 2.0f * (3.0f / 4.0f),
-          0);
-      glVertex3f (-1.0f + i * (2.0f / 6.0f), -1.0f + 2.0f * (3.0f / 4.0f), 0);
-      glEnd ();
-    }
-
-    for (i = 0; i < 3; i++) {
-      int k;
-
-      if (i == 0) {
-        k = COLOR_SUPER_BLACK;
-      } else if (i == 1) {
-        k = COLOR_BLACK;
-      } else {
-        k = COLOR_DARK_GREY;
-      }
-
-      glColor4f (vts_colors[k].R * (1 / 255.0f), vts_colors[k].G * (1 / 255.0f),
-          vts_colors[k].B * (1 / 255.0f), 1.0f);
-      glBegin (GL_QUADS);
-      glVertex3f (-1.0f + 2.0f * (0.5f + i * (1.0f / 12.0f)), -1.0 + 2.0f * 1,
-          0);
-      glVertex3f (-1.0f + 2.0f * (0.5f + (i + 1) * (1.0f / 12.0f)),
-          -1.0f + 2.0f * 1, 0);
-      glVertex3f (-1.0f + 2.0f * (0.5f + (i + 1) * (1.0f / 12.0f)),
-          -1.0f + 2.0f * (3.0f / 4.0f), 0);
-      glVertex3f (-1.0f + 2.0f * (0.5f + i * (1.0f / 12.0f)),
-          -1.0f + 2.0f * (3.0f / 4.0f), 0);
-      glEnd ();
-    }
-
-    glColor4f (1.0, 1.0, 1.0, 1.0);
-    glBegin (GL_QUADS);
-    glVertex3f (-1.0 + 2.0 * (0.75), -1.0 + 2.0 * 1, 0);
-    glVertex3f (-1.0 + 2.0 * (1.0), -1.0 + 2.0 * 1, 0);
-    glVertex3f (-1.0 + 2.0 * (1.0), -1.0 + 2.0 * (3.0 / 4.0), 0);
-    glVertex3f (-1.0 + 2.0 * (0.75), -1.0 + 2.0 * (3.0 / 4.0), 0);
-    glEnd ();
-  }
-#endif
-}
-
 /* *INDENT-OFF* */
-
 static const GLfloat positions[] = {
      -1.0,  1.0,  0.0, 1.0,
       1.0,  1.0,  0.0, 1.0,
       1.0, -1.0,  0.0, 1.0,
      -1.0, -1.0,  0.0, 1.0,
-  };
-static const GLfloat identitiy_matrix[] = {
-      1.0,  0.0,  0.0, 0.0,
-      0.0,  1.0,  0.0, 0.0,
-      0.0,  0.0,  1.0, 0.0,
-      0.0,  0.0,  0.0, 1.0,
-  };
+};
 
+static const GLushort indices_quad[] = { 0, 1, 2, 0, 2, 3 };
 /* *INDENT-ON* */
 
-void
-gst_gl_test_src_shader (GstGLTestSrc * v, GstBuffer * buffer, int w, int h)
+struct attribute
 {
+  const gchar *name;
+  gint location;
+  guint n_elements;
+  GLenum element_type;
+  guint offset;                 /* in bytes */
+  guint stride;                 /* in bytes */
+};
 
-  GstGLFuncs *gl = v->context->gl_vtable;
+struct SrcShader
+{
+  struct BaseSrcImpl base;
+
+  GstGLShader *shader;
+
+  guint vao;
+  guint vbo;
+  guint vbo_indices;
+
+  guint n_attributes;
+  struct attribute attributes[MAX_ATTRIBUTES];
+
+  gconstpointer vertices;
+  gsize vertices_size;
+  const gushort *indices;
+  guint index_offset;
+  guint n_indices;
+};
+
+static void
+_bind_buffer (struct SrcShader *src)
+{
+  GstGLContext *context = src->base.context;
+  const GstGLFuncs *gl = context->gl_vtable;
+  gint i;
+
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, src->vbo_indices);
+  gl->BindBuffer (GL_ARRAY_BUFFER, src->vbo);
+
+  /* Load the vertex position */
+  for (i = 0; i < src->n_attributes; i++) {
+    struct attribute *attr = &src->attributes[i];
+
+    if (attr->location == -1)
+      attr->location =
+          gst_gl_shader_get_attribute_location (src->shader, attr->name);
+
+    gl->VertexAttribPointer (attr->location, attr->n_elements,
+        attr->element_type, GL_FALSE, attr->stride,
+        (void *) (gintptr) attr->offset);
+
+    gl->EnableVertexAttribArray (attr->location);
+  }
+}
+
+static void
+_unbind_buffer (struct SrcShader *src)
+{
+  GstGLContext *context = src->base.context;
+  const GstGLFuncs *gl = context->gl_vtable;
+  gint i;
+
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
+  gl->BindBuffer (GL_ARRAY_BUFFER, 0);
+
+  for (i = 0; i < src->n_attributes; i++) {
+    struct attribute *attr = &src->attributes[i];
+
+    gl->DisableVertexAttribArray (attr->location);
+  }
+}
+
+static gboolean
+_src_shader_init (gpointer impl, GstGLContext * context, GstVideoInfo * v_info)
+{
+  struct SrcShader *src = impl;
+  const GstGLFuncs *gl = context->gl_vtable;
+
+  src->base.context = context;
+
+  if (!src->vbo) {
+    if (gl->GenVertexArrays) {
+      gl->GenVertexArrays (1, &src->vao);
+      gl->BindVertexArray (src->vao);
+    }
+
+    gl->GenBuffers (1, &src->vbo);
+    gl->BindBuffer (GL_ARRAY_BUFFER, src->vbo);
+    gl->BufferData (GL_ARRAY_BUFFER, src->vertices_size,
+        src->vertices, GL_STATIC_DRAW);
+
+    gl->GenBuffers (1, &src->vbo_indices);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, src->vbo_indices);
+    gl->BufferData (GL_ELEMENT_ARRAY_BUFFER, src->n_indices * sizeof (gushort),
+        src->indices, GL_STATIC_DRAW);
+
+    if (gl->GenVertexArrays) {
+      _bind_buffer (src);
+      gl->BindVertexArray (0);
+    }
+
+    gl->BindBuffer (GL_ARRAY_BUFFER, 0);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
+  }
+
+  return TRUE;
+}
+
+static gboolean
+_src_shader_fill_bound_fbo (gpointer impl)
+{
+  struct SrcShader *src = impl;
+  const GstGLFuncs *gl;
+
+  g_return_val_if_fail (src->base.context, FALSE);
+  g_return_val_if_fail (src->shader, FALSE);
+  gl = src->base.context->gl_vtable;
+
+  gst_gl_shader_use (src->shader);
+
+  if (gl->GenVertexArrays)
+    gl->BindVertexArray (src->vao);
+  else
+    _bind_buffer (src);
+
+  gl->DrawElements (GL_TRIANGLES, src->n_indices, GL_UNSIGNED_SHORT,
+      (gpointer) (gintptr) src->index_offset);
+
+  if (gl->GenVertexArrays)
+    gl->BindVertexArray (0);
+  else
+    _unbind_buffer (src);
+
+  gst_gl_context_clear_shader (src->base.context);
+
+  return TRUE;
+}
+
+static void
+_src_shader_deinit (gpointer impl)
+{
+  struct SrcShader *src = impl;
+  const GstGLFuncs *gl = src->base.context->gl_vtable;
+
+  if (src->shader)
+    gst_object_unref (src->shader);
+  src->shader = NULL;
+
+  if (src->vao)
+    gl->DeleteVertexArrays (1, &src->vao);
+  src->vao = 0;
+
+  if (src->vbo)
+    gl->DeleteBuffers (1, &src->vbo);
+  src->vbo = 0;
+
+  if (src->vbo_indices)
+    gl->DeleteBuffers (1, &src->vbo_indices);
+  src->vbo_indices = 0;
+}
 
 /* *INDENT-OFF* */
-  const GLfloat uvs[] = {
-     0.0,  1.0,
-     1.0,  1.0,
-     1.0,  0.0,
-     0.0,  0.0,
-  };
+static const gchar *smpte_vertex_src =
+    "attribute vec4 position;\n"
+    "attribute vec4 a_color;\n"
+    "varying vec4 color;\n"
+    "void main()\n"
+    "{\n"
+    "  gl_Position = position;\n"
+    "  color = a_color;\n"
+    "}";
+
+static const gchar *smpte_fragment_src =
+    "#ifdef GL_ES\n"
+    "precision mediump float;\n"
+    "#endif\n"
+    "varying vec4 color;\n"
+    "void main()\n"
+    "{\n"
+    "  gl_FragColor = color;\n"
+    "}";
+
+static const gchar *snow_vertex_src =
+    "attribute vec4 position;\n"
+    "varying vec2 out_uv;\n"
+    "void main()\n"
+    "{\n"
+    "   gl_Position = position;\n"
+    "   out_uv = position.xy;\n"
+    "}";
+
+static const gchar *snow_fragment_src = 
+    "#ifdef GL_ES\n"
+    "precision mediump float;\n"
+    "#endif\n"
+    "uniform float time;\n"
+    "varying vec2 out_uv;\n"
+    "\n"
+    "float rand(vec2 co){\n"
+    "    return fract(sin(dot(co.xy, vec2(12.9898,78.233))) * 43758.5453);\n"
+    "}\n"
+    "void main()\n"
+    "{\n"
+    "  gl_FragColor = vec4(rand(time * out_uv));\n"
+    "}";
 /* *INDENT-ON* */
 
-  GLushort indices[] = { 0, 1, 2, 3, 0 };
+#define N_QUADS 21
+struct SrcSMPTE
+{
+  struct SrcShader base;
 
-  GLint attr_position_loc = -1;
-  GLint attr_uv_loc = -1;
+  GstGLShader *snow_shader;
+  GstGLShader *color_shader;
+  gint attr_snow_position;
+};
 
-  if (gst_gl_context_get_gl_api (v->context)) {
+static gpointer
+_src_smpte_new (GstGLTestSrc * test)
+{
+  struct SrcSMPTE *src = g_new0 (struct SrcSMPTE, 1);
 
-    gst_gl_context_clear_shader (v->context);
-    gl->BindTexture (GL_TEXTURE_2D, 0);
+  src->base.base.src = test;
 
-    gst_gl_shader_use (v->shader);
-
-    attr_position_loc =
-        gst_gl_shader_get_attribute_location (v->shader, "position");
-
-    attr_uv_loc = gst_gl_shader_get_attribute_location (v->shader, "uv");
-
-    /* Load the vertex position */
-    gl->VertexAttribPointer (attr_position_loc, 4, GL_FLOAT,
-        GL_FALSE, 0, positions);
-    /* Load the texture coordinate */
-    gl->VertexAttribPointer (attr_uv_loc, 2, GL_FLOAT, GL_FALSE, 0, uvs);
-
-    gl->EnableVertexAttribArray (attr_position_loc);
-    gl->EnableVertexAttribArray (attr_uv_loc);
-
-    gst_gl_shader_set_uniform_matrix_4fv (v->shader, "mvp",
-        1, GL_FALSE, identitiy_matrix);
-
-    gst_gl_shader_set_uniform_1f (v->shader, "time",
-        (gfloat) v->running_time / GST_SECOND);
-
-    gst_gl_shader_set_uniform_1f (v->shader, "aspect_ratio",
-        (gfloat) w / (gfloat) h);
-
-    gl->DrawElements (GL_TRIANGLE_STRIP, 5, GL_UNSIGNED_SHORT, indices);
-
-    gl->DisableVertexAttribArray (attr_position_loc);
-    gl->DisableVertexAttribArray (attr_uv_loc);
-
-    gst_gl_context_clear_shader (v->context);
-  }
+  return src;
 }
 
-static void
-gst_gl_test_src_unicolor (GstGLTestSrc * v, GstBuffer * buffer, int w,
-    int h, const struct vts_color_struct *color)
+static gboolean
+_src_smpte_init (gpointer impl, GstGLContext * context, GstVideoInfo * v_info)
 {
-#if GST_GL_HAVE_OPENGL
-  if (gst_gl_context_get_gl_api (v->context) & GST_GL_API_OPENGL) {
-    glClearColor (color->R * (1 / 255.0f), color->G * (1 / 255.0f),
-        color->B * (1 / 255.0f), 1.0f);
-    glClear (GL_COLOR_BUFFER_BIT);
-  }
-#endif
-}
-
-void
-gst_gl_test_src_black (GstGLTestSrc * v, GstBuffer * buffer, int w, int h)
-{
-  gst_gl_test_src_unicolor (v, buffer, w, h, vts_colors + COLOR_BLACK);
-}
-
-void
-gst_gl_test_src_white (GstGLTestSrc * v, GstBuffer * buffer, int w, int h)
-{
-  gst_gl_test_src_unicolor (v, buffer, w, h, vts_colors + COLOR_WHITE);
-}
-
-void
-gst_gl_test_src_red (GstGLTestSrc * v, GstBuffer * buffer, int w, int h)
-{
-  gst_gl_test_src_unicolor (v, buffer, w, h, vts_colors + COLOR_RED);
-}
-
-void
-gst_gl_test_src_green (GstGLTestSrc * v, GstBuffer * buffer, int w, int h)
-{
-  gst_gl_test_src_unicolor (v, buffer, w, h, vts_colors + COLOR_GREEN);
-}
-
-void
-gst_gl_test_src_blue (GstGLTestSrc * v, GstBuffer * buffer, int w, int h)
-{
-  gst_gl_test_src_unicolor (v, buffer, w, h, vts_colors + COLOR_BLUE);
-}
-
-static void
-gst_gl_test_src_checkers (GstGLTestSrc * v, gint checker_width)
-{
-
-  GstGLFuncs *gl = v->context->gl_vtable;
-
-  GLushort indices[] = { 0, 1, 2, 3, 0 };
-
-  GLint attr_position_loc = -1;
-
-  if (gst_gl_context_get_gl_api (v->context)) {
-
-    gst_gl_context_clear_shader (v->context);
-    gl->BindTexture (GL_TEXTURE_2D, 0);
-
-    gst_gl_shader_use (v->shader);
-
-    attr_position_loc =
-        gst_gl_shader_get_attribute_location (v->shader, "position");
-
-    /* Load the vertex position */
-    gl->VertexAttribPointer (attr_position_loc, 4, GL_FLOAT,
-        GL_FALSE, 0, positions);
-
-    gl->EnableVertexAttribArray (attr_position_loc);
-
-    gst_gl_shader_set_uniform_matrix_4fv (v->shader, "mvp",
-        1, GL_FALSE, identitiy_matrix);
-
-    gst_gl_shader_set_uniform_1f (v->shader, "checker_width", checker_width);
-
-    gl->DrawElements (GL_TRIANGLE_STRIP, 5, GL_UNSIGNED_SHORT, indices);
-
-    gl->DisableVertexAttribArray (attr_position_loc);
-
-    gst_gl_context_clear_shader (v->context);
-  }
-}
-
-
-void
-gst_gl_test_src_checkers1 (GstGLTestSrc * v, GstBuffer * buffer, int w, int h)
-{
-  gst_gl_test_src_checkers (v, 1);
-}
-
-
-void
-gst_gl_test_src_checkers2 (GstGLTestSrc * v, GstBuffer * buffer, int w, int h)
-{
-  gst_gl_test_src_checkers (v, 2);
-}
-
-void
-gst_gl_test_src_checkers4 (GstGLTestSrc * v, GstBuffer * buffer, int w, int h)
-{
-  gst_gl_test_src_checkers (v, 4);
-
-}
-
-void
-gst_gl_test_src_checkers8 (GstGLTestSrc * v, GstBuffer * buffer, int w, int h)
-{
-  gst_gl_test_src_checkers (v, 8);
-}
-
-void
-gst_gl_test_src_circular (GstGLTestSrc * v, GstBuffer * buffer, int w, int h)
-{
-#if 0
+  struct SrcSMPTE *src = impl;
+  struct XYZWRGB *coord;
+  gushort *plane_indices;
+  GError *error = NULL;
+  int color_idx = 0;
   int i;
-  int j;
-  paintinfo pi = { NULL, };
-  paintinfo *p = &pi;
-  struct fourcc_list_struct *fourcc;
-  struct vts_color_struct color;
-  static uint8_t sine_array[256];
-  static int sine_array_inited = FALSE;
-  double freq[8];
 
-#ifdef SCALE_AMPLITUDE
-  double ampl[8];
-#endif
-  int d;
+  src->base.base.context = context;
 
-  if (!sine_array_inited) {
-    for (i = 0; i < 256; i++) {
-      sine_array[i] =
-          floor (255 * (0.5 + 0.5 * sin (i * 2 * M_PI / 256)) + 0.5);
-    }
-    sine_array_inited = TRUE;
+  coord = g_new0 (struct XYZWRGB, N_QUADS * 4);
+  plane_indices = g_new0 (gushort, N_QUADS * 6);
+
+  /* top row */
+  for (int i = 0; i < 7; i++) {
+    coord[color_idx * 4 + 0].X = -1.0f + i * (2.0f / 7.0f);
+    coord[color_idx * 4 + 0].Y = 1.0f / 3.0f;
+    coord[color_idx * 4 + 1].X = -1.0f + (i + 1) * (2.0f / 7.0f);
+    coord[color_idx * 4 + 1].Y = 1.0f / 3.0f;
+    coord[color_idx * 4 + 2].X = -1.0f + (i + 1) * (2.0f / 7.0f);
+    coord[color_idx * 4 + 2].Y = -1.0f;
+    coord[color_idx * 4 + 3].X = -1.0f + i * (2.0f / 7.0f);
+    coord[color_idx * 4 + 3].Y = -1.0f;
+    color_idx++;
   }
 
-  p->width = w;
-  p->height = h;
-  fourcc = v->fourcc;
-  if (fourcc == NULL)
+  /* middle row */
+  for (int i = 0; i < 7; i++) {
+    coord[color_idx * 4 + 0].X = -1.0f + i * (2.0f / 7.0f);
+    coord[color_idx * 4 + 0].Y = 0.5f;
+    coord[color_idx * 4 + 1].X = -1.0f + (i + 1) * (2.0f / 7.0f);
+    coord[color_idx * 4 + 1].Y = 0.5f;
+    coord[color_idx * 4 + 2].X = -1.0f + (i + 1) * (2.0f / 7.0f);
+    coord[color_idx * 4 + 2].Y = 1.0f / 3.0f;
+    coord[color_idx * 4 + 3].X = -1.0f + i * (2.0f / 7.0f);
+    coord[color_idx * 4 + 3].Y = 1.0f / 3.0f;
+    color_idx++;
+  }
+
+  /* bottom row, left three */
+  for (int i = 0; i < 3; i++) {
+    coord[color_idx * 4 + 0].X = -1.0f + i / 3.0f;
+    coord[color_idx * 4 + 0].Y = 1.0f;
+    coord[color_idx * 4 + 1].X = -1.0f + (i + 1) / 3.0f;
+    coord[color_idx * 4 + 1].Y = 1.0f;
+    coord[color_idx * 4 + 2].X = -1.0f + (i + 1) / 3.0f;
+    coord[color_idx * 4 + 2].Y = 0.5f;
+    coord[color_idx * 4 + 3].X = -1.0f + i / 3.0f;
+    coord[color_idx * 4 + 3].Y = 0.5f;
+    color_idx++;
+  }
+
+  /* bottom row, middle three (the blacks) */
+  for (int i = 0; i < 3; i++) {
+    coord[color_idx * 4 + 0].X = i / 6.0f;
+    coord[color_idx * 4 + 0].Y = 1.0f;
+    coord[color_idx * 4 + 1].X = (i + 1) / 6.0f;
+    coord[color_idx * 4 + 1].Y = 1.0f;
+    coord[color_idx * 4 + 2].X = (i + 1) / 6.0f;
+    coord[color_idx * 4 + 2].Y = 0.5f;
+    coord[color_idx * 4 + 3].X = i / 6.0f;
+    coord[color_idx * 4 + 3].Y = 0.5f;
+    color_idx++;
+  }
+
+  g_assert (color_idx < N_QUADS);
+
+  for (i = 0; i < N_QUADS - 1; i++) {
+    int j, k;
+    if (i < 7) {
+      k = i;
+    } else if ((i - 7) & 1) {
+      k = COLOR_BLACK;
+    } else {
+      k = 13 - i;
+    }
+
+    if (i == 14) {
+      k = COLOR_NEG_I;
+    } else if (i == 15) {
+      k = COLOR_WHITE;
+    } else if (i == 16) {
+      k = COLOR_POS_Q;
+    } else if (i == 17) {
+      k = COLOR_SUPER_BLACK;
+    } else if (i == 18) {
+      k = COLOR_BLACK;
+    } else if (i == 19) {
+      k = COLOR_DARK_GREY;
+    }
+
+    for (j = 0; j < 4; j++) {
+      coord[i * 4 + j].Z = 0.0f;
+      coord[i * 4 + j].W = 1.0f;
+      coord[i * 4 + j].R = vts_colors[k].R;
+      coord[i * 4 + j].G = vts_colors[k].G;
+      coord[i * 4 + j].B = vts_colors[k].B;
+    }
+
+    for (j = 0; j < 6; j++)
+      plane_indices[i * 6 + j] = i * 4 + indices_quad[j];
+  }
+
+  /* snow */
+  coord[color_idx * 4 + 0].X = 0.5f;
+  coord[color_idx * 4 + 0].Y = 1.0f;
+  coord[color_idx * 4 + 0].Z = 0.0f;
+  coord[color_idx * 4 + 0].W = 1.0f;
+  coord[color_idx * 4 + 1].X = 1.0f;
+  coord[color_idx * 4 + 1].Y = 1.0f;
+  coord[color_idx * 4 + 1].Z = 0.0f;
+  coord[color_idx * 4 + 1].W = 1.0f;
+  coord[color_idx * 4 + 2].X = 1.0f;
+  coord[color_idx * 4 + 2].Y = 0.5f;
+  coord[color_idx * 4 + 2].Z = 0.0f;
+  coord[color_idx * 4 + 2].W = 1.0f;
+  coord[color_idx * 4 + 3].X = 0.5f;
+  coord[color_idx * 4 + 3].Y = 0.5f;
+  coord[color_idx * 4 + 3].Z = 0.0f;
+  coord[color_idx * 4 + 3].W = 1.0f;
+  for (i = 0; i < 6; i++)
+    plane_indices[color_idx * 6 + i] = color_idx * 4 + indices_quad[i];
+  color_idx++;
+
+  if (src->color_shader)
+    gst_object_unref (src->color_shader);
+  src->color_shader = gst_gl_shader_new_link_with_stages (context, &error,
+      gst_glsl_stage_new_with_string (context, GL_VERTEX_SHADER,
+          GST_GLSL_VERSION_NONE,
+          GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+          smpte_vertex_src),
+      gst_glsl_stage_new_with_string (context, GL_FRAGMENT_SHADER,
+          GST_GLSL_VERSION_NONE,
+          GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+          smpte_fragment_src), NULL);
+  if (!src->color_shader) {
+    GST_ERROR_OBJECT (src->base.base.src, "%s", error->message);
+    return FALSE;
+  }
+
+  if (src->snow_shader)
+    gst_object_unref (src->snow_shader);
+  src->snow_shader = gst_gl_shader_new_link_with_stages (context, &error,
+      gst_glsl_stage_new_with_string (context, GL_VERTEX_SHADER,
+          GST_GLSL_VERSION_NONE,
+          GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+          snow_vertex_src),
+      gst_glsl_stage_new_with_string (context, GL_FRAGMENT_SHADER,
+          GST_GLSL_VERSION_NONE,
+          GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+          snow_fragment_src), NULL);
+  if (!src->snow_shader) {
+    GST_ERROR_OBJECT (src->base.base.src, "%s", error->message);
+    return FALSE;
+  }
+
+  src->attr_snow_position = -1;
+
+  src->base.n_attributes = 2;
+
+  src->base.attributes[0].name = "position";
+  src->base.attributes[0].location = -1;
+  src->base.attributes[0].n_elements = 4;
+  src->base.attributes[0].element_type = GL_FLOAT;
+  src->base.attributes[0].offset = 0;
+  src->base.attributes[0].stride = sizeof (struct XYZWRGB);
+
+  src->base.attributes[1].name = "a_color";
+  src->base.attributes[1].location = -1;
+  src->base.attributes[1].n_elements = 3;
+  src->base.attributes[1].element_type = GL_FLOAT;
+  src->base.attributes[1].offset = 4 * sizeof (gfloat);
+  src->base.attributes[1].stride = sizeof (struct XYZWRGB);
+
+  if (src->base.shader)
+    gst_object_unref (src->base.shader);
+  src->base.shader = gst_object_ref (src->color_shader);
+  src->base.vertices = (gfloat *) coord;
+  src->base.vertices_size = sizeof (struct XYZWRGB) * N_QUADS * 4;
+  src->base.indices = plane_indices;
+  src->base.n_indices = N_QUADS * 6;
+
+  return _src_shader_init (impl, context, v_info);
+}
+
+static gboolean
+_src_smpte_fill_bound_fbo (gpointer impl)
+{
+  struct SrcSMPTE *src = impl;
+  gint attr_color_position = -1;
+
+  src->base.n_attributes = 2;
+  if (src->base.shader)
+    gst_object_unref (src->base.shader);
+  src->base.shader = gst_object_ref (src->color_shader);
+  src->base.n_indices = (N_QUADS - 1) * 6;
+  src->base.index_offset = 0;
+  if (!_src_shader_fill_bound_fbo (impl))
+    return FALSE;
+  attr_color_position = src->base.attributes[0].location;
+
+  src->base.attributes[0].location = src->attr_snow_position;
+  src->base.n_attributes = 1;
+  if (src->base.shader)
+    gst_object_unref (src->base.shader);
+  src->base.shader = gst_object_ref (src->snow_shader);
+  src->base.n_indices = 6;
+  src->base.index_offset = (N_QUADS - 1) * 6 * sizeof (gushort);
+  gst_gl_shader_use (src->snow_shader);
+  gst_gl_shader_set_uniform_1f (src->snow_shader, "time",
+      (gfloat) src->base.base.src->running_time / GST_SECOND);
+  if (!_src_shader_fill_bound_fbo (impl))
+    return FALSE;
+  src->attr_snow_position = src->base.attributes[0].location;
+  src->base.attributes[0].location = attr_color_position;
+
+  return TRUE;
+}
+
+static void
+_src_smpte_free (gpointer impl)
+{
+  struct SrcSMPTE *src = impl;
+
+  if (!impl)
     return;
 
-  fourcc->paint_setup (p, dest);
-  p->paint_hline = fourcc->paint_hline;
+  _src_shader_deinit (impl);
 
-  color = vts_colors[COLOR_BLACK];
-  p->color = &color;
+  g_free ((gpointer) src->base.vertices);
+  g_free ((gpointer) src->base.indices);
 
-  for (i = 1; i < 8; i++) {
-    freq[i] = 200 * pow (2.0, -(i - 1) / 4.0);
-#ifdef SCALE_AMPLITUDE
-    {
-      double x;
+  if (src->snow_shader)
+    gst_object_unref (src->snow_shader);
+  if (src->color_shader)
+    gst_object_unref (src->color_shader);
 
-      x = 2 * M_PI * freq[i] / w;
-      ampl[i] = sin (x) / x;
-    }
-#endif
+  g_free (impl);
+}
+
+static const struct SrcFuncs src_smpte = {
+  GST_GL_TEST_SRC_SMPTE,
+  _src_smpte_new,
+  _src_smpte_init,
+  _src_smpte_fill_bound_fbo,
+  _src_smpte_free,
+};
+
+#undef N_QUADS
+
+struct SrcUniColor
+{
+  struct BaseSrcImpl base;
+
+  struct vts_color_struct color;
+};
+
+static gpointer
+_src_uni_color_new (GstGLTestSrc * test)
+{
+  struct SrcUniColor *src = g_new0 (struct SrcUniColor, 1);
+
+  src->base.src = test;
+
+  return src;
+}
+
+static gboolean
+_src_uni_color_init (gpointer impl, GstGLContext * context,
+    GstVideoInfo * v_info)
+{
+  struct SrcUniColor *src = impl;
+
+  src->base.context = context;
+  src->base.v_info = *v_info;
+
+  return TRUE;
+}
+
+static gboolean
+_src_uni_color_fill_bound_fbo (gpointer impl)
+{
+  struct SrcUniColor *src = impl;
+  const GstGLFuncs *gl = src->base.context->gl_vtable;
+
+  gl->ClearColor (src->color.R, src->color.G, src->color.B, 1.0f);
+  gl->Clear (GL_COLOR_BUFFER_BIT);
+
+  return TRUE;
+}
+
+static void
+_src_uni_color_free (gpointer impl)
+{
+  g_free (impl);
+}
+
+#define SRC_UNICOLOR(name, cap_name) \
+static gpointer \
+G_PASTE(G_PASTE(_src_unicolor_,name),_new) (GstGLTestSrc * test) \
+{ \
+  struct SrcUniColor *src = _src_uni_color_new (test); \
+  src->color = vts_colors[G_PASTE(COLOR_,cap_name)]; \
+  return src; \
+} \
+static const struct SrcFuncs G_PASTE (src_,name) = { \
+  G_PASTE(GST_GL_TEST_SRC_,cap_name), \
+  G_PASTE(G_PASTE(_src_unicolor_,name),_new), \
+  _src_uni_color_init, \
+  _src_uni_color_fill_bound_fbo, \
+  _src_uni_color_free, \
+}
+
+SRC_UNICOLOR (white, WHITE);
+SRC_UNICOLOR (black, BLACK);
+SRC_UNICOLOR (red, RED);
+SRC_UNICOLOR (green, GREEN);
+SRC_UNICOLOR (blue, BLUE);
+
+static gpointer
+_src_blink_new (GstGLTestSrc * test)
+{
+  struct SrcUniColor *src = _src_uni_color_new (test);
+
+  src->color = vts_colors[COLOR_WHITE];
+
+  return src;
+}
+
+static gboolean
+_src_blink_fill_bound_fbo (gpointer impl)
+{
+  struct SrcUniColor *src = impl;
+
+  if (src->color.R > 0.5) {
+    src->color = vts_colors[COLOR_BLACK];
+  } else {
+    src->color = vts_colors[COLOR_WHITE];
   }
 
-  for (i = 0; i < w; i++) {
-    for (j = 0; j < h; j++) {
-      double dist;
-      int seg;
+  return _src_uni_color_fill_bound_fbo (impl);
+}
 
-      dist =
-          sqrt ((2 * i - w) * (2 * i - w) + (2 * j - h) * (2 * j -
-              h)) / (2 * w);
-      seg = floor (dist * 16);
-      if (seg == 0 || seg >= 8) {
-        color.Y = 255;
-      } else {
-#ifdef SCALE_AMPLITUDE
-        double a;
-#endif
-        d = floor (256 * dist * freq[seg] + 0.5);
-#ifdef SCALE_AMPLITUDE
-        a = ampl[seg];
-        if (a < 0)
-          a = 0;
-        color.Y = 128 + a * (sine_array[d & 0xff] - 128);
-#else
-        color.Y = sine_array[d & 0xff];
-#endif
-      }
-      color.R = color.Y;
-      color.G = color.Y;
-      color.B = color.Y;
-      p->paint_hline (p, i, j, 1);
-    }
+static const struct SrcFuncs src_blink = {
+  GST_GL_TEST_SRC_BLINK,
+  _src_blink_new,
+  _src_uni_color_init,
+  _src_blink_fill_bound_fbo,
+  _src_uni_color_free,
+};
+
+/* *INDENT-OFF* */
+static const gchar *checkers_vertex_src = "attribute vec4 position;\n"
+    "varying vec2 uv;\n"
+    "void main()\n"
+    "{\n"
+    "  gl_Position = position;\n"
+    /* RPi gives incorrect results for positive uv (plus it makes us start on
+     * the right pixel color i.e. red) */
+    "  uv = position.xy - 1.0;\n"
+    "}";
+
+static const gchar *checkers_fragment_src =
+    "#ifdef GL_ES\n"
+    "precision mediump float;\n"
+    "#endif\n"
+    "uniform float checker_width;\n"
+    "uniform float width;\n"
+    "uniform float height;\n"
+    "varying vec2 uv;\n"
+    "void main()\n"
+    "{\n"
+    "  vec2 xy_mod = floor (0.5 * uv * vec2(width, height) / (checker_width));\n"
+    "  float result = mod (xy_mod.x + xy_mod.y, 2.0);\n"
+    "  gl_FragColor.r = step (result, 0.5);\n"
+    "  gl_FragColor.g = 1.0 - gl_FragColor.r;\n"
+    "  gl_FragColor.ba = vec2(0.0, 1.0);\n"
+    "}";
+/* *INDENT-ON* */
+
+struct SrcCheckers
+{
+  struct SrcShader base;
+
+  guint checker_width;
+};
+
+static gboolean
+_src_checkers_init (gpointer impl, GstGLContext * context,
+    GstVideoInfo * v_info)
+{
+  struct SrcCheckers *src = impl;
+  GError *error = NULL;
+
+  src->base.base.context = context;
+
+  if (src->base.shader)
+    gst_object_unref (src->base.shader);
+  src->base.shader = gst_gl_shader_new_link_with_stages (context, &error,
+      gst_glsl_stage_new_with_string (context, GL_VERTEX_SHADER,
+          GST_GLSL_VERSION_NONE,
+          GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+          checkers_vertex_src),
+      gst_glsl_stage_new_with_string (context, GL_FRAGMENT_SHADER,
+          GST_GLSL_VERSION_NONE,
+          GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+          checkers_fragment_src), NULL);
+  if (!src->base.shader) {
+    GST_ERROR_OBJECT (src->base.base.src, "%s", error->message);
+    return FALSE;
   }
-#endif
+
+  src->base.n_attributes = 1;
+
+  src->base.attributes[0].name = "position";
+  src->base.attributes[0].location = -1;
+  src->base.attributes[0].n_elements = 4;
+  src->base.attributes[0].element_type = GL_FLOAT;
+  src->base.attributes[0].offset = 0;
+  src->base.attributes[0].stride = 4 * sizeof (gfloat);
+
+  src->base.vertices = positions;
+  src->base.vertices_size = sizeof (positions);
+  src->base.indices = indices_quad;
+  src->base.n_indices = 6;
+
+  gst_gl_shader_use (src->base.shader);
+  gst_gl_shader_set_uniform_1f (src->base.shader, "checker_width",
+      src->checker_width);
+  gst_gl_shader_set_uniform_1f (src->base.shader, "width",
+      (gfloat) GST_VIDEO_INFO_WIDTH (v_info));
+  gst_gl_shader_set_uniform_1f (src->base.shader, "height",
+      (gfloat) GST_VIDEO_INFO_HEIGHT (v_info));
+  gst_gl_context_clear_shader (src->base.base.context);
+
+  return _src_shader_init (impl, context, v_info);
+}
+
+static void
+_src_checkers_free (gpointer impl)
+{
+  struct SrcCheckers *src = impl;
+
+  if (!src)
+    return;
+
+  _src_shader_deinit (impl);
+
+  g_free (impl);
+}
+
+static gpointer
+_src_checkers_new (GstGLTestSrc * test)
+{
+  struct SrcCheckers *src = g_new0 (struct SrcCheckers, 1);
+
+  src->base.base.src = test;
+
+  return src;
+}
+
+#define SRC_CHECKERS(spacing) \
+static gpointer \
+G_PASTE(G_PASTE(_src_checkers,spacing),_new) (GstGLTestSrc * test) \
+{ \
+  struct SrcCheckers *src = _src_checkers_new (test); \
+  src->checker_width = spacing; \
+  return src; \
+} \
+static const struct SrcFuncs G_PASTE(src_checkers,spacing) = { \
+  G_PASTE(GST_GL_TEST_SRC_CHECKERS,spacing), \
+  G_PASTE(G_PASTE(_src_checkers,spacing),_new), \
+  _src_checkers_init, \
+  _src_shader_fill_bound_fbo, \
+  _src_checkers_free, \
+}
+
+SRC_CHECKERS (1);
+SRC_CHECKERS (2);
+SRC_CHECKERS (4);
+SRC_CHECKERS (8);
+
+static gboolean
+_src_snow_init (gpointer impl, GstGLContext * context, GstVideoInfo * v_info)
+{
+  struct SrcShader *src = impl;
+  GError *error = NULL;
+
+  src->base.context = context;
+
+  if (src->shader)
+    gst_object_unref (src->shader);
+  src->shader = gst_gl_shader_new_link_with_stages (context, &error,
+      gst_glsl_stage_new_with_string (context, GL_VERTEX_SHADER,
+          GST_GLSL_VERSION_NONE,
+          GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+          snow_vertex_src),
+      gst_glsl_stage_new_with_string (context, GL_FRAGMENT_SHADER,
+          GST_GLSL_VERSION_NONE,
+          GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+          snow_fragment_src), NULL);
+  if (!src->shader) {
+    GST_ERROR_OBJECT (src->base.src, "%s", error->message);
+    return FALSE;
+  }
+
+  src->n_attributes = 1;
+
+  src->attributes[0].name = "position";
+  src->attributes[0].location = -1;
+  src->attributes[0].n_elements = 4;
+  src->attributes[0].element_type = GL_FLOAT;
+  src->attributes[0].offset = 0;
+  src->attributes[0].stride = 4 * sizeof (gfloat);
+
+  src->vertices = positions;
+  src->vertices_size = sizeof (positions);
+  src->indices = indices_quad;
+  src->n_indices = 6;
+
+  return _src_shader_init (impl, context, v_info);
+}
+
+static gboolean
+_src_snow_fill_bound_fbo (gpointer impl)
+{
+  struct SrcShader *src = impl;
+
+  g_return_val_if_fail (src->base.context, FALSE);
+  g_return_val_if_fail (src->shader, FALSE);
+
+  gst_gl_shader_use (src->shader);
+  gst_gl_shader_set_uniform_1f (src->shader, "time",
+      (gfloat) src->base.src->running_time / GST_SECOND);
+
+  return _src_shader_fill_bound_fbo (impl);
+}
+
+static void
+_src_snow_free (gpointer impl)
+{
+  struct SrcShader *src = impl;
+
+  if (!src)
+    return;
+
+  _src_shader_deinit (impl);
+
+  g_free (impl);
+}
+
+static gpointer
+_src_snow_new (GstGLTestSrc * test)
+{
+  struct SrcShader *src = g_new0 (struct SrcShader, 1);
+
+  src->base.src = test;
+
+  return src;
+}
+
+static const struct SrcFuncs src_snow = {
+  GST_GL_TEST_SRC_SNOW,
+  _src_snow_new,
+  _src_snow_init,
+  _src_snow_fill_bound_fbo,
+  _src_snow_free,
+};
+
+/* *INDENT-OFF* */
+static const gchar *mandelbrot_vertex_src = "attribute vec4 position;\n"
+    "uniform float aspect_ratio;\n"
+    "varying vec2 fractal_position;\n"
+    "void main()\n"
+    "{\n"
+    "  gl_Position = position;\n"
+    "  fractal_position = vec2(position.y * 0.5 - 0.3, aspect_ratio * position.x * 0.5);\n"
+    "  fractal_position *= 2.5;\n"
+    "}";
+
+static const gchar *mandelbrot_fragment_src = 
+    "#ifdef GL_ES\n"
+    "precision mediump float;\n"
+    "#endif\n"
+    "uniform float time;\n"
+    "varying vec2 fractal_position;\n"
+    "const vec4 K = vec4(1.0, 0.66, 0.33, 3.0);\n"
+    "vec4 hsv_to_rgb(float hue, float saturation, float value) {\n"
+    "  vec4 p = abs(fract(vec4(hue) + K) * 6.0 - K.wwww);\n"
+    "  return value * mix(K.xxxx, clamp(p - K.xxxx, 0.0, 1.0), saturation);\n"
+    "}\n"
+    "vec4 i_to_rgb(int i) {\n"
+    "  float hue = float(i) / 100.0 + sin(time);\n"
+    "  return hsv_to_rgb(hue, 0.5, 0.8);\n"
+    "}\n"
+    "vec2 pow_2_complex(vec2 c) {\n"
+    "  return vec2(c.x*c.x - c.y*c.y, 2.0 * c.x * c.y);\n"
+    "}\n"
+    "vec2 mandelbrot(vec2 c, vec2 c0) {\n"
+    "  return pow_2_complex(c) + c0;\n"
+    "}\n"
+    "vec4 iterate_pixel(vec2 position) {\n"
+    "  vec2 c = vec2(0);\n"
+    "  for (int i=0; i < 20; i++) {\n"
+    "    if (c.x*c.x + c.y*c.y > 2.0*2.0)\n"
+    "      return i_to_rgb(i);\n"
+    "    c = mandelbrot(c, position);\n"
+    "  }\n"
+    "  return vec4(0, 0, 0, 1);\n"
+    "}\n"
+    "void main() {\n"
+    "  gl_FragColor = iterate_pixel(fractal_position);\n"
+    "}";
+/* *INDENT-ON* */
+
+static gboolean
+_src_mandelbrot_init (gpointer impl, GstGLContext * context,
+    GstVideoInfo * v_info)
+{
+  struct SrcShader *src = impl;
+  GError *error = NULL;
+
+  src->base.context = context;
+
+  if (src->shader)
+    gst_object_unref (src->shader);
+  src->shader = gst_gl_shader_new_link_with_stages (context, &error,
+      gst_glsl_stage_new_with_string (context, GL_VERTEX_SHADER,
+          GST_GLSL_VERSION_NONE,
+          GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+          mandelbrot_vertex_src),
+      gst_glsl_stage_new_with_string (context, GL_FRAGMENT_SHADER,
+          GST_GLSL_VERSION_NONE,
+          GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+          mandelbrot_fragment_src), NULL);
+  if (!src->shader) {
+    GST_ERROR_OBJECT (src->base.src, "%s", error->message);
+    return FALSE;
+  }
+
+  src->n_attributes = 1;
+
+  src->attributes[0].name = "position";
+  src->attributes[0].location = -1;
+  src->attributes[0].n_elements = 4;
+  src->attributes[0].element_type = GL_FLOAT;
+  src->attributes[0].offset = 0;
+  src->attributes[0].stride = 4 * sizeof (gfloat);
+
+  src->vertices = positions;
+  src->vertices_size = sizeof (positions);
+  src->indices = indices_quad;
+  src->n_indices = 6;
+
+  gst_gl_shader_use (src->shader);
+  gst_gl_shader_set_uniform_1f (src->shader, "aspect_ratio",
+      (gfloat) GST_VIDEO_INFO_WIDTH (v_info) /
+      (gfloat) GST_VIDEO_INFO_HEIGHT (v_info));
+  gst_gl_context_clear_shader (src->base.context);
+
+  return _src_shader_init (impl, context, v_info);
+}
+
+static gboolean
+_src_mandelbrot_fill_bound_fbo (gpointer impl)
+{
+  struct SrcShader *src = impl;
+
+  g_return_val_if_fail (src->base.context, FALSE);
+  g_return_val_if_fail (src->shader, FALSE);
+
+  gst_gl_shader_use (src->shader);
+  gst_gl_shader_set_uniform_1f (src->shader, "time",
+      (gfloat) src->base.src->running_time / GST_SECOND);
+
+  return _src_shader_fill_bound_fbo (impl);
+}
+
+static void
+_src_mandelbrot_free (gpointer impl)
+{
+  struct SrcShader *src = impl;
+
+  if (!src)
+    return;
+
+  _src_shader_deinit (impl);
+
+  g_free (impl);
+}
+
+static gpointer
+_src_mandelbrot_new (GstGLTestSrc * test)
+{
+  struct SrcShader *src = g_new0 (struct SrcShader, 1);
+
+  src->base.src = test;
+
+  return src;
+}
+
+static const struct SrcFuncs src_mandelbrot = {
+  GST_GL_TEST_SRC_MANDELBROT,
+  _src_mandelbrot_new,
+  _src_mandelbrot_init,
+  _src_mandelbrot_fill_bound_fbo,
+  _src_mandelbrot_free,
+};
+
+/* *INDENT-OFF* */
+static const gchar *circular_vertex_src =
+    "attribute vec4 position;\n"
+    "varying vec2 uv;\n"
+    "void main()\n"
+    "{\n"
+    "  gl_Position = position;\n"
+    "  uv = position.xy;\n"
+    "}";
+
+static const gchar *circular_fragment_src =
+    "#ifdef GL_ES\n"
+    "precision mediump float;\n"
+    "#endif\n"
+    "uniform float aspect_ratio;\n"
+    "varying vec2 uv;\n"
+    "#define PI 3.14159265\n"
+    "void main() {\n"
+    "  float dist = 0.5 * sqrt(uv.x * uv.x + uv.y / aspect_ratio * uv.y / aspect_ratio);\n"
+    "  float seg = floor(dist * 16.0);\n"
+    "  if (seg <= 0.0 || seg >= 8.0) {\n"
+    "    gl_FragColor = vec4(vec3(0.0), 1.0);\n"
+    "  } else {\n"
+    "    float d = floor (256.0 * dist * 200.0 * pow (2.0, - (seg - 1.0) / 4.0) + 0.5) / 128.0;\n"
+    "    gl_FragColor = vec4 (vec3(sin (d * PI) * 0.5 + 0.5), 1.0);\n"
+    "  }\n"
+    "}";
+/* *INDENT-ON* */
+
+static gboolean
+_src_circular_init (gpointer impl, GstGLContext * context,
+    GstVideoInfo * v_info)
+{
+  struct SrcShader *src = impl;
+  GError *error = NULL;
+
+  src->base.context = context;
+
+  if (src->shader)
+    gst_object_unref (src->shader);
+  src->shader = gst_gl_shader_new_link_with_stages (context, &error,
+      gst_glsl_stage_new_with_string (context, GL_VERTEX_SHADER,
+          GST_GLSL_VERSION_NONE,
+          GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+          circular_vertex_src),
+      gst_glsl_stage_new_with_string (context, GL_FRAGMENT_SHADER,
+          GST_GLSL_VERSION_NONE,
+          GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+          circular_fragment_src), NULL);
+  if (!src->shader) {
+    GST_ERROR_OBJECT (src->base.src, "%s", error->message);
+    return FALSE;
+  }
+
+  src->n_attributes = 1;
+
+  src->attributes[0].name = "position";
+  src->attributes[0].location = -1;
+  src->attributes[0].n_elements = 4;
+  src->attributes[0].element_type = GL_FLOAT;
+  src->attributes[0].offset = 0;
+  src->attributes[0].stride = 4 * sizeof (gfloat);
+
+  src->vertices = positions;
+  src->vertices_size = sizeof (positions);
+  src->indices = indices_quad;
+  src->n_indices = 6;
+
+  gst_gl_shader_use (src->shader);
+  gst_gl_shader_set_uniform_1f (src->shader, "aspect_ratio",
+      (gfloat) GST_VIDEO_INFO_WIDTH (v_info) /
+      (gfloat) GST_VIDEO_INFO_HEIGHT (v_info));
+  gst_gl_context_clear_shader (src->base.context);
+
+  return _src_shader_init (impl, context, v_info);
+}
+
+static void
+_src_circular_free (gpointer impl)
+{
+  struct SrcShader *src = impl;
+
+  if (!src)
+    return;
+
+  _src_shader_deinit (impl);
+
+  g_free (impl);
+}
+
+static gpointer
+_src_circular_new (GstGLTestSrc * test)
+{
+  struct SrcShader *src = g_new0 (struct SrcShader, 1);
+
+  src->base.src = test;
+
+  return src;
+}
+
+static const struct SrcFuncs src_circular = {
+  GST_GL_TEST_SRC_CIRCULAR,
+  _src_circular_new,
+  _src_circular_init,
+  _src_mandelbrot_fill_bound_fbo,
+  _src_circular_free,
+};
+
+static const struct SrcFuncs *src_impls[] = {
+  &src_smpte,
+  &src_snow,
+  &src_black,
+  &src_white,
+  &src_red,
+  &src_green,
+  &src_blue,
+  &src_checkers1,
+  &src_checkers2,
+  &src_checkers4,
+  &src_checkers8,
+  &src_circular,
+  &src_blink,
+  &src_mandelbrot,
+};
+
+const struct SrcFuncs *
+gst_gl_test_src_get_src_funcs_for_pattern (GstGLTestSrcPattern pattern)
+{
+  gint i;
+
+  for (i = 0; i < G_N_ELEMENTS (src_impls); i++) {
+    if (src_impls[i]->pattern == pattern)
+      return src_impls[i];
+  }
+
+  return NULL;
 }
diff --git a/ext/gl/gltestsrc.h b/ext/gl/gltestsrc.h
index 102109e..dbcab0c 100644
--- a/ext/gl/gltestsrc.h
+++ b/ext/gl/gltestsrc.h
@@ -22,37 +22,60 @@
 
 #include <glib.h>
 
+typedef struct _GstGLTestSrc GstGLTestSrc;
+
+/**
+ * GstGLTestSrcPattern:
+ * @GST_GL_TEST_SRC_SMPTE: A standard SMPTE test pattern
+ * @GST_GL_TEST_SRC_SNOW: Random noise
+ * @GST_GL_TEST_SRC_BLACK: A black image
+ * @GST_GL_TEST_SRC_WHITE: A white image
+ * @GST_GL_TEST_SRC_RED: A red image
+ * @GST_GL_TEST_SRC_GREEN: A green image
+ * @GST_GL_TEST_SRC_BLUE: A blue image
+ * @GST_GL_TEST_SRC_CHECKERS1: Checkers pattern (1px)
+ * @GST_GL_TEST_SRC_CHECKERS2: Checkers pattern (2px)
+ * @GST_GL_TEST_SRC_CHECKERS4: Checkers pattern (4px)
+ * @GST_GL_TEST_SRC_CHECKERS8: Checkers pattern (8px)
+ * @GST_GL_TEST_SRC_CIRCULAR: Circular pattern
+ * @GST_GL_TEST_SRC_BLINK: Alternate between black and white
+ *
+ * The test pattern to produce.
+ */
+typedef enum {
+    GST_GL_TEST_SRC_SMPTE,
+    GST_GL_TEST_SRC_SNOW,
+    GST_GL_TEST_SRC_BLACK,
+    GST_GL_TEST_SRC_WHITE,
+    GST_GL_TEST_SRC_RED,
+    GST_GL_TEST_SRC_GREEN,
+    GST_GL_TEST_SRC_BLUE,
+    GST_GL_TEST_SRC_CHECKERS1,
+    GST_GL_TEST_SRC_CHECKERS2,
+    GST_GL_TEST_SRC_CHECKERS4,
+    GST_GL_TEST_SRC_CHECKERS8,
+    GST_GL_TEST_SRC_CIRCULAR,
+    GST_GL_TEST_SRC_BLINK,
+    GST_GL_TEST_SRC_MANDELBROT
+} GstGLTestSrcPattern;
+
 #include "gstgltestsrc.h"
 
-struct vts_color_struct {
-        guint8 Y, U, V;
-        guint8 R, G, B;
-	guint8 A;
+struct BaseSrcImpl {
+  GstGLTestSrc *src;
+  GstGLContext *context;
+  GstVideoInfo v_info;
 };
 
-void    gst_gl_test_src_smpte        (GstGLTestSrc * v,
-                                         GstBuffer *buffer, int w, int h);
-void    gst_gl_test_src_shader       (GstGLTestSrc * v,
-                                         GstBuffer *buffer, int w, int h);
-void    gst_gl_test_src_black        (GstGLTestSrc * v,
-                                         GstBuffer *buffer, int w, int h);
-void    gst_gl_test_src_white        (GstGLTestSrc * v,
-                                         GstBuffer *buffer, int w, int h);
-void    gst_gl_test_src_red          (GstGLTestSrc * v,
-                                         GstBuffer *buffer, int w, int h);
-void    gst_gl_test_src_green        (GstGLTestSrc * v,
-                                         GstBuffer *buffer, int w, int h);
-void    gst_gl_test_src_blue         (GstGLTestSrc * v,
-                                         GstBuffer *buffer, int w, int h);
-void    gst_gl_test_src_checkers1    (GstGLTestSrc * v,
-                                         GstBuffer *buffer, int w, int h);
-void    gst_gl_test_src_checkers2    (GstGLTestSrc * v,
-                                         GstBuffer *buffer, int w, int h);
-void    gst_gl_test_src_checkers4    (GstGLTestSrc * v,
-                                         GstBuffer *buffer, int w, int h);
-void    gst_gl_test_src_checkers8    (GstGLTestSrc * v,
-                                         GstBuffer *buffer, int w, int h);
-void    gst_gl_test_src_circular     (GstGLTestSrc * v,
-                                         GstBuffer *buffer, int w, int h);
+struct SrcFuncs
+{
+  GstGLTestSrcPattern pattern;
+  gpointer (*new) (GstGLTestSrc * src);
+  gboolean (*init) (gpointer impl, GstGLContext * context, GstVideoInfo * v_info);
+  gboolean (*fill_bound_fbo) (gpointer impl);
+  void (*free) (gpointer impl);
+};
+
+const struct SrcFuncs * gst_gl_test_src_get_src_funcs_for_pattern (GstGLTestSrcPattern pattern);
 
 #endif
diff --git a/ext/gl/gstglbasemixer.c b/ext/gl/gstglbasemixer.c
index d207883..410a420 100644
--- a/ext/gl/gstglbasemixer.c
+++ b/ext/gl/gstglbasemixer.c
@@ -123,6 +123,131 @@
 }
 
 static gboolean
+gst_gl_base_mixer_sink_event (GstAggregator * agg, GstAggregatorPad * bpad,
+    GstEvent * event)
+{
+  GstGLBaseMixerPad *pad = GST_GL_BASE_MIXER_PAD (bpad);
+
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_CAPS:
+      if (!GST_AGGREGATOR_CLASS (parent_class)->sink_event (agg, bpad, event))
+        return FALSE;
+
+      pad->negotiated = TRUE;
+      return TRUE;
+    default:
+      break;
+  }
+
+  return GST_AGGREGATOR_CLASS (parent_class)->sink_event (agg, bpad, event);
+}
+
+static gboolean
+_find_local_gl_context (GstGLBaseMixer * mix)
+{
+  GstQuery *query;
+  GstContext *context;
+  const GstStructure *s;
+
+  if (mix->context)
+    return TRUE;
+
+  query = gst_query_new_context ("gst.gl.local_context");
+  if (!mix->context && gst_gl_run_query (GST_ELEMENT (mix), 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, &mix->context,
+          NULL);
+    }
+  }
+  if (!mix->context
+      && gst_gl_run_query (GST_ELEMENT (mix), query, GST_PAD_SINK)) {
+    gst_query_parse_context (query, &context);
+    if (context) {
+      s = gst_context_get_structure (context);
+      gst_structure_get (s, "context", GST_GL_TYPE_CONTEXT, &mix->context,
+          NULL);
+    }
+  }
+
+  GST_DEBUG_OBJECT (mix, "found local context %p", mix->context);
+
+  gst_query_unref (query);
+
+  if (mix->context)
+    return TRUE;
+
+  return FALSE;
+}
+
+static gboolean
+_get_gl_context (GstGLBaseMixer * mix)
+{
+  GstGLBaseMixerClass *mix_class = GST_GL_BASE_MIXER_GET_CLASS (mix);
+  GError *error = NULL;
+
+  if (!gst_gl_ensure_element_data (mix, &mix->display,
+          &mix->priv->other_context))
+    return FALSE;
+
+  gst_gl_display_filter_gl_api (mix->display, mix_class->supported_gl_api);
+
+  _find_local_gl_context (mix);
+
+  GST_OBJECT_LOCK (mix->display);
+  if (!mix->context) {
+    do {
+      if (mix->context) {
+        gst_object_unref (mix->context);
+        mix->context = NULL;
+      }
+      /* just get a GL context.  we don't care */
+      mix->context =
+          gst_gl_display_get_gl_context_for_thread (mix->display, NULL);
+      if (!mix->context) {
+        if (!gst_gl_display_create_context (mix->display,
+                mix->priv->other_context, &mix->context, &error)) {
+          GST_OBJECT_UNLOCK (mix->display);
+          goto context_error;
+        }
+      }
+    } while (!gst_gl_display_add_context (mix->display, mix->context));
+  }
+  GST_OBJECT_UNLOCK (mix->display);
+
+  {
+    GstGLAPI current_gl_api = gst_gl_context_get_gl_api (mix->context);
+    if ((current_gl_api & mix_class->supported_gl_api) == 0)
+      goto unsupported_gl_api;
+  }
+
+  return TRUE;
+
+unsupported_gl_api:
+  {
+    GstGLAPI gl_api = gst_gl_context_get_gl_api (mix->context);
+    gchar *gl_api_str = gst_gl_api_to_string (gl_api);
+    gchar *supported_gl_api_str =
+        gst_gl_api_to_string (mix_class->supported_gl_api);
+    GST_ELEMENT_ERROR (mix, RESOURCE, BUSY,
+        ("GL API's not compatible context: %s supported: %s", gl_api_str,
+            supported_gl_api_str), (NULL));
+
+    g_free (supported_gl_api_str);
+    g_free (gl_api_str);
+    return FALSE;
+  }
+context_error:
+  {
+    GST_ELEMENT_ERROR (mix, RESOURCE, NOT_FOUND, ("%s", error->message),
+        (NULL));
+    g_clear_error (&error);
+    return FALSE;
+  }
+}
+
+static gboolean
 gst_gl_base_mixer_sink_query (GstAggregator * agg, GstAggregatorPad * bpad,
     GstQuery * query)
 {
@@ -139,16 +264,20 @@
       GstQuery *decide_query = NULL;
 
       GST_OBJECT_LOCK (mix);
-      if (G_UNLIKELY (!mix->priv->negotiated)) {
+      if (G_UNLIKELY (!pad->negotiated)) {
         GST_DEBUG_OBJECT (mix,
             "not negotiated yet, can't answer ALLOCATION query");
         GST_OBJECT_UNLOCK (mix);
         return FALSE;
       }
+
       if ((decide_query = mix->priv->query))
         gst_query_ref (decide_query);
       GST_OBJECT_UNLOCK (mix);
 
+      if (!_get_gl_context (mix))
+        return FALSE;
+
       GST_DEBUG_OBJECT (mix,
           "calling propose allocation with query %" GST_PTR_FORMAT,
           decide_query);
@@ -273,6 +402,7 @@
 
   agg_class->sinkpads_type = GST_TYPE_GL_BASE_MIXER_PAD;
   agg_class->sink_query = gst_gl_base_mixer_sink_query;
+  agg_class->sink_event = gst_gl_base_mixer_sink_event;
   agg_class->src_query = gst_gl_base_mixer_src_query;
   agg_class->src_activate = gst_gl_base_mixer_src_activate_mode;
   agg_class->stop = gst_gl_base_mixer_stop;
@@ -294,11 +424,24 @@
   klass->supported_gl_api = GST_GL_API_ANY;
 }
 
+static gboolean
+_reset_pad (GstAggregator * self, GstAggregatorPad * base_pad,
+    gpointer user_data)
+{
+  GstGLBaseMixerPad *mix_pad = GST_GL_BASE_MIXER_PAD (base_pad);
+
+  mix_pad->negotiated = FALSE;
+
+  return TRUE;
+}
+
 static void
 gst_gl_base_mixer_reset (GstGLBaseMixer * mix)
 {
   /* clean up collect data */
-  mix->priv->negotiated = FALSE;
+
+  gst_aggregator_iterate_sinkpads (GST_AGGREGATOR (mix),
+      (GstAggregatorPadForeachFunc) _reset_pad, NULL);
 }
 
 static void
@@ -415,112 +558,18 @@
 }
 
 static gboolean
-_find_local_gl_context (GstGLBaseMixer * mix)
-{
-  GstQuery *query;
-  GstContext *context;
-  const GstStructure *s;
-
-  if (mix->context)
-    return TRUE;
-
-  query = gst_query_new_context ("gst.gl.local_context");
-  if (!mix->context && gst_gl_run_query (GST_ELEMENT (mix), 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, &mix->context,
-          NULL);
-    }
-  }
-  if (!mix->context
-      && gst_gl_run_query (GST_ELEMENT (mix), query, GST_PAD_SINK)) {
-    gst_query_parse_context (query, &context);
-    if (context) {
-      s = gst_context_get_structure (context);
-      gst_structure_get (s, "context", GST_GL_TYPE_CONTEXT, &mix->context,
-          NULL);
-    }
-  }
-
-  GST_DEBUG_OBJECT (mix, "found local context %p", mix->context);
-
-  gst_query_unref (query);
-
-  if (mix->context)
-    return TRUE;
-
-  return FALSE;
-}
-
-static gboolean
 gst_gl_base_mixer_decide_allocation (GstGLBaseMixer * mix, GstQuery * query)
 {
   GstGLBaseMixerClass *mix_class = GST_GL_BASE_MIXER_GET_CLASS (mix);
-  GError *error = NULL;
-  gboolean ret = TRUE;
 
-  if (!gst_gl_ensure_element_data (mix, &mix->display,
-          &mix->priv->other_context))
+  if (!_get_gl_context (mix))
     return FALSE;
 
-  gst_gl_display_filter_gl_api (mix->display, mix_class->supported_gl_api);
-
-  _find_local_gl_context (mix);
-
-  if (!mix->context) {
-    GST_OBJECT_LOCK (mix->display);
-    do {
-      if (mix->context) {
-        gst_object_unref (mix->context);
-        mix->context = NULL;
-      }
-      /* just get a GL context.  we don't care */
-      mix->context =
-          gst_gl_display_get_gl_context_for_thread (mix->display, NULL);
-      if (!mix->context) {
-        if (!gst_gl_display_create_context (mix->display,
-                mix->priv->other_context, &mix->context, &error)) {
-          GST_OBJECT_UNLOCK (mix->display);
-          goto context_error;
-        }
-      }
-    } while (!gst_gl_display_add_context (mix->display, mix->context));
-    GST_OBJECT_UNLOCK (mix->display);
-  }
-
-  {
-    GstGLAPI current_gl_api = gst_gl_context_get_gl_api (mix->context);
-    if ((current_gl_api & mix_class->supported_gl_api) == 0)
-      goto unsupported_gl_api;
-  }
-
   if (mix_class->decide_allocation)
-    ret = mix_class->decide_allocation (mix, query);
+    if (!mix_class->decide_allocation (mix, query))
+      return FALSE;
 
-  return ret;
-
-unsupported_gl_api:
-  {
-    GstGLAPI gl_api = gst_gl_context_get_gl_api (mix->context);
-    gchar *gl_api_str = gst_gl_api_to_string (gl_api);
-    gchar *supported_gl_api_str =
-        gst_gl_api_to_string (mix_class->supported_gl_api);
-    GST_ELEMENT_ERROR (mix, RESOURCE, BUSY,
-        ("GL API's not compatible context: %s supported: %s", gl_api_str,
-            supported_gl_api_str), (NULL));
-
-    g_free (supported_gl_api_str);
-    g_free (gl_api_str);
-    return FALSE;
-  }
-context_error:
-  {
-    GST_ELEMENT_ERROR (mix, RESOURCE, NOT_FOUND, ("%s", error->message),
-        (NULL));
-    g_clear_error (&error);
-    return FALSE;
-  }
+  return TRUE;
 }
 
 /* takes ownership of the pool, allocator and query */
@@ -665,7 +714,7 @@
 static gboolean
 gst_gl_base_mixer_start (GstAggregator * agg)
 {
-  return TRUE;
+  return GST_AGGREGATOR_CLASS (parent_class)->start (agg);;
 }
 
 static gboolean
diff --git a/ext/gl/gstglbasemixer.h b/ext/gl/gstglbasemixer.h
index 6282ccb..cba8184 100644
--- a/ext/gl/gstglbasemixer.h
+++ b/ext/gl/gstglbasemixer.h
@@ -47,6 +47,8 @@
 struct _GstGLBaseMixerPad
 {
   GstVideoAggregatorPad parent;                /* subclass the pad */
+
+  gboolean negotiated;
 };
 
 struct _GstGLBaseMixerPadClass
diff --git a/ext/gl/gstglcolorconvertelement.c b/ext/gl/gstglcolorconvertelement.c
index bd4fbeb..642b494 100644
--- a/ext/gl/gstglcolorconvertelement.c
+++ b/ext/gl/gstglcolorconvertelement.c
@@ -103,12 +103,10 @@
 
   bt_class->passthrough_on_same_caps = TRUE;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get
-      (&gst_gl_color_convert_element_src_pad_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get
-      (&gst_gl_color_convert_element_sink_pad_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_gl_color_convert_element_src_pad_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_gl_color_convert_element_sink_pad_template);
 
   gst_element_class_set_metadata (element_class,
       "OpenGL color converter", "Filter/Converter/Video",
diff --git a/ext/gl/gstgldeinterlace.c b/ext/gl/gstgldeinterlace.c
index bd0eff0..c1429a9 100644
--- a/ext/gl/gstgldeinterlace.c
+++ b/ext/gl/gstgldeinterlace.c
@@ -43,7 +43,8 @@
 
 enum
 {
-  PROP_0
+  PROP_0,
+  PROP_METHOD
 };
 
 #define DEBUG_INIT \
@@ -57,17 +58,23 @@
 static void gst_gl_deinterlace_get_property (GObject * object,
     guint prop_id, GValue * value, GParamSpec * pspec);
 
+static gboolean gst_gl_deinterlace_start (GstBaseTransform * trans);
 static gboolean gst_gl_deinterlace_reset (GstBaseTransform * trans);
-static gboolean gst_gl_deinterlace_init_shader (GstGLFilter * filter);
+static gboolean gst_gl_deinterlace_init_fbo (GstGLFilter * filter);
 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_callback (gint width, gint height,
+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);
 
 /* *INDENT-OFF* */
 static const gchar *greedyh_fragment_source =
+  "#ifdef GL_ES\n"
+  "precision mediump float;\n"
+  "#endif\n"
   "uniform sampler2D tex;\n"
   "uniform sampler2D tex_prev;\n"
   "uniform float max_comb;\n"
@@ -75,35 +82,35 @@
   "uniform float motion_sense;\n"
   "uniform float width;\n"
   "uniform float height;\n"
+  "varying vec2 v_texcoord;\n"
 
   "void main () {\n"
-  "  vec2 texcoord = gl_TexCoord[0].xy;\n"
-  "  if (int(mod(texcoord.y * height, 2.0)) == 0) {\n"
-  "    gl_FragColor = vec4(texture2D(tex_prev, texcoord).rgb, 1.0);\n"
+  "  if (int(mod(v_texcoord.y * height, 2.0)) == 0) {\n"
+  "    gl_FragColor = vec4(texture2D(tex_prev, v_texcoord).rgb, 1.0);\n"
   "  } else {\n"
   "    vec2 texcoord_L1_a1, texcoord_L3_a1, texcoord_L1, texcoord_L3, texcoord_L1_1, texcoord_L3_1;\n"
   "    vec3 L1_a1, L3_a1, L1, L3, L1_1, L3_1;\n"
 
-  "    texcoord_L1 = vec2(texcoord.x, texcoord.y - 1.0 / height);\n"
-  "    texcoord_L3 = vec2(texcoord.x, texcoord.y + 1.0 / height);\n"
+  "    texcoord_L1 = vec2(v_texcoord.x, v_texcoord.y - 1.0 / height);\n"
+  "    texcoord_L3 = vec2(v_texcoord.x, v_texcoord.y + 1.0 / height);\n"
   "    L1 = texture2D(tex_prev, texcoord_L1).rgb;\n"
   "    L3 = texture2D(tex_prev, texcoord_L3).rgb;\n"
-  "    if (texcoord.x == 1.0 && texcoord.y == 1.0) {\n"
+  "    if (v_texcoord.x == 1.0 && v_texcoord.y == 1.0) {\n"
   "      L1_1 = L1;\n"
   "      L3_1 = L3;\n"
   "    } else {\n"
-  "      texcoord_L1_1 = vec2(texcoord.x + 1.0 / width, texcoord.y - 1.0 / height);\n"
-  "      texcoord_L3_1 = vec2(texcoord.x + 1.0 / width, texcoord.y + 1.0 / height);\n"
+  "      texcoord_L1_1 = vec2(v_texcoord.x + 1.0 / width, v_texcoord.y - 1.0 / height);\n"
+  "      texcoord_L3_1 = vec2(v_texcoord.x + 1.0 / width, v_texcoord.y + 1.0 / height);\n"
   "      L1_1 = texture2D(tex_prev, texcoord_L1_1).rgb;\n"
   "      L3_1 = texture2D(tex_prev, texcoord_L3_1).rgb;\n"
   "    }\n"
 
-  "    if (int(ceil(texcoord.x + texcoord.y)) == 0) {\n"
+  "    if (int(ceil(v_texcoord.x + v_texcoord.y)) == 0) {\n"
   "      L1_a1 = L1;\n"
   "      L3_a1 = L3;\n"
   "    } else {\n"
-  "      texcoord_L1_a1 = vec2(texcoord.x - 1.0 / width, texcoord.y - 1.0 / height);\n"
-  "      texcoord_L3_a1 = vec2(texcoord.x - 1.0 / width, texcoord.y + 1.0 / height);\n"
+  "      texcoord_L1_a1 = vec2(v_texcoord.x - 1.0 / width, v_texcoord.y - 1.0 / height);\n"
+  "      texcoord_L3_a1 = vec2(v_texcoord.x - 1.0 / width, v_texcoord.y + 1.0 / height);\n"
   "      L1_a1 = texture2D(tex_prev, texcoord_L1_a1).rgb;\n"
   "      L3_a1 = texture2D(tex_prev, texcoord_L3_a1).rgb;\n"
   "    }\n"
@@ -113,8 +120,8 @@
   "    vec3 avg_1 = (L1_1 + L3_1) / 2.0;\n"
   "    vec3 avg_s = (avg_a1 + avg_1) / 2.0;\n"
   "    vec3 avg_sc = (avg_s + avg) / 2.0;\n"
-  "    vec3 L2 = texture2D(tex, texcoord).rgb;\n"
-  "    vec3 LP2 = texture2D(tex_prev, texcoord).rgb;\n"
+  "    vec3 L2 = texture2D(tex, v_texcoord).rgb;\n"
+  "    vec3 LP2 = texture2D(tex_prev, v_texcoord).rgb;\n"
   "    vec3 best;\n"
   "    if (abs(L2.r - avg_sc.r) < abs(LP2.r - avg_sc.r)) {\n"
   "      best.r = L2.r;\n" "    } else {\n"
@@ -144,8 +151,87 @@
   "    gl_FragColor = vec4(last, 1.0);\n"
   "  }\n"
   "}\n";
+
+const gchar *vfir_fragment_source =
+  "#ifdef GL_ES\n"
+  "precision mediump float;\n"
+  "#endif\n"
+  "uniform sampler2D tex;\n"
+  "uniform float width;\n"
+  "uniform float height;\n"
+  "varying vec2 v_texcoord;\n"
+  "void main()\n"
+  "{\n"
+  "  vec2 topcoord, botcoord;\n"
+  "  vec4 cur_color, top_color, bot_color;\n"
+  "  topcoord.x = v_texcoord.x;\n"
+  "  botcoord.x = v_texcoord.x;\n"
+  "  if (v_texcoord.y == 0.0 || v_texcoord.y == 1.0) {\n"
+  "    topcoord.y = v_texcoord.y ;\n"
+  "    botcoord.y = v_texcoord.y ;\n"
+  "  }\n"
+  "  else {\n"
+  "    topcoord.y = v_texcoord.y - 1.0/height;\n"
+  "    botcoord.y = v_texcoord.y + 1.0/height;\n"
+  "  }\n"
+  "  cur_color = texture2D(tex, v_texcoord);\n"
+  "  top_color = texture2D(tex, topcoord);\n"
+  "  bot_color = texture2D(tex, botcoord);\n"
+  "  gl_FragColor = 0.5*cur_color + 0.25*top_color + 0.25*bot_color;\n"
+  "}";
 /* *INDENT-ON* */
 
+/* dont' forget to edit the following when a new method is added */
+typedef enum
+{
+  GST_GL_DEINTERLACE_VFIR,
+  GST_GL_DEINTERLACE_GREEDYH
+} GstGLDeinterlaceMethod;
+
+static const GEnumValue *
+gst_gl_deinterlace_get_methods (void)
+{
+  static const GEnumValue method_types[] = {
+    {GST_GL_DEINTERLACE_VFIR, "Blur Vertical", "vfir"},
+    {GST_GL_DEINTERLACE_GREEDYH, "Motion Adaptive: Advanced Detection",
+        "greedyh"},
+    {0, NULL, NULL}
+  };
+  return method_types;
+}
+
+#define GST_TYPE_GL_DEINTERLACE_METHODS (gst_gl_deinterlace_method_get_type ())
+static GType
+gst_gl_deinterlace_method_get_type (void)
+{
+  static GType gl_deinterlace_method_type = 0;
+  if (!gl_deinterlace_method_type) {
+    gl_deinterlace_method_type =
+        g_enum_register_static ("GstGLDeinterlaceMethod",
+        gst_gl_deinterlace_get_methods ());
+  }
+  return gl_deinterlace_method_type;
+}
+
+static void
+gst_gl_deinterlace_set_method (GstGLDeinterlace * deinterlace,
+    guint method_types)
+{
+  switch (method_types) {
+    case GST_GL_DEINTERLACE_VFIR:
+      deinterlace->deinterlacefunc = gst_gl_deinterlace_vfir_callback;
+      deinterlace->current_method = method_types;
+      break;
+    case GST_GL_DEINTERLACE_GREEDYH:
+      deinterlace->deinterlacefunc = gst_gl_deinterlace_greedyh_callback;
+      deinterlace->current_method = method_types;
+      break;
+    default:
+      g_assert_not_reached ();
+      break;
+  }
+}
+
 static void
 gst_gl_deinterlace_class_init (GstGLDeinterlaceClass * klass)
 {
@@ -163,25 +249,60 @@
       "Deinterlacing based on fragment shaders",
       "Julien Isorce <julien.isorce@mail.com>");
 
+  g_object_class_install_property (gobject_class,
+      PROP_METHOD,
+      g_param_spec_enum ("method",
+          "Deinterlace Method",
+          "Select which deinterlace method apply to GL video texture",
+          GST_TYPE_GL_DEINTERLACE_METHODS,
+          GST_GL_DEINTERLACE_VFIR, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  GST_BASE_TRANSFORM_CLASS (klass)->start = gst_gl_deinterlace_start;
   GST_BASE_TRANSFORM_CLASS (klass)->stop = gst_gl_deinterlace_reset;
 
   GST_GL_FILTER_CLASS (klass)->filter = gst_gl_deinterlace_filter;
   GST_GL_FILTER_CLASS (klass)->filter_texture =
       gst_gl_deinterlace_filter_texture;
-  GST_GL_FILTER_CLASS (klass)->init_fbo = gst_gl_deinterlace_init_shader;
+  GST_GL_FILTER_CLASS (klass)->init_fbo = gst_gl_deinterlace_init_fbo;
 
-  GST_GL_BASE_FILTER_CLASS (klass)->supported_gl_api = GST_GL_API_OPENGL;
+  GST_GL_BASE_FILTER_CLASS (klass)->supported_gl_api =
+      GST_GL_API_OPENGL | GST_GL_API_GLES2 | GST_GL_API_OPENGL3;
 }
 
 static void
 gst_gl_deinterlace_init (GstGLDeinterlace * filter)
 {
-  filter->shader = NULL;
+  filter->shaderstable = NULL;
+  filter->deinterlacefunc = gst_gl_deinterlace_vfir_callback;
+  filter->current_method = GST_GL_DEINTERLACE_VFIR;
   filter->prev_buffer = NULL;
   filter->prev_tex = 0;
 }
 
 static gboolean
+gst_gl_deinterlace_start (GstBaseTransform * trans)
+{
+  GstGLDeinterlace *deinterlace_filter = GST_GL_DEINTERLACE (trans);
+
+  deinterlace_filter->shaderstable = g_hash_table_new (g_str_hash, g_str_equal);
+
+  return GST_BASE_TRANSFORM_CLASS (parent_class)->start (trans);
+}
+
+static void
+gst_gl_deinterlace_ghash_func_clean (gpointer key, gpointer value,
+    gpointer data)
+{
+  GstGLShader *shader = (GstGLShader *) value;
+  GstGLFilter *filter = (GstGLFilter *) data;
+
+  //blocking call, wait the opengl thread has destroyed the shader
+  gst_gl_context_del_shader (GST_GL_BASE_FILTER (filter)->context, shader);
+
+  value = NULL;
+}
+
+static gboolean
 gst_gl_deinterlace_reset (GstBaseTransform * trans)
 {
   GstGLDeinterlace *deinterlace_filter = GST_GL_DEINTERLACE (trans);
@@ -189,10 +310,17 @@
   gst_buffer_replace (&deinterlace_filter->prev_buffer, NULL);
 
   //blocking call, wait the opengl thread has destroyed the shader
-  if (deinterlace_filter->shader)
-    gst_gl_context_del_shader (GST_GL_BASE_FILTER (trans)->context,
-        deinterlace_filter->shader);
-  deinterlace_filter->shader = NULL;
+  if (deinterlace_filter->shaderstable) {
+    /* release shaders in the gl thread */
+    g_hash_table_foreach (deinterlace_filter->shaderstable,
+        gst_gl_deinterlace_ghash_func_clean, deinterlace_filter);
+
+    /* clean the htable without calling values destructors
+     * because shaders have been released in the glthread
+     * through the foreach func */
+    g_hash_table_unref (deinterlace_filter->shaderstable);
+    deinterlace_filter->shaderstable = NULL;
+  }
 
   return GST_BASE_TRANSFORM_CLASS (parent_class)->stop (trans);
 }
@@ -201,9 +329,12 @@
 gst_gl_deinterlace_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
 {
-  //GstGLDeinterlace *filter = GST_GL_DEINTERLACE (object);
+  GstGLDeinterlace *filter = GST_GL_DEINTERLACE (object);
 
   switch (prop_id) {
+    case PROP_METHOD:
+      gst_gl_deinterlace_set_method (filter, g_value_get_enum (value));
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -214,9 +345,12 @@
 gst_gl_deinterlace_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec)
 {
-  //GstGLDeinterlace *filter = GST_GL_DEINTERLACE (object);
+  GstGLDeinterlace *filter = GST_GL_DEINTERLACE (object);
 
   switch (prop_id) {
+    case PROP_METHOD:
+      g_value_set_enum (value, filter->current_method);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -224,13 +358,9 @@
 }
 
 static gboolean
-gst_gl_deinterlace_init_shader (GstGLFilter * filter)
+gst_gl_deinterlace_init_fbo (GstGLFilter * filter)
 {
-  GstGLDeinterlace *deinterlace_filter = GST_GL_DEINTERLACE (filter);
-
-  //blocking call, wait the opengl thread has compiled the shader
-  return gst_gl_context_gen_shader (GST_GL_BASE_FILTER (filter)->context, 0,
-      greedyh_fragment_source, &deinterlace_filter->shader);
+  return TRUE;
 }
 
 static gboolean
@@ -241,7 +371,7 @@
 
   //blocking call, use a FBO
   gst_gl_filter_render_to_target (filter, TRUE, in_tex, out_tex,
-      gst_gl_deinterlace_callback, deinterlace_filter);
+      deinterlace_filter->deinterlacefunc, deinterlace_filter);
 
   return TRUE;
 }
@@ -259,89 +389,124 @@
   return TRUE;
 }
 
-//opengl scene, params: input texture (not the output filter->texture)
+static GstGLShader *
+gst_gl_deinterlace_get_fragment_shader (GstGLFilter * filter,
+    const gchar * shader_name, const gchar * shader_source)
+{
+  GstGLShader *shader = NULL;
+  GstGLDeinterlace *deinterlace_filter = GST_GL_DEINTERLACE (filter);
+  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
+
+  shader = g_hash_table_lookup (deinterlace_filter->shaderstable, shader_name);
+
+  if (!shader) {
+    GError *error = NULL;
+
+    if (!(shader = gst_gl_shader_new_link_with_stages (context, &error,
+                gst_glsl_stage_new_default_vertex (context),
+                gst_glsl_stage_new_with_string (context, GL_FRAGMENT_SHADER,
+                    GST_GLSL_VERSION_NONE,
+                    GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+                    shader_source), NULL))) {
+      GST_ELEMENT_ERROR (deinterlace_filter, RESOURCE, NOT_FOUND,
+          ("Failed to initialize %s shader", shader_name), (NULL));
+    }
+
+    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 (deinterlace_filter->shaderstable, (gchar *) shader_name,
+      shader);
+
+  return shader;
+}
+
 static void
-gst_gl_deinterlace_callback (gint width, gint height, guint texture,
+gst_gl_deinterlace_vfir_callback (gint width, gint height, guint texture,
     gpointer stuff)
 {
-  GstGLDeinterlace *deinterlace_filter = GST_GL_DEINTERLACE (stuff);
+  GstGLShader *shader;
   GstGLFilter *filter = GST_GL_FILTER (stuff);
-  GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
-  guint temp;
+  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
+  GstGLFuncs *gl = context->gl_vtable;
 
-  GLfloat verts[] = { -1.0, -1.0,
-    1.0, -1.0,
-    1.0, 1.0,
-    -1.0, 1.0
-  };
-  GLfloat texcoords0[] = { 0.0f, 0.0f,
-    1.0f, 0.0f,
-    1.0f, 1.0f,
-    0.0f, 1.0f
-  };
-  GLfloat texcoords1[] = { 0.0f, 0.0f,
-    1.0f, 0.0f,
-    1.0f, 1.0f,
-    0.0f, 1.0f
-  };
+  shader = gst_gl_deinterlace_get_fragment_shader (filter, "vfir",
+      vfir_fragment_source);
 
-  gl->MatrixMode (GL_PROJECTION);
-  gl->LoadIdentity ();
+  if (!shader)
+    return;
 
-  gst_gl_shader_use (deinterlace_filter->shader);
+#if GST_GL_HAVE_OPENGL
+  if (USING_OPENGL (context)) {
+    gl->MatrixMode (GL_PROJECTION);
+    gl->LoadIdentity ();
+  }
+#endif
 
-  if (G_UNLIKELY (deinterlace_filter->prev_tex == 0)) {
-    gst_gl_context_gen_texture (GST_GL_BASE_FILTER (filter)->context,
-        &deinterlace_filter->prev_tex,
-        GST_VIDEO_INFO_FORMAT (&filter->out_info),
-        GST_VIDEO_INFO_WIDTH (&filter->out_info),
-        GST_VIDEO_INFO_HEIGHT (&filter->out_info));
-  } else {
+  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",
+      GST_VIDEO_INFO_WIDTH (&filter->out_info));
+  gst_gl_shader_set_uniform_1f (shader, "height",
+      GST_VIDEO_INFO_HEIGHT (&filter->out_info));
+
+  gst_gl_filter_draw_texture (filter, texture, width, height);
+}
+
+static void
+gst_gl_deinterlace_greedyh_callback (gint width, gint height, guint texture,
+    gpointer stuff)
+{
+  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;
+
+  shader =
+      gst_gl_deinterlace_get_fragment_shader (filter, "greedhy",
+      greedyh_fragment_source);
+
+  if (!shader)
+    return;
+
+#if GST_GL_HAVE_OPENGL
+  if (USING_OPENGL (context)) {
+    gl->MatrixMode (GL_PROJECTION);
+    gl->LoadIdentity ();
+  }
+#endif
+
+  gst_gl_shader_use (shader);
+
+  if (G_LIKELY (deinterlace_filter->prev_tex != 0)) {
     gl->ActiveTexture (GL_TEXTURE1);
-    gst_gl_shader_set_uniform_1i (deinterlace_filter->shader, "tex_prev", 1);
+    gst_gl_shader_set_uniform_1i (shader, "tex_prev", 1);
     gl->BindTexture (GL_TEXTURE_2D, deinterlace_filter->prev_tex);
   }
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gst_gl_shader_set_uniform_1i (deinterlace_filter->shader, "tex", 0);
+  gl->BindTexture (GL_TEXTURE_2D, texture);
 
-  gst_gl_shader_set_uniform_1f (deinterlace_filter->shader, "max_comb",
-      5.0f / 255.0f);
-  gst_gl_shader_set_uniform_1f (deinterlace_filter->shader, "motion_threshold",
-      25.0f / 255.0f);
-  gst_gl_shader_set_uniform_1f (deinterlace_filter->shader, "motion_sense",
-      30.0f / 255.0f);
+  gst_gl_shader_set_uniform_1i (shader, "tex", 0);
+  gst_gl_shader_set_uniform_1f (shader, "max_comb", 5.0f / 255.0f);
+  gst_gl_shader_set_uniform_1f (shader, "motion_threshold", 25.0f / 255.0f);
+  gst_gl_shader_set_uniform_1f (shader, "motion_sense", 30.0f / 255.0f);
 
-  gst_gl_shader_set_uniform_1f (deinterlace_filter->shader, "width",
+  gst_gl_shader_set_uniform_1f (shader, "width",
       GST_VIDEO_INFO_WIDTH (&filter->out_info));
-  gst_gl_shader_set_uniform_1f (deinterlace_filter->shader, "height",
+  gst_gl_shader_set_uniform_1f (shader, "height",
       GST_VIDEO_INFO_HEIGHT (&filter->out_info));
 
-  gl->ClientActiveTexture (GL_TEXTURE0);
+  gst_gl_filter_draw_texture (filter, texture, width, height);
 
-  gl->EnableClientState (GL_TEXTURE_COORD_ARRAY);
-  gl->EnableClientState (GL_VERTEX_ARRAY);
-
-  gl->VertexPointer (2, GL_FLOAT, 0, &verts);
-  gl->TexCoordPointer (2, GL_FLOAT, 0, &texcoords0);
-
-  gl->ClientActiveTexture (GL_TEXTURE1);
-  gl->EnableClientState (GL_TEXTURE_COORD_ARRAY);
-  gl->TexCoordPointer (2, GL_FLOAT, 0, &texcoords1);
-
-  gl->DrawArrays (GL_TRIANGLE_FAN, 0, 4);
-
-  gl->DisableClientState (GL_VERTEX_ARRAY);
-  gl->DisableClientState (GL_TEXTURE_COORD_ARRAY);
-
-  gl->ClientActiveTexture (GL_TEXTURE0);
-  gl->DisableClientState (GL_TEXTURE_COORD_ARRAY);
-
-  if (texture == filter->in_tex_id) {
-    temp = filter->in_tex_id;
-    filter->in_tex_id = deinterlace_filter->prev_tex;
-    deinterlace_filter->prev_tex = temp;
-  } else {
-    deinterlace_filter->prev_tex = texture;
-  }
+  /* we keep the previous buffer around so this is safe */
+  deinterlace_filter->prev_tex = texture;
 }
diff --git a/ext/gl/gstgldeinterlace.h b/ext/gl/gstgldeinterlace.h
index a81a2e7..6a19d04 100644
--- a/ext/gl/gstgldeinterlace.h
+++ b/ext/gl/gstgldeinterlace.h
@@ -32,15 +32,21 @@
 #define GST_IS_GL_DEINTERLACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_GL_DEINTERLACE))
 #define GST_GL_DEINTERLACE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_GL_DEINTERLACE,GstGLDeinterlaceClass))
 
+#define USING_OPENGL(context) (gst_gl_context_check_gl_version (context, GST_GL_API_OPENGL, 1, 0))
+
 typedef struct _GstGLDeinterlace GstGLDeinterlace;
 typedef struct _GstGLDeinterlaceClass GstGLDeinterlaceClass;
 
 struct _GstGLDeinterlace
 {
   GstGLFilter  filter;
-  GstGLShader  *shader;
+
+  GLCB	       deinterlacefunc; 
+  GHashTable   *shaderstable;
   GstBuffer    *prev_buffer;
   guint         prev_tex;
+
+  gint	       current_method;
 };
 
 struct _GstGLDeinterlaceClass
diff --git a/ext/gl/gstgldifferencematte.c b/ext/gl/gstgldifferencematte.c
index 6304c6d..d6c35cb 100644
--- a/ext/gl/gstgldifferencematte.c
+++ b/ext/gl/gstgldifferencematte.c
@@ -94,18 +94,24 @@
     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->shader[i] =
-        gst_gl_shader_new (GST_GL_BASE_FILTER (filter)->context);
+  }
+
+  if (!(differencematte->identity_shader =
+          gst_gl_shader_new_default (context, &error))) {
+    GST_ELEMENT_ERROR (differencematte, RESOURCE, NOT_FOUND, ("%s",
+            "Failed to compile identity shader"), ("%s", error->message));
+    return;
   }
 
   if (!(differencematte->shader[0] =
           gst_gl_shader_new_link_with_stages (context, &error,
               gst_glsl_stage_new_default_vertex (context),
               gst_glsl_stage_new_with_string (context, GL_FRAGMENT_SHADER,
-                  GST_GLSL_VERSION_NONE, GST_GLSL_PROFILE_ES,
+                  GST_GLSL_VERSION_NONE,
+                  GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
                   difference_fragment_source), NULL))) {
     GST_ELEMENT_ERROR (differencematte, RESOURCE, NOT_FOUND, ("%s",
-            gst_gl_context_get_error ()), (NULL));
+            "Failed to compile difference shader"), ("%s", error->message));
     return;
   }
 
@@ -113,10 +119,11 @@
           gst_gl_shader_new_link_with_stages (context, &error,
               gst_glsl_stage_new_default_vertex (context),
               gst_glsl_stage_new_with_string (context, GL_FRAGMENT_SHADER,
-                  GST_GLSL_VERSION_NONE, GST_GLSL_PROFILE_ES,
+                  GST_GLSL_VERSION_NONE,
+                  GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
                   hconv7_fragment_source_gles2), NULL))) {
     GST_ELEMENT_ERROR (differencematte, RESOURCE, NOT_FOUND, ("%s",
-            gst_gl_context_get_error ()), (NULL));
+            "Failed to compile convolution shader"), ("%s", error->message));
     return;
   }
 
@@ -124,10 +131,11 @@
           gst_gl_shader_new_link_with_stages (context, &error,
               gst_glsl_stage_new_default_vertex (context),
               gst_glsl_stage_new_with_string (context, GL_FRAGMENT_SHADER,
-                  GST_GLSL_VERSION_NONE, GST_GLSL_PROFILE_ES,
+                  GST_GLSL_VERSION_NONE,
+                  GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
                   vconv7_fragment_source_gles2), NULL))) {
     GST_ELEMENT_ERROR (differencematte, RESOURCE, NOT_FOUND, ("%s",
-            gst_gl_context_get_error ()), (NULL));
+            "Failed to compile convolution shader"), ("%s", error->message));
     return;
   }
 
@@ -135,19 +143,20 @@
           gst_gl_shader_new_link_with_stages (context, &error,
               gst_glsl_stage_new_default_vertex (context),
               gst_glsl_stage_new_with_string (context, GL_FRAGMENT_SHADER,
-                  GST_GLSL_VERSION_NONE, GST_GLSL_PROFILE_ES,
+                  GST_GLSL_VERSION_NONE,
+                  GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
                   texture_interp_fragment_source), NULL))) {
     GST_ELEMENT_ERROR (differencematte, RESOURCE, NOT_FOUND, ("%s",
-            gst_gl_context_get_error ()), (NULL));
+            "Failed to compile interpolation shader"), ("%s", error->message));
     return;
   }
 
   /* FIXME: this should really be per shader */
   filter->draw_attr_position_loc =
-      gst_gl_shader_get_attribute_location (differencematte->shader[3],
+      gst_gl_shader_get_attribute_location (differencematte->shader[2],
       "a_position");
   filter->draw_attr_texture_loc =
-      gst_gl_shader_get_attribute_location (differencematte->shader[3],
+      gst_gl_shader_get_attribute_location (differencematte->shader[2],
       "a_texcoord");
 }
 
@@ -162,6 +171,11 @@
   gl->DeleteTextures (1, &differencematte->savedbgtexture);
   gl->DeleteTextures (1, &differencematte->newbgtexture);
   for (i = 0; i < 4; i++) {
+    if (differencematte->identity_shader) {
+      gst_object_unref (differencematte->identity_shader);
+      differencematte->identity_shader = NULL;
+    }
+
     if (differencematte->shader[i]) {
       gst_object_unref (differencematte->shader[i]);
       differencematte->shader[i] = NULL;
@@ -263,29 +277,19 @@
 }
 
 static void
-gst_gl_differencematte_save_texture (gint width, gint height, guint texture,
-    gpointer stuff)
-{
-  GstGLFilter *filter = GST_GL_FILTER (stuff);
-  GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
-
-  gl->MatrixMode (GL_PROJECTION);
-  gl->LoadIdentity ();
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
-static void
 init_pixbuf_texture (GstGLContext * context, gpointer data)
 {
   GstGLDifferenceMatte *differencematte = GST_GL_DIFFERENCEMATTE (data);
   GstGLFilter *filter = GST_GL_FILTER (data);
-  GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
+  const GstGLFuncs *gl = context->gl_vtable;
+  guint internal_format =
+      gst_gl_sized_gl_format_from_gl_format_type (context, GL_RGBA,
+      GL_UNSIGNED_BYTE);
 
   gl->DeleteTextures (1, &differencematte->newbgtexture);
   gl->GenTextures (1, &differencematte->newbgtexture);
   gl->BindTexture (GL_TEXTURE_2D, differencematte->newbgtexture);
-  gl->TexImage2D (GL_TEXTURE_2D, 0, GL_RGBA,
+  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);
@@ -296,7 +300,7 @@
   if (differencematte->savedbgtexture == 0) {
     gl->GenTextures (1, &differencematte->savedbgtexture);
     gl->BindTexture (GL_TEXTURE_2D, differencematte->savedbgtexture);
-    gl->TexImage2D (GL_TEXTURE_2D, 0, GL_RGBA8,
+    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);
@@ -315,9 +319,6 @@
   GstGLFilter *filter = GST_GL_FILTER (stuff);
   GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
 
-  gl->MatrixMode (GL_PROJECTION);
-  gl->LoadIdentity ();
-
   gst_gl_shader_use (differencematte->shader[0]);
 
   gl->ActiveTexture (GL_TEXTURE0);
@@ -341,9 +342,6 @@
   GstGLFilter *filter = GST_GL_FILTER (stuff);
   GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
 
-  gl->MatrixMode (GL_PROJECTION);
-  gl->LoadIdentity ();
-
   gst_gl_shader_use (differencematte->shader[1]);
 
   gl->ActiveTexture (GL_TEXTURE0);
@@ -353,7 +351,8 @@
 
   gst_gl_shader_set_uniform_1fv (differencematte->shader[1], "kernel", 7,
       differencematte->kernel);
-  gst_gl_shader_set_uniform_1f (differencematte->shader[1], "width", width);
+  gst_gl_shader_set_uniform_1f (differencematte->shader[1], "gauss_width",
+      width);
 
   gst_gl_filter_draw_texture (filter, texture, width, height);
 }
@@ -366,9 +365,6 @@
   GstGLFilter *filter = GST_GL_FILTER (stuff);
   GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
 
-  gl->MatrixMode (GL_PROJECTION);
-  gl->LoadIdentity ();
-
   gst_gl_shader_use (differencematte->shader[2]);
 
   gl->ActiveTexture (GL_TEXTURE0);
@@ -378,7 +374,8 @@
 
   gst_gl_shader_set_uniform_1fv (differencematte->shader[2], "kernel", 7,
       differencematte->kernel);
-  gst_gl_shader_set_uniform_1f (differencematte->shader[2], "height", height);
+  gst_gl_shader_set_uniform_1f (differencematte->shader[2], "gauss_height",
+      height);
 
   gst_gl_filter_draw_texture (filter, texture, width, height);
 }
@@ -391,9 +388,6 @@
   GstGLFilter *filter = GST_GL_FILTER (stuff);
   GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
 
-  gl->MatrixMode (GL_PROJECTION);
-  glLoadIdentity ();
-
   gst_gl_shader_use (differencematte->shader[3]);
 
   gl->ActiveTexture (GL_TEXTURE0);
@@ -422,8 +416,12 @@
   GstGLFilter *filter = GST_GL_FILTER (differencematte);
   GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
 
-  gl->MatrixMode (GL_PROJECTION);
-  gl->LoadIdentity ();
+  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);
 }
@@ -449,7 +447,7 @@
      * this frame and next ones */
     gst_gl_filter_render_to_target (filter, TRUE, in_tex,
         differencematte->savedbgtexture,
-        gst_gl_differencematte_save_texture, differencematte);
+        gst_gl_differencematte_identity, differencematte);
 
     if (differencematte->pixbuf) {
       free (differencematte->pixbuf);
diff --git a/ext/gl/gstgldifferencematte.h b/ext/gl/gstgldifferencematte.h
index 0cd122f..45ba553 100644
--- a/ext/gl/gstgldifferencematte.h
+++ b/ext/gl/gstgldifferencematte.h
@@ -37,6 +37,7 @@
 {
   GstGLFilter filter;
 
+  GstGLShader *identity_shader;
   GstGLShader *shader[4];
 
   gchar *location;
diff --git a/ext/gl/gstgldownloadelement.c b/ext/gl/gstgldownloadelement.c
index ff931fa..058398b 100644
--- a/ext/gl/gstgldownloadelement.c
+++ b/ext/gl/gstgldownloadelement.c
@@ -73,10 +73,10 @@
 
   bt_class->passthrough_on_same_caps = TRUE;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_gl_download_element_src_pad_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_gl_download_element_sink_pad_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_gl_download_element_src_pad_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_gl_download_element_sink_pad_template);
 
   gst_element_class_set_metadata (element_class,
       "OpenGL uploader", "Filter/Video",
diff --git a/ext/gl/gstglfilterbin.c b/ext/gl/gstglfilterbin.c
index 946d66c..a3621ec 100644
--- a/ext/gl/gstglfilterbin.c
+++ b/ext/gl/gstglfilterbin.c
@@ -73,8 +73,7 @@
   gobject_class->set_property = gst_gl_filter_bin_set_property;
   gobject_class->get_property = gst_gl_filter_bin_get_property;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&_src_pad_template));
+  gst_element_class_add_static_pad_template (element_class, &_src_pad_template);
 
   upload_caps = gst_gl_upload_get_input_template_caps ();
   gst_element_class_add_pad_template (element_class,
diff --git a/ext/gl/gstglimagesink.c b/ext/gl/gstglimagesink.c
index 14ddeee..f176c23 100644
--- a/ext/gl/gstglimagesink.c
+++ b/ext/gl/gstglimagesink.c
@@ -94,10 +94,6 @@
 #include "gstglimagesink.h"
 #include "gstglsinkbin.h"
 
-#if GST_GL_HAVE_PLATFORM_EGL
-#include <gst/gl/egl/gsteglimagememory.h>
-#endif
-
 #include <gst/gl/gstglviewconvert.h>
 
 GST_DEBUG_CATEGORY (gst_debug_glimage_sink);
@@ -120,6 +116,7 @@
 enum
 {
   PROP_BIN_0,
+  PROP_BIN_ROTATE_METHOD,
   PROP_BIN_FORCE_ASPECT_RATIO,
   PROP_BIN_PIXEL_ASPECT_RATIO,
   PROP_BIN_HANDLE_EVENTS,
@@ -181,6 +178,39 @@
   return ret;
 }
 
+#define DEFAULT_ROTATE_METHOD GST_GL_ROTATE_METHOD_IDENTITY
+
+#define GST_TYPE_GL_ROTATE_METHOD (gst_gl_rotate_method_get_type())
+
+static const GEnumValue rotate_methods[] = {
+  {GST_GL_ROTATE_METHOD_IDENTITY, "Identity (no rotation)", "none"},
+  {GST_GL_ROTATE_METHOD_90R, "Rotate clockwise 90 degrees", "clockwise"},
+  {GST_GL_ROTATE_METHOD_180, "Rotate 180 degrees", "rotate-180"},
+  {GST_GL_ROTATE_METHOD_90L, "Rotate counter-clockwise 90 degrees",
+      "counterclockwise"},
+  {GST_GL_ROTATE_METHOD_FLIP_HORIZ, "Flip horizontally", "horizontal-flip"},
+  {GST_GL_ROTATE_METHOD_FLIP_VERT, "Flip vertically", "vertical-flip"},
+  {GST_GL_ROTATE_METHOD_FLIP_UL_LR,
+      "Flip across upper left/lower right diagonal", "upper-left-diagonal"},
+  {GST_GL_ROTATE_METHOD_FLIP_UR_LL,
+      "Flip across upper right/lower left diagonal", "upper-right-diagonal"},
+  {GST_GL_ROTATE_METHOD_AUTO,
+      "Select rotate method based on image-orientation tag", "automatic"},
+  {0, NULL, NULL},
+};
+
+static GType
+gst_gl_rotate_method_get_type (void)
+{
+  static GType rotate_method_type = 0;
+
+  if (!rotate_method_type) {
+    rotate_method_type = g_enum_register_static ("GstGLRotateMethod",
+        rotate_methods);
+  }
+  return rotate_method_type;
+}
+
 static void
 gst_gl_image_sink_bin_init (GstGLImageSinkBin * self)
 {
@@ -203,6 +233,12 @@
   gobject_class->set_property = gst_gl_image_sink_bin_set_property;
 
   /* gl sink */
+  g_object_class_install_property (gobject_class, PROP_BIN_ROTATE_METHOD,
+      g_param_spec_enum ("rotate-method",
+          "rotate method",
+          "rotate method",
+          GST_TYPE_GL_ROTATE_METHOD, DEFAULT_ROTATE_METHOD,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
   g_object_class_install_property (gobject_class, PROP_BIN_FORCE_ASPECT_RATIO,
       g_param_spec_boolean ("force-aspect-ratio",
           "Force aspect ratio",
@@ -291,6 +327,7 @@
 static void gst_glimage_sink_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * param_spec);
 
+static gboolean gst_glimage_sink_event (GstBaseSink * sink, GstEvent * event);
 static gboolean gst_glimage_sink_query (GstBaseSink * bsink, GstQuery * query);
 static void gst_glimage_sink_set_context (GstElement * element,
     GstContext * context);
@@ -347,6 +384,7 @@
 {
   ARG_0,
   ARG_DISPLAY,
+  PROP_ROTATE_METHOD,
   PROP_FORCE_ASPECT_RATIO,
   PROP_PIXEL_ASPECT_RATIO,
   PROP_CONTEXT,
@@ -404,6 +442,126 @@
   GST_TRACE ("transform %fx%f into %fx%f", x, y, *stream_x, *stream_y);
 }
 
+/* rotate 90 */
+static const gfloat clockwise_matrix[] = {
+  0.0f, -1.0f, 0.0f, 0.0f,
+  1.0f, 0.0f, 0.0f, 0.0f,
+  0.0f, 0.0f, 1.0f, 0.0f,
+  0.0f, 0.0f, 0.0f, 1.0f,
+};
+
+/* rotate 180 */
+static const gfloat clockwise_180_matrix[] = {
+  -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,
+};
+
+/* rotate 270 */
+static const gfloat counterclockwise_matrix[] = {
+  0.0f, 1.0f, 0.0f, 0.0f,
+  -1.0f, 0.0f, 0.0f, 0.0f,
+  0.0f, 0.0f, 1.0f, 0.0f,
+  0.0f, 0.0f, 0.0f, 1.0f,
+};
+
+/* horizontal-flip */
+static const gfloat horizontal_flip_matrix[] = {
+  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,
+  0.0f, 0.0f, 1.0f, 0.0f,
+  0.0f, 0.0f, 0.0f, 1.0f,
+};
+
+/* upper-left-diagonal */
+static const gfloat upper_left_matrix[] = {
+  0.0f, 1.0f, 0.0f, 0.0f,
+  1.0f, 0.0f, 0.0f, 0.0f,
+  0.0f, 0.0f, 1.0f, 0.0f,
+  0.0f, 0.0f, 0.0f, 1.0f,
+};
+
+/* upper-right-diagonal */
+static const gfloat upper_right_matrix[] = {
+  0.0f, -1.0f, 0.0f, 0.0f,
+  -1.0f, 0.0f, 0.0f, 0.0f,
+  0.0f, 0.0f, 1.0f, 0.0f,
+  0.0f, 0.0f, 0.0f, 1.0f,
+};
+
+static void
+gst_glimage_sink_set_rotate_method (GstGLImageSink * gl_sink,
+    GstGLRotateMethod method, gboolean from_tag)
+{
+  GstGLRotateMethod tag_method = DEFAULT_ROTATE_METHOD;
+  GST_GLIMAGE_SINK_LOCK (gl_sink);
+  if (from_tag)
+    tag_method = method;
+  else
+    gl_sink->rotate_method = method;
+
+  if (gl_sink->rotate_method == GST_GL_ROTATE_METHOD_AUTO)
+    method = tag_method;
+  else
+    method = gl_sink->rotate_method;
+
+  if (method != gl_sink->current_rotate_method) {
+    GST_DEBUG_OBJECT (gl_sink, "Changing method from %s to %s",
+        rotate_methods[gl_sink->current_rotate_method].value_nick,
+        rotate_methods[method].value_nick);
+
+    switch (method) {
+      case GST_GL_ROTATE_METHOD_IDENTITY:
+        gl_sink->transform_matrix = NULL;
+        gl_sink->output_mode_changed = TRUE;
+        break;
+      case GST_GL_ROTATE_METHOD_90R:
+        gl_sink->transform_matrix = clockwise_matrix;
+        gl_sink->output_mode_changed = TRUE;
+        break;
+      case GST_GL_ROTATE_METHOD_180:
+        gl_sink->transform_matrix = clockwise_180_matrix;
+        gl_sink->output_mode_changed = TRUE;
+        break;
+      case GST_GL_ROTATE_METHOD_90L:
+        gl_sink->transform_matrix = counterclockwise_matrix;
+        gl_sink->output_mode_changed = TRUE;
+        break;
+      case GST_GL_ROTATE_METHOD_FLIP_HORIZ:
+        gl_sink->transform_matrix = horizontal_flip_matrix;
+        gl_sink->output_mode_changed = TRUE;
+        break;
+      case GST_GL_ROTATE_METHOD_FLIP_VERT:
+        gl_sink->transform_matrix = vertical_flip_matrix;
+        gl_sink->output_mode_changed = TRUE;
+        break;
+      case GST_GL_ROTATE_METHOD_FLIP_UL_LR:
+        gl_sink->transform_matrix = upper_left_matrix;
+        gl_sink->output_mode_changed = TRUE;
+        break;
+      case GST_GL_ROTATE_METHOD_FLIP_UR_LL:
+        gl_sink->transform_matrix = upper_right_matrix;
+        gl_sink->output_mode_changed = TRUE;
+        break;
+      default:
+        g_assert_not_reached ();
+        break;
+    }
+
+    gl_sink->current_rotate_method = method;
+  }
+  GST_GLIMAGE_SINK_UNLOCK (gl_sink);
+}
+
 static void
 gst_glimage_sink_navigation_send_event (GstNavigation * navigation, GstStructure
     * structure)
@@ -485,6 +643,13 @@
   gobject_class->set_property = gst_glimage_sink_set_property;
   gobject_class->get_property = gst_glimage_sink_get_property;
 
+  g_object_class_install_property (gobject_class, PROP_ROTATE_METHOD,
+      g_param_spec_enum ("rotate-method",
+          "rotate method",
+          "rotate method",
+          GST_TYPE_GL_ROTATE_METHOD, DEFAULT_ROTATE_METHOD,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
   g_object_class_install_property (gobject_class, PROP_FORCE_ASPECT_RATIO,
       g_param_spec_boolean ("force-aspect-ratio", "Force aspect ratio",
           "When enabled, scaling will respect original aspect ratio",
@@ -570,13 +735,14 @@
       G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_generic,
       G_TYPE_BOOLEAN, 3, GST_GL_TYPE_CONTEXT, G_TYPE_UINT, G_TYPE_UINT);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_glimage_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_glimage_sink_template);
 
   gobject_class->finalize = gst_glimage_sink_finalize;
 
   gstelement_class->change_state = gst_glimage_sink_change_state;
   gstelement_class->set_context = gst_glimage_sink_set_context;
+  gstbasesink_class->event = gst_glimage_sink_event;
   gstbasesink_class->query = GST_DEBUG_FUNCPTR (gst_glimage_sink_query);
   gstbasesink_class->set_caps = gst_glimage_sink_set_caps;
   gstbasesink_class->get_caps = gst_glimage_sink_get_caps;
@@ -606,6 +772,9 @@
   glimage_sink->mview_output_flags = DEFAULT_MULTIVIEW_FLAGS;
   glimage_sink->mview_downmix_mode = DEFAULT_MULTIVIEW_DOWNMIX;
 
+  glimage_sink->current_rotate_method = DEFAULT_ROTATE_METHOD;
+  glimage_sink->transform_matrix = NULL;
+
   g_mutex_init (&glimage_sink->drawing_lock);
 }
 
@@ -620,6 +789,10 @@
   glimage_sink = GST_GLIMAGE_SINK (object);
 
   switch (prop_id) {
+    case PROP_ROTATE_METHOD:
+      gst_glimage_sink_set_rotate_method (glimage_sink,
+          g_value_get_enum (value), FALSE);
+      break;
     case PROP_FORCE_ASPECT_RATIO:
     {
       glimage_sink->keep_aspect_ratio = g_value_get_boolean (value);
@@ -687,6 +860,9 @@
   glimage_sink = GST_GLIMAGE_SINK (object);
 
   switch (prop_id) {
+    case PROP_ROTATE_METHOD:
+      g_value_set_enum (value, glimage_sink->current_rotate_method);
+      break;
     case PROP_FORCE_ASPECT_RATIO:
       g_value_set_boolean (value, glimage_sink->keep_aspect_ratio);
       break;
@@ -844,6 +1020,58 @@
 }
 
 static gboolean
+gst_glimage_sink_event (GstBaseSink * sink, GstEvent * event)
+{
+  GstGLImageSink *gl_sink = GST_GLIMAGE_SINK (sink);
+  GstTagList *taglist;
+  gchar *orientation;
+  gboolean ret;
+
+  GST_DEBUG_OBJECT (gl_sink, "handling %s event", GST_EVENT_TYPE_NAME (event));
+
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_TAG:
+      gst_event_parse_tag (event, &taglist);
+
+      if (gst_tag_list_get_string (taglist, "image-orientation", &orientation)) {
+        if (!g_strcmp0 ("rotate-0", orientation))
+          gst_glimage_sink_set_rotate_method (gl_sink,
+              GST_GL_ROTATE_METHOD_IDENTITY, TRUE);
+        else if (!g_strcmp0 ("rotate-90", orientation))
+          gst_glimage_sink_set_rotate_method (gl_sink, GST_GL_ROTATE_METHOD_90R,
+              TRUE);
+        else if (!g_strcmp0 ("rotate-180", orientation))
+          gst_glimage_sink_set_rotate_method (gl_sink, GST_GL_ROTATE_METHOD_180,
+              TRUE);
+        else if (!g_strcmp0 ("rotate-270", orientation))
+          gst_glimage_sink_set_rotate_method (gl_sink, GST_GL_ROTATE_METHOD_90L,
+              TRUE);
+        else if (!g_strcmp0 ("flip-rotate-0", orientation))
+          gst_glimage_sink_set_rotate_method (gl_sink,
+              GST_GL_ROTATE_METHOD_FLIP_HORIZ, TRUE);
+        else if (!g_strcmp0 ("flip-rotate-90", orientation))
+          gst_glimage_sink_set_rotate_method (gl_sink,
+              GST_GL_ROTATE_METHOD_FLIP_UR_LL, TRUE);
+        else if (!g_strcmp0 ("flip-rotate-180", orientation))
+          gst_glimage_sink_set_rotate_method (gl_sink,
+              GST_GL_ROTATE_METHOD_FLIP_VERT, TRUE);
+        else if (!g_strcmp0 ("flip-rotate-270", orientation))
+          gst_glimage_sink_set_rotate_method (gl_sink,
+              GST_GL_ROTATE_METHOD_FLIP_UL_LR, TRUE);
+
+        g_free (orientation);
+      }
+      break;
+    default:
+      break;
+  }
+
+  ret = GST_BASE_SINK_CLASS (parent_class)->event (sink, event);
+
+  return ret;
+}
+
+static gboolean
 gst_glimage_sink_query (GstBaseSink * bsink, GstQuery * query)
 {
   GstGLImageSink *glimage_sink = GST_GLIMAGE_SINK (bsink);
@@ -1702,6 +1930,8 @@
 
   gst_query_add_allocation_meta (query,
       GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE, allocation_meta);
+  gst_query_add_allocation_meta (query,
+      GST_VIDEO_AFFINE_TRANSFORMATION_META_API_TYPE, 0);
 
   if (allocation_meta)
     gst_structure_free (allocation_meta);
@@ -1777,17 +2007,16 @@
   GError *error = NULL;
   GstGLSLStage *frag_stage, *vert_stage;
 
+  vert_stage = gst_glsl_stage_new_with_string (gl_sink->context,
+      GL_VERTEX_SHADER, GST_GLSL_VERSION_NONE,
+      GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+      gst_gl_shader_string_vertex_mat4_vertex_transform);
   if (gl_sink->texture_target == GST_GL_TEXTURE_TARGET_EXTERNAL_OES) {
-    vert_stage = gst_glsl_stage_new_with_string (gl_sink->context,
-        GL_VERTEX_SHADER, GST_GLSL_VERSION_NONE,
-        GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
-        gst_gl_shader_string_vertex_mat4_texture_transform);
     frag_stage = gst_glsl_stage_new_with_string (gl_sink->context,
         GL_FRAGMENT_SHADER, GST_GLSL_VERSION_NONE,
         GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
         gst_gl_shader_string_fragment_external_oes_default);
   } else {
-    vert_stage = gst_glsl_stage_new_default_vertex (gl_sink->context);
     frag_stage = gst_glsl_stage_new_default_fragment (gl_sink->context);
   }
   if (!vert_stage || !frag_stage) {
@@ -1913,8 +2142,17 @@
 
       src.x = 0;
       src.y = 0;
-      src.w = GST_VIDEO_SINK_WIDTH (gl_sink);
-      src.h = GST_VIDEO_SINK_HEIGHT (gl_sink);
+      if (gl_sink->current_rotate_method == GST_GL_ROTATE_METHOD_90R
+          || gl_sink->current_rotate_method == GST_GL_ROTATE_METHOD_90L
+          || gl_sink->current_rotate_method == GST_GL_ROTATE_METHOD_FLIP_UL_LR
+          || gl_sink->current_rotate_method ==
+          GST_GL_ROTATE_METHOD_FLIP_UR_LL) {
+        src.h = GST_VIDEO_SINK_WIDTH (gl_sink);
+        src.w = GST_VIDEO_SINK_HEIGHT (gl_sink);
+      } else {
+        src.w = GST_VIDEO_SINK_WIDTH (gl_sink);
+        src.h = GST_VIDEO_SINK_HEIGHT (gl_sink);
+      }
 
       dst.x = 0;
       dst.y = 0;
@@ -1944,13 +2182,6 @@
   GST_GLIMAGE_SINK_UNLOCK (gl_sink);
 }
 
-static const gfloat identity_matrix[] = {
-  1.0f, 0.0f, 0.0, 0.0f,
-  0.0f, 1.0f, 0.0, 0.0f,
-  0.0f, 0.0f, 1.0, 0.0f,
-  0.0f, 0.0f, 0.0, 1.0f,
-};
-
 static void
 gst_glimage_sink_on_draw (GstGLImageSink * gl_sink)
 {
@@ -2031,18 +2262,21 @@
     gl->ActiveTexture (GL_TEXTURE0);
     gl->BindTexture (gl_target, gl_sink->redisplay_texture);
     gst_gl_shader_set_uniform_1i (gl_sink->redisplay_shader, "tex", 0);
-    if (gl_sink->texture_target == GST_GL_TEXTURE_TARGET_EXTERNAL_OES) {
+    {
       GstVideoAffineTransformationMeta *af_meta;
+      gfloat matrix[16];
 
       af_meta =
           gst_buffer_get_video_affine_transformation_meta
           (gl_sink->stored_buffer[0]);
-      if (af_meta)
-        gst_gl_shader_set_uniform_matrix_4fv (gl_sink->redisplay_shader,
-            "u_transformation", 1, FALSE, af_meta->matrix);
-      else
-        gst_gl_shader_set_uniform_matrix_4fv (gl_sink->redisplay_shader,
-            "u_transformation", 1, FALSE, identity_matrix);
+
+      gst_gl_get_affine_transformation_meta_as_ndc (af_meta, matrix);
+
+      if (gl_sink->transform_matrix)
+        gst_gl_multiply_matrix4 (gl_sink->transform_matrix, matrix, matrix);
+
+      gst_gl_shader_set_uniform_matrix_4fv (gl_sink->redisplay_shader,
+          "u_transformation", 1, FALSE, matrix);
     }
 
     gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
diff --git a/ext/gl/gstglimagesink.h b/ext/gl/gstglimagesink.h
index 6e9b98e..8833103 100644
--- a/ext/gl/gstglimagesink.h
+++ b/ext/gl/gstglimagesink.h
@@ -44,6 +44,19 @@
 #define GST_IS_GLIMAGE_SINK_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_GLIMAGE_SINK))
 
+typedef enum
+{
+  GST_GL_ROTATE_METHOD_IDENTITY,
+  GST_GL_ROTATE_METHOD_90R,
+  GST_GL_ROTATE_METHOD_180,
+  GST_GL_ROTATE_METHOD_90L,
+  GST_GL_ROTATE_METHOD_FLIP_HORIZ,
+  GST_GL_ROTATE_METHOD_FLIP_VERT,
+  GST_GL_ROTATE_METHOD_FLIP_UL_LR,
+  GST_GL_ROTATE_METHOD_FLIP_UR_LL,
+  GST_GL_ROTATE_METHOD_AUTO,
+}GstGLRotateMethod;
+
 typedef struct _GstGLImageSink GstGLImageSink;
 typedef struct _GstGLImageSinkClass GstGLImageSinkClass;
 
@@ -122,6 +135,11 @@
     GstGLStereoDownmix mview_downmix_mode;
 
     GstGLOverlayCompositor *overlay_compositor;
+
+    /* current video flip method */
+    GstGLRotateMethod current_rotate_method;
+    GstGLRotateMethod rotate_method;
+    const gfloat *transform_matrix;
 };
 
 struct _GstGLImageSinkClass
diff --git a/ext/gl/gstglmixer.c b/ext/gl/gstglmixer.c
index 5ca1316..764a53c 100644
--- a/ext/gl/gstglmixer.c
+++ b/ext/gl/gstglmixer.c
@@ -28,10 +28,6 @@
 
 #include "gstglmixer.h"
 
-#if GST_GL_HAVE_PLATFORM_EGL
-#include <gst/gl/egl/gsteglimagememory.h>
-#endif
-
 #define gst_gl_mixer_parent_class parent_class
 G_DEFINE_ABSTRACT_TYPE (GstGLMixer, gst_gl_mixer, GST_TYPE_GL_BASE_MIXER);
 
@@ -380,10 +376,8 @@
   gobject_class->get_property = gst_gl_mixer_get_property;
   gobject_class->set_property = gst_gl_mixer_set_property;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 
   agg_class->sinkpads_type = GST_TYPE_GL_MIXER_PAD;
   agg_class->sink_query = gst_gl_mixer_sink_query;
@@ -606,6 +600,7 @@
   GstGLMixerPad *pad = GST_GL_MIXER_PAD (agg_pad);
   GstGLMixer *mix = GST_GL_MIXER (agg);
 
+  pad->current_texture = 0;
   if (vaggpad->buffer != NULL) {
     GstVideoInfo gl_info;
     GstVideoFrame gl_frame;
diff --git a/ext/gl/gstglmixerbin.c b/ext/gl/gstglmixerbin.c
index 6f83f82..1e6ebeb 100644
--- a/ext/gl/gstglmixerbin.c
+++ b/ext/gl/gstglmixerbin.c
@@ -31,6 +31,36 @@
 GST_DEBUG_CATEGORY (gst_gl_mixer_bin_debug);
 
 #define DEFAULT_LATENCY        0
+#define DEFAULT_START_TIME_SELECTION 0
+#define DEFAULT_START_TIME           (-1)
+
+typedef enum
+{
+  GST_GL_MIXER_BIN_START_TIME_SELECTION_ZERO,
+  GST_GL_MIXER_BIN_START_TIME_SELECTION_FIRST,
+  GST_GL_MIXER_BIN_START_TIME_SELECTION_SET
+} GstGLMixerBinStartTimeSelection;
+
+static GType
+gst_gl_mixer_bin_start_time_selection_get_type (void)
+{
+  static GType gtype = 0;
+
+  if (gtype == 0) {
+    static const GEnumValue values[] = {
+      {GST_GL_MIXER_BIN_START_TIME_SELECTION_ZERO,
+          "Start at 0 running time (default)", "zero"},
+      {GST_GL_MIXER_BIN_START_TIME_SELECTION_FIRST,
+          "Start at first observed input running time", "first"},
+      {GST_GL_MIXER_BIN_START_TIME_SELECTION_SET,
+          "Set start time with start-time property", "set"},
+      {0, NULL, NULL}
+    };
+
+    gtype = g_enum_register_static ("GstGLMixerBinStartTimeSelection", values);
+  }
+  return gtype;
+}
 
 struct input_chain
 {
@@ -82,6 +112,8 @@
   PROP_0,
   PROP_MIXER,
   PROP_LATENCY,
+  PROP_START_TIME_SELECTION,
+  PROP_START_TIME,
 };
 
 enum
@@ -156,6 +188,19 @@
           (G_MAXLONG == G_MAXINT64) ? G_MAXINT64 : (G_MAXLONG * GST_SECOND - 1),
           DEFAULT_LATENCY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
+  g_object_class_install_property (gobject_class, PROP_START_TIME_SELECTION,
+      g_param_spec_enum ("start-time-selection", "Start Time Selection",
+          "Decides which start time is output",
+          gst_gl_mixer_bin_start_time_selection_get_type (),
+          DEFAULT_START_TIME_SELECTION,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class, PROP_START_TIME,
+      g_param_spec_uint64 ("start-time", "Start Time",
+          "Start time to use if start-time-selection=set", 0,
+          G_MAXUINT64,
+          DEFAULT_START_TIME, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
   /**
    * GstMixerBin::create-element:
    * @object: the #GstGLMixerBin
@@ -169,8 +214,7 @@
       G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_generic,
       GST_TYPE_ELEMENT, 0);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
 
   upload_caps = gst_gl_upload_get_input_template_caps ();
   gst_element_class_add_pad_template (element_class,
diff --git a/ext/gl/gstgloverlay.c b/ext/gl/gstgloverlay.c
index fa6c6c1..7ae56d2 100644
--- a/ext/gl/gstgloverlay.c
+++ b/ext/gl/gstgloverlay.c
@@ -702,7 +702,8 @@
       (GST_GL_BASE_FILTER (overlay)->context));
   params =
       gst_gl_video_allocation_params_new (GST_GL_BASE_FILTER (overlay)->context,
-      NULL, &v_info, 0, &v_align, GST_GL_TEXTURE_TARGET_2D);
+      NULL, &v_info, 0, &v_align, GST_GL_TEXTURE_TARGET_2D,
+      GST_VIDEO_GL_TEXTURE_TYPE_RGBA);
   overlay->image_memory = (GstGLMemory *)
       gst_gl_base_memory_alloc (mem_allocator,
       (GstGLAllocationParams *) params);
@@ -817,7 +818,8 @@
       (GST_GL_BASE_FILTER (overlay)->context));
   params =
       gst_gl_video_allocation_params_new (GST_GL_BASE_FILTER (overlay)->context,
-      NULL, &v_info, 0, NULL, GST_GL_TEXTURE_TARGET_2D);
+      NULL, &v_info, 0, NULL, GST_GL_TEXTURE_TARGET_2D,
+      GST_VIDEO_GL_TEXTURE_TYPE_RGBA);
   overlay->image_memory = (GstGLMemory *)
       gst_gl_base_memory_alloc (mem_allocator,
       (GstGLAllocationParams *) params);
diff --git a/ext/gl/gstglsrcbin.c b/ext/gl/gstglsrcbin.c
index 9eb66d3..da74aaa 100644
--- a/ext/gl/gstglsrcbin.c
+++ b/ext/gl/gstglsrcbin.c
@@ -102,8 +102,8 @@
       "Infrastructure to process GL textures",
       "Matthew Waters <matthew@centricular.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_gl_src_bin_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_gl_src_bin_template);
 }
 
 static void
diff --git a/ext/gl/gstglstereomix.c b/ext/gl/gstglstereomix.c
index 989d7f6..663c1b7 100644
--- a/ext/gl/gstglstereomix.c
+++ b/ext/gl/gstglstereomix.c
@@ -150,10 +150,8 @@
           GST_TYPE_GL_STEREO_DOWNMIX_MODE_TYPE, DEFAULT_DOWNMIX,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 
   agg_class->sinkpads_type = GST_TYPE_GL_STEREO_MIX_PAD;
   agg_class->stop = gst_gl_stereo_mix_stop;
diff --git a/ext/gl/gstglstereosplit.c b/ext/gl/gstglstereosplit.c
index eba713c..1eaa440 100644
--- a/ext/gl/gstglstereosplit.c
+++ b/ext/gl/gstglstereosplit.c
@@ -38,10 +38,6 @@
 
 #include "gstglstereosplit.h"
 
-#if GST_GL_HAVE_PLATFORM_EGL
-#include <gst/gl/egl/gsteglimagememory.h>
-#endif
-
 #define GST_CAT_DEFAULT gst_gl_stereosplit_debug
 GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
 
@@ -55,53 +51,21 @@
 static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK, GST_PAD_ALWAYS,
     GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE_WITH_FEATURES
-        (GST_CAPS_FEATURE_MEMORY_GL_MEMORY,
-            "RGBA") "; "
-#if GST_GL_HAVE_PLATFORM_EGL
-        GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_EGL_IMAGE,
-            "RGBA") "; "
-#endif
-        GST_VIDEO_CAPS_MAKE_WITH_FEATURES
-        (GST_CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META, "RGBA") "; "
-        GST_VIDEO_CAPS_MAKE (GST_GL_COLOR_CONVERT_FORMATS)
-    )
+        (GST_CAPS_FEATURE_MEMORY_GL_MEMORY, "RGBA"))
     );
 
 static GstStaticPadTemplate src_left_template = GST_STATIC_PAD_TEMPLATE ("left",
     GST_PAD_SRC, GST_PAD_ALWAYS,
     GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE_WITH_FEATURES
-        (GST_CAPS_FEATURE_MEMORY_GL_MEMORY,
-            "RGBA")
-#if 0
-        "; "
-#if GST_GL_HAVE_PLATFORM_EGL
-        GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_EGL_IMAGE,
-            "RGBA") "; "
-#endif
-        GST_VIDEO_CAPS_MAKE_WITH_FEATURES
-        (GST_CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META, "RGBA") "; "
-        GST_VIDEO_CAPS_MAKE (GST_GL_COLOR_CONVERT_FORMATS)
-#endif
-    )
+        (GST_CAPS_FEATURE_MEMORY_GL_MEMORY, "RGBA"))
     );
 
 static GstStaticPadTemplate src_right_template =
-    GST_STATIC_PAD_TEMPLATE ("right",
+GST_STATIC_PAD_TEMPLATE ("right",
     GST_PAD_SRC, GST_PAD_ALWAYS,
     GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE_WITH_FEATURES
         (GST_CAPS_FEATURE_MEMORY_GL_MEMORY,
-            "RGBA")
-#if 0
-        "; "
-#if GST_GL_HAVE_PLATFORM_EGL
-        GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_EGL_IMAGE,
-            "RGBA") "; "
-#endif
-        GST_VIDEO_CAPS_MAKE_WITH_FEATURES
-        (GST_CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META, "RGBA") "; "
-        GST_VIDEO_CAPS_MAKE (GST_GL_COLOR_CONVERT_FORMATS)
-#endif
-    )
+            "RGBA"))
     );
 
 static void stereosplit_reset (GstGLStereoSplit * self);
@@ -139,12 +103,10 @@
   element_class->change_state = stereosplit_change_state;
   element_class->set_context = stereosplit_set_context;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_left_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_right_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_left_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &src_right_template);
 }
 
 static void
@@ -179,10 +141,6 @@
 static void
 stereosplit_reset (GstGLStereoSplit * self)
 {
-  if (self->upload)
-    gst_object_replace ((GstObject **) & self->upload, NULL);
-  if (self->convert)
-    gst_object_replace ((GstObject **) & self->convert, NULL);
   if (self->context)
     gst_object_replace ((GstObject **) & self->context, NULL);
   if (self->display)
@@ -269,37 +227,9 @@
   if (!ensure_context (self))
     return NULL;
 
-  if (direction == GST_PAD_SINK) {
-    next_caps =
-        gst_gl_upload_transform_caps (self->context, direction, caps, filter);
-    caps = next_caps;
-
-    next_caps =
-        gst_gl_color_convert_transform_caps (self->context, direction, caps,
-        NULL);
-    gst_caps_unref (caps);
-    caps = next_caps;
-
-    next_caps =
-        gst_gl_view_convert_transform_caps (self->viewconvert, direction, caps,
-        NULL);
-    gst_caps_unref (caps);
-  } else {
-    next_caps =
-        gst_gl_view_convert_transform_caps (self->viewconvert, direction, caps,
-        filter);
-    caps = next_caps;
-
-    next_caps =
-        gst_gl_color_convert_transform_caps (self->context, direction, caps,
-        NULL);
-    gst_caps_unref (caps);
-    caps = next_caps;
-
-    next_caps =
-        gst_gl_upload_transform_caps (self->context, direction, caps, NULL);
-    gst_caps_unref (caps);
-  }
+  next_caps =
+      gst_gl_view_convert_transform_caps (self->viewconvert, direction, caps,
+      NULL);
 
   return next_caps;
 }
@@ -453,6 +383,18 @@
     goto fail;
   }
 
+  gst_gl_view_convert_set_context (split->viewconvert, split->context);
+
+  tridcaps = gst_caps_make_writable (tridcaps);
+  gst_caps_set_simple (tridcaps, "multiview-mode", G_TYPE_STRING,
+      "separated", "views", G_TYPE_INT, 2, NULL);
+  tridcaps = gst_caps_fixate (tridcaps);
+
+  if (!gst_gl_view_convert_set_caps (split->viewconvert, sinkcaps, tridcaps)) {
+    GST_ERROR_OBJECT (split, "Failed to set caps on converter");
+    goto fail;
+  }
+
   /* FIXME: Provide left and right caps to do_bufferpool */
   stereosplit_do_bufferpool (split, left);
 
@@ -508,51 +450,6 @@
   return FALSE;
 }
 
-static void
-_init_upload (GstGLStereoSplit * split)
-{
-  GstGLContext *context = split->context;
-
-  if (!split->upload) {
-    GstCaps *in_caps = gst_pad_get_current_caps (GST_PAD (split->sink_pad));
-    GstCaps *split_caps = gst_pad_get_current_caps (split->left_pad);
-    GstCaps *upload_caps = gst_caps_copy (in_caps);
-    GstCapsFeatures *gl_features =
-        gst_caps_features_from_string (GST_CAPS_FEATURE_MEMORY_GL_MEMORY);
-    GstCaps *gl_caps;
-
-    split->upload = gst_gl_upload_new (context);
-
-    gst_caps_set_features (upload_caps, 0,
-        gst_caps_features_copy (gl_features));
-    gst_gl_upload_set_caps (split->upload, in_caps, upload_caps);
-    gst_caps_unref (in_caps);
-
-    gl_caps = gst_caps_copy (upload_caps);
-    gst_caps_set_simple (gl_caps, "format", G_TYPE_STRING, "RGBA", NULL);
-    gst_caps_set_features (gl_caps, 0, gst_caps_features_copy (gl_features));
-
-    if (!split->convert) {
-      split->convert = gst_gl_color_convert_new (context);
-      gst_gl_color_convert_set_caps (split->convert, upload_caps, gl_caps);
-    }
-
-    gst_caps_unref (upload_caps);
-    gst_caps_features_free (gl_features);
-
-    gst_gl_view_convert_set_context (split->viewconvert, split->context);
-
-    split_caps = gst_caps_make_writable (split_caps);
-    gst_caps_set_simple (split_caps, "multiview-mode", G_TYPE_STRING,
-        "separated", "views", G_TYPE_INT, 2, NULL);
-
-    gst_gl_view_convert_set_caps (split->viewconvert, gl_caps, split_caps);
-
-    gst_caps_unref (split_caps);
-    gst_caps_unref (gl_caps);
-  }
-}
-
 static gboolean
 ensure_context (GstGLStereoSplit * self)
 {
@@ -619,10 +516,6 @@
 {
   if (!ensure_context (self))
     return FALSE;
-  if (self->upload)
-    gst_object_replace ((GstObject **) & self->upload, NULL);
-  if (self->convert)
-    gst_object_replace ((GstObject **) & self->convert, NULL);
 
   return TRUE;
 
@@ -635,10 +528,6 @@
   if (!gst_gl_ensure_element_data (self, &self->display, &self->other_context))
     return FALSE;
 
-  _init_upload (self);
-
-  gst_gl_upload_propose_allocation (self->upload, NULL, query);
-
   return TRUE;
 }
 
@@ -666,39 +555,17 @@
 static GstFlowReturn
 stereosplit_chain (GstPad * pad, GstGLStereoSplit * split, GstBuffer * buf)
 {
-  GstBuffer *uploaded_buffer, *converted_buffer, *left, *right;
+  GstBuffer *left, *right;
   GstBuffer *split_buffer = NULL;
   GstFlowReturn ret;
   gint i, n_planes;
 
-  if (!split->upload)
-    _init_upload (split);
-
   n_planes = GST_VIDEO_INFO_N_PLANES (&split->viewconvert->out_info);
 
   GST_LOG_OBJECT (split, "chaining buffer %" GST_PTR_FORMAT, buf);
 
-  if (GST_GL_UPLOAD_DONE != gst_gl_upload_perform_with_buffer (split->upload,
-          buf, &uploaded_buffer)) {
-    gst_buffer_unref (buf);
-    GST_ELEMENT_ERROR (split, RESOURCE, NOT_FOUND, ("%s",
-            "Failed to upload buffer"), (NULL));
-    return GST_FLOW_ERROR;
-  }
-  gst_buffer_unref (buf);
-
-  if (!(converted_buffer =
-          gst_gl_color_convert_perform (split->convert, uploaded_buffer))) {
-    GST_ELEMENT_ERROR (split, RESOURCE, NOT_FOUND, ("%s",
-            "Failed to convert buffer"), (NULL));
-    gst_buffer_unref (uploaded_buffer);
-    return GST_FLOW_ERROR;
-  }
-  gst_buffer_unref (uploaded_buffer);
-
   if (gst_gl_view_convert_submit_input_buffer (split->viewconvert,
-          GST_BUFFER_IS_DISCONT (converted_buffer),
-          converted_buffer) != GST_FLOW_OK) {
+          GST_BUFFER_IS_DISCONT (buf), buf) != GST_FLOW_OK) {
     GST_ELEMENT_ERROR (split, RESOURCE, NOT_FOUND, ("%s",
             "Failed to 3d convert buffer"),
         ("Could not get submit input buffer"));
diff --git a/ext/gl/gstglstereosplit.h b/ext/gl/gstglstereosplit.h
index 5a1e3c6..279bd26 100644
--- a/ext/gl/gstglstereosplit.h
+++ b/ext/gl/gstglstereosplit.h
@@ -49,8 +49,6 @@
   GstGLContext      *context;
   GstGLContext      *other_context;
 
-  GstGLUpload       *upload;
-  GstGLColorConvert *convert;
   GstGLViewConvert    *viewconvert;
 };
 
diff --git a/ext/gl/gstgltestsrc.c b/ext/gl/gstgltestsrc.c
index 95c7321..69c8b33 100644
--- a/ext/gl/gstgltestsrc.c
+++ b/ext/gl/gstgltestsrc.c
@@ -49,7 +49,7 @@
 #include <gst/gst-i18n-plugin.h>
 
 #define USE_PEER_BUFFERALLOC
-#define SUPPORTED_GL_APIS GST_GL_API_OPENGL
+#define SUPPORTED_GL_APIS (GST_GL_API_OPENGL | GST_GL_API_OPENGL3 | GST_GL_API_GLES2)
 
 GST_DEBUG_CATEGORY_STATIC (gl_test_src_debug);
 #define GST_CAT_DEFAULT gl_test_src_debug
@@ -178,8 +178,7 @@
       "Source/Video", "Creates a test video stream",
       "David A. Schleef <ds@schleef.org>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
 
   element_class->set_context = gst_gl_test_src_set_context;
   element_class->change_state = gst_gl_test_src_change_state;
@@ -229,162 +228,10 @@
   return caps;
 }
 
-const gchar *snow_vertex_src = "attribute vec4 position; \
-    attribute vec2 uv; \
-    uniform mat4 mvp; \
-    varying vec2 out_uv; \
-    void main() \
-    { \
-       gl_Position = mvp * position; \
-       out_uv = uv; \
-    }";
-
-const gchar *snow_fragment_src = "uniform float time; \
-    varying vec2 out_uv; \
-    \
-    float rand(vec2 co){ \
-        return fract(sin(dot(co.xy, vec2(12.9898,78.233))) * 43758.5453); \
-    } \
-    void main() \
-    { \
-      gl_FragColor = rand(time * out_uv) * vec4(1); \
-    }";
-
-const gchar *mandelbrot_vertex_src = "attribute vec4 position; \
-    attribute vec2 uv; \
-    uniform mat4 mvp; \
-    uniform float aspect_ratio; \
-    varying vec2 fractal_position; \
-    \
-    void main() \
-    { \
-       gl_Position = mvp * position; \
-       fractal_position = vec2(uv.y - 0.8, aspect_ratio * (uv.x - 0.5)); \
-       fractal_position *= 2.5; \
-    }";
-
-const gchar *mandelbrot_fragment_src = "uniform float time; \
-    varying vec2 fractal_position; \
-    \
-    const vec4 K = vec4(1.0, 0.66, 0.33, 3.0); \
-    \
-    vec4 hsv_to_rgb(float hue, float saturation, float value) { \
-      vec4 p = abs(fract(vec4(hue) + K) * 6.0 - K.wwww); \
-      return value * mix(K.xxxx, clamp(p - K.xxxx, 0.0, 1.0), saturation); \
-    } \
-    \
-    vec4 i_to_rgb(int i) { \
-      float hue = float(i) / 100.0 + sin(time); \
-      return hsv_to_rgb(hue, 0.5, 0.8); \
-    } \
-    \
-    vec2 pow_2_complex(vec2 c) { \
-      return vec2(c.x*c.x - c.y*c.y, 2.0 * c.x * c.y); \
-    } \
-    \
-    vec2 mandelbrot(vec2 c, vec2 c0) { \
-      return pow_2_complex(c) + c0; \
-    } \
-    \
-    vec4 iterate_pixel(vec2 position) { \
-      vec2 c = vec2(0); \
-      for (int i=0; i < 100; i++) { \
-        if (c.x*c.x + c.y*c.y > 2.0*2.0) \
-          return i_to_rgb(i); \
-        c = mandelbrot(c, position); \
-      } \
-      return vec4(0, 0, 0, 1); \
-    } \
-    \
-    void main() { \
-      gl_FragColor = iterate_pixel(fractal_position); \
-    }";
-
-
-const gchar *checkers_vertex_src = "attribute vec4 position; \
-    uniform mat4 mvp; \
-    void main() \
-    { \
-       gl_Position = mvp * position; \
-    }";
-
-const gchar *checkers_fragment_src = "uniform float checker_width; \
-    void main() \
-    { \
-      vec2 xy_index= floor((gl_FragCoord.xy-vec2(0.5,0.5))/checker_width); \
-      vec2 xy_mod=mod(xy_index,vec2(2.0,2.0)); \
-      float result=mod(xy_mod.x+xy_mod.y,2.0); \
-      gl_FragColor.r=step(result,0.5); \
-      gl_FragColor.g=1.0-gl_FragColor.r; \
-      gl_FragColor.ba=vec2(0,1); \
-    }";
-
-
 static void
 gst_gl_test_src_set_pattern (GstGLTestSrc * gltestsrc, gint pattern_type)
 {
-  gltestsrc->pattern_type = pattern_type;
-
-  GST_DEBUG_OBJECT (gltestsrc, "setting pattern to %d", pattern_type);
-
-  switch (pattern_type) {
-    case GST_GL_TEST_SRC_SMPTE:
-      gltestsrc->make_image = gst_gl_test_src_smpte;
-      break;
-    case GST_GL_TEST_SRC_SNOW:
-      gltestsrc->vertex_src = snow_vertex_src;
-      gltestsrc->fragment_src = snow_fragment_src;
-      gltestsrc->make_image = gst_gl_test_src_shader;
-      break;
-    case GST_GL_TEST_SRC_BLACK:
-      gltestsrc->make_image = gst_gl_test_src_black;
-      break;
-    case GST_GL_TEST_SRC_WHITE:
-      gltestsrc->make_image = gst_gl_test_src_white;
-      break;
-    case GST_GL_TEST_SRC_RED:
-      gltestsrc->make_image = gst_gl_test_src_red;
-      break;
-    case GST_GL_TEST_SRC_GREEN:
-      gltestsrc->make_image = gst_gl_test_src_green;
-      break;
-    case GST_GL_TEST_SRC_BLUE:
-      gltestsrc->make_image = gst_gl_test_src_blue;
-      break;
-    case GST_GL_TEST_SRC_CHECKERS1:
-      gltestsrc->vertex_src = checkers_vertex_src;
-      gltestsrc->fragment_src = checkers_fragment_src;
-      gltestsrc->make_image = gst_gl_test_src_checkers1;
-      break;
-    case GST_GL_TEST_SRC_CHECKERS2:
-      gltestsrc->vertex_src = checkers_vertex_src;
-      gltestsrc->fragment_src = checkers_fragment_src;
-      gltestsrc->make_image = gst_gl_test_src_checkers2;
-      break;
-    case GST_GL_TEST_SRC_CHECKERS4:
-      gltestsrc->vertex_src = checkers_vertex_src;
-      gltestsrc->fragment_src = checkers_fragment_src;
-      gltestsrc->make_image = gst_gl_test_src_checkers4;
-      break;
-    case GST_GL_TEST_SRC_CHECKERS8:
-      gltestsrc->vertex_src = checkers_vertex_src;
-      gltestsrc->fragment_src = checkers_fragment_src;
-      gltestsrc->make_image = gst_gl_test_src_checkers8;
-      break;
-    case GST_GL_TEST_SRC_CIRCULAR:
-      gltestsrc->make_image = gst_gl_test_src_circular;
-      break;
-    case GST_GL_TEST_SRC_BLINK:
-      gltestsrc->make_image = gst_gl_test_src_black;
-      break;
-    case GST_GL_TEST_SRC_MANDELBROT:
-      gltestsrc->vertex_src = mandelbrot_vertex_src;
-      gltestsrc->fragment_src = mandelbrot_fragment_src;
-      gltestsrc->make_image = gst_gl_test_src_shader;
-      break;
-    default:
-      g_assert_not_reached ();
-  }
+  gltestsrc->set_pattern = pattern_type;
 }
 
 static void
@@ -416,7 +263,7 @@
 
   switch (prop_id) {
     case PROP_PATTERN:
-      g_value_set_enum (value, src->pattern_type);
+      g_value_set_enum (value, src->set_pattern);
       break;
     case PROP_TIMESTAMP_OFFSET:
       g_value_set_int64 (value, src->timestamp_offset);
@@ -599,10 +446,10 @@
 {
   if (gst_gl_context_get_gl_api (gltestsrc->context)) {
     /* blocking call, wait until the opengl thread has compiled the shader */
-    if (gltestsrc->vertex_src == NULL)
-      return FALSE;
-    return gst_gl_context_gen_shader (gltestsrc->context, gltestsrc->vertex_src,
-        gltestsrc->fragment_src, &gltestsrc->shader);
+//    if (gltestsrc->vertex_src == NULL)
+//      return FALSE;
+//    return gst_gl_context_gen_shader (gltestsrc->context, gltestsrc->vertex_src,
+//        gltestsrc->fragment_src, &gltestsrc->shader);
   }
   return TRUE;
 }
@@ -628,13 +475,6 @@
           && src->n_frames == 1))
     goto eos;
 
-  if (src->pattern_type == GST_GL_TEST_SRC_BLINK) {
-    if (src->n_frames & 0x1)
-      src->make_image = gst_gl_test_src_white;
-    else
-      src->make_image = gst_gl_test_src_black;
-  }
-
   if (!gst_video_frame_map (&out_frame, &src->out_info, buffer,
           GST_MAP_WRITE | GST_MAP_GL)) {
     return GST_FLOW_NOT_NEGOTIATED;
@@ -642,15 +482,15 @@
 
   out_tex = *(guint *) out_frame.data[0];
 
-  gst_buffer_replace (&src->buffer, buffer);
-
   if (!gst_gl_context_use_fbo_v2 (src->context, width, height, src->fbo,
           src->depthbuffer, out_tex, gst_gl_test_src_callback,
           (gpointer) src)) {
-    goto not_negotiated;
+    gst_video_frame_unmap (&out_frame);
+    goto gl_error;
   }
-
   gst_video_frame_unmap (&out_frame);
+  if (!src->gl_result)
+    goto gl_error;
 
   sync_meta = gst_buffer_get_gl_sync_meta (buffer);
   if (sync_meta)
@@ -674,6 +514,12 @@
 
   return GST_FLOW_OK;
 
+gl_error:
+  {
+    GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND, (_("failed to draw pattern")),
+        (_("A GL error occured")));
+    return GST_FLOW_NOT_NEGOTIATED;
+  }
 not_negotiated:
   {
     GST_ELEMENT_ERROR (src, CORE, NEGOTIATION, (NULL),
@@ -722,6 +568,11 @@
     src->context = NULL;
   }
 
+  if (src->src_impl) {
+    src->src_funcs->free (src->src_impl);
+    src->src_impl = NULL;
+  }
+
   return TRUE;
 }
 
@@ -889,12 +740,33 @@
 gst_gl_test_src_callback (gpointer stuff)
 {
   GstGLTestSrc *src = GST_GL_TEST_SRC (stuff);
+  const struct SrcFuncs *funcs;
 
-  src->make_image (src, src->buffer, GST_VIDEO_INFO_WIDTH (&src->out_info),
-      GST_VIDEO_INFO_HEIGHT (&src->out_info));
+  funcs = src->src_funcs;
 
-  gst_buffer_unref (src->buffer);
-  src->buffer = NULL;
+  if (!funcs || src->set_pattern != src->active_pattern) {
+    if (src->src_impl && funcs)
+      funcs->free (src->src_impl);
+    src->src_funcs = funcs =
+        gst_gl_test_src_get_src_funcs_for_pattern (src->set_pattern);
+    if (funcs == NULL) {
+      GST_ERROR_OBJECT (src, "Could not find an implementation of the "
+          "requested pattern");
+      src->gl_result = FALSE;
+      return;
+    }
+    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;
+    }
+    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");
 }
 
 static GstStateChangeReturn
diff --git a/ext/gl/gstgltestsrc.h b/ext/gl/gstgltestsrc.h
index 1c045c7..1b566ad 100644
--- a/ext/gl/gstgltestsrc.h
+++ b/ext/gl/gstgltestsrc.h
@@ -28,6 +28,8 @@
 
 #include <gst/gl/gl.h>
 
+#include "gltestsrc.h"
+
 G_BEGIN_DECLS
 
 #define GST_TYPE_GL_TEST_SRC \
@@ -41,42 +43,6 @@
 #define GST_IS_GL_TEST_SRC_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_GL_TEST_SRC))
 
-/**
- * GstGLTestSrcPattern:
- * @GST_GL_TEST_SRC_SMPTE: A standard SMPTE test pattern
- * @GST_GL_TEST_SRC_SNOW: Random noise
- * @GST_GL_TEST_SRC_BLACK: A black image
- * @GST_GL_TEST_SRC_WHITE: A white image
- * @GST_GL_TEST_SRC_RED: A red image
- * @GST_GL_TEST_SRC_GREEN: A green image
- * @GST_GL_TEST_SRC_BLUE: A blue image
- * @GST_GL_TEST_SRC_CHECKERS1: Checkers pattern (1px)
- * @GST_GL_TEST_SRC_CHECKERS2: Checkers pattern (2px)
- * @GST_GL_TEST_SRC_CHECKERS4: Checkers pattern (4px)
- * @GST_GL_TEST_SRC_CHECKERS8: Checkers pattern (8px)
- * @GST_GL_TEST_SRC_CIRCULAR: Circular pattern
- * @GST_GL_TEST_SRC_BLINK: Alternate between black and white
- *
- * The test pattern to produce.
- */
-typedef enum {
-    GST_GL_TEST_SRC_SMPTE,
-    GST_GL_TEST_SRC_SNOW,
-    GST_GL_TEST_SRC_BLACK,
-    GST_GL_TEST_SRC_WHITE,
-    GST_GL_TEST_SRC_RED,
-    GST_GL_TEST_SRC_GREEN,
-    GST_GL_TEST_SRC_BLUE,
-    GST_GL_TEST_SRC_CHECKERS1,
-    GST_GL_TEST_SRC_CHECKERS2,
-    GST_GL_TEST_SRC_CHECKERS4,
-    GST_GL_TEST_SRC_CHECKERS8,
-    GST_GL_TEST_SRC_CIRCULAR,
-    GST_GL_TEST_SRC_BLINK,
-    GST_GL_TEST_SRC_MANDELBROT
-} GstGLTestSrcPattern;
-
-typedef struct _GstGLTestSrc GstGLTestSrc;
 typedef struct _GstGLTestSrcClass GstGLTestSrcClass;
 
 /**
@@ -90,10 +56,10 @@
     /*< private >*/
 
     /* type of output */
-    GstGLTestSrcPattern pattern_type;
+    GstGLTestSrcPattern set_pattern;
+    GstGLTestSrcPattern active_pattern;
 
     /* video state */
-    char *format_name;
     GstVideoInfo out_info;
 
     GLuint fbo;
@@ -101,7 +67,6 @@
 
     GstGLShader *shader;
 
-    GstBuffer* buffer;
     GstBufferPool *pool;
 
     GstGLDisplay *display;
@@ -111,10 +76,9 @@
     gint64 n_frames;                      /* total frames sent */
     gboolean negotiated;
 
-    const gchar *vertex_src;
-    const gchar *fragment_src;
-
-    void (*make_image) (GstGLTestSrc* v, GstBuffer* buffer, gint w, gint h);
+    gboolean gl_result;
+    const struct SrcFuncs *src_funcs;
+    gpointer src_impl;
 
     GstCaps *out_caps;
 };
diff --git a/ext/gl/gstgltransformation.c b/ext/gl/gstgltransformation.c
index 779447c..b303d0c 100644
--- a/ext/gl/gstgltransformation.c
+++ b/ext/gl/gstgltransformation.c
@@ -89,6 +89,10 @@
     GstCaps * incaps, GstCaps * outcaps);
 static gboolean gst_gl_transformation_src_event (GstBaseTransform * trans,
     GstEvent * event);
+static gboolean gst_gl_transformation_filter_meta (GstBaseTransform * trans,
+    GstQuery * query, GType api, const GstStructure * params);
+static gboolean gst_gl_transformation_decide_allocation (GstBaseTransform *
+    trans, GstQuery * query);
 
 static void gst_gl_transformation_reset_gl (GstGLFilter * filter);
 static gboolean gst_gl_transformation_stop (GstBaseTransform * trans);
@@ -97,33 +101,14 @@
 static void gst_gl_transformation_build_mvp (GstGLTransformation *
     transformation);
 
+static GstFlowReturn
+gst_gl_transformation_prepare_output_buffer (GstBaseTransform * trans,
+    GstBuffer * inbuf, GstBuffer ** outbuf);
+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);
 
-/* vertex source */
-static const gchar *cube_v_src =
-    "attribute vec4 position;                     \n"
-    "attribute vec2 uv;                           \n"
-    "uniform mat4 mvp;                            \n"
-    "varying vec2 out_uv;                         \n"
-    "void main()                                  \n"
-    "{                                            \n"
-    "   gl_Position = mvp * position;             \n"
-    "   out_uv = uv;                              \n"
-    "}                                            \n";
-
-/* fragment source */
-static const gchar *cube_f_src =
-    "#ifdef GL_ES                                 \n"
-    "  precision mediump float;                   \n"
-    "#endif                                       \n"
-    "varying vec2 out_uv;                         \n"
-    "uniform sampler2D texture;                   \n"
-    "void main()                                  \n"
-    "{                                            \n"
-    "  gl_FragColor = texture2D (texture, out_uv);\n"
-    "}                                            \n";
-
 static void
 gst_gl_transformation_class_init (GstGLTransformationClass * klass)
 {
@@ -139,14 +124,20 @@
   gobject_class->get_property = gst_gl_transformation_get_property;
 
   base_transform_class->src_event = gst_gl_transformation_src_event;
+  base_transform_class->decide_allocation =
+      gst_gl_transformation_decide_allocation;
+  base_transform_class->filter_meta = gst_gl_transformation_filter_meta;
 
   GST_GL_FILTER_CLASS (klass)->init_fbo = gst_gl_transformation_init_shader;
   GST_GL_FILTER_CLASS (klass)->display_reset_cb =
       gst_gl_transformation_reset_gl;
   GST_GL_FILTER_CLASS (klass)->set_caps = gst_gl_transformation_set_caps;
+  GST_GL_FILTER_CLASS (klass)->filter = gst_gl_transformation_filter;
   GST_GL_FILTER_CLASS (klass)->filter_texture =
       gst_gl_transformation_filter_texture;
   GST_BASE_TRANSFORM_CLASS (klass)->stop = gst_gl_transformation_stop;
+  GST_BASE_TRANSFORM_CLASS (klass)->prepare_output_buffer =
+      gst_gl_transformation_prepare_output_buffer;
 
   g_object_class_install_property (gobject_class, PROP_FOV,
       g_param_spec_float ("fov", "Fov", "Field of view angle in degrees",
@@ -212,14 +203,14 @@
   g_object_class_install_property (gobject_class, PROP_PIVOT_X,
       g_param_spec_float ("pivot-x", "X Pivot",
           "Rotation pivot point X coordinate, where 0 is the center,"
-          " -1 the lef +1 the right boarder and <-1, >1 outside.",
+          " -1 the left border, +1 the right border and <-1, >1 outside.",
           -G_MAXFLOAT, G_MAXFLOAT, 0.0,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   g_object_class_install_property (gobject_class, PROP_PIVOT_Y,
       g_param_spec_float ("pivot-y", "Y Pivot",
           "Rotation pivot point X coordinate, where 0 is the center,"
-          " -1 the lef +1 the right boarder and <-1, >1 outside.",
+          " -1 the left border, +1 the right border and <-1, >1 outside.",
           -G_MAXFLOAT, G_MAXFLOAT, 0.0,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
@@ -227,7 +218,7 @@
       g_param_spec_float ("pivot-z", "Z Pivot",
           "Relevant for rotation in 3D space. You look into the negative Z axis direction",
           -G_MAXFLOAT, G_MAXFLOAT, 0.0,
-          G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /* MVP */
   g_object_class_install_property (gobject_class, PROP_MVP,
@@ -627,6 +618,39 @@
   return ret;
 }
 
+static gboolean
+gst_gl_transformation_filter_meta (GstBaseTransform * trans, GstQuery * query,
+    GType api, const GstStructure * params)
+{
+  if (api == GST_VIDEO_AFFINE_TRANSFORMATION_META_API_TYPE)
+    return TRUE;
+
+  if (api == GST_GL_SYNC_META_API_TYPE)
+    return TRUE;
+
+  return FALSE;
+}
+
+static gboolean
+gst_gl_transformation_decide_allocation (GstBaseTransform * trans,
+    GstQuery * query)
+{
+  GstGLTransformation *transformation = GST_GL_TRANSFORMATION (trans);
+
+  if (!GST_BASE_TRANSFORM_CLASS (parent_class)->decide_allocation (trans,
+          query))
+    return FALSE;
+
+  if (gst_query_find_allocation_meta (query,
+          GST_VIDEO_AFFINE_TRANSFORMATION_META_API_TYPE, NULL)) {
+    transformation->downstream_supports_affine_meta = TRUE;
+  } else {
+    transformation->downstream_supports_affine_meta = FALSE;
+  }
+
+  return TRUE;
+}
+
 static void
 gst_gl_transformation_reset_gl (GstGLFilter * filter)
 {
@@ -682,11 +706,81 @@
   if (gst_gl_context_get_gl_api (GST_GL_BASE_FILTER (filter)->context)) {
     /* blocking call, wait until the opengl thread has compiled the shader */
     return gst_gl_context_gen_shader (GST_GL_BASE_FILTER (filter)->context,
-        cube_v_src, cube_f_src, &transformation->shader);
+        gst_gl_shader_string_vertex_mat4_vertex_transform,
+        gst_gl_shader_string_fragment_default, &transformation->shader);
   }
   return TRUE;
 }
 
+static const gfloat from_ndc_matrix[] = {
+  0.5f, 0.0f, 0.0, 0.5f,
+  0.0f, 0.5f, 0.0, 0.5f,
+  0.0f, 0.0f, 0.5, 0.5f,
+  0.0f, 0.0f, 0.0, 1.0f,
+};
+
+static const gfloat to_ndc_matrix[] = {
+  2.0f, 0.0f, 0.0, -1.0f,
+  0.0f, 2.0f, 0.0, -1.0f,
+  0.0f, 0.0f, 2.0, -1.0f,
+  0.0f, 0.0f, 0.0, 1.0f,
+};
+
+static GstFlowReturn
+gst_gl_transformation_prepare_output_buffer (GstBaseTransform * trans,
+    GstBuffer * inbuf, GstBuffer ** outbuf)
+{
+  GstGLTransformation *transformation = GST_GL_TRANSFORMATION (trans);
+  GstGLFilter *filter = GST_GL_FILTER (trans);
+
+  if (transformation->downstream_supports_affine_meta &&
+      gst_video_info_is_equal (&filter->in_info, &filter->out_info)) {
+    GstVideoAffineTransformationMeta *af_meta;
+    graphene_matrix_t upstream_matrix, from_ndc, to_ndc, tmp, tmp2, inv_aspect;
+
+    *outbuf = gst_buffer_make_writable (inbuf);
+
+    af_meta = gst_buffer_get_video_affine_transformation_meta (inbuf);
+    if (!af_meta)
+      af_meta = gst_buffer_add_video_affine_transformation_meta (*outbuf);
+
+    GST_LOG_OBJECT (trans, "applying transformation to existing affine "
+        "transformation meta");
+
+    /* apply the transformation to the existing affine meta */
+    graphene_matrix_init_from_float (&from_ndc, from_ndc_matrix);
+    graphene_matrix_init_from_float (&to_ndc, to_ndc_matrix);
+    graphene_matrix_init_from_float (&upstream_matrix, af_meta->matrix);
+
+    graphene_matrix_init_scale (&inv_aspect, transformation->aspect, 1., 1.);
+
+    graphene_matrix_multiply (&from_ndc, &upstream_matrix, &tmp);
+    graphene_matrix_multiply (&tmp, &transformation->mvp_matrix, &tmp2);
+    graphene_matrix_multiply (&tmp2, &inv_aspect, &tmp);
+    graphene_matrix_multiply (&tmp, &to_ndc, &tmp2);
+
+    graphene_matrix_to_float (&tmp2, af_meta->matrix);
+    return GST_FLOW_OK;
+  }
+
+  return GST_BASE_TRANSFORM_CLASS (parent_class)->prepare_output_buffer (trans,
+      inbuf, outbuf);
+}
+
+static gboolean
+gst_gl_transformation_filter (GstGLFilter * filter,
+    GstBuffer * inbuf, GstBuffer * outbuf)
+{
+  GstGLTransformation *transformation = GST_GL_TRANSFORMATION (filter);
+
+  if (transformation->downstream_supports_affine_meta &&
+      gst_video_info_is_equal (&filter->in_info, &filter->out_info)) {
+    return TRUE;
+  } else {
+    return gst_gl_filter_filter_texture (filter, inbuf, outbuf);
+  }
+}
+
 static gboolean
 gst_gl_transformation_filter_texture (GstGLFilter * filter, guint in_tex,
     guint out_tex)
@@ -784,16 +878,17 @@
   gst_gl_shader_set_uniform_1i (transformation->shader, "texture", 0);
 
   graphene_matrix_to_float (&transformation->mvp_matrix, temp_matrix);
-  gst_gl_shader_set_uniform_matrix_4fv (transformation->shader, "mvp",
-      1, GL_FALSE, temp_matrix);
+  gst_gl_shader_set_uniform_matrix_4fv (transformation->shader,
+      "u_transformation", 1, GL_FALSE, temp_matrix);
 
   if (!transformation->vertex_buffer) {
     transformation->attr_position =
         gst_gl_shader_get_attribute_location (transformation->shader,
-        "position");
+        "a_position");
 
     transformation->attr_texture =
-        gst_gl_shader_get_attribute_location (transformation->shader, "uv");
+        gst_gl_shader_get_attribute_location (transformation->shader,
+        "a_texcoord");
 
     if (gl->GenVertexArrays) {
       gl->GenVertexArrays (1, &transformation->vao);
diff --git a/ext/gl/gstgltransformation.h b/ext/gl/gstgltransformation.h
index 7d41c61..ed75ff6 100644
--- a/ext/gl/gstgltransformation.h
+++ b/ext/gl/gstgltransformation.h
@@ -76,6 +76,7 @@
     graphene_matrix_t projection_matrix;
     graphene_matrix_t mvp_matrix;
 
+    gboolean downstream_supports_affine_meta;
     gboolean caps_change;
 };
 
diff --git a/ext/gl/gstgluploadelement.c b/ext/gl/gstgluploadelement.c
index 86e8b01..b65c0c4 100644
--- a/ext/gl/gstgluploadelement.c
+++ b/ext/gl/gstgluploadelement.c
@@ -80,8 +80,8 @@
 
   bt_class->passthrough_on_same_caps = TRUE;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_gl_upload_element_src_pad_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_gl_upload_element_src_pad_template);
 
   upload_caps = gst_gl_upload_get_input_template_caps ();
   gst_element_class_add_pad_template (element_class,
diff --git a/ext/gl/gstglvideoflip.c b/ext/gl/gstglvideoflip.c
index caae79e..690396d 100644
--- a/ext/gl/gstglvideoflip.c
+++ b/ext/gl/gstglvideoflip.c
@@ -133,10 +133,8 @@
           GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
           G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&_sink_template));
+  gst_element_class_add_static_pad_template (element_class, &_src_template);
+  gst_element_class_add_static_pad_template (element_class, &_sink_template);
 
   gst_element_class_set_metadata (element_class, "OpenGL video flip filter",
       "Filter/Effect/Video", "Flip video on the GPU",
diff --git a/ext/gl/gstglvideomixer.c b/ext/gl/gstglvideomixer.c
index e27ebc0..83905d0 100644
--- a/ext/gl/gstglvideomixer.c
+++ b/ext/gl/gstglvideomixer.c
@@ -43,6 +43,8 @@
 #include "config.h"
 #endif
 
+#include <gst/video/gstvideoaffinetransformationmeta.h>
+
 #include "gstglvideomixer.h"
 #include "gstglmixerbin.h"
 
@@ -452,6 +454,7 @@
 #define DEBUG_INIT \
     GST_DEBUG_CATEGORY_INIT (gst_gl_video_mixer_debug, "glvideomixer", 0, "glvideomixer element");
 
+#define gst_gl_video_mixer_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstGLVideoMixer, gst_gl_video_mixer, GST_TYPE_GL_MIXER,
     DEBUG_INIT);
 
@@ -463,6 +466,9 @@
 static GstCaps *_update_caps (GstVideoAggregator * vagg, GstCaps * caps,
     GstCaps * filter);
 static GstCaps *_fixate_caps (GstVideoAggregator * vagg, GstCaps * caps);
+static gboolean gst_gl_video_mixer_propose_allocation (GstGLBaseMixer *
+    base_mix, GstGLBaseMixerPad * base_pad, GstQuery * decide_query,
+    GstQuery * query);
 static void gst_gl_video_mixer_reset (GstGLMixer * mixer);
 static gboolean gst_gl_video_mixer_init_shader (GstGLMixer * mixer,
     GstCaps * outcaps);
@@ -472,15 +478,6 @@
 static void gst_gl_video_mixer_callback (gpointer stuff);
 
 /* *INDENT-OFF* */
-/* vertex source */
-static const gchar *video_mixer_v_src =
-    "attribute vec4 a_position;                                   \n"
-    "attribute vec2 a_texCoord;                                   \n"
-    "varying vec2 v_texCoord;                                     \n"
-    "void main()                                                  \n"
-    "{                                                            \n"
-    "   gl_Position = a_position;                                 \n"
-    "   v_texCoord = a_texCoord;                                  \n" "}";
 
 /* fragment source */
 static const gchar *video_mixer_f_src =
@@ -489,10 +486,10 @@
     "#endif\n"
     "uniform sampler2D texture;                     \n"
     "uniform float alpha;\n"
-    "varying vec2 v_texCoord;                            \n"
+    "varying vec2 v_texcoord;                            \n"
     "void main()                                         \n"
     "{                                                   \n"
-    "  vec4 rgba = texture2D( texture, v_texCoord );\n"
+    "  vec4 rgba = texture2D(texture, v_texcoord);\n"
     "  gl_FragColor = vec4(rgba.rgb, rgba.a * alpha);\n"
     "}                                                   \n";
 
@@ -863,6 +860,7 @@
   GstElementClass *element_class;
   GstAggregatorClass *agg_class = (GstAggregatorClass *) klass;
   GstVideoAggregatorClass *vagg_class = (GstVideoAggregatorClass *) klass;
+  GstGLBaseMixerClass *mix_class = GST_GL_BASE_MIXER_CLASS (klass);
 
   gobject_class = (GObjectClass *) klass;
   element_class = GST_ELEMENT_CLASS (klass);
@@ -890,6 +888,8 @@
 
   agg_class->sinkpads_type = GST_TYPE_GL_VIDEO_MIXER_PAD;
 
+  mix_class->propose_allocation = gst_gl_video_mixer_propose_allocation;
+
   GST_GL_BASE_MIXER_CLASS (klass)->supported_gl_api =
       GST_GL_API_OPENGL | GST_GL_API_OPENGL3 | GST_GL_API_GLES2;
 }
@@ -933,6 +933,20 @@
   }
 }
 
+static gboolean
+gst_gl_video_mixer_propose_allocation (GstGLBaseMixer * base_mix,
+    GstGLBaseMixerPad * base_pad, GstQuery * decide_query, GstQuery * query)
+{
+  if (!GST_GL_BASE_MIXER_CLASS (parent_class)->propose_allocation (base_mix,
+          base_pad, decide_query, query))
+    return FALSE;
+
+  gst_query_add_allocation_meta (query,
+      GST_VIDEO_AFFINE_TRANSFORMATION_META_API_TYPE, 0);
+
+  return TRUE;
+}
+
 static void
 _mixer_pad_get_output_size (GstGLVideoMixer * mix,
     GstGLVideoMixerPad * mix_pad, gint out_par_n, gint out_par_d, gint * width,
@@ -1137,7 +1151,8 @@
         video_mixer->shader);
 
   return gst_gl_context_gen_shader (GST_GL_BASE_MIXER (mixer)->context,
-      video_mixer_v_src, video_mixer_f_src, &video_mixer->shader);
+      gst_gl_shader_string_vertex_mat4_vertex_transform,
+      video_mixer_f_src, &video_mixer->shader);
 }
 
 static gboolean
@@ -1403,7 +1418,7 @@
   attr_position_loc =
       gst_gl_shader_get_attribute_location (video_mixer->shader, "a_position");
   attr_texture_loc =
-      gst_gl_shader_get_attribute_location (video_mixer->shader, "a_texCoord");
+      gst_gl_shader_get_attribute_location (video_mixer->shader, "a_texcoord");
 
   gl->Enable (GL_BLEND);
 
@@ -1412,6 +1427,7 @@
   while (walk) {
     GstGLMixerPad *mix_pad = walk->data;
     GstGLVideoMixerPad *pad = walk->data;
+    GstVideoAggregatorPad *vagg_pad = walk->data;
     GstVideoInfo *v_info;
     guint in_tex;
     guint in_width, in_height;
@@ -1491,6 +1507,17 @@
     gst_gl_shader_set_uniform_1i (video_mixer->shader, "texture", 0);
     gst_gl_shader_set_uniform_1f (video_mixer->shader, "alpha", pad->alpha);
 
+    {
+      GstVideoAffineTransformationMeta *af_meta;
+      gfloat matrix[16];
+
+      af_meta =
+          gst_buffer_get_video_affine_transformation_meta (vagg_pad->buffer);
+      gst_gl_get_affine_transformation_meta_as_ndc (af_meta, matrix);
+      gst_gl_shader_set_uniform_matrix_4fv (video_mixer->shader,
+          "u_transformation", 1, FALSE, matrix);
+    }
+
     gl->EnableVertexAttribArray (attr_position_loc);
     gl->EnableVertexAttribArray (attr_texture_loc);
 
diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c
index 50676c4..9bd754d 100644
--- a/ext/gl/gstopengl.c
+++ b/ext/gl/gstopengl.c
@@ -62,6 +62,8 @@
 #include "gstglstereosplit.h"
 #include "gstglstereomix.h"
 #include "gstglviewconvert.h"
+#include "gstgltestsrc.h"
+#include "gstgldeinterlace.h"
 
 #if HAVE_GRAPHENE
 #include "gstgltransformation.h"
@@ -74,10 +76,8 @@
 #endif /* HAVE_JPEG */
 
 #if GST_GL_HAVE_OPENGL
-#include "gstgltestsrc.h"
 #include "gstglfilterglass.h"
 /* #include "gstglfilterreflectedscreen.h" */
-#include "gstgldeinterlace.h"
 #include "gstglmosaic.h"
 #if HAVE_PNG
 #include "gstgldifferencematte.h"
@@ -226,6 +226,17 @@
           GST_RANK_NONE, GST_TYPE_GL_STEREO_MIX)) {
     return FALSE;
   }
+
+  if (!gst_element_register (plugin, "gltestsrc",
+          GST_RANK_NONE, GST_TYPE_GL_TEST_SRC)) {
+    return FALSE;
+  }
+
+  if (!gst_element_register (plugin, "gldeinterlace",
+          GST_RANK_NONE, GST_TYPE_GL_DEINTERLACE)) {
+    return FALSE;
+  }
+
 #if HAVE_JPEG
 #if HAVE_PNG
   if (!gst_element_register (plugin, "gloverlay",
@@ -235,11 +246,6 @@
 #endif /* HAVE_PNG */
 #endif /* HAVE_JPEG */
 #if GST_GL_HAVE_OPENGL
-  if (!gst_element_register (plugin, "gltestsrc",
-          GST_RANK_NONE, GST_TYPE_GL_TEST_SRC)) {
-    return FALSE;
-  }
-
   if (!gst_element_register (plugin, "glfilterglass",
           GST_RANK_NONE, GST_TYPE_GL_FILTER_GLASS)) {
     return FALSE;
@@ -250,11 +256,6 @@
     return FALSE;
   }
 #endif
-  if (!gst_element_register (plugin, "gldeinterlace",
-          GST_RANK_NONE, GST_TYPE_GL_DEINTERLACE)) {
-    return FALSE;
-  }
-
   if (!gst_element_register (plugin, "glmosaic",
           GST_RANK_NONE, GST_TYPE_GL_MOSAIC)) {
     return FALSE;
diff --git a/ext/gme/Makefile.in b/ext/gme/Makefile.in
index 1f4bc08..969a974 100644
--- a/ext/gme/Makefile.in
+++ b/ext/gme/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/gme/gstgme.c b/ext/gme/gstgme.c
index 1e149ac..1c5c83c 100644
--- a/ext/gme/gstgme.c
+++ b/ext/gme/gstgme.c
@@ -92,10 +92,8 @@
       "Chris Lee <clee@kde.org>, Brian Koropoff <bkoropoff@gmail.com>, "
       "Michael Pyne <mpyne@kde.org>, Sebastian Dröge <sebastian.droege@collabora.co.uk>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
 
   element_class->change_state = GST_DEBUG_FUNCPTR (gst_gme_dec_change_state);
 }
diff --git a/ext/gsm/Makefile.in b/ext/gsm/Makefile.in
index 1313c41..9f42e3e 100644
--- a/ext/gsm/Makefile.in
+++ b/ext/gsm/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/gsm/gstgsmdec.c b/ext/gsm/gstgsmdec.c
index e02631f..0f3e49f 100644
--- a/ext/gsm/gstgsmdec.c
+++ b/ext/gsm/gstgsmdec.c
@@ -84,13 +84,13 @@
   element_class = (GstElementClass *) klass;
   base_class = (GstAudioDecoderClass *) klass;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gsmdec_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gsmdec_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gsmdec_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gsmdec_src_template);
   gst_element_class_set_static_metadata (element_class, "GSM audio decoder",
-      "Codec/Decoder/Audio",
-      "Decodes GSM encoded audio", "Philippe Khalaf <burger@speedy.org>");
+      "Codec/Decoder/Audio", "Decodes GSM encoded audio",
+      "Philippe Khalaf <burger@speedy.org>");
 
   base_class->start = GST_DEBUG_FUNCPTR (gst_gsmdec_start);
   base_class->stop = GST_DEBUG_FUNCPTR (gst_gsmdec_stop);
diff --git a/ext/gsm/gstgsmenc.c b/ext/gsm/gstgsmenc.c
index 54ede2e..11c3d74 100644
--- a/ext/gsm/gstgsmenc.c
+++ b/ext/gsm/gstgsmenc.c
@@ -78,13 +78,13 @@
   element_class = (GstElementClass *) klass;
   base_class = (GstAudioEncoderClass *) klass;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gsmenc_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gsmenc_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gsmenc_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gsmenc_src_template);
   gst_element_class_set_static_metadata (element_class, "GSM audio encoder",
-      "Codec/Encoder/Audio",
-      "Encodes GSM audio", "Philippe Khalaf <burger@speedy.org>");
+      "Codec/Encoder/Audio", "Encodes GSM audio",
+      "Philippe Khalaf <burger@speedy.org>");
 
   base_class->start = GST_DEBUG_FUNCPTR (gst_gsmenc_start);
   base_class->stop = GST_DEBUG_FUNCPTR (gst_gsmenc_stop);
diff --git a/ext/gtk/Makefile.in b/ext/gtk/Makefile.in
index 2e93d6c..5bc0735 100644
--- a/ext/gtk/Makefile.in
+++ b/ext/gtk/Makefile.in
@@ -316,6 +316,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -531,6 +533,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -657,8 +661,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -703,6 +705,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/gtk/gstgtkglsink.c b/ext/gtk/gstgtkglsink.c
index 5f36fa2..4081754 100644
--- a/ext/gtk/gstgtkglsink.c
+++ b/ext/gtk/gstgtkglsink.c
@@ -80,8 +80,8 @@
       "Sink/Video", "A video sink that renders to a GtkWidget using OpenGL",
       "Matthew Waters <matthew@centricular.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_gtk_gl_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_gtk_gl_sink_template);
 }
 
 static void
diff --git a/ext/gtk/gstgtksink.c b/ext/gtk/gstgtksink.c
index 950beab..e9f9d0c 100644
--- a/ext/gtk/gstgtksink.c
+++ b/ext/gtk/gstgtksink.c
@@ -67,8 +67,8 @@
       "Sink/Video", "A video sink that renders to a GtkWidget",
       "Matthew Waters <matthew@centricular.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_gtk_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_gtk_sink_template);
 }
 
 static void
diff --git a/ext/hls/Makefile.in b/ext/hls/Makefile.in
index dded051..d6d3533 100644
--- a/ext/hls/Makefile.in
+++ b/ext/hls/Makefile.in
@@ -308,6 +308,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -523,6 +525,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -649,8 +653,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -695,6 +697,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/hls/gsthlsdemux.c b/ext/hls/gsthlsdemux.c
index cf51d99..14e8819 100644
--- a/ext/hls/gsthlsdemux.c
+++ b/ext/hls/gsthlsdemux.c
@@ -92,7 +92,7 @@
 static GstFlowReturn gst_hls_demux_finish_fragment (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream);
 static GstFlowReturn gst_hls_demux_data_received (GstAdaptiveDemux * demux,
-    GstAdaptiveDemuxStream * stream);
+    GstAdaptiveDemuxStream * stream, GstBuffer * buffer);
 static gboolean gst_hls_demux_stream_has_next_fragment (GstAdaptiveDemuxStream *
     stream);
 static GstFlowReturn gst_hls_demux_advance_fragment (GstAdaptiveDemuxStream *
@@ -114,6 +114,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_OBJECT_CLASS (parent_class)->finalize (obj);
@@ -134,11 +135,8 @@
 
   element_class->change_state = GST_DEBUG_FUNCPTR (gst_hls_demux_change_state);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&srctemplate));
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (element_class, &srctemplate);
+  gst_element_class_add_static_pad_template (element_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (element_class,
       "HLS Demuxer",
@@ -175,6 +173,7 @@
 gst_hls_demux_init (GstHLSDemux * demux)
 {
   demux->do_typefind = TRUE;
+  demux->pending_encrypted_data = gst_adapter_new ();
 }
 
 static GstStateChangeReturn
@@ -230,6 +229,16 @@
   return 0;
 }
 
+static void
+gst_hls_demux_clear_pending_data (GstHLSDemux * hlsdemux)
+{
+  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;
+}
+
 static gboolean
 gst_hls_demux_seek (GstAdaptiveDemux * demux, GstEvent * seek)
 {
@@ -254,7 +263,7 @@
 
   /* properly cleanup pending decryption status */
   if (flags & GST_SEEK_FLAG_FLUSH) {
-    gst_hls_demux_decrypt_end (hlsdemux);
+    gst_hls_demux_clear_pending_data (hlsdemux);
   }
 
   /* Use I-frame variants for trick modes */
@@ -383,6 +392,7 @@
   GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (demux);
 
   /* only 1 output supported */
+  gst_hls_demux_clear_pending_data (hlsdemux);
   gst_adaptive_demux_stream_new (demux, gst_hls_demux_create_pad (hlsdemux));
 
   hlsdemux->reset_pts = TRUE;
@@ -512,6 +522,8 @@
     g_object_unref (key_fragment);
   }
 
+  gst_hls_demux_clear_pending_data (hlsdemux);
+
   return TRUE;
 
 key_failed:
@@ -523,6 +535,7 @@
   }
 }
 
+/* Handles decrypted buffers only */
 static GstFlowReturn
 gst_hls_demux_handle_buffer (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream, GstBuffer * buffer, gboolean force)
@@ -535,6 +548,10 @@
     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;
+
     gst_buffer_map (buffer, &info, GST_MAP_READ);
     buffer_size = info.size;
 
@@ -556,11 +573,7 @@
         gst_buffer_unref (buffer);
         return GST_FLOW_NOT_NEGOTIATED;
       } else {
-        if (hlsdemux->pending_buffer)
-          hlsdemux->pending_buffer =
-              gst_buffer_append (buffer, hlsdemux->pending_buffer);
-        else
-          hlsdemux->pending_buffer = buffer;
+        hlsdemux->pending_typefind_buffer = buffer;
         return GST_FLOW_OK;
       }
     }
@@ -572,8 +585,15 @@
     hlsdemux->do_typefind = FALSE;
   }
 
-  if (buffer)
+  g_assert (hlsdemux->pending_typefind_buffer == NULL);
+
+  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;
     return gst_adaptive_demux_stream_push_buffer (stream, buffer);
+  }
   return GST_FLOW_OK;
 }
 
@@ -587,36 +607,29 @@
   if (hlsdemux->current_key)
     gst_hls_demux_decrypt_end (hlsdemux);
 
-  /* ideally this should be empty, but this eos might have been
-   * caused by an error on the source element */
-  GST_DEBUG_OBJECT (demux, "Data still on the adapter when EOS was received"
-      ": %" G_GSIZE_FORMAT, gst_adapter_available (stream->adapter));
-  gst_adapter_clear (stream->adapter);
-
   if (stream->last_ret == GST_FLOW_OK) {
-    if (hlsdemux->pending_buffer) {
+    if (hlsdemux->pending_decrypted_buffer) {
       if (hlsdemux->current_key) {
         GstMapInfo info;
         gssize unpadded_size;
 
         /* Handle pkcs7 unpadding here */
-        gst_buffer_map (hlsdemux->pending_buffer, &info, GST_MAP_READ);
+        gst_buffer_map (hlsdemux->pending_decrypted_buffer, &info,
+            GST_MAP_READ);
         unpadded_size = info.size - info.data[info.size - 1];
-        gst_buffer_unmap (hlsdemux->pending_buffer, &info);
+        gst_buffer_unmap (hlsdemux->pending_decrypted_buffer, &info);
 
-        gst_buffer_resize (hlsdemux->pending_buffer, 0, unpadded_size);
+        gst_buffer_resize (hlsdemux->pending_decrypted_buffer, 0,
+            unpadded_size);
       }
 
       ret =
-          gst_hls_demux_handle_buffer (demux, stream, hlsdemux->pending_buffer,
-          TRUE);
-      hlsdemux->pending_buffer = NULL;
+          gst_hls_demux_handle_buffer (demux, stream,
+          hlsdemux->pending_decrypted_buffer, TRUE);
+      hlsdemux->pending_decrypted_buffer = NULL;
     }
-  } else {
-    if (hlsdemux->pending_buffer)
-      gst_buffer_unref (hlsdemux->pending_buffer);
-    hlsdemux->pending_buffer = NULL;
   }
+  gst_hls_demux_clear_pending_data (hlsdemux);
 
   if (ret == GST_FLOW_OK || ret == GST_FLOW_NOT_LINKED)
     return gst_adaptive_demux_stream_advance_fragment (demux, stream,
@@ -626,27 +639,31 @@
 
 static GstFlowReturn
 gst_hls_demux_data_received (GstAdaptiveDemux * demux,
-    GstAdaptiveDemuxStream * stream)
+    GstAdaptiveDemuxStream * stream, GstBuffer * buffer)
 {
   GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (demux);
-  gsize available;
-  GstBuffer *buffer = NULL;
 
-  available = gst_adapter_available (stream->adapter);
+  if (hlsdemux->current_offset == -1)
+    hlsdemux->current_offset =
+        GST_BUFFER_OFFSET_IS_VALID (buffer) ? GST_BUFFER_OFFSET (buffer) : 0;
 
   /* Is it encrypted? */
   if (hlsdemux->current_key) {
     GError *err = NULL;
+    gsize size;
     GstBuffer *tmp_buffer;
 
-    /* must be a multiple of 16 */
-    available = available & (~0xF);
+    gst_adapter_push (hlsdemux->pending_encrypted_data, buffer);
+    size = gst_adapter_available (hlsdemux->pending_encrypted_data);
 
-    if (available == 0) {
+    /* must be a multiple of 16 */
+    size = size & (~0xF);
+
+    if (size == 0) {
       return GST_FLOW_OK;
     }
 
-    buffer = gst_adapter_take_buffer (stream->adapter, available);
+    buffer = gst_adapter_take_buffer (hlsdemux->pending_encrypted_data, size);
     buffer = gst_hls_demux_decrypt_fragment (hlsdemux, buffer, &err);
     if (buffer == NULL) {
       GST_ELEMENT_ERROR (demux, STREAM, DECODE, ("Failed to decrypt buffer"),
@@ -655,15 +672,9 @@
       return GST_FLOW_ERROR;
     }
 
-    tmp_buffer = hlsdemux->pending_buffer;
-    hlsdemux->pending_buffer = buffer;
+    tmp_buffer = hlsdemux->pending_decrypted_buffer;
+    hlsdemux->pending_decrypted_buffer = buffer;
     buffer = tmp_buffer;
-  } else {
-    buffer = gst_adapter_take_buffer (stream->adapter, available);
-    if (hlsdemux->pending_buffer) {
-      buffer = gst_buffer_append (hlsdemux->pending_buffer, buffer);
-      hlsdemux->pending_buffer = NULL;
-    }
   }
 
   return gst_hls_demux_handle_buffer (demux, stream, buffer, FALSE);
@@ -782,9 +793,8 @@
   demux->client = gst_m3u8_client_new ("", NULL);
 
   demux->srcpad_counter = 0;
-  if (demux->pending_buffer)
-    gst_buffer_unref (demux->pending_buffer);
-  demux->pending_buffer = NULL;
+  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;
diff --git a/ext/hls/gsthlsdemux.h b/ext/hls/gsthlsdemux.h
index 1154236..f0c530e 100644
--- a/ext/hls/gsthlsdemux.h
+++ b/ext/hls/gsthlsdemux.h
@@ -84,11 +84,11 @@
 #endif
   gchar *current_key;
   guint8 *current_iv;
-  GstBuffer *pending_buffer; /* decryption scenario:
-                              * the last buffer can only be pushed when
-                              * resized, so need to store and wait for
-                              * EOS to know it is the last */
-
+  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;
 };
 
diff --git a/ext/hls/gsthlssink.c b/ext/hls/gsthlssink.c
index 03671d0..b56ef6c 100644
--- a/ext/hls/gsthlssink.c
+++ b/ext/hls/gsthlssink.c
@@ -120,8 +120,7 @@
   element_class = GST_ELEMENT_CLASS (klass);
   bin_class = GST_BIN_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "HTTP Live Streaming sink", "Sink", "HTTP Live Streaming sink",
diff --git a/ext/kate/Makefile.in b/ext/kate/Makefile.in
index 9cc80ac..e4350bd 100644
--- a/ext/kate/Makefile.in
+++ b/ext/kate/Makefile.in
@@ -308,6 +308,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -523,6 +525,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -649,8 +653,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -695,6 +697,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/kate/gstkatedec.c b/ext/kate/gstkatedec.c
index c61d514..88a5666 100644
--- a/ext/kate/gstkatedec.c
+++ b/ext/kate/gstkatedec.c
@@ -162,10 +162,8 @@
   gstelement_class->change_state =
       GST_DEBUG_FUNCPTR (gst_kate_dec_change_state);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Kate stream text decoder", "Codec/Decoder/Subtitle",
diff --git a/ext/kate/gstkateenc.c b/ext/kate/gstkateenc.c
index d88914a..12bd1c8 100644
--- a/ext/kate/gstkateenc.c
+++ b/ext/kate/gstkateenc.c
@@ -214,10 +214,8 @@
   gstelement_class->change_state =
       GST_DEBUG_FUNCPTR (gst_kate_enc_change_state);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Kate stream encoder", "Codec/Encoder/Subtitle",
diff --git a/ext/kate/gstkateparse.c b/ext/kate/gstkateparse.c
index 99ea0c8..0cb9db0 100644
--- a/ext/kate/gstkateparse.c
+++ b/ext/kate/gstkateparse.c
@@ -109,10 +109,10 @@
 
   gstelement_class->change_state = gst_kate_parse_change_state;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_kate_parse_src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_kate_parse_sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_kate_parse_src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_kate_parse_sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class, "Kate stream parser",
       "Codec/Parser/Subtitle",
diff --git a/ext/ladspa/Makefile.in b/ext/ladspa/Makefile.in
index 27d850a..9c53aae 100644
--- a/ext/ladspa/Makefile.in
+++ b/ext/ladspa/Makefile.in
@@ -307,6 +307,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -522,6 +524,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -648,8 +652,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -694,6 +696,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/ladspa/gstladspa.c b/ext/ladspa/gstladspa.c
index df06693..624cbd8 100644
--- a/ext/ladspa/gstladspa.c
+++ b/ext/ladspa/gstladspa.c
@@ -24,21 +24,21 @@
  * SECTION:element-ladspa
  * @short_description: bridge for LADSPA (Linux Audio Developer's Simple Plugin API)
  * @see_also: #GstAudioConvert #GstAudioResample, #GstAudioTestSrc, #GstAutoAudioSink
- * 
+ *
  * The LADSPA (Linux Audio Developer's Simple Plugin API) element is a bridge
  * for plugins using the <ulink url="http://www.ladspa.org/">LADSPA</ulink> API.
  * It scans all installed LADSPA plugins and registers them as gstreamer
  * elements. If available it can also parse LRDF files and use the metadata for
  * element classification. The functionality you get depends on the LADSPA plugins
  * you have installed.
- * 
+ *
  * <refsect2>
  * <title>Example LADSPA line without this plugins</title>
  * |[
  * (padsp) listplugins
  * (padsp) analyseplugin cmt.so amp_mono
  * gst-launch-1.0 -e filesrc location="$myfile" ! decodebin ! audioconvert ! audioresample ! "audio/x-raw,format=S16LE,rate=48000,channels=1" ! wavenc ! filesink location="testin.wav"
- * (padsp) applyplugin testin.wav testout.wav cmt.so amp_mono 2 
+ * (padsp) applyplugin testin.wav testout.wav cmt.so amp_mono 2
  * gst-launch-1.0 playbin uri=file://"$PWD"/testout.wav
  * ]| Decode any audio file into wav with the format expected for the specific ladspa plugin to be applied, apply the ladspa filter and play it.
  * </refsect2>
@@ -76,7 +76,7 @@
  * ]| List details of the plugin, parameters, range and defaults included.
  * </refsect2>
  *
- * The elements categorize in: 
+ * The elements categorize in:
  * <itemizedlist>
  * <listitem><para>Filter/Effect/Audio/LADSPA:</para>
  * <refsect2>
@@ -86,7 +86,7 @@
  * ]| Decode any audio file, filter it through Calf Reverb LADSPA then TAP Stereo Echo, and play it.
  * </refsect2>
  * </listitem>
- * <listitem><para>Source/Audio/LADSPA:</para> 
+ * <listitem><para>Source/Audio/LADSPA:</para>
  * <refsect2>
  * <title>Example Source/Audio/LADSPA line with this plugins</title>
  * |[
@@ -236,8 +236,7 @@
       continue;
     }
 
-    ladspa_meta = gst_structure_new_empty ("ladspa");
-    gst_structure_set (ladspa_meta,
+    ladspa_meta = gst_structure_new ("ladspa",
         "plugin-filename", G_TYPE_STRING, file_name,
         "element-ix", G_TYPE_UINT, i,
         "element-type-name", G_TYPE_STRING, type_name,
@@ -360,7 +359,7 @@
     }
     if (skip)
       break;
-    /* 
+    /*
      * transform path: /usr/lib/ladspa -> /usr/share/ladspa/rdf/
      * yes, this is ugly, but lrdf has not searchpath
      */
@@ -402,8 +401,8 @@
   GST_DEBUG_CATEGORY_INIT (ladspa_debug, "ladspa", 0, "LADSPA plugins");
 
 #ifdef ENABLE_NLS
-  GST_DEBUG ("binding text domain %s to locale dir %s", GETTEXT_PACKAGE,
-      LOCALEDIR);
+  GST_DEBUG_OBJECT (plugin, "binding text domain %s to locale dir %s",
+      GETTEXT_PACKAGE, LOCALEDIR);
   bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
   bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
 #endif
@@ -420,13 +419,12 @@
   if (ladspa_meta_all) {
     n = gst_structure_n_fields (ladspa_meta_all);
   }
-  GST_INFO ("%d entries in cache", n);
+  GST_INFO_OBJECT (plugin, "%d entries in cache", n);
   if (!n) {
     ladspa_meta_all = gst_structure_new_empty ("ladspa");
-    res = ladspa_plugin_path_search (plugin);
-    if (res) {
+    if ((res = ladspa_plugin_path_search (plugin))) {
       n = gst_structure_n_fields (ladspa_meta_all);
-      GST_INFO ("%d entries after scanning", n);
+      GST_INFO_OBJECT (plugin, "%d entries after scanning", n);
       gst_plugin_set_cache_data (plugin, ladspa_meta_all);
     }
   } else {
@@ -438,7 +436,7 @@
     const gchar *name;
     const GValue *value;
 
-    GST_INFO ("register types");
+    GST_INFO_OBJECT (plugin, "register types");
 
     for (i = 0; i < n; i++) {
       name = gst_structure_nth_field_name (ladspa_meta_all, i);
@@ -452,7 +450,7 @@
   }
 
   if (!res) {
-    GST_WARNING ("no LADSPA plugins found, check LADSPA_PATH");
+    GST_WARNING_OBJECT (plugin, "no LADSPA plugins found, check LADSPA_PATH");
   }
 
   /* we don't want to fail, even if there are no elements registered */
diff --git a/ext/ladspa/gstladspasource.c b/ext/ladspa/gstladspasource.c
index 943da62..c078664 100644
--- a/ext/ladspa/gstladspasource.c
+++ b/ext/ladspa/gstladspasource.c
@@ -256,7 +256,7 @@
 gst_ladspa_source_type_fill (GstBaseSrc * base, guint64 offset,
     guint length, GstBuffer * buffer)
 {
-  GstLADSPASource *ladspa;
+  GstLADSPASource *ladspa = GST_LADSPA_SOURCE (base);
   GstClockTime next_time;
   gint64 next_sample, next_byte;
   gint bytes, samples;
@@ -264,8 +264,6 @@
   GstMapInfo map;
   gint samplerate, bpf;
 
-  ladspa = GST_LADSPA_SOURCE (base);
-
   /* example for tagging generated data */
   if (!ladspa->tags_pushed) {
     GstTagList *taglist;
diff --git a/ext/ladspa/gstladspautils.c b/ext/ladspa/gstladspautils.c
index c358b5e..d55db6f 100644
--- a/ext/ladspa/gstladspautils.c
+++ b/ext/ladspa/gstladspautils.c
@@ -1,4 +1,4 @@
-/* GStreamer LADSPA utils 
+/* GStreamer LADSPA utils
  * Copyright (C) 1999 Erik Walthinsen <omega@cse.ogi.edu>
  *               2001 Steve Baker <stevebaker_org@yahoo.co.uk>
  *               2003 Andy Wingo <wingo at pobox.com>
@@ -21,7 +21,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-/* 
+/*
  * This module is smartly shared between the source, transform and
  * sink elements. Handling any specific LADSPA <-> gstreamer interaction.
  *
@@ -65,7 +65,7 @@
 GST_DEBUG_CATEGORY_EXTERN (ladspa_debug);
 #define GST_CAT_DEFAULT ladspa_debug
 
-/* 
+/*
  * Interleaved buffer: (c1c2c1c2...)
  * De-interleaved buffer: (c1c1...c2c2...)
  */
@@ -81,7 +81,7 @@
       outdata[i * samples + j] = ((LADSPA_Data *) indata)[j * audio_in + i];
 }
 
-/* 
+/*
  * Interleaved buffer: (c1c2c1c2...)
  * De-interleaved buffer: (c1c1...c2c2...)
  */
@@ -517,24 +517,20 @@
     GObjectClass * object_class, guint offset)
 {
   GParamSpec *p;
-  gint i, ix;
+  gint i;
 
   ladspa_class->properties = offset;
 
-  /* properties have an offset */
-  ix = ladspa_class->properties;
-
   /* register properties */
-
-  for (i = 0; i < ladspa_class->count.control.in; i++, ix++) {
+  for (i = 0; i < ladspa_class->count.control.in; i++, offset++) {
     p = gst_ladspa_object_class_get_param_spec (ladspa_class, object_class,
         ladspa_class->map.control.in[i]);
-    g_object_class_install_property (object_class, ix, p);
+    g_object_class_install_property (object_class, offset, p);
   }
-  for (i = 0; i < ladspa_class->count.control.out; i++, ix++) {
+  for (i = 0; i < ladspa_class->count.control.out; i++, offset++) {
     p = gst_ladspa_object_class_get_param_spec (ladspa_class, object_class,
         ladspa_class->map.control.out[i]);
-    g_object_class_install_property (object_class, ix, p);
+    g_object_class_install_property (object_class, offset, p);
   }
 }
 
@@ -577,7 +573,7 @@
     GST_DEBUG ("LADSPA uri (id=%lu) : %s", desc->UniqueID, uri);
 
     /* we can take this directly from 'desc', keep this example for future
-       attributes. 
+       attributes.
 
        if ((str = lrdf_get_setting_metadata (uri, "title"))) {
        GST_DEBUG ("LADSPA title : %s", str);
@@ -730,15 +726,14 @@
   ladspa->activated = FALSE;
   ladspa->rate = 0;
 
-  ladspa->ports.audio.in =
-      g_new0 (LADSPA_Data *, ladspa->klass->count.audio.in);
+  ladspa->ports.audio.in = g_new0 (LADSPA_Data *, ladspa_class->count.audio.in);
   ladspa->ports.audio.out =
-      g_new0 (LADSPA_Data *, ladspa->klass->count.audio.out);
+      g_new0 (LADSPA_Data *, ladspa_class->count.audio.out);
 
   ladspa->ports.control.in =
-      g_new0 (LADSPA_Data, ladspa->klass->count.control.in);
+      g_new0 (LADSPA_Data, ladspa_class->count.control.in);
   ladspa->ports.control.out =
-      g_new0 (LADSPA_Data, ladspa->klass->count.control.out);
+      g_new0 (LADSPA_Data, ladspa_class->count.control.out);
 }
 
 void
@@ -840,7 +835,7 @@
   ladspa_class->plugin = NULL;
 }
 
-/* 
+/*
  * Create the type & register the element.
  */
 void
diff --git a/ext/libde265/Makefile.in b/ext/libde265/Makefile.in
index c6c4676..0b6f596 100644
--- a/ext/libde265/Makefile.in
+++ b/ext/libde265/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/libde265/libde265-dec.c b/ext/libde265/libde265-dec.c
index e11f12c..8053168 100644
--- a/ext/libde265/libde265-dec.c
+++ b/ext/libde265/libde265-dec.c
@@ -117,10 +117,8 @@
   decoder_class->handle_frame =
       GST_DEBUG_FUNCPTR (gst_libde265_dec_handle_frame);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class, &src_template);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "HEVC/H.265 decoder",
diff --git a/ext/libmms/Makefile.in b/ext/libmms/Makefile.in
index 80f2ed8..5b0fa4c 100644
--- a/ext/libmms/Makefile.in
+++ b/ext/libmms/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/libmms/gstmms.c b/ext/libmms/gstmms.c
index 5e3ff38..56243a2 100644
--- a/ext/libmms/gstmms.c
+++ b/ext/libmms/gstmms.c
@@ -100,8 +100,7 @@
           0, G_MAXINT / 1000, DEFAULT_CONNECTION_SPEED,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "MMS streaming source", "Source/Network",
diff --git a/ext/libvisual/Makefile.in b/ext/libvisual/Makefile.in
index e53a246..15e9ec3 100644
--- a/ext/libvisual/Makefile.in
+++ b/ext/libvisual/Makefile.in
@@ -300,6 +300,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -515,6 +517,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -641,8 +645,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -687,6 +689,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/libvisual/visual-gl.c b/ext/libvisual/visual-gl.c
index 85c91e0..c796d4b 100644
--- a/ext/libvisual/visual-gl.c
+++ b/ext/libvisual/visual-gl.c
@@ -216,10 +216,8 @@
         klass->plugin->info->name, klass->plugin->info->version);
 
     /* FIXME: improve to only register what plugin supports? */
-    gst_element_class_add_pad_template (element_class,
-        gst_static_pad_template_get (&src_template));
-    gst_element_class_add_pad_template (element_class,
-        gst_static_pad_template_get (&sink_template));
+    gst_element_class_add_static_pad_template (element_class, &src_template);
+    gst_element_class_add_static_pad_template (element_class, &sink_template);
 
     gst_element_class_set_metadata (element_class,
         longname, "Visualization", klass->plugin->info->about,
diff --git a/ext/lv2/Makefile.am b/ext/lv2/Makefile.am
index ea4517f..844823c 100644
--- a/ext/lv2/Makefile.am
+++ b/ext/lv2/Makefile.am
@@ -1,15 +1,18 @@
 plugin_LTLIBRARIES = libgstlv2.la
 
-libgstlv2_la_SOURCES = gstlv2.c
+libgstlv2_la_SOURCES = gstlv2.c gstlv2utils.c gstlv2filter.c gstlv2source.c
 libgstlv2_la_CFLAGS = \
 	-I$(top_srcdir)/gst-libs \
+	$(GST_AUDIO_CFLAGS) \
+	$(GST_BASE_CFLAGS) \
 	$(GST_PLUGINS_BASE_CFLAGS) \
-	$(GST_CFLAGS) $(SLV2_CFLAGS)
+	$(GST_CFLAGS) $(LILV_CFLAGS)
 libgstlv2_la_LIBADD = \
-	$(top_builddir)/gst-libs/gst/signalprocessor/libgstsignalprocessor-@GST_API_VERSION@.la \
+	$(GST_AUDIO_LIBS) \
+	$(GST_BASE_LIBS) \
 	$(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) \
-	$(LIBM) $(SLV2_LIBS)
+	$(LIBM) $(LILV_LIBS)
 libgstlv2_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 libgstlv2_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 
-noinst_HEADERS = gstlv2.h
+noinst_HEADERS = gstlv2.h gstlv2utils.h
diff --git a/ext/lv2/Makefile.in b/ext/lv2/Makefile.in
index f8d6a08..644bc83 100644
--- a/ext/lv2/Makefile.in
+++ b/ext/lv2/Makefile.in
@@ -163,10 +163,12 @@
 am__installdirs = "$(DESTDIR)$(plugindir)"
 LTLIBRARIES = $(plugin_LTLIBRARIES)
 am__DEPENDENCIES_1 =
-libgstlv2_la_DEPENDENCIES = $(top_builddir)/gst-libs/gst/signalprocessor/libgstsignalprocessor-@GST_API_VERSION@.la \
+libgstlv2_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1)
-am_libgstlv2_la_OBJECTS = libgstlv2_la-gstlv2.lo
+am_libgstlv2_la_OBJECTS = libgstlv2_la-gstlv2.lo \
+	libgstlv2_la-gstlv2utils.lo libgstlv2_la-gstlv2filter.lo \
+	libgstlv2_la-gstlv2source.lo
 libgstlv2_la_OBJECTS = $(am_libgstlv2_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -303,6 +305,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +522,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +650,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +694,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -779,20 +785,23 @@
 top_srcdir = @top_srcdir@
 wayland_scanner = @wayland_scanner@
 plugin_LTLIBRARIES = libgstlv2.la
-libgstlv2_la_SOURCES = gstlv2.c
+libgstlv2_la_SOURCES = gstlv2.c gstlv2utils.c gstlv2filter.c gstlv2source.c
 libgstlv2_la_CFLAGS = \
 	-I$(top_srcdir)/gst-libs \
+	$(GST_AUDIO_CFLAGS) \
+	$(GST_BASE_CFLAGS) \
 	$(GST_PLUGINS_BASE_CFLAGS) \
-	$(GST_CFLAGS) $(SLV2_CFLAGS)
+	$(GST_CFLAGS) $(LILV_CFLAGS)
 
 libgstlv2_la_LIBADD = \
-	$(top_builddir)/gst-libs/gst/signalprocessor/libgstsignalprocessor-@GST_API_VERSION@.la \
+	$(GST_AUDIO_LIBS) \
+	$(GST_BASE_LIBS) \
 	$(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) \
-	$(LIBM) $(SLV2_LIBS)
+	$(LIBM) $(LILV_LIBS)
 
 libgstlv2_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 libgstlv2_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-noinst_HEADERS = gstlv2.h
+noinst_HEADERS = gstlv2.h gstlv2utils.h
 all: all-am
 
 .SUFFIXES:
@@ -872,6 +881,9 @@
 	-rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstlv2_la-gstlv2.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstlv2_la-gstlv2filter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstlv2_la-gstlv2source.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstlv2_la-gstlv2utils.Plo@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -904,6 +916,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 $(libgstlv2_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstlv2_la_CFLAGS) $(CFLAGS) -c -o libgstlv2_la-gstlv2.lo `test -f 'gstlv2.c' || echo '$(srcdir)/'`gstlv2.c
 
+libgstlv2_la-gstlv2utils.lo: gstlv2utils.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstlv2_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstlv2_la_CFLAGS) $(CFLAGS) -MT libgstlv2_la-gstlv2utils.lo -MD -MP -MF $(DEPDIR)/libgstlv2_la-gstlv2utils.Tpo -c -o libgstlv2_la-gstlv2utils.lo `test -f 'gstlv2utils.c' || echo '$(srcdir)/'`gstlv2utils.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstlv2_la-gstlv2utils.Tpo $(DEPDIR)/libgstlv2_la-gstlv2utils.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstlv2utils.c' object='libgstlv2_la-gstlv2utils.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 $(libgstlv2_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstlv2_la_CFLAGS) $(CFLAGS) -c -o libgstlv2_la-gstlv2utils.lo `test -f 'gstlv2utils.c' || echo '$(srcdir)/'`gstlv2utils.c
+
+libgstlv2_la-gstlv2filter.lo: gstlv2filter.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstlv2_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstlv2_la_CFLAGS) $(CFLAGS) -MT libgstlv2_la-gstlv2filter.lo -MD -MP -MF $(DEPDIR)/libgstlv2_la-gstlv2filter.Tpo -c -o libgstlv2_la-gstlv2filter.lo `test -f 'gstlv2filter.c' || echo '$(srcdir)/'`gstlv2filter.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstlv2_la-gstlv2filter.Tpo $(DEPDIR)/libgstlv2_la-gstlv2filter.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstlv2filter.c' object='libgstlv2_la-gstlv2filter.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 $(libgstlv2_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstlv2_la_CFLAGS) $(CFLAGS) -c -o libgstlv2_la-gstlv2filter.lo `test -f 'gstlv2filter.c' || echo '$(srcdir)/'`gstlv2filter.c
+
+libgstlv2_la-gstlv2source.lo: gstlv2source.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstlv2_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstlv2_la_CFLAGS) $(CFLAGS) -MT libgstlv2_la-gstlv2source.lo -MD -MP -MF $(DEPDIR)/libgstlv2_la-gstlv2source.Tpo -c -o libgstlv2_la-gstlv2source.lo `test -f 'gstlv2source.c' || echo '$(srcdir)/'`gstlv2source.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstlv2_la-gstlv2source.Tpo $(DEPDIR)/libgstlv2_la-gstlv2source.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstlv2source.c' object='libgstlv2_la-gstlv2source.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 $(libgstlv2_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstlv2_la_CFLAGS) $(CFLAGS) -c -o libgstlv2_la-gstlv2source.lo `test -f 'gstlv2source.c' || echo '$(srcdir)/'`gstlv2source.c
+
 mostlyclean-libtool:
 	-rm -f *.lo
 
diff --git a/ext/lv2/README b/ext/lv2/README
index 5a409ff..289086d 100644
--- a/ext/lv2/README
+++ b/ext/lv2/README
@@ -2,26 +2,43 @@
 
 Dependencies:
 
-SLV2 0.6.* <http://drobilla.net/software/slv2>
+Lilv 0.6.6 <http://drobilla.net/software/lilv/>
 
-Which in turn depends on:
 
-librdf (redland) >= 1.0.6 <http://librdf.org>
+Features:
 
+The plugin wrapper support the following plugin features:
+http://lv2plug.in/ns/lv2core
+http://lv2plug.in/ns/ext/event
+http://lv2plug.in/ns/ext/port-groups
+
+and these host features:
+http://lv2plug.in/ns/ext/log
+http://lv2plug.in/ns/ext/urid
 
 Example Pipeline:
 
 Requires swh-lv2 <http://plugin.org.uk/releases/>
 
-gst-launch-0.10 -v filesrc location=/usr/share/sounds/login.wav ! wavparse ! audioconvert ! plugin-org-uk-swh-plugins-djFlanger ! audioconvert ! alsasink
-
+gst-launch-1.0 -v filesrc location=/usr/share/sounds/login.wav ! wavparse ! audioconvert ! plugin-org-uk-swh-plugins-djFlanger ! audioconvert ! autoaudiosink
 (A longer wav will be a better example)
 
+gst-launch-1.0 plugin-org-uk-swh-plugins-analogueOsc num-buffers=100 wave=1 ! wavenc ! filesink location="/tmp/lv2.wav"
 
 Requires calf <http://calf.sourceforge.net/>
 
-GST_DEBUG="*:2,signalprocessor:5,lv2:5" 
-gst-launch calf-sourceforge-net-plugins-Monosynth event-in="C-3" ! pulsesink
-gst-launch calf-sourceforge-net-plugins-Monosynth event-in="C-3" name=ms ! pulsesink ms. ! fakesink
-gst-launch calf-sourceforge-net-plugins-Organ event-in="C-3" name=s ! interleave name=i ! pulsesink s. ! i.
+GST_DEBUG="*:2,lv2:5"
+gst-launch-1.0 calf-sourceforge-net-plugins-Monosynth event-in="C-3" ! autoaudiosink
+gst-launch-1.0 calf-sourceforge-net-plugins-Monosynth event-in="C-3" name=ms ! autoaudiosink ms. ! fakesink
+gst-launch-1.0 calf-sourceforge-net-plugins-Organ event-in="C-3" name=s ! interleave name=i ! autoaudiosink s. ! i.
 
+
+TODO
+* make filters gap-aware
+* 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
+
+* example sources:
+  http://svn.drobilla.net/lad/trunk/lilv/utils/lv2info.c
+  http://svn.drobilla.net/lad/trunk/jalv/src/jalv.c
diff --git a/ext/lv2/gstlv2.c b/ext/lv2/gstlv2.c
index 41fcc21..acad443 100644
--- a/ext/lv2/gstlv2.c
+++ b/ext/lv2/gstlv2.c
@@ -2,6 +2,7 @@
  * Copyright (C) 1999 Erik Walthinsen <omega@cse.ogi.edu>
  *               2001 Steve Baker <stevebaker_org@yahoo.co.uk>
  *               2003 Andy Wingo <wingo at pobox.com>
+ *               2016 Thibault Saunier <thibault.saunier@collabora.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -35,785 +36,104 @@
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
-#include <string.h>
-#include <math.h>
-#include <glib.h>
-#include <gst/audio/audio.h>
-#include <gst/audio/multichannel.h>
 
+#include <string.h>
 #include "gstlv2.h"
-#include <slv2/slv2.h>
+
+#include <gst/audio/audio-channels.h>
+#include <lv2/lv2plug.in/ns/ext/port-groups/port-groups.h>
+#include "lv2/lv2plug.in/ns/ext/event/event.h"
+#include "lv2/lv2plug.in/ns/ext/presets/presets.h"
+#include "lv2/lv2plug.in/ns/ext/state/state.h"
+
+GST_DEBUG_CATEGORY (lv2_debug);
+#define GST_CAT_DEFAULT lv2_debug
 
 #define GST_LV2_DEFAULT_PATH \
   "/usr/lib/lv2" G_SEARCHPATH_SEPARATOR_S \
   "/usr/local/lib/lv2" G_SEARCHPATH_SEPARATOR_S \
   LIBDIR "/lv2"
 
-static void gst_lv2_set_property (GObject * object,
-    guint prop_id, const GValue * value, GParamSpec * pspec);
-
-static void gst_lv2_get_property (GObject * object,
-    guint prop_id, GValue * value, GParamSpec * pspec);
-
-static gboolean gst_lv2_setup (GstSignalProcessor * sigproc, GstCaps * caps);
-static gboolean gst_lv2_start (GstSignalProcessor * sigproc);
-static void gst_lv2_stop (GstSignalProcessor * sigproc);
-static void gst_lv2_cleanup (GstSignalProcessor * sigproc);
-static void gst_lv2_process (GstSignalProcessor * sigproc, guint nframes);
-
-static SLV2World world;
-static SLV2Value audio_class;
-static SLV2Value control_class;
-static SLV2Value input_class;
-static SLV2Value output_class;
-static SLV2Value integer_prop;
-static SLV2Value toggled_prop;
-static SLV2Value in_place_broken_pred;
-static SLV2Value in_group_pred;
-static SLV2Value has_role_pred;
-static SLV2Value lv2_symbol_pred;
-
-static SLV2Value center_role;
-static SLV2Value left_role;
-static SLV2Value right_role;
-static SLV2Value rear_center_role;
-static SLV2Value rear_left_role;
-static SLV2Value rear_right_role;
-static SLV2Value lfe_role;
-static SLV2Value center_left_role;
-static SLV2Value center_right_role;
-static SLV2Value side_left_role;
-static SLV2Value side_right_role;
-
-static GstSignalProcessorClass *parent_class;
-
-static GstPlugin *gst_lv2_plugin;
-
-GST_DEBUG_CATEGORY_STATIC (lv2_debug);
-#define GST_CAT_DEFAULT lv2_debug
-
-static GQuark descriptor_quark = 0;
-
-
-/* Convert an LV2 port role to a Gst channel positon
- * WARNING: If the group has only a single port,
- * GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER will be returned for pg:centerRole
- * (which is used by LV2 for mono groups), but this is not correct.  In this
- * case the value must be changed to GST_AUDIO_CHANNEL_POSITION_FRONT_MONO
- * (this can't be done by this function because this information isn't known
- * at the time it is used).
- */
-static GstAudioChannelPosition
-gst_lv2_role_to_position (SLV2Value role)
-{
-  /* Front.  Mono and left/right are mututally exclusive */
-  if (slv2_value_equals (role, center_role)) {
-
-    return GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER;
-  } else if (slv2_value_equals (role, left_role)) {
-    return GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT;
-  } else if (slv2_value_equals (role, right_role)) {
-    return GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT;
-
-    /* Rear. Left/right and center are mututally exclusive */
-  } else if (slv2_value_equals (role, rear_center_role)) {
-    return GST_AUDIO_CHANNEL_POSITION_REAR_CENTER;
-  } else if (slv2_value_equals (role, rear_left_role)) {
-    return GST_AUDIO_CHANNEL_POSITION_REAR_LEFT;
-  } else if (slv2_value_equals (role, rear_right_role)) {
-    return GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT;
-
-    /* Subwoofer/low-frequency-effects */
-  } else if (slv2_value_equals (role, lfe_role)) {
-    return GST_AUDIO_CHANNEL_POSITION_LFE;
-
-    /* Center front speakers. Center and left/right_of_center
-     * are mutually exclusive */
-  } else if (slv2_value_equals (role, center_left_role)) {
-    return GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER;
-  } else if (slv2_value_equals (role, center_right_role)) {
-    return GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER;
-
-    /* sides */
-  } else if (slv2_value_equals (role, side_left_role)) {
-    return GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT;
-  } else if (slv2_value_equals (role, side_right_role)) {
-    return GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT;
-  }
-
-  return GST_AUDIO_CHANNEL_POSITION_INVALID;
-}
-
-/* Find and return the group @a uri in @a groups, or NULL if not found */
-static GstLV2Group *
-gst_lv2_class_find_group (GArray * groups, SLV2Value uri)
-{
-  int i = 0;
-  for (; i < groups->len; ++i)
-    if (slv2_value_equals (g_array_index (groups, GstLV2Group, i).uri, uri))
-      return &g_array_index (groups, GstLV2Group, i);
-  return NULL;
-}
-
-static GstAudioChannelPosition *
-gst_lv2_build_positions (GstLV2Group * group)
-{
-  GstAudioChannelPosition *positions = NULL;
-
-  /* don't do anything for mono */
-  if (group->ports->len > 1) {
-    gint i;
-
-    positions = g_new (GstAudioChannelPosition, group->ports->len);
-    for (i = 0; i < group->ports->len; ++i)
-      positions[i] = g_array_index (group->ports, GstLV2Port, i).position;
-  }
-  return positions;
-}
+GstStructure *lv2_meta_all = NULL;
 
 static void
-gst_lv2_base_init (gpointer g_class)
+lv2_plugin_register_element (GstPlugin * plugin, GstStructure * lv2_meta)
 {
-  GstLV2Class *klass = (GstLV2Class *) g_class;
-  GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-  GstSignalProcessorClass *gsp_class = GST_SIGNAL_PROCESSOR_CLASS (g_class);
-  SLV2Plugin lv2plugin;
-  SLV2Value val;
-  SLV2Values values, sub_values;
-  GstLV2Group *group = NULL;
-  GstAudioChannelPosition position = GST_AUDIO_CHANNEL_POSITION_INVALID;
-  guint j, in_pad_index = 0, out_pad_index = 0;
-  const gchar *klass_tags;
-  gchar *longname, *author;
+  guint audio_in, audio_out;
 
-  lv2plugin = (SLV2Plugin) g_type_get_qdata (G_OBJECT_CLASS_TYPE (klass),
-      descriptor_quark);
+  gst_structure_get_uint (lv2_meta, "audio-in", &audio_in);
+  gst_structure_get_uint (lv2_meta, "audio-out", &audio_out);
 
-  g_assert (lv2plugin);
-
-  GST_DEBUG ("base_init %p, plugin %s", g_class,
-      slv2_value_as_string (slv2_plugin_get_uri (lv2plugin)));
-
-  gsp_class->num_group_in = 0;
-  gsp_class->num_group_out = 0;
-  gsp_class->num_audio_in = 0;
-  gsp_class->num_audio_out = 0;
-  gsp_class->num_control_in = 0;
-  gsp_class->num_control_out = 0;
-
-  klass->in_groups = g_array_new (FALSE, TRUE, sizeof (GstLV2Group));
-  klass->out_groups = g_array_new (FALSE, TRUE, sizeof (GstLV2Group));
-  klass->audio_in_ports = g_array_new (FALSE, TRUE, sizeof (GstLV2Port));
-  klass->audio_out_ports = g_array_new (FALSE, TRUE, sizeof (GstLV2Port));
-  klass->control_in_ports = g_array_new (FALSE, TRUE, sizeof (GstLV2Port));
-  klass->control_out_ports = g_array_new (FALSE, TRUE, sizeof (GstLV2Port));
-
-  /* find ports and groups */
-  for (j = 0; j < slv2_plugin_get_num_ports (lv2plugin); j++) {
-    const SLV2Port port = slv2_plugin_get_port_by_index (lv2plugin, j);
-    const gboolean is_input = slv2_port_is_a (lv2plugin, port, input_class);
-    gboolean in_group = FALSE;
-    struct _GstLV2Port desc = { j, 0, };
-    values = slv2_port_get_value (lv2plugin, port, in_group_pred);
-
-    if (slv2_values_size (values) > 0) {
-      /* port is part of a group */
-      SLV2Value group_uri = slv2_values_get_at (values, 0);
-      GArray *groups = is_input ? klass->in_groups : klass->out_groups;
-      GstLV2Group *group = gst_lv2_class_find_group (groups, group_uri);
-      in_group = TRUE;
-      if (group == NULL) {
-        GstLV2Group g;
-        g.uri = slv2_value_duplicate (group_uri);
-        g.pad = is_input ? in_pad_index++ : out_pad_index++;
-        g.ports = g_array_new (FALSE, TRUE, sizeof (GstLV2Port));
-        g.has_roles = TRUE;
-        g.symbol = NULL;
-        sub_values = slv2_plugin_get_value_for_subject (lv2plugin, group_uri,
-            lv2_symbol_pred);
-        /* symbol is mandatory */
-        if (slv2_values_size (sub_values) > 0) {
-          g.symbol = slv2_value_duplicate (slv2_values_get_at (sub_values, 0));
-          if (!gst_element_class_get_pad_template (element_class,
-                  slv2_value_as_string (g.symbol))) {
-            g_array_append_val (groups, g);
-            group = &g_array_index (groups, GstLV2Group, groups->len - 1);
-            assert (group);
-            assert (slv2_value_equals (group->uri, group_uri));
-          } else {
-            GST_WARNING ("plugin %s has duplicate group symbol '%s'",
-                slv2_value_as_string (slv2_plugin_get_uri (lv2plugin)),
-                slv2_value_as_string (g.symbol));
-            in_group = FALSE;
-          }
-        } else {
-          GST_WARNING ("plugin %s has illegal group with no symbol",
-              slv2_value_as_string (slv2_plugin_get_uri (lv2plugin)));
-          in_group = FALSE;
-        }
-      }
-
-      if (in_group) {
-        position = GST_AUDIO_CHANNEL_POSITION_INVALID;
-        sub_values = slv2_port_get_value (lv2plugin, port, has_role_pred);
-        if (slv2_values_size (sub_values) > 0) {
-          SLV2Value role = slv2_values_get_at (sub_values, 0);
-          position = gst_lv2_role_to_position (role);
-        }
-        slv2_values_free (sub_values);
-        if (position != GST_AUDIO_CHANNEL_POSITION_INVALID) {
-          desc.position = position;
-          g_array_append_val (group->ports, desc);
-        } else {
-          in_group = FALSE;
-        }
-      }
-    }
-
-    if (!in_group) {
-      /* port is not part of a group, or it is part of a group but that group
-       * is illegal so we just ignore it */
-      if (slv2_port_is_a (lv2plugin, port, audio_class)) {
-        desc.pad = is_input ? in_pad_index++ : out_pad_index++;
-        if (is_input)
-          g_array_append_val (klass->audio_in_ports, desc);
-        else
-          g_array_append_val (klass->audio_out_ports, desc);
-      } else if (slv2_port_is_a (lv2plugin, port, control_class)) {
-        if (is_input)
-          g_array_append_val (klass->control_in_ports, desc);
-        else
-          g_array_append_val (klass->control_out_ports, desc);
-      } else {
-        /* unknown port type */
-        GST_INFO ("unhandled port %d", j);
-        continue;
-      }
-    }
-    slv2_values_free (values);
-  }
-
-  gsp_class->num_group_in = klass->in_groups->len;
-  gsp_class->num_group_out = klass->out_groups->len;
-  gsp_class->num_audio_in = klass->audio_in_ports->len;
-  gsp_class->num_audio_out = klass->audio_out_ports->len;
-  gsp_class->num_control_in = klass->control_in_ports->len;
-  gsp_class->num_control_out = klass->control_out_ports->len;
-
-  /* add input group pad templates */
-  for (j = 0; j < gsp_class->num_group_in; ++j) {
-    group = &g_array_index (klass->in_groups, GstLV2Group, j);
-
-    gst_signal_processor_class_add_pad_template (gsp_class,
-        slv2_value_as_string (group->symbol), GST_PAD_SINK, j,
-        group->ports->len);
-  }
-
-  /* add output group pad templates */
-  for (j = 0; j < gsp_class->num_group_out; ++j) {
-    group = &g_array_index (klass->out_groups, GstLV2Group, j);
-
-    gst_signal_processor_class_add_pad_template (gsp_class,
-        slv2_value_as_string (group->symbol), GST_PAD_SRC, j,
-        group->ports->len);
-  }
-
-  /* add non-grouped input port pad templates */
-  for (j = 0; j < gsp_class->num_audio_in; ++j) {
-    struct _GstLV2Port *desc =
-        &g_array_index (klass->audio_in_ports, GstLV2Port, j);
-    SLV2Port port = slv2_plugin_get_port_by_index (lv2plugin, desc->index);
-    const gchar *name =
-        slv2_value_as_string (slv2_port_get_symbol (lv2plugin, port));
-    gst_signal_processor_class_add_pad_template (gsp_class, name, GST_PAD_SINK,
-        j, 1);
-  }
-
-  /* add non-grouped output port pad templates */
-  for (j = 0; j < gsp_class->num_audio_out; ++j) {
-    struct _GstLV2Port *desc =
-        &g_array_index (klass->audio_out_ports, GstLV2Port, j);
-    SLV2Port port = slv2_plugin_get_port_by_index (lv2plugin, desc->index);
-    const gchar *name =
-        slv2_value_as_string (slv2_port_get_symbol (lv2plugin, port));
-    gst_signal_processor_class_add_pad_template (gsp_class, name, GST_PAD_SRC,
-        j, 1);
-  }
-
-  val = slv2_plugin_get_name (lv2plugin);
-  if (val) {
-    longname = g_strdup (slv2_value_as_string (val));
-    slv2_value_free (val);
+  if (audio_in == 0) {
+    gst_lv2_source_register_element (plugin, lv2_meta);
   } else {
-    longname = g_strdup ("no description available");
-  }
-  val = slv2_plugin_get_author_name (lv2plugin);
-  if (val) {
-    author = g_strdup (slv2_value_as_string (val));
-    slv2_value_free (val);
-  } else {
-    author = g_strdup ("no author available");
-  }
-
-  if (gsp_class->num_audio_in == 0)
-    klass_tags = "Source/Audio/LV2";
-  else if (gsp_class->num_audio_out == 0) {
-    if (gsp_class->num_control_out == 0)
-      klass_tags = "Sink/Audio/LV2";
-    else
-      klass_tags = "Sink/Analyzer/Audio/LV2";
-  } else
-    klass_tags = "Filter/Effect/Audio/LV2";
-
-  GST_INFO ("tags : %s", klass_tags);
-  gst_element_class_set_metadata (element_class, longname,
-      klass_tags, longname, author);
-  g_free (longname);
-  g_free (author);
-
-  if (!slv2_plugin_has_feature (lv2plugin, in_place_broken_pred))
-    GST_SIGNAL_PROCESSOR_CLASS_SET_CAN_PROCESS_IN_PLACE (klass);
-
-  klass->plugin = lv2plugin;
-}
-
-static gchar *
-gst_lv2_class_get_param_name (GstLV2Class * klass, SLV2Port port)
-{
-  SLV2Plugin lv2plugin = klass->plugin;
-  gchar *ret;
-
-  ret = g_strdup (slv2_value_as_string (slv2_port_get_symbol (lv2plugin,
-              port)));
-
-  /* this is the same thing that param_spec_* will do */
-  g_strcanon (ret, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-", '-');
-  /* satisfy glib2 (argname[0] must be [A-Za-z]) */
-  if (!((ret[0] >= 'a' && ret[0] <= 'z') || (ret[0] >= 'A' && ret[0] <= 'Z'))) {
-    gchar *tempstr = ret;
-
-    ret = g_strconcat ("param-", ret, NULL);
-    g_free (tempstr);
-  }
-
-  /* check for duplicate property names */
-  if (g_object_class_find_property (G_OBJECT_CLASS (klass), ret)) {
-    gint n = 1;
-    gchar *nret = g_strdup_printf ("%s-%d", ret, n++);
-
-    while (g_object_class_find_property (G_OBJECT_CLASS (klass), nret)) {
-      g_free (nret);
-      nret = g_strdup_printf ("%s-%d", ret, n++);
-    }
-    g_free (ret);
-    ret = nret;
-  }
-
-  GST_DEBUG ("built property name '%s' from port name '%s'", ret,
-      slv2_value_as_string (slv2_port_get_symbol (lv2plugin, port)));
-
-  return ret;
-}
-
-static gchar *
-gst_lv2_class_get_param_nick (GstLV2Class * klass, SLV2Port port)
-{
-  SLV2Plugin lv2plugin = klass->plugin;
-
-  return g_strdup (slv2_value_as_string (slv2_port_get_name (lv2plugin, port)));
-}
-
-static GParamSpec *
-gst_lv2_class_get_param_spec (GstLV2Class * klass, gint portnum)
-{
-  SLV2Plugin lv2plugin = klass->plugin;
-  SLV2Port port = slv2_plugin_get_port_by_index (lv2plugin, portnum);
-  SLV2Value lv2def, lv2min, lv2max;
-  GParamSpec *ret;
-  gchar *name, *nick;
-  gint perms;
-  gfloat lower = 0.0f, upper = 1.0f, def = 0.0f;
-
-  nick = gst_lv2_class_get_param_nick (klass, port);
-  name = gst_lv2_class_get_param_name (klass, port);
-
-  GST_DEBUG ("%s trying port %s : %s",
-      slv2_value_as_string (slv2_plugin_get_uri (lv2plugin)), name, nick);
-
-  perms = G_PARAM_READABLE;
-  if (slv2_port_is_a (lv2plugin, port, input_class))
-    perms |= G_PARAM_WRITABLE | G_PARAM_CONSTRUCT;
-  if (slv2_port_is_a (lv2plugin, port, control_class))
-    perms |= GST_PARAM_CONTROLLABLE;
-
-  if (slv2_port_has_property (lv2plugin, port, toggled_prop)) {
-    ret = g_param_spec_boolean (name, nick, nick, FALSE, perms);
-    goto done;
-  }
-
-  slv2_port_get_range (lv2plugin, port, &lv2def, &lv2min, &lv2max);
-
-  if (lv2def)
-    def = slv2_value_as_float (lv2def);
-  if (lv2min)
-    lower = slv2_value_as_float (lv2min);
-  if (lv2max)
-    upper = slv2_value_as_float (lv2max);
-
-  slv2_value_free (lv2def);
-  slv2_value_free (lv2min);
-  slv2_value_free (lv2max);
-
-  if (def < lower) {
-    GST_WARNING ("%s has lower bound %f > default %f",
-        slv2_value_as_string (slv2_plugin_get_uri (lv2plugin)), lower, def);
-    lower = def;
-  }
-
-  if (def > upper) {
-    GST_WARNING ("%s has upper bound %f < default %f",
-        slv2_value_as_string (slv2_plugin_get_uri (lv2plugin)), upper, def);
-    upper = def;
-  }
-
-  if (slv2_port_has_property (lv2plugin, port, integer_prop))
-    ret = g_param_spec_int (name, nick, nick, lower, upper, def, perms);
-  else
-    ret = g_param_spec_float (name, nick, nick, lower, upper, def, perms);
-
-done:
-  g_free (name);
-  g_free (nick);
-
-  return ret;
-}
-
-static void
-gst_lv2_class_init (GstLV2Class * klass, SLV2Plugin lv2plugin)
-{
-  GObjectClass *gobject_class;
-  GstSignalProcessorClass *gsp_class;
-  GParamSpec *p;
-  gint i, ix;
-
-  GST_DEBUG ("class_init %p", klass);
-
-  gobject_class = (GObjectClass *) klass;
-  gobject_class->set_property = gst_lv2_set_property;
-  gobject_class->get_property = gst_lv2_get_property;
-
-  gsp_class = GST_SIGNAL_PROCESSOR_CLASS (klass);
-  gsp_class->setup = gst_lv2_setup;
-  gsp_class->start = gst_lv2_start;
-  gsp_class->stop = gst_lv2_stop;
-  gsp_class->cleanup = gst_lv2_cleanup;
-  gsp_class->process = gst_lv2_process;
-
-  klass->plugin = lv2plugin;
-
-  /* properties have an offset of 1 */
-  ix = 1;
-
-  /* register properties */
-
-  for (i = 0; i < gsp_class->num_control_in; i++, ix++) {
-    p = gst_lv2_class_get_param_spec (klass,
-        g_array_index (klass->control_in_ports, GstLV2Port, i).index);
-
-    g_object_class_install_property (gobject_class, ix, p);
-  }
-
-  for (i = 0; i < gsp_class->num_control_out; i++, ix++) {
-    p = gst_lv2_class_get_param_spec (klass,
-        g_array_index (klass->control_out_ports, GstLV2Port, i).index);
-
-    g_object_class_install_property (gobject_class, ix, p);
+    gst_lv2_filter_register_element (plugin, lv2_meta);
   }
 }
 
 static void
-gst_lv2_init (GstLV2 * lv2, GstLV2Class * klass)
+lv2_count_ports (const LilvPlugin * lv2plugin, guint * audio_in,
+    guint * audio_out, guint * control)
 {
-  lv2->plugin = klass->plugin;
-  lv2->instance = NULL;
-  lv2->activated = FALSE;
-}
+  GHashTable *port_groups = g_hash_table_new_full (g_str_hash, g_str_equal,
+      g_free, NULL);
+  guint i;
 
-static void
-gst_lv2_set_property (GObject * object, guint prop_id, const GValue * value,
-    GParamSpec * pspec)
-{
-  GstSignalProcessor *gsp;
-  GstSignalProcessorClass *gsp_class;
+  *audio_in = *audio_out = *control = 0;
+  for (i = 0; i < lilv_plugin_get_num_ports (lv2plugin); i++) {
+    const LilvPort *port = lilv_plugin_get_port_by_index (lv2plugin, i);
 
-  gsp = GST_SIGNAL_PROCESSOR (object);
-  gsp_class = GST_SIGNAL_PROCESSOR_GET_CLASS (object);
+    if (lilv_port_is_a (lv2plugin, port, audio_class)) {
+      const gboolean is_input = lilv_port_is_a (lv2plugin, port, input_class);
+      LilvNodes *lv2group = lilv_port_get (lv2plugin, port, group_pred);
 
-  /* remember, properties have an offset of 1 */
-  prop_id--;
+      if (lv2group) {
+        const gchar *uri = lilv_node_as_uri (lv2group);
 
-  /* only input ports */
-  g_return_if_fail (prop_id < gsp_class->num_control_in);
+        if (g_hash_table_contains (port_groups, uri))
+          continue;
 
-  /* now see what type it is */
-  switch (pspec->value_type) {
-    case G_TYPE_BOOLEAN:
-      gsp->control_in[prop_id] = g_value_get_boolean (value) ? 0.0f : 1.0f;
-      break;
-    case G_TYPE_INT:
-      gsp->control_in[prop_id] = g_value_get_int (value);
-      break;
-    case G_TYPE_FLOAT:
-      gsp->control_in[prop_id] = g_value_get_float (value);
-      break;
-    default:
-      g_assert_not_reached ();
-  }
-}
-
-static void
-gst_lv2_get_property (GObject * object, guint prop_id, GValue * value,
-    GParamSpec * pspec)
-{
-  GstSignalProcessor *gsp;
-  GstSignalProcessorClass *gsp_class;
-  gfloat *controls;
-
-  gsp = GST_SIGNAL_PROCESSOR (object);
-  gsp_class = GST_SIGNAL_PROCESSOR_GET_CLASS (object);
-
-  /* remember, properties have an offset of 1 */
-  prop_id--;
-
-  if (prop_id < gsp_class->num_control_in) {
-    controls = gsp->control_in;
-  } else if (prop_id < gsp_class->num_control_in + gsp_class->num_control_out) {
-    controls = gsp->control_out;
-    prop_id -= gsp_class->num_control_in;
-  } else {
-    g_return_if_reached ();
-  }
-
-  /* now see what type it is */
-  switch (pspec->value_type) {
-    case G_TYPE_BOOLEAN:
-      g_value_set_boolean (value, controls[prop_id] > 0.0f);
-      break;
-    case G_TYPE_INT:
-      g_value_set_int (value, CLAMP (controls[prop_id], G_MININT, G_MAXINT));
-      break;
-    case G_TYPE_FLOAT:
-      g_value_set_float (value, controls[prop_id]);
-      break;
-    default:
-      g_return_if_reached ();
-  }
-}
-
-static gboolean
-gst_lv2_setup (GstSignalProcessor * gsp, GstCaps * caps)
-{
-  GstLV2 *lv2;
-  GstLV2Class *oclass;
-  GstSignalProcessorClass *gsp_class;
-  GstStructure *s;
-  gint i;
-  GstLV2Group *group = NULL;
-  GstAudioChannelPosition *positions = NULL;
-  GstPad *pad;
-
-  gsp_class = GST_SIGNAL_PROCESSOR_GET_CLASS (gsp);
-  lv2 = (GstLV2 *) gsp;
-  oclass = (GstLV2Class *) gsp_class;
-
-  g_return_val_if_fail (lv2->activated == FALSE, FALSE);
-
-  GST_DEBUG_OBJECT (lv2, "instantiating the plugin at %d Hz", gsp->sample_rate);
-
-  if (!(lv2->instance =
-          slv2_plugin_instantiate (oclass->plugin, gsp->sample_rate, NULL)))
-    goto no_instance;
-
-  /* connect the control ports */
-  for (i = 0; i < gsp_class->num_control_in; i++)
-    slv2_instance_connect_port (lv2->instance,
-        g_array_index (oclass->control_in_ports, GstLV2Port, i).index,
-        &(gsp->control_in[i]));
-  for (i = 0; i < gsp_class->num_control_out; i++)
-    slv2_instance_connect_port (lv2->instance,
-        g_array_index (oclass->control_out_ports, GstLV2Port, i).index,
-        &(gsp->control_out[i]));
-
-  /* set input group pad audio channel position */
-  for (i = 0; i < gsp_class->num_group_in; ++i) {
-    group = &g_array_index (oclass->in_groups, GstLV2Group, i);
-    if (group->has_roles) {
-      if ((positions = gst_lv2_build_positions (group))) {
-        if ((pad = gst_element_get_static_pad (GST_ELEMENT (gsp),
-                    slv2_value_as_string (group->symbol)))) {
-          GST_INFO_OBJECT (lv2, "set audio channel positions on sink pad %s",
-              slv2_value_as_string (group->symbol));
-          s = gst_caps_get_structure (caps, 0);
-          gst_audio_set_channel_positions (s, positions);
-          gst_object_unref (pad);
-        }
-        g_free (positions);
-        positions = NULL;
+        g_hash_table_add (port_groups, g_strdup (uri));
+        lilv_node_free (lv2group);
       }
-    }
-  }
-  /* set output group pad audio channel position */
-  for (i = 0; i < gsp_class->num_group_out; ++i) {
-    group = &g_array_index (oclass->out_groups, GstLV2Group, i);
-    if (group->has_roles) {
-      if ((positions = gst_lv2_build_positions (group))) {
-        if ((pad = gst_element_get_static_pad (GST_ELEMENT (gsp),
-                    slv2_value_as_string (group->symbol)))) {
-          GST_INFO_OBJECT (lv2, "set audio channel positions on src pad %s",
-              slv2_value_as_string (group->symbol));
-          s = gst_caps_get_structure (caps, 0);
-          gst_audio_set_channel_positions (s, positions);
-          gst_object_unref (pad);
-        }
-        g_free (positions);
-        positions = NULL;
-      }
-    }
-  }
-  return TRUE;
 
-no_instance:
-  {
-    GST_WARNING_OBJECT (gsp, "could not create instance");
-    return FALSE;
+      if (is_input)
+        (*audio_in)++;
+      else
+        (*audio_out)++;
+    } else if (lilv_port_is_a (lv2plugin, port, control_class) ||
+        lilv_port_is_a (lv2plugin, port, cv_class)) {
+      (*control)++;
+    }
   }
+  g_hash_table_unref (port_groups);
 }
 
+/* search the plugin path */
 static gboolean
-gst_lv2_start (GstSignalProcessor * gsp)
+lv2_plugin_discover (GstPlugin * plugin)
 {
-  GstLV2 *lv2 = (GstLV2 *) gsp;
+  guint audio_in, audio_out, control;
+  LilvIter *i;
+  const LilvPlugins *plugins = lilv_world_get_all_plugins (world);
 
-  g_return_val_if_fail (lv2->activated == FALSE, FALSE);
-  g_return_val_if_fail (lv2->instance != NULL, FALSE);
-
-  GST_DEBUG_OBJECT (lv2, "activating");
-
-  slv2_instance_activate (lv2->instance);
-
-  lv2->activated = TRUE;
-
-  return TRUE;
-}
-
-static void
-gst_lv2_stop (GstSignalProcessor * gsp)
-{
-  GstLV2 *lv2 = (GstLV2 *) gsp;
-
-  g_return_if_fail (lv2->activated == TRUE);
-  g_return_if_fail (lv2->instance != NULL);
-
-  GST_DEBUG_OBJECT (lv2, "deactivating");
-
-  slv2_instance_deactivate (lv2->instance);
-
-  lv2->activated = FALSE;
-}
-
-static void
-gst_lv2_cleanup (GstSignalProcessor * gsp)
-{
-  GstLV2 *lv2 = (GstLV2 *) gsp;
-
-  g_return_if_fail (lv2->activated == FALSE);
-  g_return_if_fail (lv2->instance != NULL);
-
-  GST_DEBUG_OBJECT (lv2, "cleaning up");
-
-  slv2_instance_free (lv2->instance);
-
-  lv2->instance = NULL;
-}
-
-static void
-gst_lv2_process (GstSignalProcessor * gsp, guint nframes)
-{
-  GstSignalProcessorClass *gsp_class;
-  GstLV2 *lv2;
-  GstLV2Class *lv2_class;
-  GstLV2Group *lv2_group;
-  GstLV2Port *lv2_port;
-  GstSignalProcessorGroup *gst_group;
-  guint i, j;
-
-  gsp_class = GST_SIGNAL_PROCESSOR_GET_CLASS (gsp);
-  lv2 = (GstLV2 *) gsp;
-  lv2_class = (GstLV2Class *) gsp_class;
-
-  /* multi channel inputs */
-  for (i = 0; i < gsp_class->num_group_in; i++) {
-    lv2_group = &g_array_index (lv2_class->in_groups, GstLV2Group, i);
-    gst_group = &gsp->group_in[i];
-    for (j = 0; j < lv2_group->ports->len; ++j) {
-      lv2_port = &g_array_index (lv2_group->ports, GstLV2Port, j);
-      slv2_instance_connect_port (lv2->instance, lv2_port->index,
-          gst_group->buffer + (j * nframes));
-    }
-  }
-  /* mono inputs */
-  for (i = 0; i < gsp_class->num_audio_in; i++) {
-    lv2_port = &g_array_index (lv2_class->audio_in_ports, GstLV2Port, i);
-    slv2_instance_connect_port (lv2->instance, lv2_port->index,
-        gsp->audio_in[i]);
-  }
-  /* multi channel outputs */
-  for (i = 0; i < gsp_class->num_group_out; i++) {
-    lv2_group = &g_array_index (lv2_class->out_groups, GstLV2Group, i);
-    gst_group = &gsp->group_out[i];
-    for (j = 0; j < lv2_group->ports->len; ++j) {
-      lv2_port = &g_array_index (lv2_group->ports, GstLV2Port, j);
-      slv2_instance_connect_port (lv2->instance, lv2_port->index,
-          gst_group->buffer + (j * nframes));
-    }
-  }
-  /* mono outputs */
-  for (i = 0; i < gsp_class->num_audio_out; i++) {
-    lv2_port = &g_array_index (lv2_class->audio_out_ports, GstLV2Port, i);
-    slv2_instance_connect_port (lv2->instance, lv2_port->index,
-        gsp->audio_out[i]);
-  }
-
-  slv2_instance_run (lv2->instance, nframes);
-}
-
-/* search the plugin path
- */
-static gboolean
-lv2_plugin_discover (void)
-{
-  guint i, j;
-  SLV2Plugins plugins = slv2_world_get_all_plugins (world);
-
-  for (i = 0; i < slv2_plugins_size (plugins); ++i) {
-    SLV2Plugin lv2plugin = slv2_plugins_get_at (plugins, i);
-    gint num_audio_ports = 0;
+  for (i = lilv_plugins_begin (plugins); !lilv_plugins_is_end (plugins, i);
+      i = lilv_plugins_next (plugins, i)) {
+    GstStructure *lv2_meta = NULL;
+    GValue value = { 0, };
+    const LilvPlugin *lv2plugin = lilv_plugins_get (plugins, i);
     const gchar *plugin_uri, *p;
     gchar *type_name;
-    GTypeInfo typeinfo = {
-      sizeof (GstLV2Class),
-      (GBaseInitFunc) gst_lv2_base_init,
-      NULL,
-      (GClassInitFunc) gst_lv2_class_init,
-      NULL,
-      lv2plugin,
-      sizeof (GstLV2),
-      0,
-      (GInstanceInitFunc) gst_lv2_init,
-    };
-    GType type;
+    gboolean can_do_presets;
 
-    plugin_uri = slv2_value_as_uri (slv2_plugin_get_uri (lv2plugin));
+    plugin_uri = lilv_node_as_uri (lilv_plugin_get_uri (lv2plugin));
+
+    /* check if we support the required host features */
+    if (!gst_lv2_check_required_features (lv2plugin)) {
+      GST_FIXME ("lv2 plugin %s needs host features", plugin_uri);
+      continue;
+    }
+
     /* construct the type name from plugin URI */
     if ((p = strstr (plugin_uri, "://"))) {
       /* cut off the protocol (e.g. http://) */
@@ -828,85 +148,154 @@
       goto next;
 
     /* check if this has any audio ports */
-    for (j = 0; j < slv2_plugin_get_num_ports (lv2plugin); j++) {
-      const SLV2Port port = slv2_plugin_get_port_by_index (lv2plugin, j);
-      if (slv2_port_is_a (lv2plugin, port, audio_class)) {
-        num_audio_ports++;
+    lv2_count_ports (lv2plugin, &audio_in, &audio_out, &control);
+
+    if (audio_in == 0 && audio_out == 0) {
+      GST_FIXME ("plugin %s has no audio pads", type_name);
+      goto next;
+    } else if (audio_in == 0) {
+      if (audio_out != 1) {
+        GST_FIXME ("plugin %s is not a GstBaseSrc (num_src_pads: %d)",
+            type_name, audio_out);
+        goto next;
+      }
+    } else if (audio_out == 0) {
+      GST_FIXME ("plugin %s is a sink element (num_sink_pads: %d"
+          " num_src_pads: %d)", type_name, audio_in, audio_out);
+      goto next;
+    } else {
+      if (audio_in != 1 || audio_out != 1) {
+        GST_FIXME ("plugin %s is not a GstAudioFilter (num_sink_pads: %d"
+            " num_src_pads: %d)", type_name, audio_in, audio_out);
+        goto next;
       }
     }
-    if (!num_audio_ports) {
-      GST_INFO ("plugin %s has no audio ports", type_name);
-      goto next;
-    }
 
-    /* create the type */
-    type =
-        g_type_register_static (GST_TYPE_SIGNAL_PROCESSOR, type_name, &typeinfo,
-        0);
+    /* check supported extensions */
+    can_do_presets = lilv_plugin_has_extension_data (lv2plugin, state_iface)
+        || lilv_plugin_has_feature (lv2plugin, state_uri)
+        || (control > 0);
+    GST_INFO ("plugin %s can%s do presets", type_name,
+        (can_do_presets ? "" : "'t"));
 
-    /* FIXME: not needed anymore when we can add pad templates, etc in class_init
-     * as class_data contains the LADSPA_Descriptor too */
-    g_type_set_qdata (type, descriptor_quark, (gpointer) lv2plugin);
+    lv2_meta = gst_structure_new ("lv2",
+        "element-uri", G_TYPE_STRING, plugin_uri,
+        "element-type-name", G_TYPE_STRING, type_name,
+        "audio-in", G_TYPE_UINT, audio_in,
+        "audio-out", G_TYPE_UINT, audio_out,
+        "can-do-presets", G_TYPE_BOOLEAN, can_do_presets, NULL);
 
-    if (!gst_element_register (gst_lv2_plugin, type_name, GST_RANK_NONE, type))
-      goto next;
+    g_value_init (&value, GST_TYPE_STRUCTURE);
+    g_value_set_boxed (&value, lv2_meta);
+    gst_structure_set_value (lv2_meta_all, type_name, &value);
+    g_value_unset (&value);
+
+    // don't free type_name
+    continue;
 
   next:
     g_free (type_name);
   }
+
   return TRUE;
 }
 
 static gboolean
 plugin_init (GstPlugin * plugin)
 {
+  gboolean res = FALSE;
+  gint n = 0;
+
   GST_DEBUG_CATEGORY_INIT (lv2_debug, "lv2",
       GST_DEBUG_FG_GREEN | GST_DEBUG_BG_BLACK | GST_DEBUG_BOLD, "LV2");
 
-  world = slv2_world_new ();
-  slv2_world_load_all (world);
+  world = lilv_world_new ();
+  lilv_world_load_all (world);
+  gst_lv2_host_init ();
 
-  audio_class = slv2_value_new_uri (world, SLV2_PORT_CLASS_AUDIO);
-  control_class = slv2_value_new_uri (world, SLV2_PORT_CLASS_CONTROL);
-  input_class = slv2_value_new_uri (world, SLV2_PORT_CLASS_INPUT);
-  output_class = slv2_value_new_uri (world, SLV2_PORT_CLASS_OUTPUT);
+/* have been added after lilv-0.22.0, which is the last release */
+#ifndef LILV_URI_ATOM_PORT
+#define LILV_URI_ATOM_PORT    "http://lv2plug.in/ns/ext/atom#AtomPort"
+#endif
+#ifndef LILV_URI_CV_PORT
+#define LILV_URI_CV_PORT      "http://lv2plug.in/ns/lv2core#CVPort"
+#endif
 
-#define NS_LV2 "http://lv2plug.in/ns/lv2core#"
-#define NS_PG  "http://lv2plug.in/ns/ext/port-groups"
+  atom_class = lilv_new_uri (world, LILV_URI_ATOM_PORT);
+  audio_class = lilv_new_uri (world, LILV_URI_AUDIO_PORT);
+  control_class = lilv_new_uri (world, LILV_URI_CONTROL_PORT);
+  cv_class = lilv_new_uri (world, LILV_URI_CV_PORT);
+  event_class = lilv_new_uri (world, LILV_URI_EVENT_PORT);
+  input_class = lilv_new_uri (world, LILV_URI_INPUT_PORT);
+  output_class = lilv_new_uri (world, LILV_URI_OUTPUT_PORT);
+  preset_class = lilv_new_uri (world, LV2_PRESETS__Preset);
+  state_iface = lilv_new_uri (world, LV2_STATE__interface);
+  state_uri = lilv_new_uri (world, LV2_STATE_URI);
 
-  integer_prop = slv2_value_new_uri (world, NS_LV2 "integer");
-  toggled_prop = slv2_value_new_uri (world, NS_LV2 "toggled");
-  in_place_broken_pred = slv2_value_new_uri (world, NS_LV2 "inPlaceBroken");
-  in_group_pred = slv2_value_new_uri (world, NS_PG "inGroup");
-  has_role_pred = slv2_value_new_uri (world, NS_PG "role");
-  lv2_symbol_pred = slv2_value_new_string (world, NS_LV2 "symbol");
+  integer_prop = lilv_new_uri (world, LV2_CORE__integer);
+  toggled_prop = lilv_new_uri (world, LV2_CORE__toggled);
+  designation_pred = lilv_new_uri (world, LV2_CORE__designation);
+  in_place_broken_pred = lilv_new_uri (world, LV2_CORE__inPlaceBroken);
+  optional_pred = lilv_new_uri (world, LV2_CORE__optionalFeature);
+  group_pred = lilv_new_uri (world, LV2_PORT_GROUPS__group);
+  supports_event_pred = lilv_new_uri (world, LV2_EVENT__supportsEvent);
+  label_pred = lilv_new_uri (world, LILV_NS_RDFS "label");
 
-  center_role = slv2_value_new_uri (world, NS_PG "centerChannel");
-  left_role = slv2_value_new_uri (world, NS_PG "leftChannel");
-  right_role = slv2_value_new_uri (world, NS_PG "rightChannel");
-  rear_center_role = slv2_value_new_uri (world, NS_PG "rearCenterChannel");
-  rear_left_role = slv2_value_new_uri (world, NS_PG "rearLeftChannel");
-  rear_right_role = slv2_value_new_uri (world, NS_PG "rearRightChannel");
-  lfe_role = slv2_value_new_uri (world, NS_PG "lfeChannel");
-  center_left_role = slv2_value_new_uri (world, NS_PG "centerLeftChannel");
-  center_right_role = slv2_value_new_uri (world, NS_PG "centerRightChannel");
-  side_left_role = slv2_value_new_uri (world, NS_PG "sideLeftChannel");
-  side_right_role = slv2_value_new_uri (world, NS_PG "sideRightChannel");
+  center_role = lilv_new_uri (world, LV2_PORT_GROUPS__center);
+  left_role = lilv_new_uri (world, LV2_PORT_GROUPS__left);
+  right_role = lilv_new_uri (world, LV2_PORT_GROUPS__right);
+  rear_center_role = lilv_new_uri (world, LV2_PORT_GROUPS__rearCenter);
+  rear_left_role = lilv_new_uri (world, LV2_PORT_GROUPS__rearLeft);
+  rear_right_role = lilv_new_uri (world, LV2_PORT_GROUPS__rearLeft);
+  lfe_role = lilv_new_uri (world, LV2_PORT_GROUPS__lowFrequencyEffects);
+  center_left_role = lilv_new_uri (world, LV2_PORT_GROUPS__centerLeft);
+  center_right_role = lilv_new_uri (world, LV2_PORT_GROUPS__centerRight);
+  side_left_role = lilv_new_uri (world, LV2_PORT_GROUPS__sideLeft);
+  side_right_role = lilv_new_uri (world, LV2_PORT_GROUPS__sideRight);
 
   gst_plugin_add_dependency_simple (plugin,
       "LV2_PATH", GST_LV2_DEFAULT_PATH, NULL, GST_PLUGIN_DEPENDENCY_FLAG_NONE);
 
-  parent_class = g_type_class_ref (GST_TYPE_SIGNAL_PROCESSOR);
-
-  gst_lv2_plugin = plugin;
-  descriptor_quark = g_quark_from_static_string ("slv2-plugin");
-
   /* ensure GstAudioChannelPosition type is registered */
   if (!gst_audio_channel_position_get_type ())
     return FALSE;
 
-  if (!lv2_plugin_discover ()) {
-    GST_WARNING ("no lv2 plugins found, check LV2_PATH");
+  lv2_meta_all = (GstStructure *) gst_plugin_get_cache_data (plugin);
+  if (lv2_meta_all) {
+    n = gst_structure_n_fields (lv2_meta_all);
+  }
+  GST_INFO_OBJECT (plugin, "%d entries in cache", n);
+  if (!n) {
+    lv2_meta_all = gst_structure_new_empty ("lv2");
+    if ((res = lv2_plugin_discover (plugin))) {
+      n = gst_structure_n_fields (lv2_meta_all);
+      GST_INFO_OBJECT (plugin, "%d entries after scanning", n);
+      gst_plugin_set_cache_data (plugin, lv2_meta_all);
+    }
+  } else {
+    res = TRUE;
+  }
+
+  if (n) {
+    gint i;
+    const gchar *name;
+    const GValue *value;
+
+    GST_INFO_OBJECT (plugin, "register types");
+
+    for (i = 0; i < n; i++) {
+      name = gst_structure_nth_field_name (lv2_meta_all, i);
+      value = gst_structure_get_value (lv2_meta_all, name);
+      if (G_VALUE_TYPE (value) == GST_TYPE_STRUCTURE) {
+        GstStructure *lv2_meta = g_value_get_boxed (value);
+
+        lv2_plugin_register_element (plugin, lv2_meta);
+      }
+    }
+  }
+
+  if (!res) {
+    GST_WARNING_OBJECT (plugin, "no lv2 plugins found, check LV2_PATH");
   }
 
   /* we don't want to fail, even if there are no elements registered */
@@ -918,31 +307,39 @@
 #endif
      static void plugin_cleanup (GstPlugin * plugin)
 {
-  slv2_value_free (audio_class);
-  slv2_value_free (control_class);
-  slv2_value_free (input_class);
-  slv2_value_free (output_class);
+  lilv_node_free (atom_class);
+  lilv_node_free (audio_class);
+  lilv_node_free (control_class);
+  lilv_node_free (cv_class);
+  lilv_node_free (event_class);
+  lilv_node_free (input_class);
+  lilv_node_free (output_class);
+  lilv_node_free (preset_class);
+  lilv_node_free (state_iface);
+  lilv_node_free (state_uri);
 
-  slv2_value_free (integer_prop);
-  slv2_value_free (toggled_prop);
-  slv2_value_free (in_place_broken_pred);
-  slv2_value_free (in_group_pred);
-  slv2_value_free (has_role_pred);
-  slv2_value_free (lv2_symbol_pred);
+  lilv_node_free (integer_prop);
+  lilv_node_free (toggled_prop);
+  lilv_node_free (designation_pred);
+  lilv_node_free (in_place_broken_pred);
+  lilv_node_free (optional_pred);
+  lilv_node_free (group_pred);
+  lilv_node_free (supports_event_pred);
+  lilv_node_free (label_pred);
 
-  slv2_value_free (center_role);
-  slv2_value_free (left_role);
-  slv2_value_free (right_role);
-  slv2_value_free (rear_center_role);
-  slv2_value_free (rear_left_role);
-  slv2_value_free (rear_right_role);
-  slv2_value_free (lfe_role);
-  slv2_value_free (center_left_role);
-  slv2_value_free (center_right_role);
-  slv2_value_free (side_left_role);
-  slv2_value_free (side_right_role);
+  lilv_node_free (center_role);
+  lilv_node_free (left_role);
+  lilv_node_free (right_role);
+  lilv_node_free (rear_center_role);
+  lilv_node_free (rear_left_role);
+  lilv_node_free (rear_right_role);
+  lilv_node_free (lfe_role);
+  lilv_node_free (center_left_role);
+  lilv_node_free (center_right_role);
+  lilv_node_free (side_left_role);
+  lilv_node_free (side_right_role);
 
-  slv2_world_free (world);
+  lilv_world_free (world);
 }
 
 GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
diff --git a/ext/lv2/gstlv2.h b/ext/lv2/gstlv2.h
index 6f0b466..177f9b2 100644
--- a/ext/lv2/gstlv2.h
+++ b/ext/lv2/gstlv2.h
@@ -1,7 +1,8 @@
 /* GStreamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
- *
- * gstladspa.h: Header for LV2 plugin
+ * Copyright (C) 1999 Erik Walthinsen <omega@cse.ogi.edu>
+ *               2001 Steve Baker <stevebaker_org@yahoo.co.uk>
+ *               2003 Andy Wingo <wingo at pobox.com>
+ *               2016 Thibault Saunier <thibault.saunier@collabora.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -19,77 +20,51 @@
  * Boston, MA 02110-1301, USA.
  */
 
-
 #ifndef __GST_LV2_H__
 #define __GST_LV2_H__
 
-
-#include <slv2/slv2.h>
-
+#include <lilv/lilv.h>
 #include <gst/gst.h>
 
-#include <gst/signalprocessor/gstsignalprocessor.h>
+#include "gstlv2utils.h"
 
+LilvWorld *world;
+LilvNode *atom_class;
+LilvNode *audio_class;
+LilvNode *control_class;
+LilvNode *cv_class;
+LilvNode *event_class;
+LilvNode *input_class;
+LilvNode *output_class;
+LilvNode *preset_class;
+LilvNode *state_iface;
+LilvNode *state_uri;
 
-G_BEGIN_DECLS
+LilvNode *integer_prop;
+LilvNode *toggled_prop;
+LilvNode *designation_pred;
+LilvNode *in_place_broken_pred;
+LilvNode *optional_pred;
+LilvNode *group_pred;
+LilvNode *supports_event_pred;
+LilvNode *label_pred;
 
+LilvNode *center_role;
+LilvNode *left_role;
+LilvNode *right_role;
+LilvNode *rear_center_role;
+LilvNode *rear_left_role;
+LilvNode *rear_right_role;
+LilvNode *lfe_role;
+LilvNode *center_left_role;
+LilvNode *center_right_role;
+LilvNode *side_left_role;
+LilvNode *side_right_role;
 
-typedef struct _lv2_control_info {
-  gchar *name;
-  gchar *param_name;
-  gfloat lowerbound, upperbound;
-  gfloat def;
-  gboolean lower, upper, samplerate;
-  gboolean toggled, logarithmic, integer, writable;
-} lv2_control_info;
+GstStructure *lv2_meta_all;
 
-
-typedef struct _GstLV2 GstLV2;
-typedef struct _GstLV2Class GstLV2Class;
-typedef struct _GstLV2Group GstLV2Group;
-typedef struct _GstLV2Port GstLV2Port;
-
-
-struct _GstLV2 {
-  GstSignalProcessor parent;
-
-  SLV2Plugin plugin;
-  SLV2Instance instance;
-
-  gboolean activated;
-};
-
-struct _GstLV2Group {
-  SLV2Value uri; /**< RDF resource (URI or blank node) */
-  guint pad; /**< Gst pad index */
-  SLV2Value symbol; /**< Gst pad name / LV2 group symbol */
-  GArray *ports; /**< Array of GstLV2Port */
-  gboolean has_roles; /**< TRUE iff all ports have a known role */
-};
-
-struct _GstLV2Port {
-  gint index; /**< LV2 port index (on LV2 plugin) */
-  gint pad; /**< Gst pad index (iff not part of a group) */
-  SLV2Value role; /**< Channel position / port role */
-  GstAudioChannelPosition position; /**< Channel position */
-};
-
-struct _GstLV2Class {
-  GstSignalProcessorClass parent_class;
-
-  SLV2Plugin plugin;
-
-  GArray *in_groups; /**< Array of GstLV2Group */
-  GArray *out_groups; /**< Array of GstLV2Group */
-  GArray *audio_in_ports; /**< Array of GstLV2Port */
-  GArray *audio_out_ports; /**< Array of GstLV2Port */
-  GArray *control_in_ports; /**< Array of GstLV2Port */
-  GArray *control_out_ports; /**< Array of GstLV2Port */
-
-};
-
-
-G_END_DECLS
-
-
+void gst_lv2_filter_register_element (GstPlugin *plugin,
+                                      GstStructure * lv2_meta);
+void gst_lv2_source_register_element (GstPlugin *plugin,
+                                      GstStructure * lv2_meta);
 #endif /* __GST_LV2_H__ */
diff --git a/ext/lv2/gstlv2filter.c b/ext/lv2/gstlv2filter.c
new file mode 100644
index 0000000..0ef6ade
--- /dev/null
+++ b/ext/lv2/gstlv2filter.c
@@ -0,0 +1,568 @@
+/* GStreamer
+ * Copyright (C) 1999 Erik Walthinsen <omega@cse.ogi.edu>
+ *               2001 Steve Baker <stevebaker_org@yahoo.co.uk>
+ *               2003 Andy Wingo <wingo at pobox.com>
+ *               2016 Thibault Saunier <thibault.saunier@collabora.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 "gstlv2.h"
+#include "gstlv2utils.h"
+
+#include <string.h>
+#include <math.h>
+#include <glib.h>
+
+#include <lilv/lilv.h>
+
+#include <gst/audio/audio.h>
+#include <gst/audio/gstaudiofilter.h>
+#include <gst/audio/audio-channels.h>
+
+GST_DEBUG_CATEGORY_EXTERN (lv2_debug);
+#define GST_CAT_DEFAULT lv2_debug
+
+typedef struct _lv2_control_info
+{
+  gchar *name;
+  gchar *param_name;
+  gfloat lowerbound, upperbound;
+  gfloat def;
+  gboolean lower, upper, samplerate;
+  gboolean toggled, logarithmic, integer, writable;
+} lv2_control_info;
+
+
+typedef struct _GstLV2Filter GstLV2Filter;
+typedef struct _GstLV2FilterClass GstLV2FilterClass;
+
+
+struct _GstLV2Filter
+{
+  GstAudioFilter parent;
+
+  GstLV2 lv2;
+};
+
+struct _GstLV2FilterClass
+{
+  GstAudioFilterClass parent_class;
+
+  GstLV2Class lv2;
+};
+
+static GstAudioFilter *parent_class = NULL;
+
+/* preset interface */
+
+static gchar **
+gst_lv2_filter_get_preset_names (GstPreset * preset)
+{
+  GstLV2Filter *self = (GstLV2Filter *) preset;
+
+  return gst_lv2_get_preset_names (&self->lv2, (GstObject *) self);
+}
+
+static gboolean
+gst_lv2_filter_load_preset (GstPreset * preset, const gchar * name)
+{
+  GstLV2Filter *self = (GstLV2Filter *) preset;
+
+  return gst_lv2_load_preset (&self->lv2, (GstObject *) self, name);
+}
+
+static gboolean
+gst_lv2_filter_save_preset (GstPreset * preset, const gchar * name)
+{
+  GstLV2Filter *self = (GstLV2Filter *) preset;
+
+  return gst_lv2_save_preset (&self->lv2, (GstObject *) self, name);
+}
+
+static gboolean
+gst_lv2_filter_rename_preset (GstPreset * preset, const gchar * old_name,
+    const gchar * new_name)
+{
+  return FALSE;
+}
+
+static gboolean
+gst_lv2_filter_delete_preset (GstPreset * preset, const gchar * name)
+{
+  GstLV2Filter *self = (GstLV2Filter *) preset;
+
+  return gst_lv2_delete_preset (&self->lv2, (GstObject *) self, name);
+}
+
+static gboolean
+gst_lv2_filter_set_meta (GstPreset * preset, const gchar * name,
+    const gchar * tag, const gchar * value)
+{
+  return FALSE;
+}
+
+static gboolean
+gst_lv2_filter_get_meta (GstPreset * preset, const gchar * name,
+    const gchar * tag, gchar ** value)
+{
+  *value = NULL;
+  return FALSE;
+}
+
+static void
+gst_lv2_filter_preset_interface_init (gpointer g_iface, gpointer iface_data)
+{
+  GstPresetInterface *iface = g_iface;
+
+  iface->get_preset_names = gst_lv2_filter_get_preset_names;
+  iface->load_preset = gst_lv2_filter_load_preset;
+  iface->save_preset = gst_lv2_filter_save_preset;
+  iface->rename_preset = gst_lv2_filter_rename_preset;
+  iface->delete_preset = gst_lv2_filter_delete_preset;
+  iface->set_meta = gst_lv2_filter_set_meta;
+  iface->get_meta = gst_lv2_filter_get_meta;
+}
+
+
+/* GObject vmethods implementation */
+static void
+gst_lv2_filter_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstLV2Filter *self = (GstLV2Filter *) object;
+
+  gst_lv2_object_set_property (&self->lv2, object, prop_id, value, pspec);
+}
+
+static void
+gst_lv2_filter_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
+{
+  GstLV2Filter *self = (GstLV2Filter *) object;
+
+  gst_lv2_object_get_property (&self->lv2, object, prop_id, value, pspec);
+}
+
+static void
+gst_lv2_filter_finalize (GObject * object)
+{
+  GstLV2Filter *self = (GstLV2Filter *) object;
+
+  gst_lv2_finalize (&self->lv2);
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+#if 0
+/* Convert an LV2 port role to a Gst channel positon
+ * WARNING: If the group has only a single port,
+ * GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER will be returned for pg:centerRole
+ * (which is used by LV2 for mono groups), but this is not correct.  In this
+ * case the value must be changed to GST_AUDIO_CHANNEL_POSITION_FRONT_MONO
+ * (this can't be done by this function because this information isn't known
+ * at the time it is used).
+ */
+static GstAudioChannelPosition
+gst_lv2_filter_role_to_position (LilvNode * role)
+{
+  /* Front.  Mono and left/right are mututally exclusive */
+  if (lilv_node_equals (role, center_role)) {
+
+    return GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER;
+  } else if (lilv_node_equals (role, left_role)) {
+    return GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT;
+  } else if (lilv_node_equals (role, right_role)) {
+    return GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT;
+
+    /* Rear. Left/right and center are mututally exclusive */
+  } else if (lilv_node_equals (role, rear_center_role)) {
+    return GST_AUDIO_CHANNEL_POSITION_REAR_CENTER;
+  } else if (lilv_node_equals (role, rear_left_role)) {
+    return GST_AUDIO_CHANNEL_POSITION_REAR_LEFT;
+  } else if (lilv_node_equals (role, rear_right_role)) {
+    return GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT;
+
+    /* Subwoofer/low-frequency-effects */
+  } else if (lilv_node_equals (role, lfe_role)) {
+    return GST_AUDIO_CHANNEL_POSITION_LFE1;
+
+    /* Center front speakers. Center and left/right_of_center
+     * are mutually exclusive */
+  } else if (lilv_node_equals (role, center_left_role)) {
+    return GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER;
+  } else if (lilv_node_equals (role, center_right_role)) {
+    return GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER;
+
+    /* sides */
+  } else if (lilv_node_equals (role, side_left_role)) {
+    return GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT;
+  } else if (lilv_node_equals (role, side_right_role)) {
+    return GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT;
+  }
+
+  return GST_AUDIO_CHANNEL_POSITION_INVALID;
+}
+
+static GstAudioChannelPosition *
+gst_lv2_filter_build_positions (GstLV2Group * group)
+{
+  GstAudioChannelPosition *positions = NULL;
+
+  /* don't do anything for mono */
+  if (group->ports->len > 1) {
+    gint i;
+
+    positions = g_new (GstAudioChannelPosition, group->ports->len);
+    for (i = 0; i < group->ports->len; ++i)
+      positions[i] = g_array_index (group->ports, GstLV2Port, i).position;
+  }
+  return positions;
+}
+#endif
+
+/* Find and return the group @a uri in @a groups, or NULL if not found */
+static void
+gst_lv2_filter_type_class_add_pad_templates (GstLV2FilterClass * klass)
+{
+  GstCaps *srccaps, *sinkcaps;
+  GstPadTemplate *pad_template;
+  GstElementClass *elem_class = GST_ELEMENT_CLASS (klass);
+
+  gint in_channels = 1, out_channels = 1;
+
+  in_channels = klass->lv2.in_group.ports->len;
+
+  out_channels = klass->lv2.out_group.ports->len;
+
+  /* FIXME Implement deintereleaved audio support */
+  sinkcaps = gst_caps_new_simple ("audio/x-raw",
+      "format", G_TYPE_STRING, GST_AUDIO_NE (F32),
+      "channels", G_TYPE_INT, in_channels,
+      "rate", GST_TYPE_INT_RANGE, 1, G_MAXINT,
+      "layout", G_TYPE_STRING, "interleaved", NULL);
+
+  srccaps = gst_caps_new_simple ("audio/x-raw",
+      "format", G_TYPE_STRING, GST_AUDIO_NE (F32),
+      "channels", G_TYPE_INT, out_channels,
+      "rate", GST_TYPE_INT_RANGE, 1, G_MAXINT,
+      "layout", G_TYPE_STRING, "interleaved", NULL);
+
+  pad_template =
+      gst_pad_template_new (GST_BASE_TRANSFORM_SINK_NAME, GST_PAD_SINK,
+      GST_PAD_ALWAYS, sinkcaps);
+  gst_element_class_add_pad_template (elem_class, pad_template);
+
+  pad_template =
+      gst_pad_template_new (GST_BASE_TRANSFORM_SRC_NAME, GST_PAD_SRC,
+      GST_PAD_ALWAYS, srccaps);
+  gst_element_class_add_pad_template (elem_class, pad_template);
+
+  gst_caps_unref (sinkcaps);
+  gst_caps_unref (srccaps);
+}
+
+static gboolean
+gst_lv2_filter_setup (GstAudioFilter * gsp, const GstAudioInfo * info)
+{
+  GstLV2Filter *self = (GstLV2Filter *) gsp;
+
+  g_return_val_if_fail (self->lv2.activated == FALSE, FALSE);
+
+  GST_DEBUG_OBJECT (self, "instantiating the plugin at %d Hz",
+      GST_AUDIO_INFO_RATE (info));
+
+  if (!gst_lv2_setup (&self->lv2, GST_AUDIO_INFO_RATE (info)))
+    goto no_instance;
+
+  /* FIXME Handle audio channel positionning while negotiating CAPS */
+#if 0
+  gint i;
+  /* set input group pad audio channel position */
+  for (i = 0; i < oclass->lv2.in_groups->len; ++i) {
+    group = &g_array_index (oclass->lv2.in_groups, GstLV2Group, i);
+    if (group->has_roles) {
+      if ((positions = gst_lv2_filter_build_positions (group))) {
+        if ((pad = gst_element_get_static_pad (GST_ELEMENT (gsp),
+                    lilv_node_as_string (group->symbol)))) {
+          GST_INFO_OBJECT (self, "set audio channel positions on sink pad %s",
+              lilv_node_as_string (group->symbol));
+          s = gst_caps_get_structure (caps, 0);
+          gst_audio_set_channel_positions (s, positions);
+          gst_object_unref (pad);
+        }
+        g_free (positions);
+        positions = NULL;
+      }
+    }
+  }
+  /* set output group pad audio channel position */
+  for (i = 0; i < oclass->lv2.out_groups->len; ++i) {
+    group = &g_array_index (oclass->lv2.out_groups, GstLV2Group, i);
+    if (group->has_roles) {
+      if ((positions = gst_lv2_filter_build_positions (group))) {
+        if ((pad = gst_element_get_static_pad (GST_ELEMENT (gsp),
+                    lilv_node_as_string (group->symbol)))) {
+          GST_INFO_OBJECT (self, "set audio channel positions on src pad %s",
+              lilv_node_as_string (group->symbol));
+          s = gst_caps_get_structure (caps, 0);
+          gst_audio_set_channel_positions (s, positions);
+          gst_object_unref (pad);
+        }
+        g_free (positions);
+        positions = NULL;
+      }
+    }
+  }
+#endif
+
+  return TRUE;
+
+no_instance:
+  {
+    GST_ERROR_OBJECT (gsp, "could not create instance");
+    return FALSE;
+  }
+}
+
+static gboolean
+gst_lv2_filter_stop (GstBaseTransform * transform)
+{
+  GstLV2Filter *lv2 = (GstLV2Filter *) transform;
+
+  return gst_lv2_cleanup (&lv2->lv2, (GstObject *) lv2);
+}
+
+static inline void
+gst_lv2_filter_deinterleave_data (guint n_channels, gfloat * outdata,
+    guint samples, gfloat * indata)
+{
+  guint i, j;
+
+  for (i = 0; i < n_channels; i++)
+    for (j = 0; j < samples; j++)
+      outdata[i * samples + j] = indata[j * n_channels + i];
+}
+
+static inline void
+gst_lv2_filter_interleave_data (guint n_channels, gfloat * outdata,
+    guint samples, gfloat * indata)
+{
+  guint i, j;
+
+  for (i = 0; i < n_channels; i++)
+    for (j = 0; j < samples; j++) {
+      outdata[j * n_channels + i] = indata[i * samples + j];
+    }
+}
+
+static GstFlowReturn
+gst_lv2_filter_transform_data (GstLV2Filter * self,
+    GstMapInfo * in_map, GstMapInfo * out_map)
+{
+  GstLV2FilterClass *klass =
+      (GstLV2FilterClass *) GST_AUDIO_FILTER_GET_CLASS (self);
+  GstLV2Class *lv2_class = &klass->lv2;
+  GstLV2Group *lv2_group;
+  GstLV2Port *lv2_port;
+  guint j, k, l, nframes, samples, out_samples;
+  gfloat *in = NULL, *out = NULL, *cv = NULL, *mem;
+  gfloat val;
+
+  nframes = in_map->size / sizeof (float);
+
+  /* multi channel inputs */
+  lv2_group = &lv2_class->in_group;
+  samples = nframes / lv2_group->ports->len;
+  in = g_new0 (gfloat, nframes);
+  GST_LOG_OBJECT (self, "in : samples=%u, nframes=%u, ports=%d", samples,
+      nframes, lv2_group->ports->len);
+
+  if (lv2_group->ports->len > 1)
+    gst_lv2_filter_deinterleave_data (lv2_group->ports->len, in,
+        samples, (gfloat *) in_map->data);
+
+  for (j = 0; j < lv2_group->ports->len; ++j) {
+    lv2_port = &g_array_index (lv2_group->ports, GstLV2Port, j);
+    lilv_instance_connect_port (self->lv2.instance, lv2_port->index,
+        in + (j * samples));
+  }
+
+  /* multi channel outputs */
+  lv2_group = &lv2_class->out_group;
+  out_samples = nframes / lv2_group->ports->len;
+  out = g_new0 (gfloat, samples * lv2_group->ports->len);
+  GST_LOG_OBJECT (self, "out: samples=%u, nframes=%u, ports=%d", out_samples,
+      nframes, lv2_group->ports->len);
+  for (j = 0; j < lv2_group->ports->len; ++j) {
+    lv2_port = &g_array_index (lv2_group->ports, GstLV2Port, j);
+    lilv_instance_connect_port (self->lv2.instance, lv2_port->index,
+        out + (j * out_samples));
+  }
+
+  /* cv ports */
+  cv = g_new (gfloat, samples * lv2_class->num_cv_in);
+  for (j = k = 0; j < lv2_class->control_in_ports->len; j++) {
+    lv2_port = &g_array_index (lv2_class->control_in_ports, GstLV2Port, j);
+    if (lv2_port->type != GST_LV2_PORT_CV)
+      continue;
+
+    mem = cv + (k * samples);
+    val = self->lv2.ports.control.in[j];
+    /* FIXME: use gst_control_binding_get_value_array */
+    for (l = 0; l < samples; l++)
+      mem[l] = val;
+    lilv_instance_connect_port (self->lv2.instance, lv2_port->index, mem);
+    k++;
+  }
+
+  lilv_instance_run (self->lv2.instance, samples);
+
+  if (lv2_group->ports->len > 1)
+    gst_lv2_filter_interleave_data (lv2_group->ports->len,
+        (gfloat *) out_map->data, out_samples, out);
+  g_free (out);
+  g_free (in);
+  g_free (cv);
+
+  return GST_FLOW_OK;
+}
+
+static GstFlowReturn
+gst_lv2_filter_transform_ip (GstBaseTransform * transform, GstBuffer * buf)
+{
+  GstFlowReturn ret;
+  GstMapInfo map;
+
+  gst_buffer_map (buf, &map, GST_MAP_READWRITE);
+
+  ret = gst_lv2_filter_transform_data ((GstLV2Filter *) transform, &map, &map);
+
+  gst_buffer_unmap (buf, &map);
+
+  return ret;
+}
+
+static GstFlowReturn
+gst_lv2_filter_transform (GstBaseTransform * transform,
+    GstBuffer * inbuf, GstBuffer * outbuf)
+{
+  GstMapInfo in_map, out_map;
+  GstFlowReturn ret;
+
+  gst_buffer_map (inbuf, &in_map, GST_MAP_READ);
+  gst_buffer_map (outbuf, &out_map, GST_MAP_WRITE);
+
+  ret = gst_lv2_filter_transform_data ((GstLV2Filter *) transform,
+      &in_map, &out_map);
+
+  gst_buffer_unmap (inbuf, &in_map);
+  gst_buffer_unmap (outbuf, &out_map);
+
+  return ret;
+}
+
+static void
+gst_lv2_filter_base_init (gpointer g_class)
+{
+  GstLV2FilterClass *klass = (GstLV2FilterClass *) g_class;
+  GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
+
+  gst_lv2_class_init (&klass->lv2, G_TYPE_FROM_CLASS (klass));
+
+  gst_lv2_element_class_set_metadata (&klass->lv2, element_class,
+      "Filter/Effect/Audio/LV2");
+
+  gst_lv2_filter_type_class_add_pad_templates (klass);
+}
+
+static void
+gst_lv2_filter_base_finalize (GstLV2FilterClass * lv2_class)
+{
+  gst_lv2_class_finalize (&lv2_class->lv2);
+}
+
+static void
+gst_lv2_filter_class_init (GstLV2FilterClass * klass)
+{
+  GObjectClass *gobject_class = (GObjectClass *) klass;
+  GstBaseTransformClass *transform_class = GST_BASE_TRANSFORM_CLASS (klass);
+  GstAudioFilterClass *audiofilter_class = GST_AUDIO_FILTER_CLASS (klass);
+
+  GST_DEBUG ("class_init %p", klass);
+
+  gobject_class->set_property = gst_lv2_filter_set_property;
+  gobject_class->get_property = gst_lv2_filter_get_property;
+  gobject_class->finalize = gst_lv2_filter_finalize;
+
+  audiofilter_class->setup = gst_lv2_filter_setup;
+
+  transform_class->stop = gst_lv2_filter_stop;
+  transform_class->transform = gst_lv2_filter_transform;
+  transform_class->transform_ip = gst_lv2_filter_transform_ip;
+
+  gst_lv2_class_install_properties (&klass->lv2, gobject_class, 1);
+}
+
+static void
+gst_lv2_filter_init (GstLV2Filter * self, GstLV2FilterClass * klass)
+{
+  gst_lv2_init (&self->lv2, &klass->lv2);
+
+  if (!lilv_plugin_has_feature (klass->lv2.plugin, in_place_broken_pred))
+    gst_base_transform_set_in_place (GST_BASE_TRANSFORM (self), TRUE);
+}
+
+void
+gst_lv2_filter_register_element (GstPlugin * plugin, GstStructure * lv2_meta)
+{
+  GTypeInfo info = {
+    sizeof (GstLV2FilterClass),
+    (GBaseInitFunc) gst_lv2_filter_base_init,
+    (GBaseFinalizeFunc) gst_lv2_filter_base_finalize,
+    (GClassInitFunc) gst_lv2_filter_class_init,
+    NULL,
+    NULL,
+    sizeof (GstLV2Filter),
+    0,
+    (GInstanceInitFunc) gst_lv2_filter_init,
+  };
+  const gchar *type_name =
+      gst_structure_get_string (lv2_meta, "element-type-name");
+  GType element_type =
+      g_type_register_static (GST_TYPE_AUDIO_FILTER, type_name, &info, 0);
+  gboolean can_do_presets;
+
+  /* register interfaces */
+  gst_structure_get_boolean (lv2_meta, "can-do-presets", &can_do_presets);
+  if (can_do_presets) {
+    const GInterfaceInfo preset_interface_info = {
+      (GInterfaceInitFunc) gst_lv2_filter_preset_interface_init,
+      NULL,
+      NULL
+    };
+    g_type_add_interface_static (element_type, GST_TYPE_PRESET,
+        &preset_interface_info);
+  }
+
+  gst_element_register (plugin, type_name, GST_RANK_NONE, element_type);
+
+  if (!parent_class)
+    parent_class = g_type_class_ref (GST_TYPE_AUDIO_FILTER);
+}
diff --git a/ext/lv2/gstlv2source.c b/ext/lv2/gstlv2source.c
new file mode 100644
index 0000000..56f9911
--- /dev/null
+++ b/ext/lv2/gstlv2source.c
@@ -0,0 +1,755 @@
+/* GStreamer
+ * Copyright (C) 1999 Erik Walthinsen <omega@cse.ogi.edu>
+ *               2001 Steve Baker <stevebaker_org@yahoo.co.uk>
+ *               2003 Andy Wingo <wingo at pobox.com>
+ *               2016 Stefan Sauer <ensonic@users.sf.net>
+ *
+ * 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 "gstlv2.h"
+#include "gstlv2utils.h"
+
+#include <string.h>
+#include <math.h>
+#include <glib.h>
+
+#include <lilv/lilv.h>
+
+#include <gst/audio/audio.h>
+#include <gst/audio/audio-channels.h>
+#include <gst/base/gstbasesrc.h>
+
+GST_DEBUG_CATEGORY_EXTERN (lv2_debug);
+#define GST_CAT_DEFAULT lv2_debug
+
+
+typedef struct _GstLV2Source GstLV2Source;
+typedef struct _GstLV2SourceClass GstLV2SourceClass;
+
+struct _GstLV2Source
+{
+  GstBaseSrc parent;
+
+  GstLV2 lv2;
+
+  /* audio parameters */
+  GstAudioInfo info;
+  gint samples_per_buffer;
+
+  /*< private > */
+  gboolean tags_pushed;         /* send tags just once ? */
+  GstClockTimeDiff timestamp_offset;    /* base offset */
+  GstClockTime next_time;       /* next timestamp */
+  gint64 next_sample;           /* next sample to send */
+  gint64 next_byte;             /* next byte to send */
+  gint64 sample_stop;
+  gboolean check_seek_stop;
+  gboolean eos_reached;
+  gint generate_samples_per_buffer;     /* used to generate a partial buffer */
+  gboolean can_activate_pull;
+  gboolean reverse;             /* play backwards */
+};
+
+struct _GstLV2SourceClass
+{
+  GstBaseSrcClass parent_class;
+
+  GstLV2Class lv2;
+};
+
+enum
+{
+  GST_LV2_SOURCE_PROP_0,
+  GST_LV2_SOURCE_PROP_SAMPLES_PER_BUFFER,
+  GST_LV2_SOURCE_PROP_IS_LIVE,
+  GST_LV2_SOURCE_PROP_TIMESTAMP_OFFSET,
+  GST_LV2_SOURCE_PROP_CAN_ACTIVATE_PUSH,
+  GST_LV2_SOURCE_PROP_CAN_ACTIVATE_PULL,
+  GST_LV2_SOURCE_PROP_LAST
+};
+
+static GstBaseSrc *parent_class = NULL;
+
+/* preset interface */
+
+static gchar **
+gst_lv2_source_get_preset_names (GstPreset * preset)
+{
+  GstLV2Source *self = (GstLV2Source *) preset;
+
+  return gst_lv2_get_preset_names (&self->lv2, (GstObject *) self);
+}
+
+static gboolean
+gst_lv2_source_load_preset (GstPreset * preset, const gchar * name)
+{
+  GstLV2Source *self = (GstLV2Source *) preset;
+
+  return gst_lv2_load_preset (&self->lv2, (GstObject *) self, name);
+}
+
+static gboolean
+gst_lv2_source_save_preset (GstPreset * preset, const gchar * name)
+{
+  GstLV2Source *self = (GstLV2Source *) preset;
+
+  return gst_lv2_save_preset (&self->lv2, (GstObject *) self, name);
+}
+
+static gboolean
+gst_lv2_source_rename_preset (GstPreset * preset, const gchar * old_name,
+    const gchar * new_name)
+{
+  return FALSE;
+}
+
+static gboolean
+gst_lv2_source_delete_preset (GstPreset * preset, const gchar * name)
+{
+  GstLV2Source *self = (GstLV2Source *) preset;
+
+  return gst_lv2_delete_preset (&self->lv2, (GstObject *) self, name);
+}
+
+static gboolean
+gst_lv2_source_set_meta (GstPreset * preset, const gchar * name,
+    const gchar * tag, const gchar * value)
+{
+  return FALSE;
+}
+
+static gboolean
+gst_lv2_source_get_meta (GstPreset * preset, const gchar * name,
+    const gchar * tag, gchar ** value)
+{
+  *value = NULL;
+  return FALSE;
+}
+
+static void
+gst_lv2_source_preset_interface_init (gpointer g_iface, gpointer iface_data)
+{
+  GstPresetInterface *iface = g_iface;
+
+  iface->get_preset_names = gst_lv2_source_get_preset_names;
+  iface->load_preset = gst_lv2_source_load_preset;
+  iface->save_preset = gst_lv2_source_save_preset;
+  iface->rename_preset = gst_lv2_source_rename_preset;
+  iface->delete_preset = gst_lv2_source_delete_preset;
+  iface->set_meta = gst_lv2_source_set_meta;
+  iface->get_meta = gst_lv2_source_get_meta;
+}
+
+
+/* GstBasesrc vmethods implementation */
+
+static gboolean
+gst_lv2_source_set_caps (GstBaseSrc * base, GstCaps * caps)
+{
+  GstLV2Source *lv2 = (GstLV2Source *) base;
+  GstAudioInfo info;
+
+  if (!gst_audio_info_from_caps (&info, caps)) {
+    GST_ERROR_OBJECT (base, "received invalid caps");
+    return FALSE;
+  }
+
+  GST_DEBUG_OBJECT (lv2, "negotiated to caps %" GST_PTR_FORMAT, caps);
+
+  lv2->info = info;
+
+  gst_base_src_set_blocksize (base,
+      GST_AUDIO_INFO_BPF (&info) * lv2->samples_per_buffer);
+
+  if (!gst_lv2_setup (&lv2->lv2, GST_AUDIO_INFO_RATE (&info)))
+    goto no_instance;
+
+  return TRUE;
+
+no_instance:
+  {
+    GST_ERROR_OBJECT (lv2, "could not create instance");
+    return FALSE;
+  }
+}
+
+static GstCaps *
+gst_lv2_source_fixate (GstBaseSrc * base, GstCaps * caps)
+{
+  GstLV2Source *lv2 = (GstLV2Source *) base;
+  GstStructure *structure;
+
+  caps = gst_caps_make_writable (caps);
+
+  structure = gst_caps_get_structure (caps, 0);
+
+  GST_DEBUG_OBJECT (lv2, "fixating samplerate to %d", GST_AUDIO_DEF_RATE);
+
+  gst_structure_fixate_field_nearest_int (structure, "rate",
+      GST_AUDIO_DEF_RATE);
+
+  gst_structure_fixate_field_string (structure, "format", GST_AUDIO_NE (F32));
+
+  gst_structure_fixate_field_nearest_int (structure, "channels",
+      lv2->lv2.klass->out_group.ports->len);
+
+  caps = GST_BASE_SRC_CLASS (parent_class)->fixate (base, caps);
+
+  return caps;
+}
+
+static void
+gst_lv2_source_get_times (GstBaseSrc * base, GstBuffer * buffer,
+    GstClockTime * start, GstClockTime * end)
+{
+  /* for live sources, sync on the timestamp of the buffer */
+  if (gst_base_src_is_live (base)) {
+    GstClockTime timestamp = GST_BUFFER_TIMESTAMP (buffer);
+
+    if (GST_CLOCK_TIME_IS_VALID (timestamp)) {
+      /* get duration to calculate end time */
+      GstClockTime duration = GST_BUFFER_DURATION (buffer);
+
+      if (GST_CLOCK_TIME_IS_VALID (duration)) {
+        *end = timestamp + duration;
+      }
+      *start = timestamp;
+    }
+  } else {
+    *start = -1;
+    *end = -1;
+  }
+}
+
+/* seek to time, will be called when we operate in push mode. In pull mode we
+ * get the requested byte offset. */
+static gboolean
+gst_lv2_source_do_seek (GstBaseSrc * base, GstSegment * segment)
+{
+  GstLV2Source *lv2 = (GstLV2Source *) base;
+  GstClockTime time;
+  gint samplerate, bpf;
+  gint64 next_sample;
+
+  GST_DEBUG_OBJECT (lv2, "seeking %" GST_SEGMENT_FORMAT, segment);
+
+  time = segment->position;
+  lv2->reverse = (segment->rate < 0.0);
+
+  samplerate = GST_AUDIO_INFO_RATE (&lv2->info);
+  bpf = GST_AUDIO_INFO_BPF (&lv2->info);
+
+  /* now move to the time indicated, don't seek to the sample *after* the time */
+  next_sample = gst_util_uint64_scale_int (time, samplerate, GST_SECOND);
+  lv2->next_byte = next_sample * bpf;
+  if (samplerate == 0)
+    lv2->next_time = 0;
+  else
+    lv2->next_time =
+        gst_util_uint64_scale_round (next_sample, GST_SECOND, samplerate);
+
+  GST_DEBUG_OBJECT (lv2, "seeking next_sample=%" G_GINT64_FORMAT
+      " next_time=%" GST_TIME_FORMAT, next_sample,
+      GST_TIME_ARGS (lv2->next_time));
+
+  g_assert (lv2->next_time <= time);
+
+  lv2->next_sample = next_sample;
+
+  if (!lv2->reverse) {
+    if (GST_CLOCK_TIME_IS_VALID (segment->start)) {
+      segment->time = segment->start;
+    }
+  } else {
+    if (GST_CLOCK_TIME_IS_VALID (segment->stop)) {
+      segment->time = segment->stop;
+    }
+  }
+
+  if (GST_CLOCK_TIME_IS_VALID (segment->stop)) {
+    time = segment->stop;
+    lv2->sample_stop =
+        gst_util_uint64_scale_round (time, samplerate, GST_SECOND);
+    lv2->check_seek_stop = TRUE;
+  } else {
+    lv2->check_seek_stop = FALSE;
+  }
+  lv2->eos_reached = FALSE;
+
+  return TRUE;
+}
+
+static gboolean
+gst_lv2_source_is_seekable (GstBaseSrc * base)
+{
+  /* we're seekable... */
+  return TRUE;
+}
+
+static gboolean
+gst_lv2_source_query (GstBaseSrc * base, GstQuery * query)
+{
+  GstLV2Source *lv2 = (GstLV2Source *) base;
+  gboolean res = FALSE;
+
+  switch (GST_QUERY_TYPE (query)) {
+    case GST_QUERY_CONVERT:
+    {
+      GstFormat src_fmt, dest_fmt;
+      gint64 src_val, dest_val;
+
+      gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
+
+      if (!gst_audio_info_convert (&lv2->info, src_fmt, src_val, dest_fmt,
+              &dest_val)) {
+        GST_DEBUG_OBJECT (lv2, "query failed");
+        return FALSE;
+      }
+
+      gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
+      res = TRUE;
+      break;
+    }
+    case GST_QUERY_SCHEDULING:
+    {
+      /* if we can operate in pull mode */
+      gst_query_set_scheduling (query, GST_SCHEDULING_FLAG_SEEKABLE, 1, -1, 0);
+      gst_query_add_scheduling_mode (query, GST_PAD_MODE_PUSH);
+      if (lv2->can_activate_pull)
+        gst_query_add_scheduling_mode (query, GST_PAD_MODE_PULL);
+
+      res = TRUE;
+      break;
+    }
+    default:
+      res = GST_BASE_SRC_CLASS (parent_class)->query (base, query);
+      break;
+  }
+
+  return res;
+}
+
+static inline void
+gst_lv2_source_interleave_data (guint n_channels, gfloat * outdata,
+    guint samples, gfloat * indata)
+{
+  guint i, j;
+
+  for (i = 0; i < n_channels; i++)
+    for (j = 0; j < samples; j++) {
+      outdata[j * n_channels + i] = indata[i * samples + j];
+    }
+}
+
+static GstFlowReturn
+gst_lv2_source_fill (GstBaseSrc * base, guint64 offset,
+    guint length, GstBuffer * buffer)
+{
+  GstLV2Source *lv2 = (GstLV2Source *) base;
+  GstLV2SourceClass *klass = (GstLV2SourceClass *) GST_BASE_SRC_GET_CLASS (lv2);
+  GstLV2Class *lv2_class = &klass->lv2;
+  GstLV2Group *lv2_group;
+  GstLV2Port *lv2_port;
+  GstClockTime next_time;
+  gint64 next_sample, next_byte;
+  guint bytes, samples;
+  GstElementClass *eclass;
+  GstMapInfo map;
+  gint samplerate, bpf;
+  guint j, k, l;
+  gfloat *out = NULL, *cv = NULL, *mem;
+  gfloat val;
+
+  /* example for tagging generated data */
+  if (!lv2->tags_pushed) {
+    GstTagList *taglist;
+
+    taglist = gst_tag_list_new (GST_TAG_DESCRIPTION, "lv2 wave", NULL);
+
+    eclass = GST_ELEMENT_CLASS (parent_class);
+    if (eclass->send_event)
+      eclass->send_event (GST_ELEMENT (base), gst_event_new_tag (taglist));
+    else
+      gst_tag_list_unref (taglist);
+    lv2->tags_pushed = TRUE;
+  }
+
+  if (lv2->eos_reached) {
+    GST_INFO_OBJECT (lv2, "eos");
+    return GST_FLOW_EOS;
+  }
+
+  samplerate = GST_AUDIO_INFO_RATE (&lv2->info);
+  bpf = GST_AUDIO_INFO_BPF (&lv2->info);
+
+  /* if no length was given, use our default length in samples otherwise convert
+   * the length in bytes to samples. */
+  if (length == -1)
+    samples = lv2->samples_per_buffer;
+  else
+    samples = length / bpf;
+
+  /* if no offset was given, use our next logical byte */
+  if (offset == -1)
+    offset = lv2->next_byte;
+
+  /* now see if we are at the byteoffset we think we are */
+  if (offset != lv2->next_byte) {
+    GST_DEBUG_OBJECT (lv2, "seek to new offset %" G_GUINT64_FORMAT, offset);
+    /* we have a discont in the expected sample offset, do a 'seek' */
+    lv2->next_sample = offset / bpf;
+    lv2->next_time =
+        gst_util_uint64_scale_int (lv2->next_sample, GST_SECOND, samplerate);
+    lv2->next_byte = offset;
+  }
+
+  /* check for eos */
+  if (lv2->check_seek_stop &&
+      (lv2->sample_stop > lv2->next_sample) &&
+      (lv2->sample_stop < lv2->next_sample + samples)
+      ) {
+    /* calculate only partial buffer */
+    lv2->generate_samples_per_buffer = lv2->sample_stop - lv2->next_sample;
+    next_sample = lv2->sample_stop;
+    lv2->eos_reached = TRUE;
+
+    GST_INFO_OBJECT (lv2, "eos reached");
+  } else {
+    /* calculate full buffer */
+    lv2->generate_samples_per_buffer = samples;
+    next_sample = lv2->next_sample + (lv2->reverse ? (-samples) : samples);
+  }
+
+  bytes = lv2->generate_samples_per_buffer * bpf;
+
+  next_byte = lv2->next_byte + (lv2->reverse ? (-bytes) : bytes);
+  next_time = gst_util_uint64_scale_int (next_sample, GST_SECOND, samplerate);
+
+  GST_LOG_OBJECT (lv2, "samplerate %d", samplerate);
+  GST_LOG_OBJECT (lv2,
+      "next_sample %" G_GINT64_FORMAT ", ts %" GST_TIME_FORMAT, next_sample,
+      GST_TIME_ARGS (next_time));
+
+  gst_buffer_set_size (buffer, bytes);
+
+  GST_BUFFER_OFFSET (buffer) = lv2->next_sample;
+  GST_BUFFER_OFFSET_END (buffer) = next_sample;
+  if (!lv2->reverse) {
+    GST_BUFFER_TIMESTAMP (buffer) = lv2->timestamp_offset + lv2->next_time;
+    GST_BUFFER_DURATION (buffer) = next_time - lv2->next_time;
+  } else {
+    GST_BUFFER_TIMESTAMP (buffer) = lv2->timestamp_offset + next_time;
+    GST_BUFFER_DURATION (buffer) = lv2->next_time - next_time;
+  }
+
+  gst_object_sync_values (GST_OBJECT (lv2), GST_BUFFER_TIMESTAMP (buffer));
+
+  lv2->next_time = next_time;
+  lv2->next_sample = next_sample;
+  lv2->next_byte = next_byte;
+
+  GST_LOG_OBJECT (lv2, "generating %u samples at ts %" GST_TIME_FORMAT,
+      samples, GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buffer)));
+
+  gst_buffer_map (buffer, &map, GST_MAP_WRITE);
+
+  /* multi channel outputs */
+  lv2_group = &lv2_class->out_group;
+  if (lv2_group->ports->len > 1) {
+    out = g_new0 (gfloat, samples * lv2_group->ports->len);
+    for (j = 0; j < lv2_group->ports->len; ++j) {
+      lv2_port = &g_array_index (lv2_group->ports, GstLV2Port, j);
+      lilv_instance_connect_port (lv2->lv2.instance, lv2_port->index,
+          out + (j * samples));
+      GST_LOG_OBJECT (lv2, "connected port %d/%d", j, lv2_group->ports->len);
+    }
+  } else {
+    lv2_port = &g_array_index (lv2_group->ports, GstLV2Port, 0);
+    lilv_instance_connect_port (lv2->lv2.instance, lv2_port->index,
+        (gfloat *) map.data);
+    GST_LOG_OBJECT (lv2, "connected port 0");
+  }
+
+  /* cv ports */
+  cv = g_new (gfloat, samples * lv2_class->num_cv_in);
+  for (j = k = 0; j < lv2_class->control_in_ports->len; j++) {
+    lv2_port = &g_array_index (lv2_class->control_in_ports, GstLV2Port, j);
+    if (lv2_port->type != GST_LV2_PORT_CV)
+      continue;
+
+    mem = cv + (k * samples);
+    val = lv2->lv2.ports.control.in[j];
+    /* FIXME: use gst_control_binding_get_value_array */
+    for (l = 0; l < samples; l++)
+      mem[l] = val;
+    lilv_instance_connect_port (lv2->lv2.instance, lv2_port->index, mem);
+    k++;
+  }
+
+  lilv_instance_run (lv2->lv2.instance, samples);
+
+  if (lv2_group->ports->len > 1) {
+    gst_lv2_source_interleave_data (lv2_group->ports->len,
+        (gfloat *) map.data, samples, out);
+    g_free (out);
+  }
+
+  g_free (cv);
+
+  gst_buffer_unmap (buffer, &map);
+
+  return GST_FLOW_OK;
+}
+
+static gboolean
+gst_lv2_source_start (GstBaseSrc * base)
+{
+  GstLV2Source *lv2 = (GstLV2Source *) base;
+
+  lv2->next_sample = 0;
+  lv2->next_byte = 0;
+  lv2->next_time = 0;
+  lv2->check_seek_stop = FALSE;
+  lv2->eos_reached = FALSE;
+  lv2->tags_pushed = FALSE;
+
+  GST_INFO_OBJECT (base, "starting");
+
+  return TRUE;
+}
+
+static gboolean
+gst_lv2_source_stop (GstBaseSrc * base)
+{
+  GstLV2Source *lv2 = (GstLV2Source *) base;
+
+  GST_INFO_OBJECT (base, "stopping");
+  return gst_lv2_cleanup (&lv2->lv2, (GstObject *) lv2);
+}
+
+/* GObject vmethods implementation */
+static void
+gst_lv2_source_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstLV2Source *self = (GstLV2Source *) object;
+
+  switch (prop_id) {
+    case GST_LV2_SOURCE_PROP_SAMPLES_PER_BUFFER:
+      self->samples_per_buffer = g_value_get_int (value);
+      gst_base_src_set_blocksize (GST_BASE_SRC (self),
+          GST_AUDIO_INFO_BPF (&self->info) * self->samples_per_buffer);
+      break;
+    case GST_LV2_SOURCE_PROP_IS_LIVE:
+      gst_base_src_set_live (GST_BASE_SRC (self), g_value_get_boolean (value));
+      break;
+    case GST_LV2_SOURCE_PROP_TIMESTAMP_OFFSET:
+      self->timestamp_offset = g_value_get_int64 (value);
+      break;
+    case GST_LV2_SOURCE_PROP_CAN_ACTIVATE_PUSH:
+      GST_BASE_SRC (self)->can_activate_push = g_value_get_boolean (value);
+      break;
+    case GST_LV2_SOURCE_PROP_CAN_ACTIVATE_PULL:
+      self->can_activate_pull = g_value_get_boolean (value);
+      break;
+    default:
+      gst_lv2_object_set_property (&self->lv2, object, prop_id, value, pspec);
+      break;
+  }
+}
+
+static void
+gst_lv2_source_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
+{
+  GstLV2Source *self = (GstLV2Source *) object;
+
+  switch (prop_id) {
+    case GST_LV2_SOURCE_PROP_SAMPLES_PER_BUFFER:
+      g_value_set_int (value, self->samples_per_buffer);
+      break;
+    case GST_LV2_SOURCE_PROP_IS_LIVE:
+      g_value_set_boolean (value, gst_base_src_is_live (GST_BASE_SRC (self)));
+      break;
+    case GST_LV2_SOURCE_PROP_TIMESTAMP_OFFSET:
+      g_value_set_int64 (value, self->timestamp_offset);
+      break;
+    case GST_LV2_SOURCE_PROP_CAN_ACTIVATE_PUSH:
+      g_value_set_boolean (value, GST_BASE_SRC (self)->can_activate_push);
+      break;
+    case GST_LV2_SOURCE_PROP_CAN_ACTIVATE_PULL:
+      g_value_set_boolean (value, self->can_activate_pull);
+      break;
+    default:
+      gst_lv2_object_get_property (&self->lv2, object, prop_id, value, pspec);
+      break;
+  }
+}
+
+static void
+gst_lv2_source_finalize (GObject * object)
+{
+  GstLV2Source *self = (GstLV2Source *) object;
+
+  gst_lv2_finalize (&self->lv2);
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+
+static void
+gst_lv2_source_base_init (gpointer g_class)
+{
+  GstLV2SourceClass *klass = (GstLV2SourceClass *) g_class;
+  GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
+  GstPadTemplate *pad_template;
+  GstCaps *srccaps;
+
+  gst_lv2_class_init (&klass->lv2, G_TYPE_FROM_CLASS (klass));
+
+  gst_lv2_element_class_set_metadata (&klass->lv2, element_class,
+      "Source/Audio/LV2");
+
+  srccaps = gst_caps_new_simple ("audio/x-raw",
+      "format", G_TYPE_STRING, GST_AUDIO_NE (F32),
+      "channels", G_TYPE_INT, klass->lv2.out_group.ports->len,
+      "rate", GST_TYPE_INT_RANGE, 1, G_MAXINT,
+      "layout", G_TYPE_STRING, "interleaved", NULL);
+
+  pad_template =
+      gst_pad_template_new (GST_BASE_TRANSFORM_SRC_NAME, GST_PAD_SRC,
+      GST_PAD_ALWAYS, srccaps);
+  gst_element_class_add_pad_template (element_class, pad_template);
+
+  gst_caps_unref (srccaps);
+}
+
+static void
+gst_lv2_source_base_finalize (GstLV2SourceClass * lv2_class)
+{
+  gst_lv2_class_finalize (&lv2_class->lv2);
+}
+
+static void
+gst_lv2_source_class_init (GstLV2SourceClass * klass)
+{
+  GObjectClass *gobject_class = (GObjectClass *) klass;
+  GstBaseSrcClass *src_class = (GstBaseSrcClass *) klass;
+
+  GST_DEBUG ("class_init %p", klass);
+
+  gobject_class->set_property = gst_lv2_source_set_property;
+  gobject_class->get_property = gst_lv2_source_get_property;
+  gobject_class->finalize = gst_lv2_source_finalize;
+
+  src_class->set_caps = gst_lv2_source_set_caps;
+  src_class->fixate = gst_lv2_source_fixate;
+  src_class->is_seekable = gst_lv2_source_is_seekable;
+  src_class->do_seek = gst_lv2_source_do_seek;
+  src_class->query = gst_lv2_source_query;
+  src_class->get_times = gst_lv2_source_get_times;
+  src_class->start = gst_lv2_source_start;
+  src_class->stop = gst_lv2_source_stop;
+  src_class->fill = gst_lv2_source_fill;
+
+  g_object_class_install_property (gobject_class,
+      GST_LV2_SOURCE_PROP_SAMPLES_PER_BUFFER,
+      g_param_spec_int ("samplesperbuffer", "Samples per buffer",
+          "Number of samples in each outgoing buffer", 1, G_MAXINT, 1024,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class, GST_LV2_SOURCE_PROP_IS_LIVE,
+      g_param_spec_boolean ("is-live", "Is Live",
+          "Whether to act as a live source", FALSE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class,
+      GST_LV2_SOURCE_PROP_TIMESTAMP_OFFSET,
+      g_param_spec_int64 ("timestamp-offset", "Timestamp offset",
+          "An offset added to timestamps set on buffers (in ns)", G_MININT64,
+          G_MAXINT64, G_GINT64_CONSTANT (0),
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class,
+      GST_LV2_SOURCE_PROP_CAN_ACTIVATE_PUSH,
+      g_param_spec_boolean ("can-activate-push", "Can activate push",
+          "Can activate in push mode", TRUE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class,
+      GST_LV2_SOURCE_PROP_CAN_ACTIVATE_PULL,
+      g_param_spec_boolean ("can-activate-pull", "Can activate pull",
+          "Can activate in pull mode", FALSE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  gst_lv2_class_install_properties (&klass->lv2, gobject_class,
+      GST_LV2_SOURCE_PROP_LAST);
+}
+
+static void
+gst_lv2_source_init (GstLV2Source * self, GstLV2SourceClass * klass)
+{
+  gst_lv2_init (&self->lv2, &klass->lv2);
+
+  gst_base_src_set_format (GST_BASE_SRC (self), GST_FORMAT_TIME);
+  gst_base_src_set_blocksize (GST_BASE_SRC (self), -1);
+
+  self->samples_per_buffer = 1024;
+  self->generate_samples_per_buffer = self->samples_per_buffer;
+}
+
+void
+gst_lv2_source_register_element (GstPlugin * plugin, GstStructure * lv2_meta)
+{
+  GTypeInfo info = {
+    sizeof (GstLV2SourceClass),
+    (GBaseInitFunc) gst_lv2_source_base_init,
+    (GBaseFinalizeFunc) gst_lv2_source_base_finalize,
+    (GClassInitFunc) gst_lv2_source_class_init,
+    NULL,
+    NULL,
+    sizeof (GstLV2Source),
+    0,
+    (GInstanceInitFunc) gst_lv2_source_init,
+  };
+  const gchar *type_name =
+      gst_structure_get_string (lv2_meta, "element-type-name");
+  GType element_type =
+      g_type_register_static (GST_TYPE_BASE_SRC, type_name, &info, 0);
+  gboolean can_do_presets;
+
+  /* register interfaces */
+  gst_structure_get_boolean (lv2_meta, "can-do-presets", &can_do_presets);
+  if (can_do_presets) {
+    const GInterfaceInfo preset_interface_info = {
+      (GInterfaceInitFunc) gst_lv2_source_preset_interface_init,
+      NULL,
+      NULL
+    };
+
+    g_type_add_interface_static (element_type, GST_TYPE_PRESET,
+        &preset_interface_info);
+  }
+
+  gst_element_register (plugin, type_name, GST_RANK_NONE, element_type);
+
+  if (!parent_class)
+    parent_class = g_type_class_ref (GST_TYPE_BASE_SRC);
+}
diff --git a/ext/lv2/gstlv2utils.c b/ext/lv2/gstlv2utils.c
new file mode 100644
index 0000000..017d449
--- /dev/null
+++ b/ext/lv2/gstlv2utils.c
@@ -0,0 +1,935 @@
+/* GStreamer
+ * Copyright (C) 2016 Thibault Saunier <thibault.saunier@collabora.com>
+ *               2016 Stefan Sauer <ensonic@users.sf.net>
+ *
+ * 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 "stdlib.h"
+
+#include "gstlv2.h"
+#include "gstlv2utils.h"
+
+#include "lv2/lv2plug.in/ns/ext/atom/atom.h"
+#include "lv2/lv2plug.in/ns/ext/atom/forge.h"
+#include <lv2/lv2plug.in/ns/ext/log/log.h>
+#include <lv2/lv2plug.in/ns/ext/state/state.h>
+#include <lv2/lv2plug.in/ns/ext/urid/urid.h>
+
+GST_DEBUG_CATEGORY_EXTERN (lv2_debug);
+#define GST_CAT_DEFAULT lv2_debug
+
+/* host features */
+
+/* - log extension */
+
+static int
+lv2_log_printf (LV2_Log_Handle handle, LV2_URID type, const char *fmt, ...)
+{
+  va_list ap;
+
+  va_start (ap, fmt);
+  gst_debug_log_valist (lv2_debug, GST_LEVEL_INFO, "", "", 0, NULL, fmt, ap);
+  va_end (ap);
+  return 1;
+}
+
+static int
+lv2_log_vprintf (LV2_Log_Handle handle, LV2_URID type,
+    const char *fmt, va_list ap)
+{
+  gst_debug_log_valist (lv2_debug, GST_LEVEL_INFO, "", "", 0, NULL, fmt, ap);
+  return 1;
+}
+
+static LV2_Log_Log lv2_log = {
+  /* handle = */ NULL, lv2_log_printf, lv2_log_vprintf
+};
+
+
+static const LV2_Feature lv2_log_feature = { LV2_LOG__log, &lv2_log };
+
+/* - urid map/unmap extension */
+
+static LV2_URID
+lv2_urid_map (LV2_URID_Map_Handle handle, const char *uri)
+{
+  return (LV2_URID) g_quark_from_string (uri);
+}
+
+static const char *
+lv2_urid_unmap (LV2_URID_Unmap_Handle handle, LV2_URID urid)
+{
+  return g_quark_to_string ((GQuark) urid);
+}
+
+static LV2_URID_Map lv2_map = {
+  /* handle = */ NULL, lv2_urid_map
+};
+
+static LV2_URID_Unmap lv2_unmap = {
+  /* handle = */ NULL, lv2_urid_unmap
+};
+
+static const LV2_Feature lv2_map_feature = { LV2_URID__map, &lv2_map };
+static const LV2_Feature lv2_unmap_feature = { LV2_URID__unmap, &lv2_unmap };
+
+/* feature list */
+
+static const LV2_Feature *lv2_features[] = {
+  &lv2_log_feature,
+  &lv2_map_feature,
+  &lv2_unmap_feature,
+  NULL
+};
+
+gboolean
+gst_lv2_check_required_features (const LilvPlugin * lv2plugin)
+{
+  LilvNodes *required_features = lilv_plugin_get_required_features (lv2plugin);
+  if (required_features) {
+    LilvIter *i;
+    gint j;
+    gboolean missing = FALSE;
+
+    for (i = lilv_nodes_begin (required_features);
+        !lilv_nodes_is_end (required_features, i);
+        i = lilv_nodes_next (required_features, i)) {
+      const LilvNode *required_feature = lilv_nodes_get (required_features, i);
+      const char *required_feature_uri = lilv_node_as_uri (required_feature);
+      missing = TRUE;
+
+      for (j = 0; lv2_features[j]; j++) {
+        if (!strcmp (lv2_features[j]->URI, required_feature_uri)) {
+          missing = FALSE;
+          break;
+        }
+      }
+      if (missing) {
+        GST_FIXME ("lv2 plugin %s needs host feature: %s",
+            lilv_node_as_uri (lilv_plugin_get_uri (lv2plugin)),
+            required_feature_uri);
+        break;
+      }
+    }
+    lilv_nodes_free (required_features);
+    return (!missing);
+  }
+  return TRUE;
+}
+
+static LV2_Atom_Forge forge;
+
+void
+gst_lv2_host_init (void)
+{
+  lv2_atom_forge_init (&forge, &lv2_map);
+}
+
+/* preset interface */
+
+gchar **
+gst_lv2_get_preset_names (GstLV2 * lv2, GstObject * obj)
+{
+  /* lazily scan for presets when first called */
+  if (!lv2->presets) {
+    LilvNodes *presets;
+
+    if ((presets = lilv_plugin_get_related (lv2->klass->plugin, preset_class))) {
+      LilvIter *j;
+
+      lv2->presets = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
+          (GDestroyNotify) lilv_node_free);
+
+      for (j = lilv_nodes_begin (presets);
+          !lilv_nodes_is_end (presets, j); j = lilv_nodes_next (presets, j)) {
+        const LilvNode *preset = lilv_nodes_get (presets, j);
+        LilvNodes *titles;
+
+        lilv_world_load_resource (world, preset);
+        titles = lilv_world_find_nodes (world, preset, label_pred, NULL);
+        if (titles) {
+          const LilvNode *title = lilv_nodes_get_first (titles);
+          g_hash_table_insert (lv2->presets,
+              g_strdup (lilv_node_as_string (title)),
+              lilv_node_duplicate (preset));
+          lilv_nodes_free (titles);
+        } else {
+          GST_WARNING_OBJECT (obj, "plugin has preset '%s' without rdfs:label",
+              lilv_node_as_string (preset));
+        }
+      }
+      lilv_nodes_free (presets);
+    }
+  }
+  if (lv2->presets) {
+    GList *node, *keys = g_hash_table_get_keys (lv2->presets);
+    gchar **names = g_new0 (gchar *, g_hash_table_size (lv2->presets) + 1);
+    gint i = 0;
+
+    for (node = keys; node; node = g_list_next (node)) {
+      names[i++] = g_strdup (node->data);
+    }
+    g_list_free (keys);
+    return names;
+  }
+  return NULL;
+}
+
+static void
+set_port_value (const char *port_symbol, void *data, const void *value,
+    uint32_t size, uint32_t type)
+{
+  gpointer *user_data = (gpointer *) data;
+  GstLV2Class *klass = user_data[0];
+  GstObject *obj = user_data[1];
+  gchar *prop_name = g_hash_table_lookup (klass->sym_to_name, port_symbol);
+  gfloat fvalue;
+
+  if (!prop_name) {
+    GST_WARNING_OBJECT (obj, "Preset port '%s' is missing", port_symbol);
+    return;
+  }
+
+  if (type == forge.Float) {
+    fvalue = *(const gfloat *) value;
+  } else if (type == forge.Double) {
+    fvalue = *(const gdouble *) value;
+  } else if (type == forge.Int) {
+    fvalue = *(const gint32 *) value;
+  } else if (type == forge.Long) {
+    fvalue = *(const gint64 *) value;
+  } else {
+    GST_WARNING_OBJECT (obj, "Preset '%s' value has bad type '%s'",
+        port_symbol, lv2_unmap.unmap (lv2_unmap.handle, type));
+    return;
+  }
+  g_object_set (obj, prop_name, fvalue, NULL);
+}
+
+gboolean
+gst_lv2_load_preset (GstLV2 * lv2, GstObject * obj, const gchar * name)
+{
+  LilvNode *preset = g_hash_table_lookup (lv2->presets, name);
+  LilvState *state = lilv_state_new_from_world (world, &lv2_map, preset);
+  gpointer user_data[] = { lv2->klass, obj };
+
+  GST_INFO_OBJECT (obj, "loading preset <%s>", lilv_node_as_string (preset));
+
+  lilv_state_restore (state, lv2->instance, set_port_value,
+      (gpointer) user_data, 0, NULL);
+
+  lilv_state_free (state);
+  return FALSE;
+}
+
+static const void *
+get_port_value (const char *port_symbol, void *data, uint32_t * size,
+    uint32_t * type)
+{
+  gpointer *user_data = (gpointer *) data;
+  GstLV2Class *klass = user_data[0];
+  GstObject *obj = user_data[1];
+  gchar *prop_name = g_hash_table_lookup (klass->sym_to_name, port_symbol);
+  static gfloat fvalue;
+
+  if (!prop_name) {
+    GST_WARNING_OBJECT (obj, "Preset port '%s' is missing", port_symbol);
+    *size = *type = 0;
+    return NULL;
+  }
+
+  *size = sizeof (float);
+  *type = forge.Float;
+  g_object_get (obj, prop_name, &fvalue, NULL);
+  /* FIXME: can we return &lv2->ports.{in,out}[x]; */
+  return &fvalue;
+}
+
+gboolean
+gst_lv2_save_preset (GstLV2 * lv2, GstObject * obj, const gchar * name)
+{
+  gchar *filename, *basename, *bundle, *dir, *tmp_dir, *s;
+  gpointer user_data[] = { lv2->klass, obj };
+  GstElementFactory *factory;
+  LilvState *state;
+  LilvNode *bundle_dir;
+  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 = '_';
+  }
+
+  filename = g_strjoin (NULL, name, ".ttl", NULL);
+  bundle = g_strjoin (NULL, basename, "_", name, ".preset.lv2", NULL);
+  /* 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,
+      NULL);
+  tmp_dir = g_dir_make_tmp ("gstlv2-XXXXXX", NULL);
+  g_mkdir_with_parents (dir, 0750);
+
+  if (!instance) {
+    /* instance is NULL until we play!! */
+    instance = lilv_plugin_instantiate (lv2->klass->plugin, GST_AUDIO_DEF_RATE,
+        lv2_features);
+  }
+
+  state = lilv_state_new_from_instance (lv2->klass->plugin, instance, &lv2_map,
+      tmp_dir, dir, dir, dir, get_port_value, user_data,
+      LV2_STATE_IS_POD | LV2_STATE_IS_PORTABLE, NULL);
+
+  lilv_state_set_label (state, name);
+
+  res = lilv_state_save (world, &lv2_map, &lv2_unmap, state, /*uri */ NULL, dir,
+      filename) != 0;
+
+  /* reload bundle into the world */
+  bundle_dir = lilv_new_file_uri (world, NULL, dir);
+  lilv_world_unload_bundle (world, bundle_dir);
+  lilv_world_load_bundle (world, bundle_dir);
+  lilv_node_free (bundle_dir);
+
+  lilv_world_load_resource (world, lilv_state_get_uri (state));
+  g_hash_table_insert (lv2->presets, g_strdup (name),
+      lilv_node_duplicate (lilv_state_get_uri (state)));
+
+  lilv_state_free (state);
+  if (!lv2->instance) {
+    lilv_instance_free (instance);
+  }
+
+  g_free (tmp_dir);
+  g_free (dir);
+  g_free (bundle);
+  g_free (filename);
+  g_free (basename);
+
+  return res;
+}
+
+#if 0
+gboolean
+gst_lv2_rename_preset (GstLV2 * lv2, GstObject * obj,
+    const gchar * old_name, const gchar * new_name)
+{
+  /* need to relabel the preset */
+  return FALSE;
+}
+#endif
+
+gboolean
+gst_lv2_delete_preset (GstLV2 * lv2, GstObject * obj, const gchar * name)
+{
+  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);
+
+  g_hash_table_remove (lv2->presets, name);
+
+  return FALSE;
+}
+
+
+/* api helpers */
+
+void
+gst_lv2_init (GstLV2 * lv2, GstLV2Class * lv2_class)
+{
+  lv2->klass = lv2_class;
+
+  lv2->instance = NULL;
+  lv2->activated = FALSE;
+
+  lv2->ports.control.in = g_new0 (gfloat, lv2_class->control_in_ports->len);
+  lv2->ports.control.out = g_new0 (gfloat, lv2_class->control_out_ports->len);
+}
+
+void
+gst_lv2_finalize (GstLV2 * lv2)
+{
+  if (lv2->presets) {
+    g_hash_table_destroy (lv2->presets);
+  }
+  g_free (lv2->ports.control.in);
+  g_free (lv2->ports.control.out);
+}
+
+gboolean
+gst_lv2_setup (GstLV2 * lv2, unsigned long rate)
+{
+  GstLV2Class *lv2_class = lv2->klass;
+  GstLV2Port *port;
+  GArray *ports;
+  gint i;
+
+  if (lv2->instance)
+    lilv_instance_free (lv2->instance);
+
+  if (!(lv2->instance =
+          lilv_plugin_instantiate (lv2_class->plugin, rate, lv2_features)))
+    return FALSE;
+
+  /* connect the control ports */
+  ports = lv2_class->control_in_ports;
+  for (i = 0; i < ports->len; i++) {
+    port = &g_array_index (ports, GstLV2Port, i);
+    if (port->type != GST_LV2_PORT_CONTROL)
+      continue;
+    lilv_instance_connect_port (lv2->instance, port->index,
+        &(lv2->ports.control.in[i]));
+  }
+  ports = lv2_class->control_out_ports;
+  for (i = 0; i < ports->len; i++) {
+    port = &g_array_index (ports, GstLV2Port, i);
+    if (port->type != GST_LV2_PORT_CONTROL)
+      continue;
+    lilv_instance_connect_port (lv2->instance, port->index,
+        &(lv2->ports.control.out[i]));
+  }
+
+  lilv_instance_activate (lv2->instance);
+  lv2->activated = TRUE;
+
+  return TRUE;
+}
+
+gboolean
+gst_lv2_cleanup (GstLV2 * lv2, GstObject * obj)
+{
+  if (lv2->activated == FALSE) {
+    GST_ERROR_OBJECT (obj, "Deactivating but LV2 plugin not activated");
+    return TRUE;
+  }
+
+  if (lv2->instance == NULL) {
+    GST_ERROR_OBJECT (obj, "Deactivating but no LV2 plugin set");
+    return TRUE;
+  }
+
+  GST_DEBUG_OBJECT (obj, "deactivating");
+
+  lilv_instance_deactivate (lv2->instance);
+
+  lv2->activated = FALSE;
+
+  lilv_instance_free (lv2->instance);
+  lv2->instance = NULL;
+
+  return TRUE;
+}
+
+void
+gst_lv2_object_set_property (GstLV2 * lv2, GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec)
+{
+  GType base, type = pspec->value_type;
+  /* remember, properties have an offset */
+  prop_id -= lv2->klass->properties;
+
+  /* only input ports */
+  g_return_if_fail (prop_id < lv2->klass->control_in_ports->len);
+
+  while ((base = g_type_parent (type)))
+    type = base;
+
+  /* now see what type it is */
+  switch (type) {
+    case G_TYPE_BOOLEAN:
+      lv2->ports.control.in[prop_id] =
+          g_value_get_boolean (value) ? 0.0f : 1.0f;
+      break;
+    case G_TYPE_INT:
+      lv2->ports.control.in[prop_id] = g_value_get_int (value);
+      break;
+    case G_TYPE_FLOAT:
+      lv2->ports.control.in[prop_id] = g_value_get_float (value);
+      break;
+    case G_TYPE_ENUM:
+      lv2->ports.control.in[prop_id] = g_value_get_enum (value);
+      break;
+    default:
+      GST_WARNING_OBJECT (object, "unhandled type: %s",
+          g_type_name (pspec->value_type));
+      g_assert_not_reached ();
+  }
+}
+
+void
+gst_lv2_object_get_property (GstLV2 * lv2, GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec)
+{
+  GType base, type = pspec->value_type;
+  gfloat *controls;
+
+  /* remember, properties have an offset */
+  prop_id -= lv2->klass->properties;
+
+  if (prop_id < lv2->klass->control_in_ports->len) {
+    controls = lv2->ports.control.in;
+  } else if (prop_id < lv2->klass->control_in_ports->len +
+      lv2->klass->control_out_ports->len) {
+    controls = lv2->ports.control.out;
+    prop_id -= lv2->klass->control_in_ports->len;
+  } else {
+    g_return_if_reached ();
+  }
+
+  while ((base = g_type_parent (type)))
+    type = base;
+
+  /* now see what type it is */
+  switch (type) {
+    case G_TYPE_BOOLEAN:
+      g_value_set_boolean (value, controls[prop_id] > 0.0f);
+      break;
+    case G_TYPE_INT:
+      g_value_set_int (value, CLAMP (controls[prop_id], G_MININT, G_MAXINT));
+      break;
+    case G_TYPE_FLOAT:
+      g_value_set_float (value, controls[prop_id]);
+      break;
+    case G_TYPE_ENUM:
+      g_value_set_enum (value, (gint) controls[prop_id]);
+      break;
+    default:
+      GST_WARNING_OBJECT (object, "unhandled type: %s",
+          g_type_name (pspec->value_type));
+      g_return_if_reached ();
+  }
+}
+
+
+static gchar *
+gst_lv2_class_get_param_name (GstLV2Class * klass, GObjectClass * object_class,
+    const gchar * port_symbol)
+{
+  gchar *ret = g_strdup (port_symbol);
+
+  /* this is the same thing that param_spec_* will do */
+  g_strcanon (ret, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-", '-');
+  /* satisfy glib2 (argname[0] must be [A-Za-z]) */
+  if (!((ret[0] >= 'a' && ret[0] <= 'z') || (ret[0] >= 'A' && ret[0] <= 'Z'))) {
+    gchar *tempstr = ret;
+
+    ret = g_strconcat ("param-", ret, NULL);
+    g_free (tempstr);
+  }
+
+  /* check for duplicate property names */
+  if (g_object_class_find_property (object_class, ret)) {
+    gint n = 1;
+    gchar *nret = g_strdup_printf ("%s-%d", ret, n++);
+
+    while (g_object_class_find_property (object_class, nret)) {
+      g_free (nret);
+      nret = g_strdup_printf ("%s-%d", ret, n++);
+    }
+    g_free (ret);
+    ret = nret;
+  }
+
+  GST_DEBUG ("built property name '%s' from port name '%s'", ret, port_symbol);
+  return ret;
+}
+
+static gchar *
+gst_lv2_class_get_param_nick (GstLV2Class * klass, const LilvPort * port)
+{
+  const LilvPlugin *lv2plugin = klass->plugin;
+
+  return g_strdup (lilv_node_as_string (lilv_port_get_name (lv2plugin, port)));
+}
+
+static int
+enum_val_cmp (GEnumValue * p1, GEnumValue * p2)
+{
+  return p1->value - p2->value;
+}
+
+static GParamSpec *
+gst_lv2_class_get_param_spec (GstLV2Class * klass, GObjectClass * object_class,
+    gint portnum)
+{
+  const LilvPlugin *lv2plugin = klass->plugin;
+  const LilvPort *port = lilv_plugin_get_port_by_index (lv2plugin, portnum);
+  LilvNode *lv2def, *lv2min, *lv2max;
+  LilvScalePoints *points;
+  GParamSpec *ret;
+  gchar *name, *nick;
+  gint perms;
+  gfloat lower = 0.0f, upper = 1.0f, def = 0.0f;
+  GType enum_type = G_TYPE_INVALID;
+  const gchar *port_symbol =
+      lilv_node_as_string (lilv_port_get_symbol (lv2plugin, port));
+
+  nick = gst_lv2_class_get_param_nick (klass, port);
+  name = gst_lv2_class_get_param_name (klass, object_class, port_symbol);
+
+  GST_DEBUG ("%s trying port %s : %s",
+      lilv_node_as_string (lilv_plugin_get_uri (lv2plugin)), name, nick);
+
+  perms = G_PARAM_READABLE;
+  if (lilv_port_is_a (lv2plugin, port, input_class))
+    perms |= G_PARAM_WRITABLE | G_PARAM_CONSTRUCT;
+  if (lilv_port_is_a (lv2plugin, port, control_class) ||
+      lilv_port_is_a (lv2plugin, port, cv_class))
+    perms |= GST_PARAM_CONTROLLABLE;
+
+  if (lilv_port_has_property (lv2plugin, port, toggled_prop)) {
+    ret = g_param_spec_boolean (name, nick, nick, FALSE, perms);
+    goto done;
+  }
+
+  lilv_port_get_range (lv2plugin, port, &lv2def, &lv2min, &lv2max);
+
+  if (lv2def)
+    def = lilv_node_as_float (lv2def);
+  if (lv2min)
+    lower = lilv_node_as_float (lv2min);
+  if (lv2max)
+    upper = lilv_node_as_float (lv2max);
+
+  lilv_node_free (lv2def);
+  lilv_node_free (lv2min);
+  lilv_node_free (lv2max);
+
+  if (def < lower) {
+    if (lv2def && lv2min) {
+      GST_WARNING ("%s:%s has lower bound %f > default %f",
+          lilv_node_as_string (lilv_plugin_get_uri (lv2plugin)), name, lower,
+          def);
+    }
+    lower = def;
+  }
+
+  if (def > upper) {
+    if (lv2def && lv2max) {
+      GST_WARNING ("%s:%s has upper bound %f < default %f",
+          lilv_node_as_string (lilv_plugin_get_uri (lv2plugin)), name, upper,
+          def);
+    }
+    upper = def;
+  }
+
+  if ((points = lilv_port_get_scale_points (lv2plugin, port))) {
+    GEnumValue *enums;
+    LilvIter *i;
+    gint j = 0, n, def_ix = -1;
+
+    n = lilv_scale_points_size (points);
+    enums = g_new (GEnumValue, n + 1);
+
+    for (i = lilv_scale_points_begin (points);
+        !lilv_scale_points_is_end (points, i);
+        i = lilv_scale_points_next (points, i)) {
+      const LilvScalePoint *point = lilv_scale_points_get (points, i);
+      gfloat v = lilv_node_as_float (lilv_scale_point_get_value (point));
+      const gchar *l = lilv_node_as_string (lilv_scale_point_get_label (point));
+
+      /* check if value can be safely converted to int */
+      if (v != (gint) v) {
+        GST_INFO ("%s:%s non integer scale point %lf, %s",
+            lilv_node_as_string (lilv_plugin_get_uri (lv2plugin)), name, v, l);
+        break;
+      }
+      if (v == def) {
+        def_ix = j;
+      }
+      enums[j].value = (gint) v;
+      enums[j].value_nick = enums[j].value_name = l;
+      GST_LOG ("%s:%s enum: %lf, %s",
+          lilv_node_as_string (lilv_plugin_get_uri (lv2plugin)), name, v, l);
+      j++;
+    }
+    if (j == n) {
+      gchar *type_name;
+
+      /* scalepoints are not sorted */
+      qsort (enums, n, sizeof (GEnumValue),
+          (int (*)(const void *, const void *)) enum_val_cmp);
+
+      if (def_ix == -1) {
+        if (lv2def) {
+          GST_WARNING ("%s:%s has default %f outside of scalepoints",
+              lilv_node_as_string (lilv_plugin_get_uri (lv2plugin)), name, def);
+        }
+        def = enums[0].value;
+      }
+      /* terminator */
+      enums[j].value = 0;
+      enums[j].value_name = enums[j].value_nick = NULL;
+
+      type_name = g_strdup_printf ("%s%s",
+          g_type_name (G_TYPE_FROM_CLASS (object_class)), name);
+      enum_type = g_enum_register_static (type_name, enums);
+      g_free (type_name);
+    } else {
+      g_free (enums);
+    }
+    lilv_scale_points_free (points);
+  }
+
+  if (enum_type != G_TYPE_INVALID) {
+    ret = g_param_spec_enum (name, nick, nick, enum_type, def, perms);
+  } else if (lilv_port_has_property (lv2plugin, port, integer_prop))
+    ret = g_param_spec_int (name, nick, nick, lower, upper, def, perms);
+  else
+    ret = g_param_spec_float (name, nick, nick, lower, upper, def, perms);
+
+done:
+  // build a map of (port_symbol to ret->name) for extensions
+  g_hash_table_insert (klass->sym_to_name, (gchar *) port_symbol,
+      (gchar *) ret->name);
+
+  g_free (name);
+  g_free (nick);
+
+  return ret;
+}
+
+void
+gst_lv2_class_install_properties (GstLV2Class * lv2_class,
+    GObjectClass * object_class, guint offset)
+{
+  GParamSpec *p;
+  guint i;
+
+  lv2_class->properties = offset;
+
+  for (i = 0; i < lv2_class->control_in_ports->len; i++, offset++) {
+    p = gst_lv2_class_get_param_spec (lv2_class, object_class,
+        g_array_index (lv2_class->control_in_ports, GstLV2Port, i).index);
+
+    g_object_class_install_property (object_class, offset, p);
+  }
+
+  for (i = 0; i < lv2_class->control_out_ports->len; i++, offset++) {
+    p = gst_lv2_class_get_param_spec (lv2_class, object_class,
+        g_array_index (lv2_class->control_out_ports, GstLV2Port, i).index);
+
+    g_object_class_install_property (object_class, offset, p);
+  }
+}
+
+void
+gst_lv2_element_class_set_metadata (GstLV2Class * lv2_class,
+    GstElementClass * elem_class, const gchar * lv2_class_tags)
+{
+  const LilvPlugin *lv2plugin = lv2_class->plugin;
+  LilvNode *val;
+  const LilvPluginClass *lv2plugin_class;
+  const LilvNode *cval;
+  gchar *longname, *author, *class_tags = NULL;
+
+  val = lilv_plugin_get_name (lv2plugin);
+  if (val) {
+    longname = g_strdup (lilv_node_as_string (val));
+    lilv_node_free (val);
+  } else {
+    longname = g_strdup ("no description available");
+  }
+  val = lilv_plugin_get_author_name (lv2plugin);
+  if (val) {
+    author = g_strdup (lilv_node_as_string (val));
+    lilv_node_free (val);
+  } else {
+    author = g_strdup ("no author available");
+  }
+
+  lv2plugin_class = lilv_plugin_get_class (lv2plugin);
+  cval = lilv_plugin_class_get_label (lv2plugin_class);
+  if (cval) {
+    class_tags = g_strconcat (lv2_class_tags, "/", lilv_node_as_string (cval),
+        NULL);
+  }
+
+  gst_element_class_set_metadata (elem_class, longname,
+      (class_tags ? class_tags : lv2_class_tags), longname, author);
+  g_free (longname);
+  g_free (author);
+  g_free (class_tags);
+}
+
+
+void
+gst_lv2_class_init (GstLV2Class * lv2_class, GType type)
+{
+  const GValue *value =
+      gst_structure_get_value (lv2_meta_all, g_type_name (type));
+  GstStructure *lv2_meta = g_value_get_boxed (value);
+  const LilvPlugin *lv2plugin;
+  guint j, in_pad_index = 0, out_pad_index = 0;
+  const LilvPlugins *plugins = lilv_world_get_all_plugins (world);
+  LilvNode *plugin_uri;
+  const gchar *element_uri;
+
+  GST_DEBUG ("LV2 initializing class");
+
+  element_uri = gst_structure_get_string (lv2_meta, "element-uri");
+  plugin_uri = lilv_new_uri (world, element_uri);
+  g_assert (plugin_uri);
+  lv2plugin = lilv_plugins_get_by_uri (plugins, plugin_uri);
+  g_assert (lv2plugin);
+  lv2_class->plugin = lv2plugin;
+  lilv_node_free (plugin_uri);
+
+  lv2_class->sym_to_name = g_hash_table_new (g_str_hash, g_str_equal);
+
+  lv2_class->in_group.ports = g_array_new (FALSE, TRUE, sizeof (GstLV2Port));
+  lv2_class->out_group.ports = g_array_new (FALSE, TRUE, sizeof (GstLV2Port));
+  lv2_class->control_in_ports = g_array_new (FALSE, TRUE, sizeof (GstLV2Port));
+  lv2_class->control_out_ports = g_array_new (FALSE, TRUE, sizeof (GstLV2Port));
+
+  /* find ports and groups */
+  for (j = 0; j < lilv_plugin_get_num_ports (lv2plugin); j++) {
+    const LilvPort *port = lilv_plugin_get_port_by_index (lv2plugin, j);
+    const gboolean is_input = lilv_port_is_a (lv2plugin, port, input_class);
+    const gboolean is_optional = lilv_port_has_property (lv2plugin, port,
+        optional_pred);
+    GstLV2Port desc = { j, GST_LV2_PORT_AUDIO, -1, };
+    LilvNodes *lv2group = lilv_port_get (lv2plugin, port, group_pred);
+    /* FIXME Handle channels positionning
+     * GstAudioChannelPosition position = GST_AUDIO_CHANNEL_POSITION_INVALID; */
+
+    if (lv2group) {
+      /* port is part of a group */
+      const gchar *group_uri = lilv_node_as_uri (lv2group);
+      GstLV2Group *group = is_input
+          ? &lv2_class->in_group : &lv2_class->out_group;
+
+      if (group->uri == NULL) {
+        group->uri = g_strdup (group_uri);
+        group->pad = is_input ? in_pad_index++ : out_pad_index++;
+        group->ports = g_array_new (FALSE, TRUE, sizeof (GstLV2Port));
+      }
+
+      /* FIXME Handle channels positionning
+         position = GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT;
+         sub_values = lilv_port_get_value (lv2plugin, port, designation_pred);
+         if (lilv_nodes_size (sub_values) > 0) {
+         LilvNode *role = lilv_nodes_get_at (sub_values, 0);
+         position = gst_lv2_filter_role_to_position (role);
+         }
+         lilv_nodes_free (sub_values);
+
+         if (position != GST_AUDIO_CHANNEL_POSITION_INVALID) {
+         desc.position = position;
+         } */
+
+      g_array_append_val (group->ports, desc);
+    } else {
+      /* port is not part of a group, or it is part of a group but that group
+       * is illegal so we just ignore it */
+      if (lilv_port_is_a (lv2plugin, port, audio_class)) {
+        if (is_input) {
+          desc.pad = in_pad_index++;
+          g_array_append_val (lv2_class->in_group.ports, desc);
+        } else {
+          desc.pad = out_pad_index++;
+          g_array_append_val (lv2_class->out_group.ports, desc);
+        }
+      } else if (lilv_port_is_a (lv2plugin, port, control_class)) {
+        desc.type = GST_LV2_PORT_CONTROL;
+        if (is_input) {
+          lv2_class->num_control_in++;
+          g_array_append_val (lv2_class->control_in_ports, desc);
+        } else {
+          lv2_class->num_control_out++;
+          g_array_append_val (lv2_class->control_out_ports, desc);
+        }
+      } else if (lilv_port_is_a (lv2plugin, port, cv_class)) {
+        desc.type = GST_LV2_PORT_CV;
+        if (is_input) {
+          lv2_class->num_cv_in++;
+          g_array_append_val (lv2_class->control_in_ports, desc);
+        } else {
+          lv2_class->num_cv_out++;
+          g_array_append_val (lv2_class->control_out_ports, desc);
+        }
+      } else if (lilv_port_is_a (lv2plugin, port, event_class)) {
+        LilvNodes *supported = lilv_port_get_value (lv2plugin, port,
+            supports_event_pred);
+
+        GST_INFO ("%s: unhandled event port %d: %s, optional=%d, input=%d",
+            element_uri, j,
+            lilv_node_as_string (lilv_port_get_symbol (lv2plugin, port)),
+            is_optional, is_input);
+
+        if (lilv_nodes_size (supported) > 0) {
+          LilvIter *i;
+
+          for (i = lilv_nodes_begin (supported);
+              !lilv_nodes_is_end (supported, i);
+              i = lilv_nodes_next (supported, i)) {
+            const LilvNode *value = lilv_nodes_get (supported, i);
+            GST_INFO ("  type = %s", lilv_node_as_uri (value));
+          }
+        }
+        lilv_nodes_free (supported);
+        // FIXME: handle them
+      } else {
+        /* unhandled port type */
+        const LilvNodes *classes = lilv_port_get_classes (lv2plugin, port);
+        GST_INFO ("%s: unhandled port %d: %s, optional=%d, input=%d",
+            element_uri, j,
+            lilv_node_as_string (lilv_port_get_symbol (lv2plugin, port)),
+            is_optional, is_input);
+        if (classes && lilv_nodes_size (classes) > 0) {
+          LilvIter *i;
+
+          // FIXME: we getting the same classe multiple times
+          for (i = lilv_nodes_begin (classes);
+              !lilv_nodes_is_end (classes, i);
+              i = lilv_nodes_next (classes, i)) {
+            const LilvNode *value = lilv_nodes_get (classes, i);
+            GST_INFO ("  class = %s", lilv_node_as_uri (value));
+          }
+        }
+      }
+    }
+  }
+}
+
+void
+gst_lv2_class_finalize (GstLV2Class * lv2_class)
+{
+  GST_DEBUG ("LV2 finalizing class");
+
+  g_hash_table_destroy (lv2_class->sym_to_name);
+
+  g_array_free (lv2_class->in_group.ports, TRUE);
+  lv2_class->in_group.ports = NULL;
+  g_array_free (lv2_class->out_group.ports, TRUE);
+  lv2_class->out_group.ports = NULL;
+  g_array_free (lv2_class->control_in_ports, TRUE);
+  lv2_class->control_in_ports = NULL;
+  g_array_free (lv2_class->control_out_ports, TRUE);
+  lv2_class->control_out_ports = NULL;
+}
diff --git a/ext/lv2/gstlv2utils.h b/ext/lv2/gstlv2utils.h
new file mode 100644
index 0000000..b179e36
--- /dev/null
+++ b/ext/lv2/gstlv2utils.h
@@ -0,0 +1,134 @@
+/* GStreamer
+ * Copyright (C) 2016 Thibault Saunier <thibault.saunier@collabora.com>
+ *               2016 Stefan Sauer <ensonic@users.sf.net>
+ *
+ * gstlv2utils.h: Header for LV2 plugin utils
+ *
+ * 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_LV2_UTILS_H__
+#define __GST_LV2_UTILS_H__
+
+#include <gst/gst.h>
+#include <gst/audio/audio.h>
+#include <gst/audio/audio-channels.h>
+
+#include <lilv/lilv.h>
+
+G_BEGIN_DECLS
+
+typedef struct _GstLV2Group GstLV2Group;
+typedef struct _GstLV2Port GstLV2Port;
+
+typedef struct _GstLV2 GstLV2;
+typedef struct _GstLV2Class GstLV2Class;
+
+struct _GstLV2Group
+{
+  gchar *uri; /**< RDF resource (URI or blank node) */
+  guint pad; /**< Gst pad index */
+  gchar *symbol; /**< Gst pad name / LV2 group symbol */
+  GArray *ports; /**< Array of GstLV2Port */
+  /* FIXME: not set as of now */
+  gboolean has_roles; /**< TRUE iff all ports have a known role */
+};
+
+typedef enum {
+  GST_LV2_PORT_AUDIO = 0,
+  GST_LV2_PORT_CONTROL,
+  GST_LV2_PORT_CV
+} GstLV2PortType;
+
+struct _GstLV2Port
+{
+  gint index; /**< LV2 port index (on LV2 plugin) */
+  GstLV2PortType type; /**< Port type */
+  /**< Gst pad index (iff not part of a group), only for audio ports */
+  gint pad;
+  /* FIXME: not set as of now */
+  LilvNode *role; /**< Channel position / port role */
+  GstAudioChannelPosition position; /**< Channel position */
+};
+
+struct _GstLV2
+{
+  GstLV2Class *klass;
+
+  LilvInstance *instance;
+  GHashTable *presets;
+
+  gboolean activated;
+  unsigned long rate;
+
+  struct
+  {
+    struct
+    {
+      gfloat *in;
+      gfloat *out;
+    } control;
+  } ports;
+};
+
+struct _GstLV2Class
+{
+  guint properties;
+
+  const LilvPlugin *plugin;
+  GHashTable *sym_to_name;
+
+  gint num_control_in, num_control_out;
+  gint num_cv_in, num_cv_out;
+
+  GstLV2Group in_group; /**< Array of GstLV2Group */
+  GstLV2Group out_group; /**< Array of GstLV2Group */
+  GArray *control_in_ports; /**< Array of GstLV2Port */
+  GArray *control_out_ports; /**< Array of GstLV2Port */
+};
+
+gboolean gst_lv2_check_required_features (const LilvPlugin * lv2plugin);
+
+void gst_lv2_host_init (void);
+
+gchar **gst_lv2_get_preset_names (GstLV2 * lv2, GstObject * obj);
+gboolean gst_lv2_load_preset (GstLV2 * lv2, GstObject * obj, const gchar * name);
+gboolean gst_lv2_save_preset (GstLV2 * lv2, GstObject * obj, const gchar * name);
+gboolean gst_lv2_delete_preset (GstLV2 * lv2, GstObject * obj, const gchar * name);
+
+
+void gst_lv2_init (GstLV2 * lv2, GstLV2Class * lv2_class);
+void gst_lv2_finalize (GstLV2 * lv2);
+
+gboolean gst_lv2_setup (GstLV2 * lv2, unsigned long rate);
+gboolean gst_lv2_cleanup (GstLV2 * lv2, GstObject *obj);
+
+void gst_lv2_object_set_property (GstLV2 * lv2, GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec);
+void gst_lv2_object_get_property (GstLV2 * lv2, GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec);
+
+void gst_lv2_class_install_properties (GstLV2Class * lv2_class,
+    GObjectClass * object_class, guint offset);
+void gst_lv2_element_class_set_metadata (GstLV2Class * lv2_class,
+    GstElementClass * elem_class, const gchar * lv2_class_tags);
+
+void gst_lv2_class_init (GstLV2Class * lv2_class, GType type);
+void gst_lv2_class_finalize (GstLV2Class * lv2_class);
+
+G_END_DECLS
+
+#endif /* __GST_LV2_UTILS_H__ */
diff --git a/ext/mimic/Makefile.in b/ext/mimic/Makefile.in
index 75d2f6c..be4d23a 100644
--- a/ext/mimic/Makefile.in
+++ b/ext/mimic/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/mimic/gstmimdec.c b/ext/mimic/gstmimdec.c
index c7ad022..4ad38f9 100644
--- a/ext/mimic/gstmimdec.c
+++ b/ext/mimic/gstmimdec.c
@@ -80,10 +80,8 @@
   gstelement_class = (GstElementClass *) klass;
   gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_mim_dec_change_state);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Mimic Decoder",
diff --git a/ext/mimic/gstmimenc.c b/ext/mimic/gstmimenc.c
index c94c411..3232ca5 100644
--- a/ext/mimic/gstmimenc.c
+++ b/ext/mimic/gstmimenc.c
@@ -122,10 +122,8 @@
           " when no data is received",
           FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
   gst_element_class_set_static_metadata (gstelement_class,
       "Mimic Encoder",
       "Codec/Encoder/Video",
diff --git a/ext/modplug/Makefile.in b/ext/modplug/Makefile.in
index ebd6793..a48b694 100644
--- a/ext/modplug/Makefile.in
+++ b/ext/modplug/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/modplug/gstmodplug.cc b/ext/modplug/gstmodplug.cc
index ff3641d..b5fbcb2 100644
--- a/ext/modplug/gstmodplug.cc
+++ b/ext/modplug/gstmodplug.cc
@@ -205,10 +205,8 @@
 
   gstelement_class->change_state = gst_modplug_change_state;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&modplug_sink_template_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&modplug_src_template_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &modplug_sink_template_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &modplug_src_template_factory);
 
   gst_element_class_set_static_metadata (gstelement_class, "ModPlug",
       "Codec/Decoder/Audio", "Module decoder based on modplug engine",
diff --git a/ext/mpeg2enc/Makefile.in b/ext/mpeg2enc/Makefile.in
index 56c7db7..ce444cc 100644
--- a/ext/mpeg2enc/Makefile.in
+++ b/ext/mpeg2enc/Makefile.in
@@ -306,6 +306,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -521,6 +523,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -647,8 +651,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -693,6 +695,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/mpeg2enc/gstmpeg2enc.cc b/ext/mpeg2enc/gstmpeg2enc.cc
index 5c686cc..b974826 100644
--- a/ext/mpeg2enc/gstmpeg2enc.cc
+++ b/ext/mpeg2enc/gstmpeg2enc.cc
@@ -126,10 +126,8 @@
 
   element_class->change_state = GST_DEBUG_FUNCPTR (gst_mpeg2enc_change_state);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "mpeg2enc video encoder", "Codec/Encoder/Video",
diff --git a/ext/mplex/Makefile.in b/ext/mplex/Makefile.in
index cfcd330..2cd7f3c 100644
--- a/ext/mplex/Makefile.in
+++ b/ext/mplex/Makefile.in
@@ -306,6 +306,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -521,6 +523,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -647,8 +651,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -693,6 +695,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/mplex/gstmplex.cc b/ext/mplex/gstmplex.cc
index ae50bea..4089485 100644
--- a/ext/mplex/gstmplex.cc
+++ b/ext/mplex/gstmplex.cc
@@ -149,12 +149,9 @@
       "Ronald Bultje <rbultje@ronald.bitfreak.net>\n"
       "Mark Nauwelaerts <mnauw@users.sourceforge.net>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&video_sink_templ));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&audio_sink_templ));
+  gst_element_class_add_static_pad_template (element_class, &src_templ);
+  gst_element_class_add_static_pad_template (element_class, &video_sink_templ);
+  gst_element_class_add_static_pad_template (element_class, &audio_sink_templ);
 }
 
 static void
diff --git a/ext/musepack/Makefile.in b/ext/musepack/Makefile.in
index fc7c2f1..4ff8cf6 100644
--- a/ext/musepack/Makefile.in
+++ b/ext/musepack/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/musepack/gstmusepackdec.c b/ext/musepack/gstmusepackdec.c
index bf08b1d..f8670ec 100644
--- a/ext/musepack/gstmusepackdec.c
+++ b/ext/musepack/gstmusepackdec.c
@@ -19,10 +19,6 @@
  * Boston, MA 02110-1301, USA.
  */
 
-/* FIXME 0.11: suppress warnings for deprecated API such as GStaticRecMutex
- * with newer GLib versions (>= 2.31.0) */
-#define GLIB_DISABLE_DEPRECATION_WARNINGS
-
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -44,66 +40,67 @@
     );
 
 #ifdef MPC_FIXED_POINT
-#define BASE_CAPS \
-  "audio/x-raw-int, " \
-    "signed = (bool) TRUE, " \
-    "width = (int) 32, " \
-    "depth = (int) 32"
+# if G_BYTE_ORDER == G_LITTLE_ENDIAN
+#  define GST_MPC_FORMAT "S32LE"
+# else
+#  define GST_MPC_FORMAT "S32BE"
+# endif
 #else
-#define BASE_CAPS \
-  "audio/x-raw-float, " \
-    "width = (int) 32"
+# if G_BYTE_ORDER == G_LITTLE_ENDIAN
+#  define GST_MPC_FORMAT "F32LE"
+# else
+#  define GST_MPC_FORMAT "F32BE"
+# endif
 #endif
 
 static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (BASE_CAPS ", "
-        "endianness = (int) BYTE_ORDER, "
+    GST_STATIC_CAPS ("audio/x-raw, "
+        "format = (string) " GST_MPC_FORMAT ", "
+        "layout = (string) interleaved, "
         "rate = (int) [ 8000, 96000 ], " "channels = (int) [ 1, 2 ]")
     );
 
 static void gst_musepackdec_dispose (GObject * obj);
 
-static gboolean gst_musepackdec_src_event (GstPad * pad, GstEvent * event);
-static const GstQueryType *gst_musepackdec_get_src_query_types (GstPad * pad);
-static gboolean gst_musepackdec_src_query (GstPad * pad, GstQuery * query);
-static gboolean gst_musepackdec_sink_activate (GstPad * sinkpad);
-static gboolean
-gst_musepackdec_sink_activate_pull (GstPad * sinkpad, gboolean active);
+static gboolean gst_musepackdec_src_event (GstPad * pad, GstObject * parent,
+    GstEvent * event);
+static gboolean gst_musepackdec_src_query (GstPad * pad, GstObject * parent,
+    GstQuery * query);
+static gboolean gst_musepackdec_sink_activate (GstPad * sinkpad,
+    GstObject * parent);
+static gboolean gst_musepackdec_sink_activate_mode (GstPad * sinkpad,
+    GstObject * parent, GstPadMode mode, gboolean active);
 
 static void gst_musepackdec_loop (GstPad * sinkpad);
 static GstStateChangeReturn
 gst_musepackdec_change_state (GstElement * element, GstStateChange transition);
 
-GST_BOILERPLATE (GstMusepackDec, gst_musepackdec, GstElement, GST_TYPE_ELEMENT);
-
-static void
-gst_musepackdec_base_init (gpointer klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-
-  gst_element_class_set_static_metadata (element_class, "Musepack decoder",
-      "Codec/Decoder/Audio",
-      "Musepack decoder", "Ronald Bultje <rbultje@ronald.bitfreak.net>");
-}
+#define parent_class gst_musepackdec_parent_class
+G_DEFINE_TYPE (GstMusepackDec, gst_musepackdec, GST_TYPE_ELEMENT);
 
 static void
 gst_musepackdec_class_init (GstMusepackDecClass * klass)
 {
-  GST_ELEMENT_CLASS (klass)->change_state =
-      GST_DEBUG_FUNCPTR (gst_musepackdec_change_state);
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  G_OBJECT_CLASS (klass)->dispose = GST_DEBUG_FUNCPTR (gst_musepackdec_dispose);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
+
+  gst_element_class_set_static_metadata (element_class, "Musepack decoder",
+      "Codec/Decoder/Audio",
+      "Musepack decoder", "Ronald Bultje <rbultje@ronald.bitfreak.net>");
+
+  gobject_class->dispose = GST_DEBUG_FUNCPTR (gst_musepackdec_dispose);
+
+  element_class->change_state =
+      GST_DEBUG_FUNCPTR (gst_musepackdec_change_state);
 }
 
 static void
-gst_musepackdec_init (GstMusepackDec * musepackdec, GstMusepackDecClass * klass)
+gst_musepackdec_init (GstMusepackDec * musepackdec)
 {
   musepackdec->offset = 0;
   musepackdec->rate = 0;
@@ -118,8 +115,8 @@
       gst_pad_new_from_static_template (&sink_template, "sink");
   gst_pad_set_activate_function (musepackdec->sinkpad,
       GST_DEBUG_FUNCPTR (gst_musepackdec_sink_activate));
-  gst_pad_set_activatepull_function (musepackdec->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_musepackdec_sink_activate_pull));
+  gst_pad_set_activatemode_function (musepackdec->sinkpad,
+      GST_DEBUG_FUNCPTR (gst_musepackdec_sink_activate_mode));
   gst_element_add_pad (GST_ELEMENT (musepackdec), musepackdec->sinkpad);
 
   musepackdec->srcpad = gst_pad_new_from_static_template (&src_template, "src");
@@ -127,8 +124,6 @@
       GST_DEBUG_FUNCPTR (gst_musepackdec_src_event));
   gst_pad_set_query_function (musepackdec->srcpad,
       GST_DEBUG_FUNCPTR (gst_musepackdec_src_query));
-  gst_pad_set_query_type_function (musepackdec->srcpad,
-      GST_DEBUG_FUNCPTR (gst_musepackdec_get_src_query_types));
   gst_pad_use_fixed_caps (musepackdec->srcpad);
   gst_element_add_pad (GST_ELEMENT (musepackdec), musepackdec->srcpad);
 }
@@ -157,22 +152,19 @@
 static void
 gst_musepackdec_send_newsegment (GstMusepackDec * dec)
 {
-  GstSegment *s = &dec->segment;
-  gint64 stop_time = GST_CLOCK_TIME_NONE;
-  gint64 start_time = 0;
+  GstSegment os = dec->segment;
 
-  start_time = gst_util_uint64_scale_int (s->start, GST_SECOND, dec->rate);
-
-  if (s->stop != -1)
-    stop_time = gst_util_uint64_scale_int (s->stop, GST_SECOND, dec->rate);
+  os.format = GST_FORMAT_TIME;
+  os.start = gst_util_uint64_scale_int (os.start, GST_SECOND, dec->rate);
+  if (os.stop)
+    os.stop = gst_util_uint64_scale_int (os.stop, GST_SECOND, dec->rate);
+  os.time = gst_util_uint64_scale_int (os.time, GST_SECOND, dec->rate);
 
   GST_DEBUG_OBJECT (dec, "sending newsegment from %" GST_TIME_FORMAT
-      " to %" GST_TIME_FORMAT ", rate = %.1f", GST_TIME_ARGS (start_time),
-      GST_TIME_ARGS (stop_time), s->rate);
+      " to %" GST_TIME_FORMAT ", rate = %.1f", GST_TIME_ARGS (os.start),
+      GST_TIME_ARGS (os.stop), os.rate);
 
-  gst_pad_push_event (dec->srcpad,
-      gst_event_new_new_segment (FALSE, s->rate, GST_FORMAT_TIME,
-          start_time, stop_time, start_time));
+  gst_pad_push_event (dec->srcpad, gst_event_new_segment (&os));
 }
 
 static gboolean
@@ -216,10 +208,10 @@
   /* operate on segment copy until we know the seek worked */
   segment = dec->segment;
 
-  gst_segment_set_seek (&segment, rate, GST_FORMAT_DEFAULT,
+  gst_segment_do_seek (&segment, rate, GST_FORMAT_DEFAULT,
       flags, start_type, start, stop_type, stop, NULL);
 
-  gst_pad_push_event (dec->sinkpad, gst_event_new_flush_stop ());
+  gst_pad_push_event (dec->sinkpad, gst_event_new_flush_stop (TRUE));
 
   GST_DEBUG_OBJECT (dec, "segment: [%" G_GINT64_FORMAT "-%" G_GINT64_FORMAT
       "] = [%" GST_TIME_FORMAT "-%" GST_TIME_FORMAT "]",
@@ -251,10 +243,10 @@
   }
 
   if (flush) {
-    gst_pad_push_event (dec->srcpad, gst_event_new_flush_stop ());
+    gst_pad_push_event (dec->srcpad, gst_event_new_flush_stop (TRUE));
   }
 
-  gst_segment_set_last_stop (&segment, GST_FORMAT_DEFAULT, segment.start);
+  segment.position = segment.start;
   dec->segment = segment;
   gst_musepackdec_send_newsegment (dec);
 
@@ -276,12 +268,12 @@
 }
 
 static gboolean
-gst_musepackdec_src_event (GstPad * pad, GstEvent * event)
+gst_musepackdec_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
 {
   GstMusepackDec *dec;
   gboolean res;
 
-  dec = GST_MUSEPACK_DEC (gst_pad_get_parent (pad));
+  dec = GST_MUSEPACK_DEC (parent);
 
   GST_DEBUG_OBJECT (dec, "handling %s event", GST_EVENT_TYPE_NAME (event));
 
@@ -290,31 +282,17 @@
       res = gst_musepackdec_handle_seek_event (dec, event);
       break;
     default:
-      res = gst_pad_event_default (pad, event);
+      res = gst_pad_event_default (pad, parent, event);
       break;
   }
 
-  gst_object_unref (dec);
   return res;
 }
 
-static const GstQueryType *
-gst_musepackdec_get_src_query_types (GstPad * pad)
-{
-  static const GstQueryType query_types[] = {
-    GST_QUERY_POSITION,
-    GST_QUERY_DURATION,
-    GST_QUERY_SEEKING,
-    (GstQueryType) 0
-  };
-
-  return query_types;
-}
-
 static gboolean
-gst_musepackdec_src_query (GstPad * pad, GstQuery * query)
+gst_musepackdec_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
 {
-  GstMusepackDec *musepackdec = GST_MUSEPACK_DEC (gst_pad_get_parent (pad));
+  GstMusepackDec *musepackdec = GST_MUSEPACK_DEC (parent);
   GstFormat format;
   gboolean res = FALSE;
   gint samplerate;
@@ -331,7 +309,7 @@
       gst_query_parse_position (query, &format, NULL);
 
       GST_OBJECT_LOCK (musepackdec);
-      cur_off = musepackdec->segment.last_stop;
+      cur_off = musepackdec->segment.position;
       GST_OBJECT_UNLOCK (musepackdec);
 
       if (format == GST_FORMAT_TIME) {
@@ -365,23 +343,31 @@
     }
     case GST_QUERY_SEEKING:{
       GstFormat fmt;
+      gint64 len, len_off;
 
       res = TRUE;
       gst_query_parse_seeking (query, &fmt, NULL, NULL, NULL);
-      if (fmt == GST_FORMAT_TIME || fmt == GST_FORMAT_DEFAULT)
-        gst_query_set_seeking (query, fmt, TRUE, 0, -1);
-      else
-        gst_query_set_seeking (query, fmt, FALSE, -1, -1);
 
+      GST_OBJECT_LOCK (musepackdec);
+      len_off = musepackdec->segment.duration;
+      GST_OBJECT_UNLOCK (musepackdec);
+
+      if (fmt == GST_FORMAT_TIME) {
+        len = gst_util_uint64_scale_int (len_off, GST_SECOND, samplerate);
+        gst_query_set_seeking (query, fmt, TRUE, 0, len);
+      } else if (fmt == GST_FORMAT_DEFAULT) {
+        gst_query_set_seeking (query, fmt, TRUE, 0, len_off);
+      } else {
+        gst_query_set_seeking (query, fmt, FALSE, -1, -1);
+      }
       break;
     }
     default:
-      res = gst_pad_query_default (pad, query);
+      res = gst_pad_query_default (pad, parent, query);
       break;
   }
 
 done:
-  gst_object_unref (musepackdec);
   return res;
 }
 
@@ -391,6 +377,7 @@
   mpc_streaminfo i;
   GstTagList *tags;
   GstCaps *caps;
+  gchar *stream_id;
 
   /* set up reading */
   gst_musepack_init_reader (musepackdec->r, musepackdec);
@@ -420,10 +407,16 @@
   mpc_demux_get_info (musepackdec->d, &i);
 #endif
 
+  stream_id = gst_pad_create_stream_id (musepackdec->srcpad,
+      GST_ELEMENT_CAST (musepackdec), NULL);
+  gst_pad_push_event (musepackdec->srcpad,
+      gst_event_new_stream_start (stream_id));
+  g_free (stream_id);
+
   /* capsnego */
-  caps = gst_caps_from_string (BASE_CAPS);
-  gst_caps_set_simple (caps,
-      "endianness", G_TYPE_INT, G_BYTE_ORDER,
+  caps = gst_caps_new_simple ("audio/x-raw",
+      "format", G_TYPE_STRING, GST_MPC_FORMAT,
+      "layout", G_TYPE_STRING, "interleaved",
       "channels", G_TYPE_INT, i.channels,
       "rate", G_TYPE_INT, i.sample_freq, NULL);
   gst_pad_use_fixed_caps (musepackdec->srcpad);
@@ -435,12 +428,11 @@
   g_atomic_int_set (&musepackdec->bps, 4 * i.channels);
   g_atomic_int_set (&musepackdec->rate, i.sample_freq);
 
-  gst_segment_set_last_stop (&musepackdec->segment, GST_FORMAT_DEFAULT, 0);
-  gst_segment_set_duration (&musepackdec->segment, GST_FORMAT_DEFAULT,
-      mpc_streaminfo_get_length_samples (&i));
+  musepackdec->segment.position = 0;
+  musepackdec->segment.duration = mpc_streaminfo_get_length_samples (&i);
 
   /* send basic tags */
-  tags = gst_tag_list_new ();
+  tags = gst_tag_list_new_empty ();
   gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE,
       GST_TAG_AUDIO_CODEC, "Musepack", NULL);
 
@@ -472,30 +464,57 @@
   }
 
   GST_LOG_OBJECT (musepackdec, "Posting tags: %" GST_PTR_FORMAT, tags);
-  gst_element_found_tags (GST_ELEMENT (musepackdec), tags);
+  gst_pad_push_event (musepackdec->srcpad, gst_event_new_tag (tags));
+
 
   return TRUE;
 }
 
 static gboolean
-gst_musepackdec_sink_activate (GstPad * sinkpad)
+gst_musepackdec_sink_activate (GstPad * sinkpad, GstObject * parent)
 {
-  if (!gst_pad_check_pull_range (sinkpad))
+  GstQuery *query;
+  gboolean pull_mode;
+
+  query = gst_query_new_scheduling ();
+
+  if (!gst_pad_peer_query (sinkpad, query)) {
+    gst_query_unref (query);
+    return FALSE;
+  }
+
+  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)
     return FALSE;
 
-  return gst_pad_activate_pull (sinkpad, TRUE);
+  GST_DEBUG_OBJECT (sinkpad, "activating pull");
+  return gst_pad_activate_mode (sinkpad, GST_PAD_MODE_PULL, TRUE);
 }
 
 static gboolean
-gst_musepackdec_sink_activate_pull (GstPad * sinkpad, gboolean active)
+gst_musepackdec_sink_activate_mode (GstPad * sinkpad, GstObject * parent,
+    GstPadMode mode, gboolean active)
 {
   gboolean result;
 
-  if (active) {
-    result = gst_pad_start_task (sinkpad,
-        (GstTaskFunction) gst_musepackdec_loop, sinkpad, NULL);
-  } else {
-    result = gst_pad_stop_task (sinkpad);
+  switch (mode) {
+    case GST_PAD_MODE_PUSH:
+      result = FALSE;
+      break;
+    case GST_PAD_MODE_PULL:
+      if (active) {
+        result = gst_pad_start_task (sinkpad,
+            (GstTaskFunction) gst_musepackdec_loop, sinkpad, NULL);
+      } else {
+        result = gst_pad_stop_task (sinkpad);
+      }
+      break;
+    default:
+      result = FALSE;
+      break;
   }
 
   return result;
@@ -507,6 +526,7 @@
   GstMusepackDec *musepackdec;
   GstFlowReturn flow;
   GstBuffer *out;
+  GstMapInfo info;
 
 #ifdef MPC_IS_OLD_API
   guint32 update_acc, update_bits;
@@ -530,16 +550,14 @@
 
   bitspersample = g_atomic_int_get (&musepackdec->bps);
 
-  flow = gst_pad_alloc_buffer_and_set_caps (musepackdec->srcpad, -1,
-      MPC_DECODER_BUFFER_LENGTH * 4, GST_PAD_CAPS (musepackdec->srcpad), &out);
+  out = gst_buffer_new_allocate (NULL, MPC_DECODER_BUFFER_LENGTH * 4, NULL);
 
-  if (flow != GST_FLOW_OK) {
-    GST_DEBUG_OBJECT (musepackdec, "Flow: %s", gst_flow_get_name (flow));
-    goto pause_task;
-  }
 #ifdef MPC_IS_OLD_API
+
+  gst_buffer_map (out, &info, GST_MAP_READWRITE);
   num_samples = mpc_decoder_decode (musepackdec->d,
-      (MPC_SAMPLE_FORMAT *) GST_BUFFER_DATA (out), &update_acc, &update_bits);
+      (MPC_SAMPLE_FORMAT *) info.data, &update_acc, &update_bits);
+  gst_buffer_unmap (out, &info);
 
   if (num_samples < 0) {
     GST_ERROR_OBJECT (musepackdec, "Failed to decode sample");
@@ -549,8 +567,10 @@
     goto eos_and_pause;
   }
 #else
-  frame.buffer = (MPC_SAMPLE_FORMAT *) GST_BUFFER_DATA (out);
+  gst_buffer_map (out, &info, GST_MAP_READWRITE);
+  frame.buffer = (MPC_SAMPLE_FORMAT *) info.data;
   err = mpc_demux_decode (musepackdec->d, &frame);
+  gst_buffer_unmap (out, &info);
 
   if (err != MPC_STATUS_OK) {
     GST_ERROR_OBJECT (musepackdec, "Failed to decode sample");
@@ -563,16 +583,16 @@
   num_samples = frame.samples;
 #endif
 
-  GST_BUFFER_SIZE (out) = num_samples * bitspersample;
+  gst_buffer_set_size (out, num_samples * bitspersample);
 
-  GST_BUFFER_OFFSET (out) = musepackdec->segment.last_stop;
-  GST_BUFFER_TIMESTAMP (out) =
-      gst_util_uint64_scale_int (musepackdec->segment.last_stop,
+  GST_BUFFER_OFFSET (out) = musepackdec->segment.position;
+  GST_BUFFER_PTS (out) =
+      gst_util_uint64_scale_int (musepackdec->segment.position,
       GST_SECOND, samplerate);
   GST_BUFFER_DURATION (out) =
       gst_util_uint64_scale_int (num_samples, GST_SECOND, samplerate);
 
-  musepackdec->segment.last_stop += num_samples;
+  musepackdec->segment.position += num_samples;
 
   GST_LOG_OBJECT (musepackdec, "Pushing buffer, timestamp %" GST_TIME_FORMAT,
       GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (out)));
@@ -585,7 +605,7 @@
 
   /* check if we're at the end of a configured segment */
   if (musepackdec->segment.stop != -1 &&
-      musepackdec->segment.last_stop >= musepackdec->segment.stop) {
+      musepackdec->segment.position >= musepackdec->segment.stop) {
     gint64 stop_time;
 
     GST_DEBUG_OBJECT (musepackdec, "Reached end of configured segment");
@@ -633,7 +653,7 @@
   switch (transition) {
     case GST_STATE_CHANGE_READY_TO_PAUSED:
       gst_segment_init (&musepackdec->segment, GST_FORMAT_DEFAULT);
-      gst_segment_set_last_stop (&musepackdec->segment, GST_FORMAT_DEFAULT, 0);
+      musepackdec->segment.position = 0;
       break;
     default:
       break;
diff --git a/ext/musepack/gstmusepackreader.c b/ext/musepack/gstmusepackreader.c
index 6717698..2c5bb14 100644
--- a/ext/musepack/gstmusepackreader.c
+++ b/ext/musepack/gstmusepackreader.c
@@ -77,7 +77,7 @@
     return 0;
   }
 
-  read = MIN (GST_BUFFER_SIZE (buf), size);
+  read = MIN (gst_buffer_get_size (buf), size);
 
   if (read < size) {
     GST_WARNING_OBJECT (musepackdec, "Short read: got only %u bytes of %u "
@@ -86,7 +86,7 @@
     /* GST_ELEMENT_ERROR (musepackdec, RESOURCE, READ, (NULL), (NULL)); */
   }
 
-  memcpy (ptr, GST_BUFFER_DATA (buf), read);
+  gst_buffer_extract (buf, 0, ptr, read);
   gst_buffer_unref (buf);
   return read;
 }
@@ -161,10 +161,14 @@
 {
   GstMusepackDec *dec = GST_MUSEPACK_DEC (this->data);
 #endif
-  GstFormat format = GST_FORMAT_BYTES;
-  gint64 length = -1;
+  GstQuery *query;
+  GstFormat format;
+  gint64 length;
 
-  if (!gst_pad_query_peer_duration (dec->sinkpad, &format, &length))
+  query = gst_query_new_duration (GST_FORMAT_BYTES);
+  if (gst_pad_peer_query (dec->sinkpad, query))
+    gst_query_parse_duration (query, &format, &length);
+  else
     length = -1;
 
   return (mpc_int32_t) length;
diff --git a/ext/nas/Makefile.in b/ext/nas/Makefile.in
index d8cbef4..1ac8f13 100644
--- a/ext/nas/Makefile.in
+++ b/ext/nas/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/nas/nassink.c b/ext/nas/nassink.c
index cd8485b..2d6404b 100644
--- a/ext/nas/nassink.c
+++ b/ext/nas/nassink.c
@@ -94,8 +94,7 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
   gst_element_class_set_static_metadata (element_class, "NAS audio sink",
       "Sink/Audio",
       "Plays audio to a Network Audio Server",
diff --git a/ext/neon/Makefile.in b/ext/neon/Makefile.in
index f1797d0..9de8640 100644
--- a/ext/neon/Makefile.in
+++ b/ext/neon/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/neon/gstneonhttpsrc.c b/ext/neon/gstneonhttpsrc.c
index 8a4ff0d..03c596c 100644
--- a/ext/neon/gstneonhttpsrc.c
+++ b/ext/neon/gstneonhttpsrc.c
@@ -203,8 +203,7 @@
   GST_DEBUG_CATEGORY_INIT (neonhttpsrc_debug, "neonhttpsrc", 0,
       "NEON HTTP Client Source");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_add_static_pad_template (element_class, &srctemplate);
 
   gst_element_class_set_static_metadata (element_class, "HTTP client source",
       "Source/Network",
diff --git a/ext/ofa/Makefile.in b/ext/ofa/Makefile.in
index 58d02ba..af6bdc9 100644
--- a/ext/ofa/Makefile.in
+++ b/ext/ofa/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/openal/Makefile.in b/ext/openal/Makefile.in
index 929858a..b676c8a 100644
--- a/ext/openal/Makefile.in
+++ b/ext/openal/Makefile.in
@@ -307,6 +307,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -522,6 +524,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -648,8 +652,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -694,6 +696,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/openal/gstopenalsink.c b/ext/openal/gstopenalsink.c
index 74f58e4..66de051 100644
--- a/ext/openal/gstopenalsink.c
+++ b/ext/openal/gstopenalsink.c
@@ -229,8 +229,8 @@
       "Sink/Audio", "Output audio through OpenAL",
       "Juan Manuel Borges Caño <juanmabcmail@gmail.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&openalsink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &openalsink_factory);
 
 }
 
diff --git a/ext/openal/gstopenalsrc.c b/ext/openal/gstopenalsrc.c
index d06b3c4..26e73d4 100644
--- a/ext/openal/gstopenalsrc.c
+++ b/ext/openal/gstopenalsrc.c
@@ -192,8 +192,8 @@
       "OpenAL Audio Source", "Source/Audio", "Input audio through OpenAL",
       "Juan Manuel Borges Caño <juanmabcmail@gmail.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&openalsrc_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &openalsrc_factory);
 }
 
 static void
diff --git a/ext/opencv/Makefile.am b/ext/opencv/Makefile.am
index 0eee38c..360d4ab 100644
--- a/ext/opencv/Makefile.am
+++ b/ext/opencv/Makefile.am
@@ -14,7 +14,6 @@
 			gstedgedetect.cpp \
 			gstfaceblur.cpp \
 			gsthanddetect.cpp \
-			gstpyramidsegment.cpp \
 			gsttemplatematch.cpp \
 			gsttextoverlay.cpp \
 			gstmotioncells.cpp \
@@ -59,7 +58,6 @@
 		gstfaceblur.h \
 		gstfacedetect.h \
 		gsthanddetect.h \
-		gstpyramidsegment.h \
 		gsttemplatematch.h \
 		gsttextoverlay.h \
 		gstskindetect.h \
diff --git a/ext/opencv/Makefile.in b/ext/opencv/Makefile.in
index 1aaafee..3c56b33 100644
--- a/ext/opencv/Makefile.in
+++ b/ext/opencv/Makefile.in
@@ -178,7 +178,6 @@
 	libgstopencv_la-gstedgedetect.lo \
 	libgstopencv_la-gstfaceblur.lo \
 	libgstopencv_la-gsthanddetect.lo \
-	libgstopencv_la-gstpyramidsegment.lo \
 	libgstopencv_la-gsttemplatematch.lo \
 	libgstopencv_la-gsttextoverlay.lo \
 	libgstopencv_la-gstmotioncells.lo \
@@ -325,6 +324,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -540,6 +541,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -666,8 +669,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -712,6 +713,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -816,7 +819,6 @@
 			gstedgedetect.cpp \
 			gstfaceblur.cpp \
 			gsthanddetect.cpp \
-			gstpyramidsegment.cpp \
 			gsttemplatematch.cpp \
 			gsttextoverlay.cpp \
 			gstmotioncells.cpp \
@@ -862,7 +864,6 @@
 		gstfaceblur.h \
 		gstfacedetect.h \
 		gsthanddetect.h \
-		gstpyramidsegment.h \
 		gsttemplatematch.h \
 		gsttextoverlay.h \
 		gstskindetect.h \
@@ -973,7 +974,6 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopencv_la-gstopencv.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopencv_la-gstopencvutils.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopencv_la-gstopencvvideofilter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopencv_la-gstpyramidsegment.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopencv_la-gstretinex.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopencv_la-gstsegmentation.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopencv_la-gstskindetect.Plo@am__quote@
@@ -1096,13 +1096,6 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstopencv_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopencv_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstopencv_la-gsthanddetect.lo `test -f 'gsthanddetect.cpp' || echo '$(srcdir)/'`gsthanddetect.cpp
 
-libgstopencv_la-gstpyramidsegment.lo: gstpyramidsegment.cpp
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstopencv_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopencv_la_CXXFLAGS) $(CXXFLAGS) -MT libgstopencv_la-gstpyramidsegment.lo -MD -MP -MF $(DEPDIR)/libgstopencv_la-gstpyramidsegment.Tpo -c -o libgstopencv_la-gstpyramidsegment.lo `test -f 'gstpyramidsegment.cpp' || echo '$(srcdir)/'`gstpyramidsegment.cpp
-@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstopencv_la-gstpyramidsegment.Tpo $(DEPDIR)/libgstopencv_la-gstpyramidsegment.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='gstpyramidsegment.cpp' object='libgstopencv_la-gstpyramidsegment.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 $(libgstopencv_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopencv_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstopencv_la-gstpyramidsegment.lo `test -f 'gstpyramidsegment.cpp' || echo '$(srcdir)/'`gstpyramidsegment.cpp
-
 libgstopencv_la-gsttemplatematch.lo: gsttemplatematch.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstopencv_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopencv_la_CXXFLAGS) $(CXXFLAGS) -MT libgstopencv_la-gsttemplatematch.lo -MD -MP -MF $(DEPDIR)/libgstopencv_la-gsttemplatematch.Tpo -c -o libgstopencv_la-gsttemplatematch.lo `test -f 'gsttemplatematch.cpp' || echo '$(srcdir)/'`gsttemplatematch.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstopencv_la-gsttemplatematch.Tpo $(DEPDIR)/libgstopencv_la-gsttemplatematch.Plo
diff --git a/ext/opencv/MotionCells.cpp b/ext/opencv/MotionCells.cpp
index 9a16176..53d3371 100644
--- a/ext/opencv/MotionCells.cpp
+++ b/ext/opencv/MotionCells.cpp
@@ -79,6 +79,15 @@
   m_cellwidth = 0;
   m_cellheight = 0;
   m_sensitivity = 0;
+
+  memset (&m_header, 0, sizeof (MotionCellHeader));
+  m_header.headersize = GINT32_TO_BE (MC_HEADER);
+  m_header.type = GINT32_TO_BE (MC_TYPE);
+  m_header.version = GINT32_TO_BE (MC_VERSION);
+  m_header.itemsize = 0;
+  m_header.gridx = 0;
+  m_header.gridy = 0;
+  m_header.starttime = 0;
 }
 
 MotionCells::~MotionCells ()
@@ -116,6 +125,8 @@
 
   int sumframecnt = 0;
   int ret = 0;
+  CvSize frameSize;
+
   p_framerate >= 1 ? p_framerate <= 5 ? sumframecnt = 1
       : p_framerate <= 10 ? sumframecnt = 2
       : p_framerate <= 15 ? sumframecnt = 3
@@ -135,21 +146,21 @@
         return ret;
     }
 
-    m_frameSize = cvGetSize (p_frame);
-    m_frameSize.width /= 2;
-    m_frameSize.height /= 2;
-    setMotionCells (m_frameSize.width, m_frameSize.height);
+    frameSize = cvGetSize (p_frame);
+    frameSize.width /= 2;
+    frameSize.height /= 2;
+    setMotionCells (frameSize.width, frameSize.height);
     m_sensitivity = 1 - p_sensitivity;
     m_isVisible = p_isVisible;
     m_pcurFrame = cvCloneImage (p_frame);
-    IplImage *m_pcurgreyImage = cvCreateImage (m_frameSize, IPL_DEPTH_8U, 1);
-    IplImage *m_pprevgreyImage = cvCreateImage (m_frameSize, IPL_DEPTH_8U, 1);
-    IplImage *m_pgreyImage = cvCreateImage (m_frameSize, IPL_DEPTH_8U, 1);
+    IplImage *m_pcurgreyImage = cvCreateImage (frameSize, IPL_DEPTH_8U, 1);
+    IplImage *m_pprevgreyImage = cvCreateImage (frameSize, IPL_DEPTH_8U, 1);
+    IplImage *m_pgreyImage = cvCreateImage (frameSize, IPL_DEPTH_8U, 1);
     IplImage *m_pcurDown =
-        cvCreateImage (m_frameSize, m_pcurFrame->depth, m_pcurFrame->nChannels);
-    IplImage *m_pprevDown = cvCreateImage (m_frameSize, m_pprevFrame->depth,
+        cvCreateImage (frameSize, m_pcurFrame->depth, m_pcurFrame->nChannels);
+    IplImage *m_pprevDown = cvCreateImage (frameSize, m_pprevFrame->depth,
         m_pprevFrame->nChannels);
-    m_pbwImage = cvCreateImage (m_frameSize, IPL_DEPTH_8U, 1);
+    m_pbwImage = cvCreateImage (frameSize, IPL_DEPTH_8U, 1);
     cvPyrDown (m_pprevFrame, m_pprevDown);
     cvCvtColor (m_pprevDown, m_pprevgreyImage, CV_RGB2GRAY);
     cvPyrDown (m_pcurFrame, m_pcurDown);
@@ -333,10 +344,7 @@
     }
   } else
     mc_savefile = NULL;
-  memset (&m_header, 0, sizeof (MotionCellHeader));
-  m_header.headersize = GINT32_TO_BE (MC_HEADER);
-  m_header.type = GINT32_TO_BE (MC_TYPE);
-  m_header.version = GINT32_TO_BE (MC_VERSION);
+
   //it needs these bytes
   m_header.itemsize =
       GINT32_TO_BE ((int) ceil (ceil (m_gridx * m_gridy / 8.0) / 4.0) * 4 +
diff --git a/ext/opencv/MotionCells.h b/ext/opencv/MotionCells.h
index 97137bb..c858d87 100644
--- a/ext/opencv/MotionCells.h
+++ b/ext/opencv/MotionCells.h
@@ -242,7 +242,6 @@
 
   IplImage *m_pcurFrame, *m_pprevFrame, *m_pdifferenceImage,
       *m_pbwImage,*transparencyimg;
-  CvSize m_frameSize;
   bool m_isVisible, m_changed_datafile, m_useAlpha, m_saveInDatafile;
   Cell **m_pCells;
   vector < MotionCellsIdx > m_MotionCells;
diff --git a/ext/opencv/gstcvequalizehist.cpp b/ext/opencv/gstcvequalizehist.cpp
index ea1db28..bd3a7f0 100644
--- a/ext/opencv/gstcvequalizehist.cpp
+++ b/ext/opencv/gstcvequalizehist.cpp
@@ -93,10 +93,8 @@
 
   gstopencvbasefilter_class->cv_trans_func = gst_cv_equalize_hist_transform;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 
   gst_element_class_set_static_metadata (element_class,
       "cvequalizehist",
diff --git a/ext/opencv/gstcvlaplace.cpp b/ext/opencv/gstcvlaplace.cpp
index c989456..c8293bd 100644
--- a/ext/opencv/gstcvlaplace.cpp
+++ b/ext/opencv/gstcvlaplace.cpp
@@ -164,10 +164,8 @@
           "Sets whether the detected edges should be used as a mask on the original input or not",
           DEFAULT_MASK, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 
   gst_element_class_set_static_metadata (element_class,
       "cvlaplace",
diff --git a/ext/opencv/gstcvsmooth.cpp b/ext/opencv/gstcvsmooth.cpp
index 8715736..f9a8a02 100644
--- a/ext/opencv/gstcvsmooth.cpp
+++ b/ext/opencv/gstcvsmooth.cpp
@@ -317,18 +317,18 @@
 
   switch (filter->type) {
     case CV_BLUR:
-      blur (Mat (img), Mat (img), Size (filter->width, filter->height),
+      blur (cvarrToMat(img), cvarrToMat(img), Size (filter->width, filter->height),
           Point (-1, -1));
       break;
     case CV_GAUSSIAN:
-      GaussianBlur (Mat (img), Mat (img), Size (filter->width, filter->height),
+      GaussianBlur (cvarrToMat(img), cvarrToMat(img), Size (filter->width, filter->height),
           filter->colorsigma, filter->colorsigma);
       break;
     case CV_MEDIAN:
-      medianBlur (Mat (img), Mat (img), filter->width);
+      medianBlur (cvarrToMat(img), cvarrToMat(img), filter->width);
       break;
     case CV_BILATERAL:
-      bilateralFilter (Mat (img), Mat (img), -1, filter->colorsigma, 0.0);
+      bilateralFilter (cvarrToMat(img), cvarrToMat(img), -1, filter->colorsigma, 0.0);
       break;
     default:
       break;
diff --git a/ext/opencv/gstcvsobel.cpp b/ext/opencv/gstcvsobel.cpp
index d5c9ef7..4c2ccc4 100644
--- a/ext/opencv/gstcvsobel.cpp
+++ b/ext/opencv/gstcvsobel.cpp
@@ -163,10 +163,8 @@
           "Sets whether the detected derivative edges should be used as a mask on the original input or not",
           DEFAULT_MASK, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 
   gst_element_class_set_static_metadata (element_class,
       "cvsobel",
diff --git a/ext/opencv/gstdisparity.cpp b/ext/opencv/gstdisparity.cpp
index 3ca9015..486e865 100644
--- a/ext/opencv/gstdisparity.cpp
+++ b/ext/opencv/gstdisparity.cpp
@@ -119,12 +119,16 @@
 #include <config.h>
 #endif
 
-#include <opencv2/contrib/contrib.hpp>
 #include "gstdisparity.h"
+#include <opencv2/imgproc/imgproc_c.h>
+#if (CV_MAJOR_VERSION >= 3)
+#include <opencv2/imgproc.hpp>
+#endif
 
 GST_DEBUG_CATEGORY_STATIC (gst_disparity_debug);
 #define GST_CAT_DEFAULT gst_disparity_debug
 
+using namespace cv;
 /* Filter signals and args */
 enum
 {
@@ -141,9 +145,7 @@
 typedef enum
 {
   METHOD_SBM,
-  METHOD_SGBM,
-  METHOD_VAR,
-  METHOD_GC
+  METHOD_SGBM
 } GstDisparityMethod;
 
 #define DEFAULT_METHOD METHOD_SGBM
@@ -157,8 +159,6 @@
     static const GEnumValue values[] = {
       {METHOD_SBM, "Global block matching algorithm", "sbm"},
       {METHOD_SGBM, "Semi-global block matching algorithm", "sgbm"},
-      {METHOD_VAR, "Variational matching algorithm", "svar"},
-      {METHOD_GC, "Graph-cut based matching algorithm", "sgc"},
       {0, NULL, NULL},
     };
     etype = g_enum_register_static ("GstDisparityMethod", values);
@@ -205,8 +205,6 @@
 static int initialise_sbm (GstDisparity * filter);
 static int run_sbm_iteration (GstDisparity * filter);
 static int run_sgbm_iteration (GstDisparity * filter);
-static int run_svar_iteration (GstDisparity * filter);
-static int run_sgc_iteration (GstDisparity * filter);
 static int finalise_sbm (GstDisparity * filter);
 
 /* initialize the disparity's class */
@@ -238,10 +236,8 @@
       "Calculates the stereo disparity map from two (sequences of) rectified and aligned stereo images",
       "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 }
 
 /* initialize the new element
@@ -582,27 +578,6 @@
         CV_MINMAX, NULL);
     cvCvtColor (fs->cvGray_depth_map2, fs->cvRGB_right, CV_GRAY2RGB);
   }
-  /* The class implements the modified S. G. Kosov algorithm
-     See the comments on top of the file.
-   */
-  else if (METHOD_VAR == fs->method) {
-    cvCvtColor (fs->cvRGB_left, fs->cvGray_left, CV_RGB2GRAY);
-    cvCvtColor (fs->cvRGB_right, fs->cvGray_right, CV_RGB2GRAY);
-    run_svar_iteration (fs);
-    cvCvtColor (fs->cvGray_depth_map2, fs->cvRGB_right, CV_GRAY2RGB);
-  }
-  /* The Graph Cut stereo vision algorithm (GC) introduced in [D] is a global
-     stereo vision method. It calculates depth discontinuities by minimizing an
-     energy function combingin a point-wise matching cost and a smoothness term.
-     See the comments on top of the file.
-   */
-  else if (METHOD_GC == fs->method) {
-    cvCvtColor (fs->cvRGB_left, fs->cvGray_left, CV_RGB2GRAY);
-    cvCvtColor (fs->cvRGB_right, fs->cvGray_right, CV_RGB2GRAY);
-    run_sgc_iteration (fs);
-    cvConvertScale (fs->cvGray_depth_map1, fs->cvGray_depth_map2, -16.0, 0.0);
-    cvCvtColor (fs->cvGray_depth_map2, fs->cvRGB_right, CV_GRAY2RGB);
-  }
 
 
   GST_DEBUG_OBJECT (pad, " right has finished");
@@ -665,72 +640,65 @@
 int
 initialise_sbm (GstDisparity * filter)
 {
-  filter->img_right_as_cvMat_rgb =
-      (void *) new cv::Mat (filter->cvRGB_right, false);
-  filter->img_left_as_cvMat_rgb =
-      (void *) new cv::Mat (filter->cvRGB_left, false);
   filter->img_right_as_cvMat_gray =
-      (void *) new cv::Mat (filter->cvGray_right, false);
+      (void *) new Mat (cvarrToMat (filter->cvGray_right, false));
   filter->img_left_as_cvMat_gray =
-      (void *) new cv::Mat (filter->cvGray_left, false);
+      (void *) new Mat (cvarrToMat (filter->cvGray_left, false));
   filter->depth_map_as_cvMat =
-      (void *) new cv::Mat (filter->cvGray_depth_map1, false);
-  filter->depth_map_as_cvMat2 =
-      (void *) new cv::Mat (filter->cvGray_depth_map2, false);
+      (void *) new Mat (cvarrToMat (filter->cvGray_depth_map1, false));
+#if (CV_MAJOR_VERSION >= 3)
+  filter->sbm = StereoBM::create();
+  filter->sgbm = StereoSGBM::create(1,64,3);
 
-  filter->sbm = (void *) new cv::StereoBM ();
-  filter->sgbm = (void *) new cv::StereoSGBM ();
-  filter->svar = (void *) new cv::StereoVar ();
-  /* SGC has only two parameters on creation: NumerOfDisparities and MaxIters */
-  filter->sgc = cvCreateStereoGCState (16, 2);
+  filter->sbm->setBlockSize (9);
+  filter->sbm->setNumDisparities (32);
+  filter->sbm->setPreFilterSize (9);
+  filter->sbm->setPreFilterCap (32);
+  filter->sbm->setMinDisparity (0);
+  filter->sbm->setTextureThreshold (0);
+  filter->sbm->setUniquenessRatio (0);
+  filter->sbm->setSpeckleWindowSize (0);
+  filter->sbm->setSpeckleRange (0);
+  filter->sbm->setDisp12MaxDiff (0);
 
-  ((cv::StereoBM *) filter->sbm)->state->SADWindowSize = 9;
-  ((cv::StereoBM *) filter->sbm)->state->numberOfDisparities = 32;
-  ((cv::StereoBM *) filter->sbm)->state->preFilterSize = 9;
-  ((cv::StereoBM *) filter->sbm)->state->preFilterCap = 32;
-  ((cv::StereoBM *) filter->sbm)->state->minDisparity = 0;
-  ((cv::StereoBM *) filter->sbm)->state->textureThreshold = 0;
-  ((cv::StereoBM *) filter->sbm)->state->uniquenessRatio = 0;
-  ((cv::StereoBM *) filter->sbm)->state->speckleWindowSize = 0;
-  ((cv::StereoBM *) filter->sbm)->state->speckleRange = 0;
-  ((cv::StereoBM *) filter->sbm)->state->disp12MaxDiff = 0;
+  filter->sgbm->setMinDisparity (1);
+  filter->sgbm->setNumDisparities (64);
+  filter->sgbm->setBlockSize (3);
+  filter->sgbm->setP1 (200);
+  filter->sgbm->setP2 (255);
+  filter->sgbm->setDisp12MaxDiff (0);
+  filter->sgbm->setPreFilterCap (0);
+  filter->sgbm->setUniquenessRatio (0);
+  filter->sgbm->setSpeckleWindowSize (0);
+  filter->sgbm->setSpeckleRange (0);
+  filter->sgbm->setMode (StereoSGBM::MODE_HH);
+#else
+  filter->sbm = (void *) new StereoBM ();
+  filter->sgbm = (void *) new StereoSGBM ();
 
-  ((cv::StereoSGBM *) filter->sgbm)->minDisparity = 1;
-  ((cv::StereoSGBM *) filter->sgbm)->numberOfDisparities = 64;
-  ((cv::StereoSGBM *) filter->sgbm)->SADWindowSize = 3;
-  ((cv::StereoSGBM *) filter->sgbm)->P1 = 200;;
-  ((cv::StereoSGBM *) filter->sgbm)->P2 = 255;
-  ((cv::StereoSGBM *) filter->sgbm)->disp12MaxDiff = 0;
-  ((cv::StereoSGBM *) filter->sgbm)->preFilterCap = 0;
-  ((cv::StereoSGBM *) filter->sgbm)->uniquenessRatio = 0;
-  ((cv::StereoSGBM *) filter->sgbm)->speckleWindowSize = 0;
-  ((cv::StereoSGBM *) filter->sgbm)->speckleRange = 0;
-  ((cv::StereoSGBM *) filter->sgbm)->fullDP = true;
+  ((StereoBM *) filter->sbm)->state->SADWindowSize = 9;
+  ((StereoBM *) filter->sbm)->state->numberOfDisparities = 32;
+  ((StereoBM *) filter->sbm)->state->preFilterSize = 9;
+  ((StereoBM *) filter->sbm)->state->preFilterCap = 32;
+  ((StereoBM *) filter->sbm)->state->minDisparity = 0;
+  ((StereoBM *) filter->sbm)->state->textureThreshold = 0;
+  ((StereoBM *) filter->sbm)->state->uniquenessRatio = 0;
+  ((StereoBM *) filter->sbm)->state->speckleWindowSize = 0;
+  ((StereoBM *) filter->sbm)->state->speckleRange = 0;
+  ((StereoBM *) filter->sbm)->state->disp12MaxDiff = 0;
 
-  /* From Opencv samples/cpp/stereo_match.cpp */
-  ((cv::StereoVar *) filter->svar)->levels = 3;
-  ((cv::StereoVar *) filter->svar)->pyrScale = 0.5;
-  ((cv::StereoVar *) filter->svar)->nIt = 25;
-  ((cv::StereoVar *) filter->svar)->minDisp = -64;
-  ((cv::StereoVar *) filter->svar)->maxDisp = 0;
-  ((cv::StereoVar *) filter->svar)->poly_n = 3;
-  ((cv::StereoVar *) filter->svar)->poly_sigma = 0.0;
-  ((cv::StereoVar *) filter->svar)->fi = 15.0f;
-  ((cv::StereoVar *) filter->svar)->lambda = 0.03f;
-  ((cv::StereoVar *) filter->svar)->penalization =
-      cv::StereoVar::PENALIZATION_TICHONOV;
-  ((cv::StereoVar *) filter->svar)->cycle = cv::StereoVar::CYCLE_V;
-  ((cv::StereoVar *) filter->svar)->flags = cv::StereoVar::USE_SMART_ID |
-      cv::StereoVar::USE_AUTO_PARAMS |
-      cv::StereoVar::USE_INITIAL_DISPARITY |
-      cv::StereoVar::USE_MEDIAN_FILTERING;
-
-  filter->sgc->Ithreshold = 5;
-  filter->sgc->interactionRadius = 1;
-  filter->sgc->occlusionCost = 10000;
-  filter->sgc->minDisparity = 0;
-  filter->sgc->numberOfDisparities = 16;        /* Coming from constructor too */
-  filter->sgc->maxIters = 1;    /* Coming from constructor too */
+  ((StereoSGBM *) filter->sgbm)->minDisparity = 1;
+  ((StereoSGBM *) filter->sgbm)->numberOfDisparities = 64;
+  ((StereoSGBM *) filter->sgbm)->SADWindowSize = 3;
+  ((StereoSGBM *) filter->sgbm)->P1 = 200;;
+  ((StereoSGBM *) filter->sgbm)->P2 = 255;
+  ((StereoSGBM *) filter->sgbm)->disp12MaxDiff = 0;
+  ((StereoSGBM *) filter->sgbm)->preFilterCap = 0;
+  ((StereoSGBM *) filter->sgbm)->uniquenessRatio = 0;
+  ((StereoSGBM *) filter->sgbm)->speckleWindowSize = 0;
+  ((StereoSGBM *) filter->sgbm)->speckleRange = 0;
+  ((StereoSGBM *) filter->sgbm)->fullDP = true;
+#endif
 
   return (0);
 }
@@ -738,53 +706,49 @@
 int
 run_sbm_iteration (GstDisparity * filter)
 {
-  (*((cv::StereoBM *) filter->
-          sbm)) (*((cv::Mat *) filter->img_left_as_cvMat_gray),
-      *((cv::Mat *) filter->img_right_as_cvMat_gray),
-      *((cv::Mat *) filter->depth_map_as_cvMat));
+#if (CV_MAJOR_VERSION >= 3)
+  ((StereoBM *) filter->
+          sbm)->compute (*((Mat *) filter->img_left_as_cvMat_gray),
+      *((Mat *) filter->img_right_as_cvMat_gray),
+      *((Mat *) filter->depth_map_as_cvMat));
+#else
+  (*((StereoBM *) filter->
+          sbm)) (*((Mat *) filter->img_left_as_cvMat_gray),
+      *((Mat *) filter->img_right_as_cvMat_gray),
+      *((Mat *) filter->depth_map_as_cvMat));
+#endif
   return (0);
 }
 
 int
 run_sgbm_iteration (GstDisparity * filter)
 {
-  (*((cv::StereoSGBM *) filter->
-          sgbm)) (*((cv::Mat *) filter->img_left_as_cvMat_gray),
-      *((cv::Mat *) filter->img_right_as_cvMat_gray),
-      *((cv::Mat *) filter->depth_map_as_cvMat));
-  return (0);
-}
-
-int
-run_svar_iteration (GstDisparity * filter)
-{
-  (*((cv::StereoVar *) filter->
-          svar)) (*((cv::Mat *) filter->img_left_as_cvMat_gray),
-      *((cv::Mat *) filter->img_right_as_cvMat_gray),
-      *((cv::Mat *) filter->depth_map_as_cvMat2));
-  return (0);
-}
-
-int
-run_sgc_iteration (GstDisparity * filter)
-{
-  cvFindStereoCorrespondenceGC (filter->cvGray_left,
-      filter->cvGray_right, filter->cvGray_depth_map1,
-      filter->cvGray_depth_map1_2, filter->sgc, 0);
+#if (CV_MAJOR_VERSION >= 3)
+  ((StereoSGBM *) filter->
+          sgbm)->compute (*((Mat *) filter->img_left_as_cvMat_gray),
+      *((Mat *) filter->img_right_as_cvMat_gray),
+      *((Mat *) filter->depth_map_as_cvMat));
+#else
+  (*((StereoSGBM *) filter->
+          sgbm)) (*((Mat *) filter->img_left_as_cvMat_gray),
+      *((Mat *) filter->img_right_as_cvMat_gray),
+      *((Mat *) filter->depth_map_as_cvMat));
+#endif
   return (0);
 }
 
 int
 finalise_sbm (GstDisparity * filter)
 {
-  delete (cv::Mat *) filter->img_left_as_cvMat_rgb;
-  delete (cv::Mat *) filter->img_right_as_cvMat_rgb;
-  delete (cv::Mat *) filter->depth_map_as_cvMat;
-  delete (cv::Mat *) filter->depth_map_as_cvMat2;
-  delete (cv::Mat *) filter->img_left_as_cvMat_gray;
-  delete (cv::Mat *) filter->img_right_as_cvMat_gray;
-  delete (cv::StereoBM *) filter->sbm;
-  delete (cv::StereoSGBM *) filter->sgbm;
-  delete (cv::StereoVar *) filter->svar;
+  delete (Mat *) filter->depth_map_as_cvMat;
+  delete (Mat *) filter->img_left_as_cvMat_gray;
+  delete (Mat *) filter->img_right_as_cvMat_gray;
+#if (CV_MAJOR_VERSION >= 3)
+  filter->sbm.release();
+  filter->sgbm.release();
+#else
+  delete (StereoBM *) filter->sbm;
+  delete (StereoSGBM *) filter->sgbm;
+#endif
   return (0);
 }
diff --git a/ext/opencv/gstdisparity.h b/ext/opencv/gstdisparity.h
index 07e2417..218699d 100644
--- a/ext/opencv/gstdisparity.h
+++ b/ext/opencv/gstdisparity.h
@@ -47,7 +47,9 @@
 #include <gst/gst.h>
 #include <gst/video/video.h>
 
-#include <opencv2/legacy/legacy.hpp>
+#include <opencv2/core/core.hpp>
+#include <opencv2/calib3d/calib3d.hpp>
+#include <opencv2/core/version.hpp>
 
 G_BEGIN_DECLS
 /* #defines don't like whitespacey bits */
@@ -92,16 +94,16 @@
   IplImage *cvGray_depth_map2;  /*IPL_DEPTH_8U */
   IplImage *cvGray_depth_map1_2;        /*IPL_DEPTH_16S */
 
-  void *sbm;                    /* cv::StereoBM */
-  void *sgbm;                   /* cv::StereoSGBM */
-  void *svar;                   /* cv::StereoVar */
-  CvStereoGCState *sgc;         /* This is a C implementation */
-  void *img_right_as_cvMat_rgb; /* cv::Mat */
-  void *img_left_as_cvMat_rgb;  /* cv::Mat */
-  void *depth_map_as_cvMat;     /* cv::Mat */
-  void *depth_map_as_cvMat2;    /* cv::Mat */
   void *img_right_as_cvMat_gray;        /* cv::Mat */
   void *img_left_as_cvMat_gray; /* cv::Mat */
+  void *depth_map_as_cvMat;     /* cv::Mat */
+#if (CV_MAJOR_VERSION >= 3)
+  cv::Ptr<cv::StereoBM> sbm;                    /* cv::StereoBM */
+  cv::Ptr<cv::StereoSGBM> sgbm;                /* cv::StereoSGBM */
+#else
+ void *sbm;                    /* cv::StereoBM */
+ void *sgbm;                   /* cv::StereoSGBM */
+#endif
 };
 
 struct _GstDisparityClass
diff --git a/ext/opencv/gstedgedetect.cpp b/ext/opencv/gstedgedetect.cpp
index 7e6c1e7..1be9836 100644
--- a/ext/opencv/gstedgedetect.cpp
+++ b/ext/opencv/gstedgedetect.cpp
@@ -169,10 +169,8 @@
       "Performs canny edge detection on videos and images.",
       "Michael Sheldon <mike@mikeasoft.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 }
 
 /* initialize the new element
diff --git a/ext/opencv/gstfaceblur.cpp b/ext/opencv/gstfaceblur.cpp
index 2bc88d1..4476e14 100644
--- a/ext/opencv/gstfaceblur.cpp
+++ b/ext/opencv/gstfaceblur.cpp
@@ -80,6 +80,7 @@
 #define DEFAULT_MIN_SIZE_HEIGHT 30
 
 using namespace cv;
+using namespace std;
 enum
 {
   PROP_0,
@@ -227,10 +228,8 @@
       "Blurs faces in images and videos",
       "Michael Sheldon <mike@mikeasoft.com>,Robert Jobbagy <jobbagy.robert@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 }
 
 /* initialize the new element
@@ -357,9 +356,7 @@
 
   cvCvtColor (img, filter->cvGray, CV_RGB2GRAY);
 
-  Mat image (filter->cvGray, Rect (filter->cvGray->origin,
-          filter->cvGray->origin, filter->cvGray->width,
-          filter->cvGray->height));
+  Mat image = cvarrToMat(filter->cvGray);
   filter->cvCascade->detectMultiScale (image, faces, filter->scale_factor,
       filter->min_neighbors, filter->flags,
       cvSize (filter->min_size_width, filter->min_size_height), cvSize (0, 0));
@@ -368,7 +365,8 @@
 
     for (i = 0; i < faces.size (); ++i) {
       Rect *r = &faces[i];
-      Mat roi (img, Rect (r->x, r->y, r->width, r->height));
+      Mat imag = cvarrToMat(img);
+      Mat roi (imag, Rect (r->x, r->y, r->width, r->height));
       blur (roi, roi, Size (11, 11));
       GaussianBlur (roi, roi, Size (11, 11), 0, 0);
     }
diff --git a/ext/opencv/gstfacedetect.cpp b/ext/opencv/gstfacedetect.cpp
index aff9979..3c82ce0 100644
--- a/ext/opencv/gstfacedetect.cpp
+++ b/ext/opencv/gstfacedetect.cpp
@@ -78,8 +78,12 @@
 
 #include <vector>
 
+using namespace std;
+
 #include "gstfacedetect.h"
-#include <opencv2/imgproc/imgproc_c.h>
+#if (CV_MAJOR_VERSION >= 3)
+#include <opencv2/imgproc.hpp>
+#endif
 
 GST_DEBUG_CATEGORY_STATIC (gst_face_detect_debug);
 #define GST_CAT_DEFAULT gst_face_detect_debug
@@ -349,10 +353,8 @@
       "Performs face detection on videos and images, providing detected positions via bus messages",
       "Michael Sheldon <mike@mikeasoft.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 }
 
 /* initialize the new element
@@ -559,7 +561,7 @@
     img_stddev = stddev.val[0];
   }
   if (img_stddev >= filter->min_stddev) {
-    Mat roi (filter->cvGray, r);
+    Mat roi (cv::cvarrToMat (filter->cvGray), r);
     detector->detectMultiScale (roi, faces, filter->scale_factor,
         filter->min_neighbors, filter->flags, cvSize (min_size_width,
             min_size_height), cvSize (0, 0));
@@ -591,7 +593,7 @@
     gboolean do_display = FALSE;
     gboolean post_msg = FALSE;
 
-    Mat mtxOrg (img, false);
+    Mat mtxOrg (cv::cvarrToMat (img));
 
     if (filter->display) {
       if (gst_buffer_is_writable (buf)) {
diff --git a/ext/opencv/gstgrabcut.cpp b/ext/opencv/gstgrabcut.cpp
index eaf727b..f604953 100644
--- a/ext/opencv/gstgrabcut.cpp
+++ b/ext/opencv/gstgrabcut.cpp
@@ -93,6 +93,7 @@
 GST_DEBUG_CATEGORY_STATIC (gst_grabcut_debug);
 #define GST_CAT_DEFAULT gst_grabcut_debug
 
+using namespace cv;
 /* Filter signals and args */
 enum
 {
@@ -184,10 +185,8 @@
 downstream event is used to create a bbox of PR_FG elements.\n\
 IF nothing is present, then nothing is done.", "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 }
 
 
@@ -394,8 +393,8 @@
   for (x = 0; x < output->cols; x++) {
     for (y = 0; y < output->rows; y++) {
       CV_MAT_ELEM (*output, uchar, y, x) =
-          (cvGetReal2D (input, y, x) <= cv::GC_PR_FGD) ? cvGetReal2D (input, y,
-          x) : cv::GC_PR_FGD;
+          (cvGetReal2D (input, y, x) <= GC_PR_FGD) ? cvGetReal2D (input, y,
+          x) : GC_PR_FGD;
     }
   }
 }
@@ -405,10 +404,10 @@
 initialise_grabcut (struct grabcut_params *GC, IplImage * image_c,
     CvMat * mask_c)
 {
-  GC->image = (void *) new cv::Mat (image_c, false);    /*  "true" refers to copydata */
-  GC->mask = (void *) new cv::Mat (mask_c, false);
-  GC->bgdModel = (void *) new cv::Mat ();       /*  "true" refers to copydata */
-  GC->fgdModel = (void *) new cv::Mat ();
+  GC->image = (void *) new Mat (cvarrToMat (image_c, false));    /*  "true" refers to copydata */
+  GC->mask = (void *) new Mat (cvarrToMat (mask_c, false));
+  GC->bgdModel = (void *) new Mat ();       /*  "true" refers to copydata */
+  GC->fgdModel = (void *) new Mat ();
 
   return (0);
 }
@@ -417,13 +416,13 @@
 run_grabcut_iteration (struct grabcut_params *GC, IplImage * image_c,
     CvMat * mask_c, CvRect * bbox)
 {
-  ((cv::Mat *) GC->image)->data = (uchar *) image_c->imageData;
-  ((cv::Mat *) GC->mask)->data = mask_c->data.ptr;
+  ((Mat *) GC->image)->data = (uchar *) image_c->imageData;
+  ((Mat *) GC->mask)->data = mask_c->data.ptr;
 
   if (cvCountNonZero (mask_c))
-    grabCut (*((cv::Mat *) GC->image), *((cv::Mat *) GC->mask), cv::Rect (),
-        *((cv::Mat *) GC->bgdModel), *((cv::Mat *) GC->fgdModel), 1,
-        cv::GC_INIT_WITH_MASK);
+    grabCut (*((Mat *) GC->image), *((Mat *) GC->mask), Rect (),
+        *((Mat *) GC->bgdModel), *((Mat *) GC->fgdModel), 1,
+        GC_INIT_WITH_MASK);
 
   return (0);
 }
@@ -432,12 +431,11 @@
 run_grabcut_iteration2 (struct grabcut_params *GC, IplImage * image_c,
     CvMat * mask_c, CvRect * bbox)
 {
-  ((cv::Mat *) GC->image)->data = (uchar *) image_c->imageData;
-  ((cv::Mat *) GC->mask)->data = mask_c->data.ptr;
-
-  grabCut (*((cv::Mat *) GC->image), *((cv::Mat *) GC->mask), *(bbox),
-      *((cv::Mat *) GC->bgdModel), *((cv::Mat *) GC->fgdModel), 1,
-      cv::GC_INIT_WITH_RECT);
+  ((Mat *) GC->image)->data = (uchar *) image_c->imageData;
+  ((Mat *) GC->mask)->data = mask_c->data.ptr;
+  grabCut (*((Mat *) GC->image), *((Mat *) GC->mask), *(bbox),
+      *((Mat *) GC->bgdModel), *((Mat *) GC->fgdModel), 1,
+      GC_INIT_WITH_RECT);
 
   return (0);
 }
@@ -445,10 +443,10 @@
 int
 finalise_grabcut (struct grabcut_params *GC)
 {
-  delete ((cv::Mat *) GC->image);
-  delete ((cv::Mat *) GC->mask);
-  delete ((cv::Mat *) GC->bgdModel);
-  delete ((cv::Mat *) GC->fgdModel);
+  delete ((Mat *) GC->image);
+  delete ((Mat *) GC->mask);
+  delete ((Mat *) GC->bgdModel);
+  delete ((Mat *) GC->fgdModel);
 
   return (0);
 }
diff --git a/ext/opencv/gsthanddetect.cpp b/ext/opencv/gsthanddetect.cpp
index e36b80e..f85f2c9 100644
--- a/ext/opencv/gsthanddetect.cpp
+++ b/ext/opencv/gsthanddetect.cpp
@@ -72,6 +72,7 @@
 #define HAAR_FILE_PALM GST_HAAR_CASCADES_DIR G_DIR_SEPARATOR_S "palm.xml"
 
 using namespace cv;
+using namespace std;
 /* Filter signals and args */
 enum
 {
@@ -245,10 +246,8 @@
       "Performs hand gesture detection on videos, providing detected hand positions via bus message and navigation event, and deals with hand gesture events",
       "Andol Li <andol@andol.info>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 
 }
 
@@ -407,7 +406,8 @@
     cvCvtColor (img, filter->cvGray, CV_RGB2GRAY);
 
     /* detect FIST gesture fist */
-    Mat roi (filter->cvGray, Rect (filter->cvGray->origin,
+    Mat image = cvarrToMat(filter->cvGray);
+    Mat roi (image, Rect (filter->cvGray->origin,
             filter->cvGray->origin, filter->cvGray->width,
             filter->cvGray->height));
     filter->cvCascade_fist->detectMultiScale (roi, hands, 1.1, 2,
diff --git a/ext/opencv/gstmotioncells.cpp b/ext/opencv/gstmotioncells.cpp
index e1d412f..33f314a 100644
--- a/ext/opencv/gstmotioncells.cpp
+++ b/ext/opencv/gstmotioncells.cpp
@@ -308,10 +308,8 @@
       "Performs motion detection on videos and images, providing detected motion cells index via bus messages",
       "Robert Jobbagy <jobbagy dot robert at gmail dot com>, Nicola Murino <nicola dot murino at gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 }
 
 /* initialize the new element
diff --git a/ext/opencv/gstopencv.cpp b/ext/opencv/gstopencv.cpp
index 4077ba6..8f50cd8 100644
--- a/ext/opencv/gstopencv.cpp
+++ b/ext/opencv/gstopencv.cpp
@@ -33,7 +33,6 @@
 #include "gstfaceblur.h"
 #include "gstfacedetect.h"
 #include "gstmotioncells.h"
-#include "gstpyramidsegment.h"
 #include "gsttemplatematch.h"
 #include "gsttextoverlay.h"
 #include "gsthanddetect.h"
@@ -76,9 +75,6 @@
   if (!gst_motion_cells_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_pyramid_segment_plugin_init (plugin))
-    return FALSE;
-
   if (!gst_template_match_plugin_init (plugin))
     return FALSE;
 
diff --git a/ext/opencv/gstopencvutils.cpp b/ext/opencv/gstopencvutils.cpp
index da6eea9..57b660d 100644
--- a/ext/opencv/gstopencvutils.cpp
+++ b/ext/opencv/gstopencvutils.cpp
@@ -24,7 +24,7 @@
 #endif
 
 #include "gstopencvutils.h"
-#include <opencv2/core/types_c.h>
+#include <opencv2/core/core_c.h>
 
 
 gboolean
diff --git a/ext/opencv/gstpyramidsegment.cpp b/ext/opencv/gstpyramidsegment.cpp
deleted file mode 100644
index d8247c0..0000000
--- a/ext/opencv/gstpyramidsegment.cpp
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * GStreamer
- * Copyright (C) 2005 Thomas Vander Stichele <thomas@apestaart.org>
- * Copyright (C) 2005 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
- * Copyright (C) 2008 Michael Sheldon <mike@mikeasoft.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Alternatively, the contents of this file may be used under the
- * GNU Lesser General Public License Version 2.1 (the "LGPL"), in
- * which case the following provisions apply instead of the ones
- * mentioned above:
- *
- * 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-pyramidsegment
- *
- * Applies pyramid segmentation to a video or image.
- *
- * <refsect2>
- * <title>Example launch line</title>
- * |[
- * gst-launch-1.0 -v videotestsrc ! pyramidsegment ! videoconvert ! autovideosink
- * ]|
- * </refsect2>
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include "gstpyramidsegment.h"
-
-#define BLOCK_SIZE 1000
-
-GST_DEBUG_CATEGORY_STATIC (gst_pyramid_segment_debug);
-#define GST_CAT_DEFAULT gst_pyramid_segment_debug
-
-using namespace cv;
-/* Filter signals and args */
-enum
-{
-  /* FILL ME */
-  LAST_SIGNAL
-};
-
-enum
-{
-  PROP_0,
-  PROP_SILENT,
-  PROP_THRESHOLD1,
-  PROP_THRESHOLD2,
-  PROP_LEVEL
-};
-
-/* the capabilities of the inputs and outputs.
- *
- * describe the real formats here.
- */
-static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("RGB"))
-    );
-
-static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("RGB"))
-    );
-
-G_DEFINE_TYPE (GstPyramidSegment, gst_pyramid_segment,
-    GST_TYPE_OPENCV_VIDEO_FILTER);
-
-static void gst_pyramid_segment_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec);
-static void gst_pyramid_segment_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec);
-
-static GstFlowReturn gst_pyramid_segment_transform_ip (GstOpencvVideoFilter *
-    base, GstBuffer * buf, IplImage * img);
-
-/* Clean up */
-static void
-gst_pyramid_segment_finalize (GObject * obj)
-{
-  GstPyramidSegment *filter = GST_PYRAMID_SEGMENT (obj);
-
-  cvReleaseMemStorage (&filter->storage);
-
-  G_OBJECT_CLASS (gst_pyramid_segment_parent_class)->finalize (obj);
-}
-
-/* initialize the pyramidsegment's class */
-static void
-gst_pyramid_segment_class_init (GstPyramidSegmentClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstOpencvVideoFilterClass *gstopencvbasefilter_class;
-
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-  gobject_class = (GObjectClass *) klass;
-  gstopencvbasefilter_class = (GstOpencvVideoFilterClass *) klass;
-
-  gobject_class->finalize = GST_DEBUG_FUNCPTR (gst_pyramid_segment_finalize);
-  gobject_class->set_property = gst_pyramid_segment_set_property;
-  gobject_class->get_property = gst_pyramid_segment_get_property;
-
-  gstopencvbasefilter_class->cv_trans_ip_func =
-      gst_pyramid_segment_transform_ip;
-
-  g_object_class_install_property (gobject_class, PROP_SILENT,
-      g_param_spec_boolean ("silent", "Silent", "Produce verbose output ?",
-          FALSE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
-
-  g_object_class_install_property (gobject_class, PROP_THRESHOLD1,
-      g_param_spec_double ("threshold1", "Threshold1",
-          "Error threshold for establishing links", 0, 1000, 50,
-          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
-
-  g_object_class_install_property (gobject_class, PROP_THRESHOLD2,
-      g_param_spec_double ("threshold2", "Threshold2",
-          "Error threshold for segment clustering", 0, 1000, 60,
-          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
-
-  g_object_class_install_property (gobject_class, PROP_LEVEL,
-      g_param_spec_int ("level", "Level",
-          "Maximum level of the pyramid segmentation", 1, 4, 4,
-          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
-
-  gst_element_class_set_static_metadata (element_class,
-      "pyramidsegment",
-      "Filter/Effect/Video",
-      "Applies pyramid segmentation to a video or image.",
-      "Michael Sheldon <mike@mikeasoft.com>");
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
-}
-
-/* initialize the new element
- * instantiate pads and add them to element
- * set pad calback functions
- * initialize instance structure
- */
-static void
-gst_pyramid_segment_init (GstPyramidSegment * filter)
-{
-  filter->storage = cvCreateMemStorage (BLOCK_SIZE);
-  filter->comp =
-      cvCreateSeq (0, sizeof (CvSeq), sizeof (CvPoint), filter->storage);
-  filter->silent = FALSE;
-  filter->threshold1 = 50.0;
-  filter->threshold2 = 60.0;
-  filter->level = 4;
-
-  gst_opencv_video_filter_set_in_place (GST_OPENCV_VIDEO_FILTER_CAST (filter),
-      TRUE);
-}
-
-static void
-gst_pyramid_segment_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstPyramidSegment *filter = GST_PYRAMID_SEGMENT (object);
-
-  switch (prop_id) {
-    case PROP_SILENT:
-      filter->silent = g_value_get_boolean (value);
-      break;
-    case PROP_THRESHOLD1:
-      filter->threshold1 = g_value_get_double (value);
-      break;
-    case PROP_THRESHOLD2:
-      filter->threshold2 = g_value_get_double (value);
-      break;
-    case PROP_LEVEL:
-      filter->level = g_value_get_int (value);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static void
-gst_pyramid_segment_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec)
-{
-  GstPyramidSegment *filter = GST_PYRAMID_SEGMENT (object);
-
-  switch (prop_id) {
-    case PROP_SILENT:
-      g_value_set_boolean (value, filter->silent);
-      break;
-    case PROP_THRESHOLD1:
-      g_value_set_double (value, filter->threshold1);
-      break;
-    case PROP_THRESHOLD2:
-      g_value_set_double (value, filter->threshold2);
-      break;
-    case PROP_LEVEL:
-      g_value_set_int (value, filter->level);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-/* transform function
- * this function does the actual processing
- */
-static GstFlowReturn
-gst_pyramid_segment_transform_ip (GstOpencvVideoFilter * base, GstBuffer * buf,
-    IplImage * img)
-{
-  GstPyramidSegment *filter = GST_PYRAMID_SEGMENT (base);
-
-  cvPyrSegmentation (img, img, filter->storage,
-      &(filter->comp), filter->level, filter->threshold1, filter->threshold2);
-
-  return GST_FLOW_OK;
-}
-
-
-/* entry point to initialize the plug-in
- * initialize the plug-in itself
- * register the element factories and other features
- */
-gboolean
-gst_pyramid_segment_plugin_init (GstPlugin * plugin)
-{
-  /* debug category for fltering log messages */
-  GST_DEBUG_CATEGORY_INIT (gst_pyramid_segment_debug, "pyramidsegment",
-      0, "Applies pyramid segmentation to a video or image");
-
-  return gst_element_register (plugin, "pyramidsegment", GST_RANK_NONE,
-      GST_TYPE_PYRAMID_SEGMENT);
-}
diff --git a/ext/opencv/gstpyramidsegment.h b/ext/opencv/gstpyramidsegment.h
deleted file mode 100644
index e715766..0000000
--- a/ext/opencv/gstpyramidsegment.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * GStreamer
- * Copyright (C) 2005 Thomas Vander Stichele <thomas@apestaart.org>
- * Copyright (C) 2005 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
- * Copyright (C) 2008 Michael Sheldon <mike@mikeasoft.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Alternatively, the contents of this file may be used under the
- * GNU Lesser General Public License Version 2.1 (the "LGPL"), in
- * which case the following provisions apply instead of the ones
- * mentioned above:
- *
- * 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_PYRAMID_SEGMENT_H__
-#define __GST_PYRAMID_SEGMENT_H__
-
-#include <gstopencvvideofilter.h>
-#include <opencv2/core/version.hpp>
-#include <opencv2/legacy/legacy.hpp>
-
-G_BEGIN_DECLS
-/* #defines don't like whitespacey bits */
-#define GST_TYPE_PYRAMID_SEGMENT \
-  (gst_pyramid_segment_get_type())
-#define GST_PYRAMID_SEGMENT(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_PYRAMID_SEGMENT,GstPyramidSegment))
-#define GST_PYRAMID_SEGMENT_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_PYRAMID_SEGMENT,GstPyramidSegmentClass))
-#define GST_IS_PYRAMID_SEGMENT(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_PYRAMID_SEGMENT))
-#define GST_IS_PYRAMID_SEGMENT_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_PYRAMID_SEGMENT))
-
-typedef struct _GstPyramidSegment GstPyramidSegment;
-typedef struct _GstPyramidSegmentClass GstPyramidSegmentClass;
-
-struct _GstPyramidSegment
-{
-  GstOpencvVideoFilter element;
-
-  GstPad *sinkpad, *srcpad;
-
-  gboolean silent;
-
-  CvMemStorage *storage;
-
-  CvSeq *comp;
-
-  double threshold1, threshold2;
-
-  int level;
-};
-
-struct _GstPyramidSegmentClass
-{
-  GstOpencvVideoFilterClass parent_class;
-};
-
-GType gst_pyramid_segment_get_type (void);
-
-gboolean gst_pyramid_segment_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-#endif /* __GST_PYRAMID_SEGMENT_H__ */
diff --git a/ext/opencv/gstretinex.cpp b/ext/opencv/gstretinex.cpp
index 75842f8..a333914 100644
--- a/ext/opencv/gstretinex.cpp
+++ b/ext/opencv/gstretinex.cpp
@@ -167,10 +167,8 @@
       "Multiscale retinex for colour image enhancement",
       "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 }
 
 /* initialize the new element
@@ -294,7 +292,7 @@
   int gain = 128;
   int offset = 128;
   int filter_size;
-  Mat icvD (retinex->cvD, false);
+  Mat icvD = cvarrToMat(retinex->cvD, false);
 
   if (!gst_buffer_map (buf, &info, (GstMapFlags) GST_MAP_READWRITE)) {
     return GST_FLOW_ERROR;
diff --git a/ext/opencv/gstsegmentation.cpp b/ext/opencv/gstsegmentation.cpp
index e0aa821..472a3c4 100644
--- a/ext/opencv/gstsegmentation.cpp
+++ b/ext/opencv/gstsegmentation.cpp
@@ -91,12 +91,15 @@
 #endif
 
 #include "gstsegmentation.h"
-#include <opencv2/video/background_segm.hpp>
 #include <opencv2/imgproc/imgproc_c.h>
 
 GST_DEBUG_CATEGORY_STATIC (gst_segmentation_debug);
 #define GST_CAT_DEFAULT gst_segmentation_debug
 
+using namespace cv;
+#if (CV_MAJOR_VERSION >= 3)
+  using namespace cv::bgsegm;
+#endif
 /* Filter signals and args */
 enum
 {
@@ -223,10 +226,8 @@
       "Create a Foregound/Background mask applying a particular algorithm",
       "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 
 }
 
@@ -779,11 +780,16 @@
 int
 initialise_mog (GstSegmentation * filter)
 {
-  filter->img_input_as_cvMat = (void *) new cv::Mat (filter->cvYUV, false);
-  filter->img_fg_as_cvMat = (void *) new cv::Mat (filter->cvFG, false);
+  filter->img_input_as_cvMat = (void *) new Mat (cvarrToMat (filter->cvYUV, false));
+  filter->img_fg_as_cvMat = (void *) new Mat (cvarrToMat(filter->cvFG, false));
 
-  filter->mog = (void *) new cv::BackgroundSubtractorMOG ();
-  filter->mog2 = (void *) new cv::BackgroundSubtractorMOG2 ();
+#if (CV_MAJOR_VERSION >= 3)
+  filter->mog = bgsegm::createBackgroundSubtractorMOG ();
+  filter->mog2 = createBackgroundSubtractorMOG2 ();
+#else
+  filter->mog = (void *) new BackgroundSubtractorMOG ();
+  filter->mog2 = (void *) new BackgroundSubtractorMOG2 ();
+#endif
 
   return (0);
 }
@@ -806,9 +812,15 @@
      European Workshop on Advanced Video-Based Surveillance Systems, 2001
    */
 
-  (*((cv::BackgroundSubtractorMOG *) filter->mog)) (*((cv::Mat *) filter->
-          img_input_as_cvMat), *((cv::Mat *) filter->img_fg_as_cvMat),
+#if (CV_MAJOR_VERSION >= 3)
+  filter->mog->apply (*((Mat *) filter->
+          img_input_as_cvMat), *((Mat *) filter->img_fg_as_cvMat),
       filter->learning_rate);
+#else
+  (*((BackgroundSubtractorMOG *) filter->mog)) (*((Mat *) filter->
+          img_input_as_cvMat), *((Mat *) filter->img_fg_as_cvMat),
+      filter->learning_rate);
+#endif
 
   return (0);
 }
@@ -816,10 +828,10 @@
 int
 run_mog2_iteration (GstSegmentation * filter)
 {
-  ((cv::Mat *) filter->img_input_as_cvMat)->data =
-      (uchar *) filter->cvYUV->imageData;
-  ((cv::Mat *) filter->img_fg_as_cvMat)->data =
-      (uchar *) filter->cvFG->imageData;
+  ((Mat *) filter->img_input_as_cvMat)->data =
+       (uchar *) filter->cvYUV->imageData;
+  ((Mat *) filter->img_fg_as_cvMat)->data =
+       (uchar *) filter->cvFG->imageData;
 
   /*
      BackgroundSubtractorMOG2 [1], Gaussian Mixture-based Background/Foreground
@@ -834,9 +846,15 @@
      Letters, vol. 27, no. 7, pages 773-780, 2006.
    */
 
-  (*((cv::BackgroundSubtractorMOG *) filter->mog2)) (*((cv::Mat *) filter->
-          img_input_as_cvMat), *((cv::Mat *) filter->img_fg_as_cvMat),
+#if (CV_MAJOR_VERSION >= 3)
+  filter->mog2->apply (*((Mat *) filter->
+          img_input_as_cvMat), *((Mat *) filter->img_fg_as_cvMat),
       filter->learning_rate);
+#else
+  (*((BackgroundSubtractorMOG *) filter->mog2)) (*((Mat *) filter->
+          img_input_as_cvMat), *((Mat *) filter->img_fg_as_cvMat),
+      filter->learning_rate);
+#endif
 
   return (0);
 }
@@ -844,9 +862,14 @@
 int
 finalise_mog (GstSegmentation * filter)
 {
-  delete (cv::Mat *) filter->img_input_as_cvMat;
-  delete (cv::Mat *) filter->img_fg_as_cvMat;
-  delete (cv::BackgroundSubtractorMOG *) filter->mog;
-  delete (cv::BackgroundSubtractorMOG2 *) filter->mog2;
+  delete (Mat *) filter->img_input_as_cvMat;
+  delete (Mat *) filter->img_fg_as_cvMat;
+#if (CV_MAJOR_VERSION >= 3)
+  filter->mog.release ();
+  filter->mog2.release ();
+#else
+  delete (BackgroundSubtractorMOG *) filter->mog;
+  delete (BackgroundSubtractorMOG2 *) filter->mog2;
+#endif
   return (0);
 }
diff --git a/ext/opencv/gstsegmentation.h b/ext/opencv/gstsegmentation.h
index 9400853..982e2ba 100644
--- a/ext/opencv/gstsegmentation.h
+++ b/ext/opencv/gstsegmentation.h
@@ -47,7 +47,11 @@
 #include <gst/gst.h>
 #include <gst/video/gstvideofilter.h>
 #include <opencv2/core/core_c.h>
-
+#include <opencv2/video/background_segm.hpp>
+#include <opencv2/core/version.hpp>
+#if (CV_MAJOR_VERSION >= 3)
+  #include <opencv2/bgsegm.hpp>
+#endif
 
 
 G_BEGIN_DECLS
@@ -107,8 +111,13 @@
   CvSeq *contours;
 
   /* for MOG methods */
+#if (CV_MAJOR_VERSION >= 3)
+  cv::Ptr<cv::BackgroundSubtractor> mog;                   /* cv::BackgroundSubtractorMOG */
+  cv::Ptr<cv::BackgroundSubtractorMOG2> mog2;                   /* cv::BackgroundSubtractorMOG2 */
+#else
   void *mog;                    /* cv::BackgroundSubtractorMOG */
   void *mog2;                   /* cv::BackgroundSubtractorMOG2 */
+#endif
   void *img_input_as_cvMat;     /* cv::Mat */
   void *img_fg_as_cvMat;        /* cv::Mat */
   double learning_rate;
diff --git a/ext/opencv/gstskindetect.cpp b/ext/opencv/gstskindetect.cpp
index aade23c..e2fcb59 100644
--- a/ext/opencv/gstskindetect.cpp
+++ b/ext/opencv/gstskindetect.cpp
@@ -60,7 +60,6 @@
 
 #include "gstskindetect.h"
 #include <opencv2/imgproc/imgproc_c.h>
-#include <opencv2/legacy/compat.hpp>
 
 GST_DEBUG_CATEGORY_STATIC (gst_skin_detect_debug);
 #define GST_CAT_DEFAULT gst_skin_detect_debug
@@ -163,10 +162,8 @@
       "Performs non-parametric skin detection on input",
       "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 
   basesrc_class->stop = gst_skin_detect_stop;
   gstopencvbasefilter_class->cv_set_caps = gst_skin_detect_set_caps;
@@ -341,7 +338,7 @@
 
     cvCvtColor (filter->cvSkinPixels1, filter->cvRGB, CV_GRAY2RGB);
   } else if (RGB == filter->method) {
-    cvCvtPixToPlane (filter->cvRGB, filter->cvR, filter->cvG, filter->cvB, 0);  /*  Extract the 3 color components. */
+    cvSplit (filter->cvRGB, filter->cvR, filter->cvG, filter->cvB, 0);  /*  Extract the 3 color components. */
     cvAdd (filter->cvR, filter->cvG, filter->cvAll, NULL);
     cvAdd (filter->cvB, filter->cvAll, filter->cvAll, NULL);    /*  All = R + G + B */
     cvDiv (filter->cvR, filter->cvAll, filter->cvRp, 1.0);      /*  R' = R / ( R + G + B) */
diff --git a/ext/opencv/gsttemplatematch.cpp b/ext/opencv/gsttemplatematch.cpp
index 1223066..f39208d 100644
--- a/ext/opencv/gsttemplatematch.cpp
+++ b/ext/opencv/gsttemplatematch.cpp
@@ -147,10 +147,8 @@
       "Performs template matching on videos and images, providing detected positions via bus messages.",
       "Noam Lewis <jones.noamle@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 }
 
 /* initialize the new element
diff --git a/ext/opencv/gsttextoverlay.cpp b/ext/opencv/gsttextoverlay.cpp
index 7025b36..e3dc518 100644
--- a/ext/opencv/gsttextoverlay.cpp
+++ b/ext/opencv/gsttextoverlay.cpp
@@ -211,10 +211,8 @@
       "Filter/Effect/Video",
       "Write text on the top of video", "sreerenj<bsreerenj@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 
 }
 
diff --git a/ext/opencv/gsttextoverlay.h b/ext/opencv/gsttextoverlay.h
index 65a7d75..13d09fa 100644
--- a/ext/opencv/gsttextoverlay.h
+++ b/ext/opencv/gsttextoverlay.h
@@ -48,6 +48,9 @@
 
 #include <gstopencvvideofilter.h>
 #include <opencv2/core/core_c.h>
+#if (CV_MAJOR_VERSION >= 3)
+#include <opencv2/imgproc/imgproc_c.h>
+#endif
 G_BEGIN_DECLS
 
 /* #defines don't like whitespacey bits */
diff --git a/ext/openexr/Makefile.in b/ext/openexr/Makefile.in
index e215e01..5ff93fc 100644
--- a/ext/openexr/Makefile.in
+++ b/ext/openexr/Makefile.in
@@ -322,6 +322,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -537,6 +539,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -663,8 +667,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -709,6 +711,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/openexr/gstopenexrdec.cpp b/ext/openexr/gstopenexrdec.cpp
index a334b0a..8ee4598 100644
--- a/ext/openexr/gstopenexrdec.cpp
+++ b/ext/openexr/gstopenexrdec.cpp
@@ -122,10 +122,8 @@
   element_class = (GstElementClass *) klass;
   video_decoder_class = (GstVideoDecoderClass *) klass;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_openexr_dec_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_openexr_dec_sink_template));
+  gst_element_class_add_static_pad_template (element_class, &gst_openexr_dec_src_template);
+  gst_element_class_add_static_pad_template (element_class, &gst_openexr_dec_sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "OpenEXR decoder",
diff --git a/ext/openh264/Makefile.in b/ext/openh264/Makefile.in
index 6d37604..bc3844c 100644
--- a/ext/openh264/Makefile.in
+++ b/ext/openh264/Makefile.in
@@ -322,6 +322,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -537,6 +539,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -663,8 +667,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -709,6 +711,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/openh264/gstopenh264dec.cpp b/ext/openh264/gstopenh264dec.cpp
index 6333fe4..57d2fb5 100644
--- a/ext/openh264/gstopenh264dec.cpp
+++ b/ext/openh264/gstopenh264dec.cpp
@@ -27,32 +27,16 @@
 #include "config.h"
 #endif
 
-#include <wels/codec_api.h>
-#include <wels/codec_app_def.h>
-#include <wels/codec_def.h>
-
 #include "gstopenh264dec.h"
 #include <gst/gst.h>
 #include <gst/video/video.h>
 #include <gst/video/gstvideodecoder.h>
 #include <string.h>             /* for memcpy */
 
-
-#define GST_OPENH264DEC_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ( \
-                                     (obj), GST_TYPE_OPENH264DEC, \
-                                     GstOpenh264DecPrivate))
-
 GST_DEBUG_CATEGORY_STATIC (gst_openh264dec_debug_category);
 #define GST_CAT_DEFAULT gst_openh264dec_debug_category
 
 /* prototypes */
-
-
-static void gst_openh264dec_set_property (GObject * object,
-    guint property_id, const GValue * value, GParamSpec * pspec);
-static void gst_openh264dec_get_property (GObject * object, guint property_id,
-    GValue * value, GParamSpec * pspec);
-
 static gboolean gst_openh264dec_start (GstVideoDecoder * decoder);
 static gboolean gst_openh264dec_stop (GstVideoDecoder * decoder);
 
@@ -66,19 +50,6 @@
 static gboolean gst_openh264dec_decide_allocation (GstVideoDecoder * decoder,
     GstQuery * query);
 
-enum
-{
-  PROP_0,
-  N_PROPERTIES
-};
-
-struct _GstOpenh264DecPrivate
-{
-  ISVCDecoder *decoder;
-  GstVideoCodecState *input_state;
-  guint width, height;
-};
-
 /* pad templates */
 
 static GstStaticPadTemplate gst_openh264dec_sink_template =
@@ -86,7 +57,8 @@
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS
-    ("video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,profile=(string){constrained-baseline,baseline}"));
+    ("video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, "
+        "profile=(string){ constrained-baseline, baseline}"));
 
 static GstStaticPadTemplate gst_openh264dec_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
@@ -104,23 +76,16 @@
 static void
 gst_openh264dec_class_init (GstOpenh264DecClass * klass)
 {
-  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   GstVideoDecoderClass *video_decoder_class = GST_VIDEO_DECODER_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GstOpenh264DecPrivate));
-
-  /* Setting up pads and setting metadata should be moved to
-     base_class_init if you intend to subclass this class. */
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
-      gst_static_pad_template_get (&gst_openh264dec_sink_template));
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
-      gst_static_pad_template_get (&gst_openh264dec_src_template));
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+      &gst_openh264dec_sink_template);
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+      &gst_openh264dec_src_template);
 
   gst_element_class_set_static_metadata (GST_ELEMENT_CLASS (klass),
       "OpenH264 video decoder", "Decoder/Video", "OpenH264 video decoder",
       "Ericsson AB, http://www.ericsson.com");
-  gobject_class->set_property = gst_openh264dec_set_property;
-  gobject_class->get_property = gst_openh264dec_get_property;
 
   video_decoder_class->start = GST_DEBUG_FUNCPTR (gst_openh264dec_start);
   video_decoder_class->stop = GST_DEBUG_FUNCPTR (gst_openh264dec_stop);
@@ -138,43 +103,12 @@
 static void
 gst_openh264dec_init (GstOpenh264Dec * openh264dec)
 {
-  openh264dec->priv = GST_OPENH264DEC_GET_PRIVATE (openh264dec);
-  openh264dec->priv->decoder = NULL;
+  openh264dec->decoder = NULL;
 
   gst_video_decoder_set_packetized (GST_VIDEO_DECODER (openh264dec), TRUE);
   gst_video_decoder_set_needs_format (GST_VIDEO_DECODER (openh264dec), TRUE);
 }
 
-void
-gst_openh264dec_set_property (GObject * object, guint property_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstOpenh264Dec *openh264dec = GST_OPENH264DEC (object);
-
-  GST_DEBUG_OBJECT (openh264dec, "set_property");
-
-  switch (property_id) {
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-      break;
-  }
-}
-
-void
-gst_openh264dec_get_property (GObject * object, guint property_id,
-    GValue * value, GParamSpec * pspec)
-{
-  GstOpenh264Dec *openh264dec = GST_OPENH264DEC (object);
-
-  GST_DEBUG_OBJECT (openh264dec, "get_property");
-
-  switch (property_id) {
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-      break;
-  }
-}
-
 static gboolean
 gst_openh264dec_start (GstVideoDecoder * decoder)
 {
@@ -182,19 +116,19 @@
   gint ret;
   SDecodingParam dec_param = { 0 };
 
-  if (openh264dec->priv->decoder != NULL) {
-    openh264dec->priv->decoder->Uninitialize ();
-    WelsDestroyDecoder (openh264dec->priv->decoder);
-    openh264dec->priv->decoder = NULL;
+  if (openh264dec->decoder != NULL) {
+    openh264dec->decoder->Uninitialize ();
+    WelsDestroyDecoder (openh264dec->decoder);
+    openh264dec->decoder = NULL;
   }
-  WelsCreateDecoder (&(openh264dec->priv->decoder));
+  WelsCreateDecoder (&(openh264dec->decoder));
 
   dec_param.uiTargetDqLayer = 255;
   dec_param.eEcActiveIdc = ERROR_CON_FRAME_COPY;
   dec_param.eOutputColorFormat = videoFormatI420;
   dec_param.sVideoProperty.eVideoBsType = VIDEO_BITSTREAM_AVC;
 
-  ret = openh264dec->priv->decoder->Initialize (&dec_param);
+  ret = openh264dec->decoder->Initialize (&dec_param);
 
   GST_DEBUG_OBJECT (openh264dec,
       "openh264_dec_start called, openh264dec %sinitialized OK!",
@@ -208,17 +142,17 @@
 {
   GstOpenh264Dec *openh264dec = GST_OPENH264DEC (decoder);
 
-  if (openh264dec->priv->decoder) {
-    openh264dec->priv->decoder->Uninitialize ();
-    WelsDestroyDecoder (openh264dec->priv->decoder);
-    openh264dec->priv->decoder = NULL;
+  if (openh264dec->decoder) {
+    openh264dec->decoder->Uninitialize ();
+    WelsDestroyDecoder (openh264dec->decoder);
+    openh264dec->decoder = NULL;
   }
 
-  if (openh264dec->priv->input_state) {
-    gst_video_codec_state_unref (openh264dec->priv->input_state);
-    openh264dec->priv->input_state = NULL;
+  if (openh264dec->input_state) {
+    gst_video_codec_state_unref (openh264dec->input_state);
+    openh264dec->input_state = NULL;
   }
-  openh264dec->priv->width = openh264dec->priv->height = 0;
+  openh264dec->width = openh264dec->height = 0;
 
   return TRUE;
 }
@@ -229,14 +163,13 @@
 {
   GstOpenh264Dec *openh264dec = GST_OPENH264DEC (decoder);
 
-  GST_DEBUG_OBJECT (openh264dec,
-      "openh264_dec_set_format called, caps: %" GST_PTR_FORMAT, state->caps);
+  GST_DEBUG_OBJECT (openh264dec, "input caps: %" GST_PTR_FORMAT, state->caps);
 
-  if (openh264dec->priv->input_state) {
-    gst_video_codec_state_unref (openh264dec->priv->input_state);
-    openh264dec->priv->input_state = NULL;
+  if (openh264dec->input_state) {
+    gst_video_codec_state_unref (openh264dec->input_state);
+    openh264dec->input_state = NULL;
   }
-  openh264dec->priv->input_state = gst_video_codec_state_ref (state);
+  openh264dec->input_state = gst_video_codec_state_ref (state);
 
   return TRUE;
 }
@@ -280,7 +213,7 @@
 
     memset (&dst_buf_info, 0, sizeof (SBufferInfo));
     ret =
-        openh264dec->priv->decoder->DecodeFrame2 (map_info.data, map_info.size,
+        openh264dec->decoder->DecodeFrame2 (map_info.data, map_info.size,
         yuvdata, &dst_buf_info);
 
     if (ret == dsNoParamSets) {
@@ -303,9 +236,7 @@
     frame = NULL;
   } else {
     memset (&dst_buf_info, 0, sizeof (SBufferInfo));
-    ret =
-        openh264dec->priv->decoder->DecodeFrame2 (NULL, 0, yuvdata,
-        &dst_buf_info);
+    ret = openh264dec->decoder->DecodeFrame2 (NULL, 0, yuvdata, &dst_buf_info);
     if (ret != dsErrorFree) {
       gst_video_codec_frame_unref (frame);
       return GST_FLOW_EOS;
@@ -332,13 +263,13 @@
   actual_height = dst_buf_info.UsrData.sSystemBuffer.iHeight;
 
   if (!gst_pad_has_current_caps (GST_VIDEO_DECODER_SRC_PAD (openh264dec))
-      || actual_width != openh264dec->priv->width
-      || actual_height != openh264dec->priv->height) {
+      || actual_width != openh264dec->width
+      || actual_height != openh264dec->height) {
     state =
         gst_video_decoder_set_output_state (decoder, GST_VIDEO_FORMAT_I420,
-        actual_width, actual_height, openh264dec->priv->input_state);
-    openh264dec->priv->width = actual_width;
-    openh264dec->priv->height = actual_height;
+        actual_width, actual_height, openh264dec->input_state);
+    openh264dec->width = actual_width;
+    openh264dec->height = actual_height;
 
     if (!gst_video_decoder_negotiate (decoder)) {
       GST_ERROR_OBJECT (openh264dec,
@@ -395,7 +326,7 @@
   GST_DEBUG_OBJECT (openh264dec, "finish");
 
   /* Decoder not negotiated yet */
-  if (openh264dec->priv->width == 0)
+  if (openh264dec->width == 0)
     return GST_FLOW_OK;
 
   /* Drain all pending frames */
diff --git a/ext/openh264/gstopenh264dec.h b/ext/openh264/gstopenh264dec.h
index 3d56ab4..7d045b8 100644
--- a/ext/openh264/gstopenh264dec.h
+++ b/ext/openh264/gstopenh264dec.h
@@ -33,7 +33,12 @@
 #include <gst/video/video.h>
 #include <gst/video/gstvideodecoder.h>
 
+#include <wels/codec_api.h>
+#include <wels/codec_app_def.h>
+#include <wels/codec_def.h>
+
 G_BEGIN_DECLS
+
 #define GST_TYPE_OPENH264DEC          (gst_openh264dec_get_type())
 #define GST_OPENH264DEC(obj)          (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_OPENH264DEC,GstOpenh264Dec))
 #define GST_OPENH264DEC_CLASS(klass)  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_OPENH264DEC,GstOpenh264DecClass))
@@ -42,14 +47,15 @@
 
 typedef struct _GstOpenh264Dec GstOpenh264Dec;
 typedef struct _GstOpenh264DecClass GstOpenh264DecClass;
-typedef struct _GstOpenh264DecPrivate GstOpenh264DecPrivate;
 
 struct _GstOpenh264Dec
 {
-    GstVideoDecoder base_openh264dec;
+  GstVideoDecoder base_openh264dec;
 
-    /*< private >*/
-    GstOpenh264DecPrivate *priv;
+  /*< private >*/
+  ISVCDecoder *decoder;
+  GstVideoCodecState *input_state;
+  guint width, height;
 };
 
 struct _GstOpenh264DecClass
diff --git a/ext/openh264/gstopenh264enc.cpp b/ext/openh264/gstopenh264enc.cpp
index 4461ae2..de4a70d 100644
--- a/ext/openh264/gstopenh264enc.cpp
+++ b/ext/openh264/gstopenh264enc.cpp
@@ -35,14 +35,6 @@
 #include <gst/video/gstvideoencoder.h>
 #include <string.h>
 
-#include <wels/codec_api.h>
-#include <wels/codec_app_def.h>
-#include <wels/codec_def.h>
-#include <wels/codec_ver.h>
-
-#define GST_OPENH264ENC_GET_PRIVATE(obj) \
-    (G_TYPE_INSTANCE_GET_PRIVATE((obj), GST_TYPE_OPENH264ENC, GstOpenh264EncPrivate))
-
 GST_DEBUG_CATEGORY_STATIC (gst_openh264enc_debug_category);
 #define GST_CAT_DEFAULT gst_openh264enc_debug_category
 
@@ -75,7 +67,8 @@
     static const GEnumValue rc_modes_types[] = {
       {RC_QUALITY_MODE, "Quality mode", "quality"},
       {RC_BITRATE_MODE, "Bitrate mode", "bitrate"},
-      {RC_BUFFERBASED_MODE, "No bitrate control, just using buffer status", "buffer"},
+      {RC_BUFFERBASED_MODE, "No bitrate control, just using buffer status",
+          "buffer"},
       {RC_OFF_MODE, "Rate control off mode", "off"},
       {0, NULL, NULL},
     };
@@ -86,13 +79,6 @@
   return rc_modes_type;
 }
 
-typedef enum _GstOpenh264encDeblockingMode
-{
-  GST_OPENH264_DEBLOCKING_ON = 0,
-  GST_OPENH264_DEBLOCKING_OFF = 1,
-  GST_OPENH264_DEBLOCKING_NOT_SLICE_BOUNDARIES = 2
-} GstOpenh264encDeblockingMode;
-
 #define GST_TYPE_OPENH264ENC_DEBLOCKING_MODE (gst_openh264enc_deblocking_mode_get_type ())
 static GType
 gst_openh264enc_deblocking_mode_get_type (void)
@@ -106,9 +92,9 @@
   };
   static gsize id = 0;
 
-  if (g_once_init_enter (& id)) {
+  if (g_once_init_enter (&id)) {
     GType _id = g_enum_register_static ("GstOpenh264encDeblockingModes", types);
-    g_once_init_leave (& id, _id);
+    g_once_init_leave (&id, _id);
   }
 
   return (GType) id;
@@ -119,15 +105,15 @@
 gst_openh264enc_slice_mode_get_type (void)
 {
   static const GEnumValue types[] = {
-    {SM_FIXEDSLCNUM_SLICE, "num-slices slices", "n-slices"},
+    {SM_FIXEDSLCNUM_SLICE, "Fixed number of slices", "n-slices"},
     {SM_AUTO_SLICE, "Number of slices equal to number of threads", "auto"},
     {0, NULL, NULL},
   };
   static gsize id = 0;
 
-  if (g_once_init_enter (& id)) {
+  if (g_once_init_enter (&id)) {
     GType _id = g_enum_register_static ("GstOpenh264encSliceModes", types);
-    g_once_init_leave (& id, _id);
+    g_once_init_leave (&id, _id);
   }
 
   return (GType) id;
@@ -145,9 +131,9 @@
   };
   static gsize id = 0;
 
-  if (g_once_init_enter (& id)) {
+  if (g_once_init_enter (&id)) {
     GType _id = g_enum_register_static ("GstOpenh264encComplexity", types);
-    g_once_init_leave (& id, _id);
+    g_once_init_leave (&id, _id);
   }
 
   return (GType) id;
@@ -176,9 +162,9 @@
 
 
 #define DEFAULT_BITRATE            (128000)
+#define DEFAULT_MAX_BITRATE        (UNSPECIFIED_BIT_RATE)
 #define DEFAULT_GOP_SIZE           (90)
 #define DEFAULT_MAX_SLICE_SIZE     (1500000)
-#define DROP_BITRATE               20000
 #define START_FRAMERATE            30
 #define DEFAULT_USAGE_TYPE         CAMERA_VIDEO_REAL_TIME
 #define DEFAULT_RATE_CONTROL       RC_QUALITY_MODE
@@ -198,6 +184,7 @@
   PROP_0,
   PROP_USAGE_TYPE,
   PROP_BITRATE,
+  PROP_MAX_BITRATE,
   PROP_GOP_SIZE,
   PROP_MAX_SLICE_SIZE,
   PROP_RATE_CONTROL,
@@ -214,32 +201,6 @@
   N_PROPERTIES
 };
 
-struct _GstOpenh264EncPrivate
-{
-  ISVCEncoder *encoder;
-  EUsageType usage_type;
-  guint gop_size;
-  RC_MODES rate_control;
-  guint max_slice_size;
-  guint bitrate;
-  guint framerate;
-  guint multi_thread;
-  gboolean enable_denoise;
-  gboolean enable_frame_skip;
-  GstVideoCodecState *input_state;
-  guint32 drop_bitrate;
-  guint64 time_per_frame;
-  guint64 frame_count;
-  guint64 previous_timestamp;
-  GstOpenh264encDeblockingMode deblocking_mode;
-  gboolean background_detection;
-  gboolean adaptive_quantization;
-  gboolean scene_change_detection;
-  SliceModeEnum slice_mode;
-  guint num_slices;
-  ECOMPLEXITY_MODE complexity;
-};
-
 /* pad templates */
 
 static GstStaticPadTemplate gst_openh264enc_sink_template =
@@ -254,7 +215,7 @@
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS
-    ("video/x-h264, stream-format=(string)\"avc\", alignment=(string)\"au\", profile=(string)\"baseline\"")
+    ("video/x-h264, stream-format=(string)\"byte-stream\", alignment=(string)\"au\", profile=(string)\"baseline\"")
     );
 
 /* class initialization */
@@ -271,14 +232,12 @@
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   GstVideoEncoderClass *video_encoder_class = GST_VIDEO_ENCODER_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GstOpenh264EncPrivate));
-
   /* Setting up pads and setting metadata should be moved to
      base_class_init if you intend to subclass this class. */
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
-      gst_static_pad_template_get (&gst_openh264enc_src_template));
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
-      gst_static_pad_template_get (&gst_openh264enc_sink_template));
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+      &gst_openh264enc_src_template);
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+      &gst_openh264enc_sink_template);
 
   gst_element_class_set_static_metadata (GST_ELEMENT_CLASS (klass),
       "OpenH264 video encoder", "Encoder/Video", "OpenH264 video encoder",
@@ -332,6 +291,12 @@
           0, G_MAXUINT, DEFAULT_BITRATE,
           (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
 
+  g_object_class_install_property (gobject_class, PROP_MAX_BITRATE,
+      g_param_spec_uint ("max-bitrate", "Max Bitrate",
+          "Maximum Bitrate (in bits per second)",
+          0, G_MAXUINT, DEFAULT_MAX_BITRATE,
+          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
+
   g_object_class_install_property (gobject_class, PROP_GOP_SIZE,
       g_param_spec_uint ("gop-size", "GOP size",
           "Number of frames between intra frames",
@@ -378,37 +343,36 @@
           (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_COMPLEXITY,
-      g_param_spec_enum ("complexity", "Complexity / quality / speed tradeoff", "Complexity",
-          GST_TYPE_OPENH264ENC_COMPLEXITY, DEFAULT_COMPLEXITY,
+      g_param_spec_enum ("complexity", "Complexity / quality / speed tradeoff",
+          "Complexity", GST_TYPE_OPENH264ENC_COMPLEXITY, DEFAULT_COMPLEXITY,
           (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
 }
 
 static void
 gst_openh264enc_init (GstOpenh264Enc * openh264enc)
 {
-  openh264enc->priv = GST_OPENH264ENC_GET_PRIVATE (openh264enc);
-  openh264enc->priv->gop_size = DEFAULT_GOP_SIZE;
-  openh264enc->priv->usage_type = DEFAULT_USAGE_TYPE;
-  openh264enc->priv->rate_control = DEFAULT_RATE_CONTROL;
-  openh264enc->priv->multi_thread = DEFAULT_MULTI_THREAD;
-  openh264enc->priv->max_slice_size = DEFAULT_MAX_SLICE_SIZE;
-  openh264enc->priv->bitrate = DEFAULT_BITRATE;
-  openh264enc->priv->framerate = START_FRAMERATE;
-  openh264enc->priv->input_state = NULL;
-  openh264enc->priv->time_per_frame = GST_SECOND / openh264enc->priv->framerate;
-  openh264enc->priv->frame_count = 0;
-  openh264enc->priv->previous_timestamp = 0;
-  openh264enc->priv->drop_bitrate = DROP_BITRATE;
-  openh264enc->priv->enable_denoise = DEFAULT_ENABLE_DENOISE;
-  openh264enc->priv->enable_frame_skip = DEFAULT_ENABLE_FRAME_SKIP;
-  openh264enc->priv->deblocking_mode = DEFAULT_DEBLOCKING_MODE;
-  openh264enc->priv->background_detection = DEFAULT_BACKGROUND_DETECTION;
-  openh264enc->priv->adaptive_quantization = DEFAULT_ADAPTIVE_QUANTIZATION;
-  openh264enc->priv->scene_change_detection = DEFAULT_SCENE_CHANGE_DETECTION;
-  openh264enc->priv->slice_mode = DEFAULT_SLICE_MODE;
-  openh264enc->priv->num_slices = DEFAULT_NUM_SLICES;
-  openh264enc->priv->encoder = NULL;
-  openh264enc->priv->complexity = DEFAULT_COMPLEXITY;
+  openh264enc->gop_size = DEFAULT_GOP_SIZE;
+  openh264enc->usage_type = DEFAULT_USAGE_TYPE;
+  openh264enc->rate_control = DEFAULT_RATE_CONTROL;
+  openh264enc->multi_thread = DEFAULT_MULTI_THREAD;
+  openh264enc->max_slice_size = DEFAULT_MAX_SLICE_SIZE;
+  openh264enc->bitrate = DEFAULT_BITRATE;
+  openh264enc->max_bitrate = DEFAULT_MAX_BITRATE;
+  openh264enc->framerate = START_FRAMERATE;
+  openh264enc->input_state = NULL;
+  openh264enc->time_per_frame = GST_SECOND / openh264enc->framerate;
+  openh264enc->frame_count = 0;
+  openh264enc->previous_timestamp = 0;
+  openh264enc->enable_denoise = DEFAULT_ENABLE_DENOISE;
+  openh264enc->enable_frame_skip = DEFAULT_ENABLE_FRAME_SKIP;
+  openh264enc->deblocking_mode = DEFAULT_DEBLOCKING_MODE;
+  openh264enc->background_detection = DEFAULT_BACKGROUND_DETECTION;
+  openh264enc->adaptive_quantization = DEFAULT_ADAPTIVE_QUANTIZATION;
+  openh264enc->scene_change_detection = DEFAULT_SCENE_CHANGE_DETECTION;
+  openh264enc->slice_mode = DEFAULT_SLICE_MODE;
+  openh264enc->num_slices = DEFAULT_NUM_SLICES;
+  openh264enc->encoder = NULL;
+  openh264enc->complexity = DEFAULT_COMPLEXITY;
   gst_openh264enc_set_usage_type (openh264enc, CAMERA_VIDEO_REAL_TIME);
   gst_openh264enc_set_rate_control (openh264enc, RC_QUALITY_MODE);
 }
@@ -418,10 +382,10 @@
 {
   switch (usage_type) {
     case CAMERA_VIDEO_REAL_TIME:
-      openh264enc->priv->usage_type = CAMERA_VIDEO_REAL_TIME;
+      openh264enc->usage_type = CAMERA_VIDEO_REAL_TIME;
       break;
     case SCREEN_CONTENT_REAL_TIME:
-      openh264enc->priv->usage_type = SCREEN_CONTENT_REAL_TIME;
+      openh264enc->usage_type = SCREEN_CONTENT_REAL_TIME;
       break;
     default:
       g_assert_not_reached ();
@@ -433,16 +397,16 @@
 {
   switch (rc_mode) {
     case RC_QUALITY_MODE:
-      openh264enc->priv->rate_control = RC_QUALITY_MODE;
+      openh264enc->rate_control = RC_QUALITY_MODE;
       break;
     case RC_BITRATE_MODE:
-      openh264enc->priv->rate_control = RC_BITRATE_MODE;
+      openh264enc->rate_control = RC_BITRATE_MODE;
       break;
     case RC_BUFFERBASED_MODE:
-      openh264enc->priv->rate_control = RC_BUFFERBASED_MODE;
+      openh264enc->rate_control = RC_BUFFERBASED_MODE;
       break;
     case RC_OFF_MODE:
-      openh264enc->priv->rate_control = RC_OFF_MODE;
+      openh264enc->rate_control = RC_OFF_MODE;
       break;
     default:
       g_assert_not_reached ();
@@ -459,11 +423,15 @@
 
   switch (property_id) {
     case PROP_BITRATE:
-      openh264enc->priv->bitrate = g_value_get_uint (value);
+      openh264enc->bitrate = g_value_get_uint (value);
+      break;
+
+    case PROP_MAX_BITRATE:
+      openh264enc->max_bitrate = g_value_get_uint (value);
       break;
 
     case PROP_MULTI_THREAD:
-      openh264enc->priv->multi_thread = g_value_get_uint (value);
+      openh264enc->multi_thread = g_value_get_uint (value);
       break;
 
     case PROP_USAGE_TYPE:
@@ -471,11 +439,11 @@
       break;
 
     case PROP_ENABLE_DENOISE:
-      openh264enc->priv->enable_denoise = g_value_get_boolean (value);
+      openh264enc->enable_denoise = g_value_get_boolean (value);
       break;
 
     case PROP_ENABLE_FRAME_SKIP:
-      openh264enc->priv->enable_frame_skip = g_value_get_boolean (value);
+      openh264enc->enable_frame_skip = g_value_get_boolean (value);
       break;
 
     case PROP_RATE_CONTROL:
@@ -483,40 +451,40 @@
       break;
 
     case PROP_GOP_SIZE:
-      openh264enc->priv->gop_size = g_value_get_uint (value);
+      openh264enc->gop_size = g_value_get_uint (value);
       break;
 
     case PROP_MAX_SLICE_SIZE:
-      openh264enc->priv->max_slice_size = g_value_get_uint (value);
+      openh264enc->max_slice_size = g_value_get_uint (value);
       break;
 
     case PROP_DEBLOCKING_MODE:
-      openh264enc->priv->deblocking_mode =
+      openh264enc->deblocking_mode =
           (GstOpenh264encDeblockingMode) g_value_get_enum (value);
       break;
 
     case PROP_BACKGROUND_DETECTION:
-      openh264enc->priv->background_detection = g_value_get_boolean (value);
+      openh264enc->background_detection = g_value_get_boolean (value);
       break;
 
     case PROP_ADAPTIVE_QUANTIZATION:
-      openh264enc->priv->adaptive_quantization = g_value_get_boolean (value);
+      openh264enc->adaptive_quantization = g_value_get_boolean (value);
       break;
 
     case PROP_SCENE_CHANGE_DETECTION:
-      openh264enc->priv->scene_change_detection = g_value_get_boolean (value);
+      openh264enc->scene_change_detection = g_value_get_boolean (value);
       break;
 
     case PROP_SLICE_MODE:
-      openh264enc->priv->slice_mode = (SliceModeEnum) g_value_get_enum (value);
+      openh264enc->slice_mode = (SliceModeEnum) g_value_get_enum (value);
       break;
 
     case PROP_NUM_SLICES:
-      openh264enc->priv->num_slices = g_value_get_uint (value);
+      openh264enc->num_slices = g_value_get_uint (value);
       break;
 
     case PROP_COMPLEXITY:
-      openh264enc->priv->complexity = (ECOMPLEXITY_MODE) g_value_get_enum (value);
+      openh264enc->complexity = (ECOMPLEXITY_MODE) g_value_get_enum (value);
       break;
 
     default:
@@ -535,63 +503,67 @@
 
   switch (property_id) {
     case PROP_USAGE_TYPE:
-      g_value_set_enum (value, openh264enc->priv->usage_type);
+      g_value_set_enum (value, openh264enc->usage_type);
       break;
 
     case PROP_RATE_CONTROL:
-      g_value_set_enum (value, openh264enc->priv->rate_control);
+      g_value_set_enum (value, openh264enc->rate_control);
       break;
 
     case PROP_BITRATE:
-      g_value_set_uint (value, openh264enc->priv->bitrate);
+      g_value_set_uint (value, openh264enc->bitrate);
+      break;
+
+    case PROP_MAX_BITRATE:
+      g_value_set_uint (value, openh264enc->max_bitrate);
       break;
 
     case PROP_ENABLE_DENOISE:
-      g_value_set_boolean (value, openh264enc->priv->enable_denoise);
+      g_value_set_boolean (value, openh264enc->enable_denoise);
       break;
 
     case PROP_ENABLE_FRAME_SKIP:
-      g_value_set_boolean (value, openh264enc->priv->enable_frame_skip);
+      g_value_set_boolean (value, openh264enc->enable_frame_skip);
       break;
 
     case PROP_MULTI_THREAD:
-      g_value_set_uint (value, openh264enc->priv->multi_thread);
+      g_value_set_uint (value, openh264enc->multi_thread);
       break;
 
     case PROP_GOP_SIZE:
-      g_value_set_uint (value, openh264enc->priv->gop_size);
+      g_value_set_uint (value, openh264enc->gop_size);
       break;
 
     case PROP_MAX_SLICE_SIZE:
-      g_value_set_uint (value, openh264enc->priv->max_slice_size);
+      g_value_set_uint (value, openh264enc->max_slice_size);
       break;
 
     case PROP_DEBLOCKING_MODE:
-      g_value_set_enum (value, openh264enc->priv->deblocking_mode);
+      g_value_set_enum (value, openh264enc->deblocking_mode);
       break;
 
     case PROP_BACKGROUND_DETECTION:
-      g_value_set_boolean (value, openh264enc->priv->background_detection);
+      g_value_set_boolean (value, openh264enc->background_detection);
       break;
 
     case PROP_ADAPTIVE_QUANTIZATION:
-      g_value_set_boolean (value, openh264enc->priv->adaptive_quantization);
+      g_value_set_boolean (value, openh264enc->adaptive_quantization);
       break;
 
     case PROP_SCENE_CHANGE_DETECTION:
-      g_value_set_boolean (value, openh264enc->priv->scene_change_detection);
+      g_value_set_boolean (value, openh264enc->scene_change_detection);
       break;
 
     case PROP_SLICE_MODE:
-      g_value_set_enum (value, openh264enc->priv->slice_mode);
+      g_value_set_enum (value, openh264enc->slice_mode);
       break;
 
     case PROP_NUM_SLICES:
-      g_value_set_uint (value, openh264enc->priv->num_slices);
+      g_value_set_uint (value, openh264enc->num_slices);
       break;
 
     case PROP_COMPLEXITY:
-      g_value_set_enum (value, openh264enc->priv->complexity);
+      g_value_set_enum (value, openh264enc->complexity);
       break;
 
     default:
@@ -609,10 +581,10 @@
 
   /* clean up object here */
 
-  if (openh264enc->priv->input_state) {
-    gst_video_codec_state_unref (openh264enc->priv->input_state);
+  if (openh264enc->input_state) {
+    gst_video_codec_state_unref (openh264enc->input_state);
   }
-  openh264enc->priv->input_state = NULL;
+  openh264enc->input_state = NULL;
 
   G_OBJECT_CLASS (gst_openh264enc_parent_class)->finalize (object);
 }
@@ -633,17 +605,17 @@
 
   openh264enc = GST_OPENH264ENC (encoder);
 
-  if (openh264enc->priv->encoder != NULL) {
-    openh264enc->priv->encoder->Uninitialize ();
-    WelsDestroySVCEncoder (openh264enc->priv->encoder);
-    openh264enc->priv->encoder = NULL;
+  if (openh264enc->encoder != NULL) {
+    openh264enc->encoder->Uninitialize ();
+    WelsDestroySVCEncoder (openh264enc->encoder);
+    openh264enc->encoder = NULL;
   }
-  openh264enc->priv->encoder = NULL;
+  openh264enc->encoder = NULL;
 
-  if (openh264enc->priv->input_state) {
-    gst_video_codec_state_unref (openh264enc->priv->input_state);
+  if (openh264enc->input_state) {
+    gst_video_codec_state_unref (openh264enc->input_state);
   }
-  openh264enc->priv->input_state = NULL;
+  openh264enc->input_state = NULL;
 
   GST_DEBUG_OBJECT (openh264enc, "openh264_enc_stop called");
 
@@ -656,22 +628,13 @@
     GstVideoCodecState * state)
 {
   GstOpenh264Enc *openh264enc = GST_OPENH264ENC (encoder);
-  GstOpenh264EncPrivate *priv = openh264enc->priv;
   gchar *debug_caps;
-  SFrameBSInfo bsInfo;
   guint width, height, fps_n, fps_d;
   SEncParamExt enc_params;
   gint ret;
-  guchar *nal_sps_data = NULL;
-  gint nal_sps_length = 0;
-  guchar *nal_pps_data = NULL;
-  gint nal_pps_length = 0;
-  guchar *sps_tmp_buf;
-  guchar *codec_data_tmp_buf;
-  GstBuffer *codec_data;
   GstCaps *outcaps;
   GstVideoCodecState *output_state;
-  openh264enc->priv->frame_count = 0;
+  openh264enc->frame_count = 0;
   int video_format = videoFormatI420;
 
   debug_caps = gst_caps_to_string (state->caps);
@@ -681,125 +644,84 @@
 
   gst_openh264enc_stop (encoder);
 
-  if (priv->input_state) {
-    gst_video_codec_state_unref (priv->input_state);
+  if (openh264enc->input_state) {
+    gst_video_codec_state_unref (openh264enc->input_state);
   }
-  priv->input_state = gst_video_codec_state_ref (state);
+  openh264enc->input_state = gst_video_codec_state_ref (state);
 
   width = GST_VIDEO_INFO_WIDTH (&state->info);
   height = GST_VIDEO_INFO_HEIGHT (&state->info);
   fps_n = GST_VIDEO_INFO_FPS_N (&state->info);
   fps_d = GST_VIDEO_INFO_FPS_D (&state->info);
 
-  if (priv->encoder != NULL) {
-    priv->encoder->Uninitialize ();
-    WelsDestroySVCEncoder (priv->encoder);
-    priv->encoder = NULL;
+  if (openh264enc->encoder != NULL) {
+    openh264enc->encoder->Uninitialize ();
+    WelsDestroySVCEncoder (openh264enc->encoder);
+    openh264enc->encoder = NULL;
   }
-  WelsCreateSVCEncoder (&(priv->encoder));
+  WelsCreateSVCEncoder (&openh264enc->encoder);
   unsigned int uiTraceLevel = WELS_LOG_ERROR;
-  priv->encoder->SetOption(ENCODER_OPTION_TRACE_LEVEL, &uiTraceLevel);
+  openh264enc->encoder->SetOption (ENCODER_OPTION_TRACE_LEVEL, &uiTraceLevel);
 
-  priv->encoder->GetDefaultParams (&enc_params);
+  openh264enc->encoder->GetDefaultParams (&enc_params);
 
-  enc_params.iUsageType = openh264enc->priv->usage_type;
+  enc_params.iUsageType = openh264enc->usage_type;
   enc_params.iPicWidth = width;
   enc_params.iPicHeight = height;
-  enc_params.iTargetBitrate = openh264enc->priv->bitrate;
-  enc_params.iRCMode = RC_QUALITY_MODE;
+  enc_params.iTargetBitrate = openh264enc->bitrate;
+  enc_params.iMaxBitrate = openh264enc->max_bitrate;
+  enc_params.iRCMode = openh264enc->rate_control;
   enc_params.iTemporalLayerNum = 1;
   enc_params.iSpatialLayerNum = 1;
   enc_params.iLtrMarkPeriod = 30;
-  enc_params.iMultipleThreadIdc = openh264enc->priv->multi_thread;
-  enc_params.bEnableDenoise = openh264enc->priv->enable_denoise;
-  enc_params.iComplexityMode = priv->complexity;
-  enc_params.uiIntraPeriod = priv->gop_size;
-  enc_params.bEnableBackgroundDetection =
-      openh264enc->priv->background_detection;
-  enc_params.bEnableAdaptiveQuant = openh264enc->priv->adaptive_quantization;
-  enc_params.bEnableSceneChangeDetect =
-      openh264enc->priv->scene_change_detection;
-  enc_params.bEnableFrameSkip = openh264enc->priv->enable_frame_skip;
+  enc_params.iMultipleThreadIdc = openh264enc->multi_thread;
+  enc_params.bEnableDenoise = openh264enc->enable_denoise;
+  enc_params.iComplexityMode = openh264enc->complexity;
+  enc_params.uiIntraPeriod = openh264enc->gop_size;
+  enc_params.bEnableBackgroundDetection = openh264enc->background_detection;
+  enc_params.bEnableAdaptiveQuant = openh264enc->adaptive_quantization;
+  enc_params.bEnableSceneChangeDetect = openh264enc->scene_change_detection;
+  enc_params.bEnableFrameSkip = openh264enc->enable_frame_skip;
   enc_params.bEnableLongTermReference = 0;
 #if OPENH264_MINOR >= 4
   enc_params.eSpsPpsIdStrategy = CONSTANT_ID;
 #else
-  enc_params.bEnableSpsPpsIdAddition = 1;
+  enc_params.bEnableSpsPpsIdAddition = 0;
 #endif
   enc_params.bPrefixNalAddingCtrl = 0;
   enc_params.fMaxFrameRate = fps_n * 1.0 / fps_d;
-  enc_params.iLoopFilterDisableIdc = openh264enc->priv->deblocking_mode;
+  enc_params.iLoopFilterDisableIdc = openh264enc->deblocking_mode;
   enc_params.sSpatialLayers[0].uiProfileIdc = PRO_BASELINE;
-  enc_params.sSpatialLayers[0].iVideoWidth = width;
-  enc_params.sSpatialLayers[0].iVideoHeight = height;
+  enc_params.sSpatialLayers[0].iVideoWidth = enc_params.iPicWidth;
+  enc_params.sSpatialLayers[0].iVideoHeight = enc_params.iPicHeight;
   enc_params.sSpatialLayers[0].fFrameRate = fps_n * 1.0 / fps_d;
-  enc_params.sSpatialLayers[0].iSpatialBitrate = openh264enc->priv->bitrate;
-  enc_params.sSpatialLayers[0].sSliceCfg.uiSliceMode =
-      openh264enc->priv->slice_mode;
-  enc_params.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceNum =
-      openh264enc->priv->num_slices;
+  enc_params.sSpatialLayers[0].iSpatialBitrate = enc_params.iTargetBitrate;
+  enc_params.sSpatialLayers[0].iMaxSpatialBitrate = enc_params.iMaxBitrate;
 
-  priv->framerate = (1 + fps_n / fps_d);
+  if (openh264enc->slice_mode == SM_FIXEDSLCNUM_SLICE) {
+    if (openh264enc->num_slices == 1)
+      enc_params.sSpatialLayers[0].sSliceCfg.uiSliceMode = SM_SINGLE_SLICE;
+    else
+      enc_params.sSpatialLayers[0].sSliceCfg.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
+    enc_params.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceNum = openh264enc->num_slices;
+  } else {
+    enc_params.sSpatialLayers[0].sSliceCfg.uiSliceMode = openh264enc->slice_mode;
+  }
 
-  ret = priv->encoder->InitializeExt (&enc_params);
+  openh264enc->framerate = (1 + fps_n / fps_d);
+
+  ret = openh264enc->encoder->InitializeExt (&enc_params);
 
   if (ret != cmResultSuccess) {
     GST_ERROR_OBJECT (openh264enc, "failed to initialize encoder");
     return FALSE;
   }
 
-  priv->encoder->SetOption(ENCODER_OPTION_DATAFORMAT, &video_format);
-
-  memset (&bsInfo, 0, sizeof (SFrameBSInfo));
-
-  ret = priv->encoder->EncodeParameterSets (&bsInfo);
-
-  nal_sps_data = bsInfo.sLayerInfo[0].pBsBuf + 4;
-  nal_sps_length = bsInfo.sLayerInfo[0].pNalLengthInByte[0] - 4;
-
-  nal_pps_data = bsInfo.sLayerInfo[0].pBsBuf + nal_sps_length + 8;
-  nal_pps_length = bsInfo.sLayerInfo[0].pNalLengthInByte[1] - 4;
-
-  if (ret != cmResultSuccess) {
-    GST_ELEMENT_ERROR (openh264enc, STREAM, ENCODE,
-        ("Could not create headers"), ("Could not create SPS"));
-    return FALSE;
-  }
-
-  sps_tmp_buf = (guchar *) (g_memdup (nal_sps_data, nal_sps_length));
-
-  codec_data_tmp_buf =
-      (guchar *) g_malloc (5 + 3 + nal_sps_length + 3 + nal_pps_length);
-  codec_data_tmp_buf[0] = 1; /* version 1 */ ;
-  codec_data_tmp_buf[1] = sps_tmp_buf[1];       /* profile */
-  codec_data_tmp_buf[2] = sps_tmp_buf[2];       /* profile constraints */
-  codec_data_tmp_buf[3] = sps_tmp_buf[3];       /* level */
-  codec_data_tmp_buf[4] = 1;    /* NAL length marker length minus one */
-  codec_data_tmp_buf[5] = 1;    /* Number of SPS */
-  GST_WRITE_UINT16_BE (codec_data_tmp_buf + 6, nal_sps_length);
-  memcpy (codec_data_tmp_buf + 8, sps_tmp_buf, nal_sps_length);
-
-  g_free (sps_tmp_buf);
-
-  codec_data_tmp_buf[8 + nal_sps_length] = 1;   /* Number of PPS */
-  GST_WRITE_UINT16_BE (codec_data_tmp_buf + 8 + nal_sps_length + 1,
-      nal_pps_length);
-  memcpy (codec_data_tmp_buf + 8 + nal_sps_length + 3, nal_pps_data,
-      nal_pps_length);
-
-  GST_DEBUG_OBJECT (openh264enc, "Got SPS of size %d and PPS of size %d",
-      nal_sps_length, nal_pps_length);
-
-  codec_data =
-      gst_buffer_new_wrapped (codec_data_tmp_buf,
-      5 + 3 + nal_sps_length + 3 + nal_pps_length);
+  openh264enc->encoder->SetOption (ENCODER_OPTION_DATAFORMAT, &video_format);
 
   outcaps =
       gst_caps_copy (gst_static_pad_template_get_caps
       (&gst_openh264enc_src_template));
-  gst_caps_set_simple (outcaps, "codec_data", GST_TYPE_BUFFER, codec_data,
-      NULL);
-  gst_buffer_unref (codec_data);
 
   output_state = gst_video_encoder_set_output_state (encoder, outcaps, state);
   gst_video_codec_state_unref (output_state);
@@ -828,7 +750,9 @@
   gint ret;
   SFrameBSInfo frame_info;
   gfloat fps;
-  GstVideoEncoder *base_encoder = GST_VIDEO_ENCODER (openh264enc);
+  GstMapInfo map;
+  gint i, j;
+  gsize buf_length = 0;
 
   if (frame) {
     src_pic = new SSourcePicture;
@@ -840,38 +764,28 @@
     }
     //fill default src_pic
     src_pic->iColorFormat = videoFormatI420;
-    src_pic->uiTimeStamp = 0;
+    src_pic->uiTimeStamp = frame->pts / GST_MSECOND;
   }
 
-  openh264enc->priv->frame_count++;
+  openh264enc->frame_count++;
   if (frame) {
-    if (G_UNLIKELY (openh264enc->priv->frame_count == 1)) {
-      openh264enc->priv->time_per_frame =
-          (GST_NSECOND / openh264enc->priv->framerate);
-      openh264enc->priv->previous_timestamp = frame->pts;
+    if (G_UNLIKELY (openh264enc->frame_count == 1)) {
+      openh264enc->time_per_frame = (GST_SECOND / openh264enc->framerate);
+      openh264enc->previous_timestamp = frame->pts;
     } else {
-      openh264enc->priv->time_per_frame =
-          openh264enc->priv->time_per_frame * 0.8 + (frame->pts -
-          openh264enc->priv->previous_timestamp) * 0.2;
-      openh264enc->priv->previous_timestamp = frame->pts;
-      if (openh264enc->priv->frame_count % 10 == 0) {
-        fps = GST_SECOND / (gdouble) openh264enc->priv->time_per_frame;
-        openh264enc->priv->encoder->SetOption (ENCODER_OPTION_FRAME_RATE, &fps);
+      openh264enc->time_per_frame =
+          openh264enc->time_per_frame * 0.8 + (frame->pts -
+          openh264enc->previous_timestamp) * 0.2;
+      openh264enc->previous_timestamp = frame->pts;
+      if (openh264enc->frame_count % 10 == 0) {
+        fps = GST_SECOND / (gdouble) openh264enc->time_per_frame;
+        openh264enc->encoder->SetOption (ENCODER_OPTION_FRAME_RATE, &fps);
       }
     }
   }
 
-  if (openh264enc->priv->bitrate <= openh264enc->priv->drop_bitrate) {
-    GST_LOG_OBJECT (openh264enc, "Dropped frame due to too low bitrate");
-    if (frame) {
-      gst_video_encoder_finish_frame (encoder, frame);
-      delete src_pic;
-    }
-    return GST_FLOW_OK;
-  }
-
   if (frame) {
-    gst_video_frame_map (&video_frame, &openh264enc->priv->input_state->info,
+    gst_video_frame_map (&video_frame, &openh264enc->input_state->info,
         frame->input_buffer, GST_MAP_READ);
     src_pic->iPicWidth = GST_VIDEO_FRAME_WIDTH (&video_frame);
     src_pic->iPicHeight = GST_VIDEO_FRAME_HEIGHT (&video_frame);
@@ -884,14 +798,14 @@
 
     force_keyframe = GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME (frame);
     if (force_keyframe) {
-      openh264enc->priv->encoder->ForceIntraFrame (true);
+      openh264enc->encoder->ForceIntraFrame (true);
       GST_DEBUG_OBJECT (openh264enc,
           "Got force key unit event, next frame coded as intra picture");
     }
   }
 
   memset (&frame_info, 0, sizeof (SFrameBSInfo));
-  ret = openh264enc->priv->encoder->EncodeFrame (src_pic, &frame_info);
+  ret = openh264enc->encoder->EncodeFrame (src_pic, &frame_info);
   if (ret != cmResultSuccess) {
     if (frame) {
       gst_video_frame_unmap (&video_frame);
@@ -908,7 +822,7 @@
   if (videoFrameTypeSkip == frame_info.eFrameType) {
     if (frame) {
       gst_video_frame_unmap (&video_frame);
-      gst_video_encoder_finish_frame (base_encoder, frame);
+      gst_video_encoder_finish_frame (encoder, frame);
       delete src_pic;
     }
 
@@ -926,7 +840,7 @@
   /* FIXME: openh264 has no way for us to get a connection
    * between the input and output frames, we just have to
    * guess based on the input */
-  frame = gst_video_encoder_get_oldest_frame (base_encoder);
+  frame = gst_video_encoder_get_oldest_frame (encoder);
   if (!frame) {
     GST_ELEMENT_ERROR (openh264enc, STREAM, ENCODE,
         ("Could not encode frame"), ("openh264enc returned %d", ret));
@@ -934,59 +848,34 @@
     return GST_FLOW_ERROR;
   }
 
-  SLayerBSInfo *bs_info = &frame_info.sLayerInfo[0];
-  gint nal_size = bs_info->pNalLengthInByte[0] - 4;
-  guchar *nal_sps_data, *nal_pps_data;
-  gint nal_sps_length, nal_pps_length, idr_length, tmp_buf_length;
-
   if (videoFrameTypeIDR == frame_info.eFrameType) {
-    GstMapInfo map;
-
-    /* sps */
-    nal_sps_data = frame_info.sLayerInfo[0].pBsBuf + 4;
-    nal_sps_length = frame_info.sLayerInfo[0].pNalLengthInByte[0] - 4;
-    /* pps */
-    nal_pps_data = nal_sps_data + frame_info.sLayerInfo[0].pNalLengthInByte[0];
-    nal_pps_length = frame_info.sLayerInfo[0].pNalLengthInByte[1] - 4;
-    /* idr */
-    bs_info = &frame_info.sLayerInfo[1];
-    idr_length = bs_info->pNalLengthInByte[0] - 4;
-
-    tmp_buf_length = nal_sps_length + 2 + nal_pps_length + 2 + idr_length + 2;
-    frame->output_buffer =
-        gst_video_encoder_allocate_output_buffer (encoder, tmp_buf_length);
-    gst_buffer_map (frame->output_buffer, &map, GST_MAP_WRITE);
-
-    GST_WRITE_UINT16_BE (map.data, nal_sps_length);
-    memcpy (map.data + 2, nal_sps_data, nal_sps_length);
-
-    GST_WRITE_UINT16_BE (map.data + nal_sps_length + 2, nal_pps_length);
-    memcpy (map.data + nal_sps_length + 2 + 2, nal_pps_data, nal_pps_length);
-
-    GST_WRITE_UINT16_BE (map.data + nal_sps_length + 2 + nal_pps_length + 2,
-        idr_length);
-    memcpy (map.data + nal_sps_length + 2 + nal_pps_length + 2 + 2,
-        bs_info->pBsBuf + 4, idr_length);
-
-    gst_buffer_unmap (frame->output_buffer, &map);
-
     GST_VIDEO_CODEC_FRAME_SET_SYNC_POINT (frame);
   } else {
-    GstMapInfo map;
-
-    tmp_buf_length = nal_size + 2;
-    frame->output_buffer =
-        gst_video_encoder_allocate_output_buffer (encoder, tmp_buf_length);
-    gst_buffer_map (frame->output_buffer, &map, GST_MAP_WRITE);
-
-    GST_WRITE_UINT16_BE (map.data, nal_size);
-    memcpy (map.data + 2, bs_info->pBsBuf + 4, nal_size);
-
-    gst_buffer_unmap (frame->output_buffer, &map);
-
     GST_VIDEO_CODEC_FRAME_UNSET_SYNC_POINT (frame);
   }
 
+  for (i = 0; i < frame_info.iLayerNum; i++) {
+    for (j = 0; j < frame_info.sLayerInfo[i].iNalCount; j++) {
+      buf_length += frame_info.sLayerInfo[i].pNalLengthInByte[j];
+    }
+  }
+
+  frame->output_buffer =
+      gst_video_encoder_allocate_output_buffer (encoder, buf_length);
+  gst_buffer_map (frame->output_buffer, &map, GST_MAP_WRITE);
+
+  buf_length = 0;
+  for (i = 0; i < frame_info.iLayerNum; i++) {
+    gsize layer_size = 0;
+    for (j = 0; j < frame_info.sLayerInfo[i].iNalCount; j++) {
+      layer_size += frame_info.sLayerInfo[i].pNalLengthInByte[j];
+    }
+    memcpy (map.data + buf_length, frame_info.sLayerInfo[i].pBsBuf, layer_size);
+    buf_length += layer_size;
+  }
+
+  gst_buffer_unmap (frame->output_buffer, &map);
+
   GST_LOG_OBJECT (openh264enc, "openh264 picture %scoded OK!",
       (ret != cmResultSuccess) ? "NOT " : "");
 
@@ -998,7 +887,7 @@
 {
   GstOpenh264Enc *openh264enc = GST_OPENH264ENC (encoder);
 
-  if (openh264enc->priv->frame_count == 0)
+  if (openh264enc->frame_count == 0)
     return GST_FLOW_OK;
 
   /* Drain encoder */
diff --git a/ext/openh264/gstopenh264enc.h b/ext/openh264/gstopenh264enc.h
index 009210a..4bd0eb7 100644
--- a/ext/openh264/gstopenh264enc.h
+++ b/ext/openh264/gstopenh264enc.h
@@ -33,7 +33,20 @@
 #include <gst/video/video.h>
 #include <gst/video/gstvideoencoder.h>
 
+#include <wels/codec_api.h>
+#include <wels/codec_app_def.h>
+#include <wels/codec_def.h>
+#include <wels/codec_ver.h>
+
 G_BEGIN_DECLS
+
+typedef enum _GstOpenh264encDeblockingMode
+{
+  GST_OPENH264_DEBLOCKING_ON = 0,
+  GST_OPENH264_DEBLOCKING_OFF = 1,
+  GST_OPENH264_DEBLOCKING_NOT_SLICE_BOUNDARIES = 2
+} GstOpenh264encDeblockingMode;
+
 #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))
@@ -42,14 +55,34 @@
 
 typedef struct _GstOpenh264Enc GstOpenh264Enc;
 typedef struct _GstOpenh264EncClass GstOpenh264EncClass;
-typedef struct _GstOpenh264EncPrivate GstOpenh264EncPrivate;
 
 struct _GstOpenh264Enc
 {
-    GstVideoEncoder base_openh264enc;
+  GstVideoEncoder base_openh264enc;
 
-    /*< private >*/
-    GstOpenh264EncPrivate *priv;
+  /*< private >*/
+  ISVCEncoder *encoder;
+  EUsageType usage_type;
+  guint gop_size;
+  RC_MODES rate_control;
+  guint max_slice_size;
+  guint bitrate;
+  guint max_bitrate;
+  guint framerate;
+  guint multi_thread;
+  gboolean enable_denoise;
+  gboolean enable_frame_skip;
+  GstVideoCodecState *input_state;
+  guint64 time_per_frame;
+  guint64 frame_count;
+  guint64 previous_timestamp;
+  GstOpenh264encDeblockingMode deblocking_mode;
+  gboolean background_detection;
+  gboolean adaptive_quantization;
+  gboolean scene_change_detection;
+  SliceModeEnum slice_mode;
+  guint num_slices;
+  ECOMPLEXITY_MODE complexity;
 };
 
 struct _GstOpenh264EncClass
diff --git a/ext/openjpeg/Makefile.am b/ext/openjpeg/Makefile.am
index c3376f1..eb684d3 100644
--- a/ext/openjpeg/Makefile.am
+++ b/ext/openjpeg/Makefile.am
@@ -1,9 +1,10 @@
 plugin_LTLIBRARIES = libgstopenjpeg.la
 
 libgstopenjpeg_la_SOURCES = gstopenjpegdec.c gstopenjpegenc.c gstopenjpeg.c
-libgstopenjpeg_la_CFLAGS = \
+libgstopenjpeg_la_CFLAGS = $(GST_PLUGINS_BAD_CFLAGS) \
 	$(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(OPENJPEG_CFLAGS)
 libgstopenjpeg_la_LIBADD = \
+	$(top_builddir)/gst-libs/gst/codecparsers/libgstcodecparsers-$(GST_API_VERSION).la \
 	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
 	$(GST_LIBS) $(OPENJPEG_LIBS)
 libgstopenjpeg_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
diff --git a/ext/openjpeg/Makefile.in b/ext/openjpeg/Makefile.in
index 70e93f1..7afdf60 100644
--- a/ext/openjpeg/Makefile.in
+++ b/ext/openjpeg/Makefile.in
@@ -163,8 +163,9 @@
 am__installdirs = "$(DESTDIR)$(plugindir)"
 LTLIBRARIES = $(plugin_LTLIBRARIES)
 am__DEPENDENCIES_1 =
-libgstopenjpeg_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+libgstopenjpeg_la_DEPENDENCIES = $(top_builddir)/gst-libs/gst/codecparsers/libgstcodecparsers-$(GST_API_VERSION).la \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1)
 am_libgstopenjpeg_la_OBJECTS = libgstopenjpeg_la-gstopenjpegdec.lo \
 	libgstopenjpeg_la-gstopenjpegenc.lo \
 	libgstopenjpeg_la-gstopenjpeg.lo
@@ -304,6 +305,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +522,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +650,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +694,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -781,10 +786,11 @@
 wayland_scanner = @wayland_scanner@
 plugin_LTLIBRARIES = libgstopenjpeg.la
 libgstopenjpeg_la_SOURCES = gstopenjpegdec.c gstopenjpegenc.c gstopenjpeg.c
-libgstopenjpeg_la_CFLAGS = \
+libgstopenjpeg_la_CFLAGS = $(GST_PLUGINS_BAD_CFLAGS) \
 	$(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(OPENJPEG_CFLAGS)
 
 libgstopenjpeg_la_LIBADD = \
+	$(top_builddir)/gst-libs/gst/codecparsers/libgstcodecparsers-$(GST_API_VERSION).la \
 	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
 	$(GST_LIBS) $(OPENJPEG_LIBS)
 
diff --git a/ext/openjpeg/gstopenjpegdec.c b/ext/openjpeg/gstopenjpegdec.c
index 5c6a228..075bd12 100644
--- a/ext/openjpeg/gstopenjpegdec.c
+++ b/ext/openjpeg/gstopenjpegdec.c
@@ -26,6 +26,7 @@
 
 #include "gstopenjpegdec.h"
 
+
 #include <string.h>
 
 GST_DEBUG_CATEGORY_STATIC (gst_openjpeg_dec_debug);
@@ -53,9 +54,8 @@
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("image/x-j2c, "
-        "colorspace = (string) { sRGB, sYUV, GRAY }; "
-        "image/x-jpc, "
-        "colorspace = (string) { sRGB, sYUV, GRAY }; " "image/jp2")
+        GST_JPEG2000_SAMPLING_LIST "; "
+        "image/x-jpc, " GST_JPEG2000_SAMPLING_LIST "; " "image/jp2")
     );
 
 static GstStaticPadTemplate gst_openjpeg_dec_src_template =
@@ -79,10 +79,10 @@
   element_class = (GstElementClass *) klass;
   video_decoder_class = (GstVideoDecoderClass *) klass;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_openjpeg_dec_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_openjpeg_dec_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_openjpeg_dec_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_openjpeg_dec_sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "OpenJPEG JPEG2000 decoder",
@@ -116,6 +116,7 @@
 #ifdef HAVE_OPENJPEG_1
   self->params.cp_limit_decoding = NO_LIMITATION;
 #endif
+  self->sampling = GST_JPEG2000_SAMPLING_NONE;
 }
 
 static gboolean
@@ -156,7 +157,6 @@
 {
   GstOpenJPEGDec *self = GST_OPENJPEG_DEC (decoder);
   GstStructure *s;
-  const gchar *color_space;
 
   GST_DEBUG_OBJECT (self, "Setting format: %" GST_PTR_FORMAT, state->caps);
 
@@ -177,14 +177,16 @@
     g_return_val_if_reached (FALSE);
   }
 
-  if ((color_space = gst_structure_get_string (s, "colorspace"))) {
-    if (g_str_equal (color_space, "sRGB"))
-      self->color_space = OPJ_CLRSPC_SRGB;
-    else if (g_str_equal (color_space, "GRAY"))
-      self->color_space = OPJ_CLRSPC_GRAY;
-    else if (g_str_equal (color_space, "sYUV"))
-      self->color_space = OPJ_CLRSPC_SYCC;
-  }
+
+  self->sampling =
+      gst_jpeg2000_sampling_from_string (gst_structure_get_string (s,
+          "sampling"));
+  if (gst_jpeg2000_sampling_is_rgb (self->sampling))
+    self->color_space = OPJ_CLRSPC_SRGB;
+  else if (gst_jpeg2000_sampling_is_mono (self->sampling))
+    self->color_space = OPJ_CLRSPC_GRAY;
+  else if (gst_jpeg2000_sampling_is_yuv (self->sampling))
+    self->color_space = OPJ_CLRSPC_SYCC;
 
   self->ncomps = 0;
   gst_structure_get_int (s, "num-components", &self->ncomps);
@@ -196,6 +198,13 @@
   return TRUE;
 }
 
+static gboolean
+reverse_rgb_channels (GstJPEG2000Sampling sampling)
+{
+  return sampling == GST_JPEG2000_SAMPLING_BGR
+      || sampling == GST_JPEG2000_SAMPLING_BGRA;
+}
+
 static void
 fill_frame_packed8_4 (GstVideoFrame * frame, opj_image_t * image)
 {
@@ -675,7 +684,10 @@
 
         if (get_highest_prec (image) == 8) {
           self->fill_frame = fill_frame_packed8_4;
-          format = GST_VIDEO_FORMAT_ARGB;
+          format =
+              reverse_rgb_channels (self->sampling) ? GST_VIDEO_FORMAT_BGRA :
+              GST_VIDEO_FORMAT_RGBA;
+
         } else if (get_highest_prec (image) <= 16) {
           self->fill_frame = fill_frame_packed16_4;
           format = GST_VIDEO_FORMAT_ARGB64;
@@ -693,7 +705,9 @@
 
         if (get_highest_prec (image) == 8) {
           self->fill_frame = fill_frame_packed8_3;
-          format = GST_VIDEO_FORMAT_ARGB;
+          format =
+              reverse_rgb_channels (self->sampling) ? GST_VIDEO_FORMAT_BGR :
+              GST_VIDEO_FORMAT_RGB;
         } else if (get_highest_prec (image) <= 16) {
           self->fill_frame = fill_frame_packed16_3;
           format = GST_VIDEO_FORMAT_ARGB64;
diff --git a/ext/openjpeg/gstopenjpegdec.h b/ext/openjpeg/gstopenjpegdec.h
index 0e6e6af..4b4c6cf 100644
--- a/ext/openjpeg/gstopenjpegdec.h
+++ b/ext/openjpeg/gstopenjpegdec.h
@@ -24,6 +24,7 @@
 
 #include <gst/gst.h>
 #include <gst/video/video.h>
+#include <gst/codecparsers/gstjpeg2000sampling.h>
 
 #include "gstopenjpeg.h"
 
@@ -54,6 +55,7 @@
   OPJ_CODEC_FORMAT codec_format;
   gboolean is_jp2c;
   OPJ_COLOR_SPACE color_space;
+  GstJPEG2000Sampling sampling;
   gint ncomps;
 
   void (*fill_frame) (GstVideoFrame *frame, opj_image_t * image);
diff --git a/ext/openjpeg/gstopenjpegenc.c b/ext/openjpeg/gstopenjpegenc.c
index 27f3ee5..2d47779 100644
--- a/ext/openjpeg/gstopenjpegenc.c
+++ b/ext/openjpeg/gstopenjpegenc.c
@@ -25,6 +25,7 @@
 #endif
 
 #include "gstopenjpegenc.h"
+#include <gst/codecparsers/gstjpeg2000sampling.h>
 
 #include <string.h>
 
@@ -115,12 +116,14 @@
         "width = (int) [1, MAX], "
         "height = (int) [1, MAX], "
         "num-components = (int) [1, 4], "
-        "colorspace = (string) { sRGB, sYUV, GRAY }; "
+        GST_JPEG2000_SAMPLING_LIST ","
+        GST_JPEG2000_COLORSPACE_LIST "; "
         "image/x-jpc, "
         "width = (int) [1, MAX], "
         "height = (int) [1, MAX], "
         "num-components = (int) [1, 4], "
-        "colorspace = (string) { sRGB, sYUV, GRAY }; "
+        GST_JPEG2000_SAMPLING_LIST ","
+        GST_JPEG2000_COLORSPACE_LIST "; "
         "image/jp2, " "width = (int) [1, MAX], " "height = (int) [1, MAX]")
     );
 
@@ -177,10 +180,10 @@
           "Tile Height", 0, G_MAXINT, DEFAULT_TILE_HEIGHT,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_openjpeg_enc_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_openjpeg_enc_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_openjpeg_enc_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_openjpeg_enc_sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "OpenJPEG JPEG2000 encoder",
@@ -557,7 +560,8 @@
   GstOpenJPEGEnc *self = GST_OPENJPEG_ENC (encoder);
   GstCaps *allowed_caps, *caps;
   GstStructure *s;
-  const gchar *colorspace;
+  const gchar *colorspace = NULL;
+  GstJPEG2000Sampling sampling = GST_JPEG2000_SAMPLING_NONE;
   gint ncomps;
 
   GST_DEBUG_OBJECT (self, "Setting format: %" GST_PTR_FORMAT, state->caps);
@@ -588,6 +592,7 @@
       ncomps = 4;
       break;
     case GST_VIDEO_FORMAT_ARGB:
+    case GST_VIDEO_FORMAT_AYUV:
       self->fill_image = fill_image_packed8_4;
       ncomps = 4;
       break;
@@ -608,10 +613,6 @@
       self->fill_image = fill_image_planar16_3;
       ncomps = 3;
       break;
-    case GST_VIDEO_FORMAT_AYUV:
-      self->fill_image = fill_image_packed8_3;
-      ncomps = 3;
-      break;
     case GST_VIDEO_FORMAT_Y444:
     case GST_VIDEO_FORMAT_Y42B:
     case GST_VIDEO_FORMAT_I420:
@@ -633,18 +634,71 @@
       g_assert_not_reached ();
   }
 
-  if ((state->info.finfo->flags & GST_VIDEO_FORMAT_FLAG_YUV))
+
+  /* sampling */
+  /* note: encoder re-orders channels so that alpha channel is encoded as the last channel */
+  switch (state->info.finfo->format) {
+    case GST_VIDEO_FORMAT_ARGB64:
+    case GST_VIDEO_FORMAT_ARGB:
+      sampling = GST_JPEG2000_SAMPLING_RGBA;
+      break;
+    case GST_VIDEO_FORMAT_AYUV64:
+    case GST_VIDEO_FORMAT_AYUV:
+      sampling = GST_JPEG2000_SAMPLING_YBRA4444_EXT;
+      break;
+    case GST_VIDEO_FORMAT_xRGB:
+      sampling = GST_JPEG2000_COLORSPACE_RGB;
+      break;
+    case GST_VIDEO_FORMAT_Y444_10LE:
+    case GST_VIDEO_FORMAT_Y444_10BE:
+    case GST_VIDEO_FORMAT_Y444:
+      sampling = GST_JPEG2000_SAMPLING_YBR444;
+      break;
+
+    case GST_VIDEO_FORMAT_I422_10LE:
+    case GST_VIDEO_FORMAT_I422_10BE:
+    case GST_VIDEO_FORMAT_Y42B:
+      sampling = GST_JPEG2000_SAMPLING_YBR422;
+      break;
+    case GST_VIDEO_FORMAT_YUV9:
+      sampling = GST_JPEG2000_SAMPLING_YBR410;
+      break;
+    case GST_VIDEO_FORMAT_I420_10LE:
+    case GST_VIDEO_FORMAT_I420_10BE:
+    case GST_VIDEO_FORMAT_I420:
+      sampling = GST_JPEG2000_SAMPLING_YBR420;
+      break;
+    case GST_VIDEO_FORMAT_GRAY8:
+    case GST_VIDEO_FORMAT_GRAY16_LE:
+    case GST_VIDEO_FORMAT_GRAY16_BE:
+      sampling = GST_JPEG2000_SAMPLING_GRAYSCALE;
+      break;
+    default:
+      break;
+  }
+
+
+
+  if ((state->info.finfo->flags & GST_VIDEO_FORMAT_FLAG_YUV)) {
     colorspace = "sYUV";
-  else if ((state->info.finfo->flags & GST_VIDEO_FORMAT_FLAG_RGB))
+  } else if ((state->info.finfo->flags & GST_VIDEO_FORMAT_FLAG_RGB)) {
     colorspace = "sRGB";
-  else if ((state->info.finfo->flags & GST_VIDEO_FORMAT_FLAG_GRAY))
+  } else if ((state->info.finfo->flags & GST_VIDEO_FORMAT_FLAG_GRAY)) {
     colorspace = "GRAY";
-  else
+  } else
     g_return_val_if_reached (FALSE);
 
-  caps = gst_caps_new_simple (gst_structure_get_name (s),
-      "colorspace", G_TYPE_STRING, colorspace,
-      "num-components", G_TYPE_INT, ncomps, NULL);
+  if (sampling != GST_JPEG2000_SAMPLING_NONE) {
+    caps = gst_caps_new_simple (gst_structure_get_name (s),
+        "colorspace", G_TYPE_STRING, colorspace,
+        "sampling", G_TYPE_STRING, gst_jpeg2000_sampling_to_string (sampling),
+        "num-components", G_TYPE_INT, ncomps, NULL);
+  } else {
+    caps = gst_caps_new_simple (gst_structure_get_name (s),
+        "colorspace", G_TYPE_STRING, colorspace,
+        "num-components", G_TYPE_INT, ncomps, NULL);
+
+  }
   gst_caps_unref (allowed_caps);
 
   if (self->output_state)
diff --git a/ext/openni2/Makefile.in b/ext/openni2/Makefile.in
index f4b7f9c..db433b5 100644
--- a/ext/openni2/Makefile.in
+++ b/ext/openni2/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/openni2/gstopenni2src.cpp b/ext/openni2/gstopenni2src.cpp
index f12e0b7..88e6a16 100644
--- a/ext/openni2/gstopenni2src.cpp
+++ b/ext/openni2/gstopenni2src.cpp
@@ -153,8 +153,7 @@
   basesrc_class->decide_allocation =
       GST_DEBUG_FUNCPTR (gst_openni2src_decide_allocation);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_add_static_pad_template (element_class, &srctemplate);
 
   gst_element_class_set_static_metadata (element_class, "Openni2 client source",
       "Source/Video",
diff --git a/ext/opus/Makefile.in b/ext/opus/Makefile.in
index 3dc6aa4..56aefd9 100644
--- a/ext/opus/Makefile.in
+++ b/ext/opus/Makefile.in
@@ -305,6 +305,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -520,6 +522,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -646,8 +650,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -692,6 +694,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/opus/gstopusparse.c b/ext/opus/gstopusparse.c
index ea3252e..56e8bb8 100644
--- a/ext/opus/gstopusparse.c
+++ b/ext/opus/gstopusparse.c
@@ -87,13 +87,12 @@
   bpclass->stop = GST_DEBUG_FUNCPTR (gst_opus_parse_stop);
   bpclass->handle_frame = GST_DEBUG_FUNCPTR (gst_opus_parse_handle_frame);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&opus_parse_src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&opus_parse_sink_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &opus_parse_src_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &opus_parse_sink_factory);
   gst_element_class_set_static_metadata (element_class, "Opus audio parser",
-      "Codec/Parser/Audio",
-      "parses opus audio streams",
+      "Codec/Parser/Audio", "parses opus audio streams",
       "Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>");
 
   GST_DEBUG_CATEGORY_INIT (opusparse_debug, "opusparse", 0,
diff --git a/ext/qt/Makefile.in b/ext/qt/Makefile.in
index f0ec9d4..51dacc6 100644
--- a/ext/qt/Makefile.in
+++ b/ext/qt/Makefile.in
@@ -328,6 +328,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -543,6 +545,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -669,8 +673,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -715,6 +717,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/qt/gstqtsink.cc b/ext/qt/gstqtsink.cc
index df44a7d..62a5373 100644
--- a/ext/qt/gstqtsink.cc
+++ b/ext/qt/gstqtsink.cc
@@ -126,8 +126,7 @@
           G_MAXINT, 1, 1, 1,
           (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_qt_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &gst_qt_sink_template);
 
   gobject_class->finalize = gst_qt_sink_finalize;
 
diff --git a/ext/qt/qtitem.cc b/ext/qt/qtitem.cc
index e1f91e7..c306c6d 100644
--- a/ext/qt/qtitem.cc
+++ b/ext/qt/qtitem.cc
@@ -40,10 +40,11 @@
 #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_WINDOW_ANDROID && GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_ANDROID)
+#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
@@ -142,15 +143,33 @@
 
   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_ANDROID && GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_ANDROID)
+#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 ();
@@ -159,6 +178,10 @@
   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 ();
@@ -197,9 +220,9 @@
 }
 
 void
-QtGLVideoItem::setForceAspectRatio(bool far)
+QtGLVideoItem::setForceAspectRatio(bool force_aspect_ratio)
 {
-  this->priv->force_aspect_ratio = far;
+  this->priv->force_aspect_ratio = !!force_aspect_ratio;
 }
 
 bool
@@ -295,7 +318,7 @@
 void
 QtGLVideoItem::onSceneGraphInitialized ()
 {
-  GstGLPlatform platform;
+  GstGLPlatform platform = (GstGLPlatform) 0;
   GstGLAPI gl_api;
   guintptr gl_handle;
 
@@ -314,58 +337,37 @@
 #if GST_GL_HAVE_WINDOW_X11 && defined (HAVE_QT_X11)
   if (GST_IS_GL_DISPLAY_X11 (this->priv->display)) {
     platform = GST_GL_PLATFORM_GLX;
-    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);
   }
 #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;
-    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);
   }
 #endif
-#if GST_GL_HAVE_WINDOW_ANDROID && GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_ANDROID)
+#if GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_EGLFS)
   if (GST_IS_GL_DISPLAY_EGL (this->priv->display)) {
     platform = GST_GL_PLATFORM_EGL;
-    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);
   }
 #endif
+  if (platform == 0 && this->priv->display) {
 #if GST_GL_HAVE_WINDOW_COCOA && GST_GL_HAVE_PLATFORM_COCOA && defined (HAVE_QT_MAC)
-  if (this->priv->display) {
     platform = GST_GL_PLATFORM_CGL;
-    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);
-  }
-#endif
-#if GST_GL_HAVE_WINDOW_EAGL && GST_GL_HAVE_PLATFORM_EAGL && defined (HAVE_QT_IOS)
-  if (this->priv->display) {
+#elif GST_GL_HAVE_WINDOW_EAGL && GST_GL_HAVE_PLATFORM_EAGL && defined (HAVE_QT_IOS)
     platform = GST_GL_PLATFORM_EAGL;
-    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);
-  }
+#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;
@@ -381,6 +383,36 @@
       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;
     }
@@ -399,6 +431,8 @@
 gboolean
 qt_item_init_winsys (QtGLVideoItem * widget)
 {
+  GError *error = NULL;
+
   g_return_val_if_fail (widget != NULL, FALSE);
 
   g_mutex_lock (&widget->priv->lock);
@@ -431,8 +465,12 @@
     return FALSE;
   }
 
-  gst_gl_context_create (widget->priv->context, widget->priv->other_context,
-      NULL);
+  if (!gst_gl_context_create (widget->priv->context, widget->priv->other_context,
+        &error)) {
+    GST_ERROR ("%s", error->message);
+    g_mutex_unlock (&widget->priv->lock);
+    return FALSE;
+  }
 
   g_mutex_unlock (&widget->priv->lock);
   return TRUE;
diff --git a/ext/resindvd/Makefile.in b/ext/resindvd/Makefile.in
index e8a9acd..cf8d7f7 100644
--- a/ext/resindvd/Makefile.in
+++ b/ext/resindvd/Makefile.in
@@ -312,6 +312,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -527,6 +529,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -653,8 +657,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -699,6 +701,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/resindvd/resindvdbin.c b/ext/resindvd/resindvdbin.c
index 107f9d6..ce2bd1c 100644
--- a/ext/resindvd/resindvdbin.c
+++ b/ext/resindvd/resindvdbin.c
@@ -117,12 +117,12 @@
       g_param_spec_string ("device", "Device", "DVD device location",
           NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&video_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&audio_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&subpicture_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &video_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &audio_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &subpicture_src_template);
 
   element_class->change_state = GST_DEBUG_FUNCPTR (rsn_dvdbin_change_state);
 
diff --git a/ext/resindvd/resindvdsrc.c b/ext/resindvd/resindvdsrc.c
index 505302b..ab89be7 100644
--- a/ext/resindvd/resindvdsrc.c
+++ b/ext/resindvd/resindvdsrc.c
@@ -231,8 +231,7 @@
           "Skip straight to the DVD menu on start", DEFAULT_FASTSTART,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
   gst_element_class_set_static_metadata (gstelement_class, "Resin DVD Src",
       "Source/DVD", "DVD source element", "Jan Schmidt <thaytan@noraisin.net>");
 }
diff --git a/ext/resindvd/rsndec.c b/ext/resindvd/rsndec.c
index 3403d9a..02d3eb6 100644
--- a/ext/resindvd/rsndec.c
+++ b/ext/resindvd/rsndec.c
@@ -405,10 +405,10 @@
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
   RsnDecClass *dec_class = RSN_DEC_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&audio_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&audio_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &audio_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &audio_sink_template);
 
   gst_element_class_set_static_metadata (element_class, "RsnAudioDec",
       "Audio/Decoder",
@@ -455,10 +455,10 @@
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
   RsnDecClass *dec_class = RSN_DEC_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&video_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&video_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &video_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &video_sink_template);
 
   gst_element_class_set_static_metadata (element_class, "RsnVideoDec",
       "Video/Decoder",
diff --git a/ext/resindvd/rsninputselector.c b/ext/resindvd/rsninputselector.c
index 75d8724..3849baf 100644
--- a/ext/resindvd/rsninputselector.c
+++ b/ext/resindvd/rsninputselector.c
@@ -1236,10 +1236,10 @@
       "Julien Moutte <julien@moutte.net>, "
       "Jan Schmidt <thaytan@mad.scientist.com>, "
       "Wim Taymans <wim.taymans@gmail.com>");
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_input_selector_sink_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_input_selector_src_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_input_selector_sink_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_input_selector_src_factory);
 
   gstelement_class->request_new_pad = gst_input_selector_request_new_pad;
   gstelement_class->release_pad = gst_input_selector_release_pad;
diff --git a/ext/resindvd/rsnparsetter.c b/ext/resindvd/rsnparsetter.c
index a714658..294e513 100644
--- a/ext/resindvd/rsnparsetter.c
+++ b/ext/resindvd/rsnparsetter.c
@@ -55,10 +55,8 @@
 
   gobject_class->finalize = rsn_parsetter_finalize;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 
   gst_element_class_set_static_metadata (element_class,
       "Resin Aspect Ratio Setter", "Filter/Video",
diff --git a/ext/rsvg/Makefile.in b/ext/rsvg/Makefile.in
index 6224b10..b1f55d7 100644
--- a/ext/rsvg/Makefile.in
+++ b/ext/rsvg/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/rsvg/gstrsvgdec.c b/ext/rsvg/gstrsvgdec.c
index d87c6ca..5d5fc8e 100644
--- a/ext/rsvg/gstrsvgdec.c
+++ b/ext/rsvg/gstrsvgdec.c
@@ -86,10 +86,8 @@
       "Uses librsvg to decode SVG images",
       "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
 
   gobject_class->finalize = gst_rsvg_dec_finalize;
   video_decoder_class->stop = GST_DEBUG_FUNCPTR (gst_rsvg_dec_stop);
diff --git a/ext/rsvg/gstrsvgoverlay.c b/ext/rsvg/gstrsvgoverlay.c
index 69f99ad..b467dc8 100644
--- a/ext/rsvg/gstrsvgoverlay.c
+++ b/ext/rsvg/gstrsvgoverlay.c
@@ -451,12 +451,11 @@
   GstVideoFilterClass *videofilter_class = GST_VIDEO_FILTER_CLASS (klass);
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&video_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&data_sink_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &video_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &data_sink_template);
 
   gst_element_class_set_static_metadata (element_class, "RSVG overlay",
       "Filter/Editor/Video",
diff --git a/ext/rtmp/Makefile.in b/ext/rtmp/Makefile.in
index 2061823..979cdb4 100644
--- a/ext/rtmp/Makefile.in
+++ b/ext/rtmp/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/rtmp/gstrtmpsink.c b/ext/rtmp/gstrtmpsink.c
index 781f3bf..1815d9c 100644
--- a/ext/rtmp/gstrtmpsink.c
+++ b/ext/rtmp/gstrtmpsink.c
@@ -109,8 +109,7 @@
       "Sink/Network", "Sends FLV content to a server via RTMP",
       "Jan Schmidt <thaytan@noraisin.net>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_template);
 
   gstbasesink_class->start = GST_DEBUG_FUNCPTR (gst_rtmp_sink_start);
   gstbasesink_class->stop = GST_DEBUG_FUNCPTR (gst_rtmp_sink_stop);
diff --git a/ext/rtmp/gstrtmpsrc.c b/ext/rtmp/gstrtmpsrc.c
index 02cbec1..db620cc 100644
--- a/ext/rtmp/gstrtmpsrc.c
+++ b/ext/rtmp/gstrtmpsrc.c
@@ -68,7 +68,8 @@
 enum
 {
   PROP_0,
-  PROP_LOCATION
+  PROP_LOCATION,
+  PROP_TIMEOUT
 #if 0
       PROP_SWF_URL,
   PROP_PAGE_URL
@@ -76,6 +77,7 @@
 };
 
 #define DEFAULT_LOCATION NULL
+#define DEFAULT_TIMEOUT 120
 
 static void gst_rtmp_src_uri_handler_init (gpointer g_iface,
     gpointer iface_data);
@@ -125,8 +127,13 @@
           "Location of the RTMP url to read",
           DEFAULT_LOCATION, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
+  g_object_class_install_property (gobject_class, PROP_TIMEOUT,
+      g_param_spec_int ("timeout", "RTMP Timeout",
+          "Time without receiving any data from the server to wait before to timeout the session",
+          0, G_MAXINT,
+          DEFAULT_TIMEOUT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "RTMP Source",
@@ -161,6 +168,7 @@
 
   rtmpsrc->cur_offset = 0;
   rtmpsrc->last_timestamp = 0;
+  rtmpsrc->timeout = DEFAULT_TIMEOUT;
 
   gst_base_src_set_format (GST_BASE_SRC (rtmpsrc), GST_FORMAT_TIME);
 }
@@ -272,6 +280,10 @@
           g_value_get_string (value), NULL);
       break;
     }
+    case PROP_TIMEOUT:{
+      src->timeout = g_value_get_int (value);
+      break;
+    }
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -290,6 +302,9 @@
     case PROP_LOCATION:
       g_value_set_string (value, src->uri);
       break;
+    case PROP_TIMEOUT:
+      g_value_set_int (value, src->timeout);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -309,7 +324,6 @@
   guint8 *data;
   guint todo;
   gsize bsize;
-  int read;
   int size;
 
   src = GST_RTMP_SRC (pushsrc);
@@ -327,20 +341,19 @@
     return GST_FLOW_ERROR;
   }
 
-  bsize = todo = size;
+  todo = size;
   gst_buffer_map (buf, &map, GST_MAP_WRITE);
   data = map.data;
-  read = bsize = 0;
+  bsize = 0;
 
   while (todo > 0) {
-    read = RTMP_Read (src->rtmp, (char *) data, todo);
+    int read = RTMP_Read (src->rtmp, (char *) data, todo);
 
-    if (G_UNLIKELY (read == 0 && todo == size)) {
+    if (G_UNLIKELY (read == 0 && todo == size))
       goto eos;
-    } else if (G_UNLIKELY (read == 0)) {
-      todo = 0;
+
+    if (G_UNLIKELY (read == 0))
       break;
-    }
 
     if (G_UNLIKELY (read < 0))
       goto read_failed;
@@ -575,13 +588,13 @@
   src->discont = TRUE;
 
   src->rtmp = RTMP_Alloc ();
-
   if (!src->rtmp) {
     GST_ERROR_OBJECT (src, "Could not allocate librtmp's RTMP context");
     goto error;
   }
 
   RTMP_Init (src->rtmp);
+  src->rtmp->Link.timeout = src->timeout;
   if (!RTMP_SetupURL (src->rtmp, src->uri)) {
     GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ, (NULL),
         ("Failed to setup URL '%s'", src->uri));
diff --git a/ext/rtmp/gstrtmpsrc.h b/ext/rtmp/gstrtmpsrc.h
index fa6da17..60ebcb2 100644
--- a/ext/rtmp/gstrtmpsrc.h
+++ b/ext/rtmp/gstrtmpsrc.h
@@ -63,7 +63,7 @@
   gchar *page_url;
 
   RTMP *rtmp;
-
+  int timeout;
   gint64 cur_offset;
   GstClockTime last_timestamp;
   gboolean seekable;
diff --git a/ext/sbc/Makefile.in b/ext/sbc/Makefile.in
index c840ea4..e33c2b1 100644
--- a/ext/sbc/Makefile.in
+++ b/ext/sbc/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/sbc/gstsbcdec.c b/ext/sbc/gstsbcdec.c
index 086fe1f..5019e83 100644
--- a/ext/sbc/gstsbcdec.c
+++ b/ext/sbc/gstsbcdec.c
@@ -165,7 +165,8 @@
   } else if (strcmp (channel_mode, "stereo") == 0) {
     dec->frame_len = 4 + (subbands * 2) / 2 + ((blocks * bitpool) + 7) / 8;
   } else if (strcmp (channel_mode, "joint") == 0) {
-    dec->frame_len = 4 + (subbands * 2) / 2 + ((subbands + blocks * bitpool) + 7) / 8;
+    dec->frame_len =
+        4 + (subbands * 2) / 2 + ((subbands + blocks * bitpool) + 7) / 8;
   } else {
     return FALSE;
   }
@@ -219,11 +220,10 @@
   audio_decoder_class->handle_frame =
       GST_DEBUG_FUNCPTR (gst_sbc_dec_handle_frame);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sbc_dec_sink_factory));
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sbc_dec_src_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &sbc_dec_sink_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &sbc_dec_src_factory);
 
   gst_element_class_set_static_metadata (element_class,
       "Bluetooth SBC audio decoder", "Codec/Decoder/Audio",
diff --git a/ext/sbc/gstsbcenc.c b/ext/sbc/gstsbcenc.c
index 02ca1be..71aca07 100644
--- a/ext/sbc/gstsbcenc.c
+++ b/ext/sbc/gstsbcenc.c
@@ -346,11 +346,10 @@
   encoder_class->set_format = GST_DEBUG_FUNCPTR (gst_sbc_enc_set_format);
   encoder_class->handle_frame = GST_DEBUG_FUNCPTR (gst_sbc_enc_handle_frame);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sbc_enc_sink_factory));
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sbc_enc_src_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &sbc_enc_sink_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &sbc_enc_src_factory);
 
   gst_element_class_set_static_metadata (element_class,
       "Bluetooth SBC audio encoder", "Codec/Encoder/Audio",
diff --git a/ext/schroedinger/Makefile.in b/ext/schroedinger/Makefile.in
index 5b3f0a6..87d2751 100644
--- a/ext/schroedinger/Makefile.in
+++ b/ext/schroedinger/Makefile.in
@@ -305,6 +305,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -520,6 +522,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -646,8 +650,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -692,6 +694,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/schroedinger/gstschrodec.c b/ext/schroedinger/gstschrodec.c
index 6ac6ae9..359a594 100644
--- a/ext/schroedinger/gstschrodec.c
+++ b/ext/schroedinger/gstschrodec.c
@@ -128,10 +128,10 @@
 
   gobject_class->finalize = gst_schro_dec_finalize;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_schro_dec_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_schro_dec_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_schro_dec_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_schro_dec_sink_template);
 
   gst_element_class_set_static_metadata (element_class, "Dirac Decoder",
       "Codec/Decoder/Video",
diff --git a/ext/schroedinger/gstschroenc.c b/ext/schroedinger/gstschroenc.c
index 6cd761f..22ccc5e 100644
--- a/ext/schroedinger/gstschroenc.c
+++ b/ext/schroedinger/gstschroenc.c
@@ -214,10 +214,10 @@
     }
   }
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_schro_enc_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_schro_enc_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_schro_enc_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_schro_enc_sink_template);
 
   gst_element_class_set_static_metadata (element_class, "Dirac Encoder",
       "Codec/Encoder/Video",
diff --git a/ext/sdl/Makefile.in b/ext/sdl/Makefile.in
index 3c5ffda..ecf052d 100644
--- a/ext/sdl/Makefile.in
+++ b/ext/sdl/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/sdl/sdlaudiosink.c b/ext/sdl/sdlaudiosink.c
index 87dd730..ff03782 100644
--- a/ext/sdl/sdlaudiosink.c
+++ b/ext/sdl/sdlaudiosink.c
@@ -151,8 +151,8 @@
       "Output to a sound card via SDLAUDIO",
       "Edgard Lima <edgard.lima@indt.org.br>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sdlaudiosink_sink_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &sdlaudiosink_sink_factory);
 }
 
 static void
diff --git a/ext/smoothstreaming/Makefile.in b/ext/smoothstreaming/Makefile.in
index 5e2ebef..57a4b40 100644
--- a/ext/smoothstreaming/Makefile.in
+++ b/ext/smoothstreaming/Makefile.in
@@ -308,6 +308,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -523,6 +525,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -649,8 +653,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -695,6 +697,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/smoothstreaming/gstmssdemux.c b/ext/smoothstreaming/gstmssdemux.c
index c975e17..27725ca 100644
--- a/ext/smoothstreaming/gstmssdemux.c
+++ b/ext/smoothstreaming/gstmssdemux.c
@@ -150,12 +150,12 @@
   gstelement_class = (GstElementClass *) klass;
   gstadaptivedemux_class = (GstAdaptiveDemuxClass *) klass;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_mss_demux_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_mss_demux_videosrc_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_mss_demux_audiosrc_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_mss_demux_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_mss_demux_videosrc_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_mss_demux_audiosrc_template);
   gst_element_class_set_static_metadata (gstelement_class,
       "Smooth Streaming demuxer", "Codec/Demuxer/Adaptive",
       "Parse and demultiplex a Smooth Streaming manifest into audio and video "
diff --git a/ext/smoothstreaming/gstmssmanifest.c b/ext/smoothstreaming/gstmssmanifest.c
index 02e559c..1b72e8d 100644
--- a/ext/smoothstreaming/gstmssmanifest.c
+++ b/ext/smoothstreaming/gstmssmanifest.c
@@ -569,8 +569,13 @@
 
   parseres = gst_h264_parse_sps (&nalu, &sps_struct, TRUE);
   if (parseres == GST_H264_PARSER_OK) {
+    gint fps_num, fps_den;
+
+    /* MSS apparently only supports non-interlaced/progressive H.264 content */
+    gst_h264_video_calculate_framerate (&sps_struct, 0, 0, &fps_num, &fps_den);
+
     gst_caps_set_simple (caps, "framerate", GST_TYPE_FRACTION,
-        sps_struct.fps_num, sps_struct.fps_den, NULL);
+        fps_num, fps_den, NULL);
   }
 
   buffer = _make_h264_codec_data (sps, pps);
diff --git a/ext/sndfile/Makefile.in b/ext/sndfile/Makefile.in
index a6706d2..252a5e0 100644
--- a/ext/sndfile/Makefile.in
+++ b/ext/sndfile/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/sndfile/gstsfdec.c b/ext/sndfile/gstsfdec.c
index d854dba..24a0e2d 100644
--- a/ext/sndfile/gstsfdec.c
+++ b/ext/sndfile/gstsfdec.c
@@ -157,8 +157,8 @@
       "Read audio streams using libsndfile",
       "Stefan Sauer <ensonic@user.sf.net>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sf_dec_src_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &sf_dec_src_factory);
 
   gst_element_class_add_pad_template (gstelement_class,
       gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
diff --git a/ext/sndio/Makefile.in b/ext/sndio/Makefile.in
index f161778..75982bd 100644
--- a/ext/sndio/Makefile.in
+++ b/ext/sndio/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/sndio/sndiosink.c b/ext/sndio/sndiosink.c
index 1eab800..c9d0f71 100644
--- a/ext/sndio/sndiosink.c
+++ b/ext/sndio/sndiosink.c
@@ -95,8 +95,8 @@
       "Sink/Audio",
       "Plays audio through sndio", "Jacob Meuser <jakemsr@sdf.lonestar.org>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sndio_sink_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &sndio_sink_factory);
 }
 
 static void
diff --git a/ext/sndio/sndiosrc.c b/ext/sndio/sndiosrc.c
index 6800c7d..5721f42 100644
--- a/ext/sndio/sndiosrc.c
+++ b/ext/sndio/sndiosrc.c
@@ -93,8 +93,7 @@
       "Source/Audio",
       "Records audio through sndio", "Jacob Meuser <jakemsr@sdf.lonestar.org>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sndio_src_factory));
+  gst_element_class_add_static_pad_template (element_class, &sndio_src_factory);
 }
 
 static void
diff --git a/ext/soundtouch/Makefile.in b/ext/soundtouch/Makefile.in
index 59b8e07..eedfe4c 100644
--- a/ext/soundtouch/Makefile.in
+++ b/ext/soundtouch/Makefile.in
@@ -323,6 +323,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -538,6 +540,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -664,8 +668,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -710,6 +712,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/soundtouch/gstpitch.cc b/ext/soundtouch/gstpitch.cc
index 2f33adf..b41e665 100644
--- a/ext/soundtouch/gstpitch.cc
+++ b/ext/soundtouch/gstpitch.cc
@@ -163,10 +163,8 @@
 
   element_class->change_state = GST_DEBUG_FUNCPTR (gst_pitch_change_state);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_pitch_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_pitch_sink_template));
+  gst_element_class_add_static_pad_template (element_class, &gst_pitch_src_template);
+  gst_element_class_add_static_pad_template (element_class, &gst_pitch_sink_template);
 
   gst_element_class_set_static_metadata (element_class, "Pitch controller",
       "Filter/Effect/Audio", "Control the pitch of an audio stream",
diff --git a/ext/spandsp/Makefile.in b/ext/spandsp/Makefile.in
index 22460b9..771d592 100644
--- a/ext/spandsp/Makefile.in
+++ b/ext/spandsp/Makefile.in
@@ -306,6 +306,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -521,6 +523,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -647,8 +651,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -693,6 +695,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/spandsp/gstdtmfdetect.c b/ext/spandsp/gstdtmfdetect.c
index 41966e4..362edb4 100644
--- a/ext/spandsp/gstdtmfdetect.c
+++ b/ext/spandsp/gstdtmfdetect.c
@@ -124,10 +124,8 @@
 
   gobject_class->finalize = gst_dtmf_detect_finalize;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "DTMF detector element", "Filter/Analyzer/Audio",
diff --git a/ext/spandsp/gstspanplc.c b/ext/spandsp/gstspanplc.c
index d3ff53f..06e1090 100644
--- a/ext/spandsp/gstspanplc.c
+++ b/ext/spandsp/gstspanplc.c
@@ -73,10 +73,8 @@
   GObjectClass *gobject_class = (GObjectClass *) klass;
   GstElementClass *gstelement_class = (GstElementClass *) klass;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class, "SpanDSP PLC",
       "Filter/Effect/Audio",
diff --git a/ext/spandsp/gsttonegeneratesrc.c b/ext/spandsp/gsttonegeneratesrc.c
index 2b0cae7..c806799 100644
--- a/ext/spandsp/gsttonegeneratesrc.c
+++ b/ext/spandsp/gsttonegeneratesrc.c
@@ -142,8 +142,8 @@
           "Whether to repeat specified tone indefinitly", DEFAULT_REPEAT,
           G_PARAM_READWRITE));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_tone_generate_src_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_tone_generate_src_src_template);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Telephony Tone  Generator source", "Source/Audio",
diff --git a/ext/spc/Makefile.in b/ext/spc/Makefile.in
index 288fc6e..c47a0cf 100644
--- a/ext/spc/Makefile.in
+++ b/ext/spc/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/spc/gstspc.c b/ext/spc/gstspc.c
index d975185..d0f0393 100644
--- a/ext/spc/gstspc.c
+++ b/ext/spc/gstspc.c
@@ -81,10 +81,8 @@
       "Uses OpenSPC to emulate an SPC processor",
       "Chris Lee <clee@kde.org>, Brian Koropoff <bkoropoff@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
 
   element_class->change_state = GST_DEBUG_FUNCPTR (gst_spc_dec_change_state);
   gobject_class->dispose = gst_spc_dec_dispose;
diff --git a/ext/srtp/Makefile.in b/ext/srtp/Makefile.in
index fd26fe2..6acddc5 100644
--- a/ext/srtp/Makefile.in
+++ b/ext/srtp/Makefile.in
@@ -312,6 +312,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -527,6 +529,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -653,8 +657,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -699,6 +701,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/srtp/gstsrtpdec.c b/ext/srtp/gstsrtpdec.c
index 0120d92..b97094a 100644
--- a/ext/srtp/gstsrtpdec.c
+++ b/ext/srtp/gstsrtpdec.c
@@ -248,14 +248,14 @@
   gobject_class->set_property = gst_srtp_dec_set_property;
   gobject_class->get_property = gst_srtp_dec_get_property;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&rtp_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&rtp_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&rtcp_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&rtcp_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &rtp_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &rtp_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &rtcp_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &rtcp_sink_template);
 
   gst_element_class_set_static_metadata (gstelement_class, "SRTP decoder",
       "Filter/Network/SRTP",
diff --git a/ext/srtp/gstsrtpenc.c b/ext/srtp/gstsrtpenc.c
index eb00886..7f46a4f 100644
--- a/ext/srtp/gstsrtpenc.c
+++ b/ext/srtp/gstsrtpenc.c
@@ -159,7 +159,8 @@
   PROP_RTCP_AUTH,
   PROP_RANDOM_KEY,
   PROP_REPLAY_WINDOW_SIZE,
-  PROP_ALLOW_REPEAT_TX
+  PROP_ALLOW_REPEAT_TX,
+  PROP_STATS
 };
 
 typedef struct ProcessBufferItData
@@ -246,27 +247,6 @@
 static void gst_srtp_enc_release_pad (GstElement * element, GstPad * pad);
 
 
-static guint32
-gst_srtp_enc_get_rollover_counter (GstSrtpEnc * filter, guint32 ssrc)
-{
-  guint32 roc = 0;
-  srtp_stream_t stream;
-
-  GST_OBJECT_LOCK (filter);
-
-  GST_DEBUG_OBJECT (filter, "retrieving SRTP Rollover Counter, ssrc: %u", ssrc);
-
-  if (filter->session) {
-    stream = srtp_get_stream (filter->session, htonl (ssrc));
-    if (stream)
-      roc = stream->rtp_rdbx.index >> 16;
-  }
-
-  GST_OBJECT_UNLOCK (filter);
-
-  return roc;
-}
-
 /* initialize the srtpenc's class
  */
 static void
@@ -278,14 +258,14 @@
   gobject_class = (GObjectClass *) klass;
   gstelement_class = (GstElementClass *) klass;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&rtp_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&rtp_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&rtcp_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&rtcp_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &rtp_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &rtp_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &rtcp_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &rtcp_sink_template);
 
   gst_element_class_set_static_metadata (gstelement_class, "SRTP encoder",
       "Filter/Network/SRTP",
@@ -342,6 +322,9 @@
           "(Note that such repeated transmissions must have the same RTP payload, "
           "or a severe security weakness is introduced!)",
           DEFAULT_ALLOW_REPEAT_TX, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_STATS,
+      g_param_spec_boxed ("stats", "Statistics", "Various statistics",
+          GST_TYPE_STRUCTURE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
   /**
    * GstSrtpEnc::soft-limit:
@@ -354,22 +337,6 @@
   gst_srtp_enc_signals[SIGNAL_SOFT_LIMIT] =
       g_signal_new ("soft-limit", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL, G_TYPE_NONE, 0);
-
-  /**
-   * GstSrtpEnc::get-rollover-counter:
-   * @gstsrtpenc: the element on which the signal is emitted
-   * @ssrc: The unique SSRC of the stream
-   *
-   * Request the SRTP rollover counter for the stream with @ssrc.
-   */
-  gst_srtp_enc_signals[SIGNAL_GET_ROLLOVER_COUNTER] =
-      g_signal_new ("get-rollover-counter", G_TYPE_FROM_CLASS (klass),
-      G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (GstSrtpEncClass,
-          get_rollover_counter), NULL, NULL, g_cclosure_marshal_generic,
-      G_TYPE_UINT, 1, G_TYPE_UINT);
-
-  klass->get_rollover_counter =
-      GST_DEBUG_FUNCPTR (gst_srtp_enc_get_rollover_counter);
 }
 
 
@@ -633,6 +600,41 @@
   G_OBJECT_CLASS (gst_srtp_enc_parent_class)->dispose (object);
 }
 
+static GstStructure *
+gst_srtp_enc_create_stats (GstSrtpEnc * filter)
+{
+  GstStructure *s;
+  GValue va = G_VALUE_INIT;
+  GValue v = G_VALUE_INIT;
+
+  s = gst_structure_new_empty ("application/x-srtp-encoder-stats");
+
+  g_value_init (&va, GST_TYPE_ARRAY);
+  g_value_init (&v, GST_TYPE_STRUCTURE);
+
+  if (filter->session) {
+    srtp_stream_t stream = filter->session->stream_list;
+    while (stream) {
+      GstStructure *ss;
+      guint32 ssrc = GUINT32_FROM_BE (stream->ssrc);
+      guint32 roc = stream->rtp_rdbx.index >> 16;
+
+      ss = gst_structure_new ("application/x-srtp-stream",
+          "ssrc", G_TYPE_UINT, ssrc, "roc", G_TYPE_UINT, roc, NULL);
+
+      g_value_take_boxed (&v, ss);
+      gst_value_array_append_value (&va, &v);
+
+      stream = stream->next;
+    }
+  }
+
+  gst_structure_take_value (s, "streams", &va);
+  g_value_unset (&v);
+
+  return s;
+}
+
 static void
 gst_srtp_enc_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
@@ -724,6 +726,9 @@
     case PROP_ALLOW_REPEAT_TX:
       g_value_set_boolean (value, filter->allow_repeat_tx);
       break;
+    case PROP_STATS:
+      g_value_take_boxed (value, gst_srtp_enc_create_stats (filter));
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
diff --git a/ext/srtp/gstsrtpenc.h b/ext/srtp/gstsrtpenc.h
index 843af18..842c56f 100644
--- a/ext/srtp/gstsrtpenc.h
+++ b/ext/srtp/gstsrtpenc.h
@@ -89,9 +89,6 @@
 struct _GstSrtpEncClass
 {
   GstElementClass parent_class;
-
-  /* action signals */
-  guint32 (*get_rollover_counter) (GstSrtpEnc *encoder, guint32 ssrc);
 };
 
 GType gst_srtp_enc_get_type (void);
diff --git a/ext/teletextdec/Makefile.in b/ext/teletextdec/Makefile.in
index 8de3342..6554ff7 100644
--- a/ext/teletextdec/Makefile.in
+++ b/ext/teletextdec/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/teletextdec/gstteletextdec.c b/ext/teletextdec/gstteletextdec.c
index 91b73c2..5909a76 100644
--- a/ext/teletextdec/gstteletextdec.c
+++ b/ext/teletextdec/gstteletextdec.c
@@ -231,10 +231,8 @@
       "Sebastian Pölsterl <sebp@k-d-w.org>, "
       "Andoni Morales Alastruey <ylatuya@gmail.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_template);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_template);
 }
 
 /* initialize the new element
@@ -659,12 +657,13 @@
 gst_teletextdec_negotiate_caps (GstTeletextDec * teletext, guint width,
     guint height)
 {
-  guint i, caps_size;
   gboolean rv = FALSE;
-
   /* get the peer's caps filtered by our own ones. */
   GstCaps *ourcaps = gst_pad_query_caps (teletext->srcpad, NULL);
   GstCaps *peercaps = gst_pad_peer_query_caps (teletext->srcpad, ourcaps);
+  GstStructure *caps_struct;
+  const gchar *caps_name, *caps_fmt;
+
   gst_caps_unref (ourcaps);
 
   if (gst_caps_is_empty (peercaps)) {
@@ -673,33 +672,26 @@
 
   /* make them writable in case we need to fixate them (video/x-raw). */
   peercaps = gst_caps_make_writable (peercaps);
-  caps_size = gst_caps_get_size (peercaps);
+  caps_struct = gst_caps_get_structure (peercaps, 0);
+  caps_name = gst_structure_get_name (caps_struct);
+  caps_fmt = gst_structure_get_string (caps_struct, "format");
 
-  for (i = 0; i < caps_size; i++) {
-    GstStructure *caps_struct = gst_caps_get_structure (peercaps, i);
-    const gchar *caps_name = gst_structure_get_name (caps_struct);
-    const gchar *caps_fmt = gst_structure_get_string (caps_struct, "format");
-
-    if (g_strcmp0 (caps_name, "video/x-raw") == 0) {
-      teletext->width = width;
-      teletext->height = height;
-      teletext->export_func = gst_teletextdec_export_rgba_page;
-      gst_structure_set (caps_struct,
-          "width", G_TYPE_INT, width,
-          "height", G_TYPE_INT, height,
-          "framerate", GST_TYPE_FRACTION, 0, 1, NULL);
-      break;
-    } else if ((g_strcmp0 (caps_name, "text/x-raw") == 0) &&
-        (g_strcmp0 (caps_fmt, "utf-8") == 0)) {
-      teletext->export_func = gst_teletextdec_export_text_page;
-      break;
-    } else if ((g_strcmp0 (caps_name, "text/x-raw") == 0) &&
-        (g_strcmp0 (caps_fmt, "pango-markup") == 0)) {
-      teletext->export_func = gst_teletextdec_export_pango_page;
-      break;
-    } else {
-      goto beach;
-    }
+  if (!g_strcmp0 (caps_name, "video/x-raw")) {
+    teletext->width = width;
+    teletext->height = height;
+    teletext->export_func = gst_teletextdec_export_rgba_page;
+    gst_structure_set (caps_struct,
+        "width", G_TYPE_INT, width,
+        "height", G_TYPE_INT, height,
+        "framerate", GST_TYPE_FRACTION, 0, 1, NULL);
+  } else if (!g_strcmp0 (caps_name, "text/x-raw") &&
+      !g_strcmp0 (caps_fmt, "utf-8")) {
+    teletext->export_func = gst_teletextdec_export_text_page;
+  } else if (!g_strcmp0 (caps_name, "text/x-raw") &&
+      !g_strcmp0 (caps_fmt, "pango-markup")) {
+    teletext->export_func = gst_teletextdec_export_pango_page;
+  } else {
+    goto beach;
   }
 
   if (!gst_pad_push_event (teletext->srcpad, gst_event_new_caps (peercaps))) {
diff --git a/ext/timidity/Makefile.in b/ext/timidity/Makefile.in
index 2f94f9f..3bb93aa 100644
--- a/ext/timidity/Makefile.in
+++ b/ext/timidity/Makefile.in
@@ -321,6 +321,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -536,6 +538,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -662,8 +666,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -708,6 +710,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/timidity/gsttimidity.c b/ext/timidity/gsttimidity.c
index 418a5fe..f7af843 100644
--- a/ext/timidity/gsttimidity.c
+++ b/ext/timidity/gsttimidity.c
@@ -95,10 +95,8 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (gclass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
   gst_element_class_set_static_metadata (element_class, "Timidity",
       "Codec/Decoder/Audio",
       "Midi Synthesizer Element", "Wouter Paesen <wouter@blue-gate.be>");
diff --git a/ext/timidity/gstwildmidi.c b/ext/timidity/gstwildmidi.c
index 42b40d4..3e82ca2 100644
--- a/ext/timidity/gstwildmidi.c
+++ b/ext/timidity/gstwildmidi.c
@@ -239,10 +239,8 @@
           "High Quality", DEFAULT_HIGH_QUALITY,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
   gst_element_class_set_static_metadata (gstelement_class, "WildMidi",
       "Codec/Decoder/Audio",
       "Midi Synthesizer Element", "Wouter Paesen <wouter@blue-gate.be>");
diff --git a/ext/voaacenc/Makefile.in b/ext/voaacenc/Makefile.in
index 8638438..8c2d679 100644
--- a/ext/voaacenc/Makefile.in
+++ b/ext/voaacenc/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/voaacenc/gstvoaacenc.c b/ext/voaacenc/gstvoaacenc.c
index 315f373..674c481 100644
--- a/ext/voaacenc/gstvoaacenc.c
+++ b/ext/voaacenc/gstvoaacenc.c
@@ -163,10 +163,8 @@
           0, G_MAXINT, VOAAC_ENC_DEFAULT_BITRATE,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 
   gst_element_class_set_static_metadata (element_class, "AAC audio encoder",
       "Codec/Encoder/Audio", "AAC audio encoder", "Kan Hu <kan.hu@linaro.org>");
diff --git a/ext/voamrwbenc/Makefile.in b/ext/voamrwbenc/Makefile.in
index 30b2dd2..45801d3 100644
--- a/ext/voamrwbenc/Makefile.in
+++ b/ext/voamrwbenc/Makefile.in
@@ -305,6 +305,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -520,6 +522,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -646,8 +650,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -692,6 +694,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/voamrwbenc/gstvoamrwbenc.c b/ext/voamrwbenc/gstvoamrwbenc.c
index ae09f06..f744958 100644
--- a/ext/voamrwbenc/gstvoamrwbenc.c
+++ b/ext/voamrwbenc/gstvoamrwbenc.c
@@ -162,10 +162,8 @@
   object_class->set_property = gst_voamrwbenc_set_property;
   object_class->get_property = gst_voamrwbenc_get_property;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 
   gst_element_class_set_static_metadata (element_class, "AMR-WB audio encoder",
       "Codec/Encoder/Audio",
diff --git a/ext/vulkan/Makefile.am b/ext/vulkan/Makefile.am
index ac3ac08..1b19e19 100644
--- a/ext/vulkan/Makefile.am
+++ b/ext/vulkan/Makefile.am
@@ -1,7 +1,7 @@
 plugin_LTLIBRARIES = libgstvulkan.la
 
 SUBDIRS =
-DIST_SUBDIRS = xcb
+DIST_SUBDIRS = xcb wayland
 DISTCLEANFILES = vkconfig.h
 
 libgstvulkan_la_SOURCES = \
@@ -63,6 +63,11 @@
 libgstvulkan_la_LIBADD += xcb/libgstvulkan-xcb.la
 endif
 
+if USE_WAYLAND
+SUBDIRS += wayland
+libgstvulkan_la_LIBADD += wayland/libgstvulkan-wayland.la
+endif
+
 libgstvulkan_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 libgstvulkan_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 
diff --git a/ext/vulkan/Makefile.in b/ext/vulkan/Makefile.in
index 010c758..7478972 100644
--- a/ext/vulkan/Makefile.in
+++ b/ext/vulkan/Makefile.in
@@ -92,6 +92,8 @@
 target_triplet = @target@
 @USE_XCB_TRUE@am__append_1 = xcb
 @USE_XCB_TRUE@am__append_2 = xcb/libgstvulkan-xcb.la
+@USE_WAYLAND_TRUE@am__append_3 = wayland
+@USE_WAYLAND_TRUE@am__append_4 = wayland/libgstvulkan-wayland.la
 subdir = ext/vulkan
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -166,7 +168,8 @@
 LTLIBRARIES = $(plugin_LTLIBRARIES)
 am__DEPENDENCIES_1 =
 libgstvulkan_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(am__append_2)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(am__append_2) \
+	$(am__append_4)
 am_libgstvulkan_la_OBJECTS = libgstvulkan_la-gstvulkan.lo \
 	libgstvulkan_la-vkdevice.lo libgstvulkan_la-vkdisplay.lo \
 	libgstvulkan_la-vkerror.lo libgstvulkan_la-vkbuffermemory.lo \
@@ -353,6 +356,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -568,6 +573,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -694,8 +701,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -740,6 +745,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -829,8 +836,8 @@
 top_srcdir = @top_srcdir@
 wayland_scanner = @wayland_scanner@
 plugin_LTLIBRARIES = libgstvulkan.la
-SUBDIRS = $(am__append_1)
-DIST_SUBDIRS = xcb
+SUBDIRS = $(am__append_1) $(am__append_3)
+DIST_SUBDIRS = xcb wayland
 DISTCLEANFILES = vkconfig.h
 libgstvulkan_la_SOURCES = \
 	gstvulkan.c \
@@ -881,7 +888,8 @@
 	$(VULKAN_CFLAGS)
 
 libgstvulkan_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) \
-	-lgstvideo-$(GST_API_VERSION) $(VULKAN_LIBS) $(am__append_2)
+	-lgstvideo-$(GST_API_VERSION) $(VULKAN_LIBS) $(am__append_2) \
+	$(am__append_4)
 libgstvulkan_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 libgstvulkan_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 all: all-recursive
diff --git a/ext/vulkan/vkapi.h b/ext/vulkan/vkapi.h
index 525a6c0..e9c23aa 100644
--- a/ext/vulkan/vkapi.h
+++ b/ext/vulkan/vkapi.h
@@ -34,6 +34,12 @@
 #endif
 #endif
 
+#if GST_VULKAN_HAVE_WINDOW_WAYLAND
+#ifndef VK_USE_PLATFORM_WAYLAND_KHR
+#define VK_USE_PLATFORM_WAYLAND_KHR
+#endif
+#endif
+
 #include <vulkan/vulkan.h>
 
 #endif /* _VK_H_ */
diff --git a/ext/vulkan/vkconfig.h b/ext/vulkan/vkconfig.h
index 4ae6df9..f381cdd 100644
--- a/ext/vulkan/vkconfig.h
+++ b/ext/vulkan/vkconfig.h
@@ -11,7 +11,8 @@
 G_BEGIN_DECLS
 
 
-  #define GST_VULKAN_HAVE_WINDOW_XCB 1
+#define GST_VULKAN_HAVE_WINDOW_XCB 1
+#define GST_VULKAN_HAVE_WINDOW_WAYLAND 1
 
 G_END_DECLS
 
diff --git a/ext/vulkan/vkdevice.c b/ext/vulkan/vkdevice.c
index 5825391..5c2b279 100644
--- a/ext/vulkan/vkdevice.c
+++ b/ext/vulkan/vkdevice.c
@@ -143,10 +143,14 @@
 
   vkGetPhysicalDeviceProperties (gpu, &props);
 
-  GST_INFO_OBJECT (device, "device name %s type %s api version %u, "
-      "driver version %u vendor ID 0x%x, device ID 0x%x", props.deviceName,
-      _device_type_to_string (props.deviceType), props.apiVersion,
-      props.driverVersion, props.vendorID, props.deviceID);
+  GST_INFO_OBJECT (device, "device name %s type %s api version %u.%u.%u, "
+      "driver version %u.%u.%u vendor ID 0x%x, device ID 0x%x",
+      props.deviceName, _device_type_to_string (props.deviceType),
+      VK_VERSION_MAJOR (props.apiVersion), VK_VERSION_MINOR (props.apiVersion),
+      VK_VERSION_PATCH (props.apiVersion),
+      VK_VERSION_MAJOR (props.driverVersion),
+      VK_VERSION_MINOR (props.driverVersion),
+      VK_VERSION_PATCH (props.driverVersion), props.vendorID, props.deviceID);
 
   return TRUE;
 }
@@ -289,8 +293,13 @@
     device_info.pNext = NULL;
     device_info.queueCreateInfoCount = 1;
     device_info.pQueueCreateInfos = &queue_info;
+#if 0
     device_info.enabledLayerCount = enabled_layer_count;
     device_info.ppEnabledLayerNames = (const char *const *) enabled_layers;
+#else
+    device_info.enabledLayerCount = 0;
+    device_info.ppEnabledLayerNames = NULL;
+#endif
     device_info.enabledExtensionCount = enabled_extension_count;
     device_info.ppEnabledExtensionNames = (const char *const *) extension_names;
     device_info.pEnabledFeatures = NULL;
diff --git a/ext/vulkan/vkdisplay.c b/ext/vulkan/vkdisplay.c
index a066821..096f251 100644
--- a/ext/vulkan/vkdisplay.c
+++ b/ext/vulkan/vkdisplay.c
@@ -33,6 +33,9 @@
 #if GST_VULKAN_HAVE_WINDOW_XCB
 #include "xcb/vkdisplay_xcb.h"
 #endif
+#if GST_VULKAN_HAVE_WINDOW_WAYLAND
+#include "wayland/vkdisplay_wayland.h"
+#endif
 
 GST_DEBUG_CATEGORY_STATIC (GST_CAT_CONTEXT);
 #define GST_CAT_DEFAULT gst_vulkan_display_debug
@@ -142,11 +145,6 @@
   GstVulkanDisplay *display = GST_VULKAN_DISPLAY (object);
 
   g_mutex_lock (&display->priv->thread_lock);
-  if (display->main_context && display->event_source) {
-    g_source_destroy (display->event_source);
-    g_source_unref (display->event_source);
-  }
-  display->event_source = NULL;
 
   if (display->main_loop)
     g_main_loop_quit (display->main_loop);
@@ -159,6 +157,12 @@
   display->priv->event_thread = NULL;
   g_mutex_unlock (&display->priv->thread_lock);
 
+  if (display->main_context && display->event_source) {
+    g_source_destroy (display->event_source);
+    g_source_unref (display->event_source);
+  }
+  display->event_source = NULL;
+
   if (display->instance) {
     gst_object_unref (display->instance);
   }
@@ -179,6 +183,11 @@
     display = GST_VULKAN_DISPLAY (gst_vulkan_display_xcb_new (NULL));
   }
 #endif
+#if GST_VULKAN_HAVE_WINDOW_WAYLAND
+  if (!display && type & GST_VULKAN_DISPLAY_TYPE_WAYLAND) {
+    display = GST_VULKAN_DISPLAY (gst_vulkan_display_wayland_new (NULL));
+  }
+#endif
 
   if (display)
     display->instance = gst_object_ref (instance);
@@ -387,6 +396,9 @@
 #if GST_VULKAN_HAVE_WINDOW_XCB
   CHOOSE_WINSYS (xcb, XCB);
 #endif
+#if GST_VULKAN_HAVE_WINDOW_WAYLAND
+  CHOOSE_WINSYS (wayland, WAYLAND);
+#endif
 
 #undef CHOOSE_WINSYS
 
@@ -408,6 +420,9 @@
   if (type & GST_VULKAN_DISPLAY_TYPE_XCB)
     return VK_KHR_XCB_SURFACE_EXTENSION_NAME;
 
+  if (type & GST_VULKAN_DISPLAY_TYPE_WAYLAND)
+    return VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME;
+
   return NULL;
 }
 
diff --git a/ext/vulkan/vkinstance.c b/ext/vulkan/vkinstance.c
index 0e48a17..d61458e 100644
--- a/ext/vulkan/vkinstance.c
+++ b/ext/vulkan/vkinstance.c
@@ -299,8 +299,13 @@
     inst_info.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
     inst_info.pNext = NULL;
     inst_info.pApplicationInfo = &app;
+#if 0
     inst_info.enabledLayerCount = enabled_layer_count;
     inst_info.ppEnabledLayerNames = (const char *const *) enabled_layers;
+#else
+    inst_info.enabledLayerCount = 0;
+    inst_info.ppEnabledLayerNames = NULL;
+#endif
     inst_info.enabledExtensionCount = enabled_extension_count;
     inst_info.ppEnabledExtensionNames = (const char *const *) extension_names;
 
diff --git a/ext/vulkan/vksink.c b/ext/vulkan/vksink.c
index cb8530d..586d286 100644
--- a/ext/vulkan/vksink.c
+++ b/ext/vulkan/vksink.c
@@ -125,8 +125,8 @@
       "Sink/Video", "A videosink based on OpenGL",
       "Matthew Waters <matthew@centricular.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_vulkan_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_vulkan_sink_template);
 
   gobject_class->finalize = gst_vulkan_sink_finalize;
 
diff --git a/ext/vulkan/vkswapper.c b/ext/vulkan/vkswapper.c
index 3ad50cd..d528f0b 100644
--- a/ext/vulkan/vkswapper.c
+++ b/ext/vulkan/vkswapper.c
@@ -93,12 +93,16 @@
   switch (format) {
       /* double check endianess */
     case VK_FORMAT_R8G8B8A8_UNORM:
+    case VK_FORMAT_R8G8B8A8_SRGB:
       return GST_VIDEO_FORMAT_RGBA;
     case VK_FORMAT_R8G8B8_UNORM:
+    case VK_FORMAT_R8G8B8_SRGB:
       return GST_VIDEO_FORMAT_RGB;
     case VK_FORMAT_B8G8R8A8_UNORM:
+    case VK_FORMAT_B8G8R8A8_SRGB:
       return GST_VIDEO_FORMAT_BGRA;
     case VK_FORMAT_B8G8R8_UNORM:
+    case VK_FORMAT_B8G8R8_SRGB:
       return GST_VIDEO_FORMAT_BGR;
     default:
       return GST_VIDEO_FORMAT_UNKNOWN;
@@ -106,17 +110,33 @@
 }
 
 static VkFormat
-_vk_format_from_video_format (GstVideoFormat v_format)
+_vk_format_from_video_info (GstVideoInfo * v_info)
 {
-  switch (v_format) {
+  switch (GST_VIDEO_INFO_FORMAT (v_info)) {
     case GST_VIDEO_FORMAT_RGBA:
-      return VK_FORMAT_R8G8B8A8_UNORM;
+      if (GST_VIDEO_INFO_COLORIMETRY (v_info).transfer ==
+          GST_VIDEO_TRANSFER_SRGB)
+        return VK_FORMAT_R8G8B8A8_SRGB;
+      else
+        return VK_FORMAT_R8G8B8A8_UNORM;
     case GST_VIDEO_FORMAT_RGB:
-      return VK_FORMAT_R8G8B8_UNORM;
+      if (GST_VIDEO_INFO_COLORIMETRY (v_info).transfer ==
+          GST_VIDEO_TRANSFER_SRGB)
+        return VK_FORMAT_R8G8B8_SRGB;
+      else
+        return VK_FORMAT_R8G8B8_UNORM;
     case GST_VIDEO_FORMAT_BGRA:
-      return VK_FORMAT_B8G8R8A8_UNORM;
+      if (GST_VIDEO_INFO_COLORIMETRY (v_info).transfer ==
+          GST_VIDEO_TRANSFER_SRGB)
+        return VK_FORMAT_B8G8R8A8_SRGB;
+      else
+        return VK_FORMAT_B8G8R8A8_UNORM;
     case GST_VIDEO_FORMAT_BGR:
-      return VK_FORMAT_B8G8R8_UNORM;
+      if (GST_VIDEO_INFO_COLORIMETRY (v_info).transfer ==
+          GST_VIDEO_TRANSFER_SRGB)
+        return VK_FORMAT_B8G8R8_SRGB;
+      else
+        return VK_FORMAT_B8G8R8_UNORM;
     default:
       return VK_FORMAT_UNDEFINED;
   }
@@ -434,6 +454,7 @@
     gst_structure_set_value (s, "format", &list);
     g_value_unset (&list);
   }
+
   {
     guint32 max_dim = swapper->device->gpu_props.limits.maxImageDimension2D;
 
@@ -531,11 +552,13 @@
 
   {
     VkSubmitInfo submit_info = { 0, };
+    VkPipelineStageFlags stages = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
 
     submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
     submit_info.pNext = NULL;
     submit_info.waitSemaphoreCount = 0;
     submit_info.pWaitSemaphores = NULL;
+    submit_info.pWaitDstStageMask = &stages;
     submit_info.commandBufferCount = 1;
     submit_info.pCommandBuffers = &cmd;
     submit_info.signalSemaphoreCount = 0;
@@ -629,8 +652,7 @@
     preTransform = swapper->surf_props.currentTransform;
   }
 
-  format =
-      _vk_format_from_video_format (GST_VIDEO_INFO_FORMAT (&swapper->v_info));
+  format = _vk_format_from_video_info (&swapper->v_info);
   color_space = _vk_color_space_from_video_info (&swapper->v_info);
 
   if ((swapper->surf_props.supportedCompositeAlpha &
@@ -777,7 +799,6 @@
 struct cmd_data
 {
   VkCommandBuffer cmd;
-  VkFence fence;
   GDestroyNotify notify;
   gpointer data;
 };
@@ -867,10 +888,6 @@
   cmd_data->cmd = cmd;
   cmd_data->notify = NULL;
 
-  if (!_new_fence (swapper->device, &cmd_data->fence, error)) {
-    return FALSE;
-  }
-
   return TRUE;
 }
 
@@ -878,7 +895,8 @@
 _render_buffer_unlocked (GstVulkanSwapper * swapper,
     GstBuffer * buffer, GError ** error)
 {
-  VkSemaphore semaphore = { 0, };
+  VkSemaphore acquire_semaphore = { 0, };
+  VkSemaphore present_semaphore = { 0, };
   VkSemaphoreCreateInfo semaphore_info = { 0, };
   VkPresentInfoKHR present;
   struct cmd_data cmd_data = { 0, };
@@ -905,18 +923,18 @@
 
 reacquire:
   err = vkCreateSemaphore (swapper->device->device, &semaphore_info,
-      NULL, &semaphore);
+      NULL, &acquire_semaphore);
   if (gst_vulkan_error_to_g_error (err, error, "vkCreateSemaphore") < 0)
     goto error;
 
   err =
       swapper->AcquireNextImageKHR (swapper->device->device,
-      swapper->swap_chain, -1, semaphore, VK_NULL_HANDLE, &swap_idx);
+      swapper->swap_chain, -1, acquire_semaphore, VK_NULL_HANDLE, &swap_idx);
   /* TODO: Deal with the VK_SUBOPTIMAL_KHR and VK_ERROR_OUT_OF_DATE_KHR */
   if (err == VK_ERROR_OUT_OF_DATE_KHR) {
     GST_DEBUG_OBJECT (swapper, "out of date frame acquired");
 
-    vkDestroySemaphore (swapper->device->device, semaphore, NULL);
+    vkDestroySemaphore (swapper->device->device, acquire_semaphore, NULL);
     if (!_swapchain_resize (swapper, error))
       goto error;
     goto reacquire;
@@ -928,36 +946,45 @@
   if (!_build_render_buffer_cmd (swapper, swap_idx, buffer, &cmd_data, error))
     goto error;
 
+  err = vkCreateSemaphore (swapper->device->device, &semaphore_info,
+      NULL, &present_semaphore);
+  if (gst_vulkan_error_to_g_error (err, error, "vkCreateSemaphore") < 0)
+    goto error;
+
   {
     VkSubmitInfo submit_info = { 0, };
+    VkPipelineStageFlags stages = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
 
     submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
     submit_info.pNext = NULL;
     submit_info.waitSemaphoreCount = 1;
-    submit_info.pWaitSemaphores = &semaphore;
+    submit_info.pWaitSemaphores = &acquire_semaphore;
+    submit_info.pWaitDstStageMask = &stages;
     submit_info.commandBufferCount = 1;
     submit_info.pCommandBuffers = &cmd_data.cmd;
-    submit_info.signalSemaphoreCount = 0;
-    submit_info.pSignalSemaphores = NULL;
+    submit_info.signalSemaphoreCount = 1;
+    submit_info.pSignalSemaphores = &present_semaphore;
 
-    err =
-        vkQueueSubmit (swapper->queue->queue, 1, &submit_info, cmd_data.fence);
+    err = vkQueueSubmit (swapper->queue->queue, 1, &submit_info, NULL);
     if (gst_vulkan_error_to_g_error (err, error, "vkQueueSubmit") < 0) {
-      return FALSE;
+      goto error;
     }
   }
 
   present.sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR;
   present.pNext = NULL;
-  present.waitSemaphoreCount = 0;
-  present.pWaitSemaphores = NULL;
+  present.waitSemaphoreCount = 1;
+  present.pWaitSemaphores = &present_semaphore;
   present.swapchainCount = 1;
   present.pSwapchains = &swapper->swap_chain;
   present.pImageIndices = &swap_idx;
   present.pResults = &present_err;
 
   err = swapper->QueuePresentKHR (swapper->queue->queue, &present);
-  if (err == VK_ERROR_OUT_OF_DATE_KHR) {
+  if (gst_vulkan_error_to_g_error (err, error, "vkQueuePresentKHR") < 0)
+    goto error;
+
+  if (present_err == VK_ERROR_OUT_OF_DATE_KHR) {
     GST_DEBUG_OBJECT (swapper, "out of date frame submitted");
 
     if (!_swapchain_resize (swapper, error))
@@ -965,30 +992,30 @@
   } else if (gst_vulkan_error_to_g_error (err, error, "vkQueuePresentKHR") < 0)
     goto error;
 
-  err = vkWaitForFences (swapper->device->device, 1, &cmd_data.fence, TRUE, -1);
-  if (gst_vulkan_error_to_g_error (err, error, "vkWaitForFences") < 0)
+  err = vkDeviceWaitIdle (swapper->device->device);
+  if (gst_vulkan_error_to_g_error (err, error, "vkDeviceWaitIdle") < 0)
     goto error;
 
-  if (semaphore)
-    vkDestroySemaphore (swapper->device->device, semaphore, NULL);
+  if (acquire_semaphore)
+    vkDestroySemaphore (swapper->device->device, acquire_semaphore, NULL);
+  if (present_semaphore)
+    vkDestroySemaphore (swapper->device->device, present_semaphore, NULL);
   if (cmd_data.cmd)
     vkFreeCommandBuffers (swapper->device->device, swapper->device->cmd_pool,
         1, &cmd_data.cmd);
-  if (cmd_data.fence)
-    vkDestroyFence (swapper->device->device, cmd_data.fence, NULL);
   if (cmd_data.notify)
     cmd_data.notify (cmd_data.data);
   return TRUE;
 
 error:
   {
-    if (semaphore)
-      vkDestroySemaphore (swapper->device->device, semaphore, NULL);
+    if (acquire_semaphore)
+      vkDestroySemaphore (swapper->device->device, acquire_semaphore, NULL);
+    if (present_semaphore)
+      vkDestroySemaphore (swapper->device->device, present_semaphore, NULL);
     if (cmd_data.cmd)
       vkFreeCommandBuffers (swapper->device->device, swapper->device->cmd_pool,
           1, &cmd_data.cmd);
-    if (cmd_data.fence)
-      vkDestroyFence (swapper->device->device, cmd_data.fence, NULL);
     if (cmd_data.notify)
       cmd_data.notify (cmd_data.data);
     return FALSE;
diff --git a/ext/vulkan/vkupload.c b/ext/vulkan/vkupload.c
index 95c36cf..c0f0a97 100644
--- a/ext/vulkan/vkupload.c
+++ b/ext/vulkan/vkupload.c
@@ -787,6 +787,7 @@
 gst_vulkan_upload_prepare_output_buffer (GstBaseTransform * bt,
     GstBuffer * inbuf, GstBuffer ** outbuf)
 {
+  GstBaseTransformClass *bclass = GST_BASE_TRANSFORM_GET_CLASS (bt);
   GstVulkanUpload *vk_upload = GST_VULKAN_UPLOAD (bt);
   GstFlowReturn ret;
 
@@ -818,6 +819,12 @@
     }
   } while (FALSE);
 
+  if (ret == GST_FLOW_OK) {
+    /* basetransform doesn't unref if they're the same */
+    if (inbuf != *outbuf)
+      bclass->copy_metadata (bt, inbuf, *outbuf);
+  }
+
   return ret;
 }
 
diff --git a/ext/vulkan/vkwindow.c b/ext/vulkan/vkwindow.c
index caa3c47..56b3e60 100644
--- a/ext/vulkan/vkwindow.c
+++ b/ext/vulkan/vkwindow.c
@@ -43,6 +43,9 @@
 #if GST_VULKAN_HAVE_WINDOW_XCB
 #include "xcb/vkwindow_xcb.h"
 #endif
+#if GST_VULKAN_HAVE_WINDOW_WAYLAND
+#include "wayland/vkwindow_wayland.h"
+#endif
 
 #define GST_CAT_DEFAULT gst_vulkan_window_debug
 GST_DEBUG_CATEGORY (GST_CAT_DEFAULT);
@@ -183,6 +186,10 @@
   if (!window && (!user_choice || g_strstr_len (user_choice, 3, "xcb")))
     window = GST_VULKAN_WINDOW (gst_vulkan_window_xcb_new (display));
 #endif
+#if GST_VULKAN_HAVE_WINDOW_WAYLAND
+  if (!window && (!user_choice || g_strstr_len (user_choice, 7, "wayland")))
+    window = GST_VULKAN_WINDOW (gst_vulkan_window_wayland_new (display));
+#endif
   if (!window) {
     /* subclass returned a NULL window */
     GST_WARNING ("Could not create window. user specified %s, creating dummy"
diff --git a/ext/vulkan/wayland/Makefile.am b/ext/vulkan/wayland/Makefile.am
new file mode 100644
index 0000000..f92d85e
--- /dev/null
+++ b/ext/vulkan/wayland/Makefile.am
@@ -0,0 +1,29 @@
+## Process this file with automake to produce Makefile.in
+
+noinst_LTLIBRARIES = libgstvulkan-wayland.la
+
+libgstvulkan_wayland_la_SOURCES = \
+	vkdisplay_wayland.c \
+	vkwindow_wayland.c \
+	wayland_event_source.c
+
+noinst_HEADERS = \
+	vkdisplay_wayland.h \
+	vkwindow_wayland.h \
+	wayland_event_source.h
+
+libgstvulkan_wayland_la_CFLAGS = \
+	-I$(top_srcdir)/gst-libs \
+	-I$(top_srcdir)/ext/vulkan \
+	-I$(top_builddir)/gst-libs \
+	$(GST_PLUGINS_BASE_CFLAGS) \
+	$(GST_BASE_CFLAGS) \
+	$(GST_CFLAGS) \
+	$(WAYLAND_CFLAGS)
+
+libgstvulkan_wayland_la_LIBADD = \
+	$(WAYLAND_LIBS)
+
+libgstvulkan_wayland_la_LDFLAGS = \
+	$(GST_LIB_LDFLAGS) \
+	$(GST_ALL_LDFLAGS)
diff --git a/tests/examples/gl/gtk/gtkvideooverlay/Makefile.in b/ext/vulkan/wayland/Makefile.in
similarity index 76%
copy from tests/examples/gl/gtk/gtkvideooverlay/Makefile.in
copy to ext/vulkan/wayland/Makefile.in
index aef9ed4..a08f213 100644
--- a/tests/examples/gl/gtk/gtkvideooverlay/Makefile.in
+++ b/ext/vulkan/wayland/Makefile.in
@@ -14,6 +14,7 @@
 
 @SET_MAKE@
 
+
 VPATH = @srcdir@
 am__is_gnu_make = { \
   if test -z '$(MAKELEVEL)'; then \
@@ -89,8 +90,7 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-noinst_PROGRAMS = gtkvideooverlay$(EXEEXT)
-subdir = tests/examples/gl/gtk/gtkvideooverlay
+subdir = ext/vulkan/wayland
 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 \
@@ -127,27 +127,29 @@
 	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_gtkvideooverlay_OBJECTS = gtkvideooverlay-main.$(OBJEXT)
-gtkvideooverlay_OBJECTS = $(am_gtkvideooverlay_OBJECTS)
+LTLIBRARIES = $(noinst_LTLIBRARIES)
 am__DEPENDENCIES_1 =
-gtkvideooverlay_DEPENDENCIES = ../libgstgtkhelper.la \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1)
+libgstvulkan_wayland_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_libgstvulkan_wayland_la_OBJECTS =  \
+	libgstvulkan_wayland_la-vkdisplay_wayland.lo \
+	libgstvulkan_wayland_la-vkwindow_wayland.lo \
+	libgstvulkan_wayland_la-wayland_event_source.lo
+libgstvulkan_wayland_la_OBJECTS =  \
+	$(am_libgstvulkan_wayland_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 = 
-gtkvideooverlay_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+libgstvulkan_wayland_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+	$(libgstvulkan_wayland_la_CFLAGS) $(CFLAGS) \
+	$(libgstvulkan_wayland_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
@@ -164,31 +166,32 @@
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_@AM_V@)
-am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
-am__v_CXX_0 = @echo "  CXX     " $@;
-am__v_CXX_1 = 
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
-am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo "  CXXLD   " $@;
-am__v_CXXLD_1 = 
-SOURCES = $(gtkvideooverlay_SOURCES)
-DIST_SOURCES = $(gtkvideooverlay_SOURCES)
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = $(libgstvulkan_wayland_la_SOURCES)
+DIST_SOURCES = $(libgstvulkan_wayland_la_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
+HEADERS = $(noinst_HEADERS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 # Read a list of newline-separated strings from the standard input,
 # and print each of them once, without duplicates.  Input order is
@@ -274,6 +277,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -489,6 +494,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -615,8 +622,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -661,6 +666,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -749,19 +756,37 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 wayland_scanner = @wayland_scanner@
-gtkvideooverlay_SOURCES = main.cpp
-gtkvideooverlay_CXXFLAGS = -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
-	$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) \
-	$(GL_CFLAGS) $(GTK3_CFLAGS)  $(X11_CFLAGS)
+noinst_LTLIBRARIES = libgstvulkan-wayland.la
+libgstvulkan_wayland_la_SOURCES = \
+	vkdisplay_wayland.c \
+	vkwindow_wayland.c \
+	wayland_event_source.c
 
-gtkvideooverlay_LDADD = ../libgstgtkhelper.la \
-	$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
-	$(GL_LIBS) -lgstvideo-$(GST_API_VERSION) $(X11_LIBS)
+noinst_HEADERS = \
+	vkdisplay_wayland.h \
+	vkwindow_wayland.h \
+	wayland_event_source.h
+
+libgstvulkan_wayland_la_CFLAGS = \
+	-I$(top_srcdir)/gst-libs \
+	-I$(top_srcdir)/ext/vulkan \
+	-I$(top_builddir)/gst-libs \
+	$(GST_PLUGINS_BASE_CFLAGS) \
+	$(GST_BASE_CFLAGS) \
+	$(GST_CFLAGS) \
+	$(WAYLAND_CFLAGS)
+
+libgstvulkan_wayland_la_LIBADD = \
+	$(WAYLAND_LIBS)
+
+libgstvulkan_wayland_la_LDFLAGS = \
+	$(GST_LIB_LDFLAGS) \
+	$(GST_ALL_LDFLAGS)
 
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .cpp .lo .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 \
@@ -771,9 +796,9 @@
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/gl/gtk/gtkvideooverlay/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/vulkan/wayland/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu tests/examples/gl/gtk/gtkvideooverlay/Makefile
+	  $(AUTOMAKE) --gnu ext/vulkan/wayland/Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -792,18 +817,19 @@
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 
-clean-noinstPROGRAMS:
-	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
-	echo " rm -f" $$list; \
-	rm -f $$list || exit $$?; \
-	test -n "$(EXEEXT)" || exit 0; \
-	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-	echo " rm -f" $$list; \
-	rm -f $$list
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 
-gtkvideooverlay$(EXEEXT): $(gtkvideooverlay_OBJECTS) $(gtkvideooverlay_DEPENDENCIES) $(EXTRA_gtkvideooverlay_DEPENDENCIES) 
-	@rm -f gtkvideooverlay$(EXEEXT)
-	$(AM_V_CXXLD)$(gtkvideooverlay_LINK) $(gtkvideooverlay_OBJECTS) $(gtkvideooverlay_LDADD) $(LIBS)
+libgstvulkan-wayland.la: $(libgstvulkan_wayland_la_OBJECTS) $(libgstvulkan_wayland_la_DEPENDENCIES) $(EXTRA_libgstvulkan_wayland_la_DEPENDENCIES) 
+	$(AM_V_CCLD)$(libgstvulkan_wayland_la_LINK)  $(libgstvulkan_wayland_la_OBJECTS) $(libgstvulkan_wayland_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -811,45 +837,54 @@
 distclean-compile:
 	-rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtkvideooverlay-main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_wayland_la-vkdisplay_wayland.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_wayland_la-vkwindow_wayland.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_wayland_la-wayland_event_source.Plo@am__quote@
 
-.cpp.o:
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+.c.o:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 
-.cpp.obj:
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+.c.obj:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
-.cpp.lo:
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
+.c.lo:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
-gtkvideooverlay-main.o: main.cpp
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) -MT gtkvideooverlay-main.o -MD -MP -MF $(DEPDIR)/gtkvideooverlay-main.Tpo -c -o gtkvideooverlay-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
-@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gtkvideooverlay-main.Tpo $(DEPDIR)/gtkvideooverlay-main.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='main.cpp' object='gtkvideooverlay-main.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) -c -o gtkvideooverlay-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
+libgstvulkan_wayland_la-vkdisplay_wayland.lo: vkdisplay_wayland.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) $(libgstvulkan_wayland_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_wayland_la-vkdisplay_wayland.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_wayland_la-vkdisplay_wayland.Tpo -c -o libgstvulkan_wayland_la-vkdisplay_wayland.lo `test -f 'vkdisplay_wayland.c' || echo '$(srcdir)/'`vkdisplay_wayland.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_wayland_la-vkdisplay_wayland.Tpo $(DEPDIR)/libgstvulkan_wayland_la-vkdisplay_wayland.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vkdisplay_wayland.c' object='libgstvulkan_wayland_la-vkdisplay_wayland.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) $(libgstvulkan_wayland_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_wayland_la-vkdisplay_wayland.lo `test -f 'vkdisplay_wayland.c' || echo '$(srcdir)/'`vkdisplay_wayland.c
 
-gtkvideooverlay-main.obj: main.cpp
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) -MT gtkvideooverlay-main.obj -MD -MP -MF $(DEPDIR)/gtkvideooverlay-main.Tpo -c -o gtkvideooverlay-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
-@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gtkvideooverlay-main.Tpo $(DEPDIR)/gtkvideooverlay-main.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='main.cpp' object='gtkvideooverlay-main.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) -c -o gtkvideooverlay-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
+libgstvulkan_wayland_la-vkwindow_wayland.lo: vkwindow_wayland.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) $(libgstvulkan_wayland_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_wayland_la-vkwindow_wayland.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_wayland_la-vkwindow_wayland.Tpo -c -o libgstvulkan_wayland_la-vkwindow_wayland.lo `test -f 'vkwindow_wayland.c' || echo '$(srcdir)/'`vkwindow_wayland.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_wayland_la-vkwindow_wayland.Tpo $(DEPDIR)/libgstvulkan_wayland_la-vkwindow_wayland.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vkwindow_wayland.c' object='libgstvulkan_wayland_la-vkwindow_wayland.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) $(libgstvulkan_wayland_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_wayland_la-vkwindow_wayland.lo `test -f 'vkwindow_wayland.c' || echo '$(srcdir)/'`vkwindow_wayland.c
+
+libgstvulkan_wayland_la-wayland_event_source.lo: wayland_event_source.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) $(libgstvulkan_wayland_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_wayland_la-wayland_event_source.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_wayland_la-wayland_event_source.Tpo -c -o libgstvulkan_wayland_la-wayland_event_source.lo `test -f 'wayland_event_source.c' || echo '$(srcdir)/'`wayland_event_source.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_wayland_la-wayland_event_source.Tpo $(DEPDIR)/libgstvulkan_wayland_la-wayland_event_source.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='wayland_event_source.c' object='libgstvulkan_wayland_la-wayland_event_source.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) $(libgstvulkan_wayland_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_wayland_la-wayland_event_source.lo `test -f 'wayland_event_source.c' || echo '$(srcdir)/'`wayland_event_source.c
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -941,7 +976,7 @@
 	done
 check-am: all-am
 check: check-am
-all-am: Makefile $(PROGRAMS)
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
 installdirs:
 install: install-am
 install-exec: install-exec-am
@@ -975,7 +1010,7 @@
 	@echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
 	mostlyclean-am
 
 distclean: distclean-am
@@ -1047,7 +1082,7 @@
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+	clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
 	ctags-am distclean distclean-compile distclean-generic \
 	distclean-libtool distclean-tags distdir dvi dvi-am html \
 	html-am info info-am install install-am install-data \
diff --git a/ext/vulkan/wayland/vkdisplay_wayland.c b/ext/vulkan/wayland/vkdisplay_wayland.c
new file mode 100644
index 0000000..686d671
--- /dev/null
+++ b/ext/vulkan/wayland/vkdisplay_wayland.c
@@ -0,0 +1,189 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 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 "wayland/vkdisplay_wayland.h"
+#include "wayland_event_source.h"
+
+GST_DEBUG_CATEGORY_STATIC (gst_vulkan_display_wayland_debug);
+#define GST_CAT_DEFAULT gst_vulkan_display_wayland_debug
+
+G_DEFINE_TYPE_WITH_CODE (GstVulkanDisplayWayland, gst_vulkan_display_wayland,
+    GST_TYPE_VULKAN_DISPLAY, GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT,
+        "vulkandisplaywayland", 0, "Vulkan Wayland Display");
+    );
+
+static void gst_vulkan_display_wayland_finalize (GObject * object);
+static gpointer gst_vulkan_display_wayland_get_handle (GstVulkanDisplay *
+    display);
+
+static void
+registry_handle_global (void *data, struct wl_registry *registry,
+    uint32_t name, const char *interface, uint32_t version)
+{
+  GstVulkanDisplayWayland *display = data;
+
+  GST_TRACE_OBJECT (display, "registry_handle_global with registry %p, "
+      "interface %s, version %u", registry, interface, version);
+
+  if (g_strcmp0 (interface, "wl_compositor") == 0) {
+    display->compositor =
+        wl_registry_bind (registry, name, &wl_compositor_interface, 1);
+  } else if (g_strcmp0 (interface, "wl_subcompositor") == 0) {
+    display->subcompositor =
+        wl_registry_bind (registry, name, &wl_subcompositor_interface, 1);
+  } else if (g_strcmp0 (interface, "wl_shell") == 0) {
+    display->shell = wl_registry_bind (registry, name, &wl_shell_interface, 1);
+  }
+}
+
+static const struct wl_registry_listener registry_listener = {
+  registry_handle_global
+};
+
+static void
+_connect_listeners (GstVulkanDisplayWayland * display)
+{
+  display->registry = wl_display_get_registry (display->display);
+  wl_registry_add_listener (display->registry, &registry_listener, display);
+
+  wl_display_roundtrip (display->display);
+}
+
+static void
+gst_vulkan_display_wayland_class_init (GstVulkanDisplayWaylandClass * klass)
+{
+  GST_VULKAN_DISPLAY_CLASS (klass)->get_handle =
+      GST_DEBUG_FUNCPTR (gst_vulkan_display_wayland_get_handle);
+
+  G_OBJECT_CLASS (klass)->finalize = gst_vulkan_display_wayland_finalize;
+}
+
+static void
+gst_vulkan_display_wayland_init (GstVulkanDisplayWayland * display_wayland)
+{
+  GstVulkanDisplay *display = (GstVulkanDisplay *) display_wayland;
+
+  display->type = GST_VULKAN_DISPLAY_TYPE_WAYLAND;
+  display_wayland->foreign_display = FALSE;
+}
+
+static void
+gst_vulkan_display_wayland_finalize (GObject * object)
+{
+  GstVulkanDisplayWayland *display_wayland =
+      GST_VULKAN_DISPLAY_WAYLAND (object);
+
+  if (!display_wayland->foreign_display && display_wayland->display) {
+    wl_display_flush (display_wayland->display);
+    wl_display_disconnect (display_wayland->display);
+  }
+
+  G_OBJECT_CLASS (gst_vulkan_display_wayland_parent_class)->finalize (object);
+}
+
+/**
+ * gst_vulkan_display_wayland_new:
+ * @name: (allow-none): a display name
+ *
+ * Create a new #GstVulkanDisplayWayland from the wayland display name.  See wl_display_connect()
+ * for details on what is a valid name.
+ *
+ * Returns: (transfer full): a new #GstVulkanDisplayWayland or %NULL
+ */
+GstVulkanDisplayWayland *
+gst_vulkan_display_wayland_new (const gchar * name)
+{
+  GstVulkanDisplayWayland *ret;
+
+  ret = g_object_new (GST_TYPE_VULKAN_DISPLAY_WAYLAND, NULL);
+  ret->display = wl_display_connect (name);
+
+  if (!ret->display) {
+    GST_ERROR ("Failed to open Wayland display connection with name, \'%s\'",
+        name);
+    return NULL;
+  }
+
+  /* connecting the listeners after attaching the event source will race with
+   * the source and the source may eat an event that we're waiting for and
+   * deadlock */
+  _connect_listeners (ret);
+
+  GST_VULKAN_DISPLAY (ret)->event_source =
+      wayland_event_source_new (ret->display, NULL);
+  g_source_attach (GST_VULKAN_DISPLAY (ret)->event_source,
+      GST_VULKAN_DISPLAY (ret)->main_context);
+
+  return ret;
+}
+
+/**
+ * gst_vulkan_display_wayland_new_with_display:
+ * @display: an existing, wayland display
+ *
+ * Creates a new display connection from a wl_display Display.
+ *
+ * Returns: (transfer full): a new #GstVulkanDisplayWayland
+ */
+GstVulkanDisplayWayland *
+gst_vulkan_display_wayland_new_with_display (struct wl_display * display)
+{
+  GstVulkanDisplayWayland *ret;
+
+  g_return_val_if_fail (display != NULL, NULL);
+
+  ret = g_object_new (GST_TYPE_VULKAN_DISPLAY_WAYLAND, NULL);
+
+  ret->display = display;
+  ret->foreign_display = TRUE;
+
+  _connect_listeners (ret);
+
+  return ret;
+}
+
+static gpointer
+gst_vulkan_display_wayland_get_handle (GstVulkanDisplay * display)
+{
+  return GST_VULKAN_DISPLAY_WAYLAND (display)->display;
+}
+
+static gboolean
+_roundtrip_async (gpointer data)
+{
+  GstVulkanDisplayWayland *display = data;
+
+  wl_display_roundtrip (display->display);
+
+  return G_SOURCE_REMOVE;
+}
+
+void
+gst_vulkan_display_wayland_roundtrip_async (GstVulkanDisplayWayland * display)
+{
+  g_return_if_fail (GST_IS_VULKAN_DISPLAY_WAYLAND (display));
+
+  g_main_context_invoke (GST_VULKAN_DISPLAY (display)->main_context,
+      (GSourceFunc) _roundtrip_async, display);
+}
diff --git a/ext/vulkan/wayland/vkdisplay_wayland.h b/ext/vulkan/wayland/vkdisplay_wayland.h
new file mode 100644
index 0000000..44c1340
--- /dev/null
+++ b/ext/vulkan/wayland/vkdisplay_wayland.h
@@ -0,0 +1,78 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 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_VK_DISPLAY_WAYLAND_H__
+#define __GST_VK_DISPLAY_WAYLAND_H__
+
+#include <gst/gst.h>
+
+#include <wayland-client.h>
+
+#include <vk.h>
+
+G_BEGIN_DECLS
+
+GType gst_vulkan_display_wayland_get_type (void);
+
+#define GST_TYPE_VULKAN_DISPLAY_WAYLAND             (gst_vulkan_display_wayland_get_type())
+#define GST_VULKAN_DISPLAY_WAYLAND(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VULKAN_DISPLAY_WAYLAND,GstVulkanDisplayWayland))
+#define GST_VULKAN_DISPLAY_WAYLAND_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_VULKAN_DISPLAY_WAYLAND,GstVulkanDisplayWaylandClass))
+#define GST_IS_VULKAN_DISPLAY_WAYLAND(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VULKAN_DISPLAY_WAYLAND))
+#define GST_IS_VULKAN_DISPLAY_WAYLAND_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_VULKAN_DISPLAY_WAYLAND))
+#define GST_VULKAN_DISPLAY_WAYLAND_CAST(obj)        ((GstVulkanDisplayWayland*)(obj))
+
+typedef struct _GstVulkanDisplayWayland GstVulkanDisplayWayland;
+typedef struct _GstVulkanDisplayWaylandClass GstVulkanDisplayWaylandClass;
+
+/**
+ * GstVulkanDisplayWayland:
+ *
+ * the contents of a #GstVulkanDisplayWayland are private and should only be accessed
+ * through the provided API
+ */
+struct _GstVulkanDisplayWayland
+{
+  GstVulkanDisplay            parent;
+
+  struct wl_display       *display;
+  struct wl_registry      *registry;
+  struct wl_compositor    *compositor;
+  struct wl_subcompositor *subcompositor;
+  struct wl_shell         *shell;
+
+  /* <private> */
+  gboolean foreign_display;
+};
+
+struct _GstVulkanDisplayWaylandClass
+{
+  GstVulkanDisplayClass object_class;
+};
+
+#define GST_VULKAN_DISPLAY_WAYLAND_DISPLAY(display_) (GST_VULKAN_DISPLAY_WAYLAND (display_)->display)
+
+GstVulkanDisplayWayland *gst_vulkan_display_wayland_new (const gchar * name);
+GstVulkanDisplayWayland *gst_vulkan_display_wayland_new_with_display (struct wl_display *display);
+
+void gst_vulkan_display_wayland_roundtrip_async (GstVulkanDisplayWayland * display);
+
+G_END_DECLS
+
+#endif /* __GST_VULKAN_DISPLAY_WAYLAND_H__ */
diff --git a/ext/vulkan/wayland/vkwindow_wayland.c b/ext/vulkan/wayland/vkwindow_wayland.c
new file mode 100644
index 0000000..dc99027
--- /dev/null
+++ b/ext/vulkan/wayland/vkwindow_wayland.c
@@ -0,0 +1,285 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 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.
+ */
+
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <linux/input.h>
+
+#include "wayland_event_source.h"
+
+#include "vkdisplay_wayland.h"
+#include "vkwindow_wayland.h"
+
+#define GST_CAT_DEFAULT gst_vulkan_window_wayland_debug
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+
+#define gst_vulkan_window_wayland_parent_class parent_class
+G_DEFINE_TYPE (GstVulkanWindowWayland, gst_vulkan_window_wayland,
+    GST_TYPE_VULKAN_WINDOW)
+
+     static void gst_vulkan_window_wayland_close (GstVulkanWindow * window);
+     static gboolean gst_vulkan_window_wayland_open (GstVulkanWindow * window,
+    GError ** error);
+     static VkSurfaceKHR gst_vulkan_window_wayland_get_surface (GstVulkanWindow
+    * window, GError ** error);
+     static gboolean
+         gst_vulkan_window_wayland_get_presentation_support (GstVulkanWindow *
+    window, GstVulkanDevice * device, guint32 queue_family_idx);
+
+     static void
+         handle_ping (void *data, struct wl_shell_surface *shell_surface,
+    uint32_t serial)
+{
+  GstVulkanWindowWayland *window_wl = data;
+
+  GST_TRACE_OBJECT (window_wl, "ping received serial %u", serial);
+
+  wl_shell_surface_pong (shell_surface, serial);
+}
+
+/*
+static void window_resize (GstVulkanWindowWayland * window_wl, guint width,
+    guint height);*/
+
+static void
+handle_configure (void *data, struct wl_shell_surface *shell_surface,
+    uint32_t edges, int32_t width, int32_t height)
+{
+  GstVulkanWindowWayland *window_wl = data;
+
+  GST_DEBUG_OBJECT (window_wl, "configure event on surface %p, %ix%i",
+      shell_surface, width, height);
+
+  /*window_resize (window_wl, width, height); */
+}
+
+static void
+handle_popup_done (void *data, struct wl_shell_surface *shell_surface)
+{
+}
+
+static const struct wl_shell_surface_listener shell_surface_listener = {
+  handle_ping,
+  handle_configure,
+  handle_popup_done
+};
+
+static void
+destroy_surfaces (GstVulkanWindowWayland * window_wl)
+{
+  GST_DEBUG_OBJECT (window_wl, "destroying created surfaces");
+
+  if (window_wl->shell_surface) {
+    wl_shell_surface_destroy (window_wl->shell_surface);
+    window_wl->shell_surface = NULL;
+  }
+  if (window_wl->surface) {
+    wl_surface_destroy (window_wl->surface);
+    window_wl->surface = NULL;
+  }
+}
+
+static void
+create_surfaces (GstVulkanWindowWayland * window_wl)
+{
+  GstVulkanDisplayWayland *display =
+      GST_VULKAN_DISPLAY_WAYLAND (GST_VULKAN_WINDOW (window_wl)->display);
+  gint width, height;
+
+  if (!window_wl->surface) {
+    window_wl->surface = wl_compositor_create_surface (display->compositor);
+    if (window_wl->queue)
+      wl_proxy_set_queue ((struct wl_proxy *) window_wl->surface,
+          window_wl->queue);
+  }
+
+  if (!window_wl->shell_surface) {
+    window_wl->shell_surface =
+        wl_shell_get_shell_surface (display->shell, window_wl->surface);
+    if (window_wl->queue)
+      wl_proxy_set_queue ((struct wl_proxy *) window_wl->shell_surface,
+          window_wl->queue);
+
+    wl_shell_surface_add_listener (window_wl->shell_surface,
+        &shell_surface_listener, window_wl);
+
+    wl_shell_surface_set_title (window_wl->shell_surface, "Vulkan Renderer");
+    wl_shell_surface_set_toplevel (window_wl->shell_surface);
+    GST_DEBUG_OBJECT (window_wl, "Successfully created shell surface %p",
+        window_wl->shell_surface);
+  }
+
+  if (window_wl->window_width > 0)
+    width = window_wl->window_width;
+  else
+    width = 320;
+  window_wl->window_width = width;
+
+  if (window_wl->window_height > 0)
+    height = window_wl->window_height;
+  else
+    height = 240;
+  window_wl->window_height = height;
+}
+
+static void
+gst_vulkan_window_wayland_class_init (GstVulkanWindowWaylandClass * klass)
+{
+  GstVulkanWindowClass *window_class = (GstVulkanWindowClass *) klass;
+
+  window_class->close = GST_DEBUG_FUNCPTR (gst_vulkan_window_wayland_close);
+  window_class->open = GST_DEBUG_FUNCPTR (gst_vulkan_window_wayland_open);
+  window_class->get_surface =
+      GST_DEBUG_FUNCPTR (gst_vulkan_window_wayland_get_surface);
+  window_class->get_presentation_support =
+      GST_DEBUG_FUNCPTR (gst_vulkan_window_wayland_get_presentation_support);
+}
+
+static void
+gst_vulkan_window_wayland_init (GstVulkanWindowWayland * window)
+{
+}
+
+GstVulkanWindowWayland *
+gst_vulkan_window_wayland_new (GstVulkanDisplay * display)
+{
+  if ((gst_vulkan_display_get_handle_type (display) &
+          GST_VULKAN_DISPLAY_TYPE_WAYLAND)
+      == 0)
+    /* we require a wayland display to create wayland surfaces */
+    return NULL;
+
+  GST_DEBUG ("creating Wayland window");
+
+  return g_object_new (GST_TYPE_VULKAN_WINDOW_WAYLAND, NULL);
+}
+
+static void
+gst_vulkan_window_wayland_close (GstVulkanWindow * window)
+{
+  GstVulkanWindowWayland *window_wl;
+
+  window_wl = GST_VULKAN_WINDOW_WAYLAND (window);
+
+  destroy_surfaces (window_wl);
+
+  g_source_destroy (window_wl->wl_source);
+  g_source_unref (window_wl->wl_source);
+  window_wl->wl_source = NULL;
+
+  GST_VULKAN_WINDOW_CLASS (parent_class)->close (window);
+}
+
+static gboolean
+gst_vulkan_window_wayland_open (GstVulkanWindow * window, GError ** error)
+{
+  GstVulkanDisplayWayland *display;
+  GstVulkanWindowWayland *window_wl = GST_VULKAN_WINDOW_WAYLAND (window);
+
+  if (!GST_IS_VULKAN_DISPLAY_WAYLAND (window->display)) {
+    g_set_error (error, GST_VULKAN_WINDOW_ERROR,
+        GST_VULKAN_WINDOW_ERROR_RESOURCE_UNAVAILABLE,
+        "Failed to retrieve Wayland display (wrong type?)");
+    return FALSE;
+  }
+  display = GST_VULKAN_DISPLAY_WAYLAND (window->display);
+
+  if (!display->display) {
+    g_set_error (error, GST_VULKAN_WINDOW_ERROR,
+        GST_VULKAN_WINDOW_ERROR_RESOURCE_UNAVAILABLE,
+        "Failed to retrieve Wayland display");
+    return FALSE;
+  }
+
+  window_wl->queue = NULL;
+
+  if (!GST_VULKAN_WINDOW_CLASS (parent_class)->open (window, error))
+    return FALSE;
+
+  create_surfaces (window_wl);
+
+  gst_vulkan_display_wayland_roundtrip_async (display);
+
+  return TRUE;
+}
+
+static VkSurfaceKHR
+gst_vulkan_window_wayland_get_surface (GstVulkanWindow * window,
+    GError ** error)
+{
+  GstVulkanWindowWayland *window_wl = GST_VULKAN_WINDOW_WAYLAND (window);
+  VkWaylandSurfaceCreateInfoKHR info = { 0, };
+  VkSurfaceKHR ret;
+  VkResult err;
+
+  info.sType = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
+  info.pNext = NULL;
+  info.flags = 0;
+  info.display = GST_VULKAN_DISPLAY_WAYLAND_DISPLAY (window->display);
+  info.surface = window_wl->surface;
+
+  if (!window_wl->CreateWaylandSurface)
+    window_wl->CreateWaylandSurface =
+        gst_vulkan_instance_get_proc_address (window->display->instance,
+        "vkCreateWaylandSurfaceKHR");
+  if (!window_wl->CreateWaylandSurface) {
+    g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FEATURE_NOT_PRESENT,
+        "Could not retrieve \"vkCreateWaylandSurfaceKHR\" function pointer");
+    return NULL;
+  }
+
+  err =
+      window_wl->CreateWaylandSurface (window->display->instance->instance,
+      &info, NULL, &ret);
+  if (gst_vulkan_error_to_g_error (err, error, "vkCreateWaylandSurfaceKHR") < 0)
+    return NULL;
+
+  return ret;
+}
+
+static gboolean
+gst_vulkan_window_wayland_get_presentation_support (GstVulkanWindow * window,
+    GstVulkanDevice * device, guint32 queue_family_idx)
+{
+  GstVulkanWindowWayland *window_wl = GST_VULKAN_WINDOW_WAYLAND (window);
+  VkPhysicalDevice gpu;
+
+  if (!window_wl->GetPhysicalDeviceWaylandPresentationSupport)
+    window_wl->GetPhysicalDeviceWaylandPresentationSupport =
+        gst_vulkan_instance_get_proc_address (window->display->instance,
+        "vkGetPhysicalDeviceWaylandPresentationSupportKHR");
+  if (!window_wl->GetPhysicalDeviceWaylandPresentationSupport) {
+    GST_WARNING_OBJECT (window, "Could not retrieve "
+        "\"vkGetPhysicalDeviceWaylandPresentationSupportKHR\" "
+        "function pointer");
+    return FALSE;
+  }
+
+  gpu = gst_vulkan_device_get_physical_device (device);
+  if (window_wl->GetPhysicalDeviceWaylandPresentationSupport (gpu,
+          queue_family_idx,
+          GST_VULKAN_DISPLAY_WAYLAND_DISPLAY (window->display)))
+    return TRUE;
+  return FALSE;
+}
diff --git a/ext/vulkan/wayland/vkwindow_wayland.h b/ext/vulkan/wayland/vkwindow_wayland.h
new file mode 100644
index 0000000..3d181f8
--- /dev/null
+++ b/ext/vulkan/wayland/vkwindow_wayland.h
@@ -0,0 +1,74 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 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_VK_WINDOW_WAYLAND_H__
+#define __GST_VK_WINDOW_WAYLAND_H__
+
+#include <wayland-client.h>
+#include <wayland-cursor.h>
+
+#include <vk.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_VULKAN_WINDOW_WAYLAND         (gst_vulkan_window_wayland_get_type())
+#define GST_VULKAN_WINDOW_WAYLAND(o)           (G_TYPE_CHECK_INSTANCE_CAST((o), GST_TYPE_VULKAN_WINDOW_WAYLAND, GstVulkanWindowWayland))
+#define GST_VULKAN_WINDOW_WAYLAND_CLASS(k)     (G_TYPE_CHECK_CLASS((k), GST_TYPE_VULKAN_WINDOW_WAYLAND, GstVulkanWindowWaylandClass))
+#define GST_IS_VULKAN_WINDOW_WAYLAND(o)        (G_TYPE_CHECK_INSTANCE_TYPE((o), GST_TYPE_VULKAN_WINDOW_WAYLAND))
+#define GST_IS_VULKAN_WINDOW_WAYLAND_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE((k), GST_TYPE_VULKAN_WINDOW_WAYLAND))
+#define GST_VULKAN_WINDOW_WAYLAND_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_TYPE_VULKAN_WINDOW_WAYLAND, GstVulkanWindowWaylandClass))
+
+typedef struct _GstVulkanWindowWayland        GstVulkanWindowWayland;
+typedef struct _GstVulkanWindowWaylandClass   GstVulkanWindowWaylandClass;
+
+struct _GstVulkanWindowWayland {
+  /*< private >*/
+  GstVulkanWindow parent;
+
+  PFN_vkCreateWaylandSurfaceKHR CreateWaylandSurface;
+  PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR GetPhysicalDeviceWaylandPresentationSupport;
+
+  struct wl_event_queue     *queue;
+  struct wl_surface         *surface;
+  struct wl_shell_surface   *shell_surface;
+  struct wl_callback        *callback;
+
+  int window_width, window_height;
+
+  GSource *wl_source;
+
+  gpointer _reserved[GST_PADDING];
+};
+
+struct _GstVulkanWindowWaylandClass {
+  /*< private >*/
+  GstVulkanWindowClass parent_class;
+
+  /*< private >*/
+  gpointer _reserved[GST_PADDING];
+};
+
+GType gst_vulkan_window_wayland_get_type     (void);
+
+GstVulkanWindowWayland * gst_vulkan_window_wayland_new  (GstVulkanDisplay * display);
+
+G_END_DECLS
+
+#endif /* __GST_GL_WINDOW_X11_H__ */
diff --git a/ext/vulkan/wayland/wayland_event_source.c b/ext/vulkan/wayland/wayland_event_source.c
new file mode 100644
index 0000000..e1ae1ef
--- /dev/null
+++ b/ext/vulkan/wayland/wayland_event_source.c
@@ -0,0 +1,205 @@
+/*
+ * GStreamer
+ * Copyright (C) 2010  Intel Corporation.
+ * Copyright (C) 2012 Matthew Waters <ystreet00@gmail.com>
+ * Copyright (C) 2016 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.
+ *
+ * Authors:
+ *  Matthew Allum
+ *  Robert Bragg
+ *  Kristian Høgsberg
+ */
+
+/* code originally from clutter's wayland backend found here
+ * http://git.gnome.org/browse/clutter/tree/clutter/wayland/clutter-event-wayland.c
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdint.h>
+#include <stdlib.h>
+#include <wayland-client.h>
+
+#include "wayland_event_source.h"
+
+static void
+sync_callback (void *data, struct wl_callback *callback, uint32_t serial)
+{
+  gboolean *done = data;
+
+  *done = TRUE;
+  wl_callback_destroy (callback);
+}
+
+static const struct wl_callback_listener sync_listener = {
+  sync_callback
+};
+
+/* only thread safe iff called on the same thread @queue is being dispatched on */
+gint
+gst_vulkan_wl_display_roundtrip_queue (struct wl_display *display,
+    struct wl_event_queue *queue)
+{
+  struct wl_callback *callback;
+  gboolean done = FALSE;
+  gint ret = 0;
+
+  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 {
+    while (!done && ret >= 0)
+      ret = wl_display_dispatch (display);
+  }
+
+  if (ret == -1 && !done)
+    wl_callback_destroy (callback);
+
+  return ret;
+}
+
+typedef struct _WaylandEventSource
+{
+  GSource source;
+  GPollFD pfd;
+  uint32_t mask;
+  struct wl_display *display;
+  struct wl_event_queue *queue;
+  gboolean reading;
+} WaylandEventSource;
+
+static gboolean
+wayland_event_source_prepare (GSource * base, gint * timeout)
+{
+  WaylandEventSource *source = (WaylandEventSource *) base;
+
+  *timeout = -1;
+
+  /* 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;
+}
+
+static gboolean
+wayland_event_source_check (GSource * base)
+{
+  WaylandEventSource *source = (WaylandEventSource *) base;
+  gboolean retval;
+
+  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;
+}
+
+static gboolean
+wayland_event_source_dispatch (GSource * base,
+    GSourceFunc callback, gpointer data)
+{
+  WaylandEventSource *source = (WaylandEventSource *) base;
+
+  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);
+
+  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,
+  wayland_event_source_finalize
+};
+
+GSource *
+wayland_event_source_new (struct wl_display *display,
+    struct wl_event_queue *queue)
+{
+  WaylandEventSource *source;
+
+  source = (WaylandEventSource *)
+      g_source_new (&wayland_event_source_funcs, sizeof (WaylandEventSource));
+  source->display = display;
+  source->queue = queue;
+  source->pfd.fd = wl_display_get_fd (display);
+  source->pfd.events = G_IO_IN | G_IO_ERR;
+  g_source_add_poll (&source->source, &source->pfd);
+
+  return &source->source;
+}
diff --git a/ext/vulkan/wayland/wayland_event_source.h b/ext/vulkan/wayland/wayland_event_source.h
new file mode 100644
index 0000000..25ffe7b
--- /dev/null
+++ b/ext/vulkan/wayland/wayland_event_source.h
@@ -0,0 +1,34 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 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 __WAYLAND_EVENT_SOURCE_H__
+#define __WAYLAND_EVENT_SOURCE_H__
+
+#include <glib-object.h>
+
+#include <wayland-client.h>
+
+GSource * wayland_event_source_new (struct wl_display *display,
+                                    struct wl_event_queue *queue);
+
+G_GNUC_INTERNAL gint      gst_vulkan_wl_display_roundtrip_queue (struct wl_display *display,
+                                             struct wl_event_queue *queue);
+
+#endif /* __WAYLAND_EVENT_SOURCE_H__ */
diff --git a/ext/vulkan/xcb/Makefile.in b/ext/vulkan/xcb/Makefile.in
index 672fed9..0d12c0e 100644
--- a/ext/vulkan/xcb/Makefile.in
+++ b/ext/vulkan/xcb/Makefile.in
@@ -275,6 +275,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -490,6 +492,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -616,8 +620,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -662,6 +664,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/vulkan/xcb/vkwindow_xcb.c b/ext/vulkan/xcb/vkwindow_xcb.c
index 6369a1d..d08c0bf 100644
--- a/ext/vulkan/xcb/vkwindow_xcb.c
+++ b/ext/vulkan/xcb/vkwindow_xcb.c
@@ -206,6 +206,7 @@
 static VkSurfaceKHR
 gst_vulkan_window_xcb_get_surface (GstVulkanWindow * window, GError ** error)
 {
+  GstVulkanWindowXCB *window_xcb = GST_VULKAN_WINDOW_XCB (window);
   VkXcbSurfaceCreateInfoKHR info = { 0, };
   VkSurfaceKHR ret;
   VkResult err;
@@ -216,9 +217,19 @@
   info.connection = GST_VULKAN_DISPLAY_XCB_CONNECTION (window->display);
   info.window = GST_VULKAN_WINDOW_XCB (window)->win_id;
 
+  if (!window_xcb->CreateXcbSurface)
+    window_xcb->CreateXcbSurface =
+        gst_vulkan_instance_get_proc_address (window->display->instance,
+        "vkCreateXcbSurfaceKHR");
+  if (!window_xcb->CreateXcbSurface) {
+    g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FEATURE_NOT_PRESENT,
+        "Could not retrieve \"vkCreateXcbSurfaceKHR\" function pointer");
+    return NULL;
+  }
+
   err =
-      vkCreateXcbSurfaceKHR (window->display->instance->instance, &info, NULL,
-      &ret);
+      window_xcb->CreateXcbSurface (window->display->instance->instance, &info,
+      NULL, &ret);
   if (gst_vulkan_error_to_g_error (err, error, "vkCreateXcbSurfaceKHR") < 0)
     return NULL;
 
@@ -229,14 +240,25 @@
 gst_vulkan_window_xcb_get_presentation_support (GstVulkanWindow * window,
     GstVulkanDevice * device, guint32 queue_family_idx)
 {
+  GstVulkanWindowXCB *window_xcb = GST_VULKAN_WINDOW_XCB (window);
   VkPhysicalDevice gpu;
   xcb_screen_t *screen;
 
   screen = GST_VULKAN_DISPLAY_XCB_SCREEN (window->display);
 
+  if (!window_xcb->GetPhysicalDeviceXcbPresentationSupport)
+    window_xcb->GetPhysicalDeviceXcbPresentationSupport =
+        gst_vulkan_instance_get_proc_address (window->display->instance,
+        "vkGetPhysicalDeviceXcbPresentationSupportKHR");
+  if (!window_xcb->GetPhysicalDeviceXcbPresentationSupport) {
+    GST_WARNING_OBJECT (window, "Could not retrieve "
+        "\"vkGetPhysicalDeviceXcbPresentationSupportKHR\" " "function pointer");
+    return FALSE;
+  }
+
   gpu = gst_vulkan_device_get_physical_device (device);
-  if (vkGetPhysicalDeviceXcbPresentationSupportKHR (gpu, queue_family_idx,
-          GST_VULKAN_DISPLAY_XCB_CONNECTION (window->display),
+  if (window_xcb->GetPhysicalDeviceXcbPresentationSupport (gpu,
+          queue_family_idx, GST_VULKAN_DISPLAY_XCB_CONNECTION (window->display),
           screen->root_visual))
     return TRUE;
   return FALSE;
diff --git a/ext/vulkan/xcb/vkwindow_xcb.h b/ext/vulkan/xcb/vkwindow_xcb.h
index 517a488..db012bb 100644
--- a/ext/vulkan/xcb/vkwindow_xcb.h
+++ b/ext/vulkan/xcb/vkwindow_xcb.h
@@ -53,6 +53,9 @@
 
   gint          visible :1;
 
+  PFN_vkCreateXcbSurfaceKHR CreateXcbSurface;
+  PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR GetPhysicalDeviceXcbPresentationSupport;
+
   /*< private >*/
   GstVulkanWindowXCBPrivate *priv;
   
diff --git a/ext/wayland/Makefile.in b/ext/wayland/Makefile.in
index d5b31b9..1b2f9ab 100644
--- a/ext/wayland/Makefile.in
+++ b/ext/wayland/Makefile.in
@@ -310,6 +310,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -525,6 +527,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -651,8 +655,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -697,6 +699,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c
index f4f34a8..5d59525 100644
--- a/ext/wayland/gstwaylandsink.c
+++ b/ext/wayland/gstwaylandsink.c
@@ -133,8 +133,7 @@
   gobject_class->get_property = gst_wayland_sink_get_property;
   gobject_class->finalize = GST_DEBUG_FUNCPTR (gst_wayland_sink_finalize);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_template);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "wayland video sink", "Sink/Video",
diff --git a/ext/webp/Makefile.in b/ext/webp/Makefile.in
index 9f1343b..9e6bf0c 100644
--- a/ext/webp/Makefile.in
+++ b/ext/webp/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/webp/gstwebpdec.c b/ext/webp/gstwebpdec.c
index f582cc8..85bb5bf 100644
--- a/ext/webp/gstwebpdec.c
+++ b/ext/webp/gstwebpdec.c
@@ -96,13 +96,12 @@
   gobject_class->set_property = gst_webp_dec_set_property;
   gobject_class->get_property = gst_webp_dec_get_property;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_webp_dec_src_pad_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_webp_dec_sink_pad_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_webp_dec_src_pad_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_webp_dec_sink_pad_template);
   gst_element_class_set_static_metadata (element_class, "WebP image decoder",
-      "Codec/Decoder/Image",
-      "Decode images from WebP format",
+      "Codec/Decoder/Image", "Decode images from WebP format",
       "Sreerenj Balachandran <sreerenj.balachandrn@intel.com>");
 
   g_object_class_install_property (gobject_class, PROP_BYPASS_FILTERING,
diff --git a/ext/webp/gstwebpenc.c b/ext/webp/gstwebpenc.c
index 75891ea..4d912a8 100644
--- a/ext/webp/gstwebpenc.c
+++ b/ext/webp/gstwebpenc.c
@@ -123,13 +123,12 @@
 
   gobject_class->set_property = gst_webp_enc_set_property;
   gobject_class->get_property = gst_webp_enc_get_property;
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&webp_enc_sink_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&webp_enc_src_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &webp_enc_sink_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &webp_enc_src_factory);
   gst_element_class_set_static_metadata (element_class, "WEBP image encoder",
-      "Codec/Encoder/Image",
-      "Encode images in WEBP format",
+      "Codec/Encoder/Image", "Encode images in WEBP format",
       "Sreerenj Balachandran <sreerenjb@gnome.org>");
 
   venc_class->start = gst_webp_enc_start;
diff --git a/ext/webrtcdsp/Makefile.am b/ext/webrtcdsp/Makefile.am
new file mode 100644
index 0000000..63ebb45
--- /dev/null
+++ b/ext/webrtcdsp/Makefile.am
@@ -0,0 +1,17 @@
+plugin_LTLIBRARIES = libgstwebrtcdsp.la
+
+libgstwebrtcdsp_la_SOURCES = gstwebrtcdsp.cpp gstwebrtcechoprobe.cpp
+libgstwebrtcdsp_la_CXXFLAGS = \
+	-std=c++11 \
+	$(GST_CXXFLAGS) \
+	$(GST_BASE_CFLAGS) \
+	$(GST_PLUGINS_BASE_CFLAGS) \
+	$(WEBRTCDSP_CFLAGS)
+libgstwebrtcdsp_la_LIBADD = \
+	-lgstaudio-$(GST_API_VERSION) \
+	$(GST_LIBS) $(GST_BASE_LIBS) \
+	$(GST_PLUGINS_BASE_LIBS) \
+	$(WEBRTCDSP_LIBS)
+libgstwebrtcdsp_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+
+noinst_HEADERS = gstwebrtcdsp.h gstwebrtcechoprobe.h
diff --git a/tests/examples/gl/gtk/gtkvideooverlay/Makefile.in b/ext/webrtcdsp/Makefile.in
similarity index 80%
rename from tests/examples/gl/gtk/gtkvideooverlay/Makefile.in
rename to ext/webrtcdsp/Makefile.in
index aef9ed4..d027023 100644
--- a/tests/examples/gl/gtk/gtkvideooverlay/Makefile.in
+++ b/ext/webrtcdsp/Makefile.in
@@ -14,6 +14,7 @@
 
 @SET_MAKE@
 
+
 VPATH = @srcdir@
 am__is_gnu_make = { \
   if test -z '$(MAKELEVEL)'; then \
@@ -89,8 +90,7 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-noinst_PROGRAMS = gtkvideooverlay$(EXEEXT)
-subdir = tests/examples/gl/gtk/gtkvideooverlay
+subdir = ext/webrtcdsp
 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 \
@@ -127,27 +127,56 @@
 	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_gtkvideooverlay_OBJECTS = gtkvideooverlay-main.$(OBJEXT)
-gtkvideooverlay_OBJECTS = $(am_gtkvideooverlay_OBJECTS)
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(plugindir)"
+LTLIBRARIES = $(plugin_LTLIBRARIES)
 am__DEPENDENCIES_1 =
-gtkvideooverlay_DEPENDENCIES = ../libgstgtkhelper.la \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+libgstwebrtcdsp_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1)
+am_libgstwebrtcdsp_la_OBJECTS = libgstwebrtcdsp_la-gstwebrtcdsp.lo \
+	libgstwebrtcdsp_la-gstwebrtcechoprobe.lo
+libgstwebrtcdsp_la_OBJECTS = $(am_libgstwebrtcdsp_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 = 
-gtkvideooverlay_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+libgstwebrtcdsp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+	$(libgstwebrtcdsp_la_CXXFLAGS) $(CXXFLAGS) \
+	$(libgstwebrtcdsp_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
@@ -182,13 +211,14 @@
 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD   " $@;
 am__v_CXXLD_1 = 
-SOURCES = $(gtkvideooverlay_SOURCES)
-DIST_SOURCES = $(gtkvideooverlay_SOURCES)
+SOURCES = $(libgstwebrtcdsp_la_SOURCES)
+DIST_SOURCES = $(libgstwebrtcdsp_la_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
+HEADERS = $(noinst_HEADERS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 # Read a list of newline-separated strings from the standard input,
 # and print each of them once, without duplicates.  Input order is
@@ -274,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -489,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -615,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -661,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -749,15 +783,23 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 wayland_scanner = @wayland_scanner@
-gtkvideooverlay_SOURCES = main.cpp
-gtkvideooverlay_CXXFLAGS = -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
-	$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) \
-	$(GL_CFLAGS) $(GTK3_CFLAGS)  $(X11_CFLAGS)
+plugin_LTLIBRARIES = libgstwebrtcdsp.la
+libgstwebrtcdsp_la_SOURCES = gstwebrtcdsp.cpp gstwebrtcechoprobe.cpp
+libgstwebrtcdsp_la_CXXFLAGS = \
+	-std=c++11 \
+	$(GST_CXXFLAGS) \
+	$(GST_BASE_CFLAGS) \
+	$(GST_PLUGINS_BASE_CFLAGS) \
+	$(WEBRTCDSP_CFLAGS)
 
-gtkvideooverlay_LDADD = ../libgstgtkhelper.la \
-	$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
-	$(GL_LIBS) -lgstvideo-$(GST_API_VERSION) $(X11_LIBS)
+libgstwebrtcdsp_la_LIBADD = \
+	-lgstaudio-$(GST_API_VERSION) \
+	$(GST_LIBS) $(GST_BASE_LIBS) \
+	$(GST_PLUGINS_BASE_LIBS) \
+	$(WEBRTCDSP_LIBS)
 
+libgstwebrtcdsp_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+noinst_HEADERS = gstwebrtcdsp.h gstwebrtcechoprobe.h
 all: all-am
 
 .SUFFIXES:
@@ -771,9 +813,9 @@
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/gl/gtk/gtkvideooverlay/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/webrtcdsp/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu tests/examples/gl/gtk/gtkvideooverlay/Makefile
+	  $(AUTOMAKE) --gnu ext/webrtcdsp/Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -792,18 +834,43 @@
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 
-clean-noinstPROGRAMS:
-	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
-	echo " rm -f" $$list; \
-	rm -f $$list || exit $$?; \
-	test -n "$(EXEEXT)" || exit 0; \
-	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-	echo " rm -f" $$list; \
-	rm -f $$list
+install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
+	@$(NORMAL_INSTALL)
+	@list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
+	list2=; for p in $$list; do \
+	  if test -f $$p; then \
+	    list2="$$list2 $$p"; \
+	  else :; fi; \
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
+	}
 
-gtkvideooverlay$(EXEEXT): $(gtkvideooverlay_OBJECTS) $(gtkvideooverlay_DEPENDENCIES) $(EXTRA_gtkvideooverlay_DEPENDENCIES) 
-	@rm -f gtkvideooverlay$(EXEEXT)
-	$(AM_V_CXXLD)$(gtkvideooverlay_LINK) $(gtkvideooverlay_OBJECTS) $(gtkvideooverlay_LDADD) $(LIBS)
+uninstall-pluginLTLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
+	done
+
+clean-pluginLTLIBRARIES:
+	-test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
+	@list='$(plugin_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
+
+libgstwebrtcdsp.la: $(libgstwebrtcdsp_la_OBJECTS) $(libgstwebrtcdsp_la_DEPENDENCIES) $(EXTRA_libgstwebrtcdsp_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(libgstwebrtcdsp_la_LINK) -rpath $(plugindir) $(libgstwebrtcdsp_la_OBJECTS) $(libgstwebrtcdsp_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -811,7 +878,8 @@
 distclean-compile:
 	-rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtkvideooverlay-main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstwebrtcdsp_la-gstwebrtcdsp.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstwebrtcdsp_la-gstwebrtcechoprobe.Plo@am__quote@
 
 .cpp.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -837,19 +905,19 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
-gtkvideooverlay-main.o: main.cpp
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) -MT gtkvideooverlay-main.o -MD -MP -MF $(DEPDIR)/gtkvideooverlay-main.Tpo -c -o gtkvideooverlay-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
-@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gtkvideooverlay-main.Tpo $(DEPDIR)/gtkvideooverlay-main.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='main.cpp' object='gtkvideooverlay-main.o' libtool=no @AMDEPBACKSLASH@
+libgstwebrtcdsp_la-gstwebrtcdsp.lo: gstwebrtcdsp.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstwebrtcdsp_la_CXXFLAGS) $(CXXFLAGS) -MT libgstwebrtcdsp_la-gstwebrtcdsp.lo -MD -MP -MF $(DEPDIR)/libgstwebrtcdsp_la-gstwebrtcdsp.Tpo -c -o libgstwebrtcdsp_la-gstwebrtcdsp.lo `test -f 'gstwebrtcdsp.cpp' || echo '$(srcdir)/'`gstwebrtcdsp.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstwebrtcdsp_la-gstwebrtcdsp.Tpo $(DEPDIR)/libgstwebrtcdsp_la-gstwebrtcdsp.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='gstwebrtcdsp.cpp' object='libgstwebrtcdsp_la-gstwebrtcdsp.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) -c -o gtkvideooverlay-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstwebrtcdsp_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstwebrtcdsp_la-gstwebrtcdsp.lo `test -f 'gstwebrtcdsp.cpp' || echo '$(srcdir)/'`gstwebrtcdsp.cpp
 
-gtkvideooverlay-main.obj: main.cpp
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) -MT gtkvideooverlay-main.obj -MD -MP -MF $(DEPDIR)/gtkvideooverlay-main.Tpo -c -o gtkvideooverlay-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
-@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gtkvideooverlay-main.Tpo $(DEPDIR)/gtkvideooverlay-main.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='main.cpp' object='gtkvideooverlay-main.obj' libtool=no @AMDEPBACKSLASH@
+libgstwebrtcdsp_la-gstwebrtcechoprobe.lo: gstwebrtcechoprobe.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstwebrtcdsp_la_CXXFLAGS) $(CXXFLAGS) -MT libgstwebrtcdsp_la-gstwebrtcechoprobe.lo -MD -MP -MF $(DEPDIR)/libgstwebrtcdsp_la-gstwebrtcechoprobe.Tpo -c -o libgstwebrtcdsp_la-gstwebrtcechoprobe.lo `test -f 'gstwebrtcechoprobe.cpp' || echo '$(srcdir)/'`gstwebrtcechoprobe.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstwebrtcdsp_la-gstwebrtcechoprobe.Tpo $(DEPDIR)/libgstwebrtcdsp_la-gstwebrtcechoprobe.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='gstwebrtcechoprobe.cpp' object='libgstwebrtcdsp_la-gstwebrtcechoprobe.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) -c -o gtkvideooverlay-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstwebrtcdsp_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstwebrtcdsp_la-gstwebrtcechoprobe.lo `test -f 'gstwebrtcechoprobe.cpp' || echo '$(srcdir)/'`gstwebrtcechoprobe.cpp
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -941,8 +1009,11 @@
 	done
 check-am: all-am
 check: check-am
-all-am: Makefile $(PROGRAMS)
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
 installdirs:
+	for dir in "$(DESTDIR)$(plugindir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
 install: install-am
 install-exec: install-exec-am
 install-data: install-data-am
@@ -975,7 +1046,7 @@
 	@echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
 	mostlyclean-am
 
 distclean: distclean-am
@@ -996,7 +1067,7 @@
 
 info-am:
 
-install-data-am:
+install-data-am: install-pluginLTLIBRARIES
 
 install-dvi: install-dvi-am
 
@@ -1042,23 +1113,24 @@
 
 ps-am:
 
-uninstall-am:
+uninstall-am: uninstall-pluginLTLIBRARIES
 
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+	clean-libtool clean-pluginLTLIBRARIES cscopelist-am ctags \
 	ctags-am distclean distclean-compile distclean-generic \
 	distclean-libtool distclean-tags distdir dvi dvi-am html \
 	html-am info info-am install install-am install-data \
 	install-data-am install-dvi install-dvi-am install-exec \
 	install-exec-am install-html install-html-am install-info \
 	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags tags-am uninstall uninstall-am
+	install-pluginLTLIBRARIES install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+	uninstall-pluginLTLIBRARIES
 
 .PRECIOUS: Makefile
 
diff --git a/ext/webrtcdsp/gstwebrtcdsp.cpp b/ext/webrtcdsp/gstwebrtcdsp.cpp
new file mode 100644
index 0000000..f64b623
--- /dev/null
+++ b/ext/webrtcdsp/gstwebrtcdsp.cpp
@@ -0,0 +1,788 @@
+/*
+ * WebRTC Audio Processing Elements
+ *
+ *  Copyright 2016 Collabora Ltd
+ *    @author: Nicolas Dufresne <nicolas.dufresne@collabora.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 Street, Fifth Floor, Boston, MA  02110-1301 USA
+ *
+ */
+
+/**
+ * SECTION:element-webrtcdsp
+ * @short_description: Audio Filter using WebRTC Audio Processing library
+ *
+ * A voice enhancement filter based on WebRTC Audio Processing library. This
+ * library provides a whide variety of enhancement algorithms. This element
+ * tries to enable as much as possible. The currently enabled enhancements are
+ * High Pass Filter, Echo Canceller, Noise Suppression, Automatic Gain Control,
+ * and some extended filters.
+ *
+ * While webrtcdsp element can be used alone, there is an exception for the
+ * echo canceller. The audio canceller need to be aware of the far end streams
+ * that are played to loud speakers. For this, you must place a webrtcechoprobe
+ * element at that far end. Note that the sample rate must match between
+ * webrtcdsp and the webrtechoprobe. Though, the number of channels can differ.
+ * The probe is found by the DSP element using it's object name. By default,
+ * webrtcdsp looks for webrtcechoprobe0, which means it just work if you have
+ * a single probe and DSP.
+ *
+ * The probe can only be used within the same top level GstPipeline.
+ * Additonally, to simplify the code, the probe element must be created
+ * 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.
+ *
+ * # Example launch line
+ *
+ * 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.
+ *
+ * |[
+ * gst-launch-1.0 pulsesrc ! webrtcdsp ! webrtcechoprobe ! pulsesink
+ * ]|
+ *
+ * In real environment, you'll place the probe before the playback, but only
+ * process the far end streams. The DSP should be placed as close as possible
+ * to the audio capture. The following pipeline is astracted and does not
+ * represent a real pipeline.
+ *
+ * |[
+ * gst-launch-1.0 far-end-src ! audio/x-raw,rate=48000 ! webrtcechoprobe ! pulsesink \
+ *                pulsesrc ! audio/x-raw,rate=48000 ! webrtcdsp ! far-end-sink
+ * ]|
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gstwebrtcdsp.h"
+#include "gstwebrtcechoprobe.h"
+
+#include <webrtc/modules/audio_processing/include/audio_processing.h>
+#include <webrtc/modules/interface/module_common_types.h>
+#include <webrtc/system_wrappers/include/trace.h>
+
+GST_DEBUG_CATEGORY (webrtc_dsp_debug);
+#define GST_CAT_DEFAULT (webrtc_dsp_debug)
+
+static GstStaticPadTemplate gst_webrtc_dsp_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) { 48000, 32000, 16000, 8000 }, "
+        "channels = (int) [1, MAX]")
+    );
+
+static GstStaticPadTemplate gst_webrtc_dsp_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) { 48000, 32000, 16000, 8000 }, "
+        "channels = (int) [1, MAX]")
+    );
+
+typedef webrtc::EchoCancellation::SuppressionLevel GstWebrtcEchoSuppressionLevel;
+#define GST_TYPE_WEBRTC_ECHO_SUPPRESSION_LEVEL \
+    (gst_webrtc_echo_suppression_level_get_type ())
+static GType
+gst_webrtc_echo_suppression_level_get_type (void)
+{
+  static GType suppression_level_type = 0;
+  static const GEnumValue level_types[] = {
+    {webrtc::EchoCancellation::kLowSuppression, "Low Suppression", "low"},
+    {webrtc::EchoCancellation::kModerateSuppression,
+      "Moderate Suppression", "moderate"},
+    {webrtc::EchoCancellation::kHighSuppression, "high Suppression", "high"},
+    {0, NULL, NULL}
+  };
+
+  if (!suppression_level_type) {
+    suppression_level_type =
+        g_enum_register_static ("GstWebrtcEchoSuppressionLevel", level_types);
+  }
+  return suppression_level_type;
+}
+
+typedef webrtc::NoiseSuppression::Level GstWebrtcNoiseSuppressionLevel;
+#define GST_TYPE_WEBRTC_NOISE_SUPPRESSION_LEVEL \
+    (gst_webrtc_noise_suppression_level_get_type ())
+static GType
+gst_webrtc_noise_suppression_level_get_type (void)
+{
+  static GType suppression_level_type = 0;
+  static const GEnumValue level_types[] = {
+    {webrtc::NoiseSuppression::kLow, "Low Suppression", "low"},
+    {webrtc::NoiseSuppression::kModerate, "Moderate Suppression", "moderate"},
+    {webrtc::NoiseSuppression::kHigh, "High Suppression", "high"},
+    {webrtc::NoiseSuppression::kVeryHigh, "Very High Suppression",
+      "very-high"},
+    {0, NULL, NULL}
+  };
+
+  if (!suppression_level_type) {
+    suppression_level_type =
+        g_enum_register_static ("GstWebrtcNoiseSuppressionLevel", level_types);
+  }
+  return suppression_level_type;
+}
+
+enum
+{
+  PROP_0,
+  PROP_PROBE,
+  PROP_HIGH_PASS_FILTER,
+  PROP_ECHO_CANCEL,
+  PROP_ECHO_SUPPRESSION_LEVEL,
+  PROP_NOISE_SUPPRESSION,
+  PROP_NOISE_SUPPRESSION_LEVEL,
+  PROP_GAIN_CONTROL,
+  PROP_EXPERIMENTAL_AGC,
+  PROP_EXTENDED_FILTER
+};
+
+/**
+ * GstWebrtcDSP:
+ *
+ * The adder object structure.
+ */
+struct _GstWebrtcDsp
+{
+  GstAudioFilter element;
+
+  /* Protected by the object lock */
+  GstAudioInfo info;
+  guint period_size;
+
+  /* Protected by the stream lock */
+  GstAdapter *adapter;
+  webrtc::AudioProcessing * apm;
+
+  /* Protected by the object lock */
+  gchar *probe_name;
+  GstWebrtcEchoProbe *probe;
+
+  /* Properties */
+  gboolean high_pass_filter;
+  gboolean echo_cancel;
+  webrtc::EchoCancellation::SuppressionLevel echo_suppression_level;
+  gboolean noise_suppression;
+  webrtc::NoiseSuppression::Level noise_suppression_level;
+  gboolean gain_control;
+  gboolean experimental_agc;
+  gboolean extended_filter;
+};
+
+G_DEFINE_TYPE (GstWebrtcDsp, gst_webrtc_dsp, GST_TYPE_AUDIO_FILTER);
+
+static const gchar *
+webrtc_error_to_string (gint err)
+{
+  const gchar *str = "unkown error";
+
+  switch (err) {
+    case webrtc::AudioProcessing::kNoError:
+      str = "success";
+      break;
+    case webrtc::AudioProcessing::kUnspecifiedError:
+      str = "unspecified error";
+      break;
+    case webrtc::AudioProcessing::kCreationFailedError:
+      str = "creating failed";
+      break;
+    case webrtc::AudioProcessing::kUnsupportedComponentError:
+      str = "unsupported component";
+      break;
+    case webrtc::AudioProcessing::kUnsupportedFunctionError:
+      str = "unsupported function";
+      break;
+    case webrtc::AudioProcessing::kNullPointerError:
+      str = "null pointer";
+      break;
+    case webrtc::AudioProcessing::kBadParameterError:
+      str = "bad parameter";
+      break;
+    case webrtc::AudioProcessing::kBadSampleRateError:
+      str = "bad sample rate";
+      break;
+    case webrtc::AudioProcessing::kBadDataLengthError:
+      str = "bad data length";
+      break;
+    case webrtc::AudioProcessing::kBadNumberChannelsError:
+      str = "bad number of channels";
+      break;
+    case webrtc::AudioProcessing::kFileError:
+      str = "file IO error";
+      break;
+    case webrtc::AudioProcessing::kStreamParameterNotSetError:
+      str = "stream parameter not set";
+      break;
+    case webrtc::AudioProcessing::kNotEnabledError:
+      str = "not enabled";
+      break;
+    default:
+      break;
+  }
+
+  return str;
+}
+
+static GstBuffer *
+gst_webrtc_dsp_take_buffer (GstWebrtcDsp * self)
+{
+  GstBuffer *buffer;
+  GstClockTime timestamp;
+  guint64 distance;
+
+  timestamp = gst_adapter_prev_pts (self->adapter, &distance);
+  timestamp += gst_util_uint64_scale_int (distance / self->info.bpf,
+      GST_SECOND, self->info.rate);
+
+  buffer = gst_adapter_take_buffer (self->adapter, self->period_size);
+
+  GST_BUFFER_PTS (buffer) = timestamp;
+  GST_BUFFER_DURATION (buffer) = 10 * GST_MSECOND;
+
+  if (gst_adapter_pts_at_discont (self->adapter) == timestamp && distance == 0) {
+    GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DISCONT);
+  } else
+    GST_BUFFER_FLAG_UNSET (buffer, GST_BUFFER_FLAG_DISCONT);
+
+  return buffer;
+}
+
+static GstFlowReturn
+gst_webrtc_dsp_analyze_reverse_stream (GstWebrtcDsp * self,
+    GstClockTime rec_time)
+{
+  GstWebrtcEchoProbe *probe = NULL;
+  webrtc::AudioProcessing * apm;
+  webrtc::AudioFrame frame;
+  GstFlowReturn ret = GST_FLOW_OK;
+  gint err, delay;
+
+  GST_OBJECT_LOCK (self);
+  if (self->echo_cancel)
+    probe = GST_WEBRTC_ECHO_PROBE (g_object_ref (self->probe));
+  GST_OBJECT_UNLOCK (self);
+
+  /* If echo cancellation is disabled */
+  if (!probe)
+    return GST_FLOW_OK;
+
+  apm = self->apm;
+
+  delay = gst_webrtc_echo_probe_read (probe, rec_time, (gpointer) &frame);
+
+  apm->set_stream_delay_ms (delay);
+
+  if (delay < 0)
+    goto done;
+
+  if (frame.sample_rate_hz_ != self->info.rate) {
+    GST_ELEMENT_ERROR (self, STREAM, FORMAT,
+        ("Echo Probe has rate %i , while the DSP is running at rate %i,"
+         " use a caps filter to ensure those are the same.",
+         frame.sample_rate_hz_, self->info.rate), (NULL));
+    ret = GST_FLOW_ERROR;
+    goto done;
+  }
+
+  if ((err = apm->AnalyzeReverseStream (&frame)) < 0)
+    GST_WARNING_OBJECT (self, "Reverse stream analyses failed: %s.",
+        webrtc_error_to_string (err));
+
+done:
+  gst_object_unref (probe);
+
+  return ret;
+}
+
+static GstFlowReturn 
+gst_webrtc_dsp_process_stream (GstWebrtcDsp * self,
+    GstBuffer * buffer)
+{
+  GstMapInfo info;
+  webrtc::AudioProcessing * apm = self->apm;
+  webrtc::AudioFrame frame;
+  gint err;
+
+  frame.num_channels_ = self->info.channels;
+  frame.sample_rate_hz_ = self->info.rate;
+  frame.samples_per_channel_ = self->period_size / self->info.bpf;
+
+  if (!gst_buffer_map (buffer, &info, (GstMapFlags) GST_MAP_READWRITE)) {
+    gst_buffer_unref (buffer);
+    return GST_FLOW_ERROR;
+  }
+
+  memcpy (frame.data_, info.data, self->period_size);
+
+  if ((err = apm->ProcessStream (&frame)) < 0) {
+    GST_WARNING_OBJECT (self, "Failed to filter the audio: %s.",
+        webrtc_error_to_string (err));
+  } else {
+    memcpy (info.data, frame.data_, self->period_size);
+  }
+
+  gst_buffer_unmap (buffer, &info);
+
+  return GST_FLOW_OK;
+}
+
+static GstFlowReturn
+gst_webrtc_dsp_submit_input_buffer (GstBaseTransform * btrans,
+    gboolean is_discont, GstBuffer * buffer)
+{
+  GstWebrtcDsp *self = GST_WEBRTC_DSP (btrans);
+
+  buffer = gst_buffer_make_writable (buffer);
+  GST_BUFFER_PTS (buffer) = gst_segment_to_running_time (&btrans->segment,
+      GST_FORMAT_TIME, GST_BUFFER_PTS (buffer));
+
+  if (is_discont) {
+    GST_DEBUG_OBJECT (self,
+        "Received discont, clearing adapter.");
+    gst_adapter_clear (self->adapter);
+  }
+
+  gst_adapter_push (self->adapter, buffer);
+
+  return GST_FLOW_OK;
+}
+
+static GstFlowReturn
+gst_webrtc_dsp_generate_output (GstBaseTransform * btrans, GstBuffer ** outbuf)
+{
+  GstWebrtcDsp *self = GST_WEBRTC_DSP (btrans);
+  GstFlowReturn ret;
+
+  if (gst_adapter_available (self->adapter) < self->period_size) {
+    *outbuf = NULL;
+    return GST_FLOW_OK;
+  }
+
+  *outbuf = gst_webrtc_dsp_take_buffer (self);
+  ret = gst_webrtc_dsp_analyze_reverse_stream (self, GST_BUFFER_PTS (*outbuf));
+
+  if (ret == GST_FLOW_OK)
+    ret = gst_webrtc_dsp_process_stream (self, *outbuf);
+
+  return ret;
+}
+
+static gboolean
+gst_webrtc_dsp_start (GstBaseTransform * btrans)
+{
+  GstWebrtcDsp *self = GST_WEBRTC_DSP (btrans);
+  webrtc::Config config;
+
+  GST_OBJECT_LOCK (self);
+
+  config.Set < webrtc::ExtendedFilter >
+      (new webrtc::ExtendedFilter (self->extended_filter));
+  config.Set < webrtc::ExperimentalAgc >
+      (new webrtc::ExperimentalAgc (self->experimental_agc));
+
+  /* TODO Intelligibility enhancer, Beamforming, etc. */
+
+  self->apm = webrtc::AudioProcessing::Create (config);
+
+  if (self->echo_cancel) {
+    self->probe = gst_webrtc_acquire_echo_probe (self->probe_name);
+
+    if (self->probe == NULL) {
+      GST_OBJECT_UNLOCK (self);
+      GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND,
+          ("No echo probe with name %s found.", self->probe_name), (NULL));
+      return FALSE;
+    }
+  }
+
+  GST_OBJECT_UNLOCK (self);
+
+  return TRUE;
+}
+
+static gboolean
+gst_webrtc_dsp_setup (GstAudioFilter * filter, const GstAudioInfo * info)
+{
+  GstWebrtcDsp *self = GST_WEBRTC_DSP (filter);
+  webrtc::AudioProcessing * apm;
+  webrtc::ProcessingConfig pconfig;
+  GstAudioInfo probe_info = *info;
+  gint err = 0;
+
+  GST_LOG_OBJECT (self, "setting format to %s with %i Hz and %i channels",
+      info->finfo->description, info->rate, info->channels);
+
+  GST_OBJECT_LOCK (self);
+
+  gst_adapter_clear (self->adapter);
+  self->info = *info;
+  apm = self->apm;
+
+  /* WebRTC library works with 10ms buffers, compute once this size */
+  self->period_size = info->bpf * info->rate / 100;
+
+  if ((webrtc::AudioFrame::kMaxDataSizeSamples * 2) < self->period_size)
+    goto period_too_big;
+
+  if (self->probe) {
+    GST_WEBRTC_ECHO_PROBE_LOCK (self->probe);
+
+    if (self->probe->info.rate != 0) {
+      if (self->probe->info.rate != info->rate)
+        goto probe_has_wrong_rate;
+      probe_info = self->probe->info;
+    }
+
+    GST_WEBRTC_ECHO_PROBE_UNLOCK (self->probe);
+  }
+
+  /* input stream */
+  pconfig.streams[webrtc::ProcessingConfig::kInputStream] =
+      webrtc::StreamConfig (info->rate, info->channels, false);
+  /* output stream */
+  pconfig.streams[webrtc::ProcessingConfig::kOutputStream] =
+      webrtc::StreamConfig (info->rate, info->channels, false);
+  /* reverse input stream */
+  pconfig.streams[webrtc::ProcessingConfig::kReverseInputStream] =
+      webrtc::StreamConfig (probe_info.rate, probe_info.channels, false);
+  /* reverse output stream */
+  pconfig.streams[webrtc::ProcessingConfig::kReverseOutputStream] =
+      webrtc::StreamConfig (probe_info.rate, probe_info.channels, false);
+
+  if ((err = apm->Initialize (pconfig)) < 0)
+    goto initialize_failed;
+
+  /* Setup Filters */
+  if (self->high_pass_filter) {
+    GST_DEBUG_OBJECT (self, "Enabling High Pass filter");
+    apm->high_pass_filter ()->Enable (true);
+  }
+
+  if (self->echo_cancel) {
+    GST_DEBUG_OBJECT (self, "Enabling Echo Cancellation");
+    apm->echo_cancellation ()->enable_drift_compensation (false);
+    apm->echo_cancellation ()
+        ->set_suppression_level (self->echo_suppression_level);
+    apm->echo_cancellation ()->Enable (true);
+  }
+
+  if (self->noise_suppression) {
+    GST_DEBUG_OBJECT (self, "Enabling Noise Suppression");
+    apm->noise_suppression ()->set_level (self->noise_suppression_level);
+    apm->noise_suppression ()->Enable (true);
+  }
+
+  if (self->gain_control) {
+    GST_DEBUG_OBJECT (self, "Enabling Digital Gain Control");
+    apm->gain_control ()->set_mode (webrtc::GainControl::kAdaptiveDigital);
+    apm->gain_control ()->Enable (true);
+  }
+
+  GST_OBJECT_UNLOCK (self);
+
+  return TRUE;
+
+period_too_big:
+  GST_OBJECT_UNLOCK (self);
+  GST_WARNING_OBJECT (self, "webrtcdsp format produce too big period "
+      "(maximum is %" G_GSIZE_FORMAT " samples and we have %u samples), "
+      "reduce the number of channels or the rate.",
+      webrtc::AudioFrame::kMaxDataSizeSamples, self->period_size / 2);
+  return FALSE;
+
+probe_has_wrong_rate:
+  GST_WEBRTC_ECHO_PROBE_UNLOCK (self->probe);
+  GST_OBJECT_UNLOCK (self);
+  GST_ELEMENT_ERROR (self, STREAM, FORMAT,
+      ("Echo Probe has rate %i , while the DSP is running at rate %i,"
+          " use a caps filter to ensure those are the same.",
+          probe_info.rate, info->rate), (NULL));
+  return FALSE;
+
+initialize_failed:
+  GST_OBJECT_UNLOCK (self);
+  GST_ELEMENT_ERROR (self, LIBRARY, INIT,
+      ("Failed to initialize WebRTC Audio Processing library"),
+      ("webrtc::AudioProcessing::Initialize() failed: %s",
+          webrtc_error_to_string (err)));
+  return FALSE;
+}
+
+static gboolean
+gst_webrtc_dsp_stop (GstBaseTransform * btrans)
+{
+  GstWebrtcDsp *self = GST_WEBRTC_DSP (btrans);
+
+  GST_OBJECT_LOCK (self);
+
+  gst_adapter_clear (self->adapter);
+
+  if (self->probe) {
+    gst_webrtc_release_echo_probe (self->probe);
+    self->probe = NULL;
+  }
+
+  delete self->apm;
+  self->apm = NULL;
+
+  GST_OBJECT_UNLOCK (self);
+
+  return TRUE;
+}
+
+static void
+gst_webrtc_dsp_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec)
+{
+  GstWebrtcDsp *self = GST_WEBRTC_DSP (object);
+
+  GST_OBJECT_LOCK (self);
+  switch (prop_id) {
+    case PROP_PROBE:
+      g_free (self->probe_name);
+      self->probe_name = g_value_dup_string (value);
+      break;
+    case PROP_HIGH_PASS_FILTER:
+      self->high_pass_filter = g_value_get_boolean (value);
+      break;
+    case PROP_ECHO_CANCEL:
+      self->echo_cancel = g_value_get_boolean (value);
+      break;
+    case PROP_ECHO_SUPPRESSION_LEVEL:
+      self->echo_suppression_level =
+          (GstWebrtcEchoSuppressionLevel) g_value_get_enum (value);
+      break;
+    case PROP_NOISE_SUPPRESSION:
+      self->noise_suppression = g_value_get_boolean (value);
+      break;
+    case PROP_NOISE_SUPPRESSION_LEVEL:
+      self->noise_suppression_level =
+          (GstWebrtcNoiseSuppressionLevel) g_value_get_enum (value);
+      break;
+    case PROP_GAIN_CONTROL:
+      self->gain_control = g_value_get_boolean (value);
+      break;
+    case PROP_EXPERIMENTAL_AGC:
+      self->experimental_agc = g_value_get_boolean (value);
+      break;
+    case PROP_EXTENDED_FILTER:
+      self->extended_filter = g_value_get_boolean (value);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+  GST_OBJECT_UNLOCK (self);
+}
+
+static void
+gst_webrtc_dsp_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec)
+{
+  GstWebrtcDsp *self = GST_WEBRTC_DSP (object);
+
+  GST_OBJECT_LOCK (self);
+  switch (prop_id) {
+    case PROP_PROBE:
+      g_value_set_string (value, self->probe_name);
+      break;
+    case PROP_HIGH_PASS_FILTER:
+      g_value_set_boolean (value, self->high_pass_filter);
+      break;
+    case PROP_ECHO_CANCEL:
+      g_value_set_boolean (value, self->echo_cancel);
+      break;
+    case PROP_ECHO_SUPPRESSION_LEVEL:
+      g_value_set_enum (value, self->echo_suppression_level);
+      break;
+    case PROP_NOISE_SUPPRESSION:
+      g_value_set_boolean (value, self->noise_suppression);
+      break;
+    case PROP_NOISE_SUPPRESSION_LEVEL:
+      g_value_set_enum (value, self->noise_suppression_level);
+      break;
+    case PROP_GAIN_CONTROL:
+      g_value_set_boolean (value, self->gain_control);
+      break;
+    case PROP_EXPERIMENTAL_AGC:
+      g_value_set_boolean (value, self->experimental_agc);
+      break;
+    case PROP_EXTENDED_FILTER:
+      g_value_set_boolean (value, self->extended_filter);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+  GST_OBJECT_UNLOCK (self);
+}
+
+
+static void
+gst_webrtc_dsp_finalize (GObject * object)
+{
+  GstWebrtcDsp *self = GST_WEBRTC_DSP (object);
+
+  gst_object_unref (self->adapter);
+  g_free (self->probe_name);
+
+  G_OBJECT_CLASS (gst_webrtc_dsp_parent_class)->finalize (object);
+}
+
+static void
+gst_webrtc_dsp_init (GstWebrtcDsp * self)
+{
+  self->adapter = gst_adapter_new ();
+  gst_audio_info_init (&self->info);
+}
+
+static void
+gst_webrtc_dsp_class_init (GstWebrtcDspClass * klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+  GstBaseTransformClass *btrans_class = GST_BASE_TRANSFORM_CLASS (klass);
+  GstAudioFilterClass *audiofilter_class = GST_AUDIO_FILTER_CLASS (klass);
+
+  gobject_class->finalize = GST_DEBUG_FUNCPTR (gst_webrtc_dsp_finalize);
+  gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_webrtc_dsp_set_property);
+  gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_webrtc_dsp_get_property);
+
+  btrans_class->passthrough_on_same_caps = FALSE;
+  btrans_class->start = GST_DEBUG_FUNCPTR (gst_webrtc_dsp_start);
+  btrans_class->stop = GST_DEBUG_FUNCPTR (gst_webrtc_dsp_stop);
+  btrans_class->submit_input_buffer =
+      GST_DEBUG_FUNCPTR (gst_webrtc_dsp_submit_input_buffer);
+  btrans_class->generate_output =
+      GST_DEBUG_FUNCPTR (gst_webrtc_dsp_generate_output);
+
+  audiofilter_class->setup = GST_DEBUG_FUNCPTR (gst_webrtc_dsp_setup);
+
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_webrtc_dsp_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_webrtc_dsp_sink_template);
+  gst_element_class_set_static_metadata (element_class,
+      "Voice Processor (AGC, AEC, filters, etc.)",
+      "Generic/Audio",
+      "Pre-processes voice with WebRTC Audio Processing Library",
+      "Nicolas Dufresne <nicolas.dufresne@collabora.com>");
+
+  g_object_class_install_property (gobject_class,
+      PROP_PROBE,
+      g_param_spec_string ("probe", "Echo Probe",
+          "The name of the webrtcechoprobe element that record the audio being "
+          "played through loud speakers. Must be set before PAUSED state.",
+          "webrtcechoprobe0",
+          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+              G_PARAM_CONSTRUCT)));
+
+  g_object_class_install_property (gobject_class,
+      PROP_HIGH_PASS_FILTER,
+      g_param_spec_boolean ("high-pass-filter", "High Pass Filter",
+          "Enable or disable high pass filtering", TRUE,
+          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+              G_PARAM_CONSTRUCT)));
+
+  g_object_class_install_property (gobject_class,
+      PROP_ECHO_CANCEL,
+      g_param_spec_boolean ("echo-cancel", "Echo Cancel",
+          "Enable or disable echo canceller, note that it will be disabled if "
+          "no webrtcechoprobe has been found", TRUE,
+          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+              G_PARAM_CONSTRUCT)));
+
+  g_object_class_install_property (gobject_class,
+      PROP_ECHO_SUPPRESSION_LEVEL,
+      g_param_spec_enum ("echo-suppression-level", "Echo Suppression Level",
+          "Controls the aggressiveness of the suppressor. A higher level "
+          "trades off double-talk performance for increased echo suppression.",
+          GST_TYPE_WEBRTC_ECHO_SUPPRESSION_LEVEL,
+          webrtc::EchoCancellation::kModerateSuppression,
+          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+              G_PARAM_CONSTRUCT)));
+
+  g_object_class_install_property (gobject_class,
+      PROP_NOISE_SUPPRESSION,
+      g_param_spec_boolean ("noise-suppression", "Noise Suppression",
+          "Enable or disable noise suppression", TRUE,
+          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+              G_PARAM_CONSTRUCT)));
+
+  g_object_class_install_property (gobject_class,
+      PROP_NOISE_SUPPRESSION_LEVEL,
+      g_param_spec_enum ("noise-suppression-level", "Noise Suppression Level",
+          "Controls the aggressiveness of the suppression. Increasing the "
+          "level will reduce the noise level at the expense of a higher "
+          "speech distortion.", GST_TYPE_WEBRTC_NOISE_SUPPRESSION_LEVEL,
+          webrtc::EchoCancellation::kModerateSuppression,
+          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+              G_PARAM_CONSTRUCT)));
+
+  g_object_class_install_property (gobject_class,
+      PROP_GAIN_CONTROL,
+      g_param_spec_boolean ("gain-control", "Gain Control",
+          "Enable or disable automatic digital gain control",
+          TRUE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+              G_PARAM_CONSTRUCT)));
+
+  g_object_class_install_property (gobject_class,
+      PROP_EXPERIMENTAL_AGC,
+      g_param_spec_boolean ("experimental-agc", "Experimental AGC",
+          "Enable or disable experimental automatic gain control.",
+          FALSE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+              G_PARAM_CONSTRUCT)));
+
+  g_object_class_install_property (gobject_class,
+      PROP_EXTENDED_FILTER,
+      g_param_spec_boolean ("extended-filter", "Extended Filter",
+          "Enable or disable the extended filter.",
+          TRUE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+              G_PARAM_CONSTRUCT)));
+}
+
+static gboolean
+plugin_init (GstPlugin * plugin)
+{
+  GST_DEBUG_CATEGORY_INIT
+      (webrtc_dsp_debug, "webrtcdsp", 0, "libwebrtcdsp wrapping elements");
+
+  if (!gst_element_register (plugin, "webrtcdsp", GST_RANK_NONE,
+          GST_TYPE_WEBRTC_DSP)) {
+    return FALSE;
+  }
+  if (!gst_element_register (plugin, "webrtcechoprobe", GST_RANK_NONE,
+          GST_TYPE_WEBRTC_ECHO_PROBE)) {
+    return FALSE;
+  }
+
+  return TRUE;
+}
+
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    webrtcdsp,
+    "Voice pre-processing using WebRTC Audio Processing Library",
+    plugin_init, VERSION, "LGPL", "WebRTCDsp", "http://git.collabora.com")
diff --git a/ext/webrtcdsp/gstwebrtcdsp.h b/ext/webrtcdsp/gstwebrtcdsp.h
new file mode 100644
index 0000000..a2519df
--- /dev/null
+++ b/ext/webrtcdsp/gstwebrtcdsp.h
@@ -0,0 +1,52 @@
+/*
+ * WebRTC Audio Processing Elements
+ *
+ *  Copyright 2016 Collabora Ltd
+ *    @author: Nicolas Dufresne <nicolas.dufresne@collabora.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 Street, Fifth Floor, Boston, MA  02110-1301 USA
+ *
+ */
+
+#ifndef __GST_WEBRTC_DSP_H__
+#define __GST_WEBRTC_DSP_H__
+
+#include <gst/gst.h>
+#include <gst/base/gstadapter.h>
+#include <gst/base/gstbasetransform.h>
+#include <gst/audio/audio.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_WEBRTC_DSP            (gst_webrtc_dsp_get_type())
+#define GST_WEBRTC_DSP(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_WEBRTC_DSP,GstWebrtcDsp))
+#define GST_IS_WEBRTC_DSP(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_WEBRTC_DSP))
+#define GST_WEBRTC_DSP_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass) ,GST_TYPE_WEBRTC_DSP,GstWebrtcDspClass))
+#define GST_IS_WEBRTC_DSP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_WEBRTC_DSP))
+#define GST_WEBRTC_DSP_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_WEBRTC_DSP,GstWebrtcDspClass))
+
+typedef struct _GstWebrtcDsp GstWebrtcDsp;
+typedef struct _GstWebrtcDspClass GstWebrtcDspClass;
+
+struct _GstWebrtcDspClass
+{
+  GstAudioFilterClass parent_class;
+};
+
+GType gst_webrtc_dsp_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GST_WEBRTC_DSP_H__ */
diff --git a/ext/webrtcdsp/gstwebrtcechoprobe.cpp b/ext/webrtcdsp/gstwebrtcechoprobe.cpp
new file mode 100644
index 0000000..ebc35c1
--- /dev/null
+++ b/ext/webrtcdsp/gstwebrtcechoprobe.cpp
@@ -0,0 +1,336 @@
+/*
+ * WebRTC Audio Processing Elements
+ *
+ *  Copyright 2016 Collabora Ltd
+ *    @author: Nicolas Dufresne <nicolas.dufresne@collabora.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 Street, Fifth Floor, Boston, MA  02110-1301 USA
+ *
+ */
+
+/**
+ * SECTION:element-webrtcechoprobe
+ *
+ * This echo probe is to be used with the webrtcdsp element. See #gst-plugins-bad-plugins-webrtcdsp
+ * documentation for more details.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gstwebrtcechoprobe.h"
+
+#include <webrtc/modules/interface/module_common_types.h>
+#include <gst/audio/audio.h>
+
+GST_DEBUG_CATEGORY_EXTERN (webrtc_dsp_debug);
+#define GST_CAT_DEFAULT (webrtc_dsp_debug)
+
+#define MAX_ADAPTER_SIZE (1*1024*1024)
+
+static GstStaticPadTemplate gst_webrtc_echo_probe_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) { 48000, 32000, 16000, 8000 }, "
+        "channels = (int) [1, MAX]")
+    );
+
+static GstStaticPadTemplate gst_webrtc_echo_probe_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) { 48000, 32000, 16000, 8000 }, "
+        "channels = (int) [1, MAX]")
+    );
+
+G_LOCK_DEFINE_STATIC (gst_aec_probes);
+static GList *gst_aec_probes = NULL;
+
+G_DEFINE_TYPE (GstWebrtcEchoProbe, gst_webrtc_echo_probe,
+    GST_TYPE_AUDIO_FILTER);
+
+static gboolean
+gst_webrtc_echo_probe_setup (GstAudioFilter * filter, const GstAudioInfo * info)
+{
+  GstWebrtcEchoProbe *self = GST_WEBRTC_ECHO_PROBE (filter);
+
+  GST_LOG_OBJECT (self, "setting format to %s with %i Hz and %i channels",
+      info->finfo->description, info->rate, info->channels);
+
+  GST_WEBRTC_ECHO_PROBE_LOCK (self);
+
+  self->info = *info;
+
+  /* WebRTC library works with 10ms buffers, compute once this size */
+  self->period_size = info->bpf * info->rate / 100;
+
+  if ((webrtc::AudioFrame::kMaxDataSizeSamples * 2) < self->period_size)
+    goto period_too_big;
+
+  GST_WEBRTC_ECHO_PROBE_UNLOCK (self);
+
+  return TRUE;
+
+period_too_big:
+  GST_WEBRTC_ECHO_PROBE_UNLOCK (self);
+  GST_WARNING_OBJECT (self, "webrtcdsp format produce too big period "
+      "(maximum is %" G_GSIZE_FORMAT " samples and we have %u samples), "
+      "reduce the number of channels or the rate.",
+      webrtc::AudioFrame::kMaxDataSizeSamples, self->period_size / 2);
+  return FALSE;
+}
+
+static gboolean
+gst_webrtc_echo_probe_stop (GstBaseTransform * btrans)
+{
+  GstWebrtcEchoProbe *self = GST_WEBRTC_ECHO_PROBE (btrans);
+
+  GST_WEBRTC_ECHO_PROBE_LOCK (self);
+  gst_adapter_clear (self->adapter);
+  GST_WEBRTC_ECHO_PROBE_UNLOCK (self);
+
+  return TRUE;
+}
+
+static gboolean
+gst_webrtc_echo_probe_src_event (GstBaseTransform * btrans, GstEvent * event)
+{
+  GstBaseTransformClass *klass;
+  GstWebrtcEchoProbe *self = GST_WEBRTC_ECHO_PROBE (btrans);
+  GstClockTime latency;
+  GstClockTime upstream_latency = 0;
+  GstQuery *query;
+
+  klass = GST_BASE_TRANSFORM_CLASS (gst_webrtc_echo_probe_parent_class);
+
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_LATENCY:
+      gst_event_parse_latency (event, &latency);
+      query = gst_query_new_latency ();
+
+      if (gst_pad_query (btrans->srcpad, query)) {
+        gst_query_parse_latency (query, NULL, &upstream_latency, NULL);
+
+        if (!GST_CLOCK_TIME_IS_VALID (upstream_latency))
+          upstream_latency = 0;
+      }
+
+      GST_WEBRTC_ECHO_PROBE_LOCK (self);
+      self->latency = latency;
+      self->delay = upstream_latency / GST_MSECOND;
+      GST_WEBRTC_ECHO_PROBE_UNLOCK (self);
+
+      GST_DEBUG_OBJECT (self, "We have a latency of %" GST_TIME_FORMAT
+          " and delay of %ims", GST_TIME_ARGS (latency),
+          (gint) (upstream_latency / GST_MSECOND));
+      break;
+    default:
+      break;
+  }
+
+  return klass->src_event (btrans, event);
+}
+
+static GstFlowReturn
+gst_webrtc_echo_probe_transform_ip (GstBaseTransform * btrans,
+    GstBuffer * buffer)
+{
+  GstWebrtcEchoProbe *self = GST_WEBRTC_ECHO_PROBE (btrans);
+  GstBuffer *newbuf = NULL;
+
+  GST_WEBRTC_ECHO_PROBE_LOCK (self);
+  newbuf = gst_buffer_copy (buffer);
+  /* Moves the buffer timestamp to be in Running time */
+  GST_BUFFER_PTS (newbuf) = gst_segment_to_running_time (&btrans->segment,
+      GST_FORMAT_TIME, GST_BUFFER_PTS (buffer));
+  gst_adapter_push (self->adapter, newbuf);
+
+  if (gst_adapter_available (self->adapter) > MAX_ADAPTER_SIZE)
+    gst_adapter_flush (self->adapter,
+        gst_adapter_available (self->adapter) - MAX_ADAPTER_SIZE);
+  GST_WEBRTC_ECHO_PROBE_UNLOCK (self);
+
+  return GST_FLOW_OK;
+}
+
+static void
+gst_webrtc_echo_probe_finalize (GObject * object)
+{
+  GstWebrtcEchoProbe *self = GST_WEBRTC_ECHO_PROBE (object);
+
+  G_LOCK (gst_aec_probes);
+  gst_aec_probes = g_list_remove (gst_aec_probes, self);
+  G_UNLOCK (gst_aec_probes);
+
+  gst_object_unref (self->adapter);
+  self->adapter = NULL;
+
+  G_OBJECT_CLASS (gst_webrtc_echo_probe_parent_class)->finalize (object);
+}
+
+static void
+gst_webrtc_echo_probe_init (GstWebrtcEchoProbe * self)
+{
+  self->adapter = gst_adapter_new ();
+  gst_audio_info_init (&self->info);
+  g_mutex_init (&self->lock);
+
+  self->latency = GST_CLOCK_TIME_NONE;
+
+  G_LOCK (gst_aec_probes);
+  gst_aec_probes = g_list_prepend (gst_aec_probes, self);
+  G_UNLOCK (gst_aec_probes);
+}
+
+static void
+gst_webrtc_echo_probe_class_init (GstWebrtcEchoProbeClass * klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+  GstBaseTransformClass *btrans_class = GST_BASE_TRANSFORM_CLASS (klass);
+  GstAudioFilterClass *audiofilter_class = GST_AUDIO_FILTER_CLASS (klass);
+
+  gobject_class->finalize = gst_webrtc_echo_probe_finalize;
+
+  btrans_class->passthrough_on_same_caps = TRUE;
+  btrans_class->src_event = GST_DEBUG_FUNCPTR (gst_webrtc_echo_probe_src_event);
+  btrans_class->transform_ip =
+      GST_DEBUG_FUNCPTR (gst_webrtc_echo_probe_transform_ip);
+  btrans_class->stop = GST_DEBUG_FUNCPTR (gst_webrtc_echo_probe_stop);
+
+  audiofilter_class->setup = GST_DEBUG_FUNCPTR (gst_webrtc_echo_probe_setup);
+
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_webrtc_echo_probe_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_webrtc_echo_probe_sink_template);
+
+  gst_element_class_set_static_metadata (element_class,
+      "Accoustic Echo Canceller probe",
+      "Generic/Audio",
+      "Gathers playback buffers for webrtcdsp",
+      "Nicolas Dufresne <nicolas.dufrsesne@collabora.com>");
+}
+
+
+GstWebrtcEchoProbe *
+gst_webrtc_acquire_echo_probe (const gchar * name)
+{
+  GstWebrtcEchoProbe *ret = NULL;
+  GList *l;
+
+  G_LOCK (gst_aec_probes);
+  for (l = gst_aec_probes; l; l = l->next) {
+    GstWebrtcEchoProbe *probe = GST_WEBRTC_ECHO_PROBE (l->data);
+
+    GST_WEBRTC_ECHO_PROBE_LOCK (probe);
+    if (!probe->acquired && g_strcmp0 (GST_OBJECT_NAME (probe), name) == 0) {
+      probe->acquired = TRUE;
+      ret = GST_WEBRTC_ECHO_PROBE (gst_object_ref (probe));
+      GST_WEBRTC_ECHO_PROBE_UNLOCK (probe);
+      break;
+    }
+    GST_WEBRTC_ECHO_PROBE_UNLOCK (probe);
+  }
+  G_UNLOCK (gst_aec_probes);
+
+  return ret;
+}
+
+void
+gst_webrtc_release_echo_probe (GstWebrtcEchoProbe * probe)
+{
+  GST_WEBRTC_ECHO_PROBE_LOCK (probe);
+  probe->acquired = FALSE;
+  GST_WEBRTC_ECHO_PROBE_UNLOCK (probe);
+  gst_object_unref (probe);
+}
+
+gint
+gst_webrtc_echo_probe_read (GstWebrtcEchoProbe * self, GstClockTime rec_time,
+    gpointer _frame)
+{
+  webrtc::AudioFrame * frame = (webrtc::AudioFrame *) _frame;
+  GstClockTimeDiff diff;
+  gsize avail, skip, offset, size;
+  gint delay = -1;
+
+  GST_WEBRTC_ECHO_PROBE_LOCK (self);
+
+  if (!GST_CLOCK_TIME_IS_VALID (self->latency))
+    goto done;
+
+  if (gst_adapter_available (self->adapter) == 0) {
+    diff = G_MAXINT64;
+  } else {
+    GstClockTime play_time;
+    guint64 distance;
+
+    play_time = gst_adapter_prev_pts (self->adapter, &distance);
+
+    if (GST_CLOCK_TIME_IS_VALID (play_time)) {
+      play_time += gst_util_uint64_scale_int (distance / self->info.bpf,
+          GST_SECOND, self->info.rate);
+      play_time += self->latency;
+
+      diff = GST_CLOCK_DIFF (rec_time, play_time) / GST_MSECOND;
+    } else {
+      /* We have no timestamp, assume perfect delay */
+      diff = self->delay;
+    }
+  }
+
+  avail = gst_adapter_available (self->adapter);
+
+  if (diff > self->delay) {
+    skip = (diff - self->delay) * self->info.rate / 1000 * self->info.bpf;
+    skip = MIN (self->period_size, skip);
+    offset = 0;
+  } else {
+    skip = 0;
+    offset = (self->delay - diff) * self->info.rate / 1000 * self->info.bpf;
+    offset = MIN (avail, offset);
+  }
+
+  size = MIN (avail - offset, self->period_size - skip);
+
+  if (size < self->period_size)
+    memset (frame->data_, 0, self->period_size);
+
+  if (size) {
+    gst_adapter_copy (self->adapter, (guint8 *) frame->data_ + skip,
+        offset, size);
+    gst_adapter_flush (self->adapter, offset + size);
+  }
+
+  frame->num_channels_ = self->info.channels;
+  frame->sample_rate_hz_ = self->info.rate;
+  frame->samples_per_channel_ = self->period_size / self->info.bpf;
+
+  delay = self->delay;
+
+done:
+  GST_WEBRTC_ECHO_PROBE_UNLOCK (self);
+
+  return delay;
+}
diff --git a/ext/webrtcdsp/gstwebrtcechoprobe.h b/ext/webrtcdsp/gstwebrtcechoprobe.h
new file mode 100644
index 0000000..7c8a240
--- /dev/null
+++ b/ext/webrtcdsp/gstwebrtcechoprobe.h
@@ -0,0 +1,88 @@
+/*
+ * WebRTC Audio Processing Elements
+ *
+ *  Copyright 2016 Collabora Ltd
+ *    @author: Nicolas Dufresne <nicolas.dufresne@collabora.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 Street, Fifth Floor, Boston, MA  02110-1301 USA
+ *
+ */
+
+#ifndef __GST_WEBRTC_ECHO_PROBE_H__
+#define __GST_WEBRTC_ECHO_PROBE_H__
+
+#include <gst/gst.h>
+#include <gst/base/gstadapter.h>
+#include <gst/base/gstbasetransform.h>
+#include <gst/audio/audio.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_WEBRTC_ECHO_PROBE            (gst_webrtc_echo_probe_get_type())
+#define GST_WEBRTC_ECHO_PROBE(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_WEBRTC_ECHO_PROBE,GstWebrtcEchoProbe))
+#define GST_IS_WEBRTC_ECHO_PROBE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_WEBRTC_ECHO_PROBE))
+#define GST_WEBRTC_ECHO_PROBE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass) ,GST_TYPE_WEBRTC_ECHO_PROBE,GstWebrtcEchoProbeClass))
+#define GST_IS_WEBRTC_ECHO_PROBE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_WEBRTC_ECHO_PROBE))
+#define GST_WEBRTC_ECHO_PROBE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_WEBRTC_ECHO_PROBE,GstWebrtcEchoProbeClass))
+
+#define GST_WEBRTC_ECHO_PROBE_LOCK(obj) g_mutex_lock (&GST_WEBRTC_ECHO_PROBE (obj)->lock)
+#define GST_WEBRTC_ECHO_PROBE_UNLOCK(obj) g_mutex_unlock (&GST_WEBRTC_ECHO_PROBE (obj)->lock)
+
+typedef struct _GstWebrtcEchoProbe GstWebrtcEchoProbe;
+typedef struct _GstWebrtcEchoProbeClass GstWebrtcEchoProbeClass;
+
+/**
+ * GstWebrtcEchoProbe:
+ *
+ * The adder object structure.
+ */
+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;
+};
+
+struct _GstWebrtcEchoProbeClass
+{
+  GstAudioFilterClass parent_class;
+};
+
+GType gst_webrtc_echo_probe_get_type (void);
+
+GstWebrtcEchoProbe *gst_webrtc_acquire_echo_probe (const gchar * name);
+void gst_webrtc_release_echo_probe (GstWebrtcEchoProbe * probe);
+gint gst_webrtc_echo_probe_read (GstWebrtcEchoProbe * self,
+    GstClockTime rec_time, gpointer frame);
+
+G_END_DECLS
+#endif /* __GST_WEBRTC_ECHO_PROBE_H__ */
diff --git a/ext/x265/Makefile.in b/ext/x265/Makefile.in
index a4a2314..21806e9 100644
--- a/ext/x265/Makefile.in
+++ b/ext/x265/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/x265/gstx265enc.c b/ext/x265/gstx265enc.c
index 99fc522..d0e0c08 100644
--- a/ext/x265/gstx265enc.c
+++ b/ext/x265/gstx265enc.c
@@ -403,10 +403,8 @@
       "x265enc", "Codec/Encoder/Video", "H265 Encoder",
       "Thijs Vermeir <thijs.vermeir@barco.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
 }
 
 /* initialize the new element
diff --git a/ext/xvid/Makefile.in b/ext/xvid/Makefile.in
index 7c86a9f..837a093 100644
--- a/ext/xvid/Makefile.in
+++ b/ext/xvid/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/xvid/gstxviddec.c b/ext/xvid/gstxviddec.c
index 7e20ad5..b49cf2f 100644
--- a/ext/xvid/gstxviddec.c
+++ b/ext/xvid/gstxviddec.c
@@ -100,10 +100,8 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 
   gst_element_class_set_static_metadata (element_class, "XviD video decoder",
       "Codec/Decoder/Video",
diff --git a/ext/xvid/gstxvidenc.c b/ext/xvid/gstxvidenc.c
index c2ecfb8..edf89b7 100644
--- a/ext/xvid/gstxvidenc.c
+++ b/ext/xvid/gstxvidenc.c
@@ -244,10 +244,8 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
   gst_element_class_set_static_metadata (element_class, "XviD video encoder",
       "Codec/Encoder/Video",
       "XviD encoder based on xvidcore",
diff --git a/ext/zbar/Makefile.in b/ext/zbar/Makefile.in
index 40f9758..a413202 100644
--- a/ext/zbar/Makefile.in
+++ b/ext/zbar/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/ext/zbar/gstzbar.c b/ext/zbar/gstzbar.c
index 62fb106..e84f48c 100644
--- a/ext/zbar/gstzbar.c
+++ b/ext/zbar/gstzbar.c
@@ -192,10 +192,10 @@
       "Detect bar codes in the video streams",
       "Stefan Kost <ensonic@users.sf.net>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_zbar_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_zbar_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_zbar_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_zbar_src_template);
 
   trans_class->start = GST_DEBUG_FUNCPTR (gst_zbar_start);
   trans_class->stop = GST_DEBUG_FUNCPTR (gst_zbar_stop);
diff --git a/gst-libs/Makefile.in b/gst-libs/Makefile.in
index e6505b3..24b60e2 100644
--- a/gst-libs/Makefile.in
+++ b/gst-libs/Makefile.in
@@ -276,6 +276,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -491,6 +493,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -617,8 +621,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -663,6 +665,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/Makefile.in b/gst-libs/gst/Makefile.in
index 77208a1..e81a7d1 100644
--- a/gst-libs/gst/Makefile.in
+++ b/gst-libs/gst/Makefile.in
@@ -278,6 +278,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -493,6 +495,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -619,8 +623,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -665,6 +667,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/adaptivedemux/Makefile.in b/gst-libs/gst/adaptivedemux/Makefile.in
index 0777736..aab6883 100644
--- a/gst-libs/gst/adaptivedemux/Makefile.in
+++ b/gst-libs/gst/adaptivedemux/Makefile.in
@@ -306,6 +306,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -521,6 +523,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -647,8 +651,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -693,6 +695,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
index ba29214..5e967bf 100644
--- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
+++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
@@ -157,10 +157,8 @@
   PROP_LAST
 };
 
-enum GstAdaptiveDemuxFlowReturn
-{
-  GST_ADAPTIVE_DEMUX_FLOW_SWITCH = GST_FLOW_CUSTOM_SUCCESS_2 + 1
-};
+/* Internal, so not using GST_FLOW_CUSTOM_SUCCESS_N */
+#define GST_ADAPTIVE_DEMUX_FLOW_SWITCH (GST_FLOW_CUSTOM_SUCCESS_2 + 1)
 
 struct _GstAdaptiveDemuxPrivate
 {
@@ -201,6 +199,15 @@
   GMutex segment_lock;
 };
 
+typedef struct _GstAdaptiveDemuxTimer
+{
+  volatile gint ref_count;
+  GCond *cond;
+  GMutex *mutex;
+  GstClockID clock_id;
+  gboolean fired;
+} GstAdaptiveDemuxTimer;
+
 static GstBinClass *parent_class = NULL;
 static void gst_adaptive_demux_class_init (GstAdaptiveDemuxClass * klass);
 static void gst_adaptive_demux_init (GstAdaptiveDemux * dec,
@@ -264,14 +271,18 @@
     stream, GstFlowReturn ret, GError * err);
 static GstFlowReturn
 gst_adaptive_demux_stream_data_received_default (GstAdaptiveDemux * demux,
-    GstAdaptiveDemuxStream * stream);
+    GstAdaptiveDemuxStream * stream, GstBuffer * buffer);
 static GstFlowReturn
 gst_adaptive_demux_stream_finish_fragment_default (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream);
 static GstFlowReturn
 gst_adaptive_demux_stream_advance_fragment_unlocked (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream, GstClockTime duration);
-
+static gboolean
+gst_adaptive_demux_wait_until (GstClock * clock, GCond * cond, GMutex * mutex,
+    GstClockTime end_time);
+static gboolean gst_adaptive_demux_clock_callback (GstClock * clock,
+    GstClockTime time, GstClockID id, gpointer user_data);
 
 /* we can't use G_DEFINE_ABSTRACT_TYPE because we need the klass in the _init
  * method to get to the padtemplates */
@@ -400,6 +411,8 @@
     GstAdaptiveDemuxClass * klass)
 {
   GstPadTemplate *pad_template;
+  GstClockType clock_type = GST_CLOCK_TYPE_OTHER;
+  GObjectClass *gobject_class;
 
   GST_DEBUG_OBJECT (demux, "gst_adaptive_demux_init");
 
@@ -413,6 +426,30 @@
 
   gst_segment_init (&demux->segment, GST_FORMAT_TIME);
 
+  demux->realtime_clock = gst_system_clock_obtain ();
+  g_assert (demux->realtime_clock != NULL);
+  gobject_class = G_OBJECT_GET_CLASS (demux->realtime_clock);
+  if (g_object_class_find_property (gobject_class, "clock-type")) {
+    g_object_get (demux->realtime_clock, "clock-type", &clock_type, NULL);
+  } else {
+    GST_WARNING_OBJECT (demux,
+        "System clock does not have clock-type property");
+  }
+  if (clock_type == GST_CLOCK_TYPE_REALTIME) {
+    demux->clock_offset = 0;
+  } else {
+    GDateTime *utc_now;
+    GstClockTime rtc_now;
+    GTimeVal gtv;
+
+    utc_now = g_date_time_new_now_utc ();
+    rtc_now = gst_clock_get_time (demux->realtime_clock);
+    g_date_time_to_timeval (utc_now, &gtv);
+    demux->clock_offset =
+        gtv.tv_sec * G_TIME_SPAN_SECOND + gtv.tv_usec -
+        GST_TIME_AS_USECONDS (rtc_now);
+    g_date_time_unref (utc_now);
+  }
   g_rec_mutex_init (&demux->priv->updates_lock);
   demux->priv->updates_task =
       gst_task_new ((GstTaskFunction) gst_adaptive_demux_updates_loop,
@@ -466,6 +503,10 @@
   g_rec_mutex_clear (&demux->priv->manifest_lock);
   g_mutex_clear (&demux->priv->api_lock);
   g_mutex_clear (&demux->priv->segment_lock);
+  if (demux->realtime_clock) {
+    gst_object_unref (demux->realtime_clock);
+    demux->realtime_clock = NULL;
+  }
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
@@ -838,7 +879,7 @@
     stream->pending_caps = NULL;
   }
 
-  stream->discont = FALSE;
+  stream->discont = TRUE;
 
   gst_object_ref (pad);
 
@@ -1074,7 +1115,6 @@
   gst_segment_init (&stream->segment, GST_FORMAT_TIME);
   g_cond_init (&stream->fragment_download_cond);
   g_mutex_init (&stream->fragment_download_lock);
-  stream->adapter = gst_adapter_new ();
 
   demux->next_streams = g_list_append (demux->next_streams, stream);
 
@@ -1176,7 +1216,7 @@
   if (stream->pending_caps)
     gst_caps_unref (stream->pending_caps);
 
-  g_object_unref (stream->adapter);
+  g_clear_pointer (&stream->pending_tags, gst_tag_list_unref);
 
   g_free (stream);
 }
@@ -1217,222 +1257,227 @@
                               GST_SEEK_FLAG_SNAP_NEAREST))
 
 static gboolean
+gst_adaptive_demux_handle_seek_event (GstAdaptiveDemux * demux, GstPad * pad,
+    GstEvent * event)
+{
+  GstAdaptiveDemuxClass *demux_class = GST_ADAPTIVE_DEMUX_GET_CLASS (demux);
+  gdouble rate;
+  GstFormat format;
+  GstSeekFlags flags;
+  GstSeekType start_type, stop_type;
+  gint64 start, stop;
+  guint32 seqnum;
+  gboolean update;
+  gboolean ret;
+  GstSegment oldsegment;
+  GstAdaptiveDemuxStream *stream = NULL;
+
+  GST_INFO_OBJECT (demux, "Received seek event");
+
+  GST_API_LOCK (demux);
+  GST_MANIFEST_LOCK (demux);
+
+  if (!gst_adaptive_demux_can_seek (demux)) {
+    GST_MANIFEST_UNLOCK (demux);
+    GST_API_UNLOCK (demux);
+    gst_event_unref (event);
+    return FALSE;
+  }
+
+  gst_event_parse_seek (event, &rate, &format, &flags, &start_type, &start,
+      &stop_type, &stop);
+
+  if (format != GST_FORMAT_TIME) {
+    GST_MANIFEST_UNLOCK (demux);
+    GST_API_UNLOCK (demux);
+    gst_event_unref (event);
+    return FALSE;
+  }
+
+  if (gst_adaptive_demux_is_live (demux)) {
+    gint64 range_start, range_stop;
+    if (!gst_adaptive_demux_get_live_seek_range (demux, &range_start,
+            &range_stop)) {
+      GST_MANIFEST_UNLOCK (demux);
+      GST_API_UNLOCK (demux);
+      gst_event_unref (event);
+      return FALSE;
+    }
+    if (start < range_start || start >= range_stop) {
+      GST_MANIFEST_UNLOCK (demux);
+      GST_API_UNLOCK (demux);
+      GST_WARNING_OBJECT (demux, "Seek to invalid position");
+      gst_event_unref (event);
+      return FALSE;
+    }
+  }
+
+  seqnum = gst_event_get_seqnum (event);
+
+  GST_DEBUG_OBJECT (demux, "seek event, %" GST_PTR_FORMAT, event);
+
+  /* have a backup in case seek fails */
+  gst_segment_copy_into (&demux->segment, &oldsegment);
+
+  if (flags & GST_SEEK_FLAG_FLUSH) {
+    GstEvent *fevent;
+
+    GST_DEBUG_OBJECT (demux, "sending flush start");
+    fevent = gst_event_new_flush_start ();
+    gst_event_set_seqnum (fevent, seqnum);
+    gst_adaptive_demux_push_src_event (demux, fevent);
+
+    gst_adaptive_demux_stop_tasks (demux);
+  } else if ((rate > 0 && start_type != GST_SEEK_TYPE_NONE) ||
+      (rate < 0 && stop_type != GST_SEEK_TYPE_NONE)) {
+
+    gst_adaptive_demux_stop_tasks (demux);
+  }
+
+  GST_ADAPTIVE_DEMUX_SEGMENT_LOCK (demux);
+
+  /*
+   * Handle snap seeks as follows:
+   * 1) do the snap seeking on the stream that received
+   *    the event
+   * 2) use the final position on this stream to seek
+   *    on the other streams to the same position
+   *
+   * We can't snap at all streams at the same time as
+   * they might end in different positions, so just
+   * use the one that received the event as the 'leading'
+   * one to do the snap seek.
+   */
+  if (IS_SNAP_SEEK (flags) && demux_class->stream_seek && (stream =
+          gst_adaptive_demux_find_stream_for_pad (demux, pad))) {
+    GstClockTime ts;
+    GstSeekFlags stream_seek_flags = flags;
+
+    /* snap-seek on the stream that received the event and then
+     * use the resulting position to seek on all streams */
+
+    if (rate >= 0) {
+      if (start_type != GST_SEEK_TYPE_NONE)
+        ts = start;
+      else {
+        ts = stream->segment.position;
+        start_type = GST_SEEK_TYPE_SET;
+      }
+    } else {
+      if (stop_type != GST_SEEK_TYPE_NONE)
+        ts = stop;
+      else {
+        stop_type = GST_SEEK_TYPE_SET;
+        ts = stream->segment.position;
+      }
+    }
+
+    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);
+    if (rate >= 0) {
+      start = ts;
+    } else {
+      stop = ts;
+    }
+    event =
+        gst_event_new_seek (rate, format, REMOVE_SNAP_FLAGS (flags),
+        start_type, start, stop_type, stop);
+    GST_DEBUG_OBJECT (demux, "Adapted snap seek to %" GST_PTR_FORMAT, event);
+  }
+  stream = NULL;
+
+  gst_segment_do_seek (&demux->segment, rate, format, flags, start_type,
+      start, stop_type, stop, &update);
+
+  /* FIXME - this seems unatural, do_seek() is updating base when we
+   * only want the start/stop position to change, maybe do_seek() needs
+   * some fixing? */
+  if (!(flags & GST_SEEK_FLAG_FLUSH) && ((rate > 0
+              && start_type == GST_SEEK_TYPE_NONE) || (rate < 0
+              && stop_type == GST_SEEK_TYPE_NONE))) {
+    demux->segment.base = oldsegment.base;
+  }
+
+  GST_DEBUG_OBJECT (demux, "Calling subclass seek: %" GST_PTR_FORMAT, event);
+
+  ret = demux_class->seek (demux, event);
+
+  if (!ret) {
+    /* Is there anything else we can do if it fails? */
+    gst_segment_copy_into (&oldsegment, &demux->segment);
+  } else {
+    demux->priv->segment_seqnum = seqnum;
+  }
+  GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK (demux);
+
+  if (flags & GST_SEEK_FLAG_FLUSH) {
+    GstEvent *fevent;
+
+    GST_DEBUG_OBJECT (demux, "Sending flush stop on all pad");
+    fevent = gst_event_new_flush_stop (TRUE);
+    gst_event_set_seqnum (fevent, seqnum);
+    gst_adaptive_demux_push_src_event (demux, fevent);
+  }
+
+  if (demux->next_streams) {
+    gst_adaptive_demux_expose_streams (demux, FALSE);
+  } else {
+    GList *iter;
+    GstClockTime period_start =
+        gst_adaptive_demux_get_period_start_time (demux);
+
+    GST_ADAPTIVE_DEMUX_SEGMENT_LOCK (demux);
+    for (iter = demux->streams; iter; iter = g_list_next (iter)) {
+      GstAdaptiveDemuxStream *stream = iter->data;
+      GstEvent *seg_evt;
+      GstClockTime offset;
+
+      /* See comments in gst_adaptive_demux_get_period_start_time() for
+       * an explanation of the segment modifications */
+      stream->segment = demux->segment;
+      offset =
+          gst_adaptive_demux_stream_get_presentation_offset (demux, stream);
+      stream->segment.start += offset - period_start;
+      if (demux->segment.rate > 0 && start_type != GST_SEEK_TYPE_NONE)
+        stream->segment.position = stream->segment.start;
+      else if (demux->segment.rate < 0 && stop_type != GST_SEEK_TYPE_NONE)
+        stream->segment.position = stream->segment.stop;
+      seg_evt = gst_event_new_segment (&stream->segment);
+      gst_event_set_seqnum (seg_evt, demux->priv->segment_seqnum);
+      gst_event_replace (&stream->pending_segment, seg_evt);
+      gst_event_unref (seg_evt);
+      /* Make sure the first buffer after a seek has the discont flag */
+      stream->discont = TRUE;
+    }
+
+    GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK (demux);
+  }
+
+  /* Restart the demux */
+  gst_adaptive_demux_start_tasks (demux);
+  GST_MANIFEST_UNLOCK (demux);
+  GST_API_UNLOCK (demux);
+  gst_event_unref (event);
+
+  return ret;
+}
+
+static gboolean
 gst_adaptive_demux_src_event (GstPad * pad, GstObject * parent,
     GstEvent * event)
 {
   GstAdaptiveDemux *demux;
-  GstAdaptiveDemuxClass *demux_class;
 
   demux = GST_ADAPTIVE_DEMUX_CAST (parent);
-  demux_class = GST_ADAPTIVE_DEMUX_GET_CLASS (demux);
 
   /* FIXME handle events received on pads that are to be removed */
 
   switch (event->type) {
     case GST_EVENT_SEEK:
     {
-      gdouble rate;
-      GstFormat format;
-      GstSeekFlags flags;
-      GstSeekType start_type, stop_type;
-      gint64 start, stop;
-      guint32 seqnum;
-      gboolean update;
-      gboolean ret = TRUE;
-      GstSegment oldsegment;
-      GstAdaptiveDemuxStream *stream = NULL;
-
-      GST_INFO_OBJECT (demux, "Received seek event");
-
-      GST_API_LOCK (demux);
-      GST_MANIFEST_LOCK (demux);
-
-      if (!gst_adaptive_demux_can_seek (demux)) {
-        GST_MANIFEST_UNLOCK (demux);
-        GST_API_UNLOCK (demux);
-        gst_event_unref (event);
-        return FALSE;
-      }
-
-      gst_event_parse_seek (event, &rate, &format, &flags, &start_type, &start,
-          &stop_type, &stop);
-
-      if (format != GST_FORMAT_TIME) {
-        GST_MANIFEST_UNLOCK (demux);
-        GST_API_UNLOCK (demux);
-        gst_event_unref (event);
-        return FALSE;
-      }
-
-      if (gst_adaptive_demux_is_live (demux)) {
-        gint64 range_start, range_stop;
-        if (!gst_adaptive_demux_get_live_seek_range (demux, &range_start,
-                &range_stop)) {
-          GST_MANIFEST_UNLOCK (demux);
-          GST_API_UNLOCK (demux);
-          gst_event_unref (event);
-          return FALSE;
-        }
-        if (start < range_start || start >= range_stop) {
-          GST_MANIFEST_UNLOCK (demux);
-          GST_API_UNLOCK (demux);
-          GST_WARNING_OBJECT (demux, "Seek to invalid position");
-          gst_event_unref (event);
-          return FALSE;
-        }
-      }
-
-      seqnum = gst_event_get_seqnum (event);
-
-      GST_DEBUG_OBJECT (demux, "seek event, %" GST_PTR_FORMAT, event);
-
-      /* have a backup in case seek fails */
-      gst_segment_copy_into (&demux->segment, &oldsegment);
-
-      if (flags & GST_SEEK_FLAG_FLUSH) {
-        GstEvent *fevent;
-
-        GST_DEBUG_OBJECT (demux, "sending flush start");
-        fevent = gst_event_new_flush_start ();
-        gst_event_set_seqnum (fevent, seqnum);
-        gst_adaptive_demux_push_src_event (demux, fevent);
-
-        gst_adaptive_demux_stop_tasks (demux);
-      } else if ((rate > 0 && start_type != GST_SEEK_TYPE_NONE) ||
-          (rate < 0 && stop_type != GST_SEEK_TYPE_NONE)) {
-
-        gst_adaptive_demux_stop_tasks (demux);
-      }
-
-      GST_ADAPTIVE_DEMUX_SEGMENT_LOCK (demux);
-
-      /*
-       * Handle snap seeks as follows:
-       * 1) do the snap seeking on the stream that received
-       *    the event
-       * 2) use the final position on this stream to seek
-       *    on the other streams to the same position
-       *
-       * We can't snap at all streams at the same time as
-       * they might end in different positions, so just
-       * use the one that received the event as the 'leading'
-       * one to do the snap seek.
-       */
-      if (IS_SNAP_SEEK (flags) && demux_class->stream_seek && (stream =
-              gst_adaptive_demux_find_stream_for_pad (demux, pad))) {
-        GstClockTime ts;
-        GstSeekFlags stream_seek_flags = flags;
-
-        /* snap-seek on the stream that received the event and then
-         * use the resulting position to seek on all streams */
-
-        if (rate >= 0) {
-          if (start_type != GST_SEEK_TYPE_NONE)
-            ts = start;
-          else {
-            ts = stream->segment.position;
-            start_type = GST_SEEK_TYPE_SET;
-          }
-        } else {
-          if (stop_type != GST_SEEK_TYPE_NONE)
-            ts = stop;
-          else {
-            stop_type = GST_SEEK_TYPE_SET;
-            ts = stream->segment.position;
-          }
-        }
-
-        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);
-        if (rate >= 0) {
-          start = ts;
-        } else {
-          stop = ts;
-        }
-        event =
-            gst_event_new_seek (rate, format, REMOVE_SNAP_FLAGS (flags),
-            start_type, start, stop_type, stop);
-        GST_DEBUG_OBJECT (demux, "Adapted snap seek to %" GST_PTR_FORMAT,
-            event);
-      }
-      stream = NULL;
-
-      gst_segment_do_seek (&demux->segment, rate, format, flags, start_type,
-          start, stop_type, stop, &update);
-
-      /* FIXME - this seems unatural, do_seek() is updating base when we
-       * only want the start/stop position to change, maybe do_seek() needs
-       * some fixing? */
-      if (!(flags & GST_SEEK_FLAG_FLUSH) && ((rate > 0
-                  && start_type == GST_SEEK_TYPE_NONE) || (rate < 0
-                  && stop_type == GST_SEEK_TYPE_NONE))) {
-        demux->segment.base = oldsegment.base;
-      }
-
-      GST_DEBUG_OBJECT (demux, "Calling subclass seek: %" GST_PTR_FORMAT,
-          event);
-
-      ret = demux_class->seek (demux, event);
-
-      if (!ret) {
-        /* Is there anything else we can do if it fails? */
-        gst_segment_copy_into (&oldsegment, &demux->segment);
-      } else {
-        demux->priv->segment_seqnum = seqnum;
-      }
-      GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK (demux);
-
-      if (flags & GST_SEEK_FLAG_FLUSH) {
-        GstEvent *fevent;
-
-        GST_DEBUG_OBJECT (demux, "Sending flush stop on all pad");
-        fevent = gst_event_new_flush_stop (TRUE);
-        gst_event_set_seqnum (fevent, seqnum);
-        gst_adaptive_demux_push_src_event (demux, fevent);
-      }
-
-      if (demux->next_streams) {
-        gst_adaptive_demux_expose_streams (demux, FALSE);
-      } else {
-        GList *iter;
-        GstClockTime period_start =
-            gst_adaptive_demux_get_period_start_time (demux);
-
-        GST_ADAPTIVE_DEMUX_SEGMENT_LOCK (demux);
-        for (iter = demux->streams; iter; iter = g_list_next (iter)) {
-          GstAdaptiveDemuxStream *stream = iter->data;
-          GstEvent *seg_evt;
-          GstClockTime offset;
-
-          /* See comments in gst_adaptive_demux_get_period_start_time() for
-           * an explanation of the segment modifications */
-          stream->segment = demux->segment;
-          offset =
-              gst_adaptive_demux_stream_get_presentation_offset (demux, stream);
-          stream->segment.start += offset - period_start;
-          if (demux->segment.rate > 0 && start_type != GST_SEEK_TYPE_NONE)
-            stream->segment.position = stream->segment.start;
-          else if (demux->segment.rate < 0 && stop_type != GST_SEEK_TYPE_NONE)
-            stream->segment.position = stream->segment.stop;
-          seg_evt = gst_event_new_segment (&stream->segment);
-          gst_event_set_seqnum (seg_evt, demux->priv->segment_seqnum);
-          gst_event_replace (&stream->pending_segment, seg_evt);
-          gst_event_unref (seg_evt);
-        }
-
-        GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK (demux);
-      }
-
-      /* Restart the demux */
-      gst_adaptive_demux_start_tasks (demux);
-      GST_MANIFEST_UNLOCK (demux);
-      GST_API_UNLOCK (demux);
-
-      gst_event_unref (event);
-      return ret;
+      return gst_adaptive_demux_handle_seek_event (demux, pad, event);
     }
     case GST_EVENT_RECONFIGURE:{
       GstAdaptiveDemuxStream *stream;
@@ -1672,7 +1717,6 @@
 
     stream->download_error_count = 0;
     stream->need_header = TRUE;
-    gst_adapter_clear (stream->adapter);
   }
 }
 
@@ -1969,12 +2013,8 @@
  */
 static GstFlowReturn
 gst_adaptive_demux_stream_data_received_default (GstAdaptiveDemux * demux,
-    GstAdaptiveDemuxStream * stream)
+    GstAdaptiveDemuxStream * stream, GstBuffer * buffer)
 {
-  GstBuffer *buffer;
-
-  buffer = gst_adapter_take_buffer (stream->adapter,
-      gst_adapter_available (stream->adapter));
   return gst_adaptive_demux_stream_push_buffer (stream, buffer);
 }
 
@@ -2070,15 +2110,14 @@
   }
 
   stream->download_total_time +=
-      g_get_monotonic_time () - stream->download_chunk_start_time;
+      GST_TIME_AS_USECONDS (gst_adaptive_demux_get_monotonic_time (demux)) -
+      stream->download_chunk_start_time;
   stream->download_total_bytes += gst_buffer_get_size (buffer);
 
-  gst_adapter_push (stream->adapter, buffer);
-  GST_DEBUG_OBJECT (stream->pad, "Received buffer of size %" G_GSIZE_FORMAT
-      ". Now %" G_GSIZE_FORMAT " on adapter", gst_buffer_get_size (buffer),
-      gst_adapter_available (stream->adapter));
+  GST_DEBUG_OBJECT (stream->pad, "Received buffer of size %" G_GSIZE_FORMAT,
+      gst_buffer_get_size (buffer));
 
-  ret = klass->data_received (demux, stream);
+  ret = klass->data_received (demux, stream, buffer);
 
   if (ret == GST_FLOW_FLUSHING) {
     /* do not make any changes if the stream is cancelled */
@@ -2091,9 +2130,12 @@
     g_mutex_unlock (&stream->fragment_download_lock);
   }
 
-  stream->download_chunk_start_time = g_get_monotonic_time ();
+  stream->download_chunk_start_time =
+      GST_TIME_AS_USECONDS (gst_adaptive_demux_get_monotonic_time (demux));
 
   if (ret != GST_FLOW_OK) {
+    gboolean finished = FALSE;
+
     if (ret < GST_FLOW_EOS) {
       GST_ELEMENT_ERROR (demux, STREAM, FAILED, (NULL),
           ("stream stopped, reason %s", gst_flow_get_name (ret)));
@@ -2105,9 +2147,22 @@
           gst_flow_get_name (ret));
     }
 
-    gst_adaptive_demux_stream_fragment_download_finish (stream, ret, NULL);
-    if (ret == (GstFlowReturn) GST_ADAPTIVE_DEMUX_FLOW_SWITCH)
+    if (ret == (GstFlowReturn) GST_ADAPTIVE_DEMUX_FLOW_SWITCH) {
       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 */
+      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 */
+      } else if (ret != GST_FLOW_OK) {
+        goto error;
+      }
+      finished = TRUE;
+    }
+
+    gst_adaptive_demux_stream_fragment_download_finish (stream, ret, NULL);
+    if (finished)
+      ret = GST_FLOW_EOS;
   }
 
 error:
@@ -2463,8 +2518,9 @@
     }
 
     if (G_LIKELY (stream->last_ret == GST_FLOW_OK)) {
-      stream->download_start_time = g_get_monotonic_time ();
-      stream->download_chunk_start_time = g_get_monotonic_time ();
+      stream->download_start_time =
+          GST_TIME_AS_USECONDS (gst_adaptive_demux_get_monotonic_time (demux));
+      stream->download_chunk_start_time = stream->download_start_time;
 
       /* src element is in state READY. Before we start it, we reset
        * download_finished
@@ -2668,7 +2724,7 @@
 gst_adaptive_demux_stream_download_loop (GstAdaptiveDemuxStream * stream)
 {
   GstAdaptiveDemux *demux = stream->demux;
-  guint64 next_download = g_get_monotonic_time ();
+  GstClockTime next_download = gst_adaptive_demux_get_monotonic_time (demux);
   GstFlowReturn ret;
   gboolean live;
 
@@ -2795,6 +2851,7 @@
         GST_PTR_FORMAT, seg_event);
     gst_pad_push_event (stream->pad, seg_event);
 
+    stream->discont = TRUE;
     stream->restart_download = FALSE;
   }
 
@@ -2810,7 +2867,8 @@
       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;
+        GstClockTime end_time =
+            gst_adaptive_demux_get_monotonic_time (demux) + wait_time;
 
         GST_DEBUG_OBJECT (stream->pad, "Download waiting for %" GST_TIME_FORMAT,
             GST_TIME_ARGS (wait_time));
@@ -2824,8 +2882,9 @@
           stream->last_ret = GST_FLOW_FLUSHING;
           goto cancelled;
         }
-        g_cond_wait_until (&stream->fragment_download_cond,
-            &stream->fragment_download_lock, end_time);
+        gst_adaptive_demux_wait_until (demux->realtime_clock,
+            &stream->fragment_download_cond, &stream->fragment_download_lock,
+            end_time);
         g_mutex_unlock (&stream->fragment_download_lock);
 
         GST_DEBUG_OBJECT (stream->pad, "Download finished waiting");
@@ -2844,7 +2903,7 @@
 
     stream->last_ret = GST_FLOW_OK;
 
-    next_download = g_get_monotonic_time ();
+    next_download = gst_adaptive_demux_get_monotonic_time (demux);
     ret = gst_adaptive_demux_stream_download_fragment (stream);
 
     if (ret == GST_FLOW_FLUSHING) {
@@ -2930,9 +2989,7 @@
         }
 
         /* Wait half the fragment duration before retrying */
-        next_download +=
-            gst_util_uint64_scale
-            (stream->fragment.duration, G_USEC_PER_SEC, 2 * GST_SECOND);
+        next_download += stream->fragment.duration / 2;
 
         GST_MANIFEST_UNLOCK (demux);
 
@@ -2943,8 +3000,9 @@
           stream->last_ret = GST_FLOW_FLUSHING;
           goto cancelled;
         }
-        g_cond_wait_until (&stream->fragment_download_cond,
-            &stream->fragment_download_lock, next_download);
+        gst_adaptive_demux_wait_until (demux->realtime_clock,
+            &stream->fragment_download_cond, &stream->fragment_download_lock,
+            next_download);
         g_mutex_unlock (&stream->fragment_download_lock);
 
         GST_DEBUG_OBJECT (demux, "Retrying now");
@@ -3025,7 +3083,7 @@
 static void
 gst_adaptive_demux_updates_loop (GstAdaptiveDemux * demux)
 {
-  gint64 next_update;
+  GstClockTime next_update;
   GstAdaptiveDemuxClass *klass = GST_ADAPTIVE_DEMUX_GET_CLASS (demux);
 
   /* Loop for updating of the playlist. This periodically checks if
@@ -3037,8 +3095,9 @@
 
   GST_MANIFEST_LOCK (demux);
 
-  next_update = g_get_monotonic_time () +
-      klass->get_manifest_update_interval (demux);
+  next_update =
+      gst_adaptive_demux_get_monotonic_time (demux) +
+      klass->get_manifest_update_interval (demux) * GST_USECOND;
 
   /* Updating playlist only needed for live playlists */
   while (gst_adaptive_demux_is_live (demux)) {
@@ -3054,7 +3113,8 @@
       g_mutex_unlock (&demux->priv->updates_timed_lock);
       goto quit;
     }
-    g_cond_wait_until (&demux->priv->updates_timed_cond,
+    gst_adaptive_demux_wait_until (demux->realtime_clock,
+        &demux->priv->updates_timed_cond,
         &demux->priv->updates_timed_lock, next_update);
     g_mutex_unlock (&demux->priv->updates_timed_lock);
 
@@ -3078,8 +3138,8 @@
       demux->priv->update_failed_count++;
       if (demux->priv->update_failed_count <= DEFAULT_FAILED_COUNT) {
         GST_WARNING_OBJECT (demux, "Could not update the playlist");
-        next_update = g_get_monotonic_time () +
-            klass->get_manifest_update_interval (demux);
+        next_update = gst_adaptive_demux_get_monotonic_time (demux)
+            + klass->get_manifest_update_interval (demux) * GST_USECOND;
       } else {
         GST_ELEMENT_ERROR (demux, STREAM, FAILED,
             (_("Internal data stream error.")), ("Could not update playlist"));
@@ -3090,8 +3150,9 @@
       }
     } else {
       GST_DEBUG_OBJECT (demux, "Updated playlist successfully");
-      next_update = g_get_monotonic_time () +
-          klass->get_manifest_update_interval (demux);
+      next_update =
+          gst_adaptive_demux_get_monotonic_time (demux) +
+          klass->get_manifest_update_interval (demux) * GST_USECOND;
 
       /* Wake up download tasks */
       g_mutex_lock (&demux->priv->manifest_update_lock);
@@ -3238,13 +3299,12 @@
   }
 
   stream->download_start_time = stream->download_chunk_start_time =
-      g_get_monotonic_time ();
+      GST_TIME_AS_USECONDS (gst_adaptive_demux_get_monotonic_time (demux));
 
   if (ret == GST_FLOW_OK) {
     if (gst_adaptive_demux_stream_select_bitrate (demux, stream,
             gst_adaptive_demux_stream_update_current_bitrate (demux, stream))) {
       stream->need_header = TRUE;
-      gst_adapter_clear (stream->adapter);
       ret = (GstFlowReturn) GST_ADAPTIVE_DEMUX_FLOW_SWITCH;
     }
 
@@ -3418,3 +3478,131 @@
   gst_adaptive_demux_expose_streams (demux, FALSE);
   gst_adaptive_demux_start_tasks (demux);
 }
+
+/**
+ * gst_adaptive_demux_get_monotonic_time:
+ * Returns: a monotonically increasing time, using the system realtime clock
+ */
+GstClockTime
+gst_adaptive_demux_get_monotonic_time (GstAdaptiveDemux * demux)
+{
+  g_return_val_if_fail (demux != NULL, GST_CLOCK_TIME_NONE);
+  return gst_clock_get_time (demux->realtime_clock);
+}
+
+/**
+ * gst_adaptive_demux_get_client_now_utc:
+ * @demux: #GstAdaptiveDemux
+ * Returns: the client's estimate of UTC
+ *
+ * Used to find the client's estimate of UTC, using the system realtime clock.
+ */
+GDateTime *
+gst_adaptive_demux_get_client_now_utc (GstAdaptiveDemux * demux)
+{
+  GstClockTime rtc_now;
+  gint64 utc_now;
+  GTimeVal gtv;
+
+  rtc_now = gst_clock_get_time (demux->realtime_clock);
+  utc_now = demux->clock_offset + GST_TIME_AS_USECONDS (rtc_now);
+  gtv.tv_sec = utc_now / G_TIME_SPAN_SECOND;
+  gtv.tv_usec = utc_now % G_TIME_SPAN_SECOND;
+  return g_date_time_new_from_timeval_utc (&gtv);
+}
+
+static GstAdaptiveDemuxTimer *
+gst_adaptive_demux_timer_new (GCond * cond, GMutex * mutex)
+{
+  GstAdaptiveDemuxTimer *timer;
+
+  timer = g_slice_new (GstAdaptiveDemuxTimer);
+  timer->fired = FALSE;
+  timer->cond = cond;
+  timer->mutex = mutex;
+  timer->ref_count = 1;
+  return timer;
+}
+
+static GstAdaptiveDemuxTimer *
+gst_adaptive_demux_timer_ref (GstAdaptiveDemuxTimer * timer)
+{
+  g_return_val_if_fail (timer != NULL, NULL);
+  g_atomic_int_inc (&timer->ref_count);
+  return timer;
+}
+
+static void
+gst_adaptive_demux_timer_unref (GstAdaptiveDemuxTimer * timer)
+{
+  g_return_if_fail (timer != NULL);
+  if (g_atomic_int_dec_and_test (&timer->ref_count)) {
+    g_slice_free (GstAdaptiveDemuxTimer, timer);
+  }
+}
+
+/* gst_adaptive_demux_wait_until:
+ * A replacement for g_cond_wait_until that uses the clock rather
+ * than system time to control the duration of the sleep. Typically
+ * clock is actually a #GstSystemClock, in which case this function
+ * behaves exactly like g_cond_wait_until. Inside unit tests,
+ * the clock is typically a #GstTestClock, which allows tests to run
+ * in non-realtime.
+ * This function must be called with mutex held.
+ */
+static gboolean
+gst_adaptive_demux_wait_until (GstClock * clock, GCond * cond, GMutex * mutex,
+    GstClockTime end_time)
+{
+  GstAdaptiveDemuxTimer *timer;
+  gboolean fired;
+  GstClockReturn res;
+
+  if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (end_time))) {
+    /* for an invalid time, gst_clock_id_wait_async will try to call
+     * gst_adaptive_demux_clock_callback from the current thread.
+     * It still holds the mutex while doing that, so it will deadlock.
+     * g_cond_wait_until would return immediately with false, so we'll do the same.
+     */
+    return FALSE;
+  }
+  timer = gst_adaptive_demux_timer_new (cond, mutex);
+  timer->clock_id = gst_clock_new_single_shot_id (clock, end_time);
+  res =
+      gst_clock_id_wait_async (timer->clock_id,
+      gst_adaptive_demux_clock_callback, gst_adaptive_demux_timer_ref (timer),
+      (GDestroyNotify) gst_adaptive_demux_timer_unref);
+  /* clock does not support asynchronously wait. Assert and return */
+  if (res == GST_CLOCK_UNSUPPORTED) {
+    gst_clock_id_unref (timer->clock_id);
+    gst_adaptive_demux_timer_unref (timer);
+    g_return_val_if_reached (TRUE);
+  }
+  g_assert (!timer->fired);
+  /* the gst_adaptive_demux_clock_callback() will signal the
+   * cond when the clock's single shot timer fires, or the cond will be
+   * signalled by another thread that wants to cause this wait to finish
+   * early (e.g. to terminate the waiting thread).
+   * There is no need for a while loop here, because that logic is
+   * implemented by the function calling gst_adaptive_demux_wait_until() */
+  g_cond_wait (cond, mutex);
+  fired = timer->fired;
+  if (!fired)
+    gst_clock_id_unschedule (timer->clock_id);
+  gst_clock_id_unref (timer->clock_id);
+  gst_adaptive_demux_timer_unref (timer);
+  return !fired;
+}
+
+static gboolean
+gst_adaptive_demux_clock_callback (GstClock * clock,
+    GstClockTime time, GstClockID id, gpointer user_data)
+{
+  GstAdaptiveDemuxTimer *timer = (GstAdaptiveDemuxTimer *) user_data;
+  g_return_val_if_fail (timer != NULL, FALSE);
+  g_mutex_lock (timer->mutex);
+  timer->fired = TRUE;
+  g_cond_signal (timer->cond);
+  g_mutex_unlock (timer->mutex);
+  return TRUE;
+}
diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.h b/gst-libs/gst/adaptivedemux/gstadaptivedemux.h
index ae2d895..c75309f 100644
--- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.h
+++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.h
@@ -81,6 +81,8 @@
   g_clear_error (&err); \
 } G_STMT_END
 
+#define GST_ADAPTIVE_DEMUX_FLOW_END_OF_FRAGMENT GST_FLOW_CUSTOM_SUCCESS_1
+
 typedef struct _GstAdaptiveDemuxStreamFragment GstAdaptiveDemuxStreamFragment;
 typedef struct _GstAdaptiveDemuxStream GstAdaptiveDemuxStream;
 typedef struct _GstAdaptiveDemux GstAdaptiveDemux;
@@ -120,8 +122,6 @@
 
   GstSegment segment;
 
-  GstAdapter *adapter;
-
   GstCaps *pending_caps;
   GstEvent *pending_segment;
   GstTagList *pending_tags;
@@ -205,6 +205,10 @@
   gboolean have_group_id;
   guint group_id;
 
+  /* Realtime clock */
+  GstClock *realtime_clock;
+  gint64 clock_offset; /* offset between realtime_clock and UTC (in usec) */
+
   /* < private > */
   GstAdaptiveDemuxPrivate *priv;
 };
@@ -381,13 +385,14 @@
    * data_received:
    * @demux: #GstAdaptiveDemux
    * @stream: #GstAdaptiveDemuxStream
+   * @buffer: #GstBuffer
    *
    * Notifies the subclass that a fragment chunk was downloaded. The subclass
-   * can look at the data at the adapter and modify/push data as desired.
+   * can look at the data and modify/push data as desired.
    *
    * Returns: #GST_FLOW_OK if successful, #GST_FLOW_ERROR in case of error.
    */
-  GstFlowReturn (*data_received) (GstAdaptiveDemux * demux, GstAdaptiveDemuxStream * stream);
+  GstFlowReturn (*data_received) (GstAdaptiveDemux * demux, GstAdaptiveDemuxStream * stream, GstBuffer * buffer);
 
   /**
    * get_live_seek_range:
@@ -450,6 +455,9 @@
 void gst_adaptive_demux_stream_queue_event (GstAdaptiveDemuxStream * stream,
     GstEvent * event);
 
+GstClockTime gst_adaptive_demux_get_monotonic_time (GstAdaptiveDemux * demux);
+GDateTime *gst_adaptive_demux_get_client_now_utc (GstAdaptiveDemux * demux);
+
 G_END_DECLS
 
 #endif
diff --git a/gst-libs/gst/audio/Makefile.in b/gst-libs/gst/audio/Makefile.in
index d7846bc..e23e3bd 100644
--- a/gst-libs/gst/audio/Makefile.in
+++ b/gst-libs/gst/audio/Makefile.in
@@ -294,6 +294,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -509,6 +511,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -635,8 +639,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -681,6 +683,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/audio/gstaudioaggregator.c b/gst-libs/gst/audio/gstaudioaggregator.c
index 5d7e8d6..a09b8a4 100644
--- a/gst-libs/gst/audio/gstaudioaggregator.c
+++ b/gst-libs/gst/audio/gstaudioaggregator.c
@@ -79,12 +79,24 @@
     GstAggregator * aggregator);
 
 static void
+gst_audio_aggregator_pad_finalize (GObject * object)
+{
+  GstAudioAggregatorPad *pad = (GstAudioAggregatorPad *) object;
+
+  gst_buffer_replace (&pad->priv->buffer, NULL);
+
+  G_OBJECT_CLASS (gst_audio_aggregator_pad_parent_class)->finalize (object);
+}
+
+static void
 gst_audio_aggregator_pad_class_init (GstAudioAggregatorPadClass * klass)
 {
+  GObjectClass *gobject_class = (GObjectClass *) klass;
   GstAggregatorPadClass *aggpadclass = (GstAggregatorPadClass *) klass;
 
   g_type_class_add_private (klass, sizeof (GstAudioAggregatorPadPrivate));
 
+  gobject_class->finalize = gst_audio_aggregator_pad_finalize;
   aggpadclass->flush = GST_DEBUG_FUNCPTR (gst_audio_aggregator_pad_flush_pad);
 }
 
diff --git a/gst-libs/gst/base/Makefile.in b/gst-libs/gst/base/Makefile.in
index 7117a16..070417b 100644
--- a/gst-libs/gst/base/Makefile.in
+++ b/gst-libs/gst/base/Makefile.in
@@ -288,6 +288,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -503,6 +505,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -629,8 +633,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -675,6 +677,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/base/gstaggregator.c b/gst-libs/gst/base/gstaggregator.c
index ec297df..d458e97 100644
--- a/gst-libs/gst/base/gstaggregator.c
+++ b/gst-libs/gst/base/gstaggregator.c
@@ -270,7 +270,7 @@
 
 struct _GstAggregatorPrivate
 {
-  gint padcount;
+  gint max_padserial;
 
   /* Our state is >= PAUSED */
   gboolean running;             /* protected by src_lock */
@@ -424,6 +424,7 @@
 {
   GstAggregatorPad *pad;
   GList *l, *sinkpads;
+  gboolean have_data = TRUE;
 
   GST_LOG_OBJECT (self, "checking pads");
 
@@ -438,22 +439,30 @@
 
     PAD_LOCK (pad);
 
-    /* In live mode, having a single pad with buffers is enough to
-     * generate a start time from it. In non-live mode all pads need
-     * to have a buffer
-     */
-    if (self->priv->peer_latency_live &&
-        !gst_aggregator_pad_queue_is_empty (pad))
+    if (gst_aggregator_pad_queue_is_empty (pad)) {
+      if (!pad->priv->eos) {
+        have_data = FALSE;
+
+        /* If not live we need data on all pads, so leave the loop */
+        if (!self->priv->peer_latency_live) {
+          PAD_UNLOCK (pad);
+          goto pad_not_ready;
+        }
+      }
+    } else if (self->priv->peer_latency_live) {
+      /* In live mode, having a single pad with buffers is enough to
+       * generate a start time from it. In non-live mode all pads need
+       * to have a buffer
+       */
       self->priv->first_buffer = FALSE;
-
-    if (gst_aggregator_pad_queue_is_empty (pad) && !pad->priv->eos) {
-      PAD_UNLOCK (pad);
-      goto pad_not_ready;
     }
-    PAD_UNLOCK (pad);
 
+    PAD_UNLOCK (pad);
   }
 
+  if (!have_data)
+    goto pad_not_ready;
+
   self->priv->first_buffer = FALSE;
 
   GST_OBJECT_UNLOCK (self);
@@ -649,6 +658,7 @@
    * and if a pad does not have a buffer in time we ignore
    * that pad.
    */
+  GST_OBJECT_LOCK (self);
   if (!GST_CLOCK_TIME_IS_VALID (latency) ||
       !GST_IS_CLOCK (GST_ELEMENT_CLOCK (self)) ||
       !GST_CLOCK_TIME_IS_VALID (start) ||
@@ -659,6 +669,7 @@
      * then check if we're ready now. If we return FALSE,
      * we will be directly called again.
      */
+    GST_OBJECT_UNLOCK (self);
     SRC_WAIT (self);
   } else {
     GstClockTime base_time, time;
@@ -669,11 +680,8 @@
     GST_DEBUG_OBJECT (self, "got subclass start time: %" GST_TIME_FORMAT,
         GST_TIME_ARGS (start));
 
-    GST_OBJECT_LOCK (self);
     base_time = GST_ELEMENT_CAST (self)->base_time;
-    clock = GST_ELEMENT_CLOCK (self);
-    if (clock)
-      gst_object_ref (clock);
+    clock = gst_object_ref (GST_ELEMENT_CLOCK (self));
     GST_OBJECT_UNLOCK (self);
 
     time = base_time + start;
@@ -683,7 +691,7 @@
         GST_TIME_FORMAT " (base %" GST_TIME_FORMAT " start %" GST_TIME_FORMAT
         " latency %" GST_TIME_FORMAT " current %" GST_TIME_FORMAT ")",
         GST_TIME_ARGS (time),
-        GST_TIME_ARGS (GST_ELEMENT_CAST (self)->base_time),
+        GST_TIME_ARGS (base_time),
         GST_TIME_ARGS (start), GST_TIME_ARGS (latency),
         GST_TIME_ARGS (gst_clock_get_time (clock)));
 
@@ -1316,22 +1324,22 @@
   gchar *name = NULL;
 
   if (templ->direction != GST_PAD_SINK ||
-      g_strcmp0 (templ->name_template, "sink_%u"))
+      g_strcmp0 (templ->name_template, "sink_%u") != 0)
     goto not_sink;
 
   GST_OBJECT_LOCK (self);
   if (req_name == NULL || strlen (req_name) < 6
       || !g_str_has_prefix (req_name, "sink_")) {
     /* no name given when requesting the pad, use next available int */
-    priv->padcount++;
+    serial = ++priv->max_padserial;
   } else {
     /* parse serial number from requested padname */
     serial = g_ascii_strtoull (&req_name[5], NULL, 10);
-    if (serial >= priv->padcount)
-      priv->padcount = serial;
+    if (serial > priv->max_padserial)
+      priv->max_padserial = serial;
   }
 
-  name = g_strdup_printf ("sink_%u", priv->padcount);
+  name = g_strdup_printf ("sink_%u", serial);
   agg_pad = g_object_new (GST_AGGREGATOR_GET_CLASS (self)->sinkpads_type,
       "name", name, "direction", GST_PAD_SINK, "template", templ, NULL);
   g_free (name);
@@ -2011,7 +2019,7 @@
       gst_element_class_get_pad_template (GST_ELEMENT_CLASS (klass), "src");
   g_return_if_fail (pad_template != NULL);
 
-  priv->padcount = -1;
+  priv->max_padserial = -1;
   priv->tags_changed = FALSE;
 
   self->priv->peer_latency_live = FALSE;
@@ -2139,10 +2147,6 @@
   if (aggpad->priv->pending_eos == TRUE)
     goto eos;
 
-  flow_return = aggpad->priv->flow_return;
-  if (flow_return != GST_FLOW_OK)
-    goto flushing;
-
   PAD_UNLOCK (aggpad);
 
   if (aggclass->clip && head) {
diff --git a/gst-libs/gst/basecamerabinsrc/Makefile.in b/gst-libs/gst/basecamerabinsrc/Makefile.in
index a4e5c32..2c592de 100644
--- a/gst-libs/gst/basecamerabinsrc/Makefile.in
+++ b/gst-libs/gst/basecamerabinsrc/Makefile.in
@@ -293,6 +293,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -508,6 +510,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -634,8 +638,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -680,6 +682,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/codecparsers/Makefile.am b/gst-libs/gst/codecparsers/Makefile.am
index b180570..e7d8248 100644
--- a/gst-libs/gst/codecparsers/Makefile.am
+++ b/gst-libs/gst/codecparsers/Makefile.am
@@ -6,6 +6,7 @@
 	parserutils.c nalutils.c dboolhuff.c vp8utils.c \
 	gstjpegparser.c \
 	gstmpegvideometa.c \
+	gstjpeg2000sampling.c \
 	gstvp9parser.c vp9utils.c
 
 libgstcodecparsers_@GST_API_VERSION@includedir = \
@@ -18,6 +19,7 @@
 	gsth265parser.h gstvp8parser.h gstvp8rangedecoder.h \
 	gstjpegparser.h \
 	gstmpegvideometa.h \
+	gstjpeg2000sampling.h \
 	gstvp9parser.h
 
 libgstcodecparsers_@GST_API_VERSION@_la_CFLAGS = \
diff --git a/gst-libs/gst/codecparsers/Makefile.in b/gst-libs/gst/codecparsers/Makefile.in
index 084014e..ab7d6e3 100644
--- a/gst-libs/gst/codecparsers/Makefile.in
+++ b/gst-libs/gst/codecparsers/Makefile.in
@@ -182,6 +182,7 @@
 	libgstcodecparsers_@GST_API_VERSION@_la-vp8utils.lo \
 	libgstcodecparsers_@GST_API_VERSION@_la-gstjpegparser.lo \
 	libgstcodecparsers_@GST_API_VERSION@_la-gstmpegvideometa.lo \
+	libgstcodecparsers_@GST_API_VERSION@_la-gstjpeg2000sampling.lo \
 	libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.lo \
 	libgstcodecparsers_@GST_API_VERSION@_la-vp9utils.lo
 libgstcodecparsers_@GST_API_VERSION@_la_OBJECTS =  \
@@ -323,6 +324,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -538,6 +541,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -664,8 +669,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -710,6 +713,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -805,6 +810,7 @@
 	parserutils.c nalutils.c dboolhuff.c vp8utils.c \
 	gstjpegparser.c \
 	gstmpegvideometa.c \
+	gstjpeg2000sampling.c \
 	gstvp9parser.c vp9utils.c
 
 libgstcodecparsers_@GST_API_VERSION@includedir = \
@@ -816,6 +822,7 @@
 	gsth265parser.h gstvp8parser.h gstvp8rangedecoder.h \
 	gstjpegparser.h \
 	gstmpegvideometa.h \
+	gstjpeg2000sampling.h \
 	gstvp9parser.h
 
 libgstcodecparsers_@GST_API_VERSION@_la_CFLAGS = \
@@ -918,6 +925,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-dboolhuff.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gsth264parser.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gsth265parser.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstjpeg2000sampling.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstjpegparser.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstmpeg4parser.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstmpegvideometa.Plo@am__quote@
@@ -1046,6 +1054,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) $(libgstcodecparsers_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstcodecparsers_@GST_API_VERSION@_la-gstmpegvideometa.lo `test -f 'gstmpegvideometa.c' || echo '$(srcdir)/'`gstmpegvideometa.c
 
+libgstcodecparsers_@GST_API_VERSION@_la-gstjpeg2000sampling.lo: gstjpeg2000sampling.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) $(libgstcodecparsers_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstcodecparsers_@GST_API_VERSION@_la-gstjpeg2000sampling.lo -MD -MP -MF $(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstjpeg2000sampling.Tpo -c -o libgstcodecparsers_@GST_API_VERSION@_la-gstjpeg2000sampling.lo `test -f 'gstjpeg2000sampling.c' || echo '$(srcdir)/'`gstjpeg2000sampling.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstjpeg2000sampling.Tpo $(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstjpeg2000sampling.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstjpeg2000sampling.c' object='libgstcodecparsers_@GST_API_VERSION@_la-gstjpeg2000sampling.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) $(libgstcodecparsers_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstcodecparsers_@GST_API_VERSION@_la-gstjpeg2000sampling.lo `test -f 'gstjpeg2000sampling.c' || echo '$(srcdir)/'`gstjpeg2000sampling.c
+
 libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.lo: gstvp9parser.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) $(libgstcodecparsers_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.lo -MD -MP -MF $(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.Tpo -c -o libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.lo `test -f 'gstvp9parser.c' || echo '$(srcdir)/'`gstvp9parser.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.Tpo $(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.Plo
diff --git a/gst-libs/gst/codecparsers/gsth264parser.c b/gst-libs/gst/codecparsers/gsth264parser.c
index 9dc9822..bc84416 100644
--- a/gst-libs/gst/codecparsers/gsth264parser.c
+++ b/gst-libs/gst/codecparsers/gsth264parser.c
@@ -947,7 +947,7 @@
     }
   }
 
-  time_offset_length = 0;
+  time_offset_length = 24;
   if (vui->nal_hrd_parameters_present_flag)
     time_offset_length = vui->nal_hrd_parameters.time_offset_length;
   else if (vui->vcl_hrd_parameters_present_flag)
@@ -1498,7 +1498,6 @@
   gint width, height;
   guint subwc[] = { 1, 2, 2, 1 };
   guint subhc[] = { 1, 2, 1, 1 };
-  GstH264VUIParams *vui = NULL;
 
   memset (sps, 0, sizeof (*sps));
 
@@ -1592,7 +1591,6 @@
   if (sps->vui_parameters_present_flag && parse_vui_params) {
     if (!gst_h264_parse_vui_parameters (sps, nr))
       goto error;
-    vui = &sps->vui_parameters;
   }
 
   /* calculate ChromaArrayType */
@@ -1631,26 +1629,10 @@
     GST_LOG ("crop_rectangle x=%u y=%u width=%u, height=%u", sps->crop_rect_x,
         sps->crop_rect_y, width, height);
   }
-  sps->fps_num = 0;
-  sps->fps_den = 1;
 
-  if (vui && vui->timing_info_present_flag) {
-    /* derive framerate */
-    /* FIXME verify / also handle other cases */
-    GST_LOG ("Framerate: %u %u %u %u", parse_vui_params,
-        vui->fixed_frame_rate_flag, sps->frame_mbs_only_flag,
-        vui->pic_struct_present_flag);
+  sps->fps_num_removed = 0;
+  sps->fps_den_removed = 1;
 
-    if (parse_vui_params && vui->fixed_frame_rate_flag) {
-      sps->fps_num = vui->time_scale;
-      sps->fps_den = vui->num_units_in_tick;
-      /* picture is a frame = 2 fields */
-      sps->fps_den *= 2;
-      GST_LOG ("framerate %d/%d", sps->fps_num, sps->fps_den);
-    }
-  } else {
-    GST_LOG ("No VUI, unknown framerate");
-  }
   return TRUE;
 
 error:
diff --git a/gst-libs/gst/codecparsers/gsth264parser.h b/gst-libs/gst/codecparsers/gsth264parser.h
index be5194f..56d8720 100644
--- a/gst-libs/gst/codecparsers/gsth264parser.h
+++ b/gst-libs/gst/codecparsers/gsth264parser.h
@@ -437,7 +437,7 @@
  * @aspect_ratio_idc specifies the value of the sample aspect ratio of the luma samples
  * @sar_width indicates the horizontal size of the sample aspect ratio
  * @sar_height indicates the vertical size of the sample aspect ratio
- * @overscan_info_present_flag: %TRUE overscan_appropriate_flag is present %FALSE otherwize
+ * @overscan_info_present_flag: %TRUE overscan_appropriate_flag is present %FALSE otherwise
  * @overscan_appropriate_flag: %TRUE indicates that the cropped decoded pictures
  *  output are suitable for display using overscan. %FALSE the cropped decoded pictures
  *  output contain visually important information
@@ -451,7 +451,7 @@
  * @transfer_characteristics: indicates the opto-electronic transfer characteristic
  * @matrix_coefficients: describes the matrix coefficients used in deriving luma and chroma signals
  * @chroma_loc_info_present_flag: %TRUE specifies that chroma_sample_loc_type_top_field and
- *  chroma_sample_loc_type_bottom_field are present, %FALSE otherwize
+ *  chroma_sample_loc_type_bottom_field are present, %FALSE otherwise
  * @chroma_sample_loc_type_top_field: specify the location of chroma for top field
  * @chroma_sample_loc_type_bottom_field specify the location of chroma for bottom field
  * @timing_info_present_flag: %TRUE specifies that num_units_in_tick,
@@ -460,7 +460,7 @@
  * time_scale: is the number of time units that pass in one second
  * @fixed_frame_rate_flag: %TRUE 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, %FALSE
- *  otherwize.
+ *  otherwise.
  * @nal_hrd_parameters_present_flag: %TRUE if nal hrd parameters present in the bitstream
  * @vcl_hrd_parameters_present_flag: %TRUE if nal vlc hrd parameters present in the bitstream
  * @low_delay_hrd_flag: specifies the HRD operational mode
@@ -710,7 +710,7 @@
   gint width, height;
   gint crop_rect_width, crop_rect_height;
   gint crop_rect_x, crop_rect_y;
-  gint fps_num, fps_den;
+  gint fps_num_removed, fps_den_removed; /* FIXME: remove */
   gboolean valid;
 
   /* Subset SPS extensions */
diff --git a/gst-libs/gst/codecparsers/gsth265parser.h b/gst-libs/gst/codecparsers/gsth265parser.h
index 80cc270..4ec91fa 100644
--- a/gst-libs/gst/codecparsers/gsth265parser.h
+++ b/gst-libs/gst/codecparsers/gsth265parser.h
@@ -535,7 +535,7 @@
  * @aspect_ratio_idc specifies the value of the sample aspect ratio of the luma samples
  * @sar_width indicates the horizontal size of the sample aspect ratio
  * @sar_height indicates the vertical size of the sample aspect ratio
- * @overscan_info_present_flag: %TRUE overscan_appropriate_flag is present %FALSE otherwize
+ * @overscan_info_present_flag: %TRUE overscan_appropriate_flag is present %FALSE otherwise
  * @overscan_appropriate_flag: %TRUE indicates that the cropped decoded pictures
  *  output are suitable for display using overscan. %FALSE the cropped decoded pictures
  *  output contain visually important information
@@ -549,7 +549,7 @@
  * @transfer_characteristics: indicates the opto-electronic transfer characteristic
  * @matrix_coefficients: describes the matrix coefficients used in deriving luma and chroma signals
  * @chroma_loc_info_present_flag: %TRUE specifies that chroma_sample_loc_type_top_field and
- *  chroma_sample_loc_type_bottom_field are present, %FALSE otherwize
+ *  chroma_sample_loc_type_bottom_field are present, %FALSE otherwise
  * @chroma_sample_loc_type_top_field: specify the location of chroma for top field
  * @chroma_sample_loc_type_bottom_field specify the location of chroma for bottom field
  * @neutral_chroma_indication_flag: %TRUE indicate that the value of chroma samples is equla
diff --git a/gst-libs/gst/codecparsers/gstjpeg2000sampling.c b/gst-libs/gst/codecparsers/gstjpeg2000sampling.c
new file mode 100644
index 0000000..dba1c50
--- /dev/null
+++ b/gst-libs/gst/codecparsers/gstjpeg2000sampling.c
@@ -0,0 +1,126 @@
+/* GStreamer JPEG 2000 Sampling
+ * Copyright (C) <2016> Grok Image Compression Inc.
+ *  @author Aaron Boxer <boxerab@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:gstjpeg2000sampling
+ * @short_description: Manage JPEG 2000 sampling and colorspace fields
+ *
+ */
+
+#include "gstjpeg2000sampling.h"
+
+/* string values corresponding to GstJPEG2000Sampling enums */
+static const gchar *gst_jpeg2000_sampling_strings[] = {
+  "RGB",
+  "BGR",
+  "RGBA",
+  "BGRA",
+  "YCbCr-4:4:4",
+  "YCbCr-4:2:2",
+  "YCbCr-4:2:0",
+  "YCbCr-4:1:0",
+  "GRAYSCALE",
+  "YCbCrA-4:4:4:4",
+};
+
+/* convert string to GstJPEG2000Sampling enum */
+GstJPEG2000Sampling
+gst_jpeg2000_sampling_from_string (const gchar * sampling_string)
+{
+  GstJPEG2000Sampling i;
+  g_return_val_if_fail (sampling_string != NULL, GST_JPEG2000_SAMPLING_NONE);
+  for (i = 0; i < G_N_ELEMENTS (gst_jpeg2000_sampling_strings); ++i) {
+    if (!g_strcmp0 (sampling_string, gst_jpeg2000_sampling_strings[i]))
+      return (i + 1);
+  }
+  return GST_JPEG2000_SAMPLING_NONE;
+
+
+}
+
+/* convert GstJPEG2000Sampling enum to string */
+const gchar *
+gst_jpeg2000_sampling_to_string (GstJPEG2000Sampling sampling)
+{
+  g_return_val_if_fail (sampling > 0
+      && sampling <= G_N_ELEMENTS (gst_jpeg2000_sampling_strings), NULL);
+  return gst_jpeg2000_sampling_strings[sampling - 1];
+}
+
+/* check if @sampling is in RGB color space */
+gboolean
+gst_jpeg2000_sampling_is_rgb (GstJPEG2000Sampling sampling)
+{
+  return sampling == GST_JPEG2000_SAMPLING_RGB ||
+      sampling == GST_JPEG2000_SAMPLING_RGBA ||
+      sampling == GST_JPEG2000_SAMPLING_BGR
+      || sampling == GST_JPEG2000_SAMPLING_BGRA;
+}
+
+/* check if @sampling is in YUV color space */
+gboolean
+gst_jpeg2000_sampling_is_yuv (GstJPEG2000Sampling sampling)
+{
+  return sampling == GST_JPEG2000_SAMPLING_YBRA4444_EXT ||
+      sampling == GST_JPEG2000_SAMPLING_YBR444 ||
+      sampling == GST_JPEG2000_SAMPLING_YBR422 ||
+      sampling == GST_JPEG2000_SAMPLING_YBR420
+      || sampling == GST_JPEG2000_SAMPLING_YBR410;
+}
+
+/* check if @sampling is in GRAYSCALE color space */
+gboolean
+gst_jpeg2000_sampling_is_mono (GstJPEG2000Sampling sampling)
+{
+  return sampling == GST_JPEG2000_SAMPLING_GRAYSCALE;
+}
+
+/* string values corresponding to GstJPEG2000Colorspace enums */
+static const gchar *gst_jpeg2000_colorspace_strings[] = {
+  "sRGB",
+  "sYUV",
+  "GRAY",
+};
+
+/* convert GstJPEG2000Colorspace enum to string */
+GstJPEG2000Colorspace
+gst_jpeg2000_colorspace_from_string (const gchar * colorspace_string)
+{
+  GstJPEG2000Colorspace i;
+
+  g_return_val_if_fail (colorspace_string != NULL,
+      GST_JPEG2000_COLORSPACE_NONE);
+
+  for (i = 0; i < G_N_ELEMENTS (gst_jpeg2000_colorspace_strings); ++i) {
+    if (!g_strcmp0 (colorspace_string, gst_jpeg2000_colorspace_strings[i]))
+      return (i + 1);
+  }
+  return GST_JPEG2000_COLORSPACE_NONE;
+}
+
+/* convert string to GstJPEG2000Colorspace enum */
+const gchar *
+gst_jpeg2000_colorspace_to_string (GstJPEG2000Colorspace colorspace)
+{
+  g_return_val_if_fail (colorspace > GST_JPEG2000_COLORSPACE_NONE
+      && colorspace <= G_N_ELEMENTS (gst_jpeg2000_colorspace_strings), NULL);
+
+  return gst_jpeg2000_colorspace_strings[colorspace - 1];
+}
diff --git a/gst-libs/gst/codecparsers/gstjpeg2000sampling.h b/gst-libs/gst/codecparsers/gstjpeg2000sampling.h
new file mode 100644
index 0000000..fb6a0aa
--- /dev/null
+++ b/gst-libs/gst/codecparsers/gstjpeg2000sampling.h
@@ -0,0 +1,92 @@
+/* GStreamer JPEG 2000 Sampling
+ * Copyright (C) <2016> Grok Image Compression Inc.
+ *  @author Aaron Boxer <boxerab@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_JPEG2000_SAMPLING_H__
+#define __GST_JPEG2000_SAMPLING_H__
+
+#include <gst/gst.h>
+
+/**
+ * GstJPEG2000Sampling:
+ * Sampling values from RF 5371 for JPEG 2000 over RTP : https://datatracker.ietf.org/doc/rfc5371/C
+ * Note: sampling extensions that are not listed in the RFC are signified by an _EXT at the end of the enum
+ *
+ * @GST_JPEG2000_SAMPLING_NONE: no sampling
+ * @GST_JPEG2000_SAMPLING_RGB:  standard Red, Green, Blue color space.
+ * @GST_JPEG2000_SAMPLING_BGR:  standard Blue, Green, Red color space.
+ * @GST_JPEG2000_SAMPLING_RGBA:  standard Red, Green, Blue, Alpha color space.
+ * @GST_JPEG2000_SAMPLING_BGRA:  standard Blue, Green, Red, Alpha color space.
+ * @GST_JPEG2000_SAMPLING_YCbCr-4:4:4:  standard YCbCr color space; no subsampling.
+ * @GST_JPEG2000_SAMPLING_YCbCr-4:2:2:  standard YCbCr color space; Cb and Cr are subsampled horizontally by 1/2.
+ * @GST_JPEG2000_SAMPLING_YCbCr-4:2:0:  standard YCbCr color space; Cb and Cr are subsampled horizontally and vertically by 1/2.
+ * @GST_JPEG2000_SAMPLING_YCbCr-4:1:1:  standard YCbCr color space; Cb and Cr are subsampled vertically by 1/4.
+ * @GST_JPEG2000_SAMPLING_GRAYSCALE:  basically, a single component image of just multilevels of grey.
+ * @GST_JPEG2000_SAMPLING_YBRA4444_EXT: standard YCbCr color space, alpha channel, no subsampling,
+ */
+typedef enum
+{
+  GST_JPEG2000_SAMPLING_NONE,
+  GST_JPEG2000_SAMPLING_RGB,
+  GST_JPEG2000_SAMPLING_BGR,
+  GST_JPEG2000_SAMPLING_RGBA,
+  GST_JPEG2000_SAMPLING_BGRA,
+  GST_JPEG2000_SAMPLING_YBR444,
+  GST_JPEG2000_SAMPLING_YBR422,
+  GST_JPEG2000_SAMPLING_YBR420,
+  GST_JPEG2000_SAMPLING_YBR410,
+  GST_JPEG2000_SAMPLING_GRAYSCALE,
+  GST_JPEG2000_SAMPLING_YBRA4444_EXT
+} GstJPEG2000Sampling;
+
+/* GST_JPEG2000_SAMPLING_LIST: sampling strings in list form, for use in caps */
+#define GST_JPEG2000_SAMPLING_LIST "sampling = (string) {\"RGB\", \"BGR\", \"RGBA\", \"BGRA\", \"YCbCr-4:4:4\", \"YCbCr-4:2:2\", \"YCbCr-4:2:0\", \"YCbCr-4:1:1\", \"GRAYSCALE\" , \"YCbCrA-4:4:4:4\"}"
+
+const gchar *gst_jpeg2000_sampling_to_string (GstJPEG2000Sampling sampling);
+GstJPEG2000Sampling gst_jpeg2000_sampling_from_string (const gchar *
+    sampling_string);
+gboolean gst_jpeg2000_sampling_is_rgb (GstJPEG2000Sampling sampling);
+gboolean gst_jpeg2000_sampling_is_yuv (GstJPEG2000Sampling sampling);
+gboolean gst_jpeg2000_sampling_is_mono (GstJPEG2000Sampling sampling);
+
+
+/**
+ * GstJPEG2000Colorspace:
+ * @GST_JPEG2000_COLORSPACE_NONE: no color space
+ * @GST_JPEG2000_COLORSPACE_RGB: standard RGB color space
+ * @GST_JPEG2000_COLORSPACE_YUV: standard YUV color space
+ * @GST_JPEG2000_COLORSPACE_GRAY: monochrome color space
+ */
+typedef enum
+{
+  GST_JPEG2000_COLORSPACE_NONE,
+  GST_JPEG2000_COLORSPACE_RGB,
+  GST_JPEG2000_COLORSPACE_YUV,
+  GST_JPEG2000_COLORSPACE_GRAY
+} GstJPEG2000Colorspace;
+
+const gchar *gst_jpeg2000_colorspace_to_string (GstJPEG2000Colorspace
+    colorspace);
+GstJPEG2000Colorspace gst_jpeg2000_colorspace_from_string (const gchar *
+    colorspace_string);
+
+/* GST_JPEG2000_COLORSPACE_LIST: color space strings in list form, for use in caps */
+#define GST_JPEG2000_COLORSPACE_LIST "colorspace = (string) { \"sRGB\", \"sYUV\", \"GRAY\" }"
+
+#endif
diff --git a/gst-libs/gst/codecparsers/gstmpeg4parser.c b/gst-libs/gst/codecparsers/gstmpeg4parser.c
index b23fc87..b455764 100644
--- a/gst-libs/gst/codecparsers/gstmpeg4parser.c
+++ b/gst-libs/gst/codecparsers/gstmpeg4parser.c
@@ -411,7 +411,7 @@
 /**
  * gst_mpeg4_parse:
  * @packet: The #GstMpeg4Packet to fill
- * @skip_user_data: %TRUE to skip user data packet %FALSE otherwize
+ * @skip_user_data: %TRUE to skip user data packet %FALSE otherwise
  * @vop: The last parsed #GstMpeg4VideoObjectPlane or %NULL if you do
  * not need to detect the resync codes.
  * @offset: offset from which to start the parsing
diff --git a/gst-libs/gst/codecparsers/gstmpegvideometa.c b/gst-libs/gst/codecparsers/gstmpegvideometa.c
index f7b2f87..d5d5f0a 100644
--- a/gst-libs/gst/codecparsers/gstmpegvideometa.c
+++ b/gst-libs/gst/codecparsers/gstmpegvideometa.c
@@ -37,6 +37,7 @@
   mpeg_video_meta->pichdr = NULL;
   mpeg_video_meta->picext = NULL;
   mpeg_video_meta->quantext = NULL;
+  mpeg_video_meta->num_slices = mpeg_video_meta->slice_offset = 0;
 
   return TRUE;
 }
diff --git a/gst-libs/gst/codecparsers/gstmpegvideoparser.c b/gst-libs/gst/codecparsers/gstmpegvideoparser.c
index debafa0..2cfd32a 100644
--- a/gst-libs/gst/codecparsers/gstmpegvideoparser.c
+++ b/gst-libs/gst/codecparsers/gstmpegvideoparser.c
@@ -286,7 +286,7 @@
  * Parses the @seqhdr MPEG Video Sequence Header structure members
  * from video @packet
  *
- * Returns: %TRUE if the seqhdr could be parsed correctly, %FALSE otherwize.
+ * Returns: %TRUE if the seqhdr could be parsed correctly, %FALSE otherwise.
  *
  * Since: 1.2
  */
@@ -296,7 +296,6 @@
 {
   GstBitReader br;
   guint8 bits;
-  guint8 load_intra_flag, load_non_intra_flag;
 
   g_return_val_if_fail (seqhdr != NULL, FALSE);
 
@@ -339,8 +338,8 @@
   READ_UINT8 (&br, seqhdr->constrained_parameters_flag, 1);
 
   /* load_intra_quantiser_matrix */
-  READ_UINT8 (&br, load_intra_flag, 1);
-  if (load_intra_flag) {
+  READ_UINT8 (&br, seqhdr->load_intra_quantiser_matrix, 1);
+  if (seqhdr->load_intra_quantiser_matrix) {
     gint i;
     for (i = 0; i < 64; i++)
       READ_UINT8 (&br, seqhdr->intra_quantizer_matrix[i], 8);
@@ -348,8 +347,8 @@
     memcpy (seqhdr->intra_quantizer_matrix, default_intra_quantizer_matrix, 64);
 
   /* non intra quantizer matrix */
-  READ_UINT8 (&br, load_non_intra_flag, 1);
-  if (load_non_intra_flag) {
+  READ_UINT8 (&br, seqhdr->load_non_intra_quantiser_matrix, 1);
+  if (seqhdr->load_non_intra_quantiser_matrix) {
     gint i;
     for (i = 0; i < 64; i++)
       READ_UINT8 (&br, seqhdr->non_intra_quantizer_matrix[i], 8);
@@ -382,7 +381,7 @@
  * Parses the @seqext MPEG Video Sequence Extension structure members
  * from video @packet
  *
- * Returns: %TRUE if the seqext could be parsed correctly, %FALSE otherwize.
+ * Returns: %TRUE if the seqext could be parsed correctly, %FALSE otherwise.
  *
  * Since: 1.2
  */
@@ -449,7 +448,7 @@
  * Parses the @seqext MPEG Video Sequence Display Extension structure
  * members from video @packet
  *
- * Returns: %TRUE if the seqext could be parsed correctly, %FALSE otherwize.
+ * Returns: %TRUE if the seqext could be parsed correctly, %FALSE otherwise.
  *
  * Since: 1.2
  */
@@ -511,7 +510,7 @@
  * Parses the @seqscaleext MPEG Video Sequence Scalable Extension structure
  * members from video @packet
  *
- * Returns: %TRUE if the seqext could be parsed correctly, %FALSE otherwize.
+ * Returns: %TRUE if the seqext could be parsed correctly, %FALSE otherwise.
  *
  * Since: 1.2
  */
@@ -633,7 +632,7 @@
  * structure members from video @packet
  *
  * Returns: %TRUE if the quant matrix extension could be parsed correctly,
- * %FALSE otherwize.
+ * %FALSE otherwise.
  *
  * Since: 1.2
  */
@@ -703,7 +702,7 @@
  * video @packet
  *
  * Returns: %TRUE if the picture extension could be parsed correctly,
- * %FALSE otherwize.
+ * %FALSE otherwise.
  *
  * Since: 1.2
  */
@@ -803,7 +802,7 @@
  * from video @packet
  *
  * Returns: %TRUE if the picture sequence could be parsed correctly, %FALSE
- * otherwize.
+ * otherwise.
  *
  * Since: 1.2
  */
@@ -831,8 +830,8 @@
   if (hdr->pic_type == 0 || hdr->pic_type > 4)
     goto bad_pic_type;          /* Corrupted picture packet */
 
-  /* skip VBV delay */
-  if (!gst_bit_reader_skip (&br, 16))
+  /* VBV delay */
+  if (!gst_bit_reader_get_bits_uint16 (&br, &hdr->vbv_delay, 16))
     goto failed;
 
   if (hdr->pic_type == GST_MPEG_VIDEO_PICTURE_TYPE_P
@@ -880,7 +879,7 @@
  * Parses the @gop MPEG Video Group of Picture structure members from
  * video @packet
  *
- * Returns: %TRUE if the gop could be parsed correctly, %FALSE otherwize.
+ * Returns: %TRUE if the gop could be parsed correctly, %FALSE otherwise.
  *
  * Since: 1.2
  */
@@ -931,7 +930,7 @@
  *
  * Parses the @GstMpegVideoSliceHdr  structure members from @data
  *
- * Returns: %TRUE if the slice could be parsed correctly, %FALSE otherwize.
+ * Returns: %TRUE if the slice could be parsed correctly, %FALSE otherwise.
  *
  * Since: 1.2
  */
@@ -964,6 +963,9 @@
   if (height > 2800)
     READ_UINT8 (&br, vertical_position_extension, 3);
 
+  slice_hdr->vertical_position = packet->type;
+  slice_hdr->vertical_position_ext = vertical_position_extension;
+
   if (seqscaleext)
     if (seqscaleext->scalable_mode ==
         GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_DATA_PARTITIONING)
@@ -971,12 +973,12 @@
 
   READ_UINT8 (&br, slice_hdr->quantiser_scale_code, 5);
 
-  READ_UINT8 (&br, extra_bits, 1);
-  if (!extra_bits)
+  READ_UINT8 (&br, slice_hdr->slice_ext_flag, 1);
+  if (!slice_hdr->slice_ext_flag)
     slice_hdr->intra_slice = 0;
   else {
     READ_UINT8 (&br, slice_hdr->intra_slice, 1);
-    SKIP (&br, 1);
+    READ_UINT8 (&br, slice_hdr->slice_picture_id_enable, 1);
     READ_UINT8 (&br, slice_hdr->slice_picture_id, 6);
 
     READ_UINT8 (&br, bits, 1);
@@ -1072,7 +1074,7 @@
  *
  * Parses the @seqhdr Mpeg Video Sequence Header structure members from @data
  *
- * Returns: %TRUE if the seqhdr could be parsed correctly, %FALSE otherwize.
+ * Returns: %TRUE if the seqhdr could be parsed correctly, %FALSE otherwise.
  *
  * Deprecated: Use gst_mpeg_video_packet_parse_sequence_header() instead.
  */
@@ -1105,7 +1107,7 @@
  *
  * Parses the @seqext Mpeg Video Sequence Extension structure members from @data
  *
- * Returns: %TRUE if the seqext could be parsed correctly, %FALSE otherwize.
+ * Returns: %TRUE if the seqext could be parsed correctly, %FALSE otherwise.
  *
  * Deprecated: Use gst_mpeg_video_packet_parse_sequence_extension() instead.
  */
@@ -1161,7 +1163,7 @@
  * @data
  *
  * Returns: %TRUE if the quant matrix extension could be parsed correctly,
- * %FALSE otherwize.
+ * %FALSE otherwise.
  *
  * Deprecated: Use gst_mpeg_video_packet_parse_quant_matrix_extension() instead.
  */
@@ -1195,7 +1197,7 @@
  * Parsers the @hdr Mpeg Video Picture Header structure members from @data
  *
  * Returns: %TRUE if the picture sequence could be parsed correctly, %FALSE
- * otherwize.
+ * otherwise.
  *
  * Deprecated: Use gst_mpeg_video_packet_parse_picture_header() instead.
  */
@@ -1229,7 +1231,7 @@
  * Parse the @ext Mpeg Video Picture Extension structure members from @data
  *
  * Returns: %TRUE if the picture extension could be parsed correctly,
- * %FALSE otherwize.
+ * %FALSE otherwise.
  *
  * Deprecated: Use gst_mpeg_video_packet_parse_picture_extension() instead.
  */
@@ -1262,7 +1264,7 @@
  *
  * Parses the @gop Mpeg Video Group of Picture structure members from @data
  *
- * Returns: %TRUE if the gop could be parsed correctly, %FALSE otherwize.
+ * Returns: %TRUE if the gop could be parsed correctly, %FALSE otherwise.
  *
  * Deprecated: Use gst_mpeg_video_packet_parse_gop() instead.
  */
diff --git a/gst-libs/gst/codecparsers/gstmpegvideoparser.h b/gst-libs/gst/codecparsers/gstmpegvideoparser.h
index 1298ed7..3989f0c 100644
--- a/gst-libs/gst/codecparsers/gstmpegvideoparser.h
+++ b/gst-libs/gst/codecparsers/gstmpegvideoparser.h
@@ -211,7 +211,9 @@
  * @bitrate_value: Value of the bitrate as is in the stream (400bps unit)
  * @bitrate: the real bitrate of the Mpeg video stream in bits per second, 0 if VBR stream
  * @constrained_parameters_flag: %TRUE if this stream uses contrained parameters.
+ * @load_intra_quantiser_matrix: %TRUE indicates the presence of intra_quantiser_matrix
  * @intra_quantizer_matrix: intra-quantization table, in zigzag scan order
+ * @load_non_intra_quantiser_matrix: %TRUE indicates the presence of non_intra_quantiser_matrix
  * @non_intra_quantizer_matrix: non-intra quantization table, in zigzag scan order
  *
  * The Mpeg2 Video Sequence Header structure.
@@ -226,7 +228,9 @@
 
   guint8  constrained_parameters_flag;
 
+  guint8  load_intra_quantiser_matrix;
   guint8  intra_quantizer_matrix[64];
+  guint8  load_non_intra_quantiser_matrix;
   guint8  non_intra_quantizer_matrix[64];
 
   /* Calculated values */
@@ -376,6 +380,7 @@
 {
   guint16 tsn;
   guint8 pic_type;
+  guint16 vbv_delay;
 
   guint8 full_pel_forward_vector, full_pel_backward_vector;
 
@@ -394,7 +399,7 @@
  * @alternate_scan: Alternate Scan
  * @repeat_first_field: Repeat First Field
  * @chroma_420_type: Chroma 420 Type
- * @progressive_frame: %TRUE if the frame is progressive %FALSE otherwize
+ * @progressive_frame: %TRUE if the frame is progressive %FALSE otherwise
  *
  * The Mpeg2 Video Picture Extension structure.
  */
@@ -445,10 +450,13 @@
 
 /**
  * GstMpegVideoSliceHdr:
- * @slice_vertical_position_extension: Extension to slice_vertical_position
+ * @vertical_position: slice vertical position
+ * @vertical_position_extension: Extension to slice_vertical_position
  * @priority_breakpoint: Point where the bitstream shall be partitioned
  * @quantiser_scale_code: Quantiser value (range: 1-31)
+ * @slice_ext_flag: Slice Extension flag
  * @intra_slice: Equal to one if all the macroblocks are intra macro blocks.
+ * @slice_picture_id_enable: controls the semantics of slice_picture_id
  * @slice_picture_id: Intended to aid recovery on severe bursts of
  *   errors for certain types of applications
  *
@@ -458,9 +466,14 @@
  */
 struct _GstMpegVideoSliceHdr
 {
+  guint8 vertical_position;
+  guint8 vertical_position_ext;
+
   guint8 priority_breakpoint;
   guint8 quantiser_scale_code;
+  guint8 slice_ext_flag;
   guint8 intra_slice;
+  guint8 slice_picture_id_enable;
   guint8 slice_picture_id;
 
   /* Calculated values */
diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c
index fd16ee0..7ed73f8 100644
--- a/gst-libs/gst/codecparsers/gstvc1parser.c
+++ b/gst-libs/gst/codecparsers/gstvc1parser.c
@@ -2197,7 +2197,7 @@
  * in simple or main mode, or after #gst_vc1_parse_entry_point_header
  * if in advanced mode.
  *
- * Returns: %TRUE if everything went fine, %FALSE otherwize
+ * Returns: %TRUE if everything went fine, %FALSE otherwise
  */
 gboolean
 gst_vc1_bitplanes_ensure_size (GstVC1BitPlanes * bitplanes,
diff --git a/gst-libs/gst/codecparsers/gstvp9parser.c b/gst-libs/gst/codecparsers/gstvp9parser.c
index e518dee..0bd05bc 100644
--- a/gst-libs/gst/codecparsers/gstvp9parser.c
+++ b/gst-libs/gst/codecparsers/gstvp9parser.c
@@ -103,26 +103,26 @@
 }
 
 static gboolean
-parse_bitdepth_colorspace_sampling (GstBitReader * const br,
-    GstVp9FrameHdr * frame_hdr)
+parse_bitdepth_colorspace_sampling (GstVp9Parser * parser,
+    GstBitReader * const br, GstVp9FrameHdr * frame_hdr)
 {
   if (frame_hdr->profile > GST_VP9_PROFILE_1)
-    frame_hdr->bit_depth =
+    parser->bit_depth =
         gst_vp9_read_bit (br) ? GST_VP9_BIT_DEPTH_12 : GST_VP9_BIT_DEPTH_10;
   else
-    frame_hdr->bit_depth = GST_VP9_BIT_DEPTH_8;
+    parser->bit_depth = GST_VP9_BIT_DEPTH_8;
 
-  frame_hdr->color_space = gst_vp9_read_bits (br, 3);
-  if (frame_hdr->color_space != GST_VP9_CS_SRGB) {
-    frame_hdr->color_range = gst_vp9_read_bit (br);
+  parser->color_space = gst_vp9_read_bits (br, 3);
+  if (parser->color_space != GST_VP9_CS_SRGB) {
+    parser->color_range = gst_vp9_read_bit (br);
 
     if (frame_hdr->profile == GST_VP9_PROFILE_1
         || frame_hdr->profile == GST_VP9_PROFILE_3) {
 
-      frame_hdr->subsampling_x = gst_vp9_read_bit (br);
-      frame_hdr->subsampling_y = gst_vp9_read_bit (br);
+      parser->subsampling_x = gst_vp9_read_bit (br);
+      parser->subsampling_y = gst_vp9_read_bit (br);
 
-      if (frame_hdr->subsampling_x == 1 && frame_hdr->subsampling_y == 1) {
+      if (parser->subsampling_x == 1 && parser->subsampling_y == 1) {
         GST_ERROR
             ("4:2:0 subsampling is not supported in profile_1 or profile_3");
         goto error;
@@ -133,10 +133,10 @@
         goto error;
       }
     } else {
-      frame_hdr->subsampling_y = frame_hdr->subsampling_x = 1;
+      parser->subsampling_y = parser->subsampling_x = 1;
     }
   } else {
-    frame_hdr->color_range = GST_VP9_CR_FULL;
+    parser->color_range = GST_VP9_CR_FULL;
 
     if (frame_hdr->profile == GST_VP9_PROFILE_1
         || frame_hdr->profile == GST_VP9_PROFILE_3) {
@@ -481,12 +481,12 @@
     const GstVp9SegmentationInfoData *info = priv->segmentation + i;
 
     seg->luma_dc_quant_scale =
-        gst_vp9_dc_quant (q, quant_indices->y_dc_delta, frame_hdr->bit_depth);
-    seg->luma_ac_quant_scale = gst_vp9_ac_quant (q, 0, frame_hdr->bit_depth);
+        gst_vp9_dc_quant (q, quant_indices->y_dc_delta, parser->bit_depth);
+    seg->luma_ac_quant_scale = gst_vp9_ac_quant (q, 0, parser->bit_depth);
     seg->chroma_dc_quant_scale =
-        gst_vp9_dc_quant (q, quant_indices->uv_dc_delta, frame_hdr->bit_depth);
+        gst_vp9_dc_quant (q, quant_indices->uv_dc_delta, parser->bit_depth);
     seg->chroma_ac_quant_scale =
-        gst_vp9_ac_quant (q, quant_indices->uv_ac_delta, frame_hdr->bit_depth);
+        gst_vp9_ac_quant (q, quant_indices->uv_ac_delta, parser->bit_depth);
 
     if (lf->filter_level) {
       guint8 filter = seg_get_filter_level (parser, frame_hdr, i);
@@ -578,13 +578,17 @@
 }
 
 static void
-gst_vp9_parser_init (GstVp9Parser * parser)
+gst_vp9_parser_reset (GstVp9Parser * parser)
 {
   GstVp9ParserPrivate *priv = parser->priv;
 
-  memset (parser, 0, sizeof (GstVp9Parser));
-  memset (priv, 0, sizeof (GstVp9ParserPrivate));
+  parser->priv = NULL;
+  memset (parser->mb_segment_tree_probs, 0,
+      sizeof (parser->mb_segment_tree_probs));
+  memset (parser->segment_pred_probs, 0, sizeof (parser->segment_pred_probs));
+  memset (parser->segmentation, 0, sizeof (parser->segmentation));
 
+  memset (priv, 0, sizeof (GstVp9ParserPrivate));
   parser->priv = priv;
 }
 
@@ -592,7 +596,7 @@
 gst_vp9_parser_update (GstVp9Parser * parser, GstVp9FrameHdr * const frame_hdr)
 {
   if (frame_hdr->frame_type == GST_VP9_KEY_FRAME)
-    gst_vp9_parser_init (parser);
+    gst_vp9_parser_reset (parser);
 
   if (frame_is_intra_only (frame_hdr) || frame_hdr->error_resilient_mode)
     setup_past_independence (parser, frame_hdr);
@@ -626,16 +630,15 @@
   INITIALIZE_DEBUG_CATEGORY;
   GST_DEBUG ("Create VP9 Parser");
 
-  parser = g_slice_new (GstVp9Parser);
+  parser = g_slice_new0 (GstVp9Parser);
   if (!parser)
     return NULL;
 
-  priv = g_slice_new (GstVp9ParserPrivate);
+  priv = g_slice_new0 (GstVp9ParserPrivate);
   if (!priv)
     return NULL;
 
   parser->priv = priv;
-  gst_vp9_parser_init (parser);
 
   return parser;
 }
@@ -712,7 +715,7 @@
       goto error;
     }
 
-    if (!parse_bitdepth_colorspace_sampling (br, frame_hdr)) {
+    if (!parse_bitdepth_colorspace_sampling (parser, br, frame_hdr)) {
       GST_ERROR ("Failed to parse color_space/bit_depth info !");
       goto error;
     }
@@ -734,15 +737,15 @@
       }
 
       if (frame_hdr->profile > GST_VP9_PROFILE_0) {
-        if (!parse_bitdepth_colorspace_sampling (br, frame_hdr)) {
+        if (!parse_bitdepth_colorspace_sampling (parser, br, frame_hdr)) {
           GST_ERROR ("Failed to parse color_space/bit_depth info !");
           goto error;
         }
       } else {
-        frame_hdr->color_space = GST_VP9_CS_BT_601;
-        frame_hdr->color_range = GST_VP9_CR_LIMITED;
-        frame_hdr->subsampling_y = frame_hdr->subsampling_x = 1;
-        frame_hdr->bit_depth = GST_VP9_BIT_DEPTH_8;
+        parser->color_space = GST_VP9_CS_BT_601;
+        parser->color_range = GST_VP9_CR_LIMITED;
+        parser->subsampling_y = parser->subsampling_x = 1;
+        parser->bit_depth = GST_VP9_BIT_DEPTH_8;
       }
 
       frame_hdr->refresh_frame_flags =
@@ -766,12 +769,6 @@
 
       frame_hdr->allow_high_precision_mv = gst_vp9_read_bit (br);
       frame_hdr->mcomp_filter_type = parse_interp_filter (br);
-
-      /* Assing defalut values */
-      frame_hdr->color_space = GST_VP9_CS_BT_601;
-      frame_hdr->color_range = GST_VP9_CR_LIMITED;
-      frame_hdr->subsampling_y = frame_hdr->subsampling_x = 1;
-      frame_hdr->bit_depth = GST_VP9_BIT_DEPTH_8;
     }
   }
 
@@ -811,7 +808,6 @@
 
   frame_hdr->frame_header_length_in_bytes =
       (gst_bit_reader_get_pos (br) + 7) / 8;
-
   return gst_vp9_parser_update (parser, frame_hdr);
 
 error:
diff --git a/gst-libs/gst/codecparsers/gstvp9parser.h b/gst-libs/gst/codecparsers/gstvp9parser.h
index fd45e54..aaf30e5 100644
--- a/gst-libs/gst/codecparsers/gstvp9parser.h
+++ b/gst-libs/gst/codecparsers/gstvp9parser.h
@@ -350,17 +350,12 @@
  * @frame_type: frame type
  * @show_frame: indicate whether it is a displayable frame or not
  * @error_resilient_mode: error resilent mode
- * @subsampling_x: horizontal subsampling
- * @subsampling_y: vertical subsampling
  * @width: frame width
  * @height: frame height
  * @display_size_enabled: display size enabled (cropping)
  * @display_width: display width
  * @display_height: display height
  * @frame_context_idx: frame context index
- * @bit_depth: bit depth of the stream
- * @color_space: color space standard
- * @color_range: color range standard
  * @intra_only: intra only frame
  * @reset_frame_context: reset frame context
  * @refresh_frame_flags: refresh reference frame flags
@@ -391,8 +386,6 @@
   guint frame_type;
   guint8 show_frame;
   guint8 error_resilient_mode;
-  gint subsampling_x;
-  gint subsampling_y;
   guint32 width;
   guint32 height;
   guint8 display_size_enabled;
@@ -400,10 +393,6 @@
   guint32 display_height;
   guint frame_context_idx;
 
-  guint bit_depth;
-  guint color_space;
-  guint color_range;
-
   guint8 intra_only;
   gint reset_frame_context;
   gint refresh_frame_flags;
@@ -464,6 +453,11 @@
 /**
  * GstVp9Parser:
  * @priv: GstVp9ParserPrivate struct to keep track of state variables
+ * @subsampling_x: horizontal subsampling
+ * @subsampling_y: vertical subsampling
+ * @bit_depth: bit depth of the stream
+ * @color_space: color space standard
+ * @color_range: color range standard
  * @mb_segment_tree_probs: decoding tree probabilities
  * @segment_pred_probs: segment prediction probabiilties
  * @segmentation: Segmentation info
@@ -477,6 +471,12 @@
   /* private stuct for tracking state variables across frames */
   void *priv;
 
+  gint subsampling_x;
+  gint subsampling_y;
+  guint bit_depth;
+  guint color_space;
+  guint color_range;
+
   guint8 mb_segment_tree_probs[GST_VP9_SEG_TREE_PROBS];
   guint8 segment_pred_probs[GST_VP9_PREDICTION_PROBS];
   GstVp9Segmentation segmentation[GST_VP9_MAX_SEGMENTS];
diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am
index f1cb9e1..3f04a51 100644
--- a/gst-libs/gst/gl/Makefile.am
+++ b/gst-libs/gst/gl/Makefile.am
@@ -152,6 +152,7 @@
 GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@.la
 	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstGL \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/gl/Makefile.in b/gst-libs/gst/gl/Makefile.in
index c12e544..998609b 100644
--- a/gst-libs/gst/gl/Makefile.in
+++ b/gst-libs/gst/gl/Makefile.in
@@ -400,6 +400,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -615,6 +617,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -741,8 +745,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -787,6 +789,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -1693,6 +1697,7 @@
 @HAVE_INTROSPECTION_TRUE@GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstGL \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/gl/android/Makefile.in b/gst-libs/gst/gl/android/Makefile.in
index 3f966c4..0ae23fd 100644
--- a/gst-libs/gst/gl/android/Makefile.in
+++ b/gst-libs/gst/gl/android/Makefile.in
@@ -301,6 +301,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -516,6 +518,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -642,8 +646,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -688,6 +690,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/gl/cocoa/Makefile.in b/gst-libs/gst/gl/cocoa/Makefile.in
index 1b0c70f..1c30624 100644
--- a/gst-libs/gst/gl/cocoa/Makefile.in
+++ b/gst-libs/gst/gl/cocoa/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/gl/cocoa/gstglcaopengllayer.m b/gst-libs/gst/gl/cocoa/gstglcaopengllayer.m
index 45bd0dd..59ed09c 100644
--- a/gst-libs/gst/gl/cocoa/gstglcaopengllayer.m
+++ b/gst-libs/gst/gl/cocoa/gstglcaopengllayer.m
@@ -126,7 +126,7 @@
   }
 
   gst_gl_context_activate (self->draw_context, TRUE);
-  gst_gl_context_set_shared_with (self->draw_context, self->gst_gl_context);
+  gst_gl_context_set_shared_with (self->draw_context, GST_GL_CONTEXT (self->gst_gl_context));
   if (!gst_gl_context_fill_info (self->draw_context, &error)) {
     GST_ERROR ("failed to fill wrapped context information: %s", error->message);
     return NULL;
diff --git a/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m b/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m
index 0d027c5..495d022 100644
--- a/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m
+++ b/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m
@@ -77,6 +77,8 @@
     gint width, gint height);
 static void gst_gl_window_cocoa_show (GstGLWindow * window);
 static void gst_gl_window_cocoa_queue_resize (GstGLWindow * window);
+static void gst_gl_window_cocoa_send_message_async (GstGLWindow * window,
+    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy);
 
 struct _GstGLWindowCocoaPrivate
 {
@@ -90,6 +92,8 @@
 
   /* atomic set when the internal NSView has been created */
   int view_ready;
+
+  dispatch_queue_t gl_queue;
 };
 
 static void
@@ -111,6 +115,8 @@
       GST_DEBUG_FUNCPTR (gst_gl_window_cocoa_set_preferred_size);
   window_class->show = GST_DEBUG_FUNCPTR (gst_gl_window_cocoa_show);
   window_class->queue_resize = GST_DEBUG_FUNCPTR (gst_gl_window_cocoa_queue_resize);
+  window_class->send_message_async =
+      GST_DEBUG_FUNCPTR (gst_gl_window_cocoa_send_message_async);
 
   gobject_class->finalize = gst_gl_window_cocoa_finalize;
 }
@@ -122,11 +128,15 @@
 
   window->priv->preferred_width = 320;
   window->priv->preferred_height = 240;
+  window->priv->gl_queue =
+      dispatch_queue_create ("org.freedesktop.gstreamer.glwindow", NULL);
 }
 
 static void
 gst_gl_window_cocoa_finalize (GObject * object)
 {
+  GstGLWindowCocoa *window = GST_GL_WINDOW_COCOA (object);
+  dispatch_release (window->priv->gl_queue);
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
@@ -370,6 +380,33 @@
   [pool release];
 }
 
+static void
+gst_gl_window_cocoa_send_message_async (GstGLWindow * window,
+    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy)
+{
+  GstGLWindowCocoa *window_cocoa = (GstGLWindowCocoa *) window;
+  GstGLContext *context = gst_gl_window_get_context (window);
+  GThread *thread = gst_gl_context_get_thread (context);
+
+  if (thread == g_thread_self()) {
+    /* this case happens for nested calls happening from inside the GCD queue */
+    callback (data);
+    if (destroy)
+      destroy (data);
+    gst_object_unref (context);
+  } else {
+    dispatch_async (window_cocoa->priv->gl_queue, ^{
+      gst_gl_context_activate (context, TRUE);
+      gst_object_unref (context);
+      callback (data);
+      if (destroy)
+        destroy (data);
+    });
+  }
+  if (thread)
+    g_thread_unref (thread);
+}
+
 /* =============================================================*/
 /*                                                              */
 /*                    GstGLNSWindow implementation              */
diff --git a/gst-libs/gst/gl/dispmanx/Makefile.in b/gst-libs/gst/gl/dispmanx/Makefile.in
index b8d2722..da481c8 100644
--- a/gst-libs/gst/gl/dispmanx/Makefile.in
+++ b/gst-libs/gst/gl/dispmanx/Makefile.in
@@ -273,6 +273,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -488,6 +490,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -614,8 +618,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -660,6 +662,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/gl/eagl/Makefile.in b/gst-libs/gst/gl/eagl/Makefile.in
index 074ff57..9b60f3d 100644
--- a/gst-libs/gst/gl/eagl/Makefile.in
+++ b/gst-libs/gst/gl/eagl/Makefile.in
@@ -273,6 +273,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -488,6 +490,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -614,8 +618,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -660,6 +662,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/gl/eagl/gstglcontext_eagl.m b/gst-libs/gst/gl/eagl/gstglcontext_eagl.m
index 42dde56..ecadc3f 100644
--- a/gst-libs/gst/gl/eagl/gstglcontext_eagl.m
+++ b/gst-libs/gst/gl/eagl/gstglcontext_eagl.m
@@ -219,18 +219,30 @@
 {
   GstGLContextEagl *context_eagl = GST_GL_CONTEXT_EAGL (context);
   GstGLContextEaglPrivate *priv = context_eagl->priv;
+  EAGLSharegroup *share_group;
 
   if (other_context) {
     EAGLContext *external_gl_context = (EAGLContext *)
         gst_gl_context_get_gl_context (other_context);
-    EAGLSharegroup *share_group = [external_gl_context sharegroup];
-
-    priv->eagl_context = [[EAGLContext alloc] initWithAPI: kEAGLRenderingAPIOpenGLES2 sharegroup:share_group];
-    [share_group release];
+    share_group = [external_gl_context sharegroup];
   } else {
-    priv->eagl_context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
+    share_group = nil;
   }
 
+  priv->eagl_context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES3 sharegroup:share_group];
+  if (!priv->eagl_context) {
+    priv->eagl_context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2 sharegroup:share_group];
+  }
+  if (!priv->eagl_context) {
+    g_set_error_literal (error, GST_GL_CONTEXT_ERROR,
+        GST_GL_CONTEXT_ERROR_CREATE_CONTEXT,
+        "Failed to create OpenGL ES context");
+    return FALSE;
+  }
+
+  if (share_group)
+    [share_group release];
+
   priv->eagl_layer = NULL;
   priv->framebuffer = 0;
   priv->color_renderbuffer = 0;
diff --git a/gst-libs/gst/gl/eagl/gstglwindow_eagl.m b/gst-libs/gst/gl/eagl/gstglwindow_eagl.m
index eb9d4f7..72ab1ab 100644
--- a/gst-libs/gst/gl/eagl/gstglwindow_eagl.m
+++ b/gst-libs/gst/gl/eagl/gstglwindow_eagl.m
@@ -40,6 +40,7 @@
 #define gst_gl_window_eagl_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstGLWindowEagl, gst_gl_window_eagl,
     GST_GL_TYPE_WINDOW, DEBUG_INIT);
+static void gst_gl_window_eagl_finalize (GObject * object);
 
 static guintptr gst_gl_window_eagl_get_display (GstGLWindow * window);
 static guintptr gst_gl_window_eagl_get_window_handle (GstGLWindow * window);
@@ -48,21 +49,27 @@
 static void gst_gl_window_eagl_set_preferred_size (GstGLWindow * window,
     gint width, gint height);
 static void gst_gl_window_eagl_draw (GstGLWindow * window);
+static void gst_gl_window_eagl_send_message_async (GstGLWindow * window,
+    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy);
 
 struct _GstGLWindowEaglPrivate
 {
   UIView *view;
   gint window_width, window_height;
   gint preferred_width, preferred_height;
+  dispatch_queue_t gl_queue;
 };
 
 static void
 gst_gl_window_eagl_class_init (GstGLWindowEaglClass * klass)
 {
+  GObjectClass *gobject_class = (GObjectClass *) klass;
   GstGLWindowClass *window_class = (GstGLWindowClass *) klass;
 
   g_type_class_add_private (klass, sizeof (GstGLWindowEaglPrivate));
 
+  gobject_class->finalize = gst_gl_window_eagl_finalize;
+
   window_class->get_display =
       GST_DEBUG_FUNCPTR (gst_gl_window_eagl_get_display);
   window_class->get_window_handle =
@@ -72,13 +79,24 @@
   window_class->draw = GST_DEBUG_FUNCPTR (gst_gl_window_eagl_draw);
   window_class->set_preferred_size =
       GST_DEBUG_FUNCPTR (gst_gl_window_eagl_set_preferred_size);
+  window_class->send_message_async =
+      GST_DEBUG_FUNCPTR (gst_gl_window_eagl_send_message_async);
 }
 
 static void
 gst_gl_window_eagl_init (GstGLWindowEagl * window)
 {
   window->priv = GST_GL_WINDOW_EAGL_GET_PRIVATE (window);
+  window->priv->gl_queue =
+      dispatch_queue_create ("org.freedesktop.gstreamer.glwindow", NULL);
+}
 
+static void
+gst_gl_window_eagl_finalize (GObject * object)
+{
+  GstGLWindowEagl *window = GST_GL_WINDOW_EAGL (object);
+  dispatch_release (window->priv->gl_queue);
+  G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
 /* Must be called in the gl thread */
@@ -127,6 +145,33 @@
 }
 
 static void
+gst_gl_window_eagl_send_message_async (GstGLWindow * window,
+    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy)
+{
+  GstGLWindowEagl *window_eagl = (GstGLWindowEagl *) window;
+  GstGLContext *context = gst_gl_window_get_context (window);
+  GThread *thread = gst_gl_context_get_thread (context);
+
+  if (thread == g_thread_self()) {
+    /* this case happens for nested calls happening from inside the GCD queue */
+    callback (data);
+    if (destroy)
+      destroy (data);
+    gst_object_unref (context);
+  } else {
+    dispatch_async (window_eagl->priv->gl_queue, ^{
+      gst_gl_context_activate (context, TRUE);
+      gst_object_unref (context);
+      callback (data);
+      if (destroy)
+        destroy (data);
+    });
+  }
+  if (thread)
+    g_thread_unref (thread);
+}
+
+static void
 draw_cb (gpointer data)
 {
   GstGLWindowEagl *window_eagl = data;
diff --git a/gst-libs/gst/gl/egl/Makefile.am b/gst-libs/gst/gl/egl/Makefile.am
index b808178..e164eb0 100644
--- a/gst-libs/gst/gl/egl/Makefile.am
+++ b/gst-libs/gst/gl/egl/Makefile.am
@@ -5,7 +5,8 @@
 libgstgl_egl_la_SOURCES = \
 	gstgldisplay_egl.c \
 	gstglcontext_egl.c \
-	gsteglimagememory.c
+	gstglmemoryegl.c \
+	gsteglimage.c
 
 noinst_HEADERS =
 
@@ -13,7 +14,8 @@
 libgstgl_eglinclude_HEADERS = \
 	gstgldisplay_egl.h \
 	gstglcontext_egl.h \
-	gsteglimagememory.h \
+	gstglmemoryegl.h \
+	gsteglimage.h \
 	gstegl.h
 
 libgstgl_egl_la_CFLAGS = \
diff --git a/gst-libs/gst/gl/egl/Makefile.in b/gst-libs/gst/gl/egl/Makefile.in
index e182bd9..a85730d 100644
--- a/gst-libs/gst/gl/egl/Makefile.in
+++ b/gst-libs/gst/gl/egl/Makefile.in
@@ -137,7 +137,8 @@
 libgstgl_egl_la_LIBADD =
 am_libgstgl_egl_la_OBJECTS = libgstgl_egl_la-gstgldisplay_egl.lo \
 	libgstgl_egl_la-gstglcontext_egl.lo \
-	libgstgl_egl_la-gsteglimagememory.lo
+	libgstgl_egl_la-gstglmemoryegl.lo \
+	libgstgl_egl_la-gsteglimage.lo
 libgstgl_egl_la_OBJECTS = $(am_libgstgl_egl_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -302,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -781,14 +786,16 @@
 libgstgl_egl_la_SOURCES = \
 	gstgldisplay_egl.c \
 	gstglcontext_egl.c \
-	gsteglimagememory.c
+	gstglmemoryegl.c \
+	gsteglimage.c
 
 noinst_HEADERS = 
 libgstgl_eglincludedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/gl/egl
 libgstgl_eglinclude_HEADERS = \
 	gstgldisplay_egl.h \
 	gstglcontext_egl.h \
-	gsteglimagememory.h \
+	gstglmemoryegl.h \
+	gsteglimage.h \
 	gstegl.h
 
 libgstgl_egl_la_CFLAGS = \
@@ -857,9 +864,10 @@
 distclean-compile:
 	-rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_egl_la-gsteglimagememory.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_egl_la-gsteglimage.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_egl_la-gstglcontext_egl.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_egl_la-gstgldisplay_egl.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_egl_la-gstglmemoryegl.Plo@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -899,12 +907,19 @@
 @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_egl_la_CFLAGS) $(CFLAGS) -c -o libgstgl_egl_la-gstglcontext_egl.lo `test -f 'gstglcontext_egl.c' || echo '$(srcdir)/'`gstglcontext_egl.c
 
-libgstgl_egl_la-gsteglimagememory.lo: gsteglimagememory.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_egl_la_CFLAGS) $(CFLAGS) -MT libgstgl_egl_la-gsteglimagememory.lo -MD -MP -MF $(DEPDIR)/libgstgl_egl_la-gsteglimagememory.Tpo -c -o libgstgl_egl_la-gsteglimagememory.lo `test -f 'gsteglimagememory.c' || echo '$(srcdir)/'`gsteglimagememory.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_egl_la-gsteglimagememory.Tpo $(DEPDIR)/libgstgl_egl_la-gsteglimagememory.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gsteglimagememory.c' object='libgstgl_egl_la-gsteglimagememory.lo' libtool=yes @AMDEPBACKSLASH@
+libgstgl_egl_la-gstglmemoryegl.lo: gstglmemoryegl.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_egl_la_CFLAGS) $(CFLAGS) -MT libgstgl_egl_la-gstglmemoryegl.lo -MD -MP -MF $(DEPDIR)/libgstgl_egl_la-gstglmemoryegl.Tpo -c -o libgstgl_egl_la-gstglmemoryegl.lo `test -f 'gstglmemoryegl.c' || echo '$(srcdir)/'`gstglmemoryegl.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_egl_la-gstglmemoryegl.Tpo $(DEPDIR)/libgstgl_egl_la-gstglmemoryegl.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstglmemoryegl.c' object='libgstgl_egl_la-gstglmemoryegl.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_egl_la_CFLAGS) $(CFLAGS) -c -o libgstgl_egl_la-gsteglimagememory.lo `test -f 'gsteglimagememory.c' || echo '$(srcdir)/'`gsteglimagememory.c
+@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_egl_la_CFLAGS) $(CFLAGS) -c -o libgstgl_egl_la-gstglmemoryegl.lo `test -f 'gstglmemoryegl.c' || echo '$(srcdir)/'`gstglmemoryegl.c
+
+libgstgl_egl_la-gsteglimage.lo: gsteglimage.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_egl_la_CFLAGS) $(CFLAGS) -MT libgstgl_egl_la-gsteglimage.lo -MD -MP -MF $(DEPDIR)/libgstgl_egl_la-gsteglimage.Tpo -c -o libgstgl_egl_la-gsteglimage.lo `test -f 'gsteglimage.c' || echo '$(srcdir)/'`gsteglimage.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_egl_la-gsteglimage.Tpo $(DEPDIR)/libgstgl_egl_la-gsteglimage.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gsteglimage.c' object='libgstgl_egl_la-gsteglimage.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_egl_la_CFLAGS) $(CFLAGS) -c -o libgstgl_egl_la-gsteglimage.lo `test -f 'gsteglimage.c' || echo '$(srcdir)/'`gsteglimage.c
 
 mostlyclean-libtool:
 	-rm -f *.lo
diff --git a/gst-libs/gst/gl/egl/gstegl.h b/gst-libs/gst/gl/egl/gstegl.h
index 4fc2f3d..82d4953 100644
--- a/gst-libs/gst/gl/egl/gstegl.h
+++ b/gst-libs/gst/gl/egl/gstegl.h
@@ -30,8 +30,10 @@
 
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wredundant-decls"
+#if !defined(__cplusplus)
 #pragma GCC optimize ("gnu89-inline")
 #endif
+#endif
 
 #ifndef EGL_EGLEXT_PROTOTYPES
 #define EGL_EGLEXT_PROTOTYPES 1
diff --git a/gst-libs/gst/gl/egl/gsteglimage.c b/gst-libs/gst/gl/egl/gsteglimage.c
new file mode 100644
index 0000000..569ed22
--- /dev/null
+++ b/gst-libs/gst/gl/egl/gsteglimage.c
@@ -0,0 +1,296 @@
+/*
+ * GStreamer
+ * Copyright (C) 2012 Collabora Ltd.
+ *   @author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ * Copyright (C) 2014 Julien Isorce <julien.isorce@gmail.com>
+ * Copyright (C) 2016 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 "gsteglimage.h"
+#include <string.h>
+
+#if GST_GL_HAVE_DMABUF
+#include <gst/allocators/gstdmabuf.h>
+#include <libdrm/drm_fourcc.h>
+
+#ifndef DRM_FORMAT_R8
+#define DRM_FORMAT_R8 fourcc_code('R', '8', ' ', ' ')
+#endif
+
+#ifndef DRM_FORMAT_RG88
+#define DRM_FORMAT_RG88 fourcc_code('R', 'G', '8', '8')
+#endif
+
+#ifndef DRM_FORMAT_GR88
+#define DRM_FORMAT_GR88 fourcc_code('G', 'R', '8', '8')
+#endif
+#endif
+
+#ifndef EGL_LINUX_DMA_BUF_EXT
+#define EGL_LINUX_DMA_BUF_EXT 0x3270
+#endif
+
+#ifndef EGL_LINUX_DRM_FOURCC_EXT
+#define EGL_LINUX_DRM_FOURCC_EXT 0x3271
+#endif
+
+#ifndef EGL_DMA_BUF_PLANE0_FD_EXT
+#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
+#endif
+
+#ifndef EGL_DMA_BUF_PLANE0_OFFSET_EXT
+#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
+#endif
+
+#ifndef EGL_DMA_BUF_PLANE0_PITCH_EXT
+#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
+#endif
+
+GST_DEFINE_MINI_OBJECT_TYPE (GstEGLImage, gst_egl_image);
+
+/* XXX: This is only used currently if dmabuf support is enabled */
+#if GST_GL_HAVE_DMABUF
+#ifndef GST_DISABLE_GST_DEBUG
+#define GST_CAT_DEFAULT gst_egl_image_ensure_debug_category()
+
+static GstDebugCategory *
+gst_egl_image_ensure_debug_category (void)
+{
+  static gsize cat_gonce = 0;
+
+  if (g_once_init_enter (&cat_gonce)) {
+    GstDebugCategory *cat = NULL;
+
+    GST_DEBUG_CATEGORY_INIT (cat, "gleglimage", 0, "EGLImage wrapper");
+
+    g_once_init_leave (&cat_gonce, (gsize) cat);
+  }
+
+  return (GstDebugCategory *) cat_gonce;
+}
+#endif /* GST_DISABLE_GST_DEBUG */
+#endif /* GST_GL_HAVE_DMABUF */
+
+EGLImageKHR
+gst_egl_image_get_image (GstEGLImage * image)
+{
+  g_return_val_if_fail (GST_IS_EGL_IMAGE (image), EGL_NO_IMAGE_KHR);
+
+  return image->image;
+}
+
+GstVideoGLTextureOrientation
+gst_egl_image_get_orientation (GstEGLImage * image)
+{
+  g_return_val_if_fail (GST_IS_EGL_IMAGE (image),
+      GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL);
+
+  return image->orientation;
+}
+
+static void
+_gst_egl_image_free_thread (GstGLContext * context, GstEGLImage * image)
+{
+  if (image->destroy_notify)
+    image->destroy_notify (image, image->destroy_data);
+}
+
+static void
+_gst_egl_image_free (GstMiniObject * object)
+{
+  GstEGLImage *image = GST_EGL_IMAGE (object);
+
+  if (image->context) {
+    gst_gl_context_thread_add (GST_GL_CONTEXT (image->context),
+        (GstGLContextThreadFunc) _gst_egl_image_free_thread, image);
+    gst_object_unref (image->context);
+  }
+}
+
+static GstMiniObject *
+_gst_egl_image_copy (GstMiniObject * obj)
+{
+  return gst_mini_object_ref (obj);
+}
+
+GstEGLImage *
+gst_egl_image_new_wrapped (GstGLContext * context, EGLImageKHR image,
+    GstVideoGLTextureType type, GstVideoGLTextureOrientation orientation,
+    gpointer user_data, GstEGLImageDestroyNotify user_data_destroy)
+{
+  GstEGLImage *img = NULL;
+
+  g_return_val_if_fail (context != NULL, NULL);
+  g_return_val_if_fail (GST_IS_GL_CONTEXT_EGL (context), NULL);
+  g_return_val_if_fail (image != EGL_NO_IMAGE_KHR, NULL);
+
+  img = g_new0 (GstEGLImage, 1);
+  gst_mini_object_init (GST_MINI_OBJECT_CAST (img), 0, GST_TYPE_EGL_IMAGE,
+      (GstMiniObjectCopyFunction) _gst_egl_image_copy, NULL,
+      (GstMiniObjectFreeFunction) _gst_egl_image_free);
+
+  img->context = gst_object_ref (context);
+  img->image = image;
+  img->type = type;
+  img->orientation = orientation;
+
+  img->destroy_data = user_data;
+  img->destroy_notify = user_data_destroy;
+
+  return img;
+}
+
+#if GST_GL_HAVE_DMABUF
+/*
+ * GStreamer format descriptions differ from DRM formats as the representation
+ * is relative to a register, hence in native endianness. To reduce the driver
+ * requirement, we only import with a subset of texture formats and use
+ * shaders to convert. This way we avoid having to use external texture
+ * target.
+ */
+static int
+_drm_fourcc_from_info (GstVideoInfo * info, int plane)
+{
+  GstVideoFormat format = GST_VIDEO_INFO_FORMAT (info);
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
+  const gint rgba_fourcc = DRM_FORMAT_ABGR8888;
+  const gint rgb_fourcc = DRM_FORMAT_BGR888;
+  const gint rg_fourcc = DRM_FORMAT_GR88;
+#else
+  const gint rgba_fourcc = DRM_FORMAT_RGBA8888;
+  const gint rgb_fourcc = DRM_FORMAT_RGB888;
+  const gint rg_fourcc = DRM_FORMAT_RG88;
+#endif
+
+  GST_DEBUG ("Getting DRM fourcc for %s plane %i",
+      gst_video_format_to_string (format), plane);
+
+  switch (format) {
+    case GST_VIDEO_FORMAT_RGB16:
+    case GST_VIDEO_FORMAT_BGR16:
+      return DRM_FORMAT_RGB565;
+
+    case GST_VIDEO_FORMAT_RGB:
+    case GST_VIDEO_FORMAT_BGR:
+      return rgb_fourcc;
+
+    case GST_VIDEO_FORMAT_RGBA:
+    case GST_VIDEO_FORMAT_RGBx:
+    case GST_VIDEO_FORMAT_BGRA:
+    case GST_VIDEO_FORMAT_BGRx:
+    case GST_VIDEO_FORMAT_ARGB:
+    case GST_VIDEO_FORMAT_xRGB:
+    case GST_VIDEO_FORMAT_ABGR:
+    case GST_VIDEO_FORMAT_xBGR:
+    case GST_VIDEO_FORMAT_AYUV:
+      return rgba_fourcc;
+
+    case GST_VIDEO_FORMAT_GRAY8:
+      return DRM_FORMAT_R8;
+
+    case GST_VIDEO_FORMAT_YUY2:
+    case GST_VIDEO_FORMAT_UYVY:
+    case GST_VIDEO_FORMAT_GRAY16_LE:
+    case GST_VIDEO_FORMAT_GRAY16_BE:
+      return rg_fourcc;
+
+    case GST_VIDEO_FORMAT_NV12:
+    case GST_VIDEO_FORMAT_NV21:
+      return plane == 0 ? DRM_FORMAT_R8 : rg_fourcc;
+
+    case GST_VIDEO_FORMAT_I420:
+    case GST_VIDEO_FORMAT_YV12:
+    case GST_VIDEO_FORMAT_Y41B:
+    case GST_VIDEO_FORMAT_Y42B:
+    case GST_VIDEO_FORMAT_Y444:
+      return DRM_FORMAT_R8;
+
+    default:
+      GST_ERROR ("Unsupported format for DMABuf.");
+      return -1;
+  }
+}
+
+static void
+_destroy_egl_image (GstEGLImage * image, gpointer user_data)
+{
+  image->context->eglDestroyImage (image->context->egl_display, image->image);
+}
+
+GstEGLImage *
+gst_egl_image_from_dmabuf (GstGLContext * context,
+    gint dmabuf, GstVideoInfo * in_info, gint plane, gsize offset)
+{
+  GstGLContextEGL *ctx_egl = GST_GL_CONTEXT_EGL (context);
+  gint fourcc;
+  gint atti = 0;
+  EGLint attribs[13];
+  EGLImageKHR img = EGL_NO_IMAGE_KHR;
+  GstVideoGLTextureType type;
+
+  fourcc = _drm_fourcc_from_info (in_info, plane);
+  type =
+      gst_gl_texture_type_from_format (context, GST_VIDEO_INFO_FORMAT (in_info),
+      plane);
+
+  GST_DEBUG ("fourcc %.4s (%d) plane %d (%dx%d)",
+      (char *) &fourcc, fourcc, plane,
+      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);
+
+  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]);
+
+  g_assert (atti == 12);
+
+  img = ctx_egl->eglCreateImage (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 ()));
+    return NULL;
+  }
+
+  return gst_egl_image_new_wrapped (context, img, type,
+      GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL,
+      (GstEGLImageDestroyNotify) _destroy_egl_image, NULL);
+}
+#endif /* GST_GL_HAVE_DMABUF */
diff --git a/gst-libs/gst/gl/egl/gsteglimage.h b/gst-libs/gst/gl/egl/gsteglimage.h
new file mode 100644
index 0000000..2d2e075
--- /dev/null
+++ b/gst-libs/gst/gl/egl/gsteglimage.h
@@ -0,0 +1,106 @@
+/*
+ * GStreamer
+ * Copyright (C) 2012 Collabora Ltd.
+ *   @author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ * Copyright (C) 2014 Julien Isorce <julien.isorce@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GST_EGL_IMAGE_H_
+#define _GST_EGL_IMAGE_H_
+
+#include <gst/gst.h>
+#include <gst/video/video.h>
+
+#include <gst/gl/gl.h>
+#include <gst/gl/egl/gstglcontext_egl.h>
+
+G_BEGIN_DECLS
+
+GType gst_egl_image_get_type (void);
+#define GST_TYPE_EGL_IMAGE                         (gst_egl_image_get_type())
+#define GST_IS_EGL_IMAGE(obj)                      (GST_IS_MINI_OBJECT_TYPE(obj, GST_TYPE_EGL_IMAGE))
+#define GST_EGL_IMAGE_CAST(obj)                    ((GstEGLImage *)(obj))
+#define GST_EGL_IMAGE(obj)                         (GST_EGL_IMAGE_CAST(obj))
+
+typedef struct _GstEGLImage GstEGLImage;
+
+typedef void (*GstEGLImageDestroyNotify) (GstEGLImage * image,
+    gpointer data);
+
+struct _GstEGLImage
+{
+  GstMiniObject parent;
+
+  GstGLContextEGL *context;
+  EGLImageKHR image;
+  GstVideoGLTextureType type;
+  /* FIXME: remove this and use the affine transformation meta instead */
+  GstVideoGLTextureOrientation orientation;
+
+  /* <private> */
+  gpointer destroy_data;
+  GstEGLImageDestroyNotify destroy_notify;
+};
+
+GstEGLImage *             gst_egl_image_new_wrapped             (GstGLContext * context,
+                                                                 EGLImageKHR image,
+                                                                 GstVideoGLTextureType type,
+                                                                 GstVideoGLTextureOrientation orientation,
+                                                                 gpointer user_data,
+                                                                 GstEGLImageDestroyNotify user_data_destroy);
+EGLImageKHR             gst_egl_image_get_image                 (GstEGLImage * image);
+GstVideoGLTextureOrientation gst_egl_image_get_orientation      (GstEGLImage * image);
+
+#if GST_GL_HAVE_DMABUF
+GstEGLImage *           gst_egl_image_from_dmabuf               (GstGLContext * context,
+                                                                 gint dmabuf,
+                                                                 GstVideoInfo * in_info,
+                                                                 gint plane,
+                                                                 gsize offset);
+#endif
+
+/**
+ * gst_egl_image_ref:
+ * @image: a #GstEGLImage.
+ *
+ * Increases the refcount of the given image by one.
+ *
+ * Returns: (transfer full): @image
+ */
+static inline GstEGLImage *
+gst_egl_image_ref (GstEGLImage * image)
+{
+  return (GstEGLImage *) gst_mini_object_ref (GST_MINI_OBJECT_CAST (image));
+}
+
+/**
+ * gst_buffer_unref:
+ * @buf: (transfer full): a #GstBuffer.
+ *
+ * Decreases the refcount of the image. If the refcount reaches 0, the image
+ * with the associated metadata and memory will be freed.
+ */
+static inline void
+gst_egl_image_unref (GstEGLImage * image)
+{
+  gst_mini_object_unref (GST_MINI_OBJECT_CAST (image));
+}
+
+G_END_DECLS
+
+#endif /* _GST_EGL_IMAGE_H_ */
diff --git a/gst-libs/gst/gl/egl/gsteglimagememory.c b/gst-libs/gst/gl/egl/gsteglimagememory.c
deleted file mode 100644
index 46098b5..0000000
--- a/gst-libs/gst/gl/egl/gsteglimagememory.c
+++ /dev/null
@@ -1,732 +0,0 @@
-/*
- * GStreamer
- * Copyright (C) 2012 Collabora Ltd.
- *   @author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
- * Copyright (C) 2014 Julien Isorce <julien.isorce@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "gsteglimagememory.h"
-#include <string.h>
-
-#if GST_GL_HAVE_DMABUF
-#include <gst/allocators/gstdmabuf.h>
-#include <libdrm/drm_fourcc.h>
-
-#ifndef DRM_FORMAT_R8
-#define DRM_FORMAT_R8 fourcc_code('R', '8', ' ', ' ')
-#endif
-
-#ifndef DRM_FORMAT_RG88
-#define DRM_FORMAT_RG88 fourcc_code('R', 'G', '8', '8')
-#endif
-
-#ifndef DRM_FORMAT_GR88
-#define DRM_FORMAT_GR88 fourcc_code('G', 'R', '8', '8')
-#endif
-#endif
-
-#ifndef EGL_LINUX_DMA_BUF_EXT
-#define EGL_LINUX_DMA_BUF_EXT 0x3270
-#endif
-
-#ifndef EGL_LINUX_DRM_FOURCC_EXT
-#define EGL_LINUX_DRM_FOURCC_EXT 0x3271
-#endif
-
-#ifndef EGL_DMA_BUF_PLANE0_FD_EXT
-#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
-#endif
-
-#ifndef EGL_DMA_BUF_PLANE0_OFFSET_EXT
-#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
-#endif
-
-#ifndef EGL_DMA_BUF_PLANE0_PITCH_EXT
-#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
-#endif
-
-GST_DEBUG_CATEGORY_STATIC (GST_CAT_EGL_IMAGE_MEMORY);
-#define GST_CAT_DEFAULT GST_CAT_EGL_IMAGE_MEMORY
-
-#define GST_EGL_IMAGE_MEMORY(mem) ((GstEGLImageMemory*)(mem))
-
-gboolean
-gst_is_egl_image_memory (GstMemory * mem)
-{
-  g_return_val_if_fail (mem != NULL, FALSE);
-  g_return_val_if_fail (mem->allocator != NULL, FALSE);
-
-  return g_strcmp0 (mem->allocator->mem_type, GST_EGL_IMAGE_MEMORY_TYPE) == 0;
-}
-
-EGLImageKHR
-gst_egl_image_memory_get_image (GstMemory * mem)
-{
-  g_return_val_if_fail (gst_is_egl_image_memory (mem), EGL_NO_IMAGE_KHR);
-
-  if (mem->parent)
-    mem = mem->parent;
-
-  return GST_EGL_IMAGE_MEMORY (mem)->image;
-}
-
-EGLDisplay
-gst_egl_image_memory_get_display (GstMemory * mem)
-{
-  g_return_val_if_fail (gst_is_egl_image_memory (mem), NULL);
-
-  if (mem->parent)
-    mem = mem->parent;
-
-  return GST_EGL_IMAGE_MEMORY (mem)->context->egl_display;
-}
-
-GstVideoGLTextureOrientation
-gst_egl_image_memory_get_orientation (GstMemory * mem)
-{
-  g_return_val_if_fail (gst_is_egl_image_memory (mem),
-      GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL);
-
-  if (mem->parent)
-    mem = mem->parent;
-
-  return GST_EGL_IMAGE_MEMORY (mem)->orientation;
-}
-
-void
-gst_egl_image_memory_set_orientation (GstMemory * mem,
-    GstVideoGLTextureOrientation orientation)
-{
-  g_return_if_fail (gst_is_egl_image_memory (mem));
-
-  if (mem->parent)
-    mem = mem->parent;
-
-  GST_EGL_IMAGE_MEMORY (mem)->orientation = orientation;
-}
-
-static GstMemory *
-gst_egl_image_allocator_alloc_vfunc (GstAllocator * allocator, gsize size,
-    GstAllocationParams * params)
-{
-  g_warning
-      ("Use gst_egl_image_allocator_alloc() to allocate from this allocator");
-
-  return NULL;
-}
-
-static void
-gst_egl_image_allocator_free_vfunc (GstAllocator * allocator, GstMemory * mem)
-{
-  GstEGLImageMemory *emem = (GstEGLImageMemory *) mem;
-
-  g_return_if_fail (gst_is_egl_image_memory (mem));
-
-  /* Shared memory should not destroy all the data */
-  if (!mem->parent) {
-    emem->context->eglDestroyImage (emem->context->egl_display, emem->image);
-
-    if (emem->user_data_destroy)
-      emem->user_data_destroy (emem->context, emem->user_data);
-
-    gst_object_unref (emem->context);
-    emem->context = NULL;
-  }
-
-  g_slice_free (GstEGLImageMemory, emem);
-}
-
-static gpointer
-gst_egl_image_mem_map (GstMemory * mem, gsize maxsize, GstMapFlags flags)
-{
-  return NULL;
-}
-
-static void
-gst_egl_image_mem_unmap (GstMemory * mem)
-{
-}
-
-static GstMemory *
-gst_egl_image_mem_share (GstMemory * mem, gssize offset, gssize size)
-{
-  return NULL;
-}
-
-static GstMemory *
-gst_egl_image_mem_copy (GstMemory * mem, gssize offset, gssize size)
-{
-  return NULL;
-}
-
-static gboolean
-gst_egl_image_mem_is_span (GstMemory * mem1, GstMemory * mem2, gsize * offset)
-{
-  return FALSE;
-}
-
-typedef struct _GstEGLImageAllocator GstEGLImageAllocator;
-typedef struct _GstEGLImageAllocatorClass GstEGLImageAllocatorClass;
-
-struct _GstEGLImageAllocator
-{
-  GstAllocator parent;
-};
-
-struct _GstEGLImageAllocatorClass
-{
-  GstAllocatorClass parent_class;
-};
-
-GType gst_egl_image_allocator_get_type (void);
-G_DEFINE_TYPE (GstEGLImageAllocator, gst_egl_image_allocator,
-    GST_TYPE_ALLOCATOR);
-
-#define GST_TYPE_EGL_IMAGE_ALLOCATOR   (gst_egl_image_mem_allocator_get_type())
-#define GST_IS_EGL_IMAGE_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_EGL_IMAGE_ALLOCATOR))
-
-static void
-gst_egl_image_allocator_class_init (GstEGLImageAllocatorClass * klass)
-{
-  GstAllocatorClass *allocator_class = (GstAllocatorClass *) klass;
-
-  allocator_class->alloc = gst_egl_image_allocator_alloc_vfunc;
-  allocator_class->free = gst_egl_image_allocator_free_vfunc;
-}
-
-static void
-gst_egl_image_allocator_init (GstEGLImageAllocator * allocator)
-{
-  GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
-
-  alloc->mem_type = GST_EGL_IMAGE_MEMORY_TYPE;
-  alloc->mem_map = gst_egl_image_mem_map;
-  alloc->mem_unmap = gst_egl_image_mem_unmap;
-  alloc->mem_share = gst_egl_image_mem_share;
-  alloc->mem_copy = gst_egl_image_mem_copy;
-  alloc->mem_is_span = gst_egl_image_mem_is_span;
-
-  GST_OBJECT_FLAG_SET (allocator, GST_ALLOCATOR_FLAG_CUSTOM_ALLOC);
-}
-
-static gpointer
-gst_egl_image_allocator_init_instance (gpointer data)
-{
-  GstAllocator *allocator =
-      g_object_new (gst_egl_image_allocator_get_type (), NULL);
-
-  GST_DEBUG_CATEGORY_INIT (GST_CAT_EGL_IMAGE_MEMORY, "eglimagememory", 0,
-      "EGLImage Memory");
-
-  gst_allocator_register (GST_EGL_IMAGE_MEMORY_TYPE,
-      gst_object_ref (allocator));
-
-  return allocator;
-}
-
-static GstEGLImageAllocator *
-gst_egl_image_allocator_obtain (void)
-{
-  static GOnce once = G_ONCE_INIT;
-
-  g_once (&once, gst_egl_image_allocator_init_instance, NULL);
-
-  g_return_val_if_fail (once.retval != NULL, NULL);
-
-  return (GstEGLImageAllocator *) (g_object_ref (once.retval));
-}
-
-void
-gst_egl_image_memory_init (void)
-{
-  gst_egl_image_allocator_obtain ();
-}
-
-static void
-gst_egl_image_memory_del_gl_texture (GstGLContext * context, gpointer tex)
-{
-  GLuint textures[1] = { GPOINTER_TO_UINT (tex) };
-
-  gst_gl_context_del_texture (context, textures);
-}
-
-static GstMemory *
-gst_egl_image_allocator_wrap (GstEGLImageAllocator * allocator,
-    GstGLContextEGL * context, EGLImageKHR image, GstVideoGLTextureType type,
-    GstMemoryFlags flags, gsize size, gpointer user_data,
-    GstEGLImageDestroyNotify user_data_destroy)
-{
-  GstEGLImageMemory *mem = NULL;
-
-  g_return_val_if_fail (context != NULL, NULL);
-  g_return_val_if_fail (image != EGL_NO_IMAGE_KHR, NULL);
-
-  if (!allocator) {
-    allocator = gst_egl_image_allocator_obtain ();
-  }
-
-  mem = g_slice_new (GstEGLImageMemory);
-  gst_memory_init (GST_MEMORY_CAST (mem), flags,
-      GST_ALLOCATOR (allocator), NULL, size, 0, 0, size);
-
-  gst_object_unref (allocator);
-
-  mem->context = gst_object_ref (context);
-  mem->image = image;
-  mem->type = type;
-  mem->orientation = GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL;
-
-  mem->user_data = user_data;
-  mem->user_data_destroy = user_data_destroy;
-
-  return GST_MEMORY_CAST (mem);
-}
-
-#if 0
-static GstMemory *
-gst_egl_image_allocator_alloc (GstAllocator * allocator,
-    GstGLContextEGL * context, GstVideoGLTextureType type, gint width,
-    gint height, gsize size)
-{
-  /* EGL_NO_CONTEXT */
-  return NULL;
-}
-#endif
-
-static gboolean
-gst_eglimage_to_gl_texture_upload_meta (GstVideoGLTextureUploadMeta *
-    meta, guint texture_id[4])
-{
-  gint i = 0;
-  gint n = 0;
-
-  g_return_val_if_fail (meta != NULL, FALSE);
-  g_return_val_if_fail (texture_id != NULL, FALSE);
-
-  GST_DEBUG ("Uploading for meta with textures %i,%i,%i,%i", texture_id[0],
-      texture_id[1], texture_id[2], texture_id[3]);
-
-  n = gst_buffer_n_memory (meta->buffer);
-
-  for (i = 0; i < n; i++) {
-    GstMemory *mem = gst_buffer_peek_memory (meta->buffer, i);
-    const GstGLFuncs *gl = NULL;
-
-    if (!gst_is_egl_image_memory (mem)) {
-      GST_WARNING ("memory %p does not hold an EGLImage", mem);
-      return FALSE;
-    }
-
-    gl = GST_GL_CONTEXT (GST_EGL_IMAGE_MEMORY (mem)->context)->gl_vtable;
-
-    gl->ActiveTexture (GL_TEXTURE0 + i);
-    gl->BindTexture (GL_TEXTURE_2D, texture_id[i]);
-    gl->EGLImageTargetTexture2D (GL_TEXTURE_2D,
-        gst_egl_image_memory_get_image (mem));
-  }
-
-  if (GST_IS_GL_BUFFER_POOL (meta->buffer->pool))
-    gst_gl_buffer_pool_replace_last_buffer (GST_GL_BUFFER_POOL (meta->
-            buffer->pool), meta->buffer);
-
-
-  return TRUE;
-}
-
-#if GST_GL_HAVE_DMABUF
-/*
- * GStreamer format descriptions differ from DRM formats as the representation
- * is relative to a register, hence in native endianness. To reduce the driver
- * requirement, we only import with a subset of texture formats and use
- * shaders to convert. This way we avoid having to use external texture
- * target.
- */
-static int
-_drm_fourcc_from_info (GstVideoInfo * info, int plane)
-{
-  GstVideoFormat format = GST_VIDEO_INFO_FORMAT (info);
-#if G_BYTE_ORDER == G_LITTLE_ENDIAN
-  const gint rgba_fourcc = DRM_FORMAT_ABGR8888;
-  const gint rgb_fourcc = DRM_FORMAT_BGR888;
-  const gint rg_fourcc = DRM_FORMAT_GR88;
-#else
-  const gint rgba_fourcc = DRM_FORMAT_RGBA8888;
-  const gint rgb_fourcc = DRM_FORMAT_RGB888;
-  const gint rg_fourcc = DRM_FORMAT_RG88;
-#endif
-
-  GST_DEBUG ("Getting DRM fourcc for %s plane %i",
-      gst_video_format_to_string (format), plane);
-
-  switch (format) {
-    case GST_VIDEO_FORMAT_RGB16:
-    case GST_VIDEO_FORMAT_BGR16:
-      return DRM_FORMAT_RGB565;
-
-    case GST_VIDEO_FORMAT_RGB:
-    case GST_VIDEO_FORMAT_BGR:
-      return rgb_fourcc;
-
-    case GST_VIDEO_FORMAT_RGBA:
-    case GST_VIDEO_FORMAT_RGBx:
-    case GST_VIDEO_FORMAT_BGRA:
-    case GST_VIDEO_FORMAT_BGRx:
-    case GST_VIDEO_FORMAT_ARGB:
-    case GST_VIDEO_FORMAT_xRGB:
-    case GST_VIDEO_FORMAT_ABGR:
-    case GST_VIDEO_FORMAT_xBGR:
-    case GST_VIDEO_FORMAT_AYUV:
-      return rgba_fourcc;
-
-    case GST_VIDEO_FORMAT_GRAY8:
-      return DRM_FORMAT_R8;
-
-    case GST_VIDEO_FORMAT_YUY2:
-    case GST_VIDEO_FORMAT_UYVY:
-    case GST_VIDEO_FORMAT_GRAY16_LE:
-    case GST_VIDEO_FORMAT_GRAY16_BE:
-      return rg_fourcc;
-
-    case GST_VIDEO_FORMAT_NV12:
-    case GST_VIDEO_FORMAT_NV21:
-      return plane == 0 ? DRM_FORMAT_R8 : rg_fourcc;
-
-    case GST_VIDEO_FORMAT_I420:
-    case GST_VIDEO_FORMAT_YV12:
-    case GST_VIDEO_FORMAT_Y41B:
-    case GST_VIDEO_FORMAT_Y42B:
-    case GST_VIDEO_FORMAT_Y444:
-      return DRM_FORMAT_R8;
-
-    default:
-      GST_ERROR ("Unsupported format for DMABuf.");
-      return -1;
-  }
-}
-
-GstMemory *
-gst_egl_image_memory_from_dmabuf (GstGLContext * context,
-    gint dmabuf, GstVideoInfo * in_info, gint plane, gsize offset)
-{
-  GstGLContextEGL *ctx_egl = GST_GL_CONTEXT_EGL (context);
-  GstEGLImageAllocator *allocator;
-  gint fourcc;
-  gint atti = 0;
-  EGLint attribs[13];
-  EGLImageKHR img = EGL_NO_IMAGE_KHR;
-
-  allocator = gst_egl_image_allocator_obtain ();
-  fourcc = _drm_fourcc_from_info (in_info, plane);
-
-  GST_DEBUG ("fourcc %.4s (%d) plane %d (%dx%d)",
-      (char *) &fourcc, fourcc, plane,
-      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);
-
-  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]);
-
-  g_assert (atti == 12);
-
-  img = ctx_egl->eglCreateImage (ctx_egl->egl_display, EGL_NO_CONTEXT,
-      EGL_LINUX_DMA_BUF_EXT, NULL, attribs);
-
-  if (!img) {
-    GST_WARNING_OBJECT (allocator, "eglCreateImage failed: %s",
-        gst_gl_context_egl_get_error_string (eglGetError ()));
-    return NULL;
-  }
-
-  return gst_egl_image_allocator_wrap (allocator, ctx_egl, img, 0, 0,
-      in_info->size, NULL, NULL);
-}
-#endif /* GST_GL_HAVE_DMABUF */
-
-gboolean
-gst_egl_image_memory_setup_buffer (GstGLContext * ctx, GstVideoInfo * info,
-    GstBuffer * buffer)
-{
-  gint i = 0;
-  gint stride[3];
-  gsize offset[3];
-  GstMemory *mem[3] = { NULL, NULL, NULL };
-  guint n_mem = 0;
-  GstMemoryFlags flags = 0;
-  EGLImageKHR image = EGL_NO_IMAGE_KHR;
-  EGLClientBuffer client_buffer_tex[3] = { 0, 0, 0 };
-  GstVideoGLTextureType texture_types[] = { 0, 0, 0, 0 };
-  GstEGLImageAllocator *allocator = gst_egl_image_allocator_obtain ();
-  GstGLContextEGL *context = GST_GL_CONTEXT_EGL (ctx);
-
-  g_return_val_if_fail (ctx, FALSE);
-  g_return_val_if_fail (info, FALSE);
-  g_return_val_if_fail (buffer, FALSE);
-  g_return_val_if_fail (gst_gl_context_check_feature (ctx,
-          "EGL_KHR_image_base"), FALSE);
-
-  memset (stride, 0, sizeof (stride));
-  memset (offset, 0, sizeof (offset));
-
-  flags |= GST_MEMORY_FLAG_NOT_MAPPABLE;
-  flags |= GST_MEMORY_FLAG_NO_SHARE;
-
-  switch (GST_VIDEO_INFO_FORMAT (info)) {
-    case GST_VIDEO_FORMAT_RGB:
-    case GST_VIDEO_FORMAT_BGR:
-    case GST_VIDEO_FORMAT_RGB16:
-    case GST_VIDEO_FORMAT_RGBA:
-    case GST_VIDEO_FORMAT_BGRA:
-    case GST_VIDEO_FORMAT_ARGB:
-    case GST_VIDEO_FORMAT_ABGR:
-    case GST_VIDEO_FORMAT_RGBx:
-    case GST_VIDEO_FORMAT_BGRx:
-    case GST_VIDEO_FORMAT_xRGB:
-    case GST_VIDEO_FORMAT_xBGR:
-    case GST_VIDEO_FORMAT_AYUV:
-    {
-      gsize size = 0;
-
-      switch (GST_VIDEO_INFO_FORMAT (info)) {
-        case GST_VIDEO_FORMAT_RGB:
-        case GST_VIDEO_FORMAT_BGR:
-        case GST_VIDEO_FORMAT_RGB16:
-        {
-          texture_types[0] = GST_VIDEO_GL_TEXTURE_TYPE_RGB;
-          break;
-        }
-        case GST_VIDEO_FORMAT_RGBA:
-        case GST_VIDEO_FORMAT_BGRA:
-        case GST_VIDEO_FORMAT_ARGB:
-        case GST_VIDEO_FORMAT_ABGR:
-        case GST_VIDEO_FORMAT_RGBx:
-        case GST_VIDEO_FORMAT_BGRx:
-        case GST_VIDEO_FORMAT_xRGB:
-        case GST_VIDEO_FORMAT_xBGR:
-        case GST_VIDEO_FORMAT_AYUV:
-        {
-          texture_types[0] = GST_VIDEO_GL_TEXTURE_TYPE_RGBA;
-          break;
-        }
-        default:
-          g_assert_not_reached ();
-          break;
-      }
-#if 0
-      mem[0] =
-          gst_egl_image_allocator_alloc (allocator, context,
-          texture_types[0], GST_VIDEO_INFO_WIDTH (info),
-          GST_VIDEO_INFO_HEIGHT (info), size);
-      if (mem[0]) {
-        stride[0] = size / GST_VIDEO_INFO_HEIGHT (info);
-        n_mem = 1;
-        GST_MINI_OBJECT_FLAG_SET (mem[0], GST_MEMORY_FLAG_NO_SHARE);
-      } else
-#endif
-      {
-        gst_gl_generate_texture_full (GST_GL_CONTEXT (context), info, 0, stride,
-            offset, &size, (GLuint *) & client_buffer_tex[0]);
-
-        image = context->eglCreateImage (context->egl_display,
-            context->egl_context, EGL_GL_TEXTURE_2D_KHR, client_buffer_tex[0],
-            NULL);
-        if (eglGetError () != EGL_SUCCESS)
-          goto mem_error;
-
-        mem[0] =
-            gst_egl_image_allocator_wrap (allocator, context,
-            image, texture_types[0], flags, size, client_buffer_tex[0],
-            (GstEGLImageDestroyNotify) gst_egl_image_memory_del_gl_texture);
-        n_mem = 1;
-      }
-      break;
-    }
-
-    case GST_VIDEO_FORMAT_NV12:
-    case GST_VIDEO_FORMAT_NV21:
-    {
-      gsize size[2];
-
-      texture_types[0] = GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE;
-      texture_types[1] = GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE_ALPHA;
-#if 0
-      mem[0] =
-          gst_egl_image_allocator_alloc (allocator, context,
-          texture_types[0], GST_VIDEO_INFO_COMP_WIDTH (info,
-              0), GST_VIDEO_INFO_COMP_HEIGHT (info, 0), size[0]);
-      mem[1] =
-          gst_egl_image_allocator_alloc (allocator, context,
-          texture_types[1],
-          GST_VIDEO_INFO_COMP_WIDTH (info, 1),
-          GST_VIDEO_INFO_COMP_HEIGHT (info, 1), size[1]);
-
-      if (mem[0] && mem[1]) {
-        stride[0] = size[0] / GST_VIDEO_INFO_HEIGHT (info);
-        offset[1] = size[0];
-        stride[1] = size[1] / GST_VIDEO_INFO_HEIGHT (info);
-        n_mem = 2;
-        GST_MINI_OBJECT_FLAG_SET (mem[0], GST_MEMORY_FLAG_NO_SHARE);
-        GST_MINI_OBJECT_FLAG_SET (mem[1], GST_MEMORY_FLAG_NO_SHARE);
-      } else {
-        if (mem[0])
-          gst_memory_unref (mem[0]);
-        if (mem[1])
-          gst_memory_unref (mem[1]);
-        mem[0] = mem[1] = NULL;
-      }
-#endif
-      {
-        for (i = 0; i < 2; i++) {
-          gst_gl_generate_texture_full (GST_GL_CONTEXT (context), info, 0,
-              stride, offset, size, (GLuint *) & client_buffer_tex[i]);
-
-          image = context->eglCreateImage (context->egl_display,
-              context->egl_context, EGL_GL_TEXTURE_2D_KHR, client_buffer_tex[i],
-              NULL);
-          if (eglGetError () != EGL_SUCCESS)
-            goto mem_error;
-
-          mem[i] =
-              gst_egl_image_allocator_wrap (allocator, context,
-              image, texture_types[i], flags, size[i], client_buffer_tex[i],
-              (GstEGLImageDestroyNotify) gst_egl_image_memory_del_gl_texture);
-        }
-
-        n_mem = 2;
-      }
-      break;
-    }
-    case GST_VIDEO_FORMAT_I420:
-    case GST_VIDEO_FORMAT_YV12:
-    case GST_VIDEO_FORMAT_Y444:
-    case GST_VIDEO_FORMAT_Y42B:
-    case GST_VIDEO_FORMAT_Y41B:
-    {
-      gsize size[3];
-
-      texture_types[0] = GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE;
-      texture_types[1] = GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE;
-      texture_types[2] = GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE;
-#if 0
-      mem[0] =
-          gst_egl_image_allocator_alloc (allocator, context,
-          texture_types[0], GST_VIDEO_INFO_COMP_WIDTH (info,
-              0), GST_VIDEO_INFO_COMP_HEIGHT (info, 0), size[0]);
-      mem[1] =
-          gst_egl_image_allocator_alloc (allocator, context,
-          texture_types[1], GST_VIDEO_INFO_COMP_WIDTH (info,
-              1), GST_VIDEO_INFO_COMP_HEIGHT (info, 1), size[1]);
-      mem[2] =
-          gst_egl_image_allocator_alloc (allocator, context,
-          texture_types[2], GST_VIDEO_INFO_COMP_WIDTH (info,
-              2), GST_VIDEO_INFO_COMP_HEIGHT (info, 2), size[2]);
-
-      if (mem[0] && mem[1] && mem[2]) {
-        stride[0] = size[0] / GST_VIDEO_INFO_HEIGHT (info);
-        offset[1] = size[0];
-        stride[1] = size[1] / GST_VIDEO_INFO_HEIGHT (info);
-        offset[2] = size[1];
-        stride[2] = size[2] / GST_VIDEO_INFO_HEIGHT (info);
-        n_mem = 3;
-        GST_MINI_OBJECT_FLAG_SET (mem[0], GST_MEMORY_FLAG_NO_SHARE);
-        GST_MINI_OBJECT_FLAG_SET (mem[1], GST_MEMORY_FLAG_NO_SHARE);
-        GST_MINI_OBJECT_FLAG_SET (mem[2], GST_MEMORY_FLAG_NO_SHARE);
-      } else {
-        if (mem[0])
-          gst_memory_unref (mem[0]);
-        if (mem[1])
-          gst_memory_unref (mem[1]);
-        if (mem[2])
-          gst_memory_unref (mem[2]);
-        mem[0] = mem[1] = mem[2] = NULL;
-      }
-#endif
-      {
-        for (i = 0; i < 3; i++) {
-          gst_gl_generate_texture_full (GST_GL_CONTEXT (context), info, i,
-              stride, offset, size, (GLuint *) & client_buffer_tex[i]);
-
-          image = context->eglCreateImage (context->egl_display,
-              context->egl_context, EGL_GL_TEXTURE_2D_KHR, client_buffer_tex[i],
-              NULL);
-          if (eglGetError () != EGL_SUCCESS)
-            goto mem_error;
-
-          mem[i] =
-              gst_egl_image_allocator_wrap (allocator, context,
-              image, texture_types[i], flags, size[i], client_buffer_tex[i],
-              (GstEGLImageDestroyNotify) gst_egl_image_memory_del_gl_texture);
-        }
-
-        n_mem = 3;
-      }
-      break;
-    }
-    default:
-      g_assert_not_reached ();
-      break;
-  }
-
-  gst_buffer_add_video_meta_full (buffer, 0, GST_VIDEO_INFO_FORMAT (info),
-      GST_VIDEO_INFO_WIDTH (info), GST_VIDEO_INFO_HEIGHT (info),
-      GST_VIDEO_INFO_N_PLANES (info), offset, stride);
-
-  gst_buffer_add_video_gl_texture_upload_meta (buffer,
-      gst_egl_image_memory_get_orientation (mem[0]), n_mem, texture_types,
-      gst_eglimage_to_gl_texture_upload_meta, NULL, NULL, NULL);
-
-  for (i = 0; i < n_mem; i++)
-    gst_buffer_append_memory (buffer, mem[i]);
-
-  return TRUE;
-
-mem_error:
-  {
-    GST_CAT_ERROR (GST_CAT_DEFAULT, "Failed to create EGLImage");
-
-    for (i = 0; i < 3; i++) {
-      if (client_buffer_tex[i])
-        gst_gl_context_del_texture (ctx, (GLuint *) & client_buffer_tex[i]);
-      if (mem[i])
-        gst_memory_unref (mem[i]);
-    }
-
-    return FALSE;
-  }
-}
diff --git a/gst-libs/gst/gl/egl/gsteglimagememory.h b/gst-libs/gst/gl/egl/gsteglimagememory.h
deleted file mode 100644
index aced247..0000000
--- a/gst-libs/gst/gl/egl/gsteglimagememory.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * GStreamer
- * Copyright (C) 2012 Collabora Ltd.
- *   @author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
- * Copyright (C) 2014 Julien Isorce <julien.isorce@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef _GST_EGL_IMAGE_MEMORY_H_
-#define _GST_EGL_IMAGE_MEMORY_H_
-
-#include <gst/gst.h>
-#include <gst/gstallocator.h>
-#include <gst/gstmemory.h>
-#include <gst/video/video.h>
-
-#include <gst/gl/gl.h>
-#include "gstglcontext_egl.h"
-
-G_BEGIN_DECLS
-
-typedef void (*GstEGLImageDestroyNotify) (GstGLContextEGL * context,
-    gpointer data);
-
-typedef struct _GstEGLImageMemory GstEGLImageMemory;
-
-#define GST_EGL_IMAGE_MEMORY_TYPE "EGLImage"
-
-#define GST_CAPS_FEATURE_MEMORY_EGL_IMAGE "memory:EGLImage"
-
-struct _GstEGLImageMemory
-{
-  GstMemory parent;
-
-  GstGLContextEGL *context;
-  EGLImageKHR image;
-  GstVideoGLTextureType type;
-  GstVideoGLTextureOrientation orientation;
-
-  gpointer user_data;
-  GstEGLImageDestroyNotify user_data_destroy;
-};
-
-void gst_egl_image_memory_init (void);
-gboolean gst_egl_image_memory_setup_buffer (GstGLContext * context, GstVideoInfo * info, GstBuffer * buffer);
-gboolean gst_is_egl_image_memory (GstMemory * mem);
-EGLImageKHR gst_egl_image_memory_get_image (GstMemory * mem);
-EGLDisplay gst_egl_image_memory_get_display (GstMemory * mem);
-GstVideoGLTextureOrientation gst_egl_image_memory_get_orientation (GstMemory * mem);
-void gst_egl_image_memory_set_orientation (GstMemory * mem,
-    GstVideoGLTextureOrientation orientation);
-
-#if GST_GL_HAVE_DMABUF
-GstMemory * gst_egl_image_memory_from_dmabuf (GstGLContext * context,
-    gint dmabuf, GstVideoInfo * in_info, gint plane, gsize offset);
-#endif
-
-G_END_DECLS
-
-#endif /* _GST_GL_MEMORY_H_ */
diff --git a/gst-libs/gst/gl/egl/gstgldisplay_egl.c b/gst-libs/gst/gl/egl/gstgldisplay_egl.c
index 9acf4f0..c0c8022 100644
--- a/gst-libs/gst/gl/egl/gstgldisplay_egl.c
+++ b/gst-libs/gst/gl/egl/gstgldisplay_egl.c
@@ -23,7 +23,8 @@
 #endif
 
 #include <gst/gl/egl/gstgldisplay_egl.h>
-#include <gst/gl/egl/gsteglimagememory.h>
+#include <gst/gl/egl/gsteglimage.h>
+#include <gst/gl/egl/gstglmemoryegl.h>
 
 GST_DEBUG_CATEGORY_STATIC (gst_gl_display_debug);
 #define GST_CAT_DEFAULT gst_gl_display_debug
@@ -50,7 +51,7 @@
   display->type = GST_GL_DISPLAY_TYPE_EGL;
   display_egl->foreign_display = FALSE;
 
-  gst_egl_image_memory_init ();
+  gst_gl_memory_egl_init_once ();
 }
 
 static void
diff --git a/gst-libs/gst/gl/egl/gstglmemoryegl.c b/gst-libs/gst/gl/egl/gstglmemoryegl.c
new file mode 100644
index 0000000..0094c34
--- /dev/null
+++ b/gst-libs/gst/gl/egl/gstglmemoryegl.c
@@ -0,0 +1,251 @@
+/*
+ * GStreamer
+ * Copyright (C) 2012 Collabora Ltd.
+ *   @author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ * Copyright (C) 2014 Julien Isorce <julien.isorce@gmail.com>
+ * Copyright (C) 2015 Igalia
+ *    Author: Gwang Yoon Hwang <yoon@igalia.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/gl/egl/gstglmemoryegl.h>
+
+static GstAllocator *_gl_memory_egl_allocator;
+
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_GL_MEMORY);
+#define GST_CAT_DEFAULT GST_CAT_GL_MEMORY
+
+#define parent_class gst_gl_memory_egl_allocator_parent_class
+G_DEFINE_TYPE (GstGLMemoryEGLAllocator, gst_gl_memory_egl_allocator,
+    GST_TYPE_GL_MEMORY_ALLOCATOR);
+
+gboolean
+gst_is_gl_memory_egl (GstMemory * mem)
+{
+  return mem != NULL && mem->allocator != NULL
+      && g_type_is_a (G_OBJECT_TYPE (mem->allocator),
+      GST_TYPE_GL_MEMORY_EGL_ALLOCATOR);
+}
+
+static GstGLMemoryEGL *
+_gl_mem_get_parent (GstGLMemoryEGL * gl_mem)
+{
+  GstGLMemoryEGL *parent = (GstGLMemoryEGL *) gl_mem->mem.mem.mem.parent;
+  return parent ? parent : gl_mem;
+}
+
+EGLImageKHR
+gst_gl_memory_egl_get_image (GstGLMemoryEGL * mem)
+{
+  g_return_val_if_fail (gst_is_gl_memory_egl (GST_MEMORY_CAST (mem)),
+      EGL_NO_IMAGE_KHR);
+  return gst_egl_image_get_image (_gl_mem_get_parent (mem)->image);
+}
+
+EGLDisplay
+gst_gl_memory_egl_get_display (GstGLMemoryEGL * mem)
+{
+  g_return_val_if_fail (gst_is_gl_memory_egl (GST_MEMORY_CAST (mem)), NULL);
+  return GST_GL_CONTEXT_EGL (_gl_mem_get_parent (mem)->mem.mem.
+      context)->egl_display;
+}
+
+GstVideoGLTextureOrientation
+gst_gl_memory_egl_get_orientation (GstGLMemoryEGL * mem)
+{
+  g_return_val_if_fail (gst_is_gl_memory_egl (GST_MEMORY_CAST (mem)),
+      GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL);
+
+  return gst_egl_image_get_orientation (_gl_mem_get_parent (mem)->image);
+}
+
+static GstMemory *
+_gl_mem_alloc (GstAllocator * allocator, gsize size,
+    GstAllocationParams * params)
+{
+  g_warning ("Use gst_gl_base_memory_allocator_alloc() to allocate from this "
+      "GstGLMemoryEGL allocator");
+
+  return NULL;
+}
+
+static void
+_gl_mem_destroy (GstGLMemoryEGL * mem)
+{
+  if (mem->image)
+    gst_egl_image_unref (mem->image);
+
+  GST_GL_BASE_MEMORY_ALLOCATOR_CLASS (parent_class)->destroy ((GstGLBaseMemory
+          *) mem);
+}
+
+static GstGLMemoryEGL *
+_gl_mem_egl_alloc (GstGLBaseMemoryAllocator * allocator,
+    GstGLVideoAllocationParams * params)
+{
+  guint alloc_flags = params->parent.alloc_flags;
+  GstGLMemoryEGL *mem;
+
+  g_return_val_if_fail (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO,
+      NULL);
+  g_return_val_if_fail ((alloc_flags &
+          GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM) == 0, NULL);
+  if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) {
+    g_return_val_if_fail (GST_IS_EGL_IMAGE (params->parent.gl_handle), NULL);
+  }
+
+  mem = g_new0 (GstGLMemoryEGL, 1);
+  if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) {
+    if (params->target != GST_GL_TEXTURE_TARGET_2D) {
+      g_free (mem);
+      GST_CAT_ERROR (GST_CAT_GL_MEMORY, "GstGLMemoryEGL only supports wrapping "
+          "2D textures");
+      return NULL;
+    }
+    mem->image = gst_egl_image_ref (params->parent.gl_handle);
+  }
+
+  gst_gl_memory_init (GST_GL_MEMORY_CAST (mem), GST_ALLOCATOR_CAST (allocator),
+      NULL, params->parent.context, params->target, params->tex_type,
+      params->parent.alloc_params, params->v_info, params->plane,
+      params->valign, params->parent.user_data, params->parent.notify);
+
+  return mem;
+}
+
+static void
+_destroy_egl_image (GstEGLImage * image, gpointer user_data)
+{
+  image->context->eglDestroyImage (image->context->egl_display, image->image);
+}
+
+static gboolean
+_gl_mem_create (GstGLMemoryEGL * gl_mem, GError ** error)
+{
+  GstGLContext *context = gl_mem->mem.mem.context;
+  GstGLContextEGL *ctx_egl = GST_GL_CONTEXT_EGL (context);
+  const GstGLFuncs *gl = context->gl_vtable;
+  GstGLBaseMemoryAllocatorClass *alloc_class;
+
+  if (!gst_gl_context_check_feature (GST_GL_CONTEXT (context),
+          "EGL_KHR_image_base")) {
+    g_set_error (error, GST_GL_CONTEXT_ERROR, GST_GL_CONTEXT_ERROR_WRONG_API,
+        "EGL_KHR_image_base is not supported");
+    return FALSE;
+  }
+
+  alloc_class = GST_GL_BASE_MEMORY_ALLOCATOR_CLASS (parent_class);
+  if (!alloc_class->create ((GstGLBaseMemory *) gl_mem, error))
+    return FALSE;
+
+  if (gl_mem->image == NULL) {
+    EGLImageKHR image = ctx_egl->eglCreateImage (ctx_egl->egl_display,
+        ctx_egl->egl_context, EGL_GL_TEXTURE_2D_KHR,
+        (EGLClientBuffer) (guintptr) gl_mem->mem.tex_id, NULL);
+
+    GST_TRACE ("Generating EGLImage handle:%p from a texture:%u",
+        gl_mem->image, gl_mem->mem.tex_id);
+
+    if (eglGetError () != EGL_SUCCESS) {
+      g_set_error (error, GST_GL_CONTEXT_ERROR, GST_GL_CONTEXT_ERROR_FAILED,
+          "Failed to create EGLImage");
+      return FALSE;
+    }
+
+    gl_mem->image = gst_egl_image_new_wrapped (context, image, 0, 0,
+        (GstEGLImageDestroyNotify) _destroy_egl_image, NULL);
+  } else {
+    gl->ActiveTexture (GL_TEXTURE0 + gl_mem->mem.plane);
+    gl->BindTexture (GL_TEXTURE_2D, gl_mem->mem.tex_id);
+    gl->EGLImageTargetTexture2D (GL_TEXTURE_2D,
+        gst_egl_image_get_image (GST_EGL_IMAGE (gl_mem->image)));
+  }
+
+  return TRUE;
+}
+
+static GstMemory *
+_gl_mem_copy (GstGLMemoryEGL * src, gssize offset, gssize size)
+{
+  GST_CAT_ERROR (GST_CAT_GL_MEMORY, "GstGLMemoryEGL does not support copy");
+  return NULL;
+}
+
+static void
+gst_gl_memory_egl_allocator_class_init (GstGLMemoryEGLAllocatorClass * klass)
+{
+  GstGLBaseMemoryAllocatorClass *gl_base;
+  GstGLMemoryAllocatorClass *gl_tex;
+  GstAllocatorClass *allocator_class;
+
+  gl_tex = (GstGLMemoryAllocatorClass *) klass;
+  gl_base = (GstGLBaseMemoryAllocatorClass *) klass;
+  allocator_class = (GstAllocatorClass *) klass;
+
+  gl_base->alloc = (GstGLBaseMemoryAllocatorAllocFunction) _gl_mem_egl_alloc;
+  gl_base->create = (GstGLBaseMemoryAllocatorCreateFunction) _gl_mem_create;
+  gl_base->destroy = (GstGLBaseMemoryAllocatorDestroyFunction) _gl_mem_destroy;
+  gl_tex->copy = (GstGLBaseMemoryAllocatorCopyFunction) _gl_mem_copy;
+
+  allocator_class->alloc = _gl_mem_alloc;
+}
+
+static void
+gst_gl_memory_egl_allocator_init (GstGLMemoryEGLAllocator * allocator)
+{
+  GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
+
+  alloc->mem_type = GST_GL_MEMORY_EGL_ALLOCATOR_NAME;
+
+  GST_OBJECT_FLAG_SET (allocator, GST_ALLOCATOR_FLAG_CUSTOM_ALLOC);
+}
+
+/**
+ * gst_gl_memory_egl_init_once:
+ *
+ * Initializes the GL Memory allocator. It is safe to call this function
+ * multiple times.  This must be called before any other GstGLMemoryEGL operation.
+ */
+void
+gst_gl_memory_egl_init_once (void)
+{
+  static volatile gsize _init = 0;
+
+  if (g_once_init_enter (&_init)) {
+    gst_gl_memory_init_once ();
+
+    GST_DEBUG_CATEGORY_INIT (GST_CAT_GL_MEMORY, "glmemory", 0,
+        "OpenGL Texture with EGLImage memory");
+
+    _gl_memory_egl_allocator =
+        g_object_new (GST_TYPE_GL_MEMORY_EGL_ALLOCATOR, NULL);
+
+    /* The allocator is never unreffed */
+    GST_OBJECT_FLAG_SET (_gl_memory_egl_allocator,
+        GST_OBJECT_FLAG_MAY_BE_LEAKED);
+
+    gst_allocator_register (GST_GL_MEMORY_EGL_ALLOCATOR_NAME,
+        gst_object_ref (_gl_memory_egl_allocator));
+    g_once_init_leave (&_init, 1);
+  }
+}
diff --git a/gst-libs/gst/gl/egl/gstglmemoryegl.h b/gst-libs/gst/gl/egl/gstglmemoryegl.h
new file mode 100644
index 0000000..c05ef82
--- /dev/null
+++ b/gst-libs/gst/gl/egl/gstglmemoryegl.h
@@ -0,0 +1,99 @@
+/*
+ * GStreamer
+ * Copyright (C) 2012 Collabora Ltd.
+ *   @author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ * Copyright (C) 2014 Julien Isorce <julien.isorce@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GST_GL_MEMORY_EGL_H_
+#define _GST_GL_MEMORY_EGL_H_
+
+#include <gst/gst.h>
+#include <gst/gstallocator.h>
+#include <gst/gstmemory.h>
+#include <gst/video/video.h>
+
+#include <gst/gl/gl.h>
+#include <gst/gl/egl/gstglcontext_egl.h>
+#include <gst/gl/egl/gsteglimage.h>
+
+#include <gst/gl/gstglmemory.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_GL_MEMORY_EGL_ALLOCATOR (gst_gl_memory_egl_allocator_get_type())
+GType gst_gl_memory_egl_allocator_get_type(void);
+
+#define GST_IS_GL_MEMORY_EGL_ALLOCATOR(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_MEMORY_EGL_ALLOCATOR))
+#define GST_IS_GL_MEMORY_EGL_ALLOCATOR_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_GL_MEMORY_EGL_ALLOCATOR))
+#define GST_GL_MEMORY_EGL_ALLOCATOR_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_GL_MEMORY_EGL_ALLOCATOR, GstGLMemoryEGLAllocatorClass))
+#define GST_GL_MEMORY_EGL_ALLOCATOR(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_GL_MEMORY_EGL_ALLOCATOR, GstGLMemoryEGLAllocator))
+#define GST_GL_MEMORY_EGL_ALLOCATOR_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_GL_MEMORY_EGL_ALLOCATOR, GstGLAllocatorClass))
+#define GST_GL_MEMORY_EGL_ALLOCATOR_CAST(obj)            ((GstGLMemoryEGLAllocator *)(obj))
+
+/**
+ * GstGLMemoryEGL:
+ *
+ * Private instance
+ */
+struct _GstGLMemoryEGL
+{
+  GstGLMemory mem;
+
+  GstEGLImage *image;
+};
+
+/**
+ * GST_GL_MEMORY_EGL_ALLOCATOR:
+ *
+ * The name of the GL Memory EGL allocator
+ */
+#define GST_GL_MEMORY_EGL_ALLOCATOR_NAME "GLMemoryEGL"
+
+void          gst_gl_memory_egl_init_once               (void);
+gboolean      gst_is_gl_memory_egl                      (GstMemory * mem);
+
+EGLImageKHR   gst_gl_memory_egl_get_image               (GstGLMemoryEGL * mem);
+EGLDisplay    gst_gl_memory_egl_get_display             (GstGLMemoryEGL * mem);
+
+GstVideoGLTextureOrientation gst_gl_memory_egl_get_orientation
+                                                        (GstGLMemoryEGL * mem);
+
+/**
+ * GstGLAllocator
+ *
+ * Opaque #GstGLAllocator struct
+ */
+struct _GstGLMemoryEGLAllocator
+{
+  GstGLMemoryAllocator parent;
+};
+
+/**
+ * GstGLAllocatorClass:
+ *
+ * The #GstGLAllocatorClass only contains private data
+ */
+struct _GstGLMemoryEGLAllocatorClass
+{
+  GstGLMemoryAllocatorClass parent_class;
+};
+
+G_END_DECLS
+
+#endif /* _GST_GL_MEMORY_EGL_H_ */
diff --git a/gst-libs/gst/gl/glprototypes/Makefile.in b/gst-libs/gst/gl/glprototypes/Makefile.in
index 3284cc2..c3d8253 100644
--- a/gst-libs/gst/gl/glprototypes/Makefile.in
+++ b/gst-libs/gst/gl/glprototypes/Makefile.in
@@ -265,6 +265,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -480,6 +482,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -606,8 +610,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -652,6 +654,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h b/gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h
index d282990..6dfd2c3 100644
--- a/gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h
+++ b/gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h
@@ -27,23 +27,30 @@
 
 G_BEGIN_DECLS
 
-/* SUPPORTED */
-//FIXME:
+#ifndef GL_RGB16
 #define GL_RGB16 GL_RGB565
+#endif
+#ifndef GL_RGB8
 #define GL_RGB8 GL_RGB
-//END FIXME
+#endif
 
 /* UNSUPPORTED */
 
-#define GL_COLOR_ATTACHMENT1 0
-#define GL_COLOR_ATTACHMENT2 0
+#ifndef GL_COLOR_ATTACHMENT1
+#define GL_COLOR_ATTACHMENT1 0x8CE1
+#endif
+#ifndef GL_COLOR_ATTACHMENT2
+#define GL_COLOR_ATTACHMENT2 0x8CE2
+#endif
 #ifndef GL_TEXTURE_ENV
 #define GL_TEXTURE_ENV 0
 #endif
 #ifndef GL_TEXTURE_ENV_MODE
 #define GL_TEXTURE_ENV_MODE 0
 #endif
-#define GL_DEPTH24_STENCIL8 0
+#ifndef GL_DEPTH24_STENCIL8
+#define GL_DEPTH24_STENCIL8 0x88F0
+#endif
 
 G_END_DECLS
 
diff --git a/gst-libs/gst/gl/glprototypes/shaders.h b/gst-libs/gst/gl/glprototypes/shaders.h
index 817e479..6d828db 100644
--- a/gst-libs/gst/gl/glprototypes/shaders.h
+++ b/gst-libs/gst/gl/glprototypes/shaders.h
@@ -362,3 +362,13 @@
 GST_GL_EXT_FUNCTION (void, UniformMatrix4x3fv,
                      (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value))
 GST_GL_EXT_END ()
+
+GST_GL_EXT_BEGIN (bind_frag_data,
+                  GST_GL_API_OPENGL | GST_GL_API_OPENGL3,
+                  3, 0,
+                  255, 255,
+                  "\0",
+                  "\0")
+GST_GL_EXT_FUNCTION (void, BindFragDataLocation,
+                     (GLuint program, GLuint index, const GLchar * name))
+GST_GL_EXT_END ()
diff --git a/gst-libs/gst/gl/gstgl_fwd.h b/gst-libs/gst/gl/gstgl_fwd.h
index fb64ff6..73e17bd 100644
--- a/gst-libs/gst/gl/gstgl_fwd.h
+++ b/gst-libs/gst/gl/gstgl_fwd.h
@@ -55,6 +55,10 @@
 typedef struct _GstGLMemoryPBOAllocator GstGLMemoryPBOAllocator;
 typedef struct _GstGLMemoryPBOAllocatorClass GstGLMemoryPBOAllocatorClass;
 
+typedef struct _GstGLMemoryEGL GstGLMemoryEGL;
+typedef struct _GstGLMemoryEGLAllocator GstGLMemoryEGLAllocator;
+typedef struct _GstGLMemoryEGLAllocatorClass GstGLMemoryEGLAllocatorClass;
+
 typedef struct _GstGLSLStage        GstGLSLStage;
 typedef struct _GstGLSLStagePrivate GstGLSLStagePrivate;
 typedef struct _GstGLSLStageClass   GstGLSLStageClass;
diff --git a/gst-libs/gst/gl/gstglapi.h b/gst-libs/gst/gl/gstglapi.h
index be38113..93b60b7 100644
--- a/gst-libs/gst/gl/gstglapi.h
+++ b/gst-libs/gst/gl/gstglapi.h
@@ -39,8 +39,13 @@
 #  include <OpenGLES/ES2/gl.h>
 #  include <OpenGLES/ES2/glext.h>
 # else
-#  include <GLES2/gl2.h>
-#  include <GLES2/gl2ext.h>
+#  if GST_GL_HAVE_GLES3
+#   include <GLES3/gl3.h>
+#   include <GLES3/gl3ext.h>
+#  else
+#   include <GLES2/gl2.h>
+#   include <GLES2/gl2ext.h>
+#  endif
 # endif
 # if !GST_GL_HAVE_OPENGL
 #  include <gst/gl/glprototypes/gstgl_gles2compat.h>
diff --git a/gst-libs/gst/gl/gstglbasememory.c b/gst-libs/gst/gl/gstglbasememory.c
index 7fc1d00..915e19e 100644
--- a/gst-libs/gst/gl/gstglbasememory.c
+++ b/gst-libs/gst/gl/gstglbasememory.c
@@ -606,7 +606,7 @@
     gsize struct_size, guint alloc_flags, GstGLAllocationParamsCopyFunc copy,
     GstGLAllocationParamsFreeFunc free, GstGLContext * context,
     gsize alloc_size, GstAllocationParams * alloc_params,
-    gpointer wrapped_data, guint gl_handle, gpointer user_data,
+    gpointer wrapped_data, gpointer gl_handle, gpointer user_data,
     GDestroyNotify notify)
 {
   memset (params, 0, sizeof (*params));
diff --git a/gst-libs/gst/gl/gstglbasememory.h b/gst-libs/gst/gl/gstglbasememory.h
index f862c85..642684a 100644
--- a/gst-libs/gst/gl/gstglbasememory.h
+++ b/gst-libs/gst/gl/gstglbasememory.h
@@ -173,7 +173,7 @@
   /* GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM only */
   gpointer                          wrapped_data;
   /* GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE only */
-  guint                             gl_handle;
+  gpointer                          gl_handle;
 };
 
 gboolean                gst_gl_allocation_params_init       (GstGLAllocationParams * params,
@@ -185,7 +185,7 @@
                                                              gsize alloc_size,
                                                              GstAllocationParams * alloc_params,
                                                              gpointer wrapped_data,
-                                                             guint gl_handle,
+                                                             gpointer gl_handle,
                                                              gpointer user_data,
                                                              GDestroyNotify notify);
 
diff --git a/gst-libs/gst/gl/gstglbuffer.c b/gst-libs/gst/gl/gstglbuffer.c
index 2abdd6d..d50fd6d 100644
--- a/gst-libs/gst/gl/gstglbuffer.c
+++ b/gst-libs/gst/gl/gstglbuffer.c
@@ -456,6 +456,9 @@
     _gl_buffer_allocator =
         g_object_new (gst_gl_buffer_allocator_get_type (), NULL);
 
+    /* The allocator is never unreffed */
+    GST_OBJECT_FLAG_SET (_gl_buffer_allocator, GST_OBJECT_FLAG_MAY_BE_LEAKED);
+
     gst_allocator_register (GST_GL_BUFFER_ALLOCATOR_NAME,
         gst_object_ref (_gl_buffer_allocator));
     g_once_init_leave (&_init, 1);
diff --git a/gst-libs/gst/gl/gstglbufferpool.c b/gst-libs/gst/gl/gstglbufferpool.c
index 90536b0..218169a 100644
--- a/gst-libs/gst/gl/gstglbufferpool.c
+++ b/gst-libs/gst/gl/gstglbufferpool.c
@@ -26,10 +26,6 @@
 #include "gstglbufferpool.h"
 #include "gstglutils.h"
 
-#if GST_GL_HAVE_PLATFORM_EGL
-#include <gst/gl/egl/gsteglimagememory.h>
-#endif
-
 /**
  * SECTION:gstglbufferpool
  * @short_description: buffer pool for #GstGLMemory objects
@@ -51,8 +47,6 @@
   GstCaps *caps;
   gboolean add_videometa;
   gboolean add_glsyncmeta;
-  gboolean want_eglimage;
-  GstBuffer *last_buffer;
 };
 
 static void gst_gl_buffer_pool_finalize (GObject * object);
@@ -132,23 +126,13 @@
   priv->add_glsyncmeta = gst_buffer_pool_config_has_option (config,
       GST_BUFFER_POOL_OPTION_GL_SYNC_META);
 
-#if GST_GL_HAVE_PLATFORM_EGL
-  if (priv->allocator) {
-    priv->want_eglimage =
-        (g_strcmp0 (priv->allocator->mem_type, GST_EGL_IMAGE_MEMORY_TYPE) == 0);
-  } else
-#endif
-  {
-    priv->want_eglimage = FALSE;
-  }
-
   if (priv->gl_params)
     gst_gl_allocation_params_free ((GstGLAllocationParams *) priv->gl_params);
   priv->gl_params = (GstGLVideoAllocationParams *)
       gst_buffer_pool_config_get_gl_allocation_params (config);
   if (!priv->gl_params)
     priv->gl_params = gst_gl_video_allocation_params_new (glpool->context,
-        &alloc_params, &info, -1, NULL, 0);
+        &alloc_params, &info, -1, NULL, 0, 0);
 
   max_align = alloc_params.align;
 
@@ -276,22 +260,9 @@
   if (!(buf = gst_buffer_new ())) {
     goto no_buffer;
   }
-#if GST_GL_HAVE_PLATFORM_EGL
-  if (priv->want_eglimage) {
-    /* alloc and append memories, also add video_meta and
-     * texture_upload_meta */
-    if (!gst_egl_image_memory_setup_buffer (glpool->context,
-            priv->gl_params->v_info, buf))
-      goto egl_image_mem_create_failed;
-
-    *buffer = buf;
-
-    return GST_FLOW_OK;
-  }
-#endif
 
   alloc = GST_GL_MEMORY_ALLOCATOR (priv->allocator);
-  if (!gst_gl_memory_setup_buffer (alloc, buf, priv->gl_params))
+  if (!gst_gl_memory_setup_buffer (alloc, buf, priv->gl_params, NULL, NULL, 0))
     goto mem_create_failed;
 
   if (priv->add_glsyncmeta)
@@ -312,48 +283,6 @@
     GST_WARNING_OBJECT (pool, "Could not create GL Memory");
     return GST_FLOW_ERROR;
   }
-
-#if GST_GL_HAVE_PLATFORM_EGL
-egl_image_mem_create_failed:
-  {
-    GST_WARNING_OBJECT (pool, "Could not create EGLImage Memory");
-    return GST_FLOW_ERROR;
-  }
-#endif
-}
-
-
-static GstFlowReturn
-gst_gl_buffer_pool_acquire_buffer (GstBufferPool * bpool,
-    GstBuffer ** buffer, GstBufferPoolAcquireParams * params)
-{
-  GstFlowReturn ret = GST_FLOW_OK;
-  GstGLBufferPool *glpool = NULL;
-
-  ret =
-      GST_BUFFER_POOL_CLASS
-      (gst_gl_buffer_pool_parent_class)->acquire_buffer (bpool, buffer, params);
-  if (ret != GST_FLOW_OK || !*buffer)
-    return ret;
-
-  glpool = GST_GL_BUFFER_POOL (bpool);
-
-  /* XXX: Don't return the memory we just rendered, glEGLImageTargetTexture2DOES()
-   * keeps the EGLImage unmappable until the next one is uploaded
-   */
-  if (glpool->priv->want_eglimage && *buffer
-      && *buffer == glpool->priv->last_buffer) {
-    GstBuffer *oldbuf = *buffer;
-
-    ret =
-        GST_BUFFER_POOL_CLASS
-        (gst_gl_buffer_pool_parent_class)->acquire_buffer (bpool,
-        buffer, params);
-    gst_object_replace ((GstObject **) & oldbuf->pool, (GstObject *) glpool);
-    gst_buffer_unref (oldbuf);
-  }
-
-  return ret;
 }
 
 /**
@@ -376,24 +305,6 @@
   return GST_BUFFER_POOL_CAST (pool);
 }
 
-/**
- * gst_gl_buffer_pool_replace_last_buffer:
- * @pool: a #GstGLBufferPool
- * @buffer: a #GstBuffer
- *
- * Set @pool<--  -->s last buffer to @buffer for #GstGLPlatform<--  -->s that
- * require it.
- */
-void
-gst_gl_buffer_pool_replace_last_buffer (GstGLBufferPool * pool,
-    GstBuffer * buffer)
-{
-  g_return_if_fail (pool != NULL);
-  g_return_if_fail (buffer != NULL);
-
-  gst_buffer_replace (&pool->priv->last_buffer, buffer);
-}
-
 static void
 gst_gl_buffer_pool_class_init (GstGLBufferPoolClass * klass)
 {
@@ -407,7 +318,6 @@
   gstbufferpool_class->get_options = gst_gl_buffer_pool_get_options;
   gstbufferpool_class->set_config = gst_gl_buffer_pool_set_config;
   gstbufferpool_class->alloc_buffer = gst_gl_buffer_pool_alloc;
-  gstbufferpool_class->acquire_buffer = gst_gl_buffer_pool_acquire_buffer;
   gstbufferpool_class->start = gst_gl_buffer_pool_start;
 }
 
@@ -423,8 +333,6 @@
   priv->caps = NULL;
   priv->add_videometa = TRUE;
   priv->add_glsyncmeta = FALSE;
-  priv->want_eglimage = FALSE;
-  priv->last_buffer = FALSE;
 }
 
 static void
@@ -435,8 +343,6 @@
 
   GST_LOG_OBJECT (pool, "finalize GL buffer pool %p", pool);
 
-  gst_buffer_replace (&pool->priv->last_buffer, NULL);
-
   if (priv->caps)
     gst_caps_unref (priv->caps);
 
diff --git a/gst-libs/gst/gl/gstglbufferpool.h b/gst-libs/gst/gl/gstglbufferpool.h
index ee13366..2f964a8 100644
--- a/gst-libs/gst/gl/gstglbufferpool.h
+++ b/gst-libs/gst/gl/gstglbufferpool.h
@@ -61,8 +61,6 @@
 };
 
 GstBufferPool *gst_gl_buffer_pool_new (GstGLContext * context);
-void gst_gl_buffer_pool_replace_last_buffer (GstGLBufferPool * pool,
-    GstBuffer * buffer);
 
 GstGLAllocationParams * gst_buffer_pool_config_get_gl_allocation_params    (GstStructure * config);
 void                    gst_buffer_pool_config_set_gl_allocation_params    (GstStructure * config,
diff --git a/gst-libs/gst/gl/gstglcolorconvert.c b/gst-libs/gst/gl/gstglcolorconvert.c
index eb3b4a8..ebddb2d 100644
--- a/gst-libs/gst/gl/gstglcolorconvert.c
+++ b/gst-libs/gst/gl/gstglcolorconvert.c
@@ -27,6 +27,7 @@
 
 #include "gl.h"
 #include "gstglcolorconvert.h"
+#include "gstglsl_private.h"
 
 /**
  * SECTION:gstglcolorconvert
@@ -261,9 +262,9 @@
     "    for (int j = 0; j < int(chroma_sampling.y); j++) {\n"
     "      int n = (i+1)*(j+1);\n"
     "      delta.y = float(j);\n"
-    "      vec4 sample = texture2D(tex, (chroma_pos + delta) / unnormalization).%c%c%c%c;\n"
+    "      vec4 s = texture2D(tex, (chroma_pos + delta) / unnormalization).%c%c%c%c;\n"
            /* rolling average */
-    "      uv_texel = (float(n-1) * uv_texel + sample) / float(n);\n"
+    "      uv_texel = (float(n-1) * uv_texel + s) / float(n);\n"
     "    }\n"
     "  }\n"
     "}\n"
@@ -413,6 +414,8 @@
   GstGLMemory *in_tex[GST_VIDEO_MAX_PLANES];
   GstGLMemory *out_tex[GST_VIDEO_MAX_PLANES];
 
+  GstVideoGLTextureType in_tex_types[GST_VIDEO_MAX_PLANES];
+
   GLuint vao;
   GLuint vertex_buffer;
   GLuint vbo_indices;
@@ -520,6 +523,28 @@
 }
 
 static void
+gst_gl_color_convert_reset_shader (GstGLColorConvert * convert)
+{
+  convert->priv->convert_info.chroma_sampling[0] = 1.0f;
+  convert->priv->convert_info.chroma_sampling[1] = 1.0f;
+
+  if (convert->priv->convert_info.frag_prog) {
+    g_free (convert->priv->convert_info.frag_prog);
+    convert->priv->convert_info.frag_prog = NULL;
+  }
+  if (convert->priv->convert_info.frag_body) {
+    g_free (convert->priv->convert_info.frag_body);
+    convert->priv->convert_info.frag_body = NULL;
+  }
+  if (convert->shader) {
+    gst_object_unref (convert->shader);
+    convert->shader = NULL;
+  }
+
+  convert->initted = FALSE;
+}
+
+static void
 gst_gl_color_convert_reset (GstGLColorConvert * convert)
 {
   guint i;
@@ -537,28 +562,13 @@
     convert->priv->out_tex[i] = NULL;
   }
 
-  convert->priv->convert_info.chroma_sampling[0] = 1.0f;
-  convert->priv->convert_info.chroma_sampling[1] = 1.0f;
-
-  if (convert->priv->convert_info.frag_prog) {
-    g_free (convert->priv->convert_info.frag_prog);
-    convert->priv->convert_info.frag_prog = NULL;
-  }
-  if (convert->priv->convert_info.frag_body) {
-    g_free (convert->priv->convert_info.frag_body);
-    convert->priv->convert_info.frag_body = NULL;
-  }
-  if (convert->shader) {
-    gst_object_unref (convert->shader);
-    convert->shader = NULL;
-  }
-
   if (convert->priv->pool) {
     convert->priv->pool_started = FALSE;
 
     gst_object_unref (convert->priv->pool);
     convert->priv->pool = NULL;
   }
+
   gst_caps_replace (&convert->priv->in_caps, NULL);
   gst_caps_replace (&convert->priv->out_caps, NULL);
 
@@ -566,6 +576,8 @@
     gst_gl_context_thread_add (convert->context,
         (GstGLContextThreadFunc) _reset_gl, convert);
   }
+
+  gst_gl_color_convert_reset_shader (convert);
 }
 
 static gboolean
@@ -788,7 +800,7 @@
         GST_BUFFER_POOL_OPTION_GL_SYNC_META);
 
   params = gst_gl_video_allocation_params_new (convert->context, NULL, &vinfo,
-      0, NULL, convert->priv->to_texture_target);
+      0, NULL, convert->priv->to_texture_target, 0);
   gst_buffer_pool_config_set_gl_allocation_params (config,
       (GstGLAllocationParams *) params);
   gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
@@ -1328,6 +1340,42 @@
   return g_string_free (ret, discard_output);
 }
 
+static guint
+_get_n_textures (GstVideoFormat v_format)
+{
+  switch (v_format) {
+    case GST_VIDEO_FORMAT_RGBA:
+    case GST_VIDEO_FORMAT_RGBx:
+    case GST_VIDEO_FORMAT_ARGB:
+    case GST_VIDEO_FORMAT_xRGB:
+    case GST_VIDEO_FORMAT_BGRA:
+    case GST_VIDEO_FORMAT_BGRx:
+    case GST_VIDEO_FORMAT_ABGR:
+    case GST_VIDEO_FORMAT_xBGR:
+    case GST_VIDEO_FORMAT_RGB:
+    case GST_VIDEO_FORMAT_BGR:
+    case GST_VIDEO_FORMAT_AYUV:
+    case GST_VIDEO_FORMAT_GRAY8:
+    case GST_VIDEO_FORMAT_GRAY16_LE:
+    case GST_VIDEO_FORMAT_GRAY16_BE:
+    case GST_VIDEO_FORMAT_YUY2:
+    case GST_VIDEO_FORMAT_UYVY:
+      return 1;
+    case GST_VIDEO_FORMAT_NV12:
+    case GST_VIDEO_FORMAT_NV21:
+      return 2;
+    case GST_VIDEO_FORMAT_I420:
+    case GST_VIDEO_FORMAT_Y444:
+    case GST_VIDEO_FORMAT_Y42B:
+    case GST_VIDEO_FORMAT_Y41B:
+    case GST_VIDEO_FORMAT_YV12:
+      return 3;
+    default:
+      g_assert_not_reached ();
+      return 0;
+  }
+}
+
 static void
 _RGB_to_RGB (GstGLColorConvert * convert)
 {
@@ -1339,8 +1387,6 @@
   gchar *pixel_order = _RGB_pixel_order (in_format_str, out_format_str);
   gchar *alpha = NULL;
 
-  info->in_n_textures = 1;
-  info->out_n_textures = 1;
   if (_is_RGBx (in_format)) {
     int i;
     char input_alpha_channel = 'a';
@@ -1368,13 +1414,6 @@
   GstVideoFormat out_format = GST_VIDEO_INFO_FORMAT (&convert->out_info);
   const gchar *out_format_str = gst_video_format_to_string (out_format);
   gchar *pixel_order = _RGB_pixel_order ("rgba", out_format_str);
-  gboolean texture_rg =
-      gst_gl_context_check_feature (convert->context, "GL_EXT_texture_rg")
-      || gst_gl_context_check_gl_version (convert->context, GST_GL_API_GLES2, 3,
-      0)
-      || gst_gl_context_check_feature (convert->context, "GL_ARB_texture_rg")
-      || gst_gl_context_check_gl_version (convert->context, GST_GL_API_OPENGL3,
-      3, 0);
   gboolean apple_ycbcr = gst_gl_context_check_feature (convert->context,
       "GL_APPLE_ycbcr_422");
   gboolean in_tex_rectangular = FALSE;
@@ -1402,7 +1441,6 @@
     info->frag_body =
         g_strdup_printf (info->templ->body, pixel_order[0], pixel_order[1],
         pixel_order[2], pixel_order[3]);
-    info->in_n_textures = 1;
     info->shader_tex_names[0] = "tex";
   } else {
     switch (GST_VIDEO_INFO_FORMAT (&convert->in_info)) {
@@ -1410,7 +1448,6 @@
         info->templ = &templ_AYUV_to_RGB;
         info->frag_body = g_strdup_printf (info->templ->body, pixel_order[0],
             pixel_order[1], pixel_order[2], pixel_order[3]);
-        info->in_n_textures = 1;
         info->shader_tex_names[0] = "tex";
         break;
       case GST_VIDEO_FORMAT_I420:
@@ -1421,7 +1458,6 @@
         info->frag_body =
             g_strdup_printf (info->templ->body, pixel_order[0],
             pixel_order[1], pixel_order[2], pixel_order[3]);
-        info->in_n_textures = 3;
         info->shader_tex_names[0] = "Ytex";
         info->shader_tex_names[1] = "Utex";
         info->shader_tex_names[2] = "Vtex";
@@ -1431,51 +1467,54 @@
         info->frag_body =
             g_strdup_printf (info->templ->body, pixel_order[0],
             pixel_order[1], pixel_order[2], pixel_order[3]);
-        info->in_n_textures = 3;
         info->shader_tex_names[0] = "Ytex";
         info->shader_tex_names[1] = "Vtex";
         info->shader_tex_names[2] = "Utex";
         break;
       case GST_VIDEO_FORMAT_YUY2:
       {
-        char uv_val = texture_rg ? 'g' : 'a';
+        char uv_val =
+            convert->priv->in_tex_types[0] ==
+            GST_VIDEO_GL_TEXTURE_TYPE_RG ? 'g' : 'a';
         info->templ = &templ_YUY2_UYVY_to_RGB;
         info->frag_body = g_strdup_printf (info->templ->body, 'r', uv_val,
             uv_val, 'g', 'a', pixel_order[0], pixel_order[1], pixel_order[2],
             pixel_order[3]);
-        info->in_n_textures = 1;
         info->shader_tex_names[0] = "Ytex";
         break;
       }
       case GST_VIDEO_FORMAT_UYVY:
       {
-        char y_val = texture_rg ? 'g' : 'a';
+        char y_val =
+            convert->priv->in_tex_types[0] ==
+            GST_VIDEO_GL_TEXTURE_TYPE_RG ? 'g' : 'a';
         info->templ = &templ_YUY2_UYVY_to_RGB;
         info->frag_body = g_strdup_printf (info->templ->body, y_val, 'g',
             'g', 'r', 'b', pixel_order[0], pixel_order[1], pixel_order[2],
             pixel_order[3]);
-        info->in_n_textures = 1;
         info->shader_tex_names[0] = "Ytex";
         break;
       }
       case GST_VIDEO_FORMAT_NV12:
       {
-        char val2 = texture_rg ? 'g' : 'a';
+        char val2 =
+            convert->priv->in_tex_types[1] ==
+            GST_VIDEO_GL_TEXTURE_TYPE_RG ? 'g' : 'a';
         info->templ = &templ_NV12_NV21_to_RGB;
         info->frag_body = g_strdup_printf (info->templ->body, 'r', val2,
             pixel_order[0], pixel_order[1], pixel_order[2], pixel_order[3]);
-        info->in_n_textures = 2;
         info->shader_tex_names[0] = "Ytex";
         info->shader_tex_names[1] = "UVtex";
         break;
       }
       case GST_VIDEO_FORMAT_NV21:
       {
-        char val2 = texture_rg ? 'g' : 'a';
+        char val2 =
+            convert->priv->in_tex_types[1] ==
+            GST_VIDEO_GL_TEXTURE_TYPE_RG ? 'g' : 'a';
         info->templ = &templ_NV12_NV21_to_RGB;
         info->frag_body = g_strdup_printf (info->templ->body, val2, 'r',
             pixel_order[0], pixel_order[1], pixel_order[2], pixel_order[3]);
-        info->in_n_textures = 2;
         info->shader_tex_names[0] = "Ytex";
         info->shader_tex_names[1] = "UVtex";
         break;
@@ -1513,7 +1552,6 @@
   const gchar *alpha;
 
   info->frag_prog = NULL;
-  info->in_n_textures = 1;
 
   info->shader_tex_names[0] = "tex";
 
@@ -1609,7 +1647,6 @@
   gchar *pixel_order = _RGB_pixel_order (in_format_str, "rgba");
   gchar *alpha = NULL;
 
-  info->in_n_textures = 1;
   info->out_n_textures = 1;
   info->shader_tex_names[0] = "tex";
 
@@ -1637,16 +1674,7 @@
   GstVideoFormat out_format = GST_VIDEO_INFO_FORMAT (&convert->out_info);
   const gchar *out_format_str = gst_video_format_to_string (out_format);
   gchar *pixel_order = _RGB_pixel_order ("rgba", out_format_str);
-  gboolean texture_rg =
-      gst_gl_context_check_feature (convert->context, "GL_EXT_texture_rg")
-      || gst_gl_context_check_gl_version (convert->context, GST_GL_API_GLES2, 3,
-      0)
-      || gst_gl_context_check_feature (convert->context, "GL_ARB_texture_rg")
-      || gst_gl_context_check_gl_version (convert->context, GST_GL_API_OPENGL3,
-      3, 0);
 
-  info->in_n_textures = 1;
-  info->out_n_textures = 1;
   info->shader_tex_names[0] = "tex";
 
   switch (GST_VIDEO_INFO_FORMAT (&convert->in_info)) {
@@ -1657,7 +1685,9 @@
       break;
     case GST_VIDEO_FORMAT_GRAY16_LE:
     {
-      char val2 = texture_rg ? 'g' : 'a';
+      char val2 =
+          convert->priv->in_tex_types[0] ==
+          GST_VIDEO_GL_TEXTURE_TYPE_RG ? 'g' : 'a';
       info->templ = &templ_COMPOSE;
       info->frag_body = g_strdup_printf (info->templ->body, val2, 'r',
           pixel_order[0], pixel_order[1], pixel_order[2], pixel_order[3]);
@@ -1665,7 +1695,9 @@
     }
     case GST_VIDEO_FORMAT_GRAY16_BE:
     {
-      char val2 = texture_rg ? 'g' : 'a';
+      char val2 =
+          convert->priv->in_tex_types[0] ==
+          GST_VIDEO_GL_TEXTURE_TYPE_RG ? 'g' : 'a';
       info->templ = &templ_COMPOSE;
       info->frag_body = g_strdup_printf (info->templ->body, 'r', val2,
           pixel_order[0], pixel_order[1], pixel_order[2], pixel_order[3]);
@@ -1710,178 +1742,6 @@
   gl->DisableVertexAttribArray (convert->priv->attr_texture);
 }
 
-static gchar *
-_mangle_texture_access (const gchar * str, GstGLTextureTarget from,
-    GstGLTextureTarget to, GstGLAPI gl_api)
-{
-  const gchar *from_str = NULL, *to_str = NULL;
-  gchar *ret, *tmp;
-  gchar *regex_find;
-  GRegex *regex;
-
-  if (from == GST_GL_TEXTURE_TARGET_2D)
-    from_str = "texture2D";
-  if (from == GST_GL_TEXTURE_TARGET_RECTANGLE)
-    from_str = "texture2DRect";
-  if (from == GST_GL_TEXTURE_TARGET_EXTERNAL_OES)
-    from_str = "texture2D";
-
-  if (gl_api & GST_GL_API_OPENGL3) {
-    to_str = "texture";
-  } else {
-    if (to == GST_GL_TEXTURE_TARGET_2D)
-      to_str = "texture2D";
-    if (to == GST_GL_TEXTURE_TARGET_RECTANGLE)
-      to_str = "texture2DRect";
-    if (to == GST_GL_TEXTURE_TARGET_EXTERNAL_OES)
-      to_str = "texture2D";
-  }
-
-  /* followed by any amount of whitespace then a bracket */
-  regex_find = g_strdup_printf ("%s(?=\\s*\\()", from_str);
-  regex = g_regex_new (regex_find, 0, 0, NULL);
-  tmp = g_regex_replace_literal (regex, str, -1, 0, to_str, 0, NULL);
-  g_free (regex_find);
-  g_regex_unref (regex);
-
-  if (tmp) {
-    ret = tmp;
-  } else {
-    GST_FIXME ("Couldn't mangle texture access successfully from %s to %s",
-        from_str, to_str);
-    ret = g_strdup (str);
-  }
-
-  return ret;
-}
-
-static gchar *
-_mangle_sampler_type (const gchar * str, GstGLTextureTarget from,
-    GstGLTextureTarget to)
-{
-  const gchar *from_str = NULL, *to_str = NULL;
-  gchar *ret, *tmp;
-  gchar *regex_find;
-  GRegex *regex;
-
-  if (from == GST_GL_TEXTURE_TARGET_2D)
-    from_str = "sampler2D";
-  if (from == GST_GL_TEXTURE_TARGET_RECTANGLE)
-    from_str = "sampler2DRect";
-  if (from == GST_GL_TEXTURE_TARGET_EXTERNAL_OES)
-    from_str = "samplerExternalOES";
-
-  if (to == GST_GL_TEXTURE_TARGET_2D)
-    to_str = "sampler2D";
-  if (to == GST_GL_TEXTURE_TARGET_RECTANGLE)
-    to_str = "sampler2DRect";
-  if (to == GST_GL_TEXTURE_TARGET_EXTERNAL_OES)
-    to_str = "samplerExternalOES";
-
-  /* followed by some whitespace  */
-  regex_find = g_strdup_printf ("%s(?=\\s)", from_str);
-  regex = g_regex_new (regex_find, 0, 0, NULL);
-  tmp = g_regex_replace_literal (regex, str, -1, 0, to_str, 0, NULL);
-  g_free (regex_find);
-  g_regex_unref (regex);
-
-  if (tmp) {
-    ret = tmp;
-  } else {
-    GST_FIXME ("Couldn't mangle sampler type successfully from %s to %s",
-        from_str, to_str);
-    ret = g_strdup (str);
-  }
-
-  return ret;
-}
-
-static gchar *
-_mangle_varying_attribute (const gchar * str, guint shader_type,
-    GstGLAPI gl_api)
-{
-  if (gl_api & GST_GL_API_OPENGL3) {
-    if (shader_type == GL_VERTEX_SHADER) {
-      gchar *tmp, *tmp2;
-      GRegex *regex;
-
-      /* followed by some whitespace  */
-      regex = g_regex_new ("varying(?=\\s)", 0, 0, NULL);
-      tmp = g_regex_replace_literal (regex, str, -1, 0, "out", 0, NULL);
-      g_regex_unref (regex);
-
-      /* followed by some whitespace  */
-      regex = g_regex_new ("attribute(?=\\s)", 0, 0, NULL);
-      tmp2 = g_regex_replace_literal (regex, tmp, -1, 0, "in", 0, NULL);
-      g_regex_unref (regex);
-
-      g_free (tmp);
-      return tmp2;
-    } else if (shader_type == GL_FRAGMENT_SHADER) {
-      gchar *tmp;
-      GRegex *regex;
-
-      /* followed by some whitespace  */
-      regex = g_regex_new ("varying(?=\\s)", 0, 0, NULL);
-      tmp = g_regex_replace_literal (regex, str, -1, 0, "in", 0, NULL);
-      g_regex_unref (regex);
-
-      return tmp;
-    }
-  }
-  return g_strdup (str);
-}
-
-static gchar *
-_mangle_frag_color (const gchar * str)
-{
-  GRegex *regex;
-  gchar *ret;
-
-  regex = g_regex_new ("gl_FragColor", 0, 0, NULL);
-  ret = g_regex_replace_literal (regex, str, -1, 0, "fragColor", 0, NULL);
-  g_regex_unref (regex);
-
-  return ret;
-}
-
-static void
-_mangle_version_profile_from_gl_api (GstGLAPI gl_api, GstGLSLVersion * version,
-    GstGLSLProfile * profile)
-{
-  if (gl_api & GST_GL_API_OPENGL3) {
-    *version = GST_GLSL_VERSION_150;
-    *profile = GST_GLSL_PROFILE_NONE;
-  } else if (gl_api & GST_GL_API_GLES2) {
-    *version = GST_GLSL_VERSION_100;
-    *profile = GST_GLSL_PROFILE_ES;
-  } else if (gl_api & GST_GL_API_OPENGL) {
-    *version = GST_GLSL_VERSION_110;
-    *profile = GST_GLSL_PROFILE_COMPATIBILITY;
-  }
-}
-
-static gchar *
-_mangle_shader (const gchar * str, guint shader_type, GstGLTextureTarget from,
-    GstGLTextureTarget to, GstGLAPI gl_api, GstGLSLVersion * version,
-    GstGLSLProfile * profile)
-{
-  gchar *tmp, *tmp2;
-
-  tmp = _mangle_texture_access (str, from, to, gl_api);
-  tmp2 = _mangle_sampler_type (tmp, from, to);
-  g_free (tmp);
-  tmp = _mangle_varying_attribute (tmp2, shader_type, gl_api);
-  g_free (tmp2);
-  if (shader_type == GL_FRAGMENT_SHADER && gl_api & GST_GL_API_OPENGL3) {
-    tmp2 = _mangle_frag_color (tmp);
-    g_free (tmp);
-    tmp = tmp2;
-  }
-  _mangle_version_profile_from_gl_api (gl_api, version, profile);
-  return tmp;
-}
-
 static GstGLShader *
 _create_shader (GstGLColorConvert * convert)
 {
@@ -1894,16 +1754,14 @@
   gchar *version_str, *tmp, *tmp1;
   const gchar *strings[2];
   GError *error = NULL;
-  GstGLAPI gl_api;
   int i;
 
-  gl_api = gst_gl_context_get_gl_api (convert->context);
-
   ret = gst_gl_shader_new (convert->context);
 
   tmp =
-      _mangle_shader (text_vertex_shader, GL_VERTEX_SHADER, info->templ->target,
-      convert->priv->from_texture_target, gl_api, &version, &profile);
+      _gst_glsl_mangle_shader (text_vertex_shader, GL_VERTEX_SHADER,
+      info->templ->target, convert->priv->from_texture_target, convert->context,
+      &version, &profile);
 
   tmp1 = gst_glsl_version_profile_to_string (version, profile);
   version_str = g_strdup_printf ("#version %s\n", tmp1);
@@ -1941,9 +1799,37 @@
   if (info->templ->uniforms)
     g_string_append (str, info->templ->uniforms);
 
-  if (gl_api & GST_GL_API_OPENGL3) {
-    g_string_append_c (str, '\n');
-    g_string_append (str, "out vec4 fragColor;\n");
+  g_string_append_c (str, '\n');
+
+  /* GL 3.3+ and GL ES 3.x */
+  if ((profile == GST_GLSL_PROFILE_CORE && version >= GST_GLSL_VERSION_330)
+      || (profile == GST_GLSL_PROFILE_ES && version >= GST_GLSL_VERSION_300)) {
+    if (info->out_n_textures > 1) {
+      gint i;
+
+      for (i = 0; i < info->out_n_textures; i++) {
+        g_string_append_printf (str,
+            "layout(location = %d) out vec4 fragColor_%d;\n", i, i);
+      }
+    } else {
+      g_string_append (str, "layout (location = 0) out vec4 fragColor;\n");
+    }
+  } else if (profile == GST_GLSL_PROFILE_CORE
+      && version >= GST_GLSL_VERSION_150) {
+    /* no layout specifiers, use glBindFragDataLocation instead */
+    if (info->out_n_textures > 1) {
+      gint i;
+
+      for (i = 0; i < info->out_n_textures; i++) {
+        gchar *var_name = g_strdup_printf ("fragColor_%d", i);
+        g_string_append_printf (str, "out vec4 %s;\n", var_name);
+        gst_gl_shader_bind_frag_data_location (ret, i, var_name);
+        g_free (var_name);
+      }
+    } else {
+      g_string_append (str, "out vec4 fragColor;\n");
+      gst_gl_shader_bind_frag_data_location (ret, 0, "fragColor");
+    }
   }
 
   for (i = 0; i < MAX_FUNCTIONS; i++) {
@@ -1955,7 +1841,19 @@
     g_string_append_c (str, '\n');
   }
 
-  g_string_append (str, "\nvarying vec2 v_texcoord;\nvoid main (void) {\n");
+  {
+    const gchar *varying = NULL;
+
+    if ((profile == GST_GLSL_PROFILE_ES && version >= GST_GLSL_VERSION_300)
+        || (profile == GST_GLSL_PROFILE_CORE
+            && version >= GST_GLSL_VERSION_150)) {
+      varying = "in";
+    } else {
+      varying = "varying";
+    }
+    g_string_append_printf (str, "\n%s vec2 v_texcoord;\nvoid main (void) {\n",
+        varying);
+  }
   if (info->frag_body) {
     g_string_append (str, "vec2 texcoord;\n");
     if (convert->priv->from_texture_target == GST_GL_TEXTURE_TARGET_RECTANGLE
@@ -1969,8 +1867,8 @@
   }
   g_string_append (str, "\n}");
   tmp = g_string_free (str, FALSE);
-  info->frag_prog = _mangle_shader (tmp, GL_FRAGMENT_SHADER,
-      info->templ->target, convert->priv->from_texture_target, gl_api,
+  info->frag_prog = _gst_glsl_mangle_shader (tmp, GL_FRAGMENT_SHADER,
+      info->templ->target, convert->priv->from_texture_target, convert->context,
       &version, &profile);
   g_free (tmp);
 
@@ -2071,7 +1969,7 @@
   }
 
   /* Requires reading from a RG/LA framebuffer... */
-  if (USING_GLES2 (convert->context) &&
+  if (USING_GLES2 (convert->context) && !USING_GLES3 (convert->context) &&
       (GST_VIDEO_INFO_FORMAT (&convert->out_info) == GST_VIDEO_FORMAT_YUY2 ||
           GST_VIDEO_INFO_FORMAT (&convert->out_info) ==
           GST_VIDEO_FORMAT_UYVY)) {
@@ -2129,7 +2027,7 @@
 
   gst_gl_context_clear_shader (convert->context);
 
-  if (!_init_convert_fbo (convert)) {
+  if (convert->fbo == 0 && !_init_convert_fbo (convert)) {
     goto error;
   }
 
@@ -2336,7 +2234,8 @@
         allocator = gst_allocator_find (GST_GL_MEMORY_ALLOCATOR_NAME);
         base_mem_allocator = GST_GL_BASE_MEMORY_ALLOCATOR (allocator);
         params = gst_gl_video_allocation_params_new (context, NULL, &temp_info,
-            0, NULL, convert->priv->to_texture_target);
+            0, NULL, convert->priv->to_texture_target,
+            GST_VIDEO_GL_TEXTURE_TYPE_RGBA);
 
         convert->priv->out_tex[j] =
             (GstGLMemory *) gst_gl_base_memory_alloc (base_mem_allocator,
@@ -2432,6 +2331,7 @@
 _do_convert (GstGLContext * context, GstGLColorConvert * convert)
 {
   GstVideoInfo *in_info = &convert->in_info;
+  struct ConvertInfo *c_info = &convert->priv->convert_info;
   gboolean res = TRUE;
   gint views, v;
   GstVideoOverlayCompositionMeta *composition_meta;
@@ -2440,6 +2340,54 @@
 
   convert->outbuf = NULL;
 
+  if (GST_VIDEO_INFO_MULTIVIEW_MODE (in_info) ==
+      GST_VIDEO_MULTIVIEW_MODE_SEPARATED)
+    views = GST_VIDEO_INFO_VIEWS (in_info);
+  else
+    views = 1;
+
+  c_info->in_n_textures =
+      _get_n_textures (GST_VIDEO_INFO_FORMAT (&convert->in_info));
+  c_info->out_n_textures =
+      _get_n_textures (GST_VIDEO_INFO_FORMAT (&convert->out_info));
+
+  {
+    gboolean tex_type_change = FALSE;
+    guint i, v;
+
+    for (v = 0; v < views; v++) {
+      for (i = 0; i < c_info->in_n_textures; i++) {
+        guint j = v * c_info->in_n_textures + i;
+        GstGLMemory *in_tex =
+            (GstGLMemory *) gst_buffer_peek_memory (convert->inbuf, j);
+        if (!gst_is_gl_memory ((GstMemory *) in_tex)) {
+          GST_ERROR_OBJECT (convert, "input must be GstGLMemory");
+          convert->priv->result = FALSE;
+          return;
+        }
+
+        if (j >= GST_VIDEO_MAX_PLANES)
+          /* our arrays aren't that big */
+          g_assert_not_reached ();
+
+        if (v > 0 && in_tex->tex_type != convert->priv->in_tex_types[i]) {
+          GST_ERROR_OBJECT (convert, "Cannot convert textures with "
+              "different types");
+          convert->priv->result = FALSE;
+          return;
+        }
+
+        if (convert->priv->in_tex_types[j] != in_tex->tex_type)
+          tex_type_change = TRUE;
+
+        convert->priv->in_tex_types[j] = in_tex->tex_type;
+      }
+    }
+
+    if (tex_type_change)
+      gst_gl_color_convert_reset_shader (convert);
+  }
+
   if (!_init_convert (convert)) {
     convert->priv->result = FALSE;
     return;
@@ -2488,12 +2436,6 @@
     return;
   }
 
-  if (GST_VIDEO_INFO_MULTIVIEW_MODE (in_info) ==
-      GST_VIDEO_MULTIVIEW_MODE_SEPARATED)
-    views = GST_VIDEO_INFO_VIEWS (in_info);
-  else
-    views = 1;
-
   gst_gl_insert_debug_marker (context, "%s converting from %s to %s",
       GST_OBJECT_NAME (convert),
       gst_video_format_to_string (GST_VIDEO_INFO_FORMAT (in_info)),
diff --git a/gst-libs/gst/gl/gstglcontext.c b/gst-libs/gst/gl/gstglcontext.c
index 2c208ed..d222e08 100644
--- a/gst-libs/gst/gl/gstglcontext.c
+++ b/gst-libs/gst/gl/gstglcontext.c
@@ -132,10 +132,6 @@
   return NULL;
 }
 
-#if GST_GL_HAVE_GLES3
-#error "Add module loading support for GLES3"
-#endif
-
 /* Context sharedness is tracked by a refcounted pointer stored in each context
  * object to track complex creation/deletion scenarios.  As a result,
  * sharedness can only be successfully validated between two GstGLContext's
@@ -541,9 +537,9 @@
 gst_gl_context_get_current_gl_api (GstGLPlatform platform, guint * major,
     guint * minor)
 {
-  const GLubyte *(*GetString) (GLenum name);
+  const GLubyte *(GSTGLAPI * GetString) (GLenum name);
 #if GST_GL_HAVE_OPENGL
-  void (*GetIntegerv) (GLenum name, GLuint * n);
+  void (GSTGLAPI * GetIntegerv) (GLenum name, GLuint * n);
 #endif
   const gchar *version;
   gint maj, min, n;
@@ -1517,7 +1513,7 @@
 gst_gl_context_get_gl_version (GstGLContext * context, gint * maj, gint * min)
 {
   g_return_if_fail (GST_IS_GL_CONTEXT (context));
-  g_return_if_fail (maj != NULL && min != NULL);
+  g_return_if_fail (!(maj == NULL && min == NULL));
 
   if (maj)
     *maj = context->priv->gl_major;
diff --git a/gst-libs/gst/gl/gstgldisplay.c b/gst-libs/gst/gl/gstgldisplay.c
index 5cae2f4..fee0316 100644
--- a/gst-libs/gst/gl/gstgldisplay.c
+++ b/gst-libs/gst/gl/gstgldisplay.c
@@ -67,7 +67,8 @@
 #endif
 #if GST_GL_HAVE_PLATFORM_EGL
 #include <gst/gl/egl/gstgldisplay_egl.h>
-#include <gst/gl/egl/gsteglimagememory.h>
+#include <gst/gl/egl/gsteglimage.h>
+#include <gst/gl/egl/gstglmemoryegl.h>
 #endif
 
 GST_DEBUG_CATEGORY_STATIC (gst_context);
@@ -143,7 +144,7 @@
   gst_gl_memory_pbo_init_once ();
 
 #if GST_GL_HAVE_PLATFORM_EGL
-  gst_egl_image_memory_init ();
+  gst_gl_memory_egl_init_once ();
 #endif
 }
 
@@ -211,8 +212,7 @@
     display = GST_GL_DISPLAY (gst_gl_display_egl_new ());
 #endif
   if (!display) {
-    /* subclass returned a NULL window */
-    GST_WARNING ("Could not create display. user specified %s "
+    GST_INFO ("Could not create platform/winsys display. user specified %s "
         "(platform: %s), creating dummy",
         GST_STR_NULL (user_choice), GST_STR_NULL (platform_choice));
 
@@ -437,8 +437,11 @@
       continue;
     }
 
-    if (thread == NULL)
+    if (thread == NULL) {
+      GST_DEBUG_OBJECT (display, "Returning GL context %" GST_PTR_FORMAT " for "
+          "NULL thread", context);
       return context;
+    }
 
     context_thread = gst_gl_context_get_thread (context);
     if (thread != context_thread) {
@@ -451,9 +454,13 @@
 
     if (context_thread)
       g_thread_unref (context_thread);
+
+    GST_DEBUG_OBJECT (display, "Returning GL context %" GST_PTR_FORMAT " for "
+        "thread %p", context, thread);
     return context;
   }
 
+  GST_DEBUG_OBJECT (display, "No GL context for thread %p", thread);
   return NULL;
 }
 
@@ -549,11 +556,15 @@
 
     /* adding the same context is a no-op */
     if (context == collision) {
+      GST_LOG_OBJECT (display, "Attempting to add the same GL context %"
+          GST_PTR_FORMAT ". Ignoring", context);
       ret = TRUE;
       goto out;
     }
 
     if (_check_collision (context, collision)) {
+      GST_DEBUG_OBJECT (display, "Collision detected adding GL context "
+          "%" GST_PTR_FORMAT, context);
       ret = FALSE;
       goto out;
     }
@@ -562,6 +573,7 @@
   ref = g_new0 (GWeakRef, 1);
   g_weak_ref_init (ref, context);
 
+  GST_DEBUG_OBJECT (display, "Adding GL context %" GST_PTR_FORMAT, context);
   display->priv->contexts = g_list_prepend (display->priv->contexts, ref);
 
 out:
diff --git a/gst-libs/gst/gl/gstglfilter.c b/gst-libs/gst/gl/gstglfilter.c
index d25bb72..7c4e254 100644
--- a/gst-libs/gst/gl/gstglfilter.c
+++ b/gst-libs/gst/gl/gstglfilter.c
@@ -28,10 +28,6 @@
 
 #include "gstglfilter.h"
 
-#if GST_GL_HAVE_PLATFORM_EGL
-#include "egl/gsteglimagememory.h"
-#endif
-
 #define GST_CAT_DEFAULT gst_gl_filter_debug
 GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
 
@@ -142,10 +138,10 @@
 
   klass->transform_internal_caps = default_transform_internal_caps;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_gl_filter_src_pad_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_gl_filter_sink_pad_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_gl_filter_src_pad_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_gl_filter_sink_pad_template);
 }
 
 static void
diff --git a/gst-libs/gst/gl/gstglfilter.h b/gst-libs/gst/gl/gstglfilter.h
index a818bab..5025bde 100644
--- a/gst-libs/gst/gl/gstglfilter.h
+++ b/gst-libs/gst/gl/gstglfilter.h
@@ -67,9 +67,6 @@
   GLuint             fbo;
   GLuint             depthbuffer;
 
-  GLuint             in_tex_id;
-  GLuint             out_tex_id;
-
   GstGLShader       *default_shader;
   gboolean           valid_attributes;
 
diff --git a/gst-libs/gst/gl/gstglmemory.c b/gst-libs/gst/gl/gstglmemory.c
index 402fd4d..73c3b59 100644
--- a/gst-libs/gst/gl/gstglmemory.c
+++ b/gst-libs/gst/gl/gstglmemory.c
@@ -275,8 +275,9 @@
 void
 gst_gl_memory_init (GstGLMemory * mem, GstAllocator * allocator,
     GstMemory * parent, GstGLContext * context, GstGLTextureTarget target,
-    GstAllocationParams * params, GstVideoInfo * info, guint plane,
-    GstVideoAlignment * valign, gpointer user_data, GDestroyNotify notify)
+    GstVideoGLTextureType tex_type, GstAllocationParams * params,
+    GstVideoInfo * info, guint plane, GstVideoAlignment * valign,
+    gpointer user_data, GDestroyNotify notify)
 {
   const gchar *target_str;
   gsize size;
@@ -307,9 +308,7 @@
   size = gst_gl_get_plane_data_size (info, valign, plane);
 
   mem->tex_target = target;
-  mem->tex_type =
-      gst_gl_texture_type_from_format (context, GST_VIDEO_INFO_FORMAT (info),
-      plane);
+  mem->tex_type = tex_type;
   mem->plane = plane;
 
   _calculate_unpack_length (mem, context);
@@ -367,6 +366,26 @@
     return FALSE;
   }
 
+  if (USING_GLES2 (context) || USING_GLES3 (context)) {
+    if (format == GL_RGBA && type == GL_UNSIGNED_BYTE) {
+      /* explicitly supported */
+    } else {
+      gint supported_format, supported_type;
+
+      gl->GetIntegerv (GL_IMPLEMENTATION_COLOR_READ_FORMAT, &supported_format);
+      gl->GetIntegerv (GL_IMPLEMENTATION_COLOR_READ_TYPE, &supported_type);
+
+      if (supported_format != format || supported_type != type) {
+        GST_CAT_ERROR (GST_CAT_GL_MEMORY, "cannot read pixels with "
+            "unsupported format and type.  Supported format 0x%x type 0x%x",
+            supported_format, supported_type);
+        gl->BindFramebuffer (GL_FRAMEBUFFER, 0);
+        gl->DeleteFramebuffers (1, &fbo);
+        return FALSE;
+      }
+    }
+  }
+
   gst_gl_query_start_log (GST_GL_BASE_MEMORY_CAST (gl_mem)->query,
       GST_CAT_GL_MEMORY, GST_LEVEL_LOG, NULL, "%s", "glReadPixels took");
   gl->ReadPixels (0, 0, gl_mem->tex_width, GL_MEM_HEIGHT (gl_mem), format,
@@ -374,7 +393,6 @@
   gst_gl_query_end (GST_GL_BASE_MEMORY_CAST (gl_mem)->query);
 
   gl->BindFramebuffer (GL_FRAMEBUFFER, 0);
-
   gl->DeleteFramebuffers (1, &fbo);
 
   return TRUE;
@@ -619,12 +637,21 @@
     goto error;
   }
 
+  if (USING_GLES2 (src->mem.context)
+      && (src->tex_type == GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE
+          || src->tex_type == GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE_ALPHA)) {
+    GST_CAT_FIXME (GST_CAT_GL_MEMORY,
+        "Cannot copy Luminance/Luminance Alpha textures in GLES");
+    goto error;
+  }
+
   if (!gst_memory_map (GST_MEMORY_CAST (src), &sinfo,
           GST_MAP_READ | GST_MAP_GL)) {
     GST_CAT_ERROR (GST_CAT_GL_MEMORY,
         "Failed to map source memory for copying");
     goto error;
   }
+
   src_tex_id = *(guint *) sinfo.data;
 
   GST_CAT_LOG (GST_CAT_GL_MEMORY, "copying memory %p, tex %u into "
@@ -719,22 +746,15 @@
   dest = g_new0 (GstGLMemory, 1);
 
   gst_gl_memory_init (dest, allocator, NULL, src->mem.context, src->tex_target,
-      &params, &src->info, src->plane, &src->valign, NULL, NULL);
+      src->tex_type, &params, &src->info, src->plane, &src->valign, NULL, NULL);
 
-  if (GST_MEMORY_FLAG_IS_SET (src, GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD)) {
-    if (!gst_gl_base_memory_memcpy ((GstGLBaseMemory *) src,
-            (GstGLBaseMemory *) dest, offset, size)) {
-      GST_CAT_WARNING (GST_CAT_GL_MEMORY, "Could not copy GL Memory");
-      gst_memory_unref (GST_MEMORY_CAST (dest));
-      return NULL;
-    }
-  } else {
+  if (!GST_MEMORY_FLAG_IS_SET (src, GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD)) {
     GstMapInfo dinfo;
 
     if (!gst_memory_map (GST_MEMORY_CAST (dest), &dinfo,
             GST_MAP_WRITE | GST_MAP_GL)) {
       GST_CAT_WARNING (GST_CAT_GL_MEMORY,
-          "Failed not map destination " "for writing");
+          "Failed not map destination for writing");
       gst_memory_unref (GST_MEMORY_CAST (dest));
       return NULL;
     }
@@ -744,11 +764,18 @@
             src->tex_type, src->tex_width, GL_MEM_HEIGHT (src))) {
       GST_CAT_WARNING (GST_CAT_GL_MEMORY, "Could not copy GL Memory");
       gst_memory_unmap (GST_MEMORY_CAST (dest), &dinfo);
-      gst_memory_unref (GST_MEMORY_CAST (dest));
-      return NULL;
+      goto memcpy;
     }
 
     gst_memory_unmap (GST_MEMORY_CAST (dest), &dinfo);
+  } else {
+  memcpy:
+    if (!gst_gl_base_memory_memcpy ((GstGLBaseMemory *) src,
+            (GstGLBaseMemory *) dest, offset, size)) {
+      GST_CAT_WARNING (GST_CAT_GL_MEMORY, "Could not copy GL Memory");
+      gst_memory_unref (GST_MEMORY_CAST (dest));
+      return NULL;
+    }
   }
 
   return (GstMemory *) dest;
@@ -802,14 +829,14 @@
   mem = g_new0 (GstGLMemory, 1);
 
   if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) {
-    mem->tex_id = params->parent.gl_handle;
+    mem->tex_id = GPOINTER_TO_UINT (params->parent.gl_handle);
     mem->texture_wrapped = TRUE;
   }
 
   gst_gl_memory_init (mem, GST_ALLOCATOR_CAST (allocator), NULL,
-      params->parent.context, params->target, params->parent.alloc_params,
-      params->v_info, params->plane, params->valign, params->parent.user_data,
-      params->parent.notify);
+      params->parent.context, params->target, params->tex_type,
+      params->parent.alloc_params, params->v_info, params->plane,
+      params->valign, params->parent.user_data, params->parent.notify);
 
   if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) {
     GST_MINI_OBJECT_FLAG_SET (mem, GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD);
@@ -1044,6 +1071,7 @@
  * @plane: the video plane @wrapped_data represents
  * @valign: (allow-none): any #GstVideoAlignment applied to symem mappings of @wrapped_data
  * @target: the #GstGLTextureTarget
+ * @tex_type: the #GstVideoGLTextureType
  * @wrapped_data: (allow-none): the optional data pointer to wrap
  * @gl_handle: the optional OpenGL handle to wrap or 0
  * @user_data: (allow-none): user data to call @notify with
@@ -1061,8 +1089,8 @@
     GstGLAllocationParamsFreeFunc free, GstGLContext * context,
     GstAllocationParams * alloc_params, GstVideoInfo * v_info,
     guint plane, GstVideoAlignment * valign, GstGLTextureTarget target,
-    gpointer wrapped_data, guint gl_handle, gpointer user_data,
-    GDestroyNotify notify)
+    GstVideoGLTextureType tex_type, gpointer wrapped_data, gpointer gl_handle,
+    gpointer user_data, GDestroyNotify notify)
 {
   guint i;
 
@@ -1087,6 +1115,7 @@
   }
   _gst_gl_video_allocation_params_set_video_alignment (params, valign);
   params->target = target;
+  params->tex_type = tex_type;
   params->plane = plane;
 
   return TRUE;
@@ -1095,11 +1124,12 @@
 /**
  * gst_gl_video_allocation_params_new:
  * @context: a #GstGLContext
- * @alloc_params: (allow-none): the #GstAllocationParams for @wrapped_data
- * @v_info: the #GstVideoInfo for @wrapped_data
- * @plane: the video plane @wrapped_data represents
- * @valign: (allow-none): any #GstVideoAlignment applied to symem mappings of @wrapped_data
- * @target: the #GstGLTextureTarget for @wrapped_data
+ * @alloc_params: (allow-none): the #GstAllocationParams for sysmem mappings of the texture
+ * @v_info: the #GstVideoInfo for the texture
+ * @plane: the video plane of @v_info to allocate
+ * @valign: (allow-none): any #GstVideoAlignment applied to symem mappings of the texture
+ * @target: the #GstGLTextureTarget for the created textures
+ * @target: the #GstVideoGLTextureType for the created textures
  *
  * Returns: a new #GstGLVideoAllocationParams for allocating #GstGLMemory's
  *
@@ -1108,7 +1138,8 @@
 GstGLVideoAllocationParams *
 gst_gl_video_allocation_params_new (GstGLContext * context,
     GstAllocationParams * alloc_params, GstVideoInfo * v_info, guint plane,
-    GstVideoAlignment * valign, GstGLTextureTarget target)
+    GstVideoAlignment * valign, GstGLTextureTarget target,
+    GstVideoGLTextureType tex_type)
 {
   GstGLVideoAllocationParams *params = g_new0 (GstGLVideoAllocationParams, 1);
 
@@ -1120,7 +1151,7 @@
           gst_gl_video_allocation_params_copy_data,
           (GstGLAllocationParamsFreeFunc)
           gst_gl_video_allocation_params_free_data, context, alloc_params,
-          v_info, plane, valign, target, NULL, 0, NULL, NULL)) {
+          v_info, plane, valign, target, tex_type, NULL, 0, NULL, NULL)) {
     g_free (params);
     return NULL;
   }
@@ -1136,6 +1167,7 @@
  * @plane: the video plane @wrapped_data represents
  * @valign: (allow-none): any #GstVideoAlignment applied to symem mappings of @wrapped_data
  * @target: the #GstGLTextureTarget for @wrapped_data
+ * @tex_type: the #GstVideoGLTextureType for @wrapped_data
  * @wrapped_data: the data pointer to wrap
  * @user_data: (allow-none): user data to call @notify with
  * @notify: (allow-none): a #GDestroyNotify
@@ -1148,7 +1180,8 @@
 gst_gl_video_allocation_params_new_wrapped_data (GstGLContext * context,
     GstAllocationParams * alloc_params, GstVideoInfo * v_info, guint plane,
     GstVideoAlignment * valign, GstGLTextureTarget target,
-    gpointer wrapped_data, gpointer user_data, GDestroyNotify notify)
+    GstVideoGLTextureType tex_type, gpointer wrapped_data, gpointer user_data,
+    GDestroyNotify notify)
 {
   GstGLVideoAllocationParams *params = g_new0 (GstGLVideoAllocationParams, 1);
 
@@ -1160,7 +1193,55 @@
           gst_gl_video_allocation_params_copy_data,
           (GstGLAllocationParamsFreeFunc)
           gst_gl_video_allocation_params_free_data, context, alloc_params,
-          v_info, plane, valign, target, wrapped_data, 0, user_data, notify)) {
+          v_info, plane, valign, target, tex_type, wrapped_data, 0, user_data,
+          notify)) {
+    g_free (params);
+    return NULL;
+  }
+
+  return params;
+}
+
+/**
+ * gst_gl_video_allocation_params_new_wrapped_gl_handle:
+ * @context: a #GstGLContext
+ * @alloc_params: (allow-none): the #GstAllocationParams for @tex_id
+ * @v_info: the #GstVideoInfo for @tex_id
+ * @plane: the video plane @tex_id represents
+ * @valign: (allow-none): any #GstVideoAlignment applied to symem mappings of @tex_id
+ * @target: the #GstGLTextureTarget for @tex_id
+ * @tex_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
+ *
+ * @gl_handle is defined by the specific OpenGL handle being wrapped
+ * For #GstGLMemory and #GstGLMemoryPBO it is an OpenGL texture id.
+ * Other memory types may define it to require a different type of parameter.
+ *
+ * Returns: a new #GstGLVideoAllocationParams for wrapping @gl_handle
+ *
+ * Since: 1.8
+ */
+GstGLVideoAllocationParams *
+gst_gl_video_allocation_params_new_wrapped_gl_handle (GstGLContext * context,
+    GstAllocationParams * alloc_params, GstVideoInfo * v_info, guint plane,
+    GstVideoAlignment * valign, GstGLTextureTarget target,
+    GstVideoGLTextureType tex_type, gpointer gl_handle, gpointer user_data,
+    GDestroyNotify notify)
+{
+  GstGLVideoAllocationParams *params = g_new0 (GstGLVideoAllocationParams, 1);
+
+  if (!gst_gl_video_allocation_params_init_full (params,
+          sizeof (GstGLVideoAllocationParams),
+          GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE |
+          GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO,
+          (GstGLAllocationParamsCopyFunc)
+          gst_gl_video_allocation_params_copy_data,
+          (GstGLAllocationParamsFreeFunc)
+          gst_gl_video_allocation_params_free_data, context, alloc_params,
+          v_info, plane, valign, target, tex_type, NULL, gl_handle, user_data,
+          notify)) {
     g_free (params);
     return NULL;
   }
@@ -1176,6 +1257,7 @@
  * @plane: the video plane @tex_id represents
  * @valign: (allow-none): any #GstVideoAlignment applied to symem mappings of @tex_id
  * @target: the #GstGLTextureTarget for @tex_id
+ * @tex_type: the #GstGLTextureType for @tex_id
  * @tex_id: the GL texture to wrap
  * @user_data: (allow-none): user data to call @notify with
  * @notify: (allow-none): a #GDestroyNotify
@@ -1188,24 +1270,12 @@
 gst_gl_video_allocation_params_new_wrapped_texture (GstGLContext * context,
     GstAllocationParams * alloc_params, GstVideoInfo * v_info, guint plane,
     GstVideoAlignment * valign, GstGLTextureTarget target,
-    guint tex_id, gpointer user_data, GDestroyNotify notify)
+    GstVideoGLTextureType tex_type, guint tex_id, gpointer user_data,
+    GDestroyNotify notify)
 {
-  GstGLVideoAllocationParams *params = g_new0 (GstGLVideoAllocationParams, 1);
-
-  if (!gst_gl_video_allocation_params_init_full (params,
-          sizeof (GstGLVideoAllocationParams),
-          GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE |
-          GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO,
-          (GstGLAllocationParamsCopyFunc)
-          gst_gl_video_allocation_params_copy_data,
-          (GstGLAllocationParamsFreeFunc)
-          gst_gl_video_allocation_params_free_data, context, alloc_params,
-          v_info, plane, valign, target, NULL, tex_id, user_data, notify)) {
-    g_free (params);
-    return NULL;
-  }
-
-  return params;
+  return gst_gl_video_allocation_params_new_wrapped_gl_handle (context,
+      alloc_params, v_info, plane, valign, target, tex_type,
+      GUINT_TO_POINTER (tex_id), user_data, notify);
 }
 
 /**
@@ -1255,6 +1325,7 @@
   _gst_gl_video_allocation_params_set_video_alignment (dest_vid,
       src_vid->valign);
   dest_vid->target = src_vid->target;
+  dest_vid->tex_type = src_vid->tex_type;
   dest_vid->plane = src_vid->plane;
 }
 
@@ -1263,6 +1334,7 @@
  * @allocator: the @GstGLMemoryAllocator to allocate from
  * @buffer: a #GstBuffer to setup
  * @params: the #GstGLVideoAllocationParams to allocate with
+ * @tex_types: (allow-none): a list of #GstVideoGLTextureType's to allocate with.
  *
  * Returns: whether the buffer was correctly setup
  *
@@ -1270,18 +1342,15 @@
  */
 gboolean
 gst_gl_memory_setup_buffer (GstGLMemoryAllocator * allocator,
-    GstBuffer * buffer, GstGLVideoAllocationParams * params)
+    GstBuffer * buffer, GstGLVideoAllocationParams * params,
+    GstVideoGLTextureType * tex_types, gpointer * wrapped_data,
+    gsize n_wrapped_pointers)
 {
   GstGLBaseMemoryAllocator *base_allocator;
   guint n_mem, i, v, views;
   guint alloc_flags = params->parent.alloc_flags;
 
   g_return_val_if_fail (params != NULL, FALSE);
-  g_return_val_if_fail ((alloc_flags &
-          GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM)
-      == 0, FALSE);
-  g_return_val_if_fail ((params->parent.alloc_flags &
-          GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) == 0, FALSE);
   g_return_val_if_fail (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO,
       FALSE);
 
@@ -1294,11 +1363,30 @@
   else
     views = 1;
 
+  g_return_val_if_fail (!wrapped_data
+      || views * n_mem != n_wrapped_pointers, FALSE);
+
   for (v = 0; v < views; v++) {
     for (i = 0; i < n_mem; i++) {
       GstGLMemory *gl_mem;
 
+      if (tex_types) {
+        params->tex_type = tex_types[i];
+      } else {
+        params->tex_type =
+            gst_gl_texture_type_from_format (params->parent.context,
+            GST_VIDEO_INFO_FORMAT (params->v_info), i);
+      }
+
       params->plane = i;
+      if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM) {
+        g_return_val_if_fail (wrapped_data != NULL, FALSE);
+        params->parent.wrapped_data = wrapped_data[i];
+      } else if (alloc_flags &
+          GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) {
+        g_return_val_if_fail (wrapped_data != NULL, FALSE);
+        params->parent.gl_handle = wrapped_data[i];
+      }
 
       if (!(gl_mem = (GstGLMemory *) gst_gl_base_memory_alloc (base_allocator,
                   (GstGLAllocationParams *) params)))
diff --git a/gst-libs/gst/gl/gstglmemory.h b/gst-libs/gst/gl/gstglmemory.h
index b032a5c..f36f64b 100644
--- a/gst-libs/gst/gl/gstglmemory.h
+++ b/gst-libs/gst/gl/gstglmemory.h
@@ -92,6 +92,7 @@
   guint                  plane;
   GstVideoAlignment     *valign;
   GstGLTextureTarget     target;
+  GstVideoGLTextureType  tex_type;
 };
 
 gboolean        gst_gl_video_allocation_params_init_full        (GstGLVideoAllocationParams * params,
@@ -105,8 +106,9 @@
                                                                  guint plane,
                                                                  GstVideoAlignment * valign,
                                                                  GstGLTextureTarget target,
+                                                                 GstVideoGLTextureType tex_type,
                                                                  gpointer wrapped_data,
-                                                                 guint gl_handle,
+                                                                 gpointer gl_handle,
                                                                  gpointer user_data,
                                                                  GDestroyNotify notify);
 GstGLVideoAllocationParams * gst_gl_video_allocation_params_new (GstGLContext * context,
@@ -114,13 +116,15 @@
                                                                  GstVideoInfo * v_info,
                                                                  guint plane,
                                                                  GstVideoAlignment * valign,
-                                                                 GstGLTextureTarget target);
+                                                                 GstGLTextureTarget target,
+                                                                 GstVideoGLTextureType tex_type);
 GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_data    (GstGLContext * context,
                                                                                  GstAllocationParams * alloc_params,
                                                                                  GstVideoInfo * v_info,
                                                                                  guint plane,
                                                                                  GstVideoAlignment * valign,
                                                                                  GstGLTextureTarget target,
+                                                                                 GstVideoGLTextureType tex_type,
                                                                                  gpointer wrapped_data,
                                                                                  gpointer user_data,
                                                                                  GDestroyNotify notify);
@@ -131,10 +135,22 @@
                                                                                  guint plane,
                                                                                  GstVideoAlignment * valign,
                                                                                  GstGLTextureTarget target,
+                                                                                 GstVideoGLTextureType tex_type,
                                                                                  guint tex_id,
                                                                                  gpointer user_data,
                                                                                  GDestroyNotify notify);
 
+GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_gl_handle (GstGLContext * context,
+                                                                                 GstAllocationParams * alloc_params,
+                                                                                 GstVideoInfo * v_info,
+                                                                                 guint plane,
+                                                                                 GstVideoAlignment * valign,
+                                                                                 GstGLTextureTarget target,
+                                                                                 GstVideoGLTextureType tex_type,
+                                                                                 gpointer gl_handle,
+                                                                                 gpointer user_data,
+                                                                                 GDestroyNotify notify);
+
 /* subclass usage */
 void            gst_gl_video_allocation_params_free_data    (GstGLVideoAllocationParams * params);
 /* subclass usage */
@@ -182,6 +198,7 @@
                                                  GstMemory * parent,
                                                  GstGLContext * context,
                                                  GstGLTextureTarget target,
+                                                 GstVideoGLTextureType tex_type,
                                                  GstAllocationParams *params,
                                                  GstVideoInfo * info,
                                                  guint plane,
@@ -216,8 +233,10 @@
 
 gboolean                gst_gl_memory_setup_buffer          (GstGLMemoryAllocator * allocator,
                                                              GstBuffer * buffer,
-                                                             GstGLVideoAllocationParams * params);
-
+                                                             GstGLVideoAllocationParams * params,
+                                                             GstVideoGLTextureType *tex_types,
+                                                             gpointer *wrapped_data,
+                                                             gsize n_wrapped_pointers);
 
 GstGLMemoryAllocator *  gst_gl_memory_allocator_get_default (GstGLContext *context);
 
diff --git a/gst-libs/gst/gl/gstglmemorypbo.c b/gst-libs/gst/gl/gstglmemorypbo.c
index d8fa710..e749488 100644
--- a/gst-libs/gst/gl/gstglmemorypbo.c
+++ b/gst-libs/gst/gl/gstglmemorypbo.c
@@ -217,34 +217,6 @@
   return TRUE;
 }
 
-static void
-_gl_mem_init (GstGLMemoryPBO * mem, GstAllocator * allocator,
-    GstMemory * parent, GstGLContext * context, GstGLTextureTarget target,
-    GstAllocationParams * params, GstVideoInfo * info,
-    guint plane, GstVideoAlignment * valign, gpointer user_data,
-    GDestroyNotify notify)
-{
-  gst_gl_memory_init ((GstGLMemory *) mem, allocator, parent,
-      context, target, params, info, plane, valign, user_data, notify);
-}
-
-static GstGLMemoryPBO *
-_gl_mem_new (GstAllocator * allocator, GstMemory * parent,
-    GstGLContext * context, GstGLTextureTarget target,
-    GstAllocationParams * params, GstVideoInfo * info,
-    guint plane, GstVideoAlignment * valign, gpointer user_data,
-    GDestroyNotify notify)
-{
-  GstGLMemoryPBO *mem;
-  mem = g_new0 (GstGLMemoryPBO, 1);
-  mem->mem.texture_wrapped = FALSE;
-
-  _gl_mem_init (mem, allocator, parent, context, target, params, info, plane,
-      valign, user_data, notify);
-
-  return mem;
-}
-
 static gboolean
 _read_pixels_to_pbo (GstGLMemoryPBO * gl_mem)
 {
@@ -601,18 +573,12 @@
         size);
   }
 
-  dest = (GstMemory *) _gl_mem_new (allocator, NULL, src->mem.mem.context,
-      src->mem.tex_target, &params, &src->mem.info, src->mem.plane,
-      &src->mem.valign, NULL, NULL);
+  dest = (GstMemory *) g_new0 (GstGLMemoryPBO, 1);
+  gst_gl_memory_init (GST_GL_MEMORY_CAST (dest), allocator, NULL,
+      src->mem.mem.context, src->mem.tex_target, src->mem.tex_type, &params,
+      &src->mem.info, src->mem.plane, &src->mem.valign, NULL, NULL);
 
-  if (GST_MEMORY_FLAG_IS_SET (src, GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD)) {
-    if (!gst_gl_base_memory_memcpy ((GstGLBaseMemory *) src,
-            (GstGLBaseMemory *) dest, offset, size)) {
-      GST_CAT_WARNING (GST_CAT_GL_MEMORY, "Could not copy GL Memory");
-      gst_memory_unref (GST_MEMORY_CAST (dest));
-      return NULL;
-    }
-  } else {
+  if (!GST_MEMORY_FLAG_IS_SET (src, GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD)) {
     GstMapInfo dinfo;
 
     if (!gst_memory_map (GST_MEMORY_CAST (dest), &dinfo,
@@ -628,11 +594,18 @@
             src->mem.tex_type, src->mem.tex_width, GL_MEM_HEIGHT (src))) {
       GST_CAT_WARNING (GST_CAT_GL_MEMORY, "Could not copy GL Memory");
       gst_memory_unmap (GST_MEMORY_CAST (dest), &dinfo);
-      gst_memory_unref (GST_MEMORY_CAST (dest));
-      return NULL;
+      goto memcpy;
     }
 
     gst_memory_unmap (GST_MEMORY_CAST (dest), &dinfo);
+  } else {
+  memcpy:
+    if (!gst_gl_base_memory_memcpy ((GstGLBaseMemory *) src,
+            (GstGLBaseMemory *) dest, offset, size)) {
+      GST_CAT_WARNING (GST_CAT_GL_MEMORY, "Could not copy GL Memory");
+      gst_memory_unref (GST_MEMORY_CAST (dest));
+      return NULL;
+    }
   }
 
   return dest;
@@ -674,14 +647,14 @@
   mem = g_new0 (GstGLMemoryPBO, 1);
 
   if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) {
-    mem->mem.tex_id = params->parent.gl_handle;
+    mem->mem.tex_id = GPOINTER_TO_UINT (params->parent.gl_handle);
     mem->mem.texture_wrapped = TRUE;
   }
 
-  _gl_mem_init (mem, GST_ALLOCATOR_CAST (allocator), NULL,
-      params->parent.context, params->target, params->parent.alloc_params,
-      params->v_info, params->plane, params->valign, params->parent.user_data,
-      params->parent.notify);
+  gst_gl_memory_init (GST_GL_MEMORY_CAST (mem), GST_ALLOCATOR_CAST (allocator),
+      NULL, params->parent.context, params->target, params->tex_type,
+      params->parent.alloc_params, params->v_info, params->plane,
+      params->valign, params->parent.user_data, params->parent.notify);
 
   if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) {
     GST_MINI_OBJECT_FLAG_SET (mem, GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD);
@@ -864,6 +837,8 @@
     GST_DEBUG_CATEGORY_INIT (GST_CAT_GL_MEMORY, "glmemory", 0, "OpenGL Memory");
 
     _gl_allocator = g_object_new (GST_TYPE_GL_MEMORY_PBO_ALLOCATOR, NULL);
+    /* The allocator is never unreffed */
+    GST_OBJECT_FLAG_SET (_gl_allocator, GST_OBJECT_FLAG_MAY_BE_LEAKED);
 
     gst_allocator_register (GST_GL_MEMORY_PBO_ALLOCATOR_NAME,
         gst_object_ref (_gl_allocator));
diff --git a/gst-libs/gst/gl/gstgloverlaycompositor.c b/gst-libs/gst/gl/gstgloverlaycompositor.c
index f7d0639..f6548a0 100644
--- a/gst-libs/gst/gl/gstgloverlaycompositor.c
+++ b/gst-libs/gst/gl/gstgloverlaycompositor.c
@@ -356,7 +356,8 @@
 
     params = gst_gl_video_allocation_params_new_wrapped_data (overlay->context,
         NULL, &comp_frame->info, 0, NULL, GST_GL_TEXTURE_TARGET_2D,
-        comp_frame->data[0], comp_frame, _video_frame_unmap_and_free);
+        GST_VIDEO_GL_TEXTURE_TYPE_RGBA, comp_frame->data[0], comp_frame,
+        _video_frame_unmap_and_free);
 
     comp_gl_memory =
         (GstGLMemory *) gst_gl_base_memory_alloc (mem_allocator,
diff --git a/gst-libs/gst/gl/gstglquery.c b/gst-libs/gst/gl/gstglquery.c
index 45e6336..c59c19f 100644
--- a/gst-libs/gst/gl/gstglquery.c
+++ b/gst-libs/gst/gl/gstglquery.c
@@ -254,7 +254,8 @@
 
   gl = query->context->gl_vtable;
   if (gl->GetQueryObjectui64v) {
-    gl->GetQueryObjectui64v (query->query_id, GL_QUERY_RESULT, &ret);
+    gl->GetQueryObjectui64v (query->query_id, GL_QUERY_RESULT,
+        (GLuint64 *) & ret);
   } else {
     guint tmp;
     gl->GetQueryObjectuiv (query->query_id, GL_QUERY_RESULT, &tmp);
diff --git a/gst-libs/gst/gl/gstglshader.c b/gst-libs/gst/gl/gstglshader.c
index 9d96784..9f09236 100644
--- a/gst-libs/gst/gl/gstglshader.c
+++ b/gst-libs/gst/gl/gstglshader.c
@@ -1306,3 +1306,23 @@
 
   gl->BindAttribLocation (priv->program_handle, index, name);
 }
+
+void
+gst_gl_shader_bind_frag_data_location (GstGLShader * shader,
+    guint index, const gchar * name)
+{
+  GstGLShaderPrivate *priv;
+  GstGLFuncs *gl;
+
+  g_return_if_fail (shader != NULL);
+  if (!_ensure_program (shader))
+    g_return_if_fail (shader->priv->program_handle);
+  priv = shader->priv;
+  gl = shader->context->gl_vtable;
+  g_return_if_fail (gl->BindFragDataLocation);
+
+  GST_TRACE_OBJECT (shader, "binding program %i frag data \'%s\' location %i",
+      (int) priv->program_handle, name, index);
+
+  gl->BindFragDataLocation (priv->program_handle, index, name);
+}
diff --git a/gst-libs/gst/gl/gstglshader.h b/gst-libs/gst/gl/gstglshader.h
index 21410e2..2200b89 100644
--- a/gst-libs/gst/gl/gstglshader.h
+++ b/gst-libs/gst/gl/gstglshader.h
@@ -104,6 +104,7 @@
 
 gint gst_gl_shader_get_attribute_location  (GstGLShader *shader, const gchar *name);
 void gst_gl_shader_bind_attribute_location (GstGLShader * shader, guint index, const gchar * name);
+void gst_gl_shader_bind_frag_data_location (GstGLShader * shader, guint index, const gchar * name);
 
 G_END_DECLS
 
diff --git a/gst-libs/gst/gl/gstglshaderstrings.c b/gst-libs/gst/gl/gstglshaderstrings.c
index 729be6f..e6bf5f3 100644
--- a/gst-libs/gst/gl/gstglshaderstrings.c
+++ b/gst-libs/gst/gl/gstglshaderstrings.c
@@ -46,6 +46,17 @@
     "   v_texcoord = (u_transformation * vec4(a_texcoord, 0, 1)).xy;\n"
     "}\n";
 
+const gchar *gst_gl_shader_string_vertex_mat4_vertex_transform =
+    "uniform mat4 u_transformation;\n"
+    "attribute vec4 a_position;\n"
+    "attribute vec2 a_texcoord;\n"
+    "varying vec2 v_texcoord;\n"
+    "void main()\n"
+    "{\n"
+    "   gl_Position = u_transformation * a_position;\n"
+    "   v_texcoord = a_texcoord;\n"
+    "}\n";
+
 const gchar *gst_gl_shader_string_fragment_default =
     "#ifdef GL_ES\n"
     "precision mediump float;\n"
diff --git a/gst-libs/gst/gl/gstglshaderstrings.h b/gst-libs/gst/gl/gstglshaderstrings.h
index 49ea8de..89d88b0 100644
--- a/gst-libs/gst/gl/gstglshaderstrings.h
+++ b/gst-libs/gst/gl/gstglshaderstrings.h
@@ -29,6 +29,7 @@
 extern const gchar *gst_gl_shader_string_fragment_default;
 
 extern const gchar *gst_gl_shader_string_vertex_mat4_texture_transform;
+extern const gchar *gst_gl_shader_string_vertex_mat4_vertex_transform;
 extern const gchar *gst_gl_shader_string_fragment_external_oes_default;
 
 G_END_DECLS
diff --git a/gst-libs/gst/gl/gstglsl.c b/gst-libs/gst/gl/gstglsl.c
index 5074552..e3fe9c5 100644
--- a/gst-libs/gst/gl/gstglsl.c
+++ b/gst-libs/gst/gl/gstglsl.c
@@ -33,6 +33,21 @@
  * @see_also: #GstGLSLStage, #GstGLShader
  */
 
+#define GST_CAT_DEFAULT gst_glsl_debug
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+
+static void
+_init_debug (void)
+{
+  static volatile gsize _init = 0;
+
+  if (g_once_init_enter (&_init)) {
+    GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "glsl", 0,
+        "OpenGL Shading Language");
+    g_once_init_leave (&_init, 1);
+  }
+}
+
 GQuark
 gst_glsl_error_quark (void)
 {
@@ -255,6 +270,8 @@
   GstGLSLProfile profile = GST_GLSL_PROFILE_NONE;
   gint i;
 
+  _init_debug ();
+
   if (!string)
     goto error;
 
@@ -265,6 +282,7 @@
   if (str[0] == '#') {
     if (!(version_s =
             (gchar *) _check_valid_version_preprocessor_string (version_s))) {
+      GST_WARNING ("Invalid preprocesser directive detected: %s", version_s);
       g_free (str);
       goto error;
     }
@@ -277,6 +295,8 @@
     i++;
   /* wrong version length */
   if (i != 3) {
+    GST_WARNING ("version number has the wrong number of digits: %s",
+        version_s);
     g_free (str);
     goto error;
   }
@@ -293,13 +313,24 @@
   g_free (str);
 
   /* check whether the parsed data is valid */
-  if (!version)
+  if (!version) {
+    GST_WARNING ("Could not map the version number to a valid GLSL version:");
     goto error;
-  if (!_is_valid_version_profile (version, profile))
+  }
+  if (!_is_valid_version_profile (version, profile)) {
+    GST_WARNING ("Invalid version/profile combination specified: %s %s",
+        gst_glsl_version_to_string (version),
+        gst_glsl_profile_to_string (profile));
     goto error;
+  }
   /* got a profile when none was expected */
-  if (version <= GST_GLSL_VERSION_150 && profile != GST_GLSL_PROFILE_NONE)
+  if (version <= GST_GLSL_VERSION_150 && profile != GST_GLSL_PROFILE_NONE) {
+    GST_WARNING
+        ("Found a profile (%s) with a version (%s) that does not support "
+        "profiles", gst_glsl_version_to_string (version),
+        gst_glsl_profile_to_string (profile));
     goto error;
+  }
 
   _fixup_version_profile (&version, &profile);
 
@@ -329,6 +360,8 @@
   gboolean newline = TRUE;
   gint i = 0;
 
+  _init_debug ();
+
   /* search for #version while allowing for preceeding comments/whitespace as
    * permitted by the GLSL specification */
   while (str && str[i] != '\0' && i < 1024) {
@@ -366,8 +399,10 @@
     }
 
     if (str[i] == '#') {
-      if (newline && _check_valid_version_preprocessor_string (&str[i]))
+      if (newline && _check_valid_version_preprocessor_string (&str[i])) {
+        GST_DEBUG ("found #version declaration at index %i", i);
         return &str[i];
+      }
       break;
     }
 
@@ -376,6 +411,8 @@
     i++;
   }
 
+  GST_DEBUG ("no #version declaration found in the first 1K");
+
   return NULL;
 }
 
@@ -410,6 +447,8 @@
 {
   g_return_val_if_fail (gl_api != GST_GL_API_NONE, 0);
 
+  _init_debug ();
+
   if (gl_api & GST_GL_API_GLES2) {
     if (maj == 2 && min == 0)
       return 100;
@@ -417,6 +456,7 @@
     if (maj == 3 && min >= 0 && min <= 2)
       return maj * 100 + min * 10;
 
+    GST_WARNING ("unknown GLES version");
     return 0;
   }
 
@@ -436,9 +476,11 @@
     if (maj == 2 && min == 0)
       return 110;
 
+    GST_WARNING ("unknown GL version");
     return 0;
   }
 
+  GST_WARNING ("unknown GL API");
   return 0;
 }
 
@@ -551,3 +593,269 @@
   vtable->initialized = TRUE;
   return TRUE;
 }
+
+static gchar *
+_mangle_external_image_extension (const gchar * str, GstGLContext * context,
+    GstGLTextureTarget from, GstGLTextureTarget to, GstGLSLVersion version,
+    GstGLSLProfile profile)
+{
+  GST_DEBUG ("is oes? %d, profile == ES? %d, version >= 300? %d, "
+      "have essl3? %d", to == GST_GL_TEXTURE_TARGET_EXTERNAL_OES,
+      profile == GST_GLSL_PROFILE_ES, version >= GST_GLSL_VERSION_300,
+      gst_gl_context_check_feature (context,
+          "GL_OES_EGL_image_external_essl3"));
+
+  /* replace GL_OES_EGL_image_external with GL_OES_EGL_image_external_essl3 where supported */
+  if (to == GST_GL_TEXTURE_TARGET_EXTERNAL_OES && profile == GST_GLSL_PROFILE_ES
+      && version >= GST_GLSL_VERSION_300) {
+    if (gst_gl_context_check_feature (context,
+            "GL_OES_EGL_image_external_essl3")) {
+      GRegex *regex = g_regex_new (
+          /* '#extension ' with optional spacing */
+          "(#[ \\t]*extension[ \\t]+)"
+          /* what we're looking to replace */
+          "GL_OES_EGL_image_external"
+          /* ':' with optional spacing */
+          "([ \\t]*:[ \\t]*"
+          /* some word like require, disable, etc followed by spacing and a newline */
+          "\\S+[ \\t]*\\R)",
+          0, 0, NULL);
+      gchar *tmp = g_regex_replace (regex, str, -1, 0,
+          "\\1GL_OES_EGL_image_external_essl3\\2", 0, NULL);
+      g_regex_unref (regex);
+      return tmp;
+    } else {
+      GST_FIXME ("Undefined situation detected. GLES3 supported but "
+          "GL_OES_EGL_image_external_essl3 not supported.  Falling back to the "
+          "older GL_OES_EGL_image_external extension");
+      return g_strdup (str);
+    }
+  } else {
+    return g_strdup (str);
+  }
+}
+
+static gchar *
+_mangle_texture_access (const gchar * str, GstGLContext * context,
+    GstGLTextureTarget from, GstGLTextureTarget to, GstGLSLVersion version,
+    GstGLSLProfile profile)
+{
+  const gchar *from_str = NULL, *to_str = NULL;
+  gchar *ret, *tmp;
+  gchar *regex_find;
+  GRegex *regex;
+
+  if (from == GST_GL_TEXTURE_TARGET_2D)
+    from_str = "texture2D";
+  if (from == GST_GL_TEXTURE_TARGET_RECTANGLE)
+    from_str = "texture2DRect";
+  if (from == GST_GL_TEXTURE_TARGET_EXTERNAL_OES)
+    from_str = "texture2D";
+
+  /* GL3 || gles3 but not when external-oes unless the image_external_essl3 extension is supported */
+  if (profile == GST_GLSL_PROFILE_CORE || (profile == GST_GLSL_PROFILE_ES
+          && version >= GST_GLSL_VERSION_300
+          && (to != GST_GL_TEXTURE_TARGET_EXTERNAL_OES
+              || gst_gl_context_check_feature (context,
+                  "GL_OES_EGL_image_external_essl3")))) {
+    to_str = "texture";
+  } else {
+    if (to == GST_GL_TEXTURE_TARGET_2D)
+      to_str = "texture2D";
+    if (to == GST_GL_TEXTURE_TARGET_RECTANGLE)
+      to_str = "texture2DRect";
+    if (to == GST_GL_TEXTURE_TARGET_EXTERNAL_OES)
+      to_str = "texture2D";
+  }
+
+  /* followed by any amount of whitespace then a bracket */
+  regex_find = g_strdup_printf ("%s(?=\\s*\\()", from_str);
+  regex = g_regex_new (regex_find, 0, 0, NULL);
+  tmp = g_regex_replace_literal (regex, str, -1, 0, to_str, 0, NULL);
+  g_free (regex_find);
+  g_regex_unref (regex);
+
+  if (tmp) {
+    ret = tmp;
+  } else {
+    GST_FIXME ("Couldn't mangle texture access successfully from %s to %s",
+        from_str, to_str);
+    ret = g_strdup (str);
+  }
+
+  return ret;
+}
+
+static gchar *
+_mangle_sampler_type (const gchar * str, GstGLTextureTarget from,
+    GstGLTextureTarget to)
+{
+  const gchar *from_str = NULL, *to_str = NULL;
+  gchar *ret, *tmp;
+  gchar *regex_find;
+  GRegex *regex;
+
+  if (from == GST_GL_TEXTURE_TARGET_2D)
+    from_str = "sampler2D";
+  if (from == GST_GL_TEXTURE_TARGET_RECTANGLE)
+    from_str = "sampler2DRect";
+  if (from == GST_GL_TEXTURE_TARGET_EXTERNAL_OES)
+    from_str = "samplerExternalOES";
+
+  if (to == GST_GL_TEXTURE_TARGET_2D)
+    to_str = "sampler2D";
+  if (to == GST_GL_TEXTURE_TARGET_RECTANGLE)
+    to_str = "sampler2DRect";
+  if (to == GST_GL_TEXTURE_TARGET_EXTERNAL_OES)
+    to_str = "samplerExternalOES";
+
+  /* followed by some whitespace  */
+  regex_find = g_strdup_printf ("%s(?=\\s)", from_str);
+  regex = g_regex_new (regex_find, 0, 0, NULL);
+  tmp = g_regex_replace_literal (regex, str, -1, 0, to_str, 0, NULL);
+  g_free (regex_find);
+  g_regex_unref (regex);
+
+  if (tmp) {
+    ret = tmp;
+  } else {
+    GST_FIXME ("Couldn't mangle sampler type successfully from %s to %s",
+        from_str, to_str);
+    ret = g_strdup (str);
+  }
+
+  return ret;
+}
+
+static gchar *
+_mangle_varying_attribute (const gchar * str, guint shader_type,
+    GstGLSLVersion version, GstGLSLProfile profile)
+{
+  if (shader_type == GL_VERTEX_SHADER) {
+    if (profile == GST_GLSL_PROFILE_CORE || (profile == GST_GLSL_PROFILE_ES
+            && version >= GST_GLSL_VERSION_300)) {
+      gchar *tmp, *tmp2;
+      GRegex *regex;
+
+      /* followed by some whitespace  */
+      regex = g_regex_new ("varying(?=\\s)", 0, 0, NULL);
+      tmp = g_regex_replace_literal (regex, str, -1, 0, "out", 0, NULL);
+      g_regex_unref (regex);
+
+      /* followed by some whitespace  */
+      regex = g_regex_new ("attribute(?=\\s)", 0, 0, NULL);
+      tmp2 = g_regex_replace_literal (regex, tmp, -1, 0, "in", 0, NULL);
+      g_regex_unref (regex);
+
+      g_free (tmp);
+      return tmp2;
+    }
+  } else if (shader_type == GL_FRAGMENT_SHADER) {
+    if (profile == GST_GLSL_PROFILE_CORE || (profile == GST_GLSL_PROFILE_ES
+            && version >= GST_GLSL_VERSION_300)) {
+      gchar *tmp;
+      GRegex *regex;
+
+      /* followed by some whitespace  */
+      regex = g_regex_new ("varying(?=\\s)", 0, 0, NULL);
+      tmp = g_regex_replace_literal (regex, str, -1, 0, "in", 0, NULL);
+      g_regex_unref (regex);
+
+      return tmp;
+    }
+  }
+  return g_strdup (str);
+}
+
+static gchar *
+_mangle_frag_color_data (const gchar * str)
+{
+  GRegex *regex;
+  gchar *ret, *tmp;
+
+  regex = g_regex_new ("gl_FragColor", 0, 0, NULL);
+  ret = g_regex_replace_literal (regex, str, -1, 0, "fragColor", 0, NULL);
+  g_regex_unref (regex);
+
+  tmp = ret;
+  /* search and replace 'gl_FragData[NUM]' into fragColor_NUM */
+  regex = g_regex_new ("gl_FragData\\[(\\d+)\\]", 0, 0, NULL);
+  ret = g_regex_replace (regex, tmp, -1, 0, "fragColor_\\1", 0, NULL);
+  g_regex_unref (regex);
+  g_free (tmp);
+
+  return ret;
+}
+
+static void
+_mangle_version_profile_from_gl_api (GstGLContext * context,
+    GstGLTextureTarget from, GstGLTextureTarget to, GstGLSLVersion * version,
+    GstGLSLProfile * profile)
+{
+  GstGLAPI gl_api;
+  gint gl_major, gl_minor;
+
+  gl_api = gst_gl_context_get_gl_api (context);
+  gst_gl_context_get_gl_version (context, &gl_major, &gl_minor);
+
+  *version = GST_GLSL_VERSION_NONE;
+  *profile = GST_GLSL_PROFILE_NONE;
+
+  if (gl_api & GST_GL_API_OPENGL3) {
+    if (gl_major > 3 || gl_minor >= 3) {
+      *version = GST_GLSL_VERSION_330;
+      *profile = GST_GLSL_PROFILE_CORE;
+    } else {
+      *version = GST_GLSL_VERSION_150;
+      *profile = GST_GLSL_PROFILE_NONE;
+    }
+  } else if (gl_api & GST_GL_API_GLES2) {
+    /* We don't know which texture function to use if we have GLES3 and
+     * don't have the essl3 extension */
+    if (gl_major >= 3 && (to != GST_GL_TEXTURE_TARGET_EXTERNAL_OES
+            || gst_gl_context_check_feature (context,
+                "GL_OES_EGL_image_external_essl3"))) {
+      *version = GST_GLSL_VERSION_300;
+      *profile = GST_GLSL_PROFILE_ES;
+    } else if (gl_major >= 2) {
+      *version = GST_GLSL_VERSION_100;
+      *profile = GST_GLSL_PROFILE_ES;
+    }
+  } else if (gl_api & GST_GL_API_OPENGL) {
+    *version = GST_GLSL_VERSION_110;
+    *profile = GST_GLSL_PROFILE_COMPATIBILITY;
+  }
+}
+
+gchar *
+_gst_glsl_mangle_shader (const gchar * str, guint shader_type,
+    GstGLTextureTarget from, GstGLTextureTarget to, GstGLContext * context,
+    GstGLSLVersion * version, GstGLSLProfile * profile)
+{
+  gchar *tmp, *tmp2;
+
+  _init_debug ();
+
+  g_return_val_if_fail (GST_IS_GL_CONTEXT (context), NULL);
+
+  _mangle_version_profile_from_gl_api (context, from, to, version, profile);
+  tmp2 =
+      _mangle_external_image_extension (str, context, from, to, *version,
+      *profile);
+  tmp = _mangle_texture_access (tmp2, context, from, to, *version, *profile);
+  g_free (tmp2);
+  tmp2 = _mangle_sampler_type (tmp, from, to);
+  g_free (tmp);
+  tmp = _mangle_varying_attribute (tmp2, shader_type, *version, *profile);
+  g_free (tmp2);
+  if (shader_type == GL_FRAGMENT_SHADER) {
+    if ((*profile == GST_GLSL_PROFILE_ES && *version >= GST_GLSL_VERSION_300)
+        || (*profile == GST_GLSL_PROFILE_CORE
+            && *version >= GST_GLSL_VERSION_150)) {
+      tmp2 = _mangle_frag_color_data (tmp);
+      g_free (tmp);
+      tmp = tmp2;
+    }
+  }
+  return tmp;
+}
diff --git a/gst-libs/gst/gl/gstglsl_private.h b/gst-libs/gst/gl/gstglsl_private.h
index c1be677..755170d 100644
--- a/gst-libs/gst/gl/gstglsl_private.h
+++ b/gst-libs/gst/gl/gstglsl_private.h
@@ -58,6 +58,10 @@
 G_GNUC_INTERNAL gboolean _gst_glsl_funcs_fill (GstGLSLFuncs * vtable, GstGLContext * context);
 G_GNUC_INTERNAL const gchar * _gst_glsl_shader_string_find_version (const gchar * str);
 
+G_GNUC_INTERNAL gchar *
+_gst_glsl_mangle_shader (const gchar * str, guint shader_type, GstGLTextureTarget from,
+    GstGLTextureTarget to, GstGLContext * context, GstGLSLVersion * version, GstGLSLProfile * profile);
+
 G_END_DECLS
 
 #endif /* __GST_GLSL_PRIVATE_H__ */
diff --git a/gst-libs/gst/gl/gstglupload.c b/gst-libs/gst/gl/gstglupload.c
index 32e6150..e94195b 100644
--- a/gst-libs/gst/gl/gstglupload.c
+++ b/gst-libs/gst/gl/gstglupload.c
@@ -28,7 +28,7 @@
 #include "gstglupload.h"
 
 #if GST_GL_HAVE_PLATFORM_EGL
-#include "egl/gsteglimagememory.h"
+#include "egl/gstglmemoryegl.h"
 #endif
 
 #if GST_GL_HAVE_DMABUF
@@ -319,6 +319,17 @@
             upload->context));
     gst_query_add_allocation_param (query, allocator, &params);
     gst_object_unref (allocator);
+
+#if GST_GL_HAVE_PLATFORM_EGL
+    if (upload->upload->context
+        && gst_gl_context_get_gl_platform (upload->upload->context) ==
+        GST_GL_PLATFORM_EGL) {
+      allocator =
+          GST_ALLOCATOR (gst_allocator_find (GST_GL_MEMORY_EGL_ALLOCATOR_NAME));
+      gst_query_add_allocation_param (query, allocator, &params);
+      gst_object_unref (allocator);
+    }
+#endif
   }
 
   n_pools = gst_query_get_n_allocation_pools (query);
@@ -433,231 +444,12 @@
   &_gl_memory_upload_free
 };
 
-#if GST_GL_HAVE_PLATFORM_EGL
-struct EGLImageUpload
-{
-  GstGLUpload *upload;
-  GstBuffer *buffer;
-  GstBuffer **outbuf;
-  GstGLVideoAllocationParams *params;
-};
-
-static gpointer
-_egl_image_upload_new (GstGLUpload * upload)
-{
-  struct EGLImageUpload *image = g_new0 (struct EGLImageUpload, 1);
-
-  image->upload = upload;
-
-  return image;
-}
-
-static GstCaps *
-_egl_image_upload_transform_caps (GstGLContext * context,
-    GstPadDirection direction, GstCaps * caps)
-{
-  GstCapsFeatures *passthrough =
-      gst_caps_features_from_string
-      (GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
-  GstCaps *ret;
-
-  if (direction == GST_PAD_SINK) {
-    GstCaps *tmp;
-
-    ret =
-        _set_caps_features_with_passthrough (caps,
-        GST_CAPS_FEATURE_MEMORY_GL_MEMORY, passthrough);
-
-    tmp = _caps_intersect_texture_target (ret, 1 << GST_GL_TEXTURE_TARGET_2D);
-    gst_caps_unref (ret);
-    ret = tmp;
-  } else {
-    gint i, n;
-
-    ret =
-        _set_caps_features_with_passthrough (caps,
-        GST_CAPS_FEATURE_MEMORY_EGL_IMAGE, passthrough);
-    gst_caps_set_simple (ret, "format", G_TYPE_STRING, "RGBA", NULL);
-
-    n = gst_caps_get_size (ret);
-    for (i = 0; i < n; i++) {
-      GstStructure *s = gst_caps_get_structure (ret, i);
-
-      gst_structure_remove_fields (s, "texture-target", NULL);
-    }
-  }
-
-  gst_caps_features_free (passthrough);
-
-  return ret;
-}
-
-static gboolean
-_egl_image_upload_accept (gpointer impl, GstBuffer * buffer, GstCaps * in_caps,
-    GstCaps * out_caps)
-{
-  struct EGLImageUpload *image = impl;
-  GstCapsFeatures *features;
-  gboolean ret = TRUE;
-  int i;
-
-  features = gst_caps_get_features (in_caps, 0);
-  if (!gst_caps_features_contains (features, GST_CAPS_FEATURE_MEMORY_EGL_IMAGE))
-    ret = FALSE;
-
-  features = gst_caps_get_features (out_caps, 0);
-  if (!gst_caps_features_contains (features, GST_CAPS_FEATURE_MEMORY_GL_MEMORY))
-    ret = FALSE;
-
-  if (!ret)
-    return FALSE;
-
-  if (image->params)
-    gst_gl_allocation_params_free ((GstGLAllocationParams *) image->params);
-  if (!(image->params =
-          gst_gl_video_allocation_params_new (image->upload->context, NULL,
-              &image->upload->priv->in_info, -1, NULL,
-              GST_GL_TEXTURE_TARGET_2D)))
-    return FALSE;
-
-  if (buffer) {
-    GstVideoInfo *in_info = &image->upload->priv->in_info;
-    guint expected_memories = GST_VIDEO_INFO_N_PLANES (in_info);
-
-    /* Support stereo views for separated multiview mode */
-    if (GST_VIDEO_INFO_MULTIVIEW_MODE (in_info) ==
-        GST_VIDEO_MULTIVIEW_MODE_SEPARATED)
-      expected_memories *= GST_VIDEO_INFO_VIEWS (in_info);
-
-    if (gst_buffer_n_memory (buffer) != expected_memories)
-      return FALSE;
-
-    for (i = 0; i < expected_memories; i++) {
-      GstMemory *mem = gst_buffer_peek_memory (buffer, i);
-
-      if (!gst_is_egl_image_memory (mem))
-        return FALSE;
-    }
-  }
-
-  return TRUE;
-}
-
-static void
-_egl_image_upload_propose_allocation (gpointer impl, GstQuery * decide_query,
-    GstQuery * query)
-{
-  struct EGLImageUpload *image = impl;
-  GstCaps *caps;
-  GstCapsFeatures *features;
-
-  gst_query_parse_allocation (query, &caps, NULL);
-  features = gst_caps_get_features (caps, 0);
-
-  /* Only offer our custom allocator if that type of memory was negotiated. */
-  if (gst_caps_features_contains (features,
-          GST_CAPS_FEATURE_MEMORY_EGL_IMAGE) &&
-      gst_gl_context_check_feature (image->upload->context,
-          "EGL_KHR_image_base")) {
-    GstAllocationParams params;
-    GstAllocator *allocator;
-
-    gst_allocation_params_init (&params);
-
-    allocator = gst_allocator_find (GST_EGL_IMAGE_MEMORY_TYPE);
-    gst_query_add_allocation_param (query, allocator, &params);
-    gst_object_unref (allocator);
-  }
-}
-
-static void
-_egl_image_upload_perform_gl_thread (GstGLContext * context,
-    struct EGLImageUpload *image)
-{
-  GstGLMemoryAllocator *allocator;
-  guint i, n;
-
-  allocator =
-      GST_GL_MEMORY_ALLOCATOR (gst_allocator_find
-      (GST_GL_MEMORY_PBO_ALLOCATOR_NAME));
-
-  /* FIXME: buffer pool */
-  *image->outbuf = gst_buffer_new ();
-  gst_gl_memory_setup_buffer (allocator, *image->outbuf, image->params);
-  gst_object_unref (allocator);
-
-  n = gst_buffer_n_memory (image->buffer);
-  for (i = 0; i < n; i++) {
-    GstMemory *mem = gst_buffer_peek_memory (image->buffer, i);
-    GstGLMemory *out_gl_mem =
-        (GstGLMemory *) gst_buffer_peek_memory (*image->outbuf, i);
-    const GstGLFuncs *gl = NULL;
-
-    gl = GST_GL_CONTEXT (((GstEGLImageMemory *) mem)->context)->gl_vtable;
-
-    gl->ActiveTexture (GL_TEXTURE0 + i);
-    gl->BindTexture (GL_TEXTURE_2D, out_gl_mem->tex_id);
-    gl->EGLImageTargetTexture2D (GL_TEXTURE_2D,
-        gst_egl_image_memory_get_image (mem));
-  }
-
-  if (GST_IS_GL_BUFFER_POOL (image->buffer->pool))
-    gst_gl_buffer_pool_replace_last_buffer (GST_GL_BUFFER_POOL (image->
-            buffer->pool), image->buffer);
-}
-
-static GstGLUploadReturn
-_egl_image_upload_perform (gpointer impl, GstBuffer * buffer,
-    GstBuffer ** outbuf)
-{
-  struct EGLImageUpload *image = impl;
-
-  image->buffer = buffer;
-  image->outbuf = outbuf;
-
-  gst_gl_context_thread_add (image->upload->context,
-      (GstGLContextThreadFunc) _egl_image_upload_perform_gl_thread, image);
-
-  if (!*image->outbuf)
-    return GST_GL_UPLOAD_ERROR;
-
-  return GST_GL_UPLOAD_DONE;
-}
-
-static void
-_egl_image_upload_free (gpointer impl)
-{
-  struct EGLImageUpload *image = impl;
-
-  if (image->params)
-    gst_gl_allocation_params_free ((GstGLAllocationParams *) image->params);
-
-  g_free (impl);
-}
-
-static GstStaticCaps _egl_image_upload_caps =
-GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE_WITH_FEATURES
-    (GST_CAPS_FEATURE_MEMORY_EGL_IMAGE, "RGBA"));
-
-static const UploadMethod _egl_image_upload = {
-  "EGLImage",
-  0,
-  &_egl_image_upload_caps,
-  &_egl_image_upload_new,
-  &_egl_image_upload_transform_caps,
-  &_egl_image_upload_accept,
-  &_egl_image_upload_propose_allocation,
-  &_egl_image_upload_perform,
-  &_egl_image_upload_free
-};
-#endif /* GST_GL_HAVE_PLATFORM_EGL */
-
 #if GST_GL_HAVE_DMABUF
 struct DmabufUpload
 {
   GstGLUpload *upload;
 
-  GstMemory *eglimage[GST_VIDEO_MAX_PLANES];
+  GstEGLImage *eglimage[GST_VIDEO_MAX_PLANES];
   GstBuffer *outbuf;
   GstGLVideoAllocationParams *params;
 };
@@ -729,7 +521,7 @@
   return quark[plane];
 }
 
-static GstMemory *
+static GstEGLImage *
 _get_cached_eglimage (GstMemory * mem, gint plane)
 {
   return gst_mini_object_get_qdata (GST_MINI_OBJECT (mem),
@@ -737,10 +529,10 @@
 }
 
 static void
-_set_cached_eglimage (GstMemory * mem, GstMemory * eglimage, gint plane)
+_set_cached_eglimage (GstMemory * mem, GstEGLImage * eglimage, gint plane)
 {
   return gst_mini_object_set_qdata (GST_MINI_OBJECT (mem),
-      _eglimage_quark (plane), eglimage, (GDestroyNotify) gst_memory_unref);
+      _eglimage_quark (plane), eglimage, (GDestroyNotify) gst_egl_image_unref);
 }
 
 static gboolean
@@ -790,9 +582,9 @@
   if (dmabuf->params)
     gst_gl_allocation_params_free ((GstGLAllocationParams *) dmabuf->params);
   if (!(dmabuf->params =
-          gst_gl_video_allocation_params_new (dmabuf->upload->context, NULL,
-              &dmabuf->upload->priv->in_info, -1, NULL,
-              GST_GL_TEXTURE_TARGET_2D)))
+          gst_gl_video_allocation_params_new_wrapped_gl_handle (dmabuf->
+              upload->context, NULL, &dmabuf->upload->priv->in_info, -1, NULL,
+              GST_GL_TEXTURE_TARGET_2D, 0, NULL, NULL, NULL)))
     return FALSE;
 
   /* Find and validate all memories */
@@ -826,7 +618,7 @@
 
     /* otherwise create one and cache it */
     dmabuf->eglimage[i] =
-        gst_egl_image_memory_from_dmabuf (dmabuf->upload->context,
+        gst_egl_image_from_dmabuf (dmabuf->upload->context,
         gst_dmabuf_memory_get_fd (mems[i]), in_info, i, mems_skip[i]);
 
     if (!dmabuf->eglimage[i])
@@ -850,35 +642,16 @@
     struct DmabufUpload *dmabuf)
 {
   GstGLMemoryAllocator *allocator;
-  guint i, n;
 
   allocator =
       GST_GL_MEMORY_ALLOCATOR (gst_allocator_find
-      (GST_GL_MEMORY_PBO_ALLOCATOR_NAME));
+      (GST_GL_MEMORY_EGL_ALLOCATOR_NAME));
 
   /* FIXME: buffer pool */
   dmabuf->outbuf = gst_buffer_new ();
-  gst_gl_memory_setup_buffer (allocator, dmabuf->outbuf, dmabuf->params);
+  gst_gl_memory_setup_buffer (allocator, dmabuf->outbuf, dmabuf->params, NULL,
+      (gpointer *) dmabuf->eglimage, gst_buffer_n_memory (dmabuf->outbuf));
   gst_object_unref (allocator);
-
-  n = gst_buffer_n_memory (dmabuf->outbuf);
-  for (i = 0; i < n; i++) {
-    const GstGLFuncs *gl = NULL;
-    GstGLMemory *gl_mem =
-        (GstGLMemory *) gst_buffer_peek_memory (dmabuf->outbuf, i);
-
-    if (!dmabuf->eglimage[i]) {
-      g_clear_pointer (&dmabuf->outbuf, gst_buffer_unref);
-      return;
-    }
-
-    gl = GST_GL_CONTEXT (((GstEGLImageMemory *) gl_mem)->context)->gl_vtable;
-
-    gl->ActiveTexture (GL_TEXTURE0 + i);
-    gl->BindTexture (GL_TEXTURE_2D, gl_mem->tex_id);
-    gl->EGLImageTargetTexture2D (GL_TEXTURE_2D,
-        gst_egl_image_memory_get_image (dmabuf->eglimage[i]));
-  }
 }
 
 static GstGLUploadReturn
@@ -1012,7 +785,7 @@
   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)))
+              GST_GL_TEXTURE_TARGET_2D, 0)))
     return FALSE;
 
   if (buffer) {
@@ -1103,7 +876,8 @@
 
   /* FIXME: buffer pool */
   *outbuf = gst_buffer_new ();
-  gst_gl_memory_setup_buffer (allocator, *outbuf, upload->params);
+  gst_gl_memory_setup_buffer (allocator, *outbuf, upload->params, NULL, NULL,
+      0);
   gst_object_unref (allocator);
 
   for (i = 0; i < GST_GL_UPLOAD_MAX_PLANES; i++) {
@@ -1137,16 +911,9 @@
 _upload_meta_upload_free (gpointer impl)
 {
   struct GLUploadMeta *upload = impl;
-  gint i;
 
   g_return_if_fail (impl != NULL);
 
-  for (i = 0; i < GST_GL_UPLOAD_MAX_PLANES; i++) {
-    if (upload->texture_ids[i])
-      gst_gl_context_del_texture (upload->upload->context,
-          &upload->texture_ids[i]);
-  }
-
   if (upload->params)
     gst_gl_allocation_params_free ((GstGLAllocationParams *) upload->params);
 
@@ -1301,7 +1068,7 @@
   if (!(raw->params =
           gst_gl_video_allocation_params_new_wrapped_data (raw->upload->context,
               NULL, &raw->upload->priv->in_info, -1, NULL,
-              GST_GL_TEXTURE_TARGET_2D, NULL, raw->in_frame,
+              GST_GL_TEXTURE_TARGET_2D, 0, NULL, raw->in_frame,
               (GDestroyNotify) _raw_upload_frame_unref)))
     return FALSE;
 
@@ -1337,6 +1104,9 @@
 
     raw->params->parent.wrapped_data = raw->in_frame->frame.data[i];
     raw->params->plane = i;
+    raw->params->tex_type =
+        gst_gl_texture_type_from_format (raw->upload->context,
+        GST_VIDEO_INFO_FORMAT (in_info), i);
 
     tex =
         gst_gl_base_memory_alloc (allocator,
@@ -1385,9 +1155,6 @@
 };
 
 static const UploadMethod *upload_methods[] = { &_gl_memory_upload,
-#if GST_GL_HAVE_PLATFORM_EGL
-  &_egl_image_upload,
-#endif
 #if GST_GL_HAVE_DMABUF
   &_dma_buf_upload,
 #endif
diff --git a/gst-libs/gst/gl/gstglutils.c b/gst-libs/gst/gl/gstglutils.c
index e2e04e4..ade2f95 100644
--- a/gst-libs/gst/gl/gstglutils.c
+++ b/gst-libs/gst/gl/gstglutils.c
@@ -98,187 +98,6 @@
   return FALSE;
 }
 
-typedef struct _GenTexture
-{
-  guint width, height;
-  GstVideoFormat format;
-  guint result;
-} GenTexture;
-
-static void
-_gen_texture (GstGLContext * context, GenTexture * data)
-{
-  const GstGLFuncs *gl = context->gl_vtable;
-  GLenum internal_format;
-
-  GST_TRACE ("Generating texture format:%u dimensions:%ux%u", data->format,
-      data->width, data->height);
-
-  gl->GenTextures (1, &data->result);
-  gl->BindTexture (GL_TEXTURE_2D, data->result);
-
-  internal_format =
-      gst_gl_sized_gl_format_from_gl_format_type (context, GL_RGBA,
-      GL_UNSIGNED_BYTE);
-  if (data->width > 0 && data->height > 0)
-    gl->TexImage2D (GL_TEXTURE_2D, 0, internal_format,
-        data->width, data->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);
-
-  GST_LOG ("generated texture id:%d", data->result);
-}
-
-/* deprecated. replaced by GstGLMemory */
-void
-gst_gl_context_gen_texture (GstGLContext * context, GLuint * pTexture,
-    GstVideoFormat v_format, GLint width, GLint height)
-{
-  GenTexture data = { width, height, v_format, 0 };
-
-  gst_gl_context_thread_add (context, (GstGLContextThreadFunc) _gen_texture,
-      &data);
-
-  *pTexture = data.result;
-}
-
-static void
-_del_texture (GstGLContext * context, guint * texture)
-{
-  context->gl_vtable->DeleteTextures (1, texture);
-}
-
-/* deprecated. replaced by GstGLMemory */
-void
-gst_gl_context_del_texture (GstGLContext * context, GLuint * pTexture)
-{
-  gst_gl_context_thread_add (context, (GstGLContextThreadFunc) _del_texture,
-      pTexture);
-}
-
-typedef struct _GenTextureFull
-{
-  const GstVideoInfo *info;
-  const gint comp;
-  guint result;
-} GenTextureFull;
-
-static void
-_gen_texture_full (GstGLContext * context, GenTextureFull * data)
-{
-  const GstGLFuncs *gl = context->gl_vtable;
-  GstVideoGLTextureType tex_type;
-  GstVideoFormat v_format;
-  GLint glinternalformat = 0;
-  GLenum glformat = 0;
-  GLenum gltype = 0;
-
-  gl->GenTextures (1, &data->result);
-  gl->BindTexture (GL_TEXTURE_2D, data->result);
-
-  v_format = GST_VIDEO_INFO_FORMAT (data->info);
-  tex_type = gst_gl_texture_type_from_format (context, v_format, data->comp);
-  glformat = gst_gl_format_from_gl_texture_type (tex_type);
-  gltype = GL_UNSIGNED_BYTE;
-  if (v_format == GST_VIDEO_FORMAT_RGB16)
-    gltype = GL_UNSIGNED_SHORT_5_6_5;
-  glinternalformat = gst_gl_sized_gl_format_from_gl_format_type (context,
-      glformat, gltype);
-
-  gl->TexImage2D (GL_TEXTURE_2D, 0, glinternalformat,
-      GST_VIDEO_INFO_COMP_WIDTH (data->info, data->comp),
-      GST_VIDEO_INFO_COMP_HEIGHT (data->info, data->comp), 0, glformat, gltype,
-      NULL);
-
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_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);
-}
-
-/* deprecated. replaced by GstGLMemory */
-void
-gst_gl_generate_texture_full (GstGLContext * context, const GstVideoInfo * info,
-    const guint comp, gint stride[], gsize offset[], gsize size[],
-    GLuint * pTexture)
-{
-  GenTextureFull data = { info, comp, 0 };
-
-  switch (GST_VIDEO_INFO_FORMAT (info)) {
-    case GST_VIDEO_FORMAT_RGB:
-    case GST_VIDEO_FORMAT_BGR:
-    {
-      stride[0] = GST_ROUND_UP_4 (GST_VIDEO_INFO_WIDTH (info) * 3);
-      offset[0] = 0;
-      size[0] = stride[0] * GST_VIDEO_INFO_HEIGHT (info);
-      break;
-    }
-    case GST_VIDEO_FORMAT_RGB16:
-    {
-      stride[0] = GST_ROUND_UP_4 (GST_VIDEO_INFO_WIDTH (info) * 2);
-      offset[0] = 0;
-      size[0] = stride[0] * GST_VIDEO_INFO_HEIGHT (info);
-      break;
-    }
-    case GST_VIDEO_FORMAT_RGBA:
-    case GST_VIDEO_FORMAT_BGRA:
-    case GST_VIDEO_FORMAT_ARGB:
-    case GST_VIDEO_FORMAT_ABGR:
-    case GST_VIDEO_FORMAT_RGBx:
-    case GST_VIDEO_FORMAT_BGRx:
-    case GST_VIDEO_FORMAT_xRGB:
-    case GST_VIDEO_FORMAT_xBGR:
-    case GST_VIDEO_FORMAT_AYUV:
-    {
-      stride[0] = GST_ROUND_UP_4 (GST_VIDEO_INFO_WIDTH (info) * 4);
-      offset[0] = 0;
-      size[0] = stride[0] * GST_VIDEO_INFO_HEIGHT (info);
-      break;
-    }
-    case GST_VIDEO_FORMAT_NV12:
-    case GST_VIDEO_FORMAT_NV21:
-    {
-      size[comp] = stride[comp] * GST_VIDEO_INFO_COMP_HEIGHT (info, comp);
-      if (comp == 0) {
-        stride[0] = GST_ROUND_UP_4 (GST_VIDEO_INFO_COMP_WIDTH (info, 1));
-        offset[0] = 0;
-      } else {
-        stride[1] = GST_ROUND_UP_4 (GST_VIDEO_INFO_COMP_WIDTH (info, 1) * 2);
-        offset[1] = size[0];
-      }
-      break;
-    }
-    case GST_VIDEO_FORMAT_I420:
-    case GST_VIDEO_FORMAT_YV12:
-    case GST_VIDEO_FORMAT_Y444:
-    case GST_VIDEO_FORMAT_Y42B:
-    case GST_VIDEO_FORMAT_Y41B:
-    {
-      stride[comp] = GST_ROUND_UP_4 (GST_VIDEO_INFO_COMP_WIDTH (info, comp));
-      size[comp] = stride[comp] * GST_VIDEO_INFO_COMP_HEIGHT (info, comp);
-      if (comp == 0)
-        offset[0] = 0;
-      else if (comp == 1)
-        offset[1] = size[0];
-      else
-        offset[2] = offset[1] + size[1];
-      break;
-    }
-    default:
-      GST_WARNING ("unsupported %s",
-          gst_video_format_to_string (GST_VIDEO_INFO_FORMAT (info)));
-      break;
-  }
-
-  gst_gl_context_thread_add (context,
-      (GstGLContextThreadFunc) _gen_texture_full, &data);
-
-  *pTexture = data.result;
-}
-
 typedef struct _GenFBO
 {
   GstGLFramebuffer *frame;
@@ -1067,3 +886,63 @@
     return ret;
   }
 }
+
+static const gfloat identity_matrix[] = {
+  1.0f, 0.0f, 0.0, 0.0f,
+  0.0f, 1.0f, 0.0, 0.0f,
+  0.0f, 0.0f, 1.0, 0.0f,
+  0.0f, 0.0f, 0.0, 1.0f,
+};
+
+static const gfloat from_ndc_matrix[] = {
+  0.5f, 0.0f, 0.0, 0.5f,
+  0.0f, 0.5f, 0.0, 0.5f,
+  0.0f, 0.0f, 0.5, 0.5f,
+  0.0f, 0.0f, 0.0, 1.0f,
+};
+
+static const gfloat to_ndc_matrix[] = {
+  2.0f, 0.0f, 0.0, -1.0f,
+  0.0f, 2.0f, 0.0, -1.0f,
+  0.0f, 0.0f, 2.0, -1.0f,
+  0.0f, 0.0f, 0.0, 1.0f,
+};
+
+void
+gst_gl_multiply_matrix4 (const gfloat * a, const gfloat * b, gfloat * result)
+{
+  int i, j, k;
+  gfloat tmp[16] = { 0.0f };
+
+  if (!a || !b || !result)
+    return;
+
+  for (i = 0; i < 4; i++) {
+    for (j = 0; j < 4; j++) {
+      for (k = 0; k < 4; k++) {
+        tmp[i + (j * 4)] += a[i + (k * 4)] * b[k + (j * 4)];
+      }
+    }
+  }
+
+  for (i = 0; i < 16; i++)
+    result[i] = tmp[i];
+}
+
+void
+gst_gl_get_affine_transformation_meta_as_ndc (GstVideoAffineTransformationMeta *
+    meta, gfloat * matrix)
+{
+  if (!meta) {
+    int i;
+
+    for (i = 0; i < 16; i++) {
+      matrix[i] = identity_matrix[i];
+    }
+  } else {
+    gfloat tmp[16] = { 0.0f };
+
+    gst_gl_multiply_matrix4 (from_ndc_matrix, meta->matrix, tmp);
+    gst_gl_multiply_matrix4 (tmp, to_ndc_matrix, matrix);
+  }
+}
diff --git a/gst-libs/gst/gl/gstglutils.h b/gst-libs/gst/gl/gstglutils.h
index 1c5ab12..4741dad 100644
--- a/gst-libs/gst/gl/gstglutils.h
+++ b/gst-libs/gst/gl/gstglutils.h
@@ -22,6 +22,7 @@
 #define __GST_GL_UTILS_H__
 
 #include <gst/video/video.h>
+#include <gst/video/gstvideoaffinetransformationmeta.h>
 
 #include <gst/gl/gstgl_fwd.h>
 
@@ -67,16 +68,6 @@
  */
 typedef void (*GLCB_V2) (gpointer stuff);
 
-/* deprecated. replaced by GstGLMemory */
-void gst_gl_context_gen_texture (GstGLContext * context, GLuint * pTexture,
-    GstVideoFormat v_format, GLint width, GLint height);
-/* deprecated. replaced by GstGLMemory */
-void gst_gl_context_del_texture (GstGLContext * context, GLuint * pTexture);
-
-/* deprecated. replaced by GstGLMemory */
-void gst_gl_generate_texture_full (GstGLContext * context, const GstVideoInfo * info,
-    const guint comp, gint stride[], gsize offset[], gsize size[], GLuint * pTexture);
-
 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,
@@ -116,6 +107,10 @@
 gboolean gst_gl_value_set_texture_target (GValue * value, GstGLTextureTarget target);
 GstGLTextureTarget gst_gl_value_get_texture_target_mask (const GValue * value);
 
+void gst_gl_multiply_matrix4 (const gfloat * a, const gfloat * b, gfloat * result);
+void gst_gl_get_affine_transformation_meta_as_ndc (GstVideoAffineTransformationMeta *
+    meta, gfloat * matrix);
+
 G_END_DECLS
 
 #endif /* __GST_GL_UTILS_H__ */
diff --git a/gst-libs/gst/gl/gstglviewconvert.c b/gst-libs/gst/gl/gstglviewconvert.c
index 7d44860..0697891 100644
--- a/gst-libs/gst/gl/gstglviewconvert.c
+++ b/gst-libs/gst/gl/gstglviewconvert.c
@@ -31,6 +31,7 @@
 #endif
 
 #include "gstglviewconvert.h"
+#include "gstglsl_private.h"
 #include <gst/video/gstvideoaffinetransformationmeta.h>
 
 #define USING_OPENGL(context) (gst_gl_context_check_gl_version (context, GST_GL_API_OPENGL, 1, 0))
@@ -152,27 +153,20 @@
   0.0f, 0.0f, 0.0f, 1.0f,
 };
 
+#define glsl_OES_extension_string "#extension GL_OES_EGL_image_external : require \n"
+
 /* *INDENT-OFF* */
-static const gchar *fragment_source =
+static const gchar *fragment_header =
   "#ifdef GL_ES\n"
   "precision mediump float;\n"
   "#endif\n"
-  "varying vec2 v_texcoord;\n"
   "uniform sampler2D tex_l;\n"
   "uniform sampler2D tex_r;\n"
   "uniform float width;\n"
   "uniform float height;\n"
   "uniform mat3 downmix[2];\n"
   "uniform vec2 tex_scale[2];\n"
-  "uniform vec2 offsets[2];\n"
-  "void main () {\n"
-  "vec4 l, r;\n"
-  /* input */
-  "%s"
-  /* now have left and right pixel into l and r */
-  /* output */
-  "%s"
-  "}\n";
+  "uniform vec2 offsets[2];\n";
 
 static const gchar *frag_input =
   "  vec2 l_tex = v_texcoord * tex_scale[0] + offsets[0];\n"
@@ -1459,111 +1453,17 @@
   return ret;
 }
 
-static gchar *
-_mangle_texture_access (const gchar * str, GstGLTextureTarget from,
-    GstGLTextureTarget to)
-{
-  const gchar *from_str = NULL, *to_str = NULL;
-  gchar *ret, *tmp;
-  gchar *regex_find;
-  GRegex *regex;
-
-  if (from == GST_GL_TEXTURE_TARGET_2D)
-    from_str = "texture2D";
-  if (from == GST_GL_TEXTURE_TARGET_RECTANGLE)
-    from_str = "texture2DRect";
-  if (from == GST_GL_TEXTURE_TARGET_EXTERNAL_OES)
-    from_str = "texture2D";
-
-  if (to == GST_GL_TEXTURE_TARGET_2D)
-    to_str = "texture2D";
-  if (to == GST_GL_TEXTURE_TARGET_RECTANGLE)
-    to_str = "texture2DRect";
-  if (to == GST_GL_TEXTURE_TARGET_EXTERNAL_OES)
-    to_str = "texture2D";
-
-  /* followed by any amount of whitespace then a bracket */
-  regex_find = g_strdup_printf ("%s(?=\\s*\\()", from_str);
-  regex = g_regex_new (regex_find, 0, 0, NULL);
-  tmp = g_regex_replace_literal (regex, str, -1, 0, to_str, 0, NULL);
-  g_free (regex_find);
-  g_regex_unref (regex);
-
-  if (tmp) {
-    ret = tmp;
-  } else {
-    GST_FIXME ("Couldn't mangle texture access successfully from %s to %s",
-        from_str, to_str);
-    ret = g_strdup (str);
-  }
-
-  return ret;
-}
-
-static gchar *
-_mangle_sampler_type (const gchar * str, GstGLTextureTarget from,
-    GstGLTextureTarget to)
-{
-  const gchar *from_str = NULL, *to_str = NULL;
-  gchar *ret, *tmp;
-  gchar *regex_find;
-  GRegex *regex;
-
-  if (from == GST_GL_TEXTURE_TARGET_2D)
-    from_str = "sampler2D";
-  if (from == GST_GL_TEXTURE_TARGET_RECTANGLE)
-    from_str = "sampler2DRect";
-  if (from == GST_GL_TEXTURE_TARGET_EXTERNAL_OES)
-    from_str = "samplerExternalOES";
-
-  if (to == GST_GL_TEXTURE_TARGET_2D)
-    to_str = "sampler2D";
-  if (to == GST_GL_TEXTURE_TARGET_RECTANGLE)
-    to_str = "sampler2DRect";
-  if (to == GST_GL_TEXTURE_TARGET_EXTERNAL_OES)
-    to_str = "samplerExternalOES";
-
-  /* followed by some whitespace  */
-  regex_find = g_strdup_printf ("%s(?=\\s)", from_str);
-  regex = g_regex_new (regex_find, 0, 0, NULL);
-  tmp = g_regex_replace_literal (regex, str, -1, 0, to_str, 0, NULL);
-  g_free (regex_find);
-  g_regex_unref (regex);
-
-  if (tmp) {
-    ret = tmp;
-  } else {
-    GST_FIXME ("Couldn't mangle sampler type successfully from %s to %s",
-        from_str, to_str);
-    ret = g_strdup (str);
-  }
-
-  return ret;
-}
-
-static gchar *
-_mangle_extensions (const gchar * str, GstGLTextureTarget from)
-{
-  const gchar *ext_str = NULL;
-
-  if (from == GST_GL_TEXTURE_TARGET_EXTERNAL_OES)
-    ext_str = "#extension GL_OES_EGL_image_external : require\n";
-
-  if (ext_str) {
-    return g_strdup_printf ("%s%s", ext_str, str);
-  } else {
-    return g_strdup (str);
-  }
-}
-
 /* free after use */
 static gchar *
-_get_shader_string (GstGLViewConvert * viewconvert,
-    GstVideoMultiviewMode in_mode, GstVideoMultiviewMode out_mode)
+_get_shader_string (GstGLViewConvert * viewconvert, GstGLShader * shader,
+    GstVideoMultiviewMode in_mode, GstVideoMultiviewMode out_mode,
+    GstGLSLVersion version, GstGLSLProfile profile)
 {
   const gchar *input_str, *output_str;
   gboolean mono_input = FALSE;
   gchar *tmp, *tmp2;
+  GString *str = g_string_new (NULL);
+  guint n_outputs = 1;
 
   switch (in_mode) {
     case GST_VIDEO_MULTIVIEW_MODE_NONE:
@@ -1601,6 +1501,7 @@
     case GST_VIDEO_MULTIVIEW_MODE_SEPARATED:
     case GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME:
       output_str = frag_output_separated;
+      n_outputs = 2;
       break;
     case GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD:
       output_str = frag_output_checkerboard;
@@ -1615,15 +1516,65 @@
       break;
   }
 
-  tmp = g_strdup_printf (fragment_source, input_str, output_str);
-  tmp2 = _mangle_sampler_type (tmp, GST_GL_TEXTURE_TARGET_2D,
-      viewconvert->from_texture_target);
-  g_free (tmp);
-  tmp = _mangle_texture_access (tmp2, GST_GL_TEXTURE_TARGET_2D,
-      viewconvert->from_texture_target);
-  g_free (tmp2);
-  tmp2 = _mangle_extensions (tmp, viewconvert->from_texture_target);
-  g_free (tmp);
+  if (viewconvert->from_texture_target == GST_GL_TEXTURE_TARGET_EXTERNAL_OES)
+    g_string_append (str, glsl_OES_extension_string);
+
+  g_string_append (str, fragment_header);
+
+  /* GL 3.3+ and GL ES 3.x */
+  if ((profile == GST_GLSL_PROFILE_CORE && version >= GST_GLSL_VERSION_330)
+      || (profile == GST_GLSL_PROFILE_ES && version >= GST_GLSL_VERSION_300)) {
+    if (n_outputs > 1) {
+      gint i;
+
+      for (i = 0; i < n_outputs; i++) {
+        g_string_append_printf (str,
+            "layout(location = %d) out vec4 fragColor_%d;\n", i, i);
+      }
+    } else {
+      g_string_append (str, "layout (location = 0) out vec4 fragColor;\n");
+    }
+  } else if (profile == GST_GLSL_PROFILE_CORE
+      && version >= GST_GLSL_VERSION_150) {
+    /* no layout specifiers, use glBindFragDataLocation instead */
+    if (n_outputs > 1) {
+      gint i;
+
+      for (i = 0; i < n_outputs; i++) {
+        gchar *var_name = g_strdup_printf ("fragColor_%d", i);
+        g_string_append_printf (str, "out vec4 %s;\n", var_name);
+        gst_gl_shader_bind_frag_data_location (shader, i, var_name);
+        g_free (var_name);
+      }
+    } else {
+      g_string_append (str, "out vec4 fragColor;\n");
+      gst_gl_shader_bind_frag_data_location (shader, 0, "fragColor");
+    }
+  }
+
+  {
+    const gchar *varying = NULL;
+
+    if ((profile == GST_GLSL_PROFILE_ES && version >= GST_GLSL_VERSION_300)
+        || (profile == GST_GLSL_PROFILE_CORE
+            && version >= GST_GLSL_VERSION_150)) {
+      varying = "in";
+    } else {
+      varying = "varying";
+    }
+    g_string_append_printf (str,
+        "\n%s vec2 v_texcoord;\nvoid main() {\nvec4 l, r;\n", varying);
+  }
+
+  g_string_append (str, input_str);
+  g_string_append (str, output_str);
+  g_string_append (str, "\n}");
+  tmp = g_string_free (str, FALSE);
+
+  tmp2 =
+      _gst_glsl_mangle_shader (tmp, GL_FRAGMENT_SHADER,
+      GST_GL_TEXTURE_TARGET_2D, viewconvert->from_texture_target,
+      viewconvert->context, &version, &profile);
 
   return tmp2;
 }
@@ -1673,7 +1624,6 @@
   };
   gchar *fragment_source_str;
   GstGLFuncs *gl;
-  gboolean res;
   gint l_index, r_index;
 
   gl = viewconvert->context->gl_vtable;
@@ -1774,13 +1724,70 @@
       tex_scale[0][0], tex_scale[0][1],
       tex_scale[1][0], tex_scale[1][1],
       offsets[0][0], offsets[0][1], offsets[1][0], offsets[1][1]);
-  fragment_source_str = _get_shader_string (viewconvert, in_mode, out_mode);
-  res = gst_gl_context_gen_shader (viewconvert->context,
-      gst_gl_shader_string_vertex_mat4_texture_transform, fragment_source_str,
-      &viewconvert->shader);
-  g_free (fragment_source_str);
-  if (!res)
-    goto error;
+
+  viewconvert->shader = gst_gl_shader_new (viewconvert->context);
+  {
+    GstGLSLVersion version;
+    GstGLSLProfile profile;
+    GstGLSLStage *vert, *frag;
+    gchar *tmp, *tmp1, *version_str;
+    const gchar *strings[2];
+    GError *error = NULL;
+
+    tmp =
+        _gst_glsl_mangle_shader
+        (gst_gl_shader_string_vertex_mat4_vertex_transform, GL_VERTEX_SHADER,
+        GST_GL_TEXTURE_TARGET_2D, viewconvert->from_texture_target,
+        viewconvert->context, &version, &profile);
+
+    tmp1 = gst_glsl_version_profile_to_string (version, profile);
+    version_str = g_strdup_printf ("#version %s\n", tmp1);
+    g_free (tmp1);
+    strings[0] = version_str;
+
+    strings[1] = tmp;
+    vert =
+        gst_glsl_stage_new_with_strings (viewconvert->context,
+        GL_VERTEX_SHADER, version, profile, 2, strings);
+    g_free (tmp);
+
+    if (!gst_gl_shader_compile_attach_stage (viewconvert->shader, vert, &error)) {
+      GST_ERROR_OBJECT (viewconvert, "Failed to compile vertex stage %s",
+          error->message);
+      gst_object_unref (viewconvert->shader);
+      viewconvert->shader = NULL;
+      g_free (version_str);
+      goto error;
+    }
+
+    fragment_source_str = _get_shader_string (viewconvert, viewconvert->shader,
+        in_mode, out_mode, version, profile);
+    strings[1] = fragment_source_str;
+
+    frag =
+        gst_glsl_stage_new_with_strings (viewconvert->context,
+        GL_FRAGMENT_SHADER, version, profile, 2, strings);
+    g_free (version_str);
+
+    if (!gst_gl_shader_compile_attach_stage (viewconvert->shader, frag, &error)) {
+      GST_ERROR_OBJECT (viewconvert, "Failed to compile fragment stage %s",
+          error->message);
+      g_free (fragment_source_str);
+      gst_object_unref (viewconvert->shader);
+      viewconvert->shader = NULL;
+      goto error;
+    }
+    g_free (fragment_source_str);
+
+    if (!gst_gl_shader_link (viewconvert->shader, &error)) {
+      GST_ERROR_OBJECT (viewconvert, "Failed to link conversion shader %s",
+          error->message);
+      gst_object_unref (viewconvert->shader);
+      viewconvert->shader = NULL;
+      goto error;
+    }
+  }
+
   viewconvert->priv->attr_position =
       gst_gl_shader_get_attribute_location (viewconvert->shader, "a_position");
   viewconvert->priv->attr_texture =
@@ -1856,7 +1863,6 @@
   GstVideoMultiviewMode out_mode = priv->output_mode;
   guint from_gl_target =
       gst_gl_texture_target_to_gl (viewconvert->from_texture_target);
-  GstVideoAffineTransformationMeta *af_meta;
 
   gl = context->gl_vtable;
   out_width = GST_VIDEO_INFO_WIDTH (&viewconvert->out_info);
@@ -1869,12 +1875,6 @@
     out_views = 1;
   }
 
-  /* FIXME: the auxillary buffer could have a different transform matrix */
-  af_meta = gst_buffer_get_video_affine_transformation_meta (priv->primary_in);
-  if (af_meta)
-    gst_gl_shader_set_uniform_matrix_4fv (viewconvert->shader,
-        "u_transformation", 1, FALSE, af_meta->matrix);
-
   /* attach the texture to the FBO to renderer to */
   for (i = 0; i < out_views; i++) {
     guint gl_target =
@@ -1892,7 +1892,21 @@
     gl->DrawBuffer (GL_COLOR_ATTACHMENT0);
   gl->GetIntegerv (GL_VIEWPORT, viewport_dim);
   gl->Viewport (0, 0, out_width, out_height);
+
   gst_gl_shader_use (viewconvert->shader);
+
+  /* FIXME: the auxillary buffer could have a different transform matrix */
+  {
+    GstVideoAffineTransformationMeta *af_meta;
+    gfloat matrix[16];
+
+    af_meta =
+        gst_buffer_get_video_affine_transformation_meta (priv->primary_in);
+    gst_gl_get_affine_transformation_meta_as_ndc (af_meta, matrix);
+    gst_gl_shader_set_uniform_matrix_4fv (viewconvert->shader,
+        "u_transformation", 1, FALSE, matrix);
+  }
+
   if (gl->BindVertexArray)
     gl->BindVertexArray (priv->vao);
   else
@@ -1940,9 +1954,10 @@
       (viewconvert->context));
   mem_allocator = GST_GL_MEMORY_ALLOCATOR (allocator);
   params = gst_gl_video_allocation_params_new (viewconvert->context, NULL,
-      &viewconvert->out_info, 0, NULL, viewconvert->to_texture_target);
+      &viewconvert->out_info, 0, NULL, viewconvert->to_texture_target, 0);
 
-  if (!gst_gl_memory_setup_buffer (mem_allocator, *target, params)) {
+  if (!gst_gl_memory_setup_buffer (mem_allocator, *target, params, NULL, NULL,
+          0)) {
     gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
     gst_object_unref (allocator);
     return FALSE;
@@ -2081,7 +2096,8 @@
             GST_ALLOCATOR (gst_gl_memory_allocator_get_default (context));
         base_mem_allocator = GST_GL_BASE_MEMORY_ALLOCATOR (allocator);
         params = gst_gl_video_allocation_params_new (context, NULL, &temp_info,
-            0, NULL, viewconvert->to_texture_target);
+            0, NULL, viewconvert->to_texture_target,
+            GST_VIDEO_GL_TEXTURE_TYPE_RGBA);
 
         priv->out_tex[j] =
             (GstGLMemory *) gst_gl_base_memory_alloc (base_mem_allocator,
diff --git a/gst-libs/gst/gl/gstglwindow.c b/gst-libs/gst/gl/gstglwindow.c
index 695f4c4..410bc86 100644
--- a/gst-libs/gst/gl/gstglwindow.c
+++ b/gst-libs/gst/gl/gstglwindow.c
@@ -102,6 +102,8 @@
   GMutex nav_lock;
   GCond nav_create_cond;
   gboolean nav_alive;
+  GMutex sync_message_lock;
+  GCond sync_message_cond;
 };
 
 static void gst_gl_window_finalize (GObject * object);
@@ -197,6 +199,9 @@
 
   g_weak_ref_init (&window->context_ref, NULL);
 
+  g_mutex_init (&window->priv->sync_message_lock);
+  g_cond_init (&window->priv->sync_message_cond);
+
   priv->main_context = g_main_context_new ();
   priv->loop = g_main_loop_new (priv->main_context, FALSE);
   priv->navigation_loop = NULL;
@@ -348,6 +353,8 @@
   g_mutex_clear (&window->lock);
   g_mutex_clear (&window->priv->nav_lock);
   g_cond_clear (&window->priv->nav_create_cond);
+  g_mutex_clear (&window->priv->sync_message_lock);
+  g_cond_clear (&window->priv->sync_message_cond);
   gst_object_unref (window->display);
 
   G_OBJECT_CLASS (gst_gl_window_parent_class)->finalize (object);
@@ -590,8 +597,7 @@
 
 typedef struct _GstGLSyncMessage
 {
-  GMutex lock;
-  GCond cond;
+  GstGLWindow *window;
   gboolean fired;
 
   GstGLWindowCB callback;
@@ -601,14 +607,14 @@
 static void
 _run_message_sync (GstGLSyncMessage * message)
 {
-  g_mutex_lock (&message->lock);
 
   if (message->callback)
     message->callback (message->data);
 
+  g_mutex_lock (&message->window->priv->sync_message_lock);
   message->fired = TRUE;
-  g_cond_signal (&message->cond);
-  g_mutex_unlock (&message->lock);
+  g_cond_broadcast (&message->window->priv->sync_message_cond);
+  g_mutex_unlock (&message->window->priv->sync_message_lock);
 }
 
 void
@@ -617,24 +623,21 @@
 {
   GstGLSyncMessage message;
 
+  message.window = window;
   message.callback = callback;
   message.data = data;
   message.fired = FALSE;
-  g_mutex_init (&message.lock);
-  g_cond_init (&message.cond);
 
   gst_gl_window_send_message_async (window, (GstGLWindowCB) _run_message_sync,
       &message, NULL);
 
-  g_mutex_lock (&message.lock);
+  g_mutex_lock (&window->priv->sync_message_lock);
 
   /* block until opengl calls have been executed in the gl thread */
   while (!message.fired)
-    g_cond_wait (&message.cond, &message.lock);
-  g_mutex_unlock (&message.lock);
-
-  g_mutex_clear (&message.lock);
-  g_cond_clear (&message.cond);
+    g_cond_wait (&window->priv->sync_message_cond,
+        &window->priv->sync_message_lock);
+  g_mutex_unlock (&window->priv->sync_message_lock);
 }
 
 /**
diff --git a/gst-libs/gst/gl/wayland/Makefile.in b/gst-libs/gst/gl/wayland/Makefile.in
index feaf1a8..ee594bf 100644
--- a/gst-libs/gst/gl/wayland/Makefile.in
+++ b/gst-libs/gst/gl/wayland/Makefile.in
@@ -275,6 +275,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -490,6 +492,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -616,8 +620,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -662,6 +664,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/gl/win32/Makefile.in b/gst-libs/gst/gl/win32/Makefile.in
index 079345d..9857cd0 100644
--- a/gst-libs/gst/gl/win32/Makefile.in
+++ b/gst-libs/gst/gl/win32/Makefile.in
@@ -280,6 +280,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -495,6 +497,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -621,8 +625,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -667,6 +669,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/gl/win32/gstglcontext_wgl.c b/gst-libs/gst/gl/win32/gstglcontext_wgl.c
index 3c2f34a..0961e40 100644
--- a/gst-libs/gst/gl/win32/gstglcontext_wgl.c
+++ b/gst-libs/gst/gl/win32/gstglcontext_wgl.c
@@ -40,6 +40,8 @@
   GstGLAPI context_api;
 };
 
+#define GST_CAT_DEFAULT gst_gl_context_debug
+
 #define gst_gl_context_wgl_parent_class parent_class
 G_DEFINE_TYPE (GstGLContextWGL, gst_gl_context_wgl, GST_GL_TYPE_CONTEXT);
 #define GST_GL_CONTEXT_WGL_GET_PRIVATE(o) \
@@ -221,23 +223,35 @@
   }
 
   if (!context_wgl->wgl_context) {
-    context_wgl->wgl_context = wglCreateContext (device);
 
-    if (!context_wgl->wgl_context) {
-      g_set_error (error, GST_GL_CONTEXT_ERROR,
-          GST_GL_CONTEXT_ERROR_CREATE_CONTEXT,
-          "Failed to create WGL context 0x%x", (unsigned int) GetLastError ());
-      goto failure;
+    if (context_wgl->priv->wglCreateContextAttribsARB && external_gl_context) {
+      context_wgl->wgl_context =
+          context_wgl->priv->wglCreateContextAttribsARB (device,
+          external_gl_context, 0);
     }
 
-    if (external_gl_context) {
-      if (!wglShareLists (external_gl_context, context_wgl->wgl_context)) {
+
+    if (!context_wgl->wgl_context) {
+
+      context_wgl->wgl_context = wglCreateContext (device);
+
+      if (!context_wgl->wgl_context) {
         g_set_error (error, GST_GL_CONTEXT_ERROR,
             GST_GL_CONTEXT_ERROR_CREATE_CONTEXT,
-            "failed to share contexts through wglShareLists 0x%x",
+            "Failed to create WGL context 0x%x",
             (unsigned int) GetLastError ());
         goto failure;
       }
+
+      if (external_gl_context) {
+        if (!wglShareLists (external_gl_context, context_wgl->wgl_context)) {
+          g_set_error (error, GST_GL_CONTEXT_ERROR,
+              GST_GL_CONTEXT_ERROR_CREATE_CONTEXT,
+              "failed to share contexts through wglShareLists 0x%x",
+              (unsigned int) GetLastError ());
+          goto failure;
+        }
+      }
     }
 
     context_wgl->priv->context_api = GST_GL_API_OPENGL;
diff --git a/gst-libs/gst/gl/x11/Makefile.in b/gst-libs/gst/gl/x11/Makefile.in
index 982e2ec..b2e7071 100644
--- a/gst-libs/gst/gl/x11/Makefile.in
+++ b/gst-libs/gst/gl/x11/Makefile.in
@@ -309,6 +309,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -524,6 +526,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -650,8 +654,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -696,6 +698,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/insertbin/Makefile.am b/gst-libs/gst/insertbin/Makefile.am
index 8368f41..1f8ea30 100644
--- a/gst-libs/gst/insertbin/Makefile.am
+++ b/gst-libs/gst/insertbin/Makefile.am
@@ -31,6 +31,7 @@
 GstInsertBin-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstinsertbin-@GST_API_VERSION@.la
 	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)"  GI_SCANNER_DISABLE_CACHE=yes\
 		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstInsertBin \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/insertbin/Makefile.in b/gst-libs/gst/insertbin/Makefile.in
index 343709b..507b2e6 100644
--- a/gst-libs/gst/insertbin/Makefile.in
+++ b/gst-libs/gst/insertbin/Makefile.in
@@ -292,6 +292,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -507,6 +509,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -633,8 +637,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -679,6 +681,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -1157,6 +1161,7 @@
 @HAVE_INTROSPECTION_TRUE@GstInsertBin-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstinsertbin-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)"  GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstInsertBin \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/insertbin/gstinsertbin.c b/gst-libs/gst/insertbin/gstinsertbin.c
index 57f030a..f200c28 100644
--- a/gst-libs/gst/insertbin/gstinsertbin.c
+++ b/gst-libs/gst/insertbin/gstinsertbin.c
@@ -132,13 +132,12 @@
 
   g_type_class_add_private (klass, sizeof (GstInsertBinPrivate));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_insert_bin_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_insert_bin_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_insert_bin_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_insert_bin_sink_template);
   gst_element_class_set_static_metadata (gstelement_class, "Insert Bin",
-      "Generic/Bin/Filter",
-      "Auto-links filter style elements insertally",
+      "Generic/Bin/Filter", "Auto-links filter style elements insertally",
       "Olivier Crete <olivier.crete@collabora.com>");
 
   gobject_class->dispose = gst_insert_bin_dispose;
diff --git a/gst-libs/gst/interfaces/Makefile.in b/gst-libs/gst/interfaces/Makefile.in
index f04d68a..b4bc22e 100644
--- a/gst-libs/gst/interfaces/Makefile.in
+++ b/gst-libs/gst/interfaces/Makefile.in
@@ -322,6 +322,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -537,6 +539,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -663,8 +667,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -709,6 +711,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/mpegts/Makefile.am b/gst-libs/gst/mpegts/Makefile.am
index cd8b8ad..aeea32e 100644
--- a/gst-libs/gst/mpegts/Makefile.am
+++ b/gst-libs/gst/mpegts/Makefile.am
@@ -65,6 +65,7 @@
 GstMpegts-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstmpegts-@GST_API_VERSION@.la
 	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)"  GI_SCANNER_DISABLE_CACHE=yes\
 		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstMpegts \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=GstMpegts \
diff --git a/gst-libs/gst/mpegts/Makefile.in b/gst-libs/gst/mpegts/Makefile.in
index 46c14c4..07d58c9 100644
--- a/gst-libs/gst/mpegts/Makefile.in
+++ b/gst-libs/gst/mpegts/Makefile.in
@@ -330,6 +330,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -545,6 +547,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -671,8 +675,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -717,6 +719,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -1346,6 +1350,7 @@
 @HAVE_INTROSPECTION_TRUE@GstMpegts-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstmpegts-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)"  GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstMpegts \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=GstMpegts \
diff --git a/gst-libs/gst/mpegts/gstmpegtsdescriptor.c b/gst-libs/gst/mpegts/gstmpegtsdescriptor.c
index d4817d2..a49ce2a 100644
--- a/gst-libs/gst/mpegts/gstmpegtsdescriptor.c
+++ b/gst-libs/gst/mpegts/gstmpegtsdescriptor.c
@@ -1040,6 +1040,30 @@
 }
 
 /**
+ * gst_mpegts_descriptor_from_iso_639_language:
+ * @language: (transfer none): ISO-639-2 language 3-char code
+ *
+ * Creates a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegtsDescriptor with
+ * a single language
+ *
+ * Return: #GstMpegtsDescriptor, %NULL on failure
+ */
+GstMpegtsDescriptor *
+gst_mpegts_descriptor_from_iso_639_language (const gchar * language)
+{
+  GstMpegtsDescriptor *descriptor;
+
+  g_return_val_if_fail (language != NULL, NULL);
+
+  descriptor = _new_descriptor (GST_MTS_DESC_ISO_639_LANGUAGE, 4 + 4);  /* a language takes 4 bytes */
+
+  memcpy (descriptor->data + 2, language, 3);
+  descriptor->data[2 + 3] = 0;  /* set audio type to undefined */
+
+  return descriptor;
+}
+
+/**
  * gst_mpegts_descriptor_parse_logical_channel:
  * @descriptor: a %GST_MTS_DESC_DTG_LOGICAL_CHANNEL #GstMpegtsDescriptor
  * @res: (out) (transfer none): the #GstMpegtsLogicalChannelDescriptor to fill
diff --git a/gst-libs/gst/mpegts/gstmpegtsdescriptor.h b/gst-libs/gst/mpegts/gstmpegtsdescriptor.h
index af56be0..33d46f5 100644
--- a/gst-libs/gst/mpegts/gstmpegtsdescriptor.h
+++ b/gst-libs/gst/mpegts/gstmpegtsdescriptor.h
@@ -313,6 +313,7 @@
                                                            guint idx, gchar **lang,
                                                            GstMpegtsIso639AudioType *audio_type);
 guint gst_mpegts_descriptor_parse_iso_639_language_nb (const GstMpegtsDescriptor *descriptor);
+GstMpegtsDescriptor * gst_mpegts_descriptor_from_iso_639_language (const gchar * language);
 
 
 
diff --git a/gst-libs/gst/player/Makefile.am b/gst-libs/gst/player/Makefile.am
index 611d1fc..f893375 100644
--- a/gst-libs/gst/player/Makefile.am
+++ b/gst-libs/gst/player/Makefile.am
@@ -57,7 +57,9 @@
 gir_sources=$(patsubst %,$(srcdir)/%, $(libgstplayer_@GST_API_VERSION@_la_SOURCES))
 
 GstPlayer-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstplayer-@GST_API_VERSION@.la
-	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
+	$(AM_V_GEN)GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no GI_SCANNER_DISABLE_CACHE=yes \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
+		PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstPlayer \
 		--nsversion=@GST_API_VERSION@ \
 		--warn-all \
@@ -67,9 +69,12 @@
 		--c-include "gst/player/player.h" \
 		--add-include-path=$(top_builddir)/gst-libs \
 		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-1.0` \
+		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-1.0` \
+		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-video-1.0` \
 		--library-path=$(top_builddir)/gst-libs \
 		--library=libgstplayer-@GST_API_VERSION@.la \
 		--include=Gst-@GST_API_VERSION@ \
+		--include=GstVideo-@GST_API_VERSION@ \
 		--libtool="${LIBTOOL}" \
 		--pkg gstreamer-@GST_API_VERSION@ \
 		--pkg gstreamer-audio-@GST_API_VERSION@ \
@@ -97,6 +102,8 @@
 		--includedir=$(srcdir)/gst-libs \
 		--includedir=$(builddir)/gst-libs \
 		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-1.0` \
+		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-1.0` \
+		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-video-1.0` \
 		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
 
 CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
diff --git a/gst-libs/gst/player/Makefile.in b/gst-libs/gst/player/Makefile.in
index 47b6f87..715ffb1 100644
--- a/gst-libs/gst/player/Makefile.in
+++ b/gst-libs/gst/player/Makefile.in
@@ -315,6 +315,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -530,6 +532,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -656,8 +660,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -702,6 +704,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -1293,7 +1297,9 @@
 
 
 @HAVE_INTROSPECTION_TRUE@GstPlayer-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstplayer-@GST_API_VERSION@.la
-@HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
+@HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no GI_SCANNER_DISABLE_CACHE=yes \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
+@HAVE_INTROSPECTION_TRUE@		PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstPlayer \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--warn-all \
@@ -1303,9 +1309,12 @@
 @HAVE_INTROSPECTION_TRUE@		--c-include "gst/player/player.h" \
 @HAVE_INTROSPECTION_TRUE@		--add-include-path=$(top_builddir)/gst-libs \
 @HAVE_INTROSPECTION_TRUE@		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-1.0` \
+@HAVE_INTROSPECTION_TRUE@		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-1.0` \
+@HAVE_INTROSPECTION_TRUE@		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-video-1.0` \
 @HAVE_INTROSPECTION_TRUE@		--library-path=$(top_builddir)/gst-libs \
 @HAVE_INTROSPECTION_TRUE@		--library=libgstplayer-@GST_API_VERSION@.la \
 @HAVE_INTROSPECTION_TRUE@		--include=Gst-@GST_API_VERSION@ \
+@HAVE_INTROSPECTION_TRUE@		--include=GstVideo-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--libtool="${LIBTOOL}" \
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-audio-@GST_API_VERSION@ \
@@ -1324,6 +1333,8 @@
 @HAVE_INTROSPECTION_TRUE@		--includedir=$(srcdir)/gst-libs \
 @HAVE_INTROSPECTION_TRUE@		--includedir=$(builddir)/gst-libs \
 @HAVE_INTROSPECTION_TRUE@		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-1.0` \
+@HAVE_INTROSPECTION_TRUE@		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-1.0` \
+@HAVE_INTROSPECTION_TRUE@		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-video-1.0` \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/gst-libs/gst/player/gstplayer-media-info-private.h b/gst-libs/gst/player/gstplayer-media-info-private.h
index b8757be..c5f6aad 100644
--- a/gst-libs/gst/player/gstplayer-media-info-private.h
+++ b/gst-libs/gst/player/gstplayer-media-info-private.h
@@ -96,7 +96,7 @@
   gchar *uri;
   gchar *title;
   gchar *container;
-  gboolean seekable;
+  gboolean seekable, is_live;
   GstTagList *tags;
   GstSample *image_sample;
 
diff --git a/gst-libs/gst/player/gstplayer-media-info.c b/gst-libs/gst/player/gstplayer-media-info.c
index 85a53d4..bba8ea6 100644
--- a/gst-libs/gst/player/gstplayer-media-info.c
+++ b/gst-libs/gst/player/gstplayer-media-info.c
@@ -410,6 +410,7 @@
 gst_player_media_info_init (GstPlayerMediaInfo * info)
 {
   info->duration = -1;
+  info->is_live = FALSE;
   info->seekable = FALSE;
 }
 
@@ -558,6 +559,7 @@
   info = gst_player_media_info_new (ref->uri);
   info->duration = ref->duration;
   info->seekable = ref->seekable;
+  info->is_live = ref->is_live;
   if (ref->tags)
     info->tags = gst_tag_list_ref (ref->tags);
   if (ref->title)
@@ -644,6 +646,20 @@
 }
 
 /**
+ * gst_player_media_info_is_live:
+ * @info: a #GstPlayerMediaInfo
+ *
+ * Returns: %TRUE if the media is live.
+ */
+gboolean
+gst_player_media_info_is_live (const GstPlayerMediaInfo * info)
+{
+  g_return_val_if_fail (GST_IS_PLAYER_MEDIA_INFO (info), FALSE);
+
+  return info->is_live;
+}
+
+/**
  * gst_player_media_info_get_stream_list:
  * @info: a #GstPlayerMediaInfo
  *
diff --git a/gst-libs/gst/player/gstplayer-media-info.h b/gst-libs/gst/player/gstplayer-media-info.h
index a458b75..7ffd6b4 100644
--- a/gst-libs/gst/player/gstplayer-media-info.h
+++ b/gst-libs/gst/player/gstplayer-media-info.h
@@ -169,6 +169,8 @@
                 (const GstPlayerMediaInfo *info);
 gboolean      gst_player_media_info_is_seekable
                 (const GstPlayerMediaInfo *info);
+gboolean      gst_player_media_info_is_live
+                (const GstPlayerMediaInfo *info);
 GstClockTime  gst_player_media_info_get_duration
                 (const GstPlayerMediaInfo *info);
 GList*        gst_player_media_info_get_stream_list
diff --git a/gst-libs/gst/player/gstplayer-video-overlay-video-renderer.c b/gst-libs/gst/player/gstplayer-video-overlay-video-renderer.c
index 72a35e0..7764d43 100644
--- a/gst-libs/gst/player/gstplayer-video-overlay-video-renderer.c
+++ b/gst-libs/gst/player/gstplayer-video-overlay-video-renderer.c
@@ -255,7 +255,7 @@
  * Configure a subregion as a video target within the window set by
  * gst_player_video_overlay_video_renderer_set_window_handle(). If this is not
  * used or not supported the video will fill the area of the window set as the
- * overlay to 100%. By specifying the rectangle, the video can be overlayed to
+ * 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 gst_player_video_overlay_video_renderer_expose() to force a
  * redraw. To unset the region pass -1 for the @width and @height parameters.
diff --git a/gst-libs/gst/player/gstplayer.c b/gst-libs/gst/player/gstplayer.c
index 871ba43..15d7d34 100644
--- a/gst-libs/gst/player/gstplayer.c
+++ b/gst-libs/gst/player/gstplayer.c
@@ -65,6 +65,7 @@
 #define DEFAULT_MUTE FALSE
 #define DEFAULT_RATE 1.0
 #define DEFAULT_POSITION_UPDATE_INTERVAL_MS 100
+#define DEFAULT_AUDIO_VIDEO_OFFSET 0
 
 GQuark
 gst_player_error_quark (void)
@@ -95,11 +96,15 @@
   PROP_RATE,
   PROP_PIPELINE,
   PROP_POSITION_UPDATE_INTERVAL,
+  PROP_VIDEO_MULTIVIEW_MODE,
+  PROP_VIDEO_MULTIVIEW_FLAGS,
+  PROP_AUDIO_VIDEO_OFFSET,
   PROP_LAST
 };
 
 enum
 {
+  SIGNAL_URI_LOADED,
   SIGNAL_POSITION_UPDATED,
   SIGNAL_DURATION_CHANGED,
   SIGNAL_STATE_CHANGED,
@@ -161,6 +166,10 @@
   GstClockTime last_seek_time;  /* Only set from main context */
   GSource *seek_source;
   GstClockTime seek_position;
+  /* If TRUE, all signals are inhibited except the
+   * state-changed:GST_PLAYER_STATE_STOPPED/PAUSED. This ensures that no signal
+   * is emitted after gst_player_stop/pause() has been called by the user. */
+  gboolean inhibit_sigs;
 };
 
 struct _GstPlayerClass
@@ -238,6 +247,7 @@
   self->seek_pending = FALSE;
   self->seek_position = GST_CLOCK_TIME_NONE;
   self->last_seek_time = GST_CLOCK_TIME_NONE;
+  self->inhibit_sigs = FALSE;
 
   GST_TRACE_OBJECT (self, "Initialized");
 }
@@ -325,8 +335,33 @@
       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",
+      "Re-interpret a video stream as one of several frame-packed stereoscopic modes.",
+      GST_TYPE_VIDEO_MULTIVIEW_FRAME_PACKING,
+      GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+
+  param_specs[PROP_VIDEO_MULTIVIEW_FLAGS] =
+      g_param_spec_flags ("video-multiview-flags",
+      "Multiview Flags Override",
+      "Override details of the multiview frame layout",
+      GST_TYPE_VIDEO_MULTIVIEW_FLAGS, GST_VIDEO_MULTIVIEW_FLAGS_NONE,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+
+  param_specs[PROP_AUDIO_VIDEO_OFFSET] =
+      g_param_spec_int64 ("audio-video-offset", "Audio Video Offset",
+      "The synchronisation offset between audio and video in nanoseconds",
+      G_MININT64, G_MAXINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+
   g_object_class_install_properties (gobject_class, PROP_LAST, param_specs);
 
+  signals[SIGNAL_URI_LOADED] =
+      g_signal_new ("uri-loaded", 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, G_TYPE_STRING);
+
   signals[SIGNAL_POSITION_UPDATED] =
       g_signal_new ("position-updated", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS, 0, NULL,
@@ -450,6 +485,28 @@
   G_OBJECT_CLASS (parent_class)->constructed (object);
 }
 
+typedef struct
+{
+  GstPlayer *player;
+  gchar *uri;
+} UriLoadedSignalData;
+
+static void
+uri_loaded_dispatch (gpointer user_data)
+{
+  UriLoadedSignalData *data = user_data;
+
+  g_signal_emit (data->player, signals[SIGNAL_URI_LOADED], 0, data->uri);
+}
+
+static void
+uri_loaded_signal_data_free (UriLoadedSignalData * data)
+{
+  g_object_unref (data->player);
+  g_free (data->uri);
+  g_free (data);
+}
+
 static gboolean
 gst_player_set_uri_internal (gpointer user_data)
 {
@@ -463,6 +520,17 @@
 
   g_object_set (self->playbin, "uri", self->uri, NULL);
 
+  if (g_signal_handler_find (self, G_SIGNAL_MATCH_ID,
+          signals[SIGNAL_URI_LOADED], 0, NULL, NULL, NULL) != 0) {
+    UriLoadedSignalData *data = g_new (UriLoadedSignalData, 1);
+
+    data->player = g_object_ref (self);
+    data->uri = g_strdup (self->uri);
+    gst_player_signal_dispatcher_dispatch (self->signal_dispatcher, self,
+        uri_loaded_dispatch, data,
+        (GDestroyNotify) uri_loaded_signal_data_free);
+  }
+
   /* if have suburi from previous playback then free it */
   if (self->suburi) {
     g_free (self->suburi);
@@ -570,6 +638,21 @@
 
       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));
+      g_object_set_property (G_OBJECT (self->playbin), "video-multiview-mode",
+          value);
+      break;
+    case PROP_VIDEO_MULTIVIEW_FLAGS:
+      GST_DEBUG_OBJECT (self, "Set multiview flags=%x",
+          g_value_get_flags (value));
+      g_object_set_property (G_OBJECT (self->playbin), "video-multiview-flags",
+          value);
+      break;
+    case PROP_AUDIO_VIDEO_OFFSET:
+      g_object_set_property (G_OBJECT (self->playbin), "av-offset", value);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -662,6 +745,23 @@
       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);
+      GST_TRACE_OBJECT (self, "Return multiview mode=%d",
+          g_value_get_enum (value));
+      break;
+    }
+    case PROP_VIDEO_MULTIVIEW_FLAGS:{
+      g_object_get_property (G_OBJECT (self->playbin), "video-multiview-flags",
+          value);
+      GST_TRACE_OBJECT (self, "Return multiview flags=%x",
+          g_value_get_flags (value));
+      break;
+    }
+    case PROP_AUDIO_VIDEO_OFFSET:
+      g_object_get_property (G_OBJECT (self->playbin), "av-offset", value);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -693,6 +793,10 @@
 {
   StateChangedSignalData *data = user_data;
 
+  if (data->player->inhibit_sigs && data->state != GST_PLAYER_STATE_STOPPED
+      && data->state != GST_PLAYER_STATE_PAUSED)
+    return;
+
   g_signal_emit (data->player, signals[SIGNAL_STATE_CHANGED], 0, data->state);
 }
 
@@ -737,6 +841,9 @@
 {
   PositionUpdatedSignalData *data = user_data;
 
+  if (data->player->inhibit_sigs)
+    return;
+
   if (data->player->target_state >= GST_STATE_PAUSED) {
     g_signal_emit (data->player, signals[SIGNAL_POSITION_UPDATED], 0,
         data->position);
@@ -853,6 +960,9 @@
 {
   ErrorSignalData *data = user_data;
 
+  if (data->player->inhibit_sigs)
+    return;
+
   g_signal_emit (data->player, signals[SIGNAL_ERROR], 0, data->err);
 }
 
@@ -939,6 +1049,9 @@
 {
   WarningSignalData *data = user_data;
 
+  if (data->player->inhibit_sigs)
+    return;
+
   g_signal_emit (data->player, signals[SIGNAL_WARNING], 0, data->err);
 }
 
@@ -1051,7 +1164,12 @@
 static void
 eos_dispatch (gpointer user_data)
 {
-  g_signal_emit (user_data, signals[SIGNAL_END_OF_STREAM], 0);
+  GstPlayer *player = user_data;
+
+  if (player->inhibit_sigs)
+    return;
+
+  g_signal_emit (player, signals[SIGNAL_END_OF_STREAM], 0);
 }
 
 static void
@@ -1086,6 +1204,9 @@
 {
   BufferingSignalData *data = user_data;
 
+  if (data->player->inhibit_sigs)
+    return;
+
   if (data->player->target_state >= GST_STATE_PAUSED) {
     g_signal_emit (data->player, signals[SIGNAL_BUFFERING], 0, data->percent);
   }
@@ -1201,6 +1322,9 @@
 {
   VideoDimensionsChangedSignalData *data = user_data;
 
+  if (data->player->inhibit_sigs)
+    return;
+
   if (data->player->target_state >= GST_STATE_PAUSED) {
     g_signal_emit (data->player, signals[SIGNAL_VIDEO_DIMENSIONS_CHANGED], 0,
         data->width, data->height);
@@ -1286,6 +1410,9 @@
 {
   DurationChangedSignalData *data = user_data;
 
+  if (data->player->inhibit_sigs)
+    return;
+
   if (data->player->target_state >= GST_STATE_PAUSED) {
     g_signal_emit (data->player, signals[SIGNAL_DURATION_CHANGED], 0,
         data->duration);
@@ -1330,6 +1457,9 @@
 {
   SeekDoneSignalData *data = user_data;
 
+  if (data->player->inhibit_sigs)
+    return;
+
   g_signal_emit (data->player, signals[SIGNAL_SEEK_DONE], 0, data->position);
 }
 
@@ -1672,6 +1802,9 @@
 {
   MediaInfoUpdatedSignalData *data = user_data;
 
+  if (data->player->inhibit_sigs)
+    return;
+
   if (data->player->target_state >= GST_STATE_PAUSED) {
     g_signal_emit (data->player, signals[SIGNAL_MEDIA_INFO_UPDATED], 0,
         data->info);
@@ -2235,6 +2368,7 @@
   media_info = gst_player_media_info_new (self->uri);
   media_info->duration = gst_player_get_duration (self);
   media_info->tags = self->global_tags;
+  media_info->is_live = self->is_live;
   self->global_tags = NULL;
 
   query = gst_query_new_seeking (GST_FORMAT_TIME);
@@ -2256,10 +2390,10 @@
   media_info->image_sample = get_from_tags (self, media_info, get_cover_sample);
 
   GST_DEBUG_OBJECT (self, "uri: %s title: %s duration: %" GST_TIME_FORMAT
-      " seekable: %s container: %s image_sample %p",
+      " seekable: %s live: %s container: %s image_sample %p",
       media_info->uri, media_info->title, GST_TIME_ARGS (media_info->duration),
-      media_info->seekable ? "yes" : "no", media_info->container,
-      media_info->image_sample);
+      media_info->seekable ? "yes" : "no", media_info->is_live ? "yes" : "no",
+      media_info->container, media_info->image_sample);
 
   GST_DEBUG_OBJECT (self, "end");
   return media_info;
@@ -2309,8 +2443,13 @@
 static void
 volume_changed_dispatch (gpointer user_data)
 {
-  g_signal_emit (user_data, signals[SIGNAL_VOLUME_CHANGED], 0);
-  g_object_notify_by_pspec (G_OBJECT (user_data), param_specs[PROP_VOLUME]);
+  GstPlayer *player = user_data;
+
+  if (player->inhibit_sigs)
+    return;
+
+  g_signal_emit (player, signals[SIGNAL_VOLUME_CHANGED], 0);
+  g_object_notify_by_pspec (G_OBJECT (player), param_specs[PROP_VOLUME]);
 }
 
 static void
@@ -2328,8 +2467,13 @@
 static void
 mute_changed_dispatch (gpointer user_data)
 {
-  g_signal_emit (user_data, signals[SIGNAL_MUTE_CHANGED], 0);
-  g_object_notify_by_pspec (G_OBJECT (user_data), param_specs[PROP_MUTE]);
+  GstPlayer *player = user_data;
+
+  if (player->inhibit_sigs)
+    return;
+
+  g_signal_emit (player, signals[SIGNAL_MUTE_CHANGED], 0);
+  g_object_notify_by_pspec (G_OBJECT (player), param_specs[PROP_MUTE]);
 }
 
 static void
@@ -2596,6 +2740,10 @@
 {
   g_return_if_fail (GST_IS_PLAYER (self));
 
+  g_mutex_lock (&self->lock);
+  self->inhibit_sigs = FALSE;
+  g_mutex_unlock (&self->lock);
+
   g_main_context_invoke_full (self->context, G_PRIORITY_DEFAULT,
       gst_player_play_internal, self, NULL);
 }
@@ -2663,6 +2811,10 @@
 {
   g_return_if_fail (GST_IS_PLAYER (self));
 
+  g_mutex_lock (&self->lock);
+  self->inhibit_sigs = FALSE;
+  g_mutex_unlock (&self->lock);
+
   g_main_context_invoke_full (self->context, G_PRIORITY_DEFAULT,
       gst_player_pause_internal, self, NULL);
 }
@@ -2723,6 +2875,10 @@
 {
   g_return_if_fail (GST_IS_PLAYER (self));
 
+  g_mutex_lock (&self->lock);
+  self->inhibit_sigs = TRUE;
+  g_mutex_unlock (&self->lock);
+
   g_main_context_invoke_full (self->context, G_PRIORITY_DEFAULT,
       gst_player_stop_internal, self, NULL);
 }
@@ -3656,6 +3812,127 @@
       (gdouble) channel->min_value);
 }
 
+/**
+ * gst_player_get_multiview_mode:
+ * @player: #GstPlayer instance
+ *
+ * Retrieve the current value of the indicated @type.
+ *
+ * Returns: The current value of @type, Default: -1 "none"
+ *
+ * Since: 1.10
+ */
+GstVideoMultiviewMode
+gst_player_get_multiview_mode (GstPlayer * self)
+{
+  GstVideoMultiviewMode val = GST_VIDEO_MULTIVIEW_MODE_NONE;
+
+  g_return_val_if_fail (GST_IS_PLAYER (self), GST_VIDEO_MULTIVIEW_MODE_NONE);
+
+  g_object_get (self, "video-multiview-mode", &val, NULL);
+
+  return val;
+}
+
+/**
+ * gst_player_set_multiview_mode:
+ * @player: #GstPlayer instance
+ * @mode: The new value for the @type
+ *
+ * Sets the current value of the indicated mode @type to the passed
+ * value.
+ *
+ * Since: 1.10
+ */
+void
+gst_player_set_multiview_mode (GstPlayer * self, GstVideoMultiviewMode mode)
+{
+  g_return_if_fail (GST_IS_PLAYER (self));
+
+  g_object_set (self, "video-multiview-mode", mode, NULL);
+}
+
+/**
+ * gst_player_get_multiview_flags:
+ * @player: #GstPlayer instance
+ *
+ * Retrieve the current value of the indicated @type.
+ *
+ * Returns: The current value of @type, Default: 0x00000000 "none
+ *
+ * Since: 1.10
+ */
+GstVideoMultiviewFlags
+gst_player_get_multiview_flags (GstPlayer * self)
+{
+  GstVideoMultiviewFlags val = GST_VIDEO_MULTIVIEW_FLAGS_NONE;
+
+  g_return_val_if_fail (GST_IS_PLAYER (self), val);
+
+  g_object_get (self, "video-multiview-flags", &val, NULL);
+
+  return val;
+}
+
+/**
+ * gst_player_set_multiview_flags:
+ * @player: #GstPlayer instance
+ * @flags: The new value for the @type
+ *
+ * Sets the current value of the indicated mode @type to the passed
+ * value.
+ *
+ * Since: 1.10
+ */
+void
+gst_player_set_multiview_flags (GstPlayer * self, GstVideoMultiviewFlags flags)
+{
+  g_return_if_fail (GST_IS_PLAYER (self));
+
+  g_object_set (self, "video-multiview-flags", flags, NULL);
+}
+
+/**
+ * gst_player_get_audio_video_offset:
+ * @player: #GstPlayer instance
+ *
+ * Retrieve the current value of audio-video-offset property
+ *
+ * Returns: The current value of audio-video-offset in nanoseconds
+ *
+ * Since 1.10
+ */
+gint64
+gst_player_get_audio_video_offset (GstPlayer * self)
+{
+  gint64 val = 0;
+
+  g_return_val_if_fail (GST_IS_PLAYER (self), DEFAULT_AUDIO_VIDEO_OFFSET);
+
+  g_object_get (self, "audio-video-offset", &val, NULL);
+
+  return val;
+}
+
+/**
+ * gst_player_set_audio_video_offset:
+ * @player: #GstPlayer instance
+ * @offset: #gint64 in nanoseconds
+ *
+ * Sets audio-video-offset property by value of @offset
+ *
+ * Returns: void
+ *
+ * Since 1.10
+ */
+void
+gst_player_set_audio_video_offset (GstPlayer * self, gint64 offset)
+{
+  g_return_if_fail (GST_IS_PLAYER (self));
+
+  g_object_set (self, "audio-video-offset", offset, NULL);
+}
+
 #define C_ENUM(v) ((gint) v)
 #define C_FLAGS(v) ((guint) v)
 
diff --git a/gst-libs/gst/player/gstplayer.h b/gst-libs/gst/player/gstplayer.h
index 3391b0f..0ab4233 100644
--- a/gst-libs/gst/player/gstplayer.h
+++ b/gst-libs/gst/player/gstplayer.h
@@ -22,6 +22,7 @@
 #define __GST_PLAYER_H__
 
 #include <gst/gst.h>
+#include <gst/video/video.h>
 #include <gst/player/gstplayer-types.h>
 #include <gst/player/gstplayer-signal-dispatcher.h>
 #include <gst/player/gstplayer-video-renderer.h>
@@ -178,6 +179,19 @@
 gdouble      gst_player_get_color_balance             (GstPlayer    * player,
                                                        GstPlayerColorBalanceType type);
 
+
+GstVideoMultiviewMode	 gst_player_get_multiview_mode (GstPlayer    * player);
+void                     gst_player_set_multiview_mode (GstPlayer    * player,
+                                                        GstVideoMultiviewMode mode);
+
+GstVideoMultiviewFlags  gst_player_get_multiview_flags  (GstPlayer  * player);
+void                    gst_player_set_multiview_flags  (GstPlayer  * player,
+                                                         GstVideoMultiviewFlags flags);
+
+gint64       gst_player_get_audio_video_offset        (GstPlayer    * player);
+void         gst_player_set_audio_video_offset        (GstPlayer    * player,
+                                                       gint64 offset);
+
 G_END_DECLS
 
 #endif /* __GST_PLAYER_H__ */
diff --git a/gst-libs/gst/uridownloader/Makefile.in b/gst-libs/gst/uridownloader/Makefile.in
index daf72b3..320d227 100644
--- a/gst-libs/gst/uridownloader/Makefile.in
+++ b/gst-libs/gst/uridownloader/Makefile.in
@@ -290,6 +290,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -505,6 +507,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -631,8 +635,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -677,6 +679,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/uridownloader/gsturidownloader.c b/gst-libs/gst/uridownloader/gsturidownloader.c
index 72e5e79..47b6f29 100644
--- a/gst-libs/gst/uridownloader/gsturidownloader.c
+++ b/gst-libs/gst/uridownloader/gsturidownloader.c
@@ -58,6 +58,10 @@
 static GstBusSyncReply gst_uri_downloader_bus_handler (GstBus * bus,
     GstMessage * message, gpointer data);
 
+static gboolean gst_uri_downloader_ensure_src (GstUriDownloader * downloader,
+    const gchar * uri);
+static void gst_uri_downloader_destroy_src (GstUriDownloader * downloader);
+
 static GstStaticPadTemplate sinkpadtemplate = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -112,11 +116,7 @@
 {
   GstUriDownloader *downloader = GST_URI_DOWNLOADER (object);
 
-  if (downloader->priv->urisrc != NULL) {
-    gst_element_set_state (downloader->priv->urisrc, GST_STATE_NULL);
-    gst_object_unref (downloader->priv->urisrc);
-    downloader->priv->urisrc = NULL;
-  }
+  gst_uri_downloader_destroy_src (downloader);
 
   if (downloader->priv->bus != NULL) {
     gst_object_unref (downloader->priv->bus);
@@ -347,16 +347,8 @@
 }
 
 static gboolean
-gst_uri_downloader_set_uri (GstUriDownloader * downloader, const gchar * uri,
-    const gchar * referer, gboolean compress, gboolean refresh,
-    gboolean allow_cache)
+gst_uri_downloader_ensure_src (GstUriDownloader * downloader, const gchar * uri)
 {
-  GstPad *pad;
-  GObjectClass *gobject_class;
-
-  if (!gst_uri_is_valid (uri))
-    return FALSE;
-
   if (downloader->priv->urisrc) {
     gchar *old_protocol, *new_protocol;
     gchar *old_uri;
@@ -367,22 +359,18 @@
     new_protocol = gst_uri_get_protocol (uri);
 
     if (!g_str_equal (old_protocol, new_protocol)) {
-      gst_element_set_state (downloader->priv->urisrc, GST_STATE_NULL);
-      gst_object_unref (downloader->priv->urisrc);
-      downloader->priv->urisrc = NULL;
+      gst_uri_downloader_destroy_src (downloader);
       GST_DEBUG_OBJECT (downloader, "Can't re-use old source element");
     } else {
       GError *err = NULL;
 
       GST_DEBUG_OBJECT (downloader, "Re-using old source element");
-      if (!gst_uri_handler_set_uri (GST_URI_HANDLER (downloader->priv->urisrc),
-              uri, &err)) {
-        GST_DEBUG_OBJECT (downloader, "Failed to re-use old source element: %s",
-            err->message);
+      if (!gst_uri_handler_set_uri
+          (GST_URI_HANDLER (downloader->priv->urisrc), uri, &err)) {
+        GST_DEBUG_OBJECT (downloader,
+            "Failed to re-use old source element: %s", err->message);
         g_clear_error (&err);
-        gst_element_set_state (downloader->priv->urisrc, GST_STATE_NULL);
-        gst_object_unref (downloader->priv->urisrc);
-        downloader->priv->urisrc = NULL;
+        gst_uri_downloader_destroy_src (downloader);
       }
     }
     g_free (old_uri);
@@ -395,10 +383,43 @@
         uri);
     downloader->priv->urisrc =
         gst_element_make_from_uri (GST_URI_SRC, uri, NULL, NULL);
-    if (!downloader->priv->urisrc)
-      return FALSE;
+    if (downloader->priv->urisrc) {
+      /* gst_element_make_from_uri returns a floating reference
+       * and we are not going to transfer the ownership, so we
+       * should take it.
+       */
+      gst_object_ref_sink (downloader->priv->urisrc);
+    }
   }
 
+  return downloader->priv->urisrc != NULL;
+}
+
+static void
+gst_uri_downloader_destroy_src (GstUriDownloader * downloader)
+{
+  if (!downloader->priv->urisrc)
+    return;
+
+  gst_element_set_state (downloader->priv->urisrc, GST_STATE_NULL);
+  gst_object_unref (downloader->priv->urisrc);
+  downloader->priv->urisrc = NULL;
+}
+
+static gboolean
+gst_uri_downloader_set_uri (GstUriDownloader * downloader, const gchar * uri,
+    const gchar * referer, gboolean compress,
+    gboolean refresh, gboolean allow_cache)
+{
+  GstPad *pad;
+  GObjectClass *gobject_class;
+
+  if (!gst_uri_is_valid (uri))
+    return FALSE;
+
+  if (!gst_uri_downloader_ensure_src (downloader, uri))
+    return FALSE;
+
   gobject_class = G_OBJECT_GET_CLASS (downloader->priv->urisrc);
   if (g_object_class_find_property (gobject_class, "compress"))
     g_object_set (downloader->priv->urisrc, "compress", compress, NULL);
diff --git a/gst-libs/gst/video/Makefile.in b/gst-libs/gst/video/Makefile.in
index 6fb5acd..46b029b 100644
--- a/gst-libs/gst/video/Makefile.in
+++ b/gst-libs/gst/video/Makefile.in
@@ -294,6 +294,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -509,6 +511,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -635,8 +639,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -681,6 +683,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-libs/gst/video/gstvideoaggregator.c b/gst-libs/gst/video/gstvideoaggregator.c
index 1254e2e..9046252 100644
--- a/gst-libs/gst/video/gstvideoaggregator.c
+++ b/gst-libs/gst/video/gstvideoaggregator.c
@@ -43,11 +43,11 @@
 #include "gstvideoaggregator.h"
 #include "gstvideoaggregatorpad.h"
 
-GST_DEBUG_CATEGORY_STATIC (gst_videoaggregator_debug);
-#define GST_CAT_DEFAULT gst_videoaggregator_debug
+GST_DEBUG_CATEGORY_STATIC (gst_video_aggregator_debug);
+#define GST_CAT_DEFAULT gst_video_aggregator_debug
 
 /* Needed prototypes */
-static void gst_videoaggregator_reset_qos (GstVideoAggregator * vagg);
+static void gst_video_aggregator_reset_qos (GstVideoAggregator * vagg);
 
 /****************************************
  * GstVideoAggregatorPad implementation *
@@ -77,11 +77,11 @@
 };
 
 
-G_DEFINE_TYPE (GstVideoAggregatorPad, gst_videoaggregator_pad,
+G_DEFINE_TYPE (GstVideoAggregatorPad, gst_video_aggregator_pad,
     GST_TYPE_AGGREGATOR_PAD);
 
 static void
-gst_videoaggregator_pad_get_property (GObject * object, guint prop_id,
+gst_video_aggregator_pad_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec)
 {
   GstVideoAggregatorPad *pad = GST_VIDEO_AGGREGATOR_PAD (object);
@@ -107,7 +107,7 @@
 }
 
 static void
-gst_videoaggregator_pad_set_property (GObject * object, guint prop_id,
+gst_video_aggregator_pad_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
 {
   GstVideoAggregatorPad *pad = GST_VIDEO_AGGREGATOR_PAD (object);
@@ -139,7 +139,7 @@
   GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (aggregator);
   GstVideoAggregatorPad *pad = GST_VIDEO_AGGREGATOR_PAD (aggpad);
 
-  gst_videoaggregator_reset_qos (vagg);
+  gst_video_aggregator_reset_qos (vagg);
   gst_buffer_replace (&pad->buffer, NULL);
   pad->priv->start_time = -1;
   pad->priv->end_time = -1;
@@ -217,7 +217,7 @@
 }
 
 static void
-gst_videoaggregator_pad_finalize (GObject * o)
+gst_video_aggregator_pad_finalize (GObject * o)
 {
   GstVideoAggregatorPad *vaggpad = GST_VIDEO_AGGREGATOR_PAD (o);
 
@@ -225,7 +225,7 @@
     gst_video_converter_free (vaggpad->priv->convert);
   vaggpad->priv->convert = NULL;
 
-  G_OBJECT_CLASS (gst_videoaggregator_pad_parent_class)->finalize (o);
+  G_OBJECT_CLASS (gst_video_aggregator_pad_parent_class)->finalize (o);
 }
 
 static gboolean
@@ -300,14 +300,14 @@
 }
 
 static void
-gst_videoaggregator_pad_class_init (GstVideoAggregatorPadClass * klass)
+gst_video_aggregator_pad_class_init (GstVideoAggregatorPadClass * klass)
 {
   GObjectClass *gobject_class = (GObjectClass *) klass;
   GstAggregatorPadClass *aggpadclass = (GstAggregatorPadClass *) klass;
 
-  gobject_class->set_property = gst_videoaggregator_pad_set_property;
-  gobject_class->get_property = gst_videoaggregator_pad_get_property;
-  gobject_class->finalize = gst_videoaggregator_pad_finalize;
+  gobject_class->set_property = gst_video_aggregator_pad_set_property;
+  gobject_class->get_property = gst_video_aggregator_pad_get_property;
+  gobject_class->finalize = gst_video_aggregator_pad_finalize;
 
   g_object_class_install_property (gobject_class, PROP_PAD_ZORDER,
       g_param_spec_uint ("zorder", "Z-Order", "Z Order of the picture",
@@ -329,7 +329,7 @@
 }
 
 static void
-gst_videoaggregator_pad_init (GstVideoAggregatorPad * vaggpad)
+gst_video_aggregator_pad_init (GstVideoAggregatorPad * vaggpad)
 {
   vaggpad->priv =
       G_TYPE_INSTANCE_GET_PRIVATE (vaggpad, GST_TYPE_VIDEO_AGGREGATOR_PAD,
@@ -347,8 +347,8 @@
  * GstChildProxy implementation  *
  *********************************/
 static GObject *
-gst_videoaggregator_child_proxy_get_child_by_index (GstChildProxy * child_proxy,
-    guint index)
+gst_video_aggregator_child_proxy_get_child_by_index (GstChildProxy *
+    child_proxy, guint index)
 {
   GObject *obj;
   GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (child_proxy);
@@ -362,7 +362,8 @@
 }
 
 static guint
-gst_videoaggregator_child_proxy_get_children_count (GstChildProxy * child_proxy)
+gst_video_aggregator_child_proxy_get_children_count (GstChildProxy *
+    child_proxy)
 {
   guint count = 0;
 
@@ -376,15 +377,15 @@
 }
 
 static void
-gst_videoaggregator_child_proxy_init (gpointer g_iface, gpointer iface_data)
+gst_video_aggregator_child_proxy_init (gpointer g_iface, gpointer iface_data)
 {
   GstChildProxyInterface *iface = g_iface;
 
   GST_INFO ("intializing child proxy interface");
   iface->get_child_by_index =
-      gst_videoaggregator_child_proxy_get_child_by_index;
+      gst_video_aggregator_child_proxy_get_child_by_index;
   iface->get_children_count =
-      gst_videoaggregator_child_proxy_get_children_count;
+      gst_video_aggregator_child_proxy_get_children_count;
 }
 
 /**************************************
@@ -434,13 +435,13 @@
  * videoaggregator class in the _init to be able to set
  * the sink pad non-alpha caps. Using the G_DEFINE_TYPE there
  * seems to be no way of getting the real class being initialized */
-static void gst_videoaggregator_init (GstVideoAggregator * self,
+static void gst_video_aggregator_init (GstVideoAggregator * self,
     GstVideoAggregatorClass * klass);
-static void gst_videoaggregator_class_init (GstVideoAggregatorClass * klass);
-static gpointer gst_videoaggregator_parent_class = NULL;
+static void gst_video_aggregator_class_init (GstVideoAggregatorClass * klass);
+static gpointer gst_video_aggregator_parent_class = NULL;
 
 GType
-gst_videoaggregator_get_type (void)
+gst_video_aggregator_get_type (void)
 {
   static volatile gsize g_define_type_id_volatile = 0;
 
@@ -448,13 +449,13 @@
     GType g_define_type_id = g_type_register_static_simple (GST_TYPE_AGGREGATOR,
         g_intern_static_string ("GstVideoAggregator"),
         sizeof (GstVideoAggregatorClass),
-        (GClassInitFunc) gst_videoaggregator_class_init,
+        (GClassInitFunc) gst_video_aggregator_class_init,
         sizeof (GstVideoAggregator),
-        (GInstanceInitFunc) gst_videoaggregator_init,
+        (GInstanceInitFunc) gst_video_aggregator_init,
         (GTypeFlags) G_TYPE_FLAG_ABSTRACT);
     {
       G_IMPLEMENT_INTERFACE (GST_TYPE_CHILD_PROXY,
-          gst_videoaggregator_child_proxy_init);
+          gst_video_aggregator_child_proxy_init);
     }
     g_once_init_leave (&g_define_type_id_volatile, g_define_type_id);
   }
@@ -462,7 +463,7 @@
 }
 
 static void
-gst_videoaggreagator_find_best_format (GstVideoAggregator * vagg,
+gst_video_aggregator_find_best_format (GstVideoAggregator * vagg,
     GstCaps * downstream_caps, GstVideoInfo * best_info,
     gboolean * at_least_one_alpha)
 {
@@ -534,7 +535,7 @@
 
 /* WITH GST_VIDEO_AGGREGATOR_LOCK TAKEN */
 static gboolean
-gst_videoaggregator_src_setcaps (GstVideoAggregator * vagg, GstCaps * caps)
+gst_video_aggregator_src_setcaps (GstVideoAggregator * vagg, GstCaps * caps)
 {
   GstAggregator *agg = GST_AGGREGATOR (vagg);
   gboolean ret = FALSE;
@@ -558,7 +559,7 @@
       GST_DEBUG_OBJECT (vagg,
           "Resetting frame counter because of framerate change");
     }
-    gst_videoaggregator_reset_qos (vagg);
+    gst_video_aggregator_reset_qos (vagg);
   }
 
   vagg->info = info;
@@ -583,7 +584,7 @@
 }
 
 static GstCaps *
-gst_videoaggregator_default_fixate_caps (GstVideoAggregator * vagg,
+gst_video_aggregator_default_fixate_caps (GstVideoAggregator * vagg,
     GstCaps * caps)
 {
   gint best_width = -1, best_height = -1;
@@ -644,7 +645,7 @@
 }
 
 static GstCaps *
-gst_videoaggregator_default_update_caps (GstVideoAggregator * vagg,
+gst_video_aggregator_default_update_caps (GstVideoAggregator * vagg,
     GstCaps * caps, GstCaps * filter)
 {
   GstVideoAggregatorClass *vagg_klass = GST_VIDEO_AGGREGATOR_GET_CLASS (vagg);
@@ -680,9 +681,10 @@
   ret = gst_caps_merge (best_format_caps, gst_caps_ref (caps));
 
   if (filter) {
-    ret = gst_caps_intersect (ret, filter);
-  } else {
-    gst_caps_ref (ret);
+    GstCaps *tmp;
+    tmp = gst_caps_intersect (ret, filter);
+    gst_caps_unref (ret);
+    ret = tmp;
   }
 
   return ret;
@@ -690,7 +692,7 @@
 
 /* WITH GST_VIDEO_AGGREGATOR_LOCK TAKEN */
 static gboolean
-gst_videoaggregator_update_src_caps (GstVideoAggregator * vagg)
+gst_video_aggregator_update_src_caps (GstVideoAggregator * vagg)
 {
   GstVideoAggregatorClass *vagg_klass = GST_VIDEO_AGGREGATOR_GET_CLASS (vagg);
   GstVideoAggregatorPadClass *vaggpad_klass = g_type_class_peek
@@ -800,7 +802,7 @@
       }
     }
 
-    if (gst_videoaggregator_src_setcaps (vagg, caps)) {
+    if (gst_video_aggregator_src_setcaps (vagg, caps)) {
       if (vagg_klass->negotiated_caps)
         ret =
             GST_VIDEO_AGGREGATOR_GET_CLASS (vagg)->negotiated_caps (vagg, caps);
@@ -820,7 +822,27 @@
 }
 
 static gboolean
-gst_videoaggregator_pad_sink_setcaps (GstPad * pad, GstObject * parent,
+gst_video_aggregator_get_sinkpads_interlace_mode (GstVideoAggregator * vagg,
+    GstVideoAggregatorPad * skip_pad, GstVideoInterlaceMode * mode)
+{
+  GList *walk;
+
+  for (walk = GST_ELEMENT (vagg)->sinkpads; walk; walk = g_list_next (walk)) {
+    GstVideoAggregatorPad *vaggpad = walk->data;
+
+    if (skip_pad && vaggpad == skip_pad)
+      continue;
+    if (vaggpad->info.finfo
+        && GST_VIDEO_INFO_FORMAT (&vaggpad->info) != GST_VIDEO_FORMAT_UNKNOWN) {
+      *mode = GST_VIDEO_INFO_INTERLACE_MODE (&vaggpad->info);
+      return TRUE;
+    }
+  }
+  return FALSE;
+}
+
+static gboolean
+gst_video_aggregator_pad_sink_setcaps (GstPad * pad, GstObject * parent,
     GstCaps * caps)
 {
   GstVideoAggregator *vagg;
@@ -839,14 +861,28 @@
   }
 
   GST_VIDEO_AGGREGATOR_LOCK (vagg);
-  if (GST_VIDEO_INFO_FORMAT (&vagg->info) != GST_VIDEO_FORMAT_UNKNOWN) {
-    if (GST_VIDEO_INFO_INTERLACE_MODE (&vagg->info) !=
-        GST_VIDEO_INFO_INTERLACE_MODE (&info)) {
-      GST_ERROR_OBJECT (pad,
-          "got input caps %" GST_PTR_FORMAT ", but " "current caps are %"
-          GST_PTR_FORMAT, caps, vagg->priv->current_caps);
-      GST_VIDEO_AGGREGATOR_UNLOCK (vagg);
-      return FALSE;
+  {
+    GstVideoInterlaceMode pads_mode = GST_VIDEO_INTERLACE_MODE_PROGRESSIVE;
+    gboolean has_mode = FALSE;
+
+    /* get the current output setting or fallback to other pads settings */
+    if (GST_VIDEO_INFO_FORMAT (&vagg->info) != GST_VIDEO_FORMAT_UNKNOWN) {
+      pads_mode = GST_VIDEO_INFO_INTERLACE_MODE (&vagg->info);
+      has_mode = TRUE;
+    } else {
+      has_mode =
+          gst_video_aggregator_get_sinkpads_interlace_mode (vagg, vaggpad,
+          &pads_mode);
+    }
+
+    if (has_mode) {
+      if (pads_mode != GST_VIDEO_INFO_INTERLACE_MODE (&info)) {
+        GST_ERROR_OBJECT (pad,
+            "got input caps %" GST_PTR_FORMAT ", but current caps are %"
+            GST_PTR_FORMAT, caps, vagg->priv->current_caps);
+        GST_VIDEO_AGGREGATOR_UNLOCK (vagg);
+        return FALSE;
+      }
     }
   }
 
@@ -861,7 +897,7 @@
 }
 
 static gboolean
-gst_videoaggregator_caps_has_alpha (GstCaps * caps)
+gst_video_aggregator_caps_has_alpha (GstCaps * caps)
 {
   guint size = gst_caps_get_size (caps);
   guint i;
@@ -907,7 +943,7 @@
 }
 
 static GstCaps *
-gst_videoaggregator_pad_sink_getcaps (GstPad * pad, GstVideoAggregator * vagg,
+gst_video_aggregator_pad_sink_getcaps (GstPad * pad, GstVideoAggregator * vagg,
     GstCaps * filter)
 {
   GstCaps *srccaps;
@@ -918,6 +954,8 @@
   GstAggregator *agg = GST_AGGREGATOR (vagg);
   GstPad *srcpad = GST_PAD (agg->srcpad);
   gboolean has_alpha;
+  GstVideoInterlaceMode interlace_mode;
+  gboolean has_interlace_mode;
 
   template_caps = gst_pad_get_pad_template_caps (srcpad);
 
@@ -925,7 +963,11 @@
 
   srccaps = gst_pad_peer_query_caps (srcpad, template_caps);
   srccaps = gst_caps_make_writable (srccaps);
-  has_alpha = gst_videoaggregator_caps_has_alpha (srccaps);
+  has_alpha = gst_video_aggregator_caps_has_alpha (srccaps);
+
+  has_interlace_mode =
+      gst_video_aggregator_get_sinkpads_interlace_mode (vagg, NULL,
+      &interlace_mode);
 
   n = gst_caps_get_size (srccaps);
   for (i = 0; i < n; i++) {
@@ -936,6 +978,9 @@
 
     gst_structure_remove_fields (s, "colorimetry", "chroma-site", "format",
         "pixel-aspect-ratio", NULL);
+    if (has_interlace_mode)
+      gst_structure_set (s, "interlace-mode", G_TYPE_STRING,
+          gst_video_interlace_mode_to_string (interlace_mode), NULL);
   }
 
   if (filter) {
@@ -967,7 +1012,7 @@
 }
 
 static void
-gst_videoaggregator_update_qos (GstVideoAggregator * vagg, gdouble proportion,
+gst_video_aggregator_update_qos (GstVideoAggregator * vagg, gdouble proportion,
     GstClockTimeDiff diff, GstClockTime timestamp)
 {
   gboolean live;
@@ -999,14 +1044,14 @@
 }
 
 static void
-gst_videoaggregator_reset_qos (GstVideoAggregator * vagg)
+gst_video_aggregator_reset_qos (GstVideoAggregator * vagg)
 {
-  gst_videoaggregator_update_qos (vagg, 0.5, 0, GST_CLOCK_TIME_NONE);
+  gst_video_aggregator_update_qos (vagg, 0.5, 0, GST_CLOCK_TIME_NONE);
   vagg->priv->qos_processed = vagg->priv->qos_dropped = 0;
 }
 
 static void
-gst_videoaggregator_read_qos (GstVideoAggregator * vagg, gdouble * proportion,
+gst_video_aggregator_read_qos (GstVideoAggregator * vagg, gdouble * proportion,
     GstClockTime * time)
 {
   GST_OBJECT_LOCK (vagg);
@@ -1016,7 +1061,7 @@
 }
 
 static void
-gst_videoaggregator_reset (GstVideoAggregator * vagg)
+gst_video_aggregator_reset (GstVideoAggregator * vagg)
 {
   GstAggregator *agg = GST_AGGREGATOR (vagg);
   GList *l;
@@ -1028,7 +1073,7 @@
 
   agg->segment.position = -1;
 
-  gst_videoaggregator_reset_qos (vagg);
+  gst_video_aggregator_reset_qos (vagg);
 
   GST_OBJECT_LOCK (vagg);
   for (l = GST_ELEMENT (vagg)->sinkpads; l; l = l->next) {
@@ -1045,7 +1090,7 @@
 
 #define GST_FLOW_NEEDS_DATA GST_FLOW_CUSTOM_ERROR
 static gint
-gst_videoaggregator_fill_queues (GstVideoAggregator * vagg,
+gst_video_aggregator_fill_queues (GstVideoAggregator * vagg,
     GstClockTime output_start_running_time,
     GstClockTime output_end_running_time)
 {
@@ -1286,7 +1331,7 @@
 }
 
 static GstFlowReturn
-gst_videoaggregator_do_aggregate (GstVideoAggregator * vagg,
+gst_video_aggregator_do_aggregate (GstVideoAggregator * vagg,
     GstClockTime output_start_time, GstClockTime output_end_time,
     GstBuffer ** outbuf)
 {
@@ -1333,7 +1378,7 @@
 /* Perform qos calculations before processing the next frame. Returns TRUE if
  * the frame should be processed, FALSE if the frame can be dropped entirely */
 static gint64
-gst_videoaggregator_do_qos (GstVideoAggregator * vagg, GstClockTime timestamp)
+gst_video_aggregator_do_qos (GstVideoAggregator * vagg, GstClockTime timestamp)
 {
   GstAggregator *agg = GST_AGGREGATOR (vagg);
   GstClockTime qostime, earliest_time;
@@ -1347,7 +1392,7 @@
   }
 
   /* get latest QoS observation values */
-  gst_videoaggregator_read_qos (vagg, &proportion, &earliest_time);
+  gst_video_aggregator_read_qos (vagg, &proportion, &earliest_time);
 
   /* skip qos if we have no observation (yet) => process frame */
   if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (earliest_time))) {
@@ -1374,7 +1419,7 @@
 }
 
 static GstClockTime
-gst_videoaggregator_get_next_time (GstAggregator * agg)
+gst_video_aggregator_get_next_time (GstAggregator * agg)
 {
   GstClockTime next_time;
 
@@ -1395,7 +1440,7 @@
 }
 
 static GstFlowReturn
-gst_videoaggregator_check_reconfigure (GstVideoAggregator * vagg,
+gst_video_aggregator_check_reconfigure (GstVideoAggregator * vagg,
     gboolean timeout)
 {
   GstAggregator *agg = (GstAggregator *) vagg;
@@ -1404,7 +1449,7 @@
       || gst_pad_check_reconfigure (GST_AGGREGATOR_SRC_PAD (vagg))) {
     gboolean ret;
 
-    ret = gst_videoaggregator_update_src_caps (vagg);
+    ret = gst_video_aggregator_update_src_caps (vagg);
     if (!ret) {
       if (timeout && gst_pad_needs_reconfigure (GST_AGGREGATOR_SRC_PAD (vagg))) {
         guint64 frame_duration;
@@ -1445,7 +1490,7 @@
 }
 
 static GstFlowReturn
-gst_videoaggregator_aggregate (GstAggregator * agg, gboolean timeout)
+gst_video_aggregator_aggregate (GstAggregator * agg, gboolean timeout)
 {
   GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (agg);
   GstClockTime output_start_time, output_end_time;
@@ -1456,7 +1501,7 @@
 
   GST_VIDEO_AGGREGATOR_LOCK (vagg);
 
-  flow_ret = gst_videoaggregator_check_reconfigure (vagg, timeout);
+  flow_ret = gst_video_aggregator_check_reconfigure (vagg, timeout);
   if (flow_ret != GST_FLOW_OK) {
     if (flow_ret == GST_FLOW_NEEDS_DATA)
       flow_ret = GST_FLOW_OK;
@@ -1497,7 +1542,7 @@
     flow_ret = GST_FLOW_EOS;
   } else {
     flow_ret =
-        gst_videoaggregator_fill_queues (vagg, output_start_running_time,
+        gst_video_aggregator_fill_queues (vagg, output_start_running_time,
         output_end_running_time);
   }
 
@@ -1521,9 +1566,9 @@
       GST_TIME_ARGS (output_start_running_time),
       GST_TIME_ARGS (output_end_running_time));
 
-  jitter = gst_videoaggregator_do_qos (vagg, output_start_time);
+  jitter = gst_video_aggregator_do_qos (vagg, output_start_time);
   if (jitter <= 0) {
-    flow_ret = gst_videoaggregator_do_aggregate (vagg, output_start_time,
+    flow_ret = gst_video_aggregator_do_aggregate (vagg, output_start_time,
         output_end_time, &outbuf);
     if (flow_ret != GST_FLOW_OK)
       goto done;
@@ -1588,7 +1633,8 @@
  * cases work at least somewhat.
  */
 static gboolean
-gst_videoaggregator_query_duration (GstVideoAggregator * vagg, GstQuery * query)
+gst_video_aggregator_query_duration (GstVideoAggregator * vagg,
+    GstQuery * query)
 {
   GValue item = { 0 };
   gint64 max;
@@ -1659,7 +1705,7 @@
 }
 
 static gboolean
-gst_videoaggregator_src_query (GstAggregator * agg, GstQuery * query)
+gst_video_aggregator_src_query (GstAggregator * agg, GstQuery * query)
 {
   GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (agg);
   gboolean res = FALSE;
@@ -1684,11 +1730,11 @@
       break;
     }
     case GST_QUERY_DURATION:
-      res = gst_videoaggregator_query_duration (vagg, query);
+      res = gst_video_aggregator_query_duration (vagg, query);
       break;
     case GST_QUERY_LATENCY:
       res =
-          GST_AGGREGATOR_CLASS (gst_videoaggregator_parent_class)->src_query
+          GST_AGGREGATOR_CLASS (gst_video_aggregator_parent_class)->src_query
           (agg, query);
 
       if (res) {
@@ -1697,7 +1743,7 @@
       break;
     default:
       res =
-          GST_AGGREGATOR_CLASS (gst_videoaggregator_parent_class)->src_query
+          GST_AGGREGATOR_CLASS (gst_video_aggregator_parent_class)->src_query
           (agg, query);
       break;
   }
@@ -1705,7 +1751,7 @@
 }
 
 static gboolean
-gst_videoaggregator_src_event (GstAggregator * agg, GstEvent * event)
+gst_video_aggregator_src_event (GstAggregator * agg, GstEvent * event)
 {
   GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (agg);
 
@@ -1718,7 +1764,7 @@
       gdouble proportion;
 
       gst_event_parse_qos (event, &type, &proportion, &diff, &timestamp);
-      gst_videoaggregator_update_qos (vagg, proportion, diff, timestamp);
+      gst_video_aggregator_update_qos (vagg, proportion, diff, timestamp);
       break;
     }
     case GST_EVENT_SEEK:
@@ -1730,12 +1776,12 @@
   }
 
   return
-      GST_AGGREGATOR_CLASS (gst_videoaggregator_parent_class)->src_event (agg,
+      GST_AGGREGATOR_CLASS (gst_video_aggregator_parent_class)->src_event (agg,
       event);
 }
 
 static GstFlowReturn
-gst_videoaggregator_flush (GstAggregator * agg)
+gst_video_aggregator_flush (GstAggregator * agg)
 {
   GList *l;
   gdouble abs_rate;
@@ -1765,12 +1811,12 @@
   vagg->priv->ts_offset = 0;
   vagg->priv->nframes = 0;
 
-  gst_videoaggregator_reset_qos (vagg);
+  gst_video_aggregator_reset_qos (vagg);
   return GST_FLOW_OK;
 }
 
 static gboolean
-gst_videoaggregator_sink_event (GstAggregator * agg, GstAggregatorPad * bpad,
+gst_video_aggregator_sink_event (GstAggregator * agg, GstAggregatorPad * bpad,
     GstEvent * event)
 {
   GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (agg);
@@ -1787,7 +1833,7 @@
 
       gst_event_parse_caps (event, &caps);
       ret =
-          gst_videoaggregator_pad_sink_setcaps (GST_PAD (pad),
+          gst_video_aggregator_pad_sink_setcaps (GST_PAD (pad),
           GST_OBJECT (vagg), caps);
       gst_event_unref (event);
       event = NULL;
@@ -1798,7 +1844,7 @@
       gst_event_copy_segment (event, &seg);
 
       g_assert (seg.format == GST_FORMAT_TIME);
-      gst_videoaggregator_reset_qos (vagg);
+      gst_video_aggregator_reset_qos (vagg);
       break;
     }
     default:
@@ -1806,14 +1852,14 @@
   }
 
   if (event != NULL)
-    return GST_AGGREGATOR_CLASS (gst_videoaggregator_parent_class)->sink_event
+    return GST_AGGREGATOR_CLASS (gst_video_aggregator_parent_class)->sink_event
         (agg, bpad, event);
 
   return ret;
 }
 
 static gboolean
-gst_videoaggregator_start (GstAggregator * agg)
+gst_video_aggregator_start (GstAggregator * agg)
 {
   GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (agg);
 
@@ -1823,18 +1869,18 @@
 }
 
 static gboolean
-gst_videoaggregator_stop (GstAggregator * agg)
+gst_video_aggregator_stop (GstAggregator * agg)
 {
   GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (agg);
 
-  gst_videoaggregator_reset (vagg);
+  gst_video_aggregator_reset (vagg);
 
   return TRUE;
 }
 
 /* GstElement vmethods */
 static GstPad *
-gst_videoaggregator_request_new_pad (GstElement * element,
+gst_video_aggregator_request_new_pad (GstElement * element,
     GstPadTemplate * templ, const gchar * req_name, const GstCaps * caps)
 {
   GstVideoAggregator *vagg;
@@ -1843,7 +1889,7 @@
   vagg = GST_VIDEO_AGGREGATOR (element);
 
   vaggpad = (GstVideoAggregatorPad *)
-      GST_ELEMENT_CLASS (gst_videoaggregator_parent_class)->request_new_pad
+      GST_ELEMENT_CLASS (gst_video_aggregator_parent_class)->request_new_pad
       (element, templ, req_name, caps);
 
   if (vaggpad == NULL)
@@ -1864,7 +1910,7 @@
 }
 
 static void
-gst_videoaggregator_release_pad (GstElement * element, GstPad * pad)
+gst_video_aggregator_release_pad (GstElement * element, GstPad * pad)
 {
   GstVideoAggregator *vagg = NULL;
   GstVideoAggregatorPad *vaggpad;
@@ -1880,15 +1926,15 @@
   GST_OBJECT_UNLOCK (vagg);
 
   if (last_pad)
-    gst_videoaggregator_reset (vagg);
+    gst_video_aggregator_reset (vagg);
 
   gst_buffer_replace (&vaggpad->buffer, NULL);
 
   gst_child_proxy_child_removed (GST_CHILD_PROXY (vagg), G_OBJECT (vaggpad),
       GST_OBJECT_NAME (vaggpad));
 
-  GST_ELEMENT_CLASS (gst_videoaggregator_parent_class)->release_pad (GST_ELEMENT
-      (vagg), pad);
+  GST_ELEMENT_CLASS (gst_video_aggregator_parent_class)->release_pad
+      (GST_ELEMENT (vagg), pad);
 
   gst_pad_mark_reconfigure (GST_AGGREGATOR_SRC_PAD (vagg));
 
@@ -1897,7 +1943,7 @@
 }
 
 static GstFlowReturn
-gst_videoaggregator_get_output_buffer (GstVideoAggregator * videoaggregator,
+gst_video_aggregator_get_output_buffer (GstVideoAggregator * videoaggregator,
     GstBuffer ** outbuf)
 {
   guint outsize;
@@ -1915,7 +1961,7 @@
 }
 
 static gboolean
-gst_videoaggregator_pad_sink_acceptcaps (GstPad * pad,
+gst_video_aggregator_pad_sink_acceptcaps (GstPad * pad,
     GstVideoAggregator * vagg, GstCaps * caps)
 {
   gboolean ret;
@@ -1966,7 +2012,7 @@
 }
 
 static gboolean
-gst_videoaggregator_sink_query (GstAggregator * agg, GstAggregatorPad * bpad,
+gst_video_aggregator_sink_query (GstAggregator * agg, GstAggregatorPad * bpad,
     GstQuery * query)
 {
   GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (agg);
@@ -1979,7 +2025,8 @@
       GstCaps *filter, *caps;
 
       gst_query_parse_caps (query, &filter);
-      caps = gst_videoaggregator_pad_sink_getcaps (GST_PAD (pad), vagg, filter);
+      caps =
+          gst_video_aggregator_pad_sink_getcaps (GST_PAD (pad), vagg, filter);
       gst_query_set_caps_result (query, caps);
       gst_caps_unref (caps);
       ret = TRUE;
@@ -1990,14 +2037,15 @@
       GstCaps *caps;
 
       gst_query_parse_accept_caps (query, &caps);
-      ret = gst_videoaggregator_pad_sink_acceptcaps (GST_PAD (pad), vagg, caps);
+      ret =
+          gst_video_aggregator_pad_sink_acceptcaps (GST_PAD (pad), vagg, caps);
       gst_query_set_accept_caps_result (query, ret);
       ret = TRUE;
       break;
     }
     default:
       ret =
-          GST_AGGREGATOR_CLASS (gst_videoaggregator_parent_class)->sink_query
+          GST_AGGREGATOR_CLASS (gst_video_aggregator_parent_class)->sink_query
           (agg, bpad, query);
       break;
   }
@@ -2006,27 +2054,27 @@
 
 /* GObject vmethods */
 static void
-gst_videoaggregator_finalize (GObject * o)
+gst_video_aggregator_finalize (GObject * o)
 {
   GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (o);
 
   g_mutex_clear (&vagg->priv->lock);
 
-  G_OBJECT_CLASS (gst_videoaggregator_parent_class)->finalize (o);
+  G_OBJECT_CLASS (gst_video_aggregator_parent_class)->finalize (o);
 }
 
 static void
-gst_videoaggregator_dispose (GObject * o)
+gst_video_aggregator_dispose (GObject * o)
 {
   GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (o);
 
   gst_caps_replace (&vagg->priv->current_caps, NULL);
 
-  G_OBJECT_CLASS (gst_videoaggregator_parent_class)->dispose (o);
+  G_OBJECT_CLASS (gst_video_aggregator_parent_class)->dispose (o);
 }
 
 static void
-gst_videoaggregator_get_property (GObject * object,
+gst_video_aggregator_get_property (GObject * object,
     guint prop_id, GValue * value, GParamSpec * pspec)
 {
   switch (prop_id) {
@@ -2037,7 +2085,7 @@
 }
 
 static void
-gst_videoaggregator_set_property (GObject * object,
+gst_video_aggregator_set_property (GObject * object,
     guint prop_id, const GValue * value, GParamSpec * pspec)
 {
   switch (prop_id) {
@@ -2049,45 +2097,45 @@
 
 /* GObject boilerplate */
 static void
-gst_videoaggregator_class_init (GstVideoAggregatorClass * klass)
+gst_video_aggregator_class_init (GstVideoAggregatorClass * klass)
 {
   GObjectClass *gobject_class = (GObjectClass *) klass;
   GstElementClass *gstelement_class = (GstElementClass *) klass;
   GstAggregatorClass *agg_class = (GstAggregatorClass *) klass;
 
-  GST_DEBUG_CATEGORY_INIT (gst_videoaggregator_debug, "videoaggregator", 0,
+  GST_DEBUG_CATEGORY_INIT (gst_video_aggregator_debug, "videoaggregator", 0,
       "base video aggregator");
 
-  gst_videoaggregator_parent_class = g_type_class_peek_parent (klass);
+  gst_video_aggregator_parent_class = g_type_class_peek_parent (klass);
 
   g_type_class_add_private (klass, sizeof (GstVideoAggregatorPrivate));
 
-  gobject_class->finalize = gst_videoaggregator_finalize;
-  gobject_class->dispose = gst_videoaggregator_dispose;
+  gobject_class->finalize = gst_video_aggregator_finalize;
+  gobject_class->dispose = gst_video_aggregator_dispose;
 
-  gobject_class->get_property = gst_videoaggregator_get_property;
-  gobject_class->set_property = gst_videoaggregator_set_property;
+  gobject_class->get_property = gst_video_aggregator_get_property;
+  gobject_class->set_property = gst_video_aggregator_set_property;
 
   gstelement_class->request_new_pad =
-      GST_DEBUG_FUNCPTR (gst_videoaggregator_request_new_pad);
+      GST_DEBUG_FUNCPTR (gst_video_aggregator_request_new_pad);
   gstelement_class->release_pad =
-      GST_DEBUG_FUNCPTR (gst_videoaggregator_release_pad);
+      GST_DEBUG_FUNCPTR (gst_video_aggregator_release_pad);
 
   agg_class->sinkpads_type = GST_TYPE_VIDEO_AGGREGATOR_PAD;
-  agg_class->start = gst_videoaggregator_start;
-  agg_class->stop = gst_videoaggregator_stop;
-  agg_class->sink_query = gst_videoaggregator_sink_query;
-  agg_class->sink_event = gst_videoaggregator_sink_event;
-  agg_class->flush = gst_videoaggregator_flush;
-  agg_class->aggregate = gst_videoaggregator_aggregate;
-  agg_class->src_event = gst_videoaggregator_src_event;
-  agg_class->src_query = gst_videoaggregator_src_query;
-  agg_class->get_next_time = gst_videoaggregator_get_next_time;
+  agg_class->start = gst_video_aggregator_start;
+  agg_class->stop = gst_video_aggregator_stop;
+  agg_class->sink_query = gst_video_aggregator_sink_query;
+  agg_class->sink_event = gst_video_aggregator_sink_event;
+  agg_class->flush = gst_video_aggregator_flush;
+  agg_class->aggregate = gst_video_aggregator_aggregate;
+  agg_class->src_event = gst_video_aggregator_src_event;
+  agg_class->src_query = gst_video_aggregator_src_query;
+  agg_class->get_next_time = gst_video_aggregator_get_next_time;
 
-  klass->find_best_format = gst_videoaggreagator_find_best_format;
-  klass->get_output_buffer = gst_videoaggregator_get_output_buffer;
-  klass->update_caps = gst_videoaggregator_default_update_caps;
-  klass->fixate_caps = gst_videoaggregator_default_fixate_caps;
+  klass->find_best_format = gst_video_aggregator_find_best_format;
+  klass->get_output_buffer = gst_video_aggregator_get_output_buffer;
+  klass->update_caps = gst_video_aggregator_default_update_caps;
+  klass->fixate_caps = gst_video_aggregator_default_fixate_caps;
 
   /* Register the pad class */
   g_type_class_ref (GST_TYPE_VIDEO_AGGREGATOR_PAD);
@@ -2166,7 +2214,7 @@
 static GMutex sink_caps_mutex;
 
 static void
-gst_videoaggregator_init (GstVideoAggregator * vagg,
+gst_video_aggregator_init (GstVideoAggregator * vagg,
     GstVideoAggregatorClass * klass)
 {
 
@@ -2182,8 +2230,12 @@
   g_mutex_lock (&sink_caps_mutex);
   if (klass->sink_non_alpha_caps == NULL) {
     klass->sink_non_alpha_caps = _get_non_alpha_caps_from_template (klass);
+
+    /* The caps is cached */
+    GST_MINI_OBJECT_FLAG_SET (klass->sink_non_alpha_caps,
+        GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED);
   }
   g_mutex_unlock (&sink_caps_mutex);
 
-  gst_videoaggregator_reset (vagg);
+  gst_video_aggregator_reset (vagg);
 }
diff --git a/gst-libs/gst/video/gstvideoaggregator.h b/gst-libs/gst/video/gstvideoaggregator.h
index 86df0b6..6204bdd 100644
--- a/gst-libs/gst/video/gstvideoaggregator.h
+++ b/gst-libs/gst/video/gstvideoaggregator.h
@@ -32,7 +32,7 @@
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_VIDEO_AGGREGATOR (gst_videoaggregator_get_type())
+#define GST_TYPE_VIDEO_AGGREGATOR (gst_video_aggregator_get_type())
 #define GST_VIDEO_AGGREGATOR(obj) \
         (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VIDEO_AGGREGATOR, GstVideoAggregator))
 #define GST_VIDEO_AGGREGATOR_CLASS(klass) \
@@ -118,7 +118,7 @@
   gpointer            _gst_reserved[GST_PADDING_LARGE];
 };
 
-GType gst_videoaggregator_get_type       (void);
+GType gst_video_aggregator_get_type       (void);
 
 G_END_DECLS
 #endif /* __GST_VIDEO_AGGREGATOR_H__ */
diff --git a/gst-libs/gst/video/gstvideoaggregatorpad.h b/gst-libs/gst/video/gstvideoaggregatorpad.h
index 4302aa3..3360b53 100644
--- a/gst-libs/gst/video/gstvideoaggregatorpad.h
+++ b/gst-libs/gst/video/gstvideoaggregatorpad.h
@@ -29,7 +29,7 @@
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_VIDEO_AGGREGATOR_PAD (gst_videoaggregator_pad_get_type())
+#define GST_TYPE_VIDEO_AGGREGATOR_PAD (gst_video_aggregator_pad_get_type())
 #define GST_VIDEO_AGGREGATOR_PAD(obj) \
         (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VIDEO_AGGREGATOR_PAD, GstVideoAggregatorPad))
 #define GST_VIDEO_AGGREGATOR_PAD_CLASS(klass) \
@@ -106,7 +106,7 @@
   gpointer          _gst_reserved[GST_PADDING_LARGE];
 };
 
-GType gst_videoaggregator_pad_get_type (void);
+GType gst_video_aggregator_pad_get_type (void);
 
 G_END_DECLS
 #endif /* __GST_VIDEO_AGGREGATOR_PAD_H__ */
diff --git a/gst-libs/gst/wayland/Makefile.in b/gst-libs/gst/wayland/Makefile.in
index b2be04e..a657f4c 100644
--- a/gst-libs/gst/wayland/Makefile.in
+++ b/gst-libs/gst/wayland/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst-plugins-bad.doap b/gst-plugins-bad.doap
index a6b280b..97eeb8a 100644
--- a/gst-plugins-bad.doap
+++ b/gst-plugins-bad.doap
@@ -35,21 +35,11 @@
 
  <release>
   <Version>
-   <revision>1.8.2</revision>
-   <branch>1.8</branch>
+   <revision>1.9.1</revision>
+   <branch>master</branch>
    <name></name>
-   <created>2016-06-09</created>
-   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.8.2.tar.xz" />
-  </Version>
- </release>
-
- <release>
-  <Version>
-   <revision>1.8.1</revision>
-   <branch>1.8</branch>
-   <name></name>
-   <created>2016-04-20</created>
-   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.8.1.tar.xz" />
+   <created>2016-06-06</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.9.1.tar.xz" />
   </Version>
  </release>
 
diff --git a/gst-plugins-bad.spec b/gst-plugins-bad.spec
index a7403df..d5b7698 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.8.2
+Version: 1.9.1
 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 2a090e4..c86b66b 100644
--- a/gst/Makefile.in
+++ b/gst/Makefile.in
@@ -281,6 +281,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -496,6 +498,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -622,8 +626,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -668,6 +670,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/accurip/Makefile.in b/gst/accurip/Makefile.in
index df7b44a..95f90ce 100644
--- a/gst/accurip/Makefile.in
+++ b/gst/accurip/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/adpcmdec/Makefile.in b/gst/adpcmdec/Makefile.in
index 95d425a..f0eebbb 100644
--- a/gst/adpcmdec/Makefile.in
+++ b/gst/adpcmdec/Makefile.in
@@ -299,6 +299,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -514,6 +516,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -640,8 +644,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -686,6 +688,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/adpcmdec/adpcmdec.c b/gst/adpcmdec/adpcmdec.c
index 83289ba..3cfa820 100644
--- a/gst/adpcmdec/adpcmdec.c
+++ b/gst/adpcmdec/adpcmdec.c
@@ -467,13 +467,12 @@
   GstElementClass *element_class = (GstElementClass *) klass;
   GstAudioDecoderClass *base_class = (GstAudioDecoderClass *) klass;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&adpcmdec_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&adpcmdec_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &adpcmdec_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &adpcmdec_src_template);
   gst_element_class_set_static_metadata (element_class, "ADPCM decoder",
-      "Codec/Decoder/Audio",
-      "Decode MS and IMA ADPCM audio",
+      "Codec/Decoder/Audio", "Decode MS and IMA ADPCM audio",
       "Pioneers of the Inevitable <songbird@songbirdnest.com>");
 
   base_class->start = GST_DEBUG_FUNCPTR (adpcmdec_start);
diff --git a/gst/adpcmenc/Makefile.in b/gst/adpcmenc/Makefile.in
index 1cede6e..2ad407c 100644
--- a/gst/adpcmenc/Makefile.in
+++ b/gst/adpcmenc/Makefile.in
@@ -299,6 +299,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -514,6 +516,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -640,8 +644,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -686,6 +688,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/adpcmenc/adpcmenc.c b/gst/adpcmenc/adpcmenc.c
index def90cf..8391b08 100644
--- a/gst/adpcmenc/adpcmenc.c
+++ b/gst/adpcmenc/adpcmenc.c
@@ -438,13 +438,12 @@
   gobjectclass->set_property = adpcmenc_set_property;
   gobjectclass->get_property = adpcmenc_get_property;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&adpcmenc_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&adpcmenc_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &adpcmenc_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &adpcmenc_src_template);
   gst_element_class_set_static_metadata (element_class, "ADPCM encoder",
-      "Codec/Encoder/Audio",
-      "Encode ADPCM audio",
+      "Codec/Encoder/Audio", "Encode ADPCM audio",
       "Pioneers of the Inevitable <songbird@songbirdnest.com>");
 
   base_class->start = GST_DEBUG_FUNCPTR (adpcmenc_start);
diff --git a/gst/aiff/Makefile.in b/gst/aiff/Makefile.in
index e0b3060..d59580c 100644
--- a/gst/aiff/Makefile.in
+++ b/gst/aiff/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/aiff/aiffmux.c b/gst/aiff/aiffmux.c
index 5d5fded..0f6d330 100644
--- a/gst/aiff/aiffmux.c
+++ b/gst/aiff/aiffmux.c
@@ -113,10 +113,8 @@
       "AIFF audio muxer", "Muxer/Audio", "Multiplex raw audio into AIFF",
       "Robert Swain <robert.swain@gmail.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
 
   gstelement_class->change_state =
       GST_DEBUG_FUNCPTR (gst_aiff_mux_change_state);
diff --git a/gst/aiff/aiffparse.c b/gst/aiff/aiffparse.c
index 5600a7e..27c8313 100644
--- a/gst/aiff/aiffparse.c
+++ b/gst/aiff/aiffparse.c
@@ -120,10 +120,10 @@
 
   object_class->dispose = gst_aiff_parse_dispose;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &sink_template_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &src_template_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "AIFF audio demuxer", "Codec/Demuxer/Audio",
diff --git a/gst/asfmux/Makefile.in b/gst/asfmux/Makefile.in
index 60fa5b4..b6b100b 100644
--- a/gst/asfmux/Makefile.in
+++ b/gst/asfmux/Makefile.in
@@ -307,6 +307,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -522,6 +524,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -648,8 +652,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -694,6 +696,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/asfmux/gstasfmux.c b/gst/asfmux/gstasfmux.c
index 45617be..3579a55 100644
--- a/gst/asfmux/gstasfmux.c
+++ b/gst/asfmux/gstasfmux.c
@@ -270,12 +270,11 @@
       GST_DEBUG_FUNCPTR (gst_asf_mux_request_new_pad);
   gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_asf_mux_change_state);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&audio_sink_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&video_sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &audio_sink_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &video_sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class, "ASF muxer",
       "Codec/Muxer",
diff --git a/gst/asfmux/gstasfparse.c b/gst/asfmux/gstasfparse.c
index c288266..6cc75b6 100644
--- a/gst/asfmux/gstasfparse.c
+++ b/gst/asfmux/gstasfparse.c
@@ -400,10 +400,8 @@
   gstbaseparse_class->stop = gst_asf_parse_stop;
   gstbaseparse_class->handle_frame = gst_asf_parse_handle_frame;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class, "ASF parser",
       "Parser", "Parses ASF", "Thiago Santos <thiagoss@embedded.ufcg.edu.br>");
diff --git a/gst/asfmux/gstrtpasfpay.c b/gst/asfmux/gstrtpasfpay.c
index e5ff0de..9b1e032 100644
--- a/gst/asfmux/gstrtpasfpay.c
+++ b/gst/asfmux/gstrtpasfpay.c
@@ -96,10 +96,10 @@
   gstbasertppayload_class->handle_buffer = gst_rtp_asf_pay_handle_buffer;
   gstbasertppayload_class->set_caps = gst_rtp_asf_pay_set_caps;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rtp_asf_pay_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rtp_asf_pay_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_rtp_asf_pay_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_rtp_asf_pay_src_template);
   gst_element_class_set_static_metadata (gstelement_class, "RTP ASF payloader",
       "Codec/Payloader/Network",
       "Payload-encodes ASF into RTP packets (MS_RTSP)",
diff --git a/gst/audiofxbad/Makefile.in b/gst/audiofxbad/Makefile.in
index 7d065d2..5972f58 100644
--- a/gst/audiofxbad/Makefile.in
+++ b/gst/audiofxbad/Makefile.in
@@ -301,6 +301,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -516,6 +518,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -642,8 +646,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -688,6 +690,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/audiofxbad/gstaudiochannelmix.c b/gst/audiofxbad/gstaudiochannelmix.c
index aebe84a..7d92a5b 100644
--- a/gst/audiofxbad/gstaudiochannelmix.c
+++ b/gst/audiofxbad/gstaudiochannelmix.c
@@ -102,10 +102,10 @@
 
   /* Setting up pads and setting metadata should be moved to
      base_class_init if you intend to subclass this class. */
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
-      gst_static_pad_template_get (&gst_audio_channel_mix_src_template));
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
-      gst_static_pad_template_get (&gst_audio_channel_mix_sink_template));
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+      &gst_audio_channel_mix_src_template);
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+      &gst_audio_channel_mix_sink_template);
 
   gst_element_class_set_static_metadata (GST_ELEMENT_CLASS (klass),
       "Simple stereo audio mixer", "Audio/Mixer", "Mixes left/right channels "
diff --git a/gst/audiomixer/Makefile.in b/gst/audiomixer/Makefile.in
index db32131..814cebc 100644
--- a/gst/audiomixer/Makefile.in
+++ b/gst/audiomixer/Makefile.in
@@ -332,6 +332,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -547,6 +549,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -673,8 +677,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -719,6 +721,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/audiomixer/gstaudiointerleave.c b/gst/audiomixer/gstaudiointerleave.c
index 39b86e8..e91b645 100644
--- a/gst/audiomixer/gstaudiointerleave.c
+++ b/gst/audiomixer/gstaudiointerleave.c
@@ -566,13 +566,12 @@
   gobject_class->get_property = gst_audio_interleave_get_property;
   gobject_class->finalize = gst_audio_interleave_finalize;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_audio_interleave_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_audio_interleave_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_audio_interleave_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_audio_interleave_sink_template);
   gst_element_class_set_static_metadata (gstelement_class, "AudioInterleave",
-      "Generic/Audio",
-      "Mixes multiple audio streams",
+      "Generic/Audio", "Mixes multiple audio streams",
       "Olivier Crete <olivier.crete@collabora.com>");
 
   gstelement_class->request_new_pad =
diff --git a/gst/audiomixer/gstaudiomixer.c b/gst/audiomixer/gstaudiomixer.c
index b211f7d..de539db 100644
--- a/gst/audiomixer/gstaudiomixer.c
+++ b/gst/audiomixer/gstaudiomixer.c
@@ -485,13 +485,12 @@
           "Setting this property takes a reference to the supplied GstCaps "
           "object", GST_TYPE_CAPS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_audiomixer_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_audiomixer_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_audiomixer_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_audiomixer_sink_template);
   gst_element_class_set_static_metadata (gstelement_class, "AudioMixer",
-      "Generic/Audio",
-      "Mixes multiple audio streams",
+      "Generic/Audio", "Mixes multiple audio streams",
       "Sebastian Dröge <sebastian@centricular.com>");
 
   gstelement_class->request_new_pad =
diff --git a/gst/audiovisualizers/Makefile.in b/gst/audiovisualizers/Makefile.in
index 08ab702..75c29ee 100644
--- a/gst/audiovisualizers/Makefile.in
+++ b/gst/audiovisualizers/Makefile.in
@@ -310,6 +310,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -525,6 +527,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -651,8 +655,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -697,6 +699,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/audiovisualizers/gstspacescope.c b/gst/audiovisualizers/gstspacescope.c
index 6cde066..5071dc8 100644
--- a/gst/audiovisualizers/gstspacescope.c
+++ b/gst/audiovisualizers/gstspacescope.c
@@ -39,15 +39,17 @@
 #include <stdlib.h>
 #include "gstspacescope.h"
 
+#if G_BYTE_ORDER == G_BIG_ENDIAN
+#define RGB_ORDER "xRGB"
+#else
+#define RGB_ORDER "BGRx"
+#endif
+
 static GstStaticPadTemplate gst_space_scope_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-#if G_BYTE_ORDER == G_BIG_ENDIAN
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("xRGB"))
-#else
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("BGRx"))
-#endif
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (RGB_ORDER))
     );
 
 static GstStaticPadTemplate gst_space_scope_sink_template =
@@ -131,10 +133,10 @@
       "Visualization",
       "Simple stereo visualizer", "Stefan Kost <ensonic@users.sf.net>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_space_scope_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_space_scope_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_space_scope_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_space_scope_sink_template);
 
   gobject_class->set_property = gst_space_scope_set_property;
   gobject_class->get_property = gst_space_scope_get_property;
diff --git a/gst/audiovisualizers/gstspectrascope.c b/gst/audiovisualizers/gstspectrascope.c
index 297d3ef..10aa7d2 100644
--- a/gst/audiovisualizers/gstspectrascope.c
+++ b/gst/audiovisualizers/gstspectrascope.c
@@ -40,15 +40,17 @@
 
 #include "gstspectrascope.h"
 
+#if G_BYTE_ORDER == G_BIG_ENDIAN
+#define RGB_ORDER "xRGB"
+#else
+#define RGB_ORDER "BGRx"
+#endif
+
 static GstStaticPadTemplate gst_spectra_scope_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-#if G_BYTE_ORDER == G_BIG_ENDIAN
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("xRGB"))
-#else
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("BGRx"))
-#endif
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (RGB_ORDER))
     );
 
 static GstStaticPadTemplate gst_spectra_scope_sink_template =
@@ -88,10 +90,10 @@
       "Frequency spectrum scope", "Visualization",
       "Simple frequency spectrum scope", "Stefan Kost <ensonic@users.sf.net>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_spectra_scope_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_spectra_scope_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_spectra_scope_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_spectra_scope_sink_template);
 
   scope_class->setup = GST_DEBUG_FUNCPTR (gst_spectra_scope_setup);
   scope_class->render = GST_DEBUG_FUNCPTR (gst_spectra_scope_render);
diff --git a/gst/audiovisualizers/gstsynaescope.c b/gst/audiovisualizers/gstsynaescope.c
index dfadf09..f99a753 100644
--- a/gst/audiovisualizers/gstsynaescope.c
+++ b/gst/audiovisualizers/gstsynaescope.c
@@ -38,15 +38,17 @@
 
 #include "gstsynaescope.h"
 
+#if G_BYTE_ORDER == G_BIG_ENDIAN
+#define RGB_ORDER "xRGB"
+#else
+#define RGB_ORDER "BGRx"
+#endif
+
 static GstStaticPadTemplate gst_synae_scope_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-#if G_BYTE_ORDER == G_BIG_ENDIAN
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("xRGB"))
-#else
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("BGRx"))
-#endif
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (RGB_ORDER))
     );
 
 static GstStaticPadTemplate gst_synae_scope_sink_template =
@@ -87,10 +89,10 @@
       "Creates video visualizations of audio input, using stereo and pitch information",
       "Stefan Kost <ensonic@users.sf.net>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_synae_scope_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_synae_scope_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_synae_scope_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_synae_scope_sink_template);
 
   scope_class->setup = GST_DEBUG_FUNCPTR (gst_synae_scope_setup);
   scope_class->render = GST_DEBUG_FUNCPTR (gst_synae_scope_render);
diff --git a/gst/audiovisualizers/gstwavescope.c b/gst/audiovisualizers/gstwavescope.c
index ad125b0..e4eb8c2 100644
--- a/gst/audiovisualizers/gstwavescope.c
+++ b/gst/audiovisualizers/gstwavescope.c
@@ -39,15 +39,17 @@
 #include <stdlib.h>
 #include "gstwavescope.h"
 
+#if G_BYTE_ORDER == G_BIG_ENDIAN
+#define RGB_ORDER "xRGB"
+#else
+#define RGB_ORDER "BGRx"
+#endif
+
 static GstStaticPadTemplate gst_wave_scope_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-#if G_BYTE_ORDER == G_BIG_ENDIAN
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("xRGB"))
-#else
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("BGRx"))
-#endif
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (RGB_ORDER))
     );
 
 static GstStaticPadTemplate gst_wave_scope_sink_template =
@@ -146,10 +148,10 @@
       "Waveform oscilloscope", "Visualization", "Simple waveform oscilloscope",
       "Stefan Kost <ensonic@users.sf.net>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_wave_scope_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_wave_scope_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_wave_scope_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_wave_scope_sink_template);
 }
 
 static void
diff --git a/gst/autoconvert/Makefile.in b/gst/autoconvert/Makefile.in
index a951011..d674bc3 100644
--- a/gst/autoconvert/Makefile.in
+++ b/gst/autoconvert/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/autoconvert/gstautoconvert.c b/gst/autoconvert/gstautoconvert.c
index b5a1035..77e095a 100644
--- a/gst/autoconvert/gstautoconvert.c
+++ b/gst/autoconvert/gstautoconvert.c
@@ -159,10 +159,8 @@
   parent_quark = g_quark_from_static_string ("parent");
 
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Select convertor based on caps", "Generic/Bin",
diff --git a/gst/autoconvert/gstautovideoconvert.c b/gst/autoconvert/gstautovideoconvert.c
index 11fc974..7e0ea9e 100644
--- a/gst/autoconvert/gstautovideoconvert.c
+++ b/gst/autoconvert/gstautovideoconvert.c
@@ -140,10 +140,8 @@
   GST_DEBUG_CATEGORY_INIT (autovideoconvert_debug, "autovideoconvert", 0,
       "Auto color space converter");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Select color space convertor based on caps", "Generic/Bin",
diff --git a/gst/bayer/Makefile.in b/gst/bayer/Makefile.in
index bc71546..547253a 100644
--- a/gst/bayer/Makefile.in
+++ b/gst/bayer/Makefile.in
@@ -326,6 +326,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -543,6 +545,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -669,8 +673,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -715,6 +717,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/bayer/gstrgb2bayer.c b/gst/bayer/gstrgb2bayer.c
index 495f151..9ef5c89 100644
--- a/gst/bayer/gstrgb2bayer.c
+++ b/gst/bayer/gstrgb2bayer.c
@@ -87,10 +87,10 @@
 
   gobject_class->finalize = gst_rgb2bayer_finalize;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rgb2bayer_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rgb2bayer_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_rgb2bayer_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_rgb2bayer_sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "RGB to Bayer converter",
diff --git a/gst/camerabin2/Makefile.in b/gst/camerabin2/Makefile.in
index 0caf788..900fdb2 100644
--- a/gst/camerabin2/Makefile.in
+++ b/gst/camerabin2/Makefile.in
@@ -310,6 +310,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -525,6 +527,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -651,8 +655,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -697,6 +699,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/camerabin2/gstdigitalzoom.c b/gst/camerabin2/gstdigitalzoom.c
index 20c01be..b936fe4 100644
--- a/gst/camerabin2/gstdigitalzoom.c
+++ b/gst/camerabin2/gstdigitalzoom.c
@@ -376,10 +376,8 @@
   GST_DEBUG_CATEGORY_INIT (digital_zoom_debug, "digitalzoom",
       0, "digital zoom");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class, &src_template);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Digital zoom bin", "Generic/Video",
diff --git a/gst/camerabin2/gstviewfinderbin.c b/gst/camerabin2/gstviewfinderbin.c
index 3ae6c31..7ff7bd5 100644
--- a/gst/camerabin2/gstviewfinderbin.c
+++ b/gst/camerabin2/gstviewfinderbin.c
@@ -122,8 +122,7 @@
           DEFAULT_DISABLE_CONVERTERS,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   gst_element_class_set_static_metadata (element_class, "Viewfinder Bin",
       "Sink/Video", "Viewfinder Bin used in camerabin2",
diff --git a/gst/camerabin2/gstwrappercamerabinsrc.c b/gst/camerabin2/gstwrappercamerabinsrc.c
index 7796107..4c2d8ec 100644
--- a/gst/camerabin2/gstwrappercamerabinsrc.c
+++ b/gst/camerabin2/gstwrappercamerabinsrc.c
@@ -1123,14 +1123,13 @@
   GST_DEBUG_CATEGORY_INIT (wrapper_camera_bin_src_debug, "wrappercamerabinsrc",
       0, "wrapper camera src");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&vfsrc_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &vfsrc_template);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&imgsrc_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &imgsrc_template);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&vidsrc_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &vidsrc_template);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Wrapper camera src element for camerabin2", "Source/Video",
diff --git a/gst/cdxaparse/Makefile.in b/gst/cdxaparse/Makefile.in
index 3f2b137..34de1a4 100644
--- a/gst/cdxaparse/Makefile.in
+++ b/gst/cdxaparse/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/cdxaparse/gstcdxaparse.c b/gst/cdxaparse/gstcdxaparse.c
index cf0d08f..4334362 100644
--- a/gst/cdxaparse/gstcdxaparse.c
+++ b/gst/cdxaparse/gstcdxaparse.c
@@ -76,10 +76,10 @@
       "Wim Taymans <wim.taymans@tvd.be>");
 
   /* register src pads */
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &sink_template_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &src_template_factory);
 }
 
 static void
diff --git a/gst/cdxaparse/gstvcdparse.c b/gst/cdxaparse/gstvcdparse.c
index 4a3a7e7..424e839 100644
--- a/gst/cdxaparse/gstvcdparse.c
+++ b/gst/cdxaparse/gstvcdparse.c
@@ -55,10 +55,8 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
 
   gst_element_class_set_static_metadata (element_class, "(S)VCD stream parser",
       "Codec/Parser", "Strip (S)VCD stream from its sync headers",
diff --git a/gst/coloreffects/Makefile.in b/gst/coloreffects/Makefile.in
index 793eb5a..c637219 100644
--- a/gst/coloreffects/Makefile.in
+++ b/gst/coloreffects/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/coloreffects/gstchromahold.c b/gst/coloreffects/gstchromahold.c
index 097312a..011c401 100644
--- a/gst/coloreffects/gstchromahold.c
+++ b/gst/coloreffects/gstchromahold.c
@@ -153,10 +153,10 @@
       "Removes all color information except for one color",
       "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_chroma_hold_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_chroma_hold_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_chroma_hold_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_chroma_hold_src_template);
 
   GST_DEBUG_CATEGORY_INIT (gst_chroma_hold_debug, "chromahold", 0,
       "chromahold - Removes all color information except for one color");
diff --git a/gst/coloreffects/gstcoloreffects.c b/gst/coloreffects/gstcoloreffects.c
index a62a45d..5a1aea1 100644
--- a/gst/coloreffects/gstcoloreffects.c
+++ b/gst/coloreffects/gstcoloreffects.c
@@ -590,10 +590,10 @@
       "Color Look-up Table filter",
       "Filippo Argiolas <filippo.argiolas@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_color_effects_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_color_effects_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_color_effects_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_color_effects_src_template);
 }
 
 static void
diff --git a/gst/compositor/Makefile.in b/gst/compositor/Makefile.in
index b00c88d..f87fa3d 100644
--- a/gst/compositor/Makefile.in
+++ b/gst/compositor/Makefile.in
@@ -333,6 +333,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -548,6 +550,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -674,8 +678,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -720,6 +722,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/compositor/compositor.c b/gst/compositor/compositor.c
index eced976..c9fd3fc 100644
--- a/gst/compositor/compositor.c
+++ b/gst/compositor/compositor.c
@@ -75,7 +75,7 @@
  * ]| A pipeline to demonstrate compositor used together with videobox.
  * This should show a 320x240 pixels video test source with some transparency
  * showing the background checker pattern. Another video test source with just
- * the snow pattern of 100x100 pixels is overlayed on top of the first one on
+ * the snow pattern of 100x100 pixels is overlaid on top of the first one on
  * the left vertically centered with a small transparency showing the first
  * video test source behind and the checker pattern under it. Note that the
  * framerate of the output video is 10 frames per second.
@@ -239,9 +239,12 @@
       comp_pad->height <=
       0 ? GST_VIDEO_INFO_HEIGHT (&vagg_pad->info) : comp_pad->height;
 
-  gst_video_calculate_display_ratio (&dar_n, &dar_d, pad_width, pad_height,
-      GST_VIDEO_INFO_PAR_N (&vagg_pad->info),
-      GST_VIDEO_INFO_PAR_D (&vagg_pad->info), out_par_n, out_par_d);
+  if (!gst_video_calculate_display_ratio (&dar_n, &dar_d, pad_width, pad_height,
+          GST_VIDEO_INFO_PAR_N (&vagg_pad->info),
+          GST_VIDEO_INFO_PAR_D (&vagg_pad->info), out_par_n, out_par_d)) {
+    GST_WARNING_OBJECT (comp_pad, "Cannot calculate display aspect ratio");
+    *width = *height = 0;
+  }
   GST_LOG_OBJECT (comp_pad, "scaling %ux%u by %u/%u (%u/%u / %u/%u)", pad_width,
       pad_height, dar_n, dar_d, GST_VIDEO_INFO_PAR_N (&vagg_pad->info),
       GST_VIDEO_INFO_PAR_D (&vagg_pad->info), out_par_n, out_par_d);
@@ -254,10 +257,8 @@
     pad_width = gst_util_uint64_scale_int (pad_height, dar_n, dar_d);
   }
 
-  if (width)
-    *width = pad_width;
-  if (height)
-    *height = pad_height;
+  *width = pad_width;
+  *height = pad_height;
 }
 
 static gboolean
@@ -1112,10 +1113,8 @@
           GST_TYPE_COMPOSITOR_BACKGROUND,
           DEFAULT_BACKGROUND, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class, "Compositor",
       "Filter/Editor/Video/Compositor",
diff --git a/gst/dataurisrc/Makefile.in b/gst/dataurisrc/Makefile.in
index 8756410..408eca8 100644
--- a/gst/dataurisrc/Makefile.in
+++ b/gst/dataurisrc/Makefile.in
@@ -299,6 +299,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -514,6 +516,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -640,8 +644,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -686,6 +688,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/dataurisrc/gstdataurisrc.c b/gst/dataurisrc/gstdataurisrc.c
index fe018b0..84ec894 100644
--- a/gst/dataurisrc/gstdataurisrc.c
+++ b/gst/dataurisrc/gstdataurisrc.c
@@ -99,8 +99,7 @@
           "URI that should be used",
           NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
   gst_element_class_set_static_metadata (element_class,
       "data: URI source element", "Source", "Handles data: uris",
       "Philippe Normand <pnormand@igalia.com>, "
diff --git a/gst/dccp/Makefile.in b/gst/dccp/Makefile.in
index 2b8fc41..f21618b 100644
--- a/gst/dccp/Makefile.in
+++ b/gst/dccp/Makefile.in
@@ -309,6 +309,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -524,6 +526,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -650,8 +654,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -696,6 +698,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/dccp/gstdccpclientsink.c b/gst/dccp/gstdccpclientsink.c
index 9e1f999..058db2b 100644
--- a/gst/dccp/gstdccpclientsink.c
+++ b/gst/dccp/gstdccpclientsink.c
@@ -239,8 +239,7 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (element_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (element_class, "DCCP client sink",
       "Sink/Network",
diff --git a/gst/dccp/gstdccpclientsrc.c b/gst/dccp/gstdccpclientsrc.c
index a467a87..21ac8e2 100644
--- a/gst/dccp/gstdccpclientsrc.c
+++ b/gst/dccp/gstdccpclientsrc.c
@@ -272,8 +272,7 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_add_static_pad_template (element_class, &srctemplate);
 
   gst_element_class_set_static_metadata (element_class, "DCCP client source",
       "Source/Network",
diff --git a/gst/dccp/gstdccpserversink.c b/gst/dccp/gstdccpserversink.c
index 98e0960..7623523 100644
--- a/gst/dccp/gstdccpserversink.c
+++ b/gst/dccp/gstdccpserversink.c
@@ -336,8 +336,7 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (element_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (element_class, "DCCP server sink",
       "Sink/Network",
diff --git a/gst/dccp/gstdccpserversrc.c b/gst/dccp/gstdccpserversrc.c
index d8e231d..357a8d1 100644
--- a/gst/dccp/gstdccpserversrc.c
+++ b/gst/dccp/gstdccpserversrc.c
@@ -262,8 +262,7 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_add_static_pad_template (element_class, &srctemplate);
 
   gst_element_class_set_static_metadata (element_class, "DCCP server source",
       "Source/Network",
diff --git a/gst/debugutils/Makefile.in b/gst/debugutils/Makefile.in
index e5ad858..393485f 100644
--- a/gst/debugutils/Makefile.in
+++ b/gst/debugutils/Makefile.in
@@ -310,6 +310,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -525,6 +527,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -651,8 +655,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -697,6 +699,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/debugutils/fpsdisplaysink.c b/gst/debugutils/fpsdisplaysink.c
index 92b3201..00f89a3 100644
--- a/gst/debugutils/fpsdisplaysink.c
+++ b/gst/debugutils/fpsdisplaysink.c
@@ -205,8 +205,8 @@
 
   gstelement_klass->change_state = fps_display_sink_change_state;
 
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&fps_display_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_klass,
+      &fps_display_sink_template);
 
   gst_element_class_set_static_metadata (gstelement_klass,
       "Measure and show framerate on videosink", "Sink/Video",
diff --git a/gst/debugutils/gstchecksumsink.c b/gst/debugutils/gstchecksumsink.c
index dd55d30..5560a14 100644
--- a/gst/debugutils/gstchecksumsink.c
+++ b/gst/debugutils/gstchecksumsink.c
@@ -25,6 +25,10 @@
 #include <gst/base/gstbasesink.h>
 #include "gstchecksumsink.h"
 
+static void gst_checksum_sink_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_checksum_sink_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 static void gst_checksum_sink_dispose (GObject * object);
 static void gst_checksum_sink_finalize (GObject * object);
 
@@ -33,6 +37,12 @@
 static GstFlowReturn
 gst_checksum_sink_render (GstBaseSink * sink, GstBuffer * buffer);
 
+enum
+{
+  PROP_0,
+  PROP_HASH,
+};
+
 static GstStaticPadTemplate gst_checksum_sink_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
@@ -47,6 +57,26 @@
 
 /* class initialization */
 
+#define GST_TYPE_CHECKSUM_SINK_HASH (gst_checksum_sink_hash_get_type ())
+static GType
+gst_checksum_sink_hash_get_type (void)
+{
+  static GType gtype = 0;
+
+  if (gtype == 0) {
+    static const GEnumValue values[] = {
+      {G_CHECKSUM_MD5, "MD5", "md5"},
+      {G_CHECKSUM_SHA1, "SHA-1", "sha1"},
+      {G_CHECKSUM_SHA256, "SHA-256", "sha256"},
+      {G_CHECKSUM_SHA512, "SHA-512", "sha512"},
+      {0, NULL, NULL},
+    };
+
+    gtype = g_enum_register_static ("GstChecksumSinkHash", values);
+  }
+  return gtype;
+}
+
 #define gst_checksum_sink_parent_class parent_class
 G_DEFINE_TYPE (GstChecksumSink, gst_checksum_sink, GST_TYPE_BASE_SINK);
 
@@ -57,16 +87,23 @@
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
   GstBaseSinkClass *base_sink_class = GST_BASE_SINK_CLASS (klass);
 
+  gobject_class->set_property = gst_checksum_sink_set_property;
+  gobject_class->get_property = gst_checksum_sink_get_property;
   gobject_class->dispose = gst_checksum_sink_dispose;
   gobject_class->finalize = gst_checksum_sink_finalize;
   base_sink_class->start = GST_DEBUG_FUNCPTR (gst_checksum_sink_start);
   base_sink_class->stop = GST_DEBUG_FUNCPTR (gst_checksum_sink_stop);
   base_sink_class->render = GST_DEBUG_FUNCPTR (gst_checksum_sink_render);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_checksum_sink_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_checksum_sink_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_checksum_sink_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_checksum_sink_sink_template);
+
+  g_object_class_install_property (gobject_class, PROP_HASH,
+      g_param_spec_enum ("hash", "Hash", "Checksum type",
+          gst_checksum_sink_hash_get_type (), G_CHECKSUM_SHA1,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   gst_element_class_set_static_metadata (element_class, "Checksum sink",
       "Debug/Sink", "Calculates a checksum for buffers",
@@ -77,15 +114,48 @@
 gst_checksum_sink_init (GstChecksumSink * checksumsink)
 {
   gst_base_sink_set_sync (GST_BASE_SINK (checksumsink), FALSE);
+  checksumsink->hash = G_CHECKSUM_SHA1;
 }
 
-void
+static void
+gst_checksum_sink_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstChecksumSink *checksumsink = GST_CHECKSUM_SINK (object);
+
+  switch (prop_id) {
+    case PROP_HASH:
+      checksumsink->hash = g_value_get_enum (value);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_checksum_sink_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstChecksumSink *checksumsink = GST_CHECKSUM_SINK (object);
+
+  switch (prop_id) {
+    case PROP_HASH:
+      g_value_set_enum (value, checksumsink->hash);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
 gst_checksum_sink_dispose (GObject * object)
 {
   G_OBJECT_CLASS (parent_class)->dispose (object);
 }
 
-void
+static void
 gst_checksum_sink_finalize (GObject * object)
 {
   G_OBJECT_CLASS (parent_class)->finalize (object);
@@ -108,9 +178,11 @@
 {
   gchar *s;
   GstMapInfo map;
+  GstChecksumSink *checksumsink;
 
+  checksumsink = GST_CHECKSUM_SINK (sink);
   gst_buffer_map (buffer, &map, GST_MAP_READ);
-  s = g_compute_checksum_for_data (G_CHECKSUM_SHA1, map.data, map.size);
+  s = g_compute_checksum_for_data (checksumsink->hash, map.data, map.size);
   gst_buffer_unmap (buffer, &map);
   g_print ("%" GST_TIME_FORMAT " %s\n",
       GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buffer)), s);
diff --git a/gst/debugutils/gstchecksumsink.h b/gst/debugutils/gstchecksumsink.h
index d714628..d86ced4 100644
--- a/gst/debugutils/gstchecksumsink.h
+++ b/gst/debugutils/gstchecksumsink.h
@@ -37,7 +37,7 @@
 struct _GstChecksumSink
 {
   GstBaseSink base_checksumsink;
-
+  GChecksumType hash;
 };
 
 struct _GstChecksumSinkClass
diff --git a/gst/debugutils/gstchopmydata.c b/gst/debugutils/gstchopmydata.c
index ceff7e5..c382d32 100644
--- a/gst/debugutils/gstchopmydata.c
+++ b/gst/debugutils/gstchopmydata.c
@@ -121,10 +121,10 @@
           "Step increment for random buffer sizes", 1, G_MAXINT,
           DEFAULT_MAX_SIZE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_chop_my_data_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_chop_my_data_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_chop_my_data_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_chop_my_data_sink_template);
 
   gst_element_class_set_static_metadata (element_class, "FIXME",
       "Generic", "FIXME", "David Schleef <ds@schleef.org>");
diff --git a/gst/debugutils/gstcompare.c b/gst/debugutils/gstcompare.c
index 3d52615..777a8d8 100644
--- a/gst/debugutils/gstcompare.c
+++ b/gst/debugutils/gstcompare.c
@@ -169,12 +169,10 @@
           "Whether threshold value is upper bound or lower bound for difference measure",
           DEFAULT_UPPER, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&check_sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &check_sink_factory);
   gst_element_class_set_static_metadata (gstelement_class, "Compare buffers",
       "Filter/Debug", "Compares incoming buffers",
       "Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>");
diff --git a/gst/debugutils/gstdebugspy.c b/gst/debugutils/gstdebugspy.c
index 19e7cf2..fed2db1 100644
--- a/gst/debugutils/gstdebugspy.c
+++ b/gst/debugutils/gstdebugspy.c
@@ -139,10 +139,8 @@
       "DebugSpy provides information on buffers with bus messages",
       "Guillaume Emont <gemont@igalia.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 
   GST_DEBUG_CATEGORY_INIT (gst_debug_spy_debug, "debugspy", 0, "debugspy");
 }
diff --git a/gst/debugutils/gsterrorignore.c b/gst/debugutils/gsterrorignore.c
index 3c19ed5..ed42a05 100644
--- a/gst/debugutils/gsterrorignore.c
+++ b/gst/debugutils/gsterrorignore.c
@@ -92,10 +92,8 @@
       "Pass through all packets but ignore some GstFlowReturn types",
       "Vivia Nikolaidou <vivia@toolsonair.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_template);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_template);
 
   gstelement_class->change_state = gst_error_ignore_change_state;
 
diff --git a/gst/dvbsuboverlay/Makefile.in b/gst/dvbsuboverlay/Makefile.in
index 0f1fc17..4cacb4f 100644
--- a/gst/dvbsuboverlay/Makefile.in
+++ b/gst/dvbsuboverlay/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/dvbsuboverlay/gstdvbsuboverlay.c b/gst/dvbsuboverlay/gstdvbsuboverlay.c
index 3658201..0602003 100644
--- a/gst/dvbsuboverlay/gstdvbsuboverlay.c
+++ b/gst/dvbsuboverlay/gstdvbsuboverlay.c
@@ -162,12 +162,11 @@
   gstelement_class->change_state =
       GST_DEBUG_FUNCPTR (gst_dvbsub_overlay_change_state);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&video_sink_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&text_sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &video_sink_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &text_sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "DVB Subtitles Overlay",
diff --git a/gst/dvdspu/Makefile.in b/gst/dvdspu/Makefile.in
index 009b2f6..458b085 100644
--- a/gst/dvdspu/Makefile.in
+++ b/gst/dvdspu/Makefile.in
@@ -306,6 +306,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -521,6 +523,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -647,8 +651,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -693,6 +695,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/dvdspu/gstdvdspu.c b/gst/dvdspu/gstdvdspu.c
index 04a4387..52d1038 100644
--- a/gst/dvdspu/gstdvdspu.c
+++ b/gst/dvdspu/gstdvdspu.c
@@ -131,12 +131,11 @@
 
   gstelement_class->change_state = gst_dvd_spu_change_state;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&video_sink_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&subpic_sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &video_sink_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &subpic_sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Sub-picture Overlay", "Mixer/Video/Overlay/SubPicture/DVD/Bluray",
diff --git a/gst/faceoverlay/Makefile.in b/gst/faceoverlay/Makefile.in
index db2a418..6492262 100644
--- a/gst/faceoverlay/Makefile.in
+++ b/gst/faceoverlay/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/faceoverlay/gstfaceoverlay.c b/gst/faceoverlay/gstfaceoverlay.c
index 2a84b54..19006f3 100644
--- a/gst/faceoverlay/gstfaceoverlay.c
+++ b/gst/faceoverlay/gstfaceoverlay.c
@@ -286,10 +286,8 @@
       "Overlays SVG graphics over a detected face in a video stream",
       "Laura Lucas Alday <lauralucas@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 }
 
 static void
diff --git a/gst/festival/Makefile.in b/gst/festival/Makefile.in
index 1140829..91853f4 100644
--- a/gst/festival/Makefile.in
+++ b/gst/festival/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/festival/gstfestival.c b/gst/festival/gstfestival.c
index 00ef82d..981ec61 100644
--- a/gst/festival/gstfestival.c
+++ b/gst/festival/gstfestival.c
@@ -163,10 +163,10 @@
       GST_DEBUG_FUNCPTR (gst_festival_change_state);
 
   /* register pads */
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &sink_template_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &src_template_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Festival Text-to-Speech synthesizer", "Filter/Effect/Audio",
diff --git a/gst/fieldanalysis/Makefile.in b/gst/fieldanalysis/Makefile.in
index 2f77894..a480ba9 100644
--- a/gst/fieldanalysis/Makefile.in
+++ b/gst/fieldanalysis/Makefile.in
@@ -331,6 +331,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -546,6 +548,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -672,8 +676,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -718,6 +720,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/fieldanalysis/gstfieldanalysis.c b/gst/fieldanalysis/gstfieldanalysis.c
index 260eaf3..ac6bf60 100644
--- a/gst/fieldanalysis/gstfieldanalysis.c
+++ b/gst/fieldanalysis/gstfieldanalysis.c
@@ -284,10 +284,8 @@
       "Analyse fields from video frames to identify if they are progressive/telecined/interlaced",
       "Robert Swain <robert.swain@collabora.co.uk>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
 
 }
 
diff --git a/gst/freeverb/Makefile.in b/gst/freeverb/Makefile.in
index ee24cd9..0ced9c9 100644
--- a/gst/freeverb/Makefile.in
+++ b/gst/freeverb/Makefile.in
@@ -305,6 +305,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -520,6 +522,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -646,8 +650,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -692,6 +694,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/freeverb/gstfreeverb.c b/gst/freeverb/gstfreeverb.c
index 9500334..e4263e5 100644
--- a/gst/freeverb/gstfreeverb.c
+++ b/gst/freeverb/gstfreeverb.c
@@ -424,10 +424,8 @@
       "Add reverberation to audio streams",
       "Stefan Sauer <ensonic@users.sf.net>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   GST_BASE_TRANSFORM_CLASS (klass)->get_unit_size =
       GST_DEBUG_FUNCPTR (gst_freeverb_get_unit_size);
diff --git a/gst/frei0r/Makefile.in b/gst/frei0r/Makefile.in
index f91296e..ce3fd52 100644
--- a/gst/frei0r/Makefile.in
+++ b/gst/frei0r/Makefile.in
@@ -306,6 +306,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -521,6 +523,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -647,8 +651,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -693,6 +695,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/gaudieffects/Makefile.in b/gst/gaudieffects/Makefile.in
index cee102b..63f754d 100644
--- a/gst/gaudieffects/Makefile.in
+++ b/gst/gaudieffects/Makefile.in
@@ -337,6 +337,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -552,6 +554,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -678,8 +682,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -724,6 +726,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/gaudieffects/gstburn.c b/gst/gaudieffects/gstburn.c
index a3a3c55..ee44875 100644
--- a/gst/gaudieffects/gstburn.c
+++ b/gst/gaudieffects/gstburn.c
@@ -138,10 +138,10 @@
       "Burn adjusts the colors in the video signal.",
       "Luis de Bethencourt <luis@debethencourt.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_burn_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_burn_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_burn_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_burn_src_template);
 
   gobject_class->set_property = gst_burn_set_property;
   gobject_class->get_property = gst_burn_get_property;
diff --git a/gst/gaudieffects/gstchromium.c b/gst/gaudieffects/gstchromium.c
index 264bb65..65ac5b5 100644
--- a/gst/gaudieffects/gstchromium.c
+++ b/gst/gaudieffects/gstchromium.c
@@ -152,10 +152,10 @@
       "Chromium breaks the colors of the video signal.",
       "Luis de Bethencourt <luis@debethencourt.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_chromium_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_chromium_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_chromium_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_chromium_src_template);
 
   gobject_class->set_property = gst_chromium_set_property;
   gobject_class->get_property = gst_chromium_get_property;
diff --git a/gst/gaudieffects/gstdilate.c b/gst/gaudieffects/gstdilate.c
index 83a3513..301135d 100644
--- a/gst/gaudieffects/gstdilate.c
+++ b/gst/gaudieffects/gstdilate.c
@@ -140,10 +140,10 @@
       "Dilate copies the brightest pixel around.",
       "Luis de Bethencourt <luis@debethencourt.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_dilate_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_dilate_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_dilate_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_dilate_src_template);
 
   gobject_class->set_property = gst_dilate_set_property;
   gobject_class->get_property = gst_dilate_get_property;
diff --git a/gst/gaudieffects/gstdodge.c b/gst/gaudieffects/gstdodge.c
index 996d894..eb5019e 100644
--- a/gst/gaudieffects/gstdodge.c
+++ b/gst/gaudieffects/gstdodge.c
@@ -135,10 +135,10 @@
       "Dodge saturates the colors in the video signal.",
       "Luis de Bethencourt <luis@debethencourt.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_dodge_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_dodge_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_dodge_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_dodge_src_template);
 
   gobject_class->set_property = gst_dodge_set_property;
   gobject_class->get_property = gst_dodge_get_property;
diff --git a/gst/gaudieffects/gstexclusion.c b/gst/gaudieffects/gstexclusion.c
index a723f69..6ebe825 100644
--- a/gst/gaudieffects/gstexclusion.c
+++ b/gst/gaudieffects/gstexclusion.c
@@ -140,10 +140,10 @@
       "Exclusion exclodes the colors in the video signal.",
       "Luis de Bethencourt <luis@debethencourt.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_exclusion_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_exclusion_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_exclusion_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_exclusion_src_template);
 
   gobject_class->set_property = gst_exclusion_set_property;
   gobject_class->get_property = gst_exclusion_get_property;
diff --git a/gst/gaudieffects/gstgaussblur.c b/gst/gaudieffects/gstgaussblur.c
index 6ba9b84..4e3dc59 100644
--- a/gst/gaudieffects/gstgaussblur.c
+++ b/gst/gaudieffects/gstgaussblur.c
@@ -137,10 +137,10 @@
       "Perform Gaussian blur/sharpen on a video",
       "Jan Schmidt <thaytan@noraisin.net>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_gaussianblur_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_gaussianblur_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_gaussianblur_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_gaussianblur_src_template);
 
   gobject_class->set_property = gst_gaussianblur_set_property;
   gobject_class->get_property = gst_gaussianblur_get_property;
diff --git a/gst/gaudieffects/gstsolarize.c b/gst/gaudieffects/gstsolarize.c
index f5d98b8..0710d0f 100644
--- a/gst/gaudieffects/gstsolarize.c
+++ b/gst/gaudieffects/gstsolarize.c
@@ -143,10 +143,10 @@
       "Solarize tunable inverse in the video signal.",
       "Luis de Bethencourt <luis@debethencourt.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_solarize_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_solarize_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_solarize_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_solarize_src_template);
 
   gobject_class->set_property = gst_solarize_set_property;
   gobject_class->get_property = gst_solarize_get_property;
diff --git a/gst/gdp/Makefile.in b/gst/gdp/Makefile.in
index cf4631a..aa131e5 100644
--- a/gst/gdp/Makefile.in
+++ b/gst/gdp/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/gdp/dataprotocol.c b/gst/gdp/dataprotocol.c
index fbb46a6..d6534ba 100644
--- a/gst/gdp/dataprotocol.c
+++ b/gst/gdp/dataprotocol.c
@@ -477,6 +477,8 @@
  * gst_dp_buffer_from_header:
  * @header_length: the length of the packet header
  * @header: the byte array of the packet header
+ * @allocator: the allocator used to allocate the new #GstBuffer
+ * @allocation_params: the allocations parameters used to allocate the new #GstBuffer
  *
  * Creates a newly allocated #GstBuffer from the given header.
  * The buffer data needs to be copied into it before validating.
@@ -490,7 +492,8 @@
  * Returns: A #GstBuffer if the buffer was successfully created, or NULL.
  */
 GstBuffer *
-gst_dp_buffer_from_header (guint header_length, const guint8 * header)
+gst_dp_buffer_from_header (guint header_length, const guint8 * header,
+    GstAllocator * allocator, GstAllocationParams * allocation_params)
 {
   GstBuffer *buffer;
 
@@ -500,8 +503,8 @@
       GST_DP_PAYLOAD_BUFFER, NULL);
 
   buffer =
-      gst_buffer_new_allocate (NULL,
-      (guint) GST_DP_HEADER_PAYLOAD_LENGTH (header), NULL);
+      gst_buffer_new_allocate (allocator,
+      (guint) GST_DP_HEADER_PAYLOAD_LENGTH (header), allocation_params);
 
   GST_BUFFER_TIMESTAMP (buffer) = GST_DP_HEADER_TIMESTAMP (header);
   GST_BUFFER_DTS (buffer) = GST_DP_HEADER_DTS (header);
diff --git a/gst/gdp/dataprotocol.h b/gst/gdp/dataprotocol.h
index ac1d010..397bf43 100644
--- a/gst/gdp/dataprotocol.h
+++ b/gst/gdp/dataprotocol.h
@@ -78,7 +78,9 @@
 
 /* converting to GstBuffer/GstEvent/GstCaps */
 GstBuffer *     gst_dp_buffer_from_header       (guint header_length,
-                                                const guint8 * header);
+                                                const guint8 * header,
+                                                GstAllocator * allocator,
+                                                GstAllocationParams * allocation_params);
 GstCaps *       gst_dp_caps_from_packet         (guint header_length,
                                                 const guint8 * header,
                                                 const guint8 * payload);
diff --git a/gst/gdp/gstgdpdepay.c b/gst/gdp/gstgdpdepay.c
index b779a85..b7269bd 100644
--- a/gst/gdp/gstgdpdepay.c
+++ b/gst/gdp/gstgdpdepay.c
@@ -86,6 +86,7 @@
     const GValue * value, GParamSpec * pspec);
 static void gst_gdp_depay_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
+static void gst_gdp_depay_decide_allocation (GstGDPDepay * depay);
 
 static void
 gst_gdp_depay_class_init (GstGDPDepayClass * klass)
@@ -110,10 +111,10 @@
       "Depayloads GStreamer Data Protocol buffers",
       "Thomas Vander Stichele <thomas at apestaart dot org>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gdp_depay_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gdp_depay_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gdp_depay_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gdp_depay_src_template);
 
   gstelement_class->change_state =
       GST_DEBUG_FUNCPTR (gst_gdp_depay_change_state);
@@ -140,6 +141,9 @@
   gst_element_add_pad (GST_ELEMENT (gdpdepay), gdpdepay->srcpad);
 
   gdpdepay->adapter = gst_adapter_new ();
+
+  gdpdepay->allocator = NULL;
+  gst_allocation_params_init (&gdpdepay->allocation_params);
 }
 
 static void
@@ -153,6 +157,8 @@
   g_free (this->header);
   gst_adapter_clear (this->adapter);
   g_object_unref (this->adapter);
+  if (this->allocator)
+    gst_object_unref (this->allocator);
 
   GST_CALL_PARENT (G_OBJECT_CLASS, finalize, (gobject));
 }
@@ -265,6 +271,10 @@
 
   this = GST_GDP_DEPAY (parent);
 
+  if (gst_pad_check_reconfigure (this->srcpad)) {
+    gst_gdp_depay_decide_allocation (this);
+  }
+
   /* On DISCONT, get rid of accumulated data. We assume a buffer after the
    * DISCONT contains (part of) a new valid header, if not we error because we
    * lost sync */
@@ -352,7 +362,9 @@
           goto no_caps;
 
         GST_LOG_OBJECT (this, "reading GDP buffer from adapter");
-        buf = gst_dp_buffer_from_header (GST_DP_HEADER_LENGTH, this->header);
+        buf =
+            gst_dp_buffer_from_header (GST_DP_HEADER_LENGTH, this->header,
+            this->allocator, &this->allocation_params);
         if (!buf)
           goto buffer_failed;
 
@@ -411,6 +423,7 @@
         GST_DEBUG_OBJECT (this, "deserialized caps %" GST_PTR_FORMAT, caps);
         gst_caps_replace (&(this->caps), caps);
         gst_pad_set_caps (this->srcpad, caps);
+        gst_gdp_depay_decide_allocation (this);
         /* drop the creation ref we still have */
         gst_caps_unref (caps);
 
@@ -521,6 +534,10 @@
         this->caps = NULL;
       }
       gst_adapter_clear (this->adapter);
+      if (this->allocator)
+        gst_object_unref (this->allocator);
+      this->allocator = NULL;
+      gst_allocation_params_init (&this->allocation_params);
       break;
     default:
       break;
@@ -528,6 +545,43 @@
   return ret;
 }
 
+static void
+gst_gdp_depay_decide_allocation (GstGDPDepay * gdpdepay)
+{
+  GstAllocator *allocator;
+  GstAllocationParams params;
+  GstQuery *query = NULL;
+  GstCaps *caps;
+
+  caps = gst_pad_query_caps (gdpdepay->srcpad, NULL);
+  if (!caps) {
+    GST_LOG_OBJECT (gdpdepay,
+        "No peer pad caps found. Using default allocator.");
+    return;
+  }
+
+  query = gst_query_new_allocation (caps, TRUE);
+  if (!gst_pad_peer_query (gdpdepay->srcpad, query)) {
+    GST_WARNING_OBJECT (gdpdepay, "Peer allocation query failed.");
+  }
+
+  if (gst_query_get_n_allocation_params (query) > 0) {
+    gst_query_parse_nth_allocation_param (query, 0, &allocator, &params);
+  } else {
+    allocator = NULL;
+    gst_allocation_params_init (&params);
+  }
+
+  if (gdpdepay->allocator)
+    gst_object_unref (gdpdepay->allocator);
+
+  gdpdepay->allocator = allocator;
+  gdpdepay->allocation_params = params;
+
+  gst_caps_unref (caps);
+  gst_query_unref (query);
+}
+
 gboolean
 gst_gdp_depay_plugin_init (GstPlugin * plugin)
 {
diff --git a/gst/gdp/gstgdpdepay.h b/gst/gdp/gstgdpdepay.h
index 43bbf9d..c21f302 100644
--- a/gst/gdp/gstgdpdepay.h
+++ b/gst/gdp/gstgdpdepay.h
@@ -68,6 +68,9 @@
   GstDPPayloadType payload_type;
 
   gint64 ts_offset;
+
+  GstAllocator *allocator;
+  GstAllocationParams allocation_params;
 };
 
 struct _GstGDPDepayClass
diff --git a/gst/gdp/gstgdppay.c b/gst/gdp/gstgdppay.c
index b428462..6b55895 100644
--- a/gst/gdp/gstgdppay.c
+++ b/gst/gdp/gstgdppay.c
@@ -117,10 +117,10 @@
       "Payloads GStreamer Data Protocol buffers",
       "Thomas Vander Stichele <thomas at apestaart dot org>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gdp_pay_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gdp_pay_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gdp_pay_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gdp_pay_src_template);
 
   gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_gdp_pay_change_state);
 }
diff --git a/gst/geometrictransform/Makefile.in b/gst/geometrictransform/Makefile.in
index a1b5f61..bb8458b 100644
--- a/gst/geometrictransform/Makefile.in
+++ b/gst/geometrictransform/Makefile.in
@@ -325,6 +325,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -540,6 +542,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -666,8 +670,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -712,6 +714,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/geometrictransform/gstgeometrictransform.c b/gst/geometrictransform/gstgeometrictransform.c
index 94910ed..a6c00a8 100644
--- a/gst/geometrictransform/gstgeometrictransform.c
+++ b/gst/geometrictransform/gstgeometrictransform.c
@@ -352,10 +352,10 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_geometric_transform_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_geometric_transform_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_geometric_transform_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_geometric_transform_src_template);
 }
 
 static void
diff --git a/gst/hdvparse/Makefile.in b/gst/hdvparse/Makefile.in
index de0f5e0..eb329f1 100644
--- a/gst/hdvparse/Makefile.in
+++ b/gst/hdvparse/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/hdvparse/gsthdvparse.c b/gst/hdvparse/gsthdvparse.c
index 837c74e..b899e95 100644
--- a/gst/hdvparse/gsthdvparse.c
+++ b/gst/hdvparse/gsthdvparse.c
@@ -116,10 +116,8 @@
 
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
   gst_element_class_set_static_metadata (element_class, "HDVParser",
       "Data/Parser",
       "HDV private stream Parser", "Edward Hervey <bilboed@bilboed.com>");
diff --git a/gst/id3tag/Makefile.in b/gst/id3tag/Makefile.in
index ef09091..163fb43 100644
--- a/gst/id3tag/Makefile.in
+++ b/gst/id3tag/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/id3tag/gstid3mux.c b/gst/id3tag/gstid3mux.c
index 6417538..37c7a49 100644
--- a/gst/id3tag/gstid3mux.c
+++ b/gst/id3tag/gstid3mux.c
@@ -129,11 +129,8 @@
       "Michael Smith <msmith@songbirdnest.com>, "
       "Tim-Philipp Müller <tim centricular net>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 }
 
 static void
diff --git a/gst/inter/Makefile.in b/gst/inter/Makefile.in
index fdec405..f8db455 100644
--- a/gst/inter/Makefile.in
+++ b/gst/inter/Makefile.in
@@ -319,6 +319,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -534,6 +536,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -660,8 +664,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -706,6 +708,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/inter/gstinteraudiosink.c b/gst/inter/gstinteraudiosink.c
index 261ed25..19fc5d2 100644
--- a/gst/inter/gstinteraudiosink.c
+++ b/gst/inter/gstinteraudiosink.c
@@ -99,8 +99,8 @@
 
   GST_DEBUG_CATEGORY_INIT (gst_inter_audio_sink_debug_category,
       "interaudiosink", 0, "debug category for interaudiosink element");
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_inter_audio_sink_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_inter_audio_sink_sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "Internal audio sink",
diff --git a/gst/inter/gstinteraudiosrc.c b/gst/inter/gstinteraudiosrc.c
index 1d4b68b..10581ba 100644
--- a/gst/inter/gstinteraudiosrc.c
+++ b/gst/inter/gstinteraudiosrc.c
@@ -106,8 +106,8 @@
   GST_DEBUG_CATEGORY_INIT (gst_inter_audio_src_debug_category, "interaudiosrc",
       0, "debug category for interaudiosrc element");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_inter_audio_src_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_inter_audio_src_src_template);
 
   gst_element_class_set_static_metadata (element_class,
       "Internal audio source",
diff --git a/gst/inter/gstintersubsink.c b/gst/inter/gstintersubsink.c
index 77bc484..038acbb 100644
--- a/gst/inter/gstintersubsink.c
+++ b/gst/inter/gstintersubsink.c
@@ -91,8 +91,8 @@
   GST_DEBUG_CATEGORY_INIT (gst_inter_sub_sink_debug_category, "intersubsink", 0,
       "debug category for intersubsink element");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_inter_sub_sink_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_inter_sub_sink_sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "Internal subtitle sink",
diff --git a/gst/inter/gstintersubsrc.c b/gst/inter/gstintersubsrc.c
index 482a20f..ac49265 100644
--- a/gst/inter/gstintersubsrc.c
+++ b/gst/inter/gstintersubsrc.c
@@ -93,8 +93,8 @@
   GST_DEBUG_CATEGORY_INIT (gst_inter_sub_src_debug_category, "intersubsrc", 0,
       "debug category for intersubsrc element");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_inter_sub_src_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_inter_sub_src_src_template);
 
   gst_element_class_set_static_metadata (element_class,
       "Internal subtitle source",
diff --git a/gst/inter/gstintervideosink.c b/gst/inter/gstintervideosink.c
index ca357d6..edee11d 100644
--- a/gst/inter/gstintervideosink.c
+++ b/gst/inter/gstintervideosink.c
@@ -94,8 +94,8 @@
   GST_DEBUG_CATEGORY_INIT (gst_inter_video_sink_debug_category,
       "intervideosink", 0, "debug category for intervideosink element");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_inter_video_sink_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_inter_video_sink_sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "Internal video sink",
diff --git a/gst/inter/gstintervideosrc.c b/gst/inter/gstintervideosrc.c
index 8cab648..fd41d50 100644
--- a/gst/inter/gstintervideosrc.c
+++ b/gst/inter/gstintervideosrc.c
@@ -100,8 +100,8 @@
   GST_DEBUG_CATEGORY_INIT (gst_inter_video_src_debug_category, "intervideosrc",
       0, "debug category for intervideosrc element");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_inter_video_src_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_inter_video_src_src_template);
 
   gst_element_class_set_static_metadata (element_class,
       "Internal video source",
diff --git a/gst/interlace/Makefile.in b/gst/interlace/Makefile.in
index 0753198..f53c3a6 100644
--- a/gst/interlace/Makefile.in
+++ b/gst/interlace/Makefile.in
@@ -299,6 +299,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -514,6 +516,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -640,8 +644,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -686,6 +688,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/interlace/gstinterlace.c b/gst/interlace/gstinterlace.c
index ae9f2de..88e68c0 100644
--- a/gst/interlace/gstinterlace.c
+++ b/gst/interlace/gstinterlace.c
@@ -104,6 +104,7 @@
   GstClockTime timebase;
   int fields_since_timebase;
   guint pattern_offset;         /* initial offset into the pattern */
+  gboolean passthrough;
 };
 
 struct _GstInterlaceClass
@@ -182,7 +183,7 @@
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE
         ("{AYUV,YUY2,UYVY,I420,YV12,Y42B,Y444,NV12,NV21}")
-        ",interlace-mode=progressive")
+    )
     );
 
 GType gst_interlace_get_type (void);
@@ -247,10 +248,10 @@
       "Creates an interlaced video from progressive frames",
       "David Schleef <ds@schleef.org>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_interlace_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_interlace_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_interlace_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_interlace_src_template);
 
   element_class->change_state = gst_interlace_change_state;
 }
@@ -267,6 +268,7 @@
   interlace->phase_index = interlace->pattern_offset;
   interlace->timebase = GST_CLOCK_TIME_NONE;
   interlace->field_index = 0;
+  interlace->passthrough = FALSE;
   if (interlace->stored_frame) {
     gst_buffer_unref (interlace->stored_frame);
     interlace->stored_frame = NULL;
@@ -392,8 +394,21 @@
     gst_caps_set_simple (othercaps, "interlace-mode", G_TYPE_STRING,
         "interleaved", NULL);
   }
-  gst_caps_set_simple (othercaps, "framerate", GST_TYPE_FRACTION,
-      interlace->src_fps_n, interlace->src_fps_d, NULL);
+
+  if (gst_caps_can_intersect (caps, othercaps)) {
+    interlace->passthrough = TRUE;
+  } else {
+    if (GST_VIDEO_INFO_IS_INTERLACED (&info)) {
+      GST_ERROR_OBJECT (interlace,
+          "Caps %" GST_PTR_FORMAT " not compatible with %" GST_PTR_FORMAT, caps,
+          othercaps);
+      gst_caps_unref (othercaps);
+      goto caps_error;
+    }
+    interlace->passthrough = FALSE;
+    gst_caps_set_simple (othercaps, "framerate", GST_TYPE_FRACTION,
+        interlace->src_fps_n, interlace->src_fps_d, NULL);
+  }
 
   ret = gst_pad_set_caps (interlace->srcpad, othercaps);
   gst_caps_unref (othercaps);
@@ -686,6 +701,7 @@
   }
 
   icaps = gst_caps_make_writable (icaps);
+  tcaps = gst_caps_copy (icaps);
   if (interlace->pattern > GST_INTERLACE_PATTERN_2_2) {
     mode = "mixed";
   } else {
@@ -693,6 +709,13 @@
   }
   gst_caps_set_simple (icaps, "interlace-mode", G_TYPE_STRING,
       pad == interlace->srcpad ? mode : "progressive", NULL);
+  if (pad == interlace->sinkpad) {
+    gst_caps_set_simple (tcaps, "interlace-mode", G_TYPE_STRING, mode, NULL);
+    icaps = gst_caps_merge (icaps, tcaps);
+    tcaps = NULL;
+  } else {
+    gst_caps_unref (tcaps);
+  }
 
   icaps =
       gst_interlace_caps_double_framerate (icaps, (pad == interlace->srcpad));
@@ -837,6 +860,10 @@
       (GST_BUFFER_FLAGS (buffer) & GST_VIDEO_BUFFER_FLAG_ONEFIELD) ? "onefield"
       : "");
 
+  if (interlace->passthrough) {
+    return gst_pad_push (interlace->srcpad, buffer);
+  }
+
   if (GST_BUFFER_FLAGS (buffer) & GST_BUFFER_FLAG_DISCONT) {
     GST_DEBUG ("discont");
 
diff --git a/gst/ivfparse/Makefile.in b/gst/ivfparse/Makefile.in
index 8739814..77c0f8d 100644
--- a/gst/ivfparse/Makefile.in
+++ b/gst/ivfparse/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/ivfparse/gstivfparse.c b/gst/ivfparse/gstivfparse.c
index bea1e19..e0e8401 100644
--- a/gst/ivfparse/gstivfparse.c
+++ b/gst/ivfparse/gstivfparse.c
@@ -99,10 +99,8 @@
   gstbaseparse_class->stop = gst_ivf_parse_stop;
   gstbaseparse_class->handle_frame = gst_ivf_parse_handle_frame;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "IVF parser", "Codec/Demuxer",
diff --git a/gst/ivtc/Makefile.in b/gst/ivtc/Makefile.in
index adbee9e..722b535 100644
--- a/gst/ivtc/Makefile.in
+++ b/gst/ivtc/Makefile.in
@@ -300,6 +300,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -515,6 +517,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -641,8 +645,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -687,6 +689,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/ivtc/gstcombdetect.c b/gst/ivtc/gstcombdetect.c
index 2356b96..210d39c 100644
--- a/gst/ivtc/gstcombdetect.c
+++ b/gst/ivtc/gstcombdetect.c
@@ -103,10 +103,10 @@
 
   /* Setting up pads and setting metadata should be moved to
      base_class_init if you intend to subclass this class. */
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
-      gst_static_pad_template_get (&gst_comb_detect_sink_template));
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
-      gst_static_pad_template_get (&gst_comb_detect_src_template));
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+      &gst_comb_detect_sink_template);
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+      &gst_comb_detect_src_template);
 
   gst_element_class_set_static_metadata (GST_ELEMENT_CLASS (klass),
       "Comb Detect", "Video/Filter", "Detect combing artifacts in video stream",
diff --git a/gst/ivtc/gstivtc.c b/gst/ivtc/gstivtc.c
index 6dd0c8d..09b02a5 100644
--- a/gst/ivtc/gstivtc.c
+++ b/gst/ivtc/gstivtc.c
@@ -119,10 +119,10 @@
 
   /* Setting up pads and setting metadata should be moved to
      base_class_init if you intend to subclass this class. */
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
-      gst_static_pad_template_get (&gst_ivtc_sink_template));
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
-      gst_static_pad_template_get (&gst_ivtc_src_template));
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+      &gst_ivtc_sink_template);
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+      &gst_ivtc_src_template);
 
   gst_element_class_set_static_metadata (GST_ELEMENT_CLASS (klass),
       "Inverse Telecine", "Video/Filter", "Inverse Telecine Filter",
diff --git a/gst/jp2kdecimator/Makefile.in b/gst/jp2kdecimator/Makefile.in
index 7d1b517..d64158e 100644
--- a/gst/jp2kdecimator/Makefile.in
+++ b/gst/jp2kdecimator/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/jp2kdecimator/gstjp2kdecimator.c b/gst/jp2kdecimator/gstjp2kdecimator.c
index cb95cc0..75ee746 100644
--- a/gst/jp2kdecimator/gstjp2kdecimator.c
+++ b/gst/jp2kdecimator/gstjp2kdecimator.c
@@ -92,10 +92,10 @@
       "Removes information from JPEG2000 streams without recompression",
       "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_pad_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_pad_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &sink_pad_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &src_pad_template);
 
   gobject_class->set_property = gst_jp2k_decimator_set_property;
   gobject_class->get_property = gst_jp2k_decimator_get_property;
diff --git a/gst/jpegformat/Makefile.in b/gst/jpegformat/Makefile.in
index 2bb807d..cb7b85d 100644
--- a/gst/jpegformat/Makefile.in
+++ b/gst/jpegformat/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/jpegformat/gstjifmux.c b/gst/jpegformat/gstjifmux.c
index 3a6b6fd..b1ba175 100644
--- a/gst/jpegformat/gstjifmux.c
+++ b/gst/jpegformat/gstjifmux.c
@@ -136,10 +136,10 @@
 
   gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_jif_mux_change_state);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_jif_mux_src_pad_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_jif_mux_sink_pad_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_jif_mux_src_pad_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_jif_mux_sink_pad_template);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "JPEG stream muxer",
diff --git a/gst/jpegformat/gstjpegparse.c b/gst/jpegformat/gstjpegparse.c
index 77e53a6..c127d6e 100644
--- a/gst/jpegformat/gstjpegparse.c
+++ b/gst/jpegformat/gstjpegparse.c
@@ -144,10 +144,10 @@
   gstbaseparse_class->handle_frame = gst_jpeg_parse_handle_frame;
   gstbaseparse_class->pre_push_frame = gst_jpeg_parse_pre_push_frame;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_jpeg_parse_src_pad_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_jpeg_parse_sink_pad_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_jpeg_parse_src_pad_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_jpeg_parse_sink_pad_template);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "JPEG stream parser",
diff --git a/gst/librfb/Makefile.am b/gst/librfb/Makefile.am
index d542ffc..b69ee8c 100644
--- a/gst/librfb/Makefile.am
+++ b/gst/librfb/Makefile.am
@@ -1,27 +1,25 @@
 # please keep librfb easily extractable
 
-noinst_LTLIBRARIES = librfb.la
 plugin_LTLIBRARIES = libgstrfbsrc.la
 
-libgstrfbsrc_la_SOURCES = gstrfbsrc.c
-libgstrfbsrc_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(X11_CFLAGS) -I$(srcdir)/..
-libgstrfbsrc_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-	$(GST_BASE_LIBS) $(GST_LIBS) $(X11_LIBS) librfb.la
-libgstrfbsrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstrfbsrc_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-
-librfb_la_SOURCES = \
-	rfbbuffer.c \
+libgstrfbsrc_la_SOURCES = gstrfbsrc.c \
 	rfbdecoder.c \
 	d3des.c
-librfb_la_CFLAGS = $(GST_CFLAGS) $(GIO_CFLAGS) -I$(srcdir)/..
-librfb_la_LIBADD = $(GST_LIBS) $(GIO_LIBS)
+libgstrfbsrc_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) \
+                         $(GST_BASE_CFLAGS) \
+                         $(GST_CFLAGS) \
+                         $(X11_CFLAGS) \
+                         $(GIO_CFLAGS)
+libgstrfbsrc_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \
+                         -lgstvideo-$(GST_API_VERSION) \
+                         $(GST_BASE_LIBS) \
+                         $(GST_LIBS) \
+                         $(X11_LIBS) \
+                         $(GIO_LIBS)
+libgstrfbsrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(GIO_LDFLAGS)
+libgstrfbsrc_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 
 noinst_HEADERS = \
-	rfb.h \
 	rfbdecoder.h \
-	rfbbuffer.h \
-	rfbcontext.h \
-	rfbutil.h \
 	gstrfbsrc.h \
 	d3des.h
diff --git a/gst/librfb/Makefile.in b/gst/librfb/Makefile.in
index 8b8047f..ecbbf43 100644
--- a/gst/librfb/Makefile.in
+++ b/gst/librfb/Makefile.in
@@ -163,12 +163,13 @@
          $(am__cd) "$$dir" && rm -f $$files; }; \
   }
 am__installdirs = "$(DESTDIR)$(plugindir)"
-LTLIBRARIES = $(noinst_LTLIBRARIES) $(plugin_LTLIBRARIES)
+LTLIBRARIES = $(plugin_LTLIBRARIES)
 am__DEPENDENCIES_1 =
 libgstrfbsrc_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) librfb.la
-am_libgstrfbsrc_la_OBJECTS = libgstrfbsrc_la-gstrfbsrc.lo
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+am_libgstrfbsrc_la_OBJECTS = libgstrfbsrc_la-gstrfbsrc.lo \
+	libgstrfbsrc_la-rfbdecoder.lo libgstrfbsrc_la-d3des.lo
 libgstrfbsrc_la_OBJECTS = $(am_libgstrfbsrc_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -178,13 +179,6 @@
 	$(libgstrfbsrc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
 	$(CCLD) $(libgstrfbsrc_la_CFLAGS) $(CFLAGS) \
 	$(libgstrfbsrc_la_LDFLAGS) $(LDFLAGS) -o $@
-librfb_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-am_librfb_la_OBJECTS = librfb_la-rfbbuffer.lo librfb_la-rfbdecoder.lo \
-	librfb_la-d3des.lo
-librfb_la_OBJECTS = $(am_librfb_la_OBJECTS)
-librfb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(librfb_la_CFLAGS) \
-	$(CFLAGS) $(AM_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
@@ -219,8 +213,8 @@
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
-SOURCES = $(libgstrfbsrc_la_SOURCES) $(librfb_la_SOURCES)
-DIST_SOURCES = $(libgstrfbsrc_la_SOURCES) $(librfb_la_SOURCES)
+SOURCES = $(libgstrfbsrc_la_SOURCES)
+DIST_SOURCES = $(libgstrfbsrc_la_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -312,6 +306,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -527,6 +523,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -653,8 +651,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -699,6 +695,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -787,28 +785,28 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 wayland_scanner = @wayland_scanner@
-noinst_LTLIBRARIES = librfb.la
 plugin_LTLIBRARIES = libgstrfbsrc.la
-libgstrfbsrc_la_SOURCES = gstrfbsrc.c
-libgstrfbsrc_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(X11_CFLAGS) -I$(srcdir)/..
-libgstrfbsrc_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-	$(GST_BASE_LIBS) $(GST_LIBS) $(X11_LIBS) librfb.la
-
-libgstrfbsrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstrfbsrc_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-librfb_la_SOURCES = \
-	rfbbuffer.c \
+libgstrfbsrc_la_SOURCES = gstrfbsrc.c \
 	rfbdecoder.c \
 	d3des.c
 
-librfb_la_CFLAGS = $(GST_CFLAGS) $(GIO_CFLAGS) -I$(srcdir)/..
-librfb_la_LIBADD = $(GST_LIBS) $(GIO_LIBS)
+libgstrfbsrc_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) \
+                         $(GST_BASE_CFLAGS) \
+                         $(GST_CFLAGS) \
+                         $(X11_CFLAGS) \
+                         $(GIO_CFLAGS)
+
+libgstrfbsrc_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \
+                         -lgstvideo-$(GST_API_VERSION) \
+                         $(GST_BASE_LIBS) \
+                         $(GST_LIBS) \
+                         $(X11_LIBS) \
+                         $(GIO_LIBS)
+
+libgstrfbsrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(GIO_LDFLAGS)
+libgstrfbsrc_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 noinst_HEADERS = \
-	rfb.h \
 	rfbdecoder.h \
-	rfbbuffer.h \
-	rfbcontext.h \
-	rfbutil.h \
 	gstrfbsrc.h \
 	d3des.h
 
@@ -846,17 +844,6 @@
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 
-clean-noinstLTLIBRARIES:
-	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-	@list='$(noinst_LTLIBRARIES)'; \
-	locs=`for p in $$list; do echo $$p; done | \
-	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
-	      sort -u`; \
-	test -z "$$locs" || { \
-	  echo rm -f $${locs}; \
-	  rm -f $${locs}; \
-	}
-
 install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	@list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
@@ -895,19 +882,15 @@
 libgstrfbsrc.la: $(libgstrfbsrc_la_OBJECTS) $(libgstrfbsrc_la_DEPENDENCIES) $(EXTRA_libgstrfbsrc_la_DEPENDENCIES) 
 	$(AM_V_CCLD)$(libgstrfbsrc_la_LINK) -rpath $(plugindir) $(libgstrfbsrc_la_OBJECTS) $(libgstrfbsrc_la_LIBADD) $(LIBS)
 
-librfb.la: $(librfb_la_OBJECTS) $(librfb_la_DEPENDENCIES) $(EXTRA_librfb_la_DEPENDENCIES) 
-	$(AM_V_CCLD)$(librfb_la_LINK)  $(librfb_la_OBJECTS) $(librfb_la_LIBADD) $(LIBS)
-
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
 
 distclean-compile:
 	-rm -f *.tab.c
 
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrfbsrc_la-d3des.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrfbsrc_la-gstrfbsrc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/librfb_la-d3des.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/librfb_la-rfbbuffer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/librfb_la-rfbdecoder.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrfbsrc_la-rfbdecoder.Plo@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -940,26 +923,19 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrfbsrc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrfbsrc_la_CFLAGS) $(CFLAGS) -c -o libgstrfbsrc_la-gstrfbsrc.lo `test -f 'gstrfbsrc.c' || echo '$(srcdir)/'`gstrfbsrc.c
 
-librfb_la-rfbbuffer.lo: rfbbuffer.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) $(librfb_la_CFLAGS) $(CFLAGS) -MT librfb_la-rfbbuffer.lo -MD -MP -MF $(DEPDIR)/librfb_la-rfbbuffer.Tpo -c -o librfb_la-rfbbuffer.lo `test -f 'rfbbuffer.c' || echo '$(srcdir)/'`rfbbuffer.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librfb_la-rfbbuffer.Tpo $(DEPDIR)/librfb_la-rfbbuffer.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rfbbuffer.c' object='librfb_la-rfbbuffer.lo' libtool=yes @AMDEPBACKSLASH@
+libgstrfbsrc_la-rfbdecoder.lo: rfbdecoder.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrfbsrc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrfbsrc_la_CFLAGS) $(CFLAGS) -MT libgstrfbsrc_la-rfbdecoder.lo -MD -MP -MF $(DEPDIR)/libgstrfbsrc_la-rfbdecoder.Tpo -c -o libgstrfbsrc_la-rfbdecoder.lo `test -f 'rfbdecoder.c' || echo '$(srcdir)/'`rfbdecoder.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstrfbsrc_la-rfbdecoder.Tpo $(DEPDIR)/libgstrfbsrc_la-rfbdecoder.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rfbdecoder.c' object='libgstrfbsrc_la-rfbdecoder.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) $(librfb_la_CFLAGS) $(CFLAGS) -c -o librfb_la-rfbbuffer.lo `test -f 'rfbbuffer.c' || echo '$(srcdir)/'`rfbbuffer.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrfbsrc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrfbsrc_la_CFLAGS) $(CFLAGS) -c -o libgstrfbsrc_la-rfbdecoder.lo `test -f 'rfbdecoder.c' || echo '$(srcdir)/'`rfbdecoder.c
 
-librfb_la-rfbdecoder.lo: rfbdecoder.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) $(librfb_la_CFLAGS) $(CFLAGS) -MT librfb_la-rfbdecoder.lo -MD -MP -MF $(DEPDIR)/librfb_la-rfbdecoder.Tpo -c -o librfb_la-rfbdecoder.lo `test -f 'rfbdecoder.c' || echo '$(srcdir)/'`rfbdecoder.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librfb_la-rfbdecoder.Tpo $(DEPDIR)/librfb_la-rfbdecoder.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rfbdecoder.c' object='librfb_la-rfbdecoder.lo' libtool=yes @AMDEPBACKSLASH@
+libgstrfbsrc_la-d3des.lo: d3des.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrfbsrc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrfbsrc_la_CFLAGS) $(CFLAGS) -MT libgstrfbsrc_la-d3des.lo -MD -MP -MF $(DEPDIR)/libgstrfbsrc_la-d3des.Tpo -c -o libgstrfbsrc_la-d3des.lo `test -f 'd3des.c' || echo '$(srcdir)/'`d3des.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstrfbsrc_la-d3des.Tpo $(DEPDIR)/libgstrfbsrc_la-d3des.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='d3des.c' object='libgstrfbsrc_la-d3des.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) $(librfb_la_CFLAGS) $(CFLAGS) -c -o librfb_la-rfbdecoder.lo `test -f 'rfbdecoder.c' || echo '$(srcdir)/'`rfbdecoder.c
-
-librfb_la-d3des.lo: d3des.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) $(librfb_la_CFLAGS) $(CFLAGS) -MT librfb_la-d3des.lo -MD -MP -MF $(DEPDIR)/librfb_la-d3des.Tpo -c -o librfb_la-d3des.lo `test -f 'd3des.c' || echo '$(srcdir)/'`d3des.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/librfb_la-d3des.Tpo $(DEPDIR)/librfb_la-d3des.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='d3des.c' object='librfb_la-d3des.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) $(librfb_la_CFLAGS) $(CFLAGS) -c -o librfb_la-d3des.lo `test -f 'd3des.c' || echo '$(srcdir)/'`d3des.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrfbsrc_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrfbsrc_la_CFLAGS) $(CFLAGS) -c -o libgstrfbsrc_la-d3des.lo `test -f 'd3des.c' || echo '$(srcdir)/'`d3des.c
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1088,8 +1064,8 @@
 	@echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
-	clean-pluginLTLIBRARIES mostlyclean-am
+clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
+	mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -1160,19 +1136,19 @@
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-noinstLTLIBRARIES clean-pluginLTLIBRARIES \
-	cscopelist-am ctags ctags-am distclean distclean-compile \
-	distclean-generic distclean-libtool distclean-tags distdir dvi \
-	dvi-am html html-am info info-am install install-am \
-	install-data install-data-am install-dvi install-dvi-am \
-	install-exec install-exec-am install-html install-html-am \
-	install-info install-info-am install-man install-pdf \
-	install-pdf-am install-pluginLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
-	uninstall-am uninstall-pluginLTLIBRARIES
+	clean-libtool clean-pluginLTLIBRARIES cscopelist-am ctags \
+	ctags-am distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pluginLTLIBRARIES install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+	uninstall-pluginLTLIBRARIES
 
 .PRECIOUS: Makefile
 
diff --git a/gst/librfb/gstrfbsrc.c b/gst/librfb/gstrfbsrc.c
index 7f9e591..786d32d 100644
--- a/gst/librfb/gstrfbsrc.c
+++ b/gst/librfb/gstrfbsrc.c
@@ -72,12 +72,13 @@
 static void gst_rfb_src_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
 
-static GstCaps *gst_rfb_src_fixate (GstBaseSrc * bsrc, GstCaps * caps);
-static gboolean gst_rfb_src_start (GstBaseSrc * bsrc);
+static gboolean gst_rfb_src_negotiate (GstBaseSrc * bsrc);
 static gboolean gst_rfb_src_stop (GstBaseSrc * bsrc);
 static gboolean gst_rfb_src_event (GstBaseSrc * bsrc, GstEvent * event);
-static GstFlowReturn gst_rfb_src_create (GstPushSrc * psrc,
-    GstBuffer ** outbuf);
+static gboolean gst_rfb_src_unlock (GstBaseSrc * bsrc);
+static gboolean gst_rfb_src_decide_allocation (GstBaseSrc * bsrc,
+    GstQuery * query);
+static GstFlowReturn gst_rfb_src_fill (GstPushSrc * psrc, GstBuffer * outbuf);
 
 #define gst_rfb_src_parent_class parent_class
 G_DEFINE_TYPE (GstRfbSrc, gst_rfb_src, GST_TYPE_PUSH_SRC);
@@ -146,16 +147,19 @@
       g_param_spec_boolean ("view-only", "Only view the desktop",
           "only view the desktop", FALSE,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-  gstbasesrc_class->fixate = GST_DEBUG_FUNCPTR (gst_rfb_src_fixate);
-  gstbasesrc_class->start = GST_DEBUG_FUNCPTR (gst_rfb_src_start);
+
+  gstbasesrc_class->negotiate = GST_DEBUG_FUNCPTR (gst_rfb_src_negotiate);
   gstbasesrc_class->stop = GST_DEBUG_FUNCPTR (gst_rfb_src_stop);
   gstbasesrc_class->event = GST_DEBUG_FUNCPTR (gst_rfb_src_event);
-  gstpushsrc_class->create = GST_DEBUG_FUNCPTR (gst_rfb_src_create);
+  gstbasesrc_class->unlock = GST_DEBUG_FUNCPTR (gst_rfb_src_unlock);
+  gstpushsrc_class->fill = GST_DEBUG_FUNCPTR (gst_rfb_src_fill);
+  gstbasesrc_class->decide_allocation =
+      GST_DEBUG_FUNCPTR (gst_rfb_src_decide_allocation);
 
   gstelement_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rfb_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_rfb_src_template);
 
   gst_element_class_set_static_metadata (gstelement_class, "Rfb source",
       "Source/Video",
@@ -183,10 +187,7 @@
 
   src->view_only = FALSE;
 
-  src->pool = NULL;
-
   src->decoder = rfb_decoder_new ();
-
 }
 
 static void
@@ -195,10 +196,7 @@
   GstRfbSrc *src = GST_RFB_SRC (object);
 
   g_free (src->host);
-  if (src->pool) {
-    gst_object_unref (src->pool);
-    src->pool = NULL;
-  }
+
   if (src->decoder) {
     rfb_decoder_free (src->decoder);
     src->decoder = NULL;
@@ -340,84 +338,54 @@
   }
 }
 
-static GstCaps *
-gst_rfb_src_fixate (GstBaseSrc * bsrc, GstCaps * caps)
+static gboolean
+gst_rfb_src_decide_allocation (GstBaseSrc * bsrc, GstQuery * query)
 {
-  GstRfbSrc *src = GST_RFB_SRC (bsrc);
-  RfbDecoder *decoder;
-  GstStructure *structure;
-  guint i;
-
-  decoder = src->decoder;
-
-  GST_DEBUG_OBJECT (src, "fixating caps %" GST_PTR_FORMAT, caps);
-
-  caps = gst_caps_make_writable (caps);
-
-  for (i = 0; i < gst_caps_get_size (caps); ++i) {
-    structure = gst_caps_get_structure (caps, i);
-
-    gst_structure_fixate_field_nearest_int (structure,
-        "width", decoder->rect_width);
-    gst_structure_fixate_field_nearest_int (structure,
-        "height", decoder->rect_height);
-    gst_structure_fixate_field (structure, "format");
-  }
-
-  GST_DEBUG_OBJECT (src, "fixated caps %" GST_PTR_FORMAT, caps);
-
-  caps = GST_BASE_SRC_CLASS (parent_class)->fixate (bsrc, caps);
-
-  return caps;
-}
-
-static void
-gst_rfb_negotiate_pool (GstRfbSrc * src, GstCaps * caps)
-{
-  GstQuery *query;
   GstBufferPool *pool = NULL;
-  guint size, min, max;
+  guint size, min = 1, max = 0;
   GstStructure *config;
+  GstCaps *caps;
+  GstVideoInfo info;
+  gboolean ret;
 
-  /* find a pool for the negotiated caps now */
-  query = gst_query_new_allocation (caps, TRUE);
+  gst_query_parse_allocation (query, &caps, NULL);
 
-  if (!gst_pad_peer_query (GST_BASE_SRC_PAD (src), query)) {
-    /* not a problem, we use the defaults of query */
-    GST_DEBUG_OBJECT (src, "could not get downstream ALLOCATION hints");
-  }
+  if (!caps || !gst_video_info_from_caps (&info, caps))
+    return FALSE;
 
-  if (gst_query_get_n_allocation_pools (query) > 0) {
-    /* we got configuration from our peer, parse them */
+  while (gst_query_get_n_allocation_pools (query) > 0) {
     gst_query_parse_nth_allocation_pool (query, 0, &pool, &size, &min, &max);
-  } else {
-    GST_DEBUG_OBJECT (src, "didn't get downstream pool hints");
-    size = GST_BASE_SRC (src)->blocksize;
-    min = max = 0;
+
+    /* TODO We restrict to the exact size as we don't support strides or
+     * special padding */
+    if (size == info.size)
+      break;
+
+    gst_query_remove_nth_allocation_pool (query, 0);
+    gst_object_unref (pool);
+    pool = NULL;
   }
 
   if (pool == NULL) {
     /* we did not get a pool, make one ourselves then */
     pool = gst_video_buffer_pool_new ();
+    size = info.size;
+    min = 1;
+    max = 0;
+    gst_query_add_allocation_pool (query, pool, size, min, max);
   }
 
-  if (src->pool)
-    gst_object_unref (src->pool);
-  src->pool = 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);
 
-  gst_buffer_pool_set_config (pool, config);
-  // and activate
-  gst_buffer_pool_set_active (pool, TRUE);
+  ret = gst_buffer_pool_set_config (pool, config);
+  gst_object_unref (pool);
 
-  gst_query_unref (query);
+  return ret;
 }
 
 static gboolean
-gst_rfb_src_start (GstBaseSrc * bsrc)
+gst_rfb_src_negotiate (GstBaseSrc * bsrc)
 {
   GstRfbSrc *src = GST_RFB_SRC (bsrc);
   RfbDecoder *decoder;
@@ -430,6 +398,9 @@
 
   decoder = src->decoder;
 
+  if (decoder->inited)
+    return TRUE;
+
   GST_DEBUG_OBJECT (src, "connecting to host %s on port %d",
       src->host, src->port);
   if (!rfb_decoder_connect_tcp (decoder, src->host, src->port)) {
@@ -471,13 +442,6 @@
   decoder->rect_height =
       (decoder->rect_height ? decoder->rect_height : decoder->height);
 
-  g_object_set (bsrc, "blocksize",
-      src->decoder->width * src->decoder->height * (decoder->bpp / 8), NULL);
-
-  decoder->frame = g_malloc (bsrc->blocksize);
-  if (decoder->use_copyrect) {
-    decoder->prev_frame = g_malloc (bsrc->blocksize);
-  }
   decoder->decoder_private = src;
 
   /* calculate some many used values */
@@ -500,11 +464,13 @@
   gst_video_info_set_format (&vinfo, vformat, decoder->rect_width,
       decoder->rect_height);
 
+  decoder->frame = g_malloc (vinfo.size);
+  if (decoder->use_copyrect)
+    decoder->prev_frame = g_malloc (vinfo.size);
+
   caps = gst_video_info_to_caps (&vinfo);
 
-  gst_pad_set_caps (GST_BASE_SRC_PAD (bsrc), caps);
-
-  gst_rfb_negotiate_pool (src, caps);
+  gst_base_src_set_caps (bsrc, caps);
 
   gst_caps_unref (caps);
 
@@ -516,10 +482,7 @@
 {
   GstRfbSrc *src = GST_RFB_SRC (bsrc);
 
-  if (src->decoder->socket) {
-    g_object_unref (src->decoder->socket);
-    src->decoder->socket = NULL;
-  }
+  rfb_decoder_disconnect (src->decoder);
 
   if (src->decoder->frame) {
     g_free (src->decoder->frame);
@@ -535,12 +498,11 @@
 }
 
 static GstFlowReturn
-gst_rfb_src_create (GstPushSrc * psrc, GstBuffer ** outbuf)
+gst_rfb_src_fill (GstPushSrc * psrc, GstBuffer * outbuf)
 {
   GstRfbSrc *src = GST_RFB_SRC (psrc);
   RfbDecoder *decoder = src->decoder;
   GstMapInfo info;
-  GstFlowReturn ret;
 
   rfb_decoder_send_update_request (decoder, src->incremental_update,
       decoder->offset_x, decoder->offset_y, decoder->rect_width,
@@ -557,25 +519,23 @@
             ("Error on setup VNC connection to host %s on port %d", src->host,
                 src->port), (NULL));
       }
+      return GST_FLOW_ERROR;
     }
   }
 
-  /* Create the buffer. */
-  ret = gst_buffer_pool_acquire_buffer (src->pool, outbuf, NULL);
-
-  if (G_UNLIKELY (ret != GST_FLOW_OK)) {
+  if (!gst_buffer_map (outbuf, &info, GST_MAP_WRITE)) {
+    GST_ELEMENT_ERROR (src, RESOURCE, WRITE,
+        ("Could not map the output frame"), (NULL));
     return GST_FLOW_ERROR;
   }
 
-  gst_buffer_map (*outbuf, &info, GST_MAP_WRITE);
-
   memcpy (info.data, decoder->frame, info.size);
 
-  GST_BUFFER_PTS (*outbuf) =
+  GST_BUFFER_PTS (outbuf) =
       gst_clock_get_time (GST_ELEMENT_CLOCK (src)) -
       GST_ELEMENT_CAST (src)->base_time;
 
-  gst_buffer_unmap (*outbuf, &info);
+  gst_buffer_unmap (outbuf, &info);
 
   return GST_FLOW_OK;
 }
@@ -658,6 +618,14 @@
 }
 
 static gboolean
+gst_rfb_src_unlock (GstBaseSrc * bsrc)
+{
+  GstRfbSrc *src = GST_RFB_SRC (bsrc);
+  g_cancellable_cancel (src->decoder->cancellable);
+  return TRUE;
+}
+
+static gboolean
 plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rfbsrc", GST_RANK_NONE,
diff --git a/gst/librfb/gstrfbsrc.h b/gst/librfb/gstrfbsrc.h
index a85dc6e..81ebd45 100644
--- a/gst/librfb/gstrfbsrc.h
+++ b/gst/librfb/gstrfbsrc.h
@@ -25,7 +25,8 @@
 #include <gst/gst.h>
 #include <gst/base/gstpushsrc.h>
 #include <gst/video/gstvideopool.h>
-#include <librfb/rfb.h>
+
+#include "rfbdecoder.h"
 
 G_BEGIN_DECLS
 #define GST_TYPE_RFB_SRC \
@@ -60,8 +61,6 @@
 
   guint button_mask;
 
-  GstBufferPool *pool;
-
   /* protocol version */
   guint version_major;
   guint version_minor;
diff --git a/gst/librfb/rfb.h b/gst/librfb/rfb.h
deleted file mode 100644
index 89a4be9..0000000
--- a/gst/librfb/rfb.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef _RFB_RFB_H_
-#define _RFB_RFB_H_
-
-#include <librfb/rfbdecoder.h>
-#include <librfb/rfbbuffer.h>
-
-#endif
diff --git a/gst/librfb/rfbbuffer.c b/gst/librfb/rfbbuffer.c
deleted file mode 100644
index d8ca081..0000000
--- a/gst/librfb/rfbbuffer.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "rfbbuffer.h"
-
-RfbBuffer *
-rfb_buffer_new (void)
-{
-  return g_new0 (RfbBuffer, 1);
-}
-
-RfbBuffer *
-rfb_buffer_new_and_alloc (int len)
-{
-  RfbBuffer *buffer = g_new0 (RfbBuffer, 1);
-
-  buffer->data = g_malloc (len);
-  buffer->free_data = (RfbBufferFreeFunc) g_free;
-
-  return buffer;
-}
-
-void
-rfb_buffer_free (RfbBuffer * buffer)
-{
-  g_return_if_fail (buffer != NULL);
-
-  buffer->free_data (buffer->data, buffer->buffer_private);
-}
diff --git a/gst/librfb/rfbbuffer.h b/gst/librfb/rfbbuffer.h
deleted file mode 100644
index 6250ad4..0000000
--- a/gst/librfb/rfbbuffer.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _LIBRFB_BUFFER_H_
-#define _LIBRFB_BUFFER_H_
-
-#include <glib.h>
-
-G_BEGIN_DECLS typedef struct _RfbBuffer RfbBuffer;
-typedef void (*RfbBufferFreeFunc) (guint8 * data, gpointer priv);
-
-struct _RfbBuffer
-{
-  RfbBufferFreeFunc free_data;
-  gpointer buffer_private;
-
-  guint8 *data;
-  gint length;
-};
-
-RfbBuffer *rfb_buffer_new (void);
-RfbBuffer *rfb_buffer_new_and_alloc (gint len);
-void rfb_buffer_free (RfbBuffer * buffer);
-
-G_END_DECLS
-#endif
diff --git a/gst/librfb/rfbcontext.h b/gst/librfb/rfbcontext.h
deleted file mode 100644
index 4c72bc6..0000000
--- a/gst/librfb/rfbcontext.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _LIBRFB_RFBCONTEXT_H_
-#define _LIBRFB_RFBCONTEXT_H_
-
-#include <glib.h>
-
-G_BEGIN_DECLS typedef struct _RfbContext
-{
-  RfbConnection *connection;
-
-  guint8 *buffer1;
-  gpointer buffer1_alloc;
-  guint buffer1_len;
-
-  guint8 *buffer2;
-  gpointer buffer2_alloc;
-  guint buffer2_len;
-
-  gchar *name;
-} RfbContext;
-
-typedef struct _RfbRect
-{
-  RfbContext *context;
-
-  guint x_pos;
-  guint y_pos;
-  guint width;
-  guint height;
-  guint encoding_type;
-
-  gchar *data;
-} RfbRect;
-
-G_END_DECLS
-#endif
diff --git a/gst/librfb/rfbdecoder.c b/gst/librfb/rfbdecoder.c
index bd225ad..e6eb701 100644
--- a/gst/librfb/rfbdecoder.c
+++ b/gst/librfb/rfbdecoder.c
@@ -2,7 +2,7 @@
 #include "config.h"
 #endif
 
-#include "rfb.h"
+#include "rfbdecoder.h"
 #include "d3des.h"
 #include <gst/gst.h>
 
@@ -35,23 +35,24 @@
     decoder);
 static gboolean rfb_decoder_state_set_colour_map_entries (RfbDecoder * decoder);
 static gboolean rfb_decoder_state_server_cut_text (RfbDecoder * decoder);
-static void rfb_decoder_raw_encoding (RfbDecoder * decoder, gint start_x,
+static gboolean rfb_decoder_raw_encoding (RfbDecoder * decoder, gint start_x,
     gint start_y, gint rect_w, gint rect_h);
-static void rfb_decoder_copyrect_encoding (RfbDecoder * decoder, gint start_x,
+static gboolean rfb_decoder_copyrect_encoding (RfbDecoder * decoder,
+    gint start_x, gint start_y, gint rect_w, gint rect_h);
+static gboolean rfb_decoder_rre_encoding (RfbDecoder * decoder, gint start_x,
     gint start_y, gint rect_w, gint rect_h);
-static void rfb_decoder_rre_encoding (RfbDecoder * decoder, gint start_x,
+static gboolean rfb_decoder_corre_encoding (RfbDecoder * decoder, gint start_x,
     gint start_y, gint rect_w, gint rect_h);
-static void rfb_decoder_corre_encoding (RfbDecoder * decoder, gint start_x,
-    gint start_y, gint rect_w, gint rect_h);
-static void rfb_decoder_hextile_encoding (RfbDecoder * decoder, gint start_x,
-    gint start_y, gint rect_w, gint rect_h);
+static gboolean rfb_decoder_hextile_encoding (RfbDecoder * decoder,
+    gint start_x, gint start_y, gint rect_w, gint rect_h);
 
 RfbDecoder *
 rfb_decoder_new (void)
 {
   RfbDecoder *decoder = g_new0 (RfbDecoder, 1);
 
-  decoder->socket = NULL;
+  decoder->socket_client = g_socket_client_new ();
+  decoder->connection = NULL;
   decoder->cancellable = g_cancellable_new ();
 
   decoder->password = NULL;
@@ -63,11 +64,12 @@
   decoder->rect_width = 0;
   decoder->rect_height = 0;
   decoder->shared_flag = TRUE;
-  decoder->disconnected = FALSE;
   decoder->data = NULL;
   decoder->data_len = 0;
   decoder->error = NULL;
 
+  g_mutex_init (&decoder->write_lock);
+
   return decoder;
 }
 
@@ -76,21 +78,11 @@
 {
   g_return_if_fail (decoder != NULL);
 
-  if (decoder->cancellable) {
-    g_cancellable_cancel (decoder->cancellable);
-    g_object_unref (decoder->cancellable);
-    decoder->cancellable = NULL;
-  }
+  rfb_decoder_disconnect (decoder);
 
-  if (decoder->socket) {
-    g_object_unref (decoder->socket);
-    decoder->socket = NULL;
-  }
-
-  g_clear_error (&decoder->error);
-
-  g_free (decoder->data);
-
+  g_clear_object (&decoder->socket_client);
+  g_clear_object (&decoder->cancellable);
+  g_mutex_clear (&decoder->write_lock);
   g_free (decoder);
 }
 
@@ -98,78 +90,27 @@
 rfb_decoder_connect_tcp (RfbDecoder * decoder, gchar * host, guint port)
 {
   GError *err = NULL;
-  GInetAddress *addr;
-  GSocketAddress *saddr;
-  GResolver *resolver;
+  GSocketConnection *connection;
 
   GST_DEBUG ("connecting to the rfb server");
 
   g_return_val_if_fail (decoder != NULL, FALSE);
-  g_return_val_if_fail (decoder->socket == NULL, FALSE);
+  g_return_val_if_fail (decoder->connection == NULL, FALSE);
   g_return_val_if_fail (host != NULL, FALSE);
 
-  /* look up name if we need to */
-  addr = g_inet_address_new_from_string (host);
-  if (!addr) {
-    GList *results;
+  g_cancellable_reset (decoder->cancellable);
 
-    resolver = g_resolver_get_default ();
+  connection =
+      g_socket_client_connect_to_host (decoder->socket_client, host, port,
+      decoder->cancellable, &err);
 
-    results =
-        g_resolver_lookup_by_name (resolver, host, decoder->cancellable, &err);
-    if (!results)
-      goto name_resolve;
-    addr = G_INET_ADDRESS (g_object_ref (results->data));
-
-    g_resolver_free_addresses (results);
-    g_object_unref (resolver);
-  }
-
-  saddr = g_inet_socket_address_new (addr, port);
-
-  decoder->socket =
-      g_socket_new (g_socket_address_get_family (saddr), G_SOCKET_TYPE_STREAM,
-      G_SOCKET_PROTOCOL_TCP, &err);
-
-  if (!decoder->socket)
-    goto no_socket;
-
-  GST_DEBUG ("opened receiving client socket");
-
-  if (!g_socket_connect (decoder->socket, saddr, decoder->cancellable, &err))
+  if (!connection)
     goto connect_failed;
 
-  g_object_unref (saddr);
-
-  decoder->disconnected = FALSE;
+  decoder->connection = connection;
 
   return TRUE;
 
-no_socket:
-  {
-    GST_WARNING ("Failed to create socket: %s", err->message);
-    if (decoder->error == NULL)
-      decoder->error = err;
-    else
-      g_clear_error (&err);
-    g_object_unref (saddr);
-    return FALSE;
-  }
-name_resolve:
-  {
-    if (g_error_matches (err, G_IO_ERROR, G_IO_ERROR_CANCELLED)) {
-      GST_DEBUG ("Cancelled name resolval");
-    } else {
-      GST_WARNING ("Failed to resolve host '%s': %s", host, err->message);
-      if (decoder->error == NULL) {
-        decoder->error = err;
-        err = NULL;
-      }
-    }
-    g_clear_error (&err);
-    g_object_unref (resolver);
-    return FALSE;
-  }
 connect_failed:
   {
     if (g_error_matches (err, G_IO_ERROR, G_IO_ERROR_CANCELLED)) {
@@ -183,11 +124,31 @@
       }
     }
     g_clear_error (&err);
-    g_object_unref (saddr);
     return FALSE;
   }
 }
 
+void
+rfb_decoder_disconnect (RfbDecoder * decoder)
+{
+  GST_DEBUG ("Disconnecting from the rfb server");
+
+  g_return_if_fail (decoder);
+  g_return_if_fail (decoder->cancellable);
+
+  g_cancellable_cancel (decoder->cancellable);
+
+  /* Make sure threaded write a done first, this avoids race condition,
+   * specially when the decoder is freed */
+  g_mutex_lock (&decoder->write_lock);
+
+  g_clear_object (&decoder->connection);
+  g_clear_error (&decoder->error);
+  g_clear_pointer (&decoder->data, g_free);
+
+  g_mutex_unlock (&decoder->write_lock);
+}
+
 /**
  * rfb_decoder_iterate:
  * @decoder: The rfb context
@@ -202,7 +163,7 @@
   gboolean ret;
 
   g_return_val_if_fail (decoder != NULL, FALSE);
-  g_return_val_if_fail (decoder->socket != NULL, FALSE);
+  g_return_val_if_fail (decoder->connection != NULL, FALSE);
 
   if (decoder->state == NULL) {
     GST_DEBUG ("First iteration: set state to -> wait for protocol version");
@@ -225,28 +186,35 @@
 static guint8 *
 rfb_decoder_read (RfbDecoder * decoder, guint32 len)
 {
-  guint32 total = 0;
-  gssize now = 0;
+  GInputStream *in;
   GError *err = NULL;
+  gsize count = 0;
 
-  g_return_val_if_fail (decoder->socket != NULL, NULL);
+  if (!decoder->connection)
+    return FALSE;
+
   g_return_val_if_fail (len > 0, NULL);
 
+  in = g_io_stream_get_input_stream (G_IO_STREAM (decoder->connection));
+
+  g_return_val_if_fail (in != NULL, NULL);
+
   if (G_UNLIKELY (len > decoder->data_len)) {
     g_free (decoder->data);
     decoder->data = g_malloc (len);
     decoder->data_len = len;
   }
 
-  while (total < len) {
-    now = g_socket_receive (decoder->socket, (gchar *) decoder->data + total,
-        len - total, decoder->cancellable, &err);
+  if (!g_input_stream_read_all (in, decoder->data, len, &count,
+          decoder->cancellable, &err))
+    goto recv_error;
 
-    if (now < 0)
-      goto recv_error;
-
-    total += now;
+  if (count == 0) {
+    g_set_error_literal (&err, G_IO_ERROR, G_IO_ERROR_BROKEN_PIPE,
+        "Connection was closed.");
+    goto recv_error;
   }
+
   return decoder->data;
 
 recv_error:
@@ -261,29 +229,33 @@
       }
     }
     g_clear_error (&err);
-    decoder->disconnected = TRUE;
     return NULL;
   }
 }
 
-static gint
+static gboolean
 rfb_decoder_send (RfbDecoder * decoder, guint8 * buffer, guint len)
 {
-  gssize now = 0;
+  GOutputStream *out;
   GError *err = NULL;
 
-  g_return_val_if_fail (decoder->socket != NULL, 0);
+  if (!decoder->connection)
+    return FALSE;
+
   g_return_val_if_fail (buffer != NULL, 0);
   g_return_val_if_fail (len > 0, 0);
 
-  now = g_socket_send (decoder->socket, (gchar *) buffer, len,
-      decoder->cancellable, &err);
+  g_mutex_lock (&decoder->write_lock);
 
-  if (now < 0)
+  out = g_io_stream_get_output_stream (G_IO_STREAM (decoder->connection));
+
+  if (!g_output_stream_write_all (out, buffer, len, NULL, decoder->cancellable,
+          &err))
     goto send_error;
 
-done:
-  return now;
+  g_mutex_unlock (&decoder->write_lock);
+
+  return TRUE;
 
 send_error:
   {
@@ -297,7 +269,8 @@
       }
     }
     g_clear_error (&err);
-    goto done;
+    g_mutex_unlock (&decoder->write_lock);
+    return FALSE;
   }
 }
 
@@ -308,7 +281,7 @@
   guint8 data[10];
 
   g_return_if_fail (decoder != NULL);
-  g_return_if_fail (decoder->socket != NULL);
+  g_return_if_fail (decoder->connection != NULL);
 
   data[0] = 3;
   data[1] = incremental;
@@ -334,7 +307,7 @@
   guint8 data[8];
 
   g_return_if_fail (decoder != NULL);
-  g_return_if_fail (decoder->socket != NULL);
+  g_return_if_fail (decoder->connection != NULL);
 
   data[0] = 4;
   data[1] = down_flag;
@@ -351,7 +324,7 @@
   guint8 data[6];
 
   g_return_if_fail (decoder != NULL);
-  g_return_if_fail (decoder->socket != NULL);
+  g_return_if_fail (decoder->connection != NULL);
 
   data[0] = 5;
   data[1] = button_mask;
@@ -365,13 +338,14 @@
  * rfb_decoder_state_wait_for_protocol_version:
  *
  * Negotiate the rfb version used
- *
- * \TODO Support for versions 3.7 and 3.8
  */
 static gboolean
 rfb_decoder_state_wait_for_protocol_version (RfbDecoder * decoder)
 {
-  rfb_decoder_read (decoder, 12);
+  gchar version_str[] = "RFB 003.003\n";
+
+  if (!rfb_decoder_read (decoder, 12))
+    return FALSE;
 
   g_return_val_if_fail (memcmp (decoder->data, "RFB 003.00", 10) == 0, FALSE);
   g_return_val_if_fail (*(decoder->data + 11) == 0x0a, FALSE);
@@ -389,16 +363,23 @@
         ("A major protocol version of %d is not supported, falling back to 3",
         decoder->protocol_major);
     decoder->protocol_major = 3;
+    decoder->protocol_minor = 3;
   }
   switch (decoder->protocol_minor) {
     case 3:
+    case 7:
+    case 8:
       break;
     default:
       GST_INFO ("Minor version %d is not supported, using 3",
           decoder->protocol_minor);
       decoder->protocol_minor = 3;
   }
-  rfb_decoder_send (decoder, (guint8 *) "RFB 003.003\n", 12);
+
+  version_str[10] = '0' + decoder->protocol_minor;
+
+  if (!rfb_decoder_send (decoder, (guint8 *) version_str, 12))
+    return FALSE;
 
   decoder->state = rfb_decoder_state_wait_for_security;
   return TRUE;
@@ -413,10 +394,14 @@
 {
   gint reason_length;
 
-  rfb_decoder_read (decoder, 4);
+  if (!rfb_decoder_read (decoder, 4))
+    return FALSE;
 
   reason_length = RFB_GET_UINT32 (decoder->data);
-  rfb_decoder_read (decoder, reason_length);
+
+  if (!rfb_decoder_read (decoder, reason_length))
+    return FALSE;
+
   GST_WARNING ("Reason by server: %s", decoder->data);
 
   if (decoder->error == NULL) {
@@ -438,17 +423,60 @@
    * above.
    */
   if (IS_VERSION_3_3 (decoder)) {
-    rfb_decoder_read (decoder, 4);
+    if (!rfb_decoder_read (decoder, 4))
+      return FALSE;
 
     decoder->security_type = RFB_GET_UINT32 (decoder->data);
     GST_DEBUG ("security = %d", decoder->security_type);
 
     g_return_val_if_fail (decoder->security_type < 3, FALSE);
-    g_return_val_if_fail (decoder->security_type != SECURITY_FAIL,
-        rfb_decoder_state_reason (decoder));
+
+    if (decoder->security_type == SECURITY_FAIL) {
+      decoder->state = rfb_decoder_state_reason;
+      return TRUE;
+    }
   } else {
-    /* \TODO Add behavior for the rfb 3.7 and 3.8 servers */
-    GST_WARNING ("Other versions are not yet supported");
+    guint8 num_type;
+    gint i;
+    guint8 *type = NULL;
+
+    if (!rfb_decoder_read (decoder, 1))
+      return FALSE;
+
+    num_type = RFB_GET_UINT8 (decoder->data);
+    if (num_type == 0) {
+      decoder->state = rfb_decoder_state_reason;
+      return TRUE;
+    }
+
+    if (!rfb_decoder_read (decoder, num_type))
+      return FALSE;
+
+    decoder->security_type = SECURITY_FAIL;
+
+    /* For now, simply pick the first support security method */
+    for (i = 0; i < num_type; i++) {
+      guint val = RFB_GET_UINT8 (decoder->data + i);
+
+      GST_DEBUG ("Server supports security type %u", val);
+
+      if (val == SECURITY_NONE || val == SECURITY_VNC) {
+        decoder->security_type = val;
+        type = decoder->data + i;
+        break;
+      }
+    }
+
+    if (!type) {
+      GST_WARNING ("Security type negotiation failed.");
+      decoder->error = g_error_new (GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_READ,
+          "VNC server requires unsupported security method.");
+      return FALSE;
+    }
+
+    GST_DEBUG ("security = %d", decoder->security_type);
+    if (!rfb_decoder_send (decoder, type, 1))
+      return FALSE;
   }
 
   switch (decoder->security_type) {
@@ -497,7 +525,8 @@
       des (&des_ctx, challenge + 8, challenge + 8);
 
       /* .. and send back to server */
-      rfb_decoder_send (decoder, challenge, 16);
+      if (!rfb_decoder_send (decoder, challenge, 16))
+        return FALSE;
 
       GST_DEBUG ("Encrypted challenge sent to server");
 
@@ -519,7 +548,9 @@
 static gboolean
 rfb_decoder_state_security_result (RfbDecoder * decoder)
 {
-  rfb_decoder_read (decoder, 4);
+  if (!rfb_decoder_read (decoder, 4))
+    return FALSE;
+
   if (RFB_GET_UINT32 (decoder->data) != 0) {
     GST_WARNING ("Security handshaking failed");
     if (IS_VERSION_3_8 (decoder)) {
@@ -593,7 +624,11 @@
 
   message = rfb_decoder_message_set_encodings (encoder_list);
 
-  rfb_decoder_send (decoder, message, 4 + 4 * g_slist_length (encoder_list));
+  if (!rfb_decoder_send (decoder, message,
+          4 + 4 * g_slist_length (encoder_list))) {
+    g_free (message);
+    return FALSE;
+  }
 
   g_free (message);
 
@@ -609,7 +644,10 @@
   guint8 shared_flag;
 
   shared_flag = decoder->shared_flag;
-  rfb_decoder_send (decoder, &shared_flag, 1);
+
+  if (!rfb_decoder_send (decoder, &shared_flag, 1))
+    return FALSE;
+
   GST_DEBUG ("shared_flag is %d", shared_flag);
 
   decoder->state = rfb_decoder_state_wait_for_server_initialisation;
@@ -621,7 +659,8 @@
 {
   guint32 name_length;
 
-  rfb_decoder_read (decoder, 24);
+  if (!rfb_decoder_read (decoder, 24))
+    return FALSE;
 
   decoder->width = RFB_GET_UINT16 (decoder->data + 0);
   decoder->height = RFB_GET_UINT16 (decoder->data + 2);
@@ -652,7 +691,8 @@
 
   name_length = RFB_GET_UINT32 (decoder->data + 20);
 
-  rfb_decoder_read (decoder, name_length);
+  if (!rfb_decoder_read (decoder, name_length))
+    return FALSE;
 
   decoder->name = g_strndup ((gchar *) (decoder->data), name_length);
   GST_DEBUG ("name       = %s", decoder->name);
@@ -709,7 +749,9 @@
 
   GST_DEBUG ("decoder_state_normal");
 
-  rfb_decoder_read (decoder, 1);
+  if (!rfb_decoder_read (decoder, 1))
+    return FALSE;
+
   message_type = RFB_GET_UINT8 (decoder->data);
 
   switch (message_type) {
@@ -738,7 +780,8 @@
 rfb_decoder_state_framebuffer_update (RfbDecoder * decoder)
 {
 
-  rfb_decoder_read (decoder, 3);
+  if (!rfb_decoder_read (decoder, 3))
+    return FALSE;
 
   decoder->n_rects = RFB_GET_UINT16 (decoder->data + 1);
   GST_DEBUG ("Number of rectangles : %d", decoder->n_rects);
@@ -753,8 +796,10 @@
 {
   gint x, y, w, h;
   gint encoding;
+  gboolean ret = FALSE;
 
-  rfb_decoder_read (decoder, 12);
+  if (!rfb_decoder_read (decoder, 12))
+    return FALSE;
 
   x = RFB_GET_UINT16 (decoder->data + 0) - decoder->offset_x;
   y = RFB_GET_UINT16 (decoder->data + 2) - decoder->offset_y;
@@ -770,40 +815,44 @@
   if (((w * h) + (x * y)) > (decoder->width * decoder->height)) {
     GST_ERROR ("Desktop resize is unsupported.");
     decoder->state = NULL;
-    decoder->disconnected = TRUE;
     return TRUE;
   }
 
   switch (encoding) {
     case ENCODING_TYPE_RAW:
-      rfb_decoder_raw_encoding (decoder, x, y, w, h);
+      ret = rfb_decoder_raw_encoding (decoder, x, y, w, h);
       break;
     case ENCODING_TYPE_COPYRECT:
-      rfb_decoder_copyrect_encoding (decoder, x, y, w, h);
+      ret = rfb_decoder_copyrect_encoding (decoder, x, y, w, h);
       break;
     case ENCODING_TYPE_RRE:
-      rfb_decoder_rre_encoding (decoder, x, y, w, h);
+      ret = rfb_decoder_rre_encoding (decoder, x, y, w, h);
       break;
     case ENCODING_TYPE_CORRE:
-      rfb_decoder_corre_encoding (decoder, x, y, w, h);
+      ret = rfb_decoder_corre_encoding (decoder, x, y, w, h);
       break;
     case ENCODING_TYPE_HEXTILE:
-      rfb_decoder_hextile_encoding (decoder, x, y, w, h);
+      ret = rfb_decoder_hextile_encoding (decoder, x, y, w, h);
       break;
     default:
       g_critical ("unimplemented encoding\n");
       break;
   }
+
+  if (!ret)
+    return FALSE;
+
   decoder->n_rects--;
-  if (decoder->n_rects == 0 || decoder->disconnected) {
+  if (decoder->n_rects == 0) {
     decoder->state = NULL;
   } else {
     decoder->state = rfb_decoder_state_framebuffer_update_rectangle;
   }
+
   return TRUE;
 }
 
-static void
+static gboolean
 rfb_decoder_raw_encoding (RfbDecoder * decoder, gint start_x, gint start_y,
     gint rect_w, gint rect_h)
 {
@@ -813,8 +862,11 @@
 
   raw_line_size = rect_w * decoder->bytespp;
   size = rect_h * raw_line_size;
+
   GST_DEBUG ("Reading %d bytes (%dx%d)", size, rect_w, rect_h);
-  rfb_decoder_read (decoder, size);
+
+  if (!rfb_decoder_read (decoder, size))
+    return FALSE;
 
   frame =
       decoder->frame + (((start_y * decoder->rect_width) +
@@ -826,9 +878,11 @@
     p += raw_line_size;
     frame += decoder->line_size;
   }
+
+  return TRUE;
 }
 
-static void
+static gboolean
 rfb_decoder_copyrect_encoding (RfbDecoder * decoder, gint start_x, gint start_y,
     gint rect_w, gint rect_h)
 {
@@ -836,7 +890,8 @@
   gint line_width, copyrect_width;
   guint8 *src, *dst;
 
-  rfb_decoder_read (decoder, 4);
+  if (!rfb_decoder_read (decoder, 4))
+    return FALSE;
 
   /* don't forget the offset */
   src_x = RFB_GET_UINT16 (decoder->data) - decoder->offset_x;
@@ -857,6 +912,8 @@
     src += line_width;
     dst += line_width;
   }
+
+  return TRUE;
 }
 
 static void
@@ -878,14 +935,16 @@
   }
 }
 
-static void
+static gboolean
 rfb_decoder_rre_encoding (RfbDecoder * decoder, gint start_x, gint start_y,
     gint rect_w, gint rect_h)
 {
   guint32 number_of_rectangles, color;
   guint16 x, y, w, h;
 
-  rfb_decoder_read (decoder, 4 + decoder->bytespp);
+  if (!rfb_decoder_read (decoder, 4 + decoder->bytespp))
+    return FALSE;
+
   number_of_rectangles = RFB_GET_UINT32 (decoder->data);
   color = GUINT32_SWAP_LE_BE ((RFB_GET_UINT32 (decoder->data + 4)));
 
@@ -896,7 +955,9 @@
 
   while (number_of_rectangles--) {
 
-    rfb_decoder_read (decoder, decoder->bytespp + 8);
+    if (!rfb_decoder_read (decoder, decoder->bytespp + 8))
+      return FALSE;
+
     color = GUINT32_SWAP_LE_BE ((RFB_GET_UINT32 (decoder->data)));
     x = RFB_GET_UINT16 (decoder->data + decoder->bytespp);
     y = RFB_GET_UINT16 (decoder->data + decoder->bytespp + 2);
@@ -906,16 +967,20 @@
     /* draw the rectangle in the foreground */
     rfb_decoder_fill_rectangle (decoder, start_x + x, start_y + y, w, h, color);
   }
+
+  return TRUE;
 }
 
-static void
+static gboolean
 rfb_decoder_corre_encoding (RfbDecoder * decoder, gint start_x, gint start_y,
     gint rect_w, gint rect_h)
 {
   guint32 number_of_rectangles, color;
   guint8 x, y, w, h;
 
-  rfb_decoder_read (decoder, 4 + decoder->bytespp);
+  if (!rfb_decoder_read (decoder, 4 + decoder->bytespp))
+    return FALSE;
+
   number_of_rectangles = RFB_GET_UINT32 (decoder->data);
   color = GUINT32_SWAP_LE_BE ((RFB_GET_UINT32 (decoder->data + 4)));
   g_free (decoder->data);
@@ -927,7 +992,9 @@
 
   while (number_of_rectangles--) {
 
-    rfb_decoder_read (decoder, decoder->bytespp + 4);
+    if (!rfb_decoder_read (decoder, decoder->bytespp + 4))
+      return FALSE;
+
     color = GUINT32_SWAP_LE_BE ((RFB_GET_UINT32 (decoder->data)));
     x = RFB_GET_UINT8 (decoder->data + decoder->bytespp);
     y = RFB_GET_UINT8 (decoder->data + decoder->bytespp + 1);
@@ -939,9 +1006,11 @@
 
     g_free (decoder->data);
   }
+
+  return TRUE;
 }
 
-static void
+static gboolean
 rfb_decoder_hextile_encoding (RfbDecoder * decoder, gint start_x, gint start_y,
     gint rect_w, gint rect_h)
 {
@@ -963,7 +1032,9 @@
   for (y = start_y; y < y_max; y += 16) {
     for (x = start_x; x < x_max; x += 16) {
 
-      rfb_decoder_read (decoder, 1);
+      if (!rfb_decoder_read (decoder, 1))
+        return FALSE;
+
       subencoding = RFB_GET_UINT8 (decoder->data);
 
       if (subencoding & SUBENCODING_RAW) {
@@ -973,7 +1044,9 @@
       }
 
       if (subencoding & SUBENCODING_BACKGROUND) {
-        rfb_decoder_read (decoder, decoder->bytespp);
+        if (!rfb_decoder_read (decoder, decoder->bytespp))
+          return FALSE;
+
         background = GUINT32_SWAP_LE_BE ((RFB_GET_UINT32 (decoder->data)));
       }
       rfb_decoder_fill_rectangle (decoder, x, y,
@@ -981,12 +1054,16 @@
           background);
 
       if (subencoding & SUBENCODING_FOREGROUND) {
-        rfb_decoder_read (decoder, decoder->bytespp);
+        if (!rfb_decoder_read (decoder, decoder->bytespp))
+          return FALSE;
+
         foreground = GUINT32_SWAP_LE_BE ((RFB_GET_UINT32 (decoder->data)));
       }
 
       if (subencoding & SUBENCODING_ANYSUBRECTS) {
-        rfb_decoder_read (decoder, 1);
+        if (!rfb_decoder_read (decoder, 1))
+          return FALSE;
+
         nr_subrect = RFB_GET_UINT8 (decoder->data);
       } else {
         continue;
@@ -995,7 +1072,8 @@
       if (subencoding & SUBENCODING_SUBRECTSCOLORED) {
         guint offset = 0;
 
-        rfb_decoder_read (decoder, nr_subrect * (2 + decoder->bytespp));
+        if (!rfb_decoder_read (decoder, nr_subrect * (2 + decoder->bytespp)))
+          return FALSE;
 
         while (nr_subrect--) {
           foreground =
@@ -1009,7 +1087,8 @@
       } else {
         guint offset = 0;
 
-        rfb_decoder_read (decoder, 2 * nr_subrect);
+        if (!rfb_decoder_read (decoder, 2 * nr_subrect))
+          return FALSE;
 
         while (nr_subrect--) {
           xy = RFB_GET_UINT8 (decoder->data + offset++);
@@ -1020,6 +1099,8 @@
       }
     }
   }
+
+  return TRUE;
 }
 
 static gboolean
@@ -1036,13 +1117,18 @@
   gint cut_text_length;
 
   /* 3 bytes padding, 4 bytes cut_text_length */
-  rfb_decoder_read (decoder, 7);
+  if (!rfb_decoder_read (decoder, 7))
+    return FALSE;
+
   cut_text_length = RFB_GET_UINT32 (decoder->data + 3);
 
-  rfb_decoder_read (decoder, cut_text_length);
+  if (!rfb_decoder_read (decoder, cut_text_length))
+    return FALSE;
+
   GST_DEBUG ("rfb_decoder_state_server_cut_text: throw away '%s'",
       decoder->data);
 
   decoder->state = rfb_decoder_state_normal;
+
   return TRUE;
 }
diff --git a/gst/librfb/rfbdecoder.h b/gst/librfb/rfbdecoder.h
index 00a8520..0f3f5af 100644
--- a/gst/librfb/rfbdecoder.h
+++ b/gst/librfb/rfbdecoder.h
@@ -42,7 +42,8 @@
 
   gpointer buffer_handler_data;
 
-  GSocket *socket;
+  GSocketClient *socket_client;
+  GSocketConnection *connection;
   GCancellable *cancellable;
 
   guint8 *data;
@@ -55,7 +56,6 @@
 
   /* settable properties */
   gboolean shared_flag;
-  gboolean disconnected;
 
   /* readable properties */
   gboolean inited;
@@ -93,27 +93,16 @@
   /* some many used values */
   guint bytespp;
   guint line_size;
+
+  /* Seriliaze writes operations */
+  GMutex write_lock;
 };
 
-#if 0
-typedef struct _RfbRect
-{
-  RfbConnection *connection;
-
-  guint x_pos;
-  guint y_pos;
-  guint width;
-  guint height;
-  guint encoding_type;
-
-  gchar *data;
-} RfbRect;
-#endif
-
 RfbDecoder *rfb_decoder_new (void);
 void rfb_decoder_free (RfbDecoder * decoder);
 gboolean rfb_decoder_connect_tcp (RfbDecoder * decoder,
     gchar * host, guint port);
+void rfb_decoder_disconnect (RfbDecoder * decoder);
 gboolean rfb_decoder_iterate (RfbDecoder * decoder);
 void rfb_decoder_send_update_request (RfbDecoder * decoder,
     gboolean incremental, gint x, gint y, gint width, gint height);
diff --git a/gst/librfb/rfbutil.h b/gst/librfb/rfbutil.h
deleted file mode 100644
index b1ac946..0000000
--- a/gst/librfb/rfbutil.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef _LIBRFB_UTIL_H_
-#define _LIBRFB_UTIL_H_
-
-#include <glib.h>
-
-G_BEGIN_DECLS G_END_DECLS
-#endif
diff --git a/gst/midi/Makefile.in b/gst/midi/Makefile.in
index 512252a..1199978 100644
--- a/gst/midi/Makefile.in
+++ b/gst/midi/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/midi/midiparse.c b/gst/midi/midiparse.c
index 2f817c7..d52539b 100644
--- a/gst/midi/midiparse.c
+++ b/gst/midi/midiparse.c
@@ -133,10 +133,8 @@
   gobject_class->set_property = gst_midi_parse_set_property;
   gobject_class->get_property = gst_midi_parse_get_property;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
   gst_element_class_set_static_metadata (gstelement_class, "MidiParse",
       "Codec/Demuxer/Audio",
       "Midi Parser Element", "Wim Taymans <wim.taymans@gmail.com>");
diff --git a/gst/mpegdemux/Makefile.in b/gst/mpegdemux/Makefile.in
index dbe2b80..a7b6e29 100644
--- a/gst/mpegdemux/Makefile.in
+++ b/gst/mpegdemux/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/mpegdemux/gstmpegdemux.c b/gst/mpegdemux/gstmpegdemux.c
index eb2848b..68985b2 100644
--- a/gst/mpegdemux/gstmpegdemux.c
+++ b/gst/mpegdemux/gstmpegdemux.c
@@ -228,7 +228,7 @@
   gst_element_class_add_pad_template (element_class, klass->sink_template);
 
   gst_element_class_set_static_metadata (element_class,
-      "The Fluendo MPEG Program Stream Demuxer", "Codec/Demuxer",
+      "MPEG Program Stream Demuxer", "Codec/Demuxer",
       "Demultiplexes MPEG Program Streams", "Wim Taymans <wim@fluendo.com>");
 }
 
@@ -1274,7 +1274,7 @@
   }
 
   /* check the limits */
-  if (seeksegment.rate > 0.0) {
+  if (seeksegment.rate > 0.0 && first_pts != G_MAXUINT64) {
     if (seeksegment.start < first_pts - demux->base_time) {
       seeksegment.start = first_pts - demux->base_time;
       seeksegment.position = seeksegment.start;
@@ -2401,13 +2401,14 @@
 
 static inline gboolean
 gst_ps_demux_scan_ts (GstPsDemux * demux, const guint8 * data,
-    SCAN_MODE mode, guint64 * rts)
+    SCAN_MODE mode, guint64 * rts, const guint8 * end)
 {
   gboolean ret = FALSE;
   guint32 scr1, scr2;
   guint64 scr;
   guint64 pts, dts;
   guint32 code;
+  guint16 len;
 
   /* read the 4 bytes for the sync code */
   code = GST_READ_UINT32_BE (data);
@@ -2422,6 +2423,7 @@
 
   /* start parsing the stream */
   if ((*data & 0xc0) == 0x40) {
+    /* MPEG-2 PACK header */
     guint32 scr_ext;
     guint32 next32;
     guint8 stuffing_bytes;
@@ -2461,6 +2463,7 @@
         goto beach;
     }
   } else {
+    /* MPEG-1 pack header */
     /* check markers */
     if ((scr1 & 0xf1000100) != 0x21000100)
       goto beach;
@@ -2482,8 +2485,27 @@
     goto beach;
   }
 
-  /* read the 4 bytes for the PES sync code */
+  /* Possible optional System header here */
   code = GST_READ_UINT32_BE (data);
+  len = GST_READ_UINT16_BE (data + 4);
+
+  if (code == ID_PS_SYSTEM_HEADER_START_CODE) {
+    /* Found a system header, skip it */
+    /* Check for sufficient data - system header, plus enough
+     * left over for the PES packet header */
+    if (data + 6 + len + 6 > end)
+      return FALSE;
+    data += len + 6;
+
+    /* read the 4 bytes for the PES sync code */
+    code = GST_READ_UINT32_BE (data);
+    len = GST_READ_UINT16_BE (data + 4);
+  }
+
+  /* Check we have enough data left for reading the PES packet */
+  if (data + 6 + len > end)
+    return FALSE;
+
   if (!gst_ps_demux_is_pes_sync (code))
     goto beach;
 
@@ -2597,9 +2619,11 @@
   GstMapInfo map;
 
   do {
+    /* Check we can get at least scan_sz bytes */
     if (offset + scan_sz > demux->sink_segment.stop)
       return FALSE;
 
+    /* Don't go further than 'limit' bytes */
     if (limit && offset > *pos + limit)
       return FALSE;
 
@@ -2624,7 +2648,8 @@
 
     /* scan the block */
     for (cursor = 0; !found && cursor <= end_scan; cursor++) {
-      found = gst_ps_demux_scan_ts (demux, map.data + cursor, mode, &ts);
+      found = gst_ps_demux_scan_ts (demux, map.data + cursor, mode, &ts,
+          map.data + map.size);
     }
 
     /* done with the buffer, unref it */
@@ -2658,10 +2683,12 @@
   GstMapInfo map;
 
   do {
+    /* Check we have at least scan_sz bytes available */
     if (offset < scan_sz - 1)
       return FALSE;
 
-    if (limit && offset < *pos - limit)
+    /* Don't go backward past the start or 'limit' bytes */
+    if (limit && offset + limit < *pos)
       return FALSE;
 
     if (offset > BLOCK_SZ)
@@ -2690,7 +2717,8 @@
 
     /* scan the block */
     for (cursor = (start_scan + 1); !found && cursor > 0; cursor--) {
-      found = gst_ps_demux_scan_ts (demux, data--, mode, &ts);
+      found = gst_ps_demux_scan_ts (demux, data--, mode, &ts,
+          map.data + map.size);
     }
 
     /* done with the buffer, unref it */
@@ -2750,7 +2778,8 @@
   demux->first_scr_offset = offset;
   /* scan for last SCR in the stream */
   offset = demux->sink_segment.stop;
-  gst_ps_demux_scan_backward_ts (demux, &offset, SCAN_SCR, &demux->last_scr, 0);
+  gst_ps_demux_scan_backward_ts (demux, &offset, SCAN_SCR, &demux->last_scr,
+      DURATION_SCAN_LIMIT);
   GST_DEBUG_OBJECT (demux, "Last SCR: %" G_GINT64_FORMAT " %" GST_TIME_FORMAT
       " in packet starting at %" G_GUINT64_FORMAT,
       demux->last_scr, GST_TIME_ARGS (MPEGTIME_TO_GSTTIME (demux->last_scr)),
diff --git a/gst/mpegpsmux/Makefile.in b/gst/mpegpsmux/Makefile.in
index ec13c2a..ae79453 100644
--- a/gst/mpegpsmux/Makefile.in
+++ b/gst/mpegpsmux/Makefile.in
@@ -305,6 +305,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -520,6 +522,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -646,8 +650,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -692,6 +694,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/mpegpsmux/mpegpsmux.c b/gst/mpegpsmux/mpegpsmux.c
index 2b96fc1..fdd1c14 100644
--- a/gst/mpegpsmux/mpegpsmux.c
+++ b/gst/mpegpsmux/mpegpsmux.c
@@ -127,10 +127,10 @@
           "Whether to aggregate GOPs and push them out as buffer lists",
           DEFAULT_AGGREGATE_GOPS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&mpegpsmux_sink_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&mpegpsmux_src_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &mpegpsmux_sink_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &mpegpsmux_src_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "MPEG Program Stream Muxer", "Codec/Muxer",
diff --git a/gst/mpegtsdemux/Makefile.in b/gst/mpegtsdemux/Makefile.in
index 0ca9693..05b1780 100644
--- a/gst/mpegtsdemux/Makefile.in
+++ b/gst/mpegtsdemux/Makefile.in
@@ -310,6 +310,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -525,6 +527,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -651,8 +655,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -697,6 +699,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c
index 4aee084..481695a 100644
--- a/gst/mpegtsdemux/mpegtsbase.c
+++ b/gst/mpegtsdemux/mpegtsbase.c
@@ -125,8 +125,7 @@
   element_class = GST_ELEMENT_CLASS (klass);
   element_class->change_state = mpegts_base_change_state;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   gobject_class = G_OBJECT_CLASS (klass);
   gobject_class->dispose = mpegts_base_dispose;
diff --git a/gst/mpegtsdemux/mpegtsbase.h b/gst/mpegtsdemux/mpegtsbase.h
index fc0c651..ecb15ac 100644
--- a/gst/mpegtsdemux/mpegtsbase.h
+++ b/gst/mpegtsdemux/mpegtsbase.h
@@ -141,11 +141,6 @@
   /* Whether we saw a PAT yet */
   gboolean seen_pat;
 
-  /* Whether upstream is live or not */
-  gboolean upstream_live;
-  /* Whether we queried the upstream latency or not */
-  gboolean queried_latency;
-
   /* Upstream segment */
   GstSegment segment;
 
diff --git a/gst/mpegtsdemux/mpegtsparse.c b/gst/mpegtsdemux/mpegtsparse.c
index 6ab2e7d..7bf8fc4 100644
--- a/gst/mpegtsdemux/mpegtsparse.c
+++ b/gst/mpegtsdemux/mpegtsparse.c
@@ -165,10 +165,8 @@
   element_class->request_new_pad = mpegts_parse_request_new_pad;
   element_class->release_pad = mpegts_parse_release_pad;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&program_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class, &program_template);
 
   gst_element_class_set_static_metadata (element_class,
       "MPEG transport stream parser", "Codec/Parser",
diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c
index 8a41f90..91d3776 100644
--- a/gst/mpegtsdemux/tsdemux.c
+++ b/gst/mpegtsdemux/tsdemux.c
@@ -246,24 +246,24 @@
     GST_STATIC_CAPS ("subpicture/x-pgs; subpicture/x-dvd; subpicture/x-dvb")
 
 static GstStaticPadTemplate video_template =
-GST_STATIC_PAD_TEMPLATE ("video_%04x", GST_PAD_SRC,
+GST_STATIC_PAD_TEMPLATE ("video_%01x_%05x", GST_PAD_SRC,
     GST_PAD_SOMETIMES,
     VIDEO_CAPS);
 
 static GstStaticPadTemplate audio_template =
-GST_STATIC_PAD_TEMPLATE ("audio_%04x",
+GST_STATIC_PAD_TEMPLATE ("audio_%01x_%05x",
     GST_PAD_SRC,
     GST_PAD_SOMETIMES,
     AUDIO_CAPS);
 
 static GstStaticPadTemplate subpicture_template =
-GST_STATIC_PAD_TEMPLATE ("subpicture_%04x",
+GST_STATIC_PAD_TEMPLATE ("subpicture_%01x_%05x",
     GST_PAD_SRC,
     GST_PAD_SOMETIMES,
     SUBPICTURE_CAPS);
 
 static GstStaticPadTemplate private_template =
-GST_STATIC_PAD_TEMPLATE ("private_%04x",
+GST_STATIC_PAD_TEMPLATE ("private_%01x_%05x",
     GST_PAD_SRC,
     GST_PAD_SOMETIMES,
     GST_STATIC_CAPS_ANY);
@@ -418,6 +418,7 @@
   demux->group_id = G_MAXUINT;
 
   demux->last_seek_offset = -1;
+  demux->program_generation = 0;
 }
 
 static void
@@ -1533,16 +1534,24 @@
   if (caps) {
     if (is_audio) {
       template = gst_static_pad_template_get (&audio_template);
-      name = g_strdup_printf ("audio_%04x", bstream->pid);
+      name =
+          g_strdup_printf ("audio_%01x_%04x", demux->program_generation,
+          bstream->pid);
     } else if (is_video) {
       template = gst_static_pad_template_get (&video_template);
-      name = g_strdup_printf ("video_%04x", bstream->pid);
+      name =
+          g_strdup_printf ("video_%01x_%04x", demux->program_generation,
+          bstream->pid);
     } else if (is_private) {
       template = gst_static_pad_template_get (&private_template);
-      name = g_strdup_printf ("private_%04x", bstream->pid);
+      name =
+          g_strdup_printf ("private_%01x_%04x", demux->program_generation,
+          bstream->pid);
     } else if (is_subpicture) {
       template = gst_static_pad_template_get (&subpicture_template);
-      name = g_strdup_printf ("subpicture_%04x", bstream->pid);
+      name =
+          g_strdup_printf ("subpicture_%01x_%04x", demux->program_generation,
+          bstream->pid);
     } else
       g_assert_not_reached ();
 
@@ -1799,6 +1808,9 @@
     demux->program_number = program->program_number;
     demux->program = program;
 
+    /* Increment the program_generation counter */
+    demux->program_generation = (demux->program_generation + 1) & 0xf;
+
     /* If this is not the initial program, we need to calculate
      * a new segment */
     if (demux->segment_event) {
diff --git a/gst/mpegtsdemux/tsdemux.h b/gst/mpegtsdemux/tsdemux.h
index b416733..32cbde2 100644
--- a/gst/mpegtsdemux/tsdemux.h
+++ b/gst/mpegtsdemux/tsdemux.h
@@ -64,6 +64,7 @@
   gboolean emit_statistics;
 
   /*< private >*/
+  gint program_generation; /* Incremented each time we switch program 0..15 */
   MpegTSBaseProgram *program;	/* Current program */
   MpegTSBaseProgram *previous_program; /* Previous program, to deactivate once
 					* the new program becomes active */
diff --git a/gst/mpegtsmux/Makefile.in b/gst/mpegtsmux/Makefile.in
index 2611b8c..4b0a2ef 100644
--- a/gst/mpegtsmux/Makefile.in
+++ b/gst/mpegtsmux/Makefile.in
@@ -349,6 +349,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -564,6 +566,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -690,8 +694,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -736,6 +738,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/mpegtsmux/mpegtsmux.c b/gst/mpegtsmux/mpegtsmux.c
index 4c68e3e..67c2b72 100644
--- a/gst/mpegtsmux/mpegtsmux.c
+++ b/gst/mpegtsmux/mpegtsmux.c
@@ -239,10 +239,10 @@
   GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&mpegtsmux_sink_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&mpegtsmux_src_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &mpegtsmux_sink_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &mpegtsmux_src_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "MPEG Transport Stream Muxer", "Codec/Muxer",
@@ -933,11 +933,9 @@
 
         lang_code = gst_tag_get_language_code_iso_639_2B (lang);
         if (lang_code) {
-          if (pad_data->language) {
-            g_free (pad_data->language);
-            pad_data->language = NULL;
-          }
           GST_DEBUG_OBJECT (pad, "Setting language to '%s'", lang_code);
+
+          g_free (pad_data->language);
           pad_data->language = g_strdup (lang_code);
         } else {
           GST_WARNING_OBJECT (pad, "Did not get language code for '%s'", lang);
diff --git a/gst/mpegtsmux/tsmux/Makefile.in b/gst/mpegtsmux/tsmux/Makefile.in
index f2526ec..92b64e0 100644
--- a/gst/mpegtsmux/tsmux/Makefile.in
+++ b/gst/mpegtsmux/tsmux/Makefile.in
@@ -274,6 +274,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -489,6 +491,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -615,8 +619,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -661,6 +663,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/mpegtsmux/tsmux/tsmuxstream.c b/gst/mpegtsmux/tsmux/tsmuxstream.c
index 6b7c17e..f719d8f 100644
--- a/gst/mpegtsmux/tsmux/tsmuxstream.c
+++ b/gst/mpegtsmux/tsmux/tsmuxstream.c
@@ -148,6 +148,7 @@
     case TSMUX_ST_AUDIO_MPEG1:
     case TSMUX_ST_AUDIO_MPEG2:
       /* FIXME: Assign sequential IDs? */
+      stream->is_audio = TRUE;
       stream->id = 0xC0;
       stream->pi.flags |= TSMUX_PACKET_FLAG_PES_FULL_HEADER;
       break;
@@ -163,12 +164,15 @@
           stream->is_video_stream = TRUE;
           break;
         case TSMUX_ST_PS_AUDIO_LPCM:
+          stream->is_audio = TRUE;
           stream->id_extended = 0x80;
           break;
         case TSMUX_ST_PS_AUDIO_AC3:
+          stream->is_audio = TRUE;
           stream->id_extended = 0x71;
           break;
         case TSMUX_ST_PS_AUDIO_DTS:
+          stream->is_audio = TRUE;
           stream->id_extended = 0x82;
           break;
         default:
@@ -204,6 +208,7 @@
     case TSMUX_ST_PS_OPUS:
       /* FIXME: assign sequential extended IDs? */
       stream->id = 0xBD;
+      stream->is_audio = TRUE;
       stream->stream_type = TSMUX_ST_PRIVATE_DATA;
       stream->is_opus = TRUE;
       stream->pi.flags |= TSMUX_PACKET_FLAG_PES_FULL_HEADER;
@@ -732,7 +737,13 @@
   g_return_if_fail (stream != NULL);
   g_return_if_fail (pmt_stream != NULL);
 
-  /* Based on the stream type, write out any descriptors to go in the 
+  if (stream->is_audio && stream->language[0] != '\0') {
+    descriptor = gst_mpegts_descriptor_from_iso_639_language (stream->language);
+    g_ptr_array_add (pmt_stream->descriptors, descriptor);
+    descriptor = NULL;
+  }
+
+  /* Based on the stream type, write out any descriptors to go in the
    * PMT ES_info field */
   /* tag (registration_descriptor), length, format_identifier */
   switch (stream->stream_type) {
diff --git a/gst/mpegtsmux/tsmux/tsmuxstream.h b/gst/mpegtsmux/tsmux/tsmuxstream.h
index 73b2a88..2766718 100644
--- a/gst/mpegtsmux/tsmux/tsmuxstream.h
+++ b/gst/mpegtsmux/tsmux/tsmuxstream.h
@@ -211,6 +211,7 @@
   gchar language[4];
 
   gboolean is_meta;
+  gboolean is_audio;
 
   /* Opus */
   gboolean is_opus;
diff --git a/gst/mve/Makefile.in b/gst/mve/Makefile.in
index fc8b6de..ed8cafb 100644
--- a/gst/mve/Makefile.in
+++ b/gst/mve/Makefile.in
@@ -306,6 +306,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -521,6 +523,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -647,8 +651,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -693,6 +695,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/mve/gstmvemux.c b/gst/mve/gstmvemux.c
index a7a32cb..b123d2d 100644
--- a/gst/mve/gstmvemux.c
+++ b/gst/mve/gstmvemux.c
@@ -1350,12 +1350,11 @@
 
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&audio_sink_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&video_sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &audio_sink_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &video_sink_factory);
 
   gst_element_class_set_static_metadata (element_class, "MVE Multiplexer",
       "Codec/Muxer",
diff --git a/gst/mxf/Makefile.in b/gst/mxf/Makefile.in
index d7fa222..78cec92 100644
--- a/gst/mxf/Makefile.in
+++ b/gst/mxf/Makefile.in
@@ -311,6 +311,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -526,6 +528,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -652,8 +656,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -698,6 +700,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/mxf/mxfdemux.c b/gst/mxf/mxfdemux.c
index 0eaad0f..ca09cc7 100644
--- a/gst/mxf/mxfdemux.c
+++ b/gst/mxf/mxfdemux.c
@@ -4461,13 +4461,13 @@
       GST_DEBUG_FUNCPTR (gst_mxf_demux_change_state);
   gstelement_class->query = GST_DEBUG_FUNCPTR (gst_mxf_demux_query);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&mxf_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&mxf_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &mxf_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &mxf_src_template);
   gst_element_class_set_static_metadata (gstelement_class, "MXF Demuxer",
-      "Codec/Demuxer",
-      "Demux MXF files", "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
+      "Codec/Demuxer", "Demux MXF files",
+      "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
 }
 
 static void
diff --git a/gst/mxf/mxfmux.c b/gst/mxf/mxfmux.c
index 4fb6630..c21a84d 100644
--- a/gst/mxf/mxfmux.c
+++ b/gst/mxf/mxfmux.c
@@ -171,8 +171,7 @@
   gstaggregator_class->aggregate = GST_DEBUG_FUNCPTR (gst_mxf_mux_aggregate);
   gstaggregator_class->sinkpads_type = GST_TYPE_MXF_MUX_PAD;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_templ));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_templ);
 
   p = mxf_essence_element_writer_get_pad_templates ();
   while (p && *p) {
diff --git a/gst/netsim/Makefile.in b/gst/netsim/Makefile.in
index c04ea7e..70a2f75 100644
--- a/gst/netsim/Makefile.in
+++ b/gst/netsim/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/netsim/gstnetsim.c b/gst/netsim/gstnetsim.c
index 2e15ac3..833e746 100644
--- a/gst/netsim/gstnetsim.c
+++ b/gst/netsim/gstnetsim.c
@@ -400,10 +400,10 @@
 
   g_type_class_add_private (klass, sizeof (GstNetSimPrivate));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_net_sim_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_net_sim_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_net_sim_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_net_sim_sink_template);
 
   gst_element_class_set_metadata (gstelement_class,
       "Network Simulator",
diff --git a/gst/nuvdemux/Makefile.in b/gst/nuvdemux/Makefile.in
index ff8e8e5..f270c92 100644
--- a/gst/nuvdemux/Makefile.in
+++ b/gst/nuvdemux/Makefile.in
@@ -301,6 +301,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -516,6 +518,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -642,8 +646,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -688,6 +690,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/nuvdemux/gstnuvdemux.c b/gst/nuvdemux/gstnuvdemux.c
index 765025f..b98d35d 100644
--- a/gst/nuvdemux/gstnuvdemux.c
+++ b/gst/nuvdemux/gstnuvdemux.c
@@ -124,14 +124,11 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&audio_src_template));
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&video_src_template));
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &audio_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &video_src_template);
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
   gst_element_class_set_static_metadata (element_class, "Nuv demuxer",
       "Codec/Demuxer",
       "Demultiplex a MythTV NuppleVideo .nuv file into audio and video",
diff --git a/gst/onvif/Makefile.in b/gst/onvif/Makefile.in
index 84f6c30..b4fa711 100644
--- a/gst/onvif/Makefile.in
+++ b/gst/onvif/Makefile.in
@@ -301,6 +301,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -516,6 +518,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -642,8 +646,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -688,6 +690,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/onvif/gstrtponvifparse.c b/gst/onvif/gstrtponvifparse.c
index f48ac07..8ff4fa9 100644
--- a/gst/onvif/gstrtponvifparse.c
+++ b/gst/onvif/gstrtponvifparse.c
@@ -57,10 +57,10 @@
   gstelement_class = GST_ELEMENT_CLASS (klass);
 
   /* register pads */
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &sink_template_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &src_template_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "ONVIF NTP timestamps RTP extension", "Effect/RTP",
diff --git a/gst/onvif/gstrtponviftimestamp.c b/gst/onvif/gstrtponviftimestamp.c
index 4abece1..6777f9f 100644
--- a/gst/onvif/gstrtponviftimestamp.c
+++ b/gst/onvif/gstrtponviftimestamp.c
@@ -257,10 +257,10 @@
           DEFAULT_SET_E_BIT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /* register pads */
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &sink_template_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &src_template_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "ONVIF NTP timestamps RTP extension", "Effect/RTP",
diff --git a/gst/patchdetect/Makefile.in b/gst/patchdetect/Makefile.in
index 22dceb0..1c72039 100644
--- a/gst/patchdetect/Makefile.in
+++ b/gst/patchdetect/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/patchdetect/gstpatchdetect.c b/gst/patchdetect/gstpatchdetect.c
index 06a6396..ff21fda 100644
--- a/gst/patchdetect/gstpatchdetect.c
+++ b/gst/patchdetect/gstpatchdetect.c
@@ -109,10 +109,10 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_patchdetect_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_patchdetect_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_patchdetect_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_patchdetect_src_template);
 
   gst_element_class_set_static_metadata (element_class, "Color Patch Detector",
       "Video/Analysis", "Detects color patches from a color calibration chart",
diff --git a/gst/pcapparse/Makefile.in b/gst/pcapparse/Makefile.in
index 9a4cd05..466349b 100644
--- a/gst/pcapparse/Makefile.in
+++ b/gst/pcapparse/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/pcapparse/gstirtspparse.c b/gst/pcapparse/gstirtspparse.c
index 88a0096..f6b7ace 100644
--- a/gst/pcapparse/gstirtspparse.c
+++ b/gst/pcapparse/gstirtspparse.c
@@ -105,10 +105,8 @@
   parse_class->stop = GST_DEBUG_FUNCPTR (gst_irtsp_parse_stop);
   parse_class->handle_frame = GST_DEBUG_FUNCPTR (gst_irtsp_parse_handle_frame);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 
   gst_element_class_set_static_metadata (element_class, "IRTSPParse",
       "Raw/Parser",
diff --git a/gst/pcapparse/gstpcapparse.c b/gst/pcapparse/gstpcapparse.c
index 21e0cab..4ffa8c1 100644
--- a/gst/pcapparse/gstpcapparse.c
+++ b/gst/pcapparse/gstpcapparse.c
@@ -138,10 +138,8 @@
           "Relative timestamp offset (ns) to apply (-1 = use absolute packet time)",
           -1, G_MAXINT64, -1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 
   element_class->change_state = gst_pcap_parse_change_state;
 
diff --git a/gst/pnm/Makefile.in b/gst/pnm/Makefile.in
index deecc99..db106aa 100644
--- a/gst/pnm/Makefile.in
+++ b/gst/pnm/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/pnm/gstpnmdec.c b/gst/pnm/gstpnmdec.c
index 93c4140..1b5ea51 100644
--- a/gst/pnm/gstpnmdec.c
+++ b/gst/pnm/gstpnmdec.c
@@ -44,6 +44,7 @@
 #include <stdio.h>
 
 static gboolean gst_pnmdec_start (GstVideoDecoder * decoder);
+static GstFlowReturn gst_pnmdec_finish (GstVideoDecoder * decoder);
 static gboolean gst_pnmdec_set_format (GstVideoDecoder * decoder,
     GstVideoCodecState * state);
 static gboolean gst_pnmdec_stop (GstVideoDecoder * decoder);
@@ -57,11 +58,14 @@
 G_DEFINE_TYPE (GstPnmdec, gst_pnmdec, GST_TYPE_VIDEO_DECODER);
 
 static GstStaticPadTemplate gst_pnmdec_src_pad_template =
-    GST_STATIC_PAD_TEMPLATE ("src",
+GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("RGB") "; "
-        GST_VIDEO_CAPS_MAKE ("GRAY8")));
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE
+        ("{ RGB, GRAY8, GRAY16_BE, GRAY16_LE }")));
+
+static GstStaticCaps gst_pnmdec_gray16_caps =
+GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("{ GRAY16_BE, GRAY16_LE }"));
 
 static GstStaticPadTemplate gst_pnmdec_sink_pad_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
@@ -69,6 +73,8 @@
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS (MIME_ALL));
 
+GST_DEBUG_CATEGORY (pnmdecoder_debug);
+#define GST_CAT_DEFAULT pnmdecoder_debug
 
 static void
 gst_pnmdec_class_init (GstPnmdecClass * klass)
@@ -76,16 +82,20 @@
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
   GstVideoDecoderClass *vdec_class = (GstVideoDecoderClass *) klass;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_pnmdec_src_pad_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_pnmdec_sink_pad_template));
+  GST_DEBUG_CATEGORY_INIT (pnmdecoder_debug, "pnmdec", 0, "PNM Video Decoder");
+
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_pnmdec_src_pad_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_pnmdec_sink_pad_template);
+
   gst_element_class_set_static_metadata (element_class, "PNM image decoder",
       "Codec/Decoder/Image",
       "Decodes images in portable pixmap/graymap/bitmap/anymamp (PNM) format",
       "Lutz Mueller <lutz@users.sourceforge.net>");
 
   vdec_class->start = gst_pnmdec_start;
+  vdec_class->finish = gst_pnmdec_finish;
   vdec_class->stop = gst_pnmdec_stop;
   vdec_class->parse = gst_pnmdec_parse;
   vdec_class->handle_frame = gst_pnmdec_handle_frame;
@@ -116,11 +126,91 @@
   GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (s));
 }
 
+static GstFlowReturn
+gst_pnmdec_negotiate (GstVideoDecoder * decoder)
+{
+  GstPnmdec *pnmdec = (GstPnmdec *) decoder;
+  GstVideoFormat fmt = GST_VIDEO_FORMAT_UNKNOWN;
+  GstVideoCodecState *output_state;
+
+  switch (pnmdec->mngr.info.type) {
+    case GST_PNM_TYPE_BITMAP:
+      if (pnmdec->mngr.info.encoding == GST_PNM_ENCODING_ASCII) {
+        return GST_FLOW_ERROR;
+      }
+      pnmdec->size = pnmdec->mngr.info.width * pnmdec->mngr.info.height * 1;
+      fmt = GST_VIDEO_FORMAT_GRAY8;
+      break;
+    case GST_PNM_TYPE_GRAYMAP:
+      if (pnmdec->mngr.info.max > 255) {
+        GstCaps *gray16_caps = gst_static_caps_get (&gst_pnmdec_gray16_caps);
+        GstCaps *peercaps;
+        GstStructure *peerstruct;
+        const gchar *fmtstr;
+
+        pnmdec->size = pnmdec->mngr.info.width * pnmdec->mngr.info.height * 2;
+        /* perform some basic negotiation to resolve which endianess,
+         * if any, is supported by the component downstream. Query
+         * the peer caps, intersecting with our preferred caps
+         */
+        peercaps =
+            gst_pad_peer_query_caps (GST_VIDEO_DECODER_SRC_PAD (decoder),
+            gray16_caps);
+        gst_caps_unref (gray16_caps);
+
+        GST_DEBUG ("Received caps from peer: %" GST_PTR_FORMAT, peercaps);
+        if (gst_caps_is_empty (peercaps)) {
+          gst_caps_unref (peercaps);
+          return FALSE;
+        }
+
+        if (!gst_caps_is_fixed (peercaps))
+          peercaps = gst_caps_fixate (peercaps);
+
+        peerstruct = gst_caps_get_structure (peercaps, 0);
+        fmtstr = gst_structure_get_string (peerstruct, "format");
+        if (fmtstr) {
+          if (g_str_equal (fmtstr, "GRAY16_BE")) {
+            fmt = GST_VIDEO_FORMAT_GRAY16_BE;
+          } else if (g_str_equal (fmtstr, "GRAY16_LE")) {
+            fmt = GST_VIDEO_FORMAT_GRAY16_LE;
+          }
+        }
+        gst_caps_unref (peercaps);
+      } else {
+        pnmdec->size = pnmdec->mngr.info.width * pnmdec->mngr.info.height * 1;
+        fmt = GST_VIDEO_FORMAT_GRAY8;
+      }
+      break;
+    case GST_PNM_TYPE_PIXMAP:
+      pnmdec->size = pnmdec->mngr.info.width * pnmdec->mngr.info.height * 3;
+      fmt = GST_VIDEO_FORMAT_RGB;
+      break;
+  }
+
+  if (fmt == GST_VIDEO_FORMAT_UNKNOWN)
+    return GST_FLOW_NOT_NEGOTIATED;
+
+  pnmdec->out_format = fmt;
+
+  output_state =
+      gst_video_decoder_set_output_state (decoder, fmt,
+      pnmdec->mngr.info.width, pnmdec->mngr.info.height, pnmdec->input_state);
+  gst_video_codec_state_unref (output_state);
+
+  if (gst_video_decoder_negotiate (decoder) == FALSE)
+    return GST_FLOW_NOT_NEGOTIATED;
+
+  return GST_FLOW_OK;
+}
+
 static gboolean
 gst_pnmdec_set_format (GstVideoDecoder * decoder, GstVideoCodecState * state)
 {
   GstPnmdec *pnmdec = (GstPnmdec *) decoder;
 
+  gst_pnmdec_negotiate (decoder);
+
   if (pnmdec->input_state)
     gst_video_codec_state_unref (pnmdec->input_state);
   pnmdec->input_state = gst_video_codec_state_ref (state);
@@ -150,7 +240,7 @@
 {
   GScanner *scanner;
   guint i = 0;
-  guint target;
+  guint target, last_val = 0;
   GstMapInfo map;
   guint8 *outdata;
 
@@ -158,42 +248,78 @@
 
   gst_buffer_map (s->buf, &map, GST_MAP_WRITE);
 
-  /* leave the number of bytes already parsed */
-  outdata = map.data + s->current_size;
-  if (!bs) {
-    goto drop_ok;
+  if (bs) {
+    GST_MEMDUMP_OBJECT (s, "Starting parse:", b, MIN (16, bs));
   }
 
-  if (s->last_byte) {
-    while (*b >= '0' && *b <= '9') {
-      s->last_byte = 10 * s->last_byte + *b - '0';
+  /* leave the number of bytes already parsed */
+  outdata = map.data + s->current_size;
+
+  if (s->have_last_val) {
+    while (bs && *b >= '0' && *b <= '9') {
+      s->last_val = 10 * s->last_val + *b - '0';
       b++;
       if (!--bs) {
         goto drop_error;
       }
     }
-    if (s->last_byte > 255) {
+    if (s->last_val > s->mngr.info.max) {
       GST_DEBUG_OBJECT (s, "Corrupt ASCII encoded PNM file.");
       goto drop_error;
     }
+
+    GST_LOG_OBJECT (s, "Collected partial value from previous parse - %u",
+        s->last_val);
+    if (s->mngr.info.max > 255) {
+      if (i + 1 >= target) {
+        GST_DEBUG_OBJECT (s, "PNM file contains too much data.");
+        goto drop_error;
+      }
+      if (s->out_format == GST_VIDEO_FORMAT_GRAY16_BE)
+        GST_WRITE_UINT16_BE (outdata + i, s->last_val);
+      else
+        GST_WRITE_UINT16_LE (outdata + i, s->last_val);
+      i += 2;
+    } else {
+      outdata[i++] = s->last_val;
+    }
+    last_val = s->last_val;
+    s->have_last_val = FALSE;
   }
 
-  if (s->last_byte) {
-    outdata[i++] = s->last_byte;
-    s->last_byte = 0;
-  }
+  /* Might be no data if we're at EOS */
+  if (!bs)
+    goto done;
 
   scanner = g_scanner_new (NULL);
   g_scanner_input_text (scanner, (gchar *) b, bs);
   while (!g_scanner_eof (scanner)) {
     switch (g_scanner_get_next_token (scanner)) {
       case G_TOKEN_INT:
-        if (i == target) {
-          GST_DEBUG_OBJECT (s, "PNM file contains too much data.");
-          g_scanner_destroy (scanner);
-          goto drop_error;
+        if (s->mngr.info.max > 255) {
+          if (i + 1 >= target) {
+            GST_DEBUG_OBJECT (s,
+                "PNM file contains too much data after line %u col %u.",
+                scanner->line, scanner->position);
+            g_scanner_destroy (scanner);
+            goto done;          // drop_error;
+          }
+          if (s->out_format == GST_VIDEO_FORMAT_GRAY16_BE)
+            GST_WRITE_UINT16_BE (outdata + i, scanner->value.v_int);
+          else
+            GST_WRITE_UINT16_LE (outdata + i, scanner->value.v_int);
+          i += 2;
+        } else {
+          if (i == target) {
+            GST_DEBUG_OBJECT (s,
+                "PNM file contains too much data after line %u col %u.",
+                scanner->line, scanner->position);
+            g_scanner_destroy (scanner);
+            goto drop_error;
+          }
+          outdata[i++] = scanner->value.v_int;
         }
-        outdata[i++] = scanner->value.v_int;
+        last_val = scanner->value.v_int;
         break;
       default:
         /* Should we care? */ ;
@@ -202,18 +328,25 @@
   g_scanner_destroy (scanner);
 
   /* If we didn't get the whole image, handle the last byte with care. */
-  if (i && i < target && b[bs - 1] > '0' && b[bs - 1] <= '9') {
-    s->last_byte = outdata[--i];
+  if (i && i < target && b[bs - 1] >= '0' && b[bs - 1] <= '9') {
+    s->last_val = last_val;
+    s->have_last_val = TRUE;
+    if (s->mngr.info.max > 255)
+      i -= 2;
+    else
+      i--;
+    GST_LOG_OBJECT (s, "Stored last value %u for next parse cycle",
+        s->last_val);
   }
 
-  /* Update the number of bytes parsed in this scan */
+done:
+  /* Update the number of output bytes parsed in this scan */
   s->current_size += i;
+  GST_LOG_OBJECT (s, "Parsed %u bytes, now have %u bytes of %u output",
+      i, s->current_size, s->size);
   gst_buffer_unmap (s->buf, &map);
 
   return GST_FLOW_OK;
-drop_ok:
-  gst_buffer_unmap (s->buf, &map);
-  return GST_FLOW_OK;
 
 drop_error:
   gst_buffer_unmap (s->buf, &map);
@@ -269,7 +402,10 @@
       i_rowstride = 3 * s->mngr.info.width;
       o_rowstride = GST_ROUND_UP_4 (i_rowstride);
     } else {
-      i_rowstride = s->mngr.info.width;
+      if (s->mngr.info.max > 255)
+        i_rowstride = s->mngr.info.width * 2;
+      else
+        i_rowstride = s->mngr.info.width;
       o_rowstride = GST_ROUND_UP_4 (i_rowstride);
     }
 
@@ -283,8 +419,28 @@
   }
 
   if (s->mngr.info.type != GST_PNM_TYPE_BITMAP) {
-    /* Convert the pixels from 0 - max range to 0 - 255 range */
-    if (s->mngr.info.max < 255) {
+    if (s->mngr.info.max > 255 && s->mngr.info.max < 65535) {
+      /* Convert the pixels from 0 - max range to 0 - 65535 range
+       * and appropriate endianness (input is always BE) */
+      guint8 *data = omap.data;
+      gint max = s->mngr.info.max;
+      if (s->out_format == GST_VIDEO_FORMAT_GRAY16_BE) {
+        for (i = 0; i < total_bytes; i += 2) {
+          /* Clamp to 65535 */
+          guint16 val = GST_READ_UINT16_BE (data + i);
+          val = (val > max) ? 65535 : 65535 * val / max;
+          GST_WRITE_UINT16_BE (data + i, val);
+        }
+      } else {
+        for (i = 0; i < total_bytes; i += 2) {
+          /* Clamp to 65535 */
+          guint16 val = GST_READ_UINT16_BE (data + i);
+          val = (val > max) ? 65535 : 65535 * val / max;
+          GST_WRITE_UINT16_LE (data + i, val);
+        }
+      }
+    } else if (s->mngr.info.max < 255) {
+      /* Convert the pixels from 0 - max range to 0 - 255 range */
       gint max = s->mngr.info.max;
       for (i = 0; i < total_bytes; i++) {
         if (omap.data[i] <= max) {
@@ -305,6 +461,8 @@
   }
   gst_buffer_unmap (frame->output_buffer, &omap);
 
+  s->current_size = 0;
+
   r = gst_video_decoder_finish_frame (GST_VIDEO_DECODER (s), frame);
 
 out:
@@ -321,21 +479,23 @@
   GstPnmdec *s = GST_PNMDEC (decoder);
   GstFlowReturn r = GST_FLOW_OK;
   guint offset = 0;
-  GstVideoFormat format = GST_VIDEO_FORMAT_UNKNOWN;
-  const guint8 *raw_data;
-  GstVideoCodecState *output_state;
+  const guint8 *raw_data = NULL;
 
   GST_VIDEO_CODEC_FRAME_SET_SYNC_POINT (frame);
 
   size = gst_adapter_available (adapter);
-  if (size < 8) {
-    goto need_more_data;
-  }
-  raw_data = gst_adapter_map (adapter, size);
+  if (size > 0)
+    raw_data = gst_adapter_map (adapter, size);
+
+  GST_LOG_OBJECT (s, "Entering parse with %" G_GSIZE_FORMAT " bytes. at_eos %d",
+      size, at_eos);
 
   if (s->mngr.info.fields != GST_PNM_INFO_FIELDS_ALL) {
     GstPnmInfoMngrResult res;
 
+    if (size < 8)
+      goto need_more_data;
+
     res = gst_pnm_info_mngr_scan (&s->mngr, raw_data, size);
 
     switch (res) {
@@ -346,38 +506,16 @@
         r = GST_FLOW_OK;
         goto out;
       case GST_PNM_INFO_MNGR_RESULT_FINISHED:
-        switch (s->mngr.info.type) {
-          case GST_PNM_TYPE_BITMAP:
-            if (s->mngr.info.encoding == GST_PNM_ENCODING_ASCII) {
-              r = GST_FLOW_ERROR;
-              goto out;
-            }
-            s->size = s->mngr.info.width * s->mngr.info.height * 1;
-            format = GST_VIDEO_FORMAT_GRAY8;
-            break;
-          case GST_PNM_TYPE_GRAYMAP:
-            s->size = s->mngr.info.width * s->mngr.info.height * 1;
-            format = GST_VIDEO_FORMAT_GRAY8;
-            break;
-          case GST_PNM_TYPE_PIXMAP:
-            s->size = s->mngr.info.width * s->mngr.info.height * 3;
-            format = GST_VIDEO_FORMAT_RGB;
-            break;
-        }
-        output_state =
-            gst_video_decoder_set_output_state (GST_VIDEO_DECODER (s), format,
-            s->mngr.info.width, s->mngr.info.height, s->input_state);
-        gst_video_codec_state_unref (output_state);
-        if (gst_video_decoder_negotiate (GST_VIDEO_DECODER (s)) == FALSE) {
-          r = GST_FLOW_NOT_NEGOTIATED;
+
+        r = gst_pnmdec_negotiate (decoder);
+        if (r != GST_FLOW_OK)
           goto out;
-        }
 
         if (s->mngr.info.encoding == GST_PNM_ENCODING_ASCII) {
-          s->mngr.data_offset++;
           /* It is not possible to know the size of input ascii data to parse.
              So we have to parse and know the number of pixels parsed and
              then finally decide when we have full frame */
+          GST_DEBUG_OBJECT (s, "Allocating output frame of size %u", s->size);
           s->buf = gst_buffer_new_and_alloc (s->size);
         }
         offset = s->mngr.data_offset;
@@ -387,8 +525,9 @@
   }
 
   if (s->mngr.info.encoding == GST_PNM_ENCODING_ASCII) {
-    /* Parse ASCII data dn populate s->current_size with the number of 
+    /* Parse ASCII data and populate s->current_size with the number of
        bytes actually parsed from the input data */
+    GST_DEBUG_OBJECT (s, "Parsing %u bytes at offset %u", (guint) size, offset);
     r = gst_pnmdec_parse_ascii (s, raw_data + offset, size);
   } else {
     /* Bitmap Contains 8 pixels in a byte */
@@ -417,7 +556,25 @@
 gst_pnmdec_start (GstVideoDecoder * decoder)
 {
   GstPnmdec *pnmdec = (GstPnmdec *) decoder;
-
   gst_video_decoder_set_packetized (GST_VIDEO_DECODER (pnmdec), FALSE);
+  gst_pnmdec_flush (pnmdec);
   return TRUE;
 }
+
+static GstFlowReturn
+gst_pnmdec_finish (GstVideoDecoder * decoder)
+{
+  GstPnmdec *s = (GstPnmdec *) decoder;
+
+  GST_LOG_OBJECT (s, "finishing");
+
+  if (s->mngr.info.encoding == GST_PNM_ENCODING_ASCII) {
+    /* One last go at outputting any final value */
+    gst_pnmdec_parse_ascii (s, 0, 0);
+    if (s->size <= s->current_size) {
+      return gst_video_decoder_have_frame (decoder);
+    }
+  }
+
+  return GST_FLOW_OK;
+}
diff --git a/gst/pnm/gstpnmdec.h b/gst/pnm/gstpnmdec.h
index 28a3c50..b5aac35 100644
--- a/gst/pnm/gstpnmdec.h
+++ b/gst/pnm/gstpnmdec.h
@@ -42,8 +42,10 @@
   GstVideoDecoder decoder;
   GstPnmInfoMngr mngr;
   GstVideoCodecState *input_state;
-  guint size, last_byte, current_size ;
+  guint size, last_val, current_size ;
+  gboolean have_last_val;
   GstBuffer *buf;
+  GstVideoFormat out_format;
 };
 
 struct _GstPnmdecClass
diff --git a/gst/pnm/gstpnmenc.c b/gst/pnm/gstpnmenc.c
index 32fd6f6..2c45191 100644
--- a/gst/pnm/gstpnmenc.c
+++ b/gst/pnm/gstpnmenc.c
@@ -24,7 +24,7 @@
  * To enable ASCII encoding, set the parameter ascii to TRUE. If you omit
  * the parameter or set it to FALSE, the output will be raw encoded.
  *
- * <refsect>
+ * <refsect2>
  * <title>Example launch line</title>
  * |[
  * gst-launch-1.0 videotestsrc num_buffers=1 ! videoconvert ! "video/x-raw,format=GRAY8" ! pnmenc ascii=true ! filesink location=test.pnm
@@ -53,10 +53,12 @@
       /* Add here. */
 };
 
+
+
 static GstStaticPadTemplate sink_pad_template =
-    GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("RGB") "; "
-        GST_VIDEO_CAPS_MAKE ("GRAY8")));
+GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE
+        ("{ RGB, GRAY8, GRAY16_BE, GRAY16_LE }")));
 
 
 static GstStaticPadTemplate src_pad_template =
@@ -134,16 +136,27 @@
   gboolean ret = TRUE;
   GstVideoInfo *info;
   GstVideoCodecState *output_state;
+  const gchar *mime_type = NULL;
 
   pnmenc = GST_PNMENC (encoder);
   info = &state->info;
 
   switch (GST_VIDEO_INFO_FORMAT (info)) {
     case GST_VIDEO_FORMAT_RGB:
+      pnmenc->info.max = 255;
       pnmenc->info.type = GST_PNM_TYPE_PIXMAP;
+      mime_type = MIME_PM;
       break;
     case GST_VIDEO_FORMAT_GRAY8:
+      pnmenc->info.max = 255;
       pnmenc->info.type = GST_PNM_TYPE_GRAYMAP;
+      mime_type = MIME_GM;
+      break;
+    case GST_VIDEO_FORMAT_GRAY16_BE:
+    case GST_VIDEO_FORMAT_GRAY16_LE:
+      pnmenc->info.max = 65535;
+      pnmenc->info.type = GST_PNM_TYPE_GRAYMAP;
+      mime_type = MIME_GM;
       break;
     default:
       ret = FALSE;
@@ -152,8 +165,6 @@
 
   pnmenc->info.width = GST_VIDEO_INFO_WIDTH (info);
   pnmenc->info.height = GST_VIDEO_INFO_HEIGHT (info);
-  /* Supported max value is only one, that is 255 */
-  pnmenc->info.max = 255;
 
   if (pnmenc->input_state)
     gst_video_codec_state_unref (pnmenc->input_state);
@@ -161,7 +172,7 @@
 
   output_state =
       gst_video_encoder_set_output_state (encoder,
-      gst_caps_new_empty_simple ("image/pnm"), state);
+      gst_caps_new_empty_simple (mime_type), state);
   gst_video_codec_state_unref (output_state);
 
 done:
@@ -172,7 +183,7 @@
 gst_pnmenc_handle_frame (GstVideoEncoder * encoder, GstVideoCodecFrame * frame)
 {
   GstPnmenc *pnmenc;
-  guint size, pixels;
+  guint size, pixels, bytesize;
   GstMapInfo omap, imap;
   gchar *header = NULL;
   GstVideoInfo *info;
@@ -180,16 +191,34 @@
   guint i_rowstride, o_rowstride;
   guint bytes = 0, index, head_size;
   guint i, j;
-
+  guint maxbytes_per_pixel, str_len;
+  gchar format_str[4];
   pnmenc = GST_PNMENC (encoder);
   info = &pnmenc->input_state->info;
 
   switch (GST_VIDEO_INFO_FORMAT (info)) {
     case GST_VIDEO_FORMAT_RGB:
       pixels = size = pnmenc->info.width * pnmenc->info.height * 3;
+      bytesize = 1;
+      maxbytes_per_pixel = 4;
+      str_len = 3;
+      g_strlcpy (format_str, "%3i", 4);
       break;
     case GST_VIDEO_FORMAT_GRAY8:
       pixels = size = pnmenc->info.width * pnmenc->info.height * 1;
+      bytesize = 1;
+      maxbytes_per_pixel = 4;
+      str_len = 3;
+      g_strlcpy (format_str, "%3i", 4);
+      break;
+    case GST_VIDEO_FORMAT_GRAY16_LE:
+    case GST_VIDEO_FORMAT_GRAY16_BE:
+      pixels = pnmenc->info.width * pnmenc->info.height * 1;
+      bytesize = 2;
+      size = pixels * bytesize;
+      maxbytes_per_pixel = 6;
+      str_len = 5;
+      g_strlcpy (format_str, "%5i", 4);
       break;
     default:
       ret = FALSE;
@@ -222,58 +251,111 @@
     ret = GST_FLOW_ERROR;
     goto done;
   }
-  memcpy (omap.data, header, strlen (header));
-
+  /* Copy out the header first */
   head_size = strlen (header);
+  memcpy (omap.data, header, head_size);
+
   if (pnmenc->info.encoding == GST_PNM_ENCODING_ASCII) {
     /* We need to convert to ASCII */
-    if (pnmenc->info.width % 4 != 0) {
-      /* Convert from gstreamer rowstride to PNM rowstride */
-      if (pnmenc->info.type == GST_PNM_TYPE_PIXMAP) {
-        o_rowstride = 3 * pnmenc->info.width;
-      } else {
-        o_rowstride = pnmenc->info.width;
-      }
-      i_rowstride = GST_VIDEO_FRAME_COMP_STRIDE (pnmenc->input_state, 0);
-
-      for (i = 0; i < pnmenc->info.height; i++) {
-        index = i * i_rowstride;
-        for (j = 0; j < o_rowstride; j++, bytes++, index++) {
-          g_snprintf ((char *) omap.data + head_size, 4, "%3i",
-              imap.data[index]);
-          head_size += 3;
-          omap.data[head_size++] = ' ';
-          /* Add new line so that file will not end up with sinle big line */
-          if (!((bytes + 1) % 20))
-            omap.data[head_size++] = '\n';
-        }
-      }
+    /* Convert from gstreamer rowstride to PNM rowstride as we go */
+    if (pnmenc->info.type == GST_PNM_TYPE_PIXMAP) {
+      o_rowstride = 3 * pnmenc->info.width;
     } else {
-      for (i = 0; i < pixels; i++) {
-        g_snprintf ((char *) omap.data + head_size, 4, "%3i", imap.data[i]);
-        head_size += 3;
-        omap.data[head_size++] = ' ';
-        if (!((i + 1) % 20))
-          omap.data[head_size++] = '\n';
-      }
+      o_rowstride = pnmenc->info.width;
     }
-  } else {
-    /* Need to convert from GStreamer rowstride to PNM rowstride */
-    if (pnmenc->info.width % 4 != 0) {
-      if (pnmenc->info.type == GST_PNM_TYPE_PIXMAP) {
-        o_rowstride = 3 * pnmenc->info.width;
-      } else {
-        o_rowstride = pnmenc->info.width;
-      }
-      i_rowstride = GST_VIDEO_FRAME_COMP_STRIDE (pnmenc->input_state, 0);
+    i_rowstride = GST_VIDEO_FRAME_COMP_STRIDE (pnmenc->input_state, 0);
 
-      for (i = 0; i < pnmenc->info.height; i++)
-        memcpy (omap.data + head_size + o_rowstride * i,
-            imap.data + i_rowstride * i, o_rowstride);
+    switch (GST_VIDEO_INFO_FORMAT (info)) {
+      case GST_VIDEO_FORMAT_RGB:
+      case GST_VIDEO_FORMAT_GRAY8:
+        for (i = 0; i < pnmenc->info.height; i++) {
+          index = i * i_rowstride;
+          for (j = 0; j < o_rowstride; j++, bytes++, index++) {
+            g_snprintf ((char *) omap.data + head_size, maxbytes_per_pixel,
+                format_str, imap.data[index]);
+            head_size += str_len;
+            omap.data[head_size++] = ' ';
+            /* Add new line so that file will not end up with single big line */
+            if (!((bytes + 1) % 20))
+              omap.data[head_size++] = '\n';
+          }
+        }
+        break;
+      case GST_VIDEO_FORMAT_GRAY16_BE:
+        for (i = 0; i < pnmenc->info.height; i++) {
+          index = i * i_rowstride;
+          for (j = 0; j < o_rowstride; j++, bytes++, index += 2) {
+            g_snprintf ((char *) omap.data + head_size, maxbytes_per_pixel,
+                format_str, GST_READ_UINT16_BE (imap.data + index));
+            head_size += str_len;
+            omap.data[head_size++] = ' ';
+            /* Add new line so that file will not end up with single big line */
+            if (!((bytes + 1) % 20))
+              omap.data[head_size++] = '\n';
+          }
+        }
+        break;
+      case GST_VIDEO_FORMAT_GRAY16_LE:
+        for (i = 0; i < pnmenc->info.height; i++) {
+          index = i * i_rowstride;
+          for (j = 0; j < o_rowstride; j++, bytes++, index += 2) {
+            g_snprintf ((char *) omap.data + head_size, maxbytes_per_pixel,
+                format_str, GST_READ_UINT16_LE (imap.data + index));
+            head_size += str_len;
+            omap.data[head_size++] = ' ';
+            /* Add new line so that file will not end up with single big line */
+            if (!((bytes + 1) % 20))
+              omap.data[head_size++] = '\n';
+          }
+        }
+        break;
+      default:
+        GST_ERROR_OBJECT (encoder, "Unhandled format %s",
+            gst_video_format_to_string (GST_VIDEO_INFO_FORMAT (info)));
+        gst_buffer_unmap (frame->output_buffer, &omap);
+        gst_buffer_unmap (frame->input_buffer, &imap);
+        g_free (header);
+        return GST_FLOW_ERROR;
+    }
+
+    gst_buffer_set_size (frame->output_buffer, head_size);
+  } else {
+    guint out_index = head_size;
+
+    /* Binary output. 8-bit, or 16-bit BE */
+    if (pnmenc->info.type == GST_PNM_TYPE_PIXMAP) {
+      o_rowstride = 3 * pnmenc->info.width * bytesize;
     } else {
-      /* size contains complete image size inlcuding header size,
-         Exclude header size while copying data */
-      memcpy (omap.data + strlen (header), imap.data, (size - head_size));
+      o_rowstride = pnmenc->info.width * bytesize;
+    }
+    i_rowstride = GST_VIDEO_FRAME_COMP_STRIDE (pnmenc->input_state, 0);
+
+    switch (GST_VIDEO_INFO_FORMAT (info)) {
+      case GST_VIDEO_FORMAT_GRAY16_BE:
+        for (i = 0; i < pnmenc->info.height; i++) {
+          index = i * i_rowstride;
+          for (j = 0; j < o_rowstride; j += 2, index += 2) {
+            guint16 val = GST_READ_UINT16_LE (imap.data + index);
+            GST_WRITE_UINT16_BE (omap.data + out_index, val);
+            out_index += 2;
+          }
+        }
+        break;
+      case GST_VIDEO_FORMAT_GRAY16_LE:
+        for (i = 0; i < pnmenc->info.height; i++) {
+          index = i * i_rowstride;
+          for (j = 0; j < o_rowstride; j += 2, index += 2) {
+            guint16 val = GST_READ_UINT16_LE (imap.data + index);
+            GST_WRITE_UINT16_BE (omap.data + out_index, val);
+            out_index += 2;
+          }
+        }
+        break;
+      default:
+        for (i = 0; i < pnmenc->info.height; i++) {
+          memcpy (omap.data + head_size + o_rowstride * i,
+              imap.data + i_rowstride * i, o_rowstride);
+        }
     }
   }
 
@@ -303,11 +385,8 @@
       g_param_spec_boolean ("ascii", "ASCII Encoding", "The output will be "
           "ASCII encoded", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_pad_template));
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_pad_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_pad_template);
+  gst_element_class_add_static_pad_template (element_class, &src_pad_template);
 
   gst_element_class_set_static_metadata (element_class, "PNM image encoder",
       "Codec/Encoder/Image",
diff --git a/gst/pnm/gstpnmutils.c b/gst/pnm/gstpnmutils.c
index b7441cd..a72e423 100644
--- a/gst/pnm/gstpnmutils.c
+++ b/gst/pnm/gstpnmutils.c
@@ -178,7 +178,11 @@
           case ' ':
             /* Check for maximum and minimum supported bit depth and
                return error if its out of range */
-            if ((mngr->info.max > 255) || (mngr->info.max < 1)) {
+            if (mngr->info.type == GST_PNM_TYPE_GRAYMAP) {
+              if ((mngr->info.max > 65535) || (mngr->info.max < 1)) {
+                return GST_PNM_INFO_MNGR_RESULT_FAILED;
+              }
+            } else if ((mngr->info.max > 255) || (mngr->info.max < 1)) {
               return GST_PNM_INFO_MNGR_RESULT_FAILED;
             }
             mngr->info.fields |= GST_PNM_INFO_FIELDS_MAX;
diff --git a/gst/rawparse/Makefile.am b/gst/rawparse/Makefile.am
index 03eeb48..3bd8438 100644
--- a/gst/rawparse/Makefile.am
+++ b/gst/rawparse/Makefile.am
@@ -3,6 +3,7 @@
 
 libgstrawparse_la_SOURCES = \
 	gstrawparse.c \
+	gstunalignedaudioparse.c \
 	gstaudioparse.c \
 	gstvideoparse.c \
 	plugin.c
@@ -19,6 +20,8 @@
 libgstrawparse_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 
 noinst_HEADERS = \
+	unalignedaudio.h \
+	gstunalignedaudioparse.h \
 	gstaudioparse.h \
 	gstrawparse.h \
 	gstvideoparse.h
diff --git a/gst/rawparse/Makefile.in b/gst/rawparse/Makefile.in
index cff1ba5..1883e2a 100644
--- a/gst/rawparse/Makefile.in
+++ b/gst/rawparse/Makefile.in
@@ -166,6 +166,7 @@
 libgstrawparse_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 am_libgstrawparse_la_OBJECTS = libgstrawparse_la-gstrawparse.lo \
+	libgstrawparse_la-gstunalignedaudioparse.lo \
 	libgstrawparse_la-gstaudioparse.lo \
 	libgstrawparse_la-gstvideoparse.lo libgstrawparse_la-plugin.lo
 libgstrawparse_la_OBJECTS = $(am_libgstrawparse_la_OBJECTS)
@@ -304,6 +305,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +522,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +650,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +694,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -782,6 +787,7 @@
 plugin_LTLIBRARIES = libgstrawparse.la
 libgstrawparse_la_SOURCES = \
 	gstrawparse.c \
+	gstunalignedaudioparse.c \
 	gstaudioparse.c \
 	gstvideoparse.c \
 	plugin.c
@@ -800,6 +806,8 @@
 libgstrawparse_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 libgstrawparse_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 noinst_HEADERS = \
+	unalignedaudio.h \
+	gstunalignedaudioparse.h \
 	gstaudioparse.h \
 	gstrawparse.h \
 	gstvideoparse.h
@@ -884,6 +892,7 @@
 
 @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-gstunalignedaudioparse.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@
 
@@ -918,6 +927,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-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
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstunalignedaudioparse.c' object='libgstrawparse_la-gstunalignedaudioparse.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-gstunalignedaudioparse.lo `test -f 'gstunalignedaudioparse.c' || echo '$(srcdir)/'`gstunalignedaudioparse.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
diff --git a/gst/rawparse/gstaudioparse.c b/gst/rawparse/gstaudioparse.c
index 04477f5..b60118b 100644
--- a/gst/rawparse/gstaudioparse.c
+++ b/gst/rawparse/gstaudioparse.c
@@ -33,6 +33,7 @@
 #define GLIB_DISABLE_DEPRECATION_WARNINGS
 
 #include "gstaudioparse.h"
+#include "unalignedaudio.h"
 
 #include <string.h>
 
@@ -159,6 +160,7 @@
 
   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]");
 
@@ -371,11 +373,24 @@
   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);
diff --git a/gst/rawparse/gstrawparse.c b/gst/rawparse/gstrawparse.c
index a6468d9..bd2ee11 100644
--- a/gst/rawparse/gstrawparse.c
+++ b/gst/rawparse/gstrawparse.c
@@ -106,8 +106,8 @@
   gstelement_class->change_state =
       GST_DEBUG_FUNCPTR (gst_raw_parse_change_state);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_raw_parse_sink_pad_template));
+  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");
diff --git a/gst/rawparse/gstunalignedaudioparse.c b/gst/rawparse/gstunalignedaudioparse.c
new file mode 100644
index 0000000..62a83f3
--- /dev/null
+++ b/gst/rawparse/gstunalignedaudioparse.c
@@ -0,0 +1,125 @@
+/* GStreamer
+ * Copyright (C) 2016 Carlos Rafael Giani <dv@pseudoterminal.org>
+ *
+ * gstunalignedaudioparse.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/audio/audio.h>
+#include "gstunalignedaudioparse.h"
+#include "unalignedaudio.h"
+
+
+GST_DEBUG_CATEGORY (unaligned_audio_parse_debug);
+#define GST_CAT_DEFAULT unaligned_audio_parse_debug
+
+
+struct _GstUnalignedAudioParse
+{
+  GstBin parent;
+  GstElement *inner_parser;
+};
+
+
+struct _GstUnalignedAudioParseClass
+{
+  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_AUDIO_CAPS)
+    );
+
+
+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 }")
+    );
+
+
+
+
+G_DEFINE_TYPE (GstUnalignedAudioParse, gst_unaligned_audio_parse, GST_TYPE_BIN);
+
+
+static void
+gst_unaligned_audio_parse_class_init (GstUnalignedAudioParseClass * klass)
+{
+  GstElementClass *element_class;
+
+  GST_DEBUG_CATEGORY_INIT (unaligned_audio_parse_debug, "unalignedaudioparse",
+      0, "Unaligned raw audio 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,
+      "unalignedaudioparse",
+      "Codec/Parser/Bin/Audio",
+      "Parse unaligned raw audio data",
+      "Carlos Rafael Giani <dv@pseudoterminal.org>");
+}
+
+
+static void
+gst_unaligned_audio_parse_init (GstUnalignedAudioParse * unaligned_audio_parse)
+{
+  GstPad *inner_pad;
+  GstPad *ghostpad;
+
+  unaligned_audio_parse->inner_parser =
+      gst_element_factory_make ("audioparse", "inner_parser");
+  g_assert (unaligned_audio_parse->inner_parser != NULL);
+
+  g_object_set (G_OBJECT (unaligned_audio_parse->inner_parser),
+      "use-sink-caps", TRUE, NULL);
+
+  gst_bin_add (GST_BIN (unaligned_audio_parse),
+      unaligned_audio_parse->inner_parser);
+
+  inner_pad =
+      gst_element_get_static_pad (unaligned_audio_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_audio_parse), "sink"));
+  gst_element_add_pad (GST_ELEMENT (unaligned_audio_parse), ghostpad);
+  gst_object_unref (GST_OBJECT (inner_pad));
+
+  inner_pad = gst_element_get_static_pad (unaligned_audio_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_audio_parse), "src"));
+  gst_element_add_pad (GST_ELEMENT (unaligned_audio_parse), ghostpad);
+  gst_object_unref (GST_OBJECT (inner_pad));
+}
diff --git a/gst/rawparse/gstunalignedaudioparse.h b/gst/rawparse/gstunalignedaudioparse.h
new file mode 100644
index 0000000..a07bee7
--- /dev/null
+++ b/gst/rawparse/gstunalignedaudioparse.h
@@ -0,0 +1,49 @@
+/* GStreamer
+ * Copyright (C) 2016 Carlos Rafael Giani <dv@pseudoterminal.org>
+ *
+ * gstunalignedaudioparse.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_AUDIO_PARSE_H___
+#define __GST_UNALIGNED_AUDIO_PARSE_H___
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_UNALIGNED_AUDIO_PARSE \
+  (gst_unaligned_audio_parse_get_type())
+#define GST_UNALIGNED_AUDIO_PARSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_UNALIGNED_AUDIO_PARSE, GstUnalignedAudioParse))
+#define GST_UNALIGNED_AUDIO_PARSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_UNALIGNED_AUDIO_PARSE, GstUnalignedAudioParseClass))
+#define GST_UNALIGNED_AUDIO_PARSE_CAST(obj) \
+  ((GstUnalignedAudioParse *)(obj))
+#define GST_IS_UNALIGNED_AUDIO_PARSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_UNALIGNED_AUDIO_PARSE))
+#define GST_IS_UNALIGNED_AUDIO_PARSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_UNALIGNED_AUDIO_PARSE))
+
+typedef struct _GstUnalignedAudioParse GstUnalignedAudioParse;
+typedef struct _GstUnalignedAudioParseClass GstUnalignedAudioParseClass;
+
+GType gst_unaligned_audio_parse_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GST_UNALIGNED_AUDIO_PARSE_H___ */
diff --git a/gst/rawparse/plugin.c b/gst/rawparse/plugin.c
index dc860e1..bb21f77 100644
--- a/gst/rawparse/plugin.c
+++ b/gst/rawparse/plugin.c
@@ -3,6 +3,7 @@
 #endif
 
 #include <gst/gst.h>
+#include "gstunalignedaudioparse.h"
 #include "gstaudioparse.h"
 #include "gstvideoparse.h"
 
@@ -15,6 +16,8 @@
       gst_video_parse_get_type ());
   ret &= gst_element_register (plugin, "audioparse", GST_RANK_NONE,
       gst_audio_parse_get_type ());
+  ret &= gst_element_register (plugin, "unalignedaudioparse", GST_RANK_MARGINAL,
+      gst_unaligned_audio_parse_get_type ());
 
   return ret;
 }
diff --git a/gst/rawparse/unalignedaudio.h b/gst/rawparse/unalignedaudio.h
new file mode 100644
index 0000000..15d4995
--- /dev/null
+++ b/gst/rawparse/unalignedaudio.h
@@ -0,0 +1,35 @@
+/* GStreamer
+ * Copyright (C) 2016 Carlos Rafael Giani <dv@pseudoterminal.org>
+ *
+ * unalignedaudio.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_AUDIO_H__
+#define __GST_UNALIGNED_AUDIO_H__
+
+#include <gst/gst.h>
+#include <gst/audio/audio.h>
+
+#define GST_UNALIGNED_RAW_AUDIO_CAPS \
+  "audio/x-unaligned-raw" \
+  ", format = (string) " GST_AUDIO_FORMATS_ALL \
+  ", rate = (int) [ 1, MAX ]" \
+  ", channels = (int) [ 1, MAX ]" \
+  ", layout = (string) { interleaved, non-interleaved }"
+
+#endif /* __GST_UNALIGNED_AUDIO_H__ */
diff --git a/gst/removesilence/Makefile.in b/gst/removesilence/Makefile.in
index 8ea401d..f6b317a 100644
--- a/gst/removesilence/Makefile.in
+++ b/gst/removesilence/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/removesilence/gstremovesilence.c b/gst/removesilence/gstremovesilence.c
index 7707817..98456ff 100644
--- a/gst/removesilence/gstremovesilence.c
+++ b/gst/removesilence/gstremovesilence.c
@@ -128,10 +128,8 @@
       "Tiago Katcipis <tiagokatcipis@gmail.com>\n \
        Paulo Pizarro  <paulo.pizarro@gmail.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_template);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_template);
 
   GST_BASE_TRANSFORM_CLASS (klass)->transform_ip =
       GST_DEBUG_FUNCPTR (gst_remove_silence_transform_ip);
diff --git a/gst/sdi/Makefile.in b/gst/sdi/Makefile.in
index 025e857..345397c 100644
--- a/gst/sdi/Makefile.in
+++ b/gst/sdi/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/sdi/gstsdidemux.c b/gst/sdi/gstsdidemux.c
index 9de97a9..70184f4 100644
--- a/gst/sdi/gstsdidemux.c
+++ b/gst/sdi/gstsdidemux.c
@@ -105,10 +105,10 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_sdi_demux_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_sdi_demux_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_sdi_demux_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_sdi_demux_sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "SDI Demuxer",
diff --git a/gst/sdi/gstsdimux.c b/gst/sdi/gstsdimux.c
index b9f4159..7734bad 100644
--- a/gst/sdi/gstsdimux.c
+++ b/gst/sdi/gstsdimux.c
@@ -108,10 +108,10 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_sdi_mux_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_sdi_mux_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_sdi_mux_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_sdi_mux_sink_template);
 
   gst_element_class_set_static_metadata (element_class, "SDI Muxer",
       "Muxer",
diff --git a/gst/sdp/Makefile.am b/gst/sdp/Makefile.am
index 395b857..ce14d50 100644
--- a/gst/sdp/Makefile.am
+++ b/gst/sdp/Makefile.am
@@ -1,12 +1,13 @@
 plugin_LTLIBRARIES = libgstsdpelem.la
 
-libgstsdpelem_la_SOURCES = gstsdpelem.c gstsdpdemux.h gstsdpdemux.c
+libgstsdpelem_la_SOURCES = gstsdpelem.c gstsdpsrc.c gstsdpdemux.c
 
 libgstsdpelem_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(GIO_CFLAGS)
 libgstsdpelem_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GIO_LIBS) \
 		       -lgstrtp-@GST_API_VERSION@ -lgstsdp-@GST_API_VERSION@ \
+		       -lgstapp-@GST_API_VERSION@ \
 		       $(GST_LIBS) $(WINSOCK2_LIBS)
 libgstsdpelem_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 libgstsdpelem_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 
-noinst_HEADERS = gstsdpdemux.h
+noinst_HEADERS = gstsdpdemux.h gstsdpsrc.h
diff --git a/gst/sdp/Makefile.in b/gst/sdp/Makefile.in
index 087a85b..f8c434d 100644
--- a/gst/sdp/Makefile.in
+++ b/gst/sdp/Makefile.in
@@ -167,7 +167,7 @@
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 am_libgstsdpelem_la_OBJECTS = libgstsdpelem_la-gstsdpelem.lo \
-	libgstsdpelem_la-gstsdpdemux.lo
+	libgstsdpelem_la-gstsdpsrc.lo libgstsdpelem_la-gstsdpdemux.lo
 libgstsdpelem_la_OBJECTS = $(am_libgstsdpelem_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -780,15 +784,16 @@
 top_srcdir = @top_srcdir@
 wayland_scanner = @wayland_scanner@
 plugin_LTLIBRARIES = libgstsdpelem.la
-libgstsdpelem_la_SOURCES = gstsdpelem.c gstsdpdemux.h gstsdpdemux.c
+libgstsdpelem_la_SOURCES = gstsdpelem.c gstsdpsrc.c gstsdpdemux.c
 libgstsdpelem_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(GIO_CFLAGS)
 libgstsdpelem_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GIO_LIBS) \
 		       -lgstrtp-@GST_API_VERSION@ -lgstsdp-@GST_API_VERSION@ \
+		       -lgstapp-@GST_API_VERSION@ \
 		       $(GST_LIBS) $(WINSOCK2_LIBS)
 
 libgstsdpelem_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 libgstsdpelem_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-noinst_HEADERS = gstsdpdemux.h
+noinst_HEADERS = gstsdpdemux.h gstsdpsrc.h
 all: all-am
 
 .SUFFIXES:
@@ -869,6 +874,7 @@
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstsdpelem_la-gstsdpdemux.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstsdpelem_la-gstsdpelem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstsdpelem_la-gstsdpsrc.Plo@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -901,6 +907,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 $(libgstsdpelem_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstsdpelem_la_CFLAGS) $(CFLAGS) -c -o libgstsdpelem_la-gstsdpelem.lo `test -f 'gstsdpelem.c' || echo '$(srcdir)/'`gstsdpelem.c
 
+libgstsdpelem_la-gstsdpsrc.lo: gstsdpsrc.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstsdpelem_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstsdpelem_la_CFLAGS) $(CFLAGS) -MT libgstsdpelem_la-gstsdpsrc.lo -MD -MP -MF $(DEPDIR)/libgstsdpelem_la-gstsdpsrc.Tpo -c -o libgstsdpelem_la-gstsdpsrc.lo `test -f 'gstsdpsrc.c' || echo '$(srcdir)/'`gstsdpsrc.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstsdpelem_la-gstsdpsrc.Tpo $(DEPDIR)/libgstsdpelem_la-gstsdpsrc.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstsdpsrc.c' object='libgstsdpelem_la-gstsdpsrc.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 $(libgstsdpelem_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstsdpelem_la_CFLAGS) $(CFLAGS) -c -o libgstsdpelem_la-gstsdpsrc.lo `test -f 'gstsdpsrc.c' || echo '$(srcdir)/'`gstsdpsrc.c
+
 libgstsdpelem_la-gstsdpdemux.lo: gstsdpdemux.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstsdpelem_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstsdpelem_la_CFLAGS) $(CFLAGS) -MT libgstsdpelem_la-gstsdpdemux.lo -MD -MP -MF $(DEPDIR)/libgstsdpelem_la-gstsdpdemux.Tpo -c -o libgstsdpelem_la-gstsdpdemux.lo `test -f 'gstsdpdemux.c' || echo '$(srcdir)/'`gstsdpdemux.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstsdpelem_la-gstsdpdemux.Tpo $(DEPDIR)/libgstsdpelem_la-gstsdpdemux.Plo
diff --git a/gst/sdp/gstsdpdemux.c b/gst/sdp/gstsdpdemux.c
index ae3bbe4..1f80fcc 100644
--- a/gst/sdp/gstsdpdemux.c
+++ b/gst/sdp/gstsdpdemux.c
@@ -150,10 +150,8 @@
           DEFAULT_REDIRECT,
           G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sinktemplate));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&rtptemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
+  gst_element_class_add_static_pad_template (gstelement_class, &rtptemplate);
 
   gst_element_class_set_static_metadata (gstelement_class, "SDP session setup",
       "Codec/Demuxer/Network/RTP",
diff --git a/gst/sdp/gstsdpelem.c b/gst/sdp/gstsdpelem.c
index 8ab0d11..d0f0333 100644
--- a/gst/sdp/gstsdpelem.c
+++ b/gst/sdp/gstsdpelem.c
@@ -22,6 +22,7 @@
 #endif
 
 #include "gstsdpdemux.h"
+#include "gstsdpsrc.h"
 
 static gboolean
 plugin_init (GstPlugin * plugin)
@@ -29,6 +30,8 @@
   if (!gst_element_register (plugin, "sdpdemux", GST_RANK_NONE,
           GST_TYPE_SDP_DEMUX))
     return FALSE;
+  if (!gst_element_register (plugin, "sdpsrc", GST_RANK_NONE, GST_TYPE_SDP_SRC))
+    return FALSE;
 
   return TRUE;
 }
diff --git a/gst/sdp/gstsdpsrc.c b/gst/sdp/gstsdpsrc.c
new file mode 100644
index 0000000..ea9a5bc
--- /dev/null
+++ b/gst/sdp/gstsdpsrc.c
@@ -0,0 +1,332 @@
+/*
+ * 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 "gstsdpsrc.h"
+#include <gst/app/app.h>
+#include <string.h>
+
+GST_DEBUG_CATEGORY_STATIC (sdp_src_debug);
+#define GST_CAT_DEFAULT sdp_src_debug
+
+static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("stream_%u",
+    GST_PAD_SRC,
+    GST_PAD_SOMETIMES,
+    GST_STATIC_CAPS ("application/x-rtp"));
+
+enum
+{
+  PROP_0,
+  PROP_LOCATION,
+  PROP_SDP
+};
+
+static void gst_sdp_src_handler_init (gpointer g_iface, gpointer iface_data);
+
+#define gst_sdp_src_parent_class parent_class
+G_DEFINE_TYPE_WITH_CODE (GstSdpSrc, gst_sdp_src, GST_TYPE_BIN,
+    G_IMPLEMENT_INTERFACE (GST_TYPE_URI_HANDLER, gst_sdp_src_handler_init));
+
+static void
+gst_sdp_src_finalize (GObject * object)
+{
+  GstSdpSrc *self = GST_SDP_SRC_CAST (object);
+
+  if (self->sdp_buffer)
+    gst_buffer_unref (self->sdp_buffer);
+  g_free (self->location);
+  g_free (self->sdp);
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
+gst_sdp_src_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstSdpSrc *self = GST_SDP_SRC_CAST (object);
+
+  switch (prop_id) {
+    case PROP_LOCATION:
+      g_value_set_string (value, self->location);
+      break;
+    case PROP_SDP:
+      g_value_set_string (value, self->sdp);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_sdp_src_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstSdpSrc *self = GST_SDP_SRC_CAST (object);
+
+  switch (prop_id) {
+    case PROP_LOCATION:
+      g_free (self->location);
+      self->location = g_value_dup_string (value);
+      break;
+    case PROP_SDP:
+      g_free (self->sdp);
+      self->sdp = g_value_dup_string (value);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+pad_added_cb (GstElement * element, GstPad * pad, gpointer user_data)
+{
+  GstSdpSrc *self = GST_SDP_SRC_CAST (user_data);
+  GstPad *ghost;
+
+  ghost =
+      gst_ghost_pad_new_from_template (GST_PAD_NAME (pad), pad,
+      gst_static_pad_template_get (&src_template));
+  gst_pad_set_active (ghost, TRUE);
+  gst_element_add_pad (GST_ELEMENT_CAST (self), ghost);
+}
+
+static void
+pad_removed_cb (GstElement * element, GstPad * pad, gpointer user_data)
+{
+  GstSdpSrc *self = GST_SDP_SRC_CAST (user_data);
+  GstPad *peer;
+
+  peer = gst_pad_get_peer (pad);
+  if (peer) {
+    GstPad *ghost =
+        GST_PAD_CAST (gst_proxy_pad_get_internal (GST_PROXY_PAD (peer)));
+
+    if (ghost) {
+      gst_ghost_pad_set_target (GST_GHOST_PAD_CAST (ghost), NULL);
+      gst_element_remove_pad (GST_ELEMENT_CAST (self), ghost);
+      gst_object_unref (ghost);
+    }
+
+    gst_object_unref (peer);
+  }
+}
+
+static void
+no_more_pads_cb (GstElement * element, gpointer user_data)
+{
+  gst_element_no_more_pads (GST_ELEMENT_CAST (user_data));
+}
+
+static void
+remove_pad (const GValue * item, gpointer user_data)
+{
+  GstElement *self = user_data;
+  GstPad *pad = g_value_get_object (item);
+
+  gst_element_remove_pad (self, pad);
+}
+
+static GstStateChangeReturn
+gst_sdp_src_change_state (GstElement * element, GstStateChange transition)
+{
+  GstSdpSrc *self = GST_SDP_SRC_CAST (element);
+  GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
+
+  switch (transition) {
+    case GST_STATE_CHANGE_NULL_TO_READY:
+      GST_OBJECT_LOCK (self);
+      if (self->sdp_buffer)
+        gst_buffer_unref (self->sdp_buffer);
+      self->sdp_buffer = NULL;
+
+      if (self->location && strcmp (self->location, "sdp://") != 0) {
+        /* Do nothing */
+      } else if (self->sdp) {
+        self->sdp_buffer =
+            gst_buffer_new_wrapped (self->sdp, strlen (self->sdp) + 1);
+      } else {
+        ret = GST_STATE_CHANGE_FAILURE;
+      }
+      GST_OBJECT_UNLOCK (self);
+
+      if (ret != GST_STATE_CHANGE_FAILURE) {
+        if (self->sdp_buffer) {
+          GstCaps *caps = gst_caps_new_empty_simple ("application/sdp");
+
+          self->src = gst_element_factory_make ("appsrc", NULL);
+          g_object_set (self->src, "caps", caps, "emit-signals", FALSE, NULL);
+          gst_caps_unref (caps);
+        } else {
+          self->src = gst_element_factory_make ("filesrc", NULL);
+          g_object_set (self->src, "location", self->location + 6, NULL);
+        }
+
+        self->demux = gst_element_factory_make ("sdpdemux", NULL);
+        g_signal_connect (self->demux, "pad-added", G_CALLBACK (pad_added_cb),
+            self);
+        g_signal_connect (self->demux, "pad-removed",
+            G_CALLBACK (pad_removed_cb), self);
+        g_signal_connect (self->demux, "no-more-pads",
+            G_CALLBACK (no_more_pads_cb), self);
+        gst_bin_add_many (GST_BIN_CAST (self), self->src, self->demux, NULL);
+        gst_element_link_pads (self->src, "src", self->demux, "sink");
+      }
+      break;
+    default:
+      break;
+  }
+
+  if (ret == GST_STATE_CHANGE_FAILURE)
+    return ret;
+  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+  if (ret == GST_STATE_CHANGE_FAILURE)
+    return ret;
+
+  switch (transition) {
+    case GST_STATE_CHANGE_READY_TO_NULL:{
+      GstIterator *it;
+
+      it = gst_element_iterate_src_pads (GST_ELEMENT_CAST (self));
+      while (gst_iterator_foreach (it, remove_pad, self) == GST_ITERATOR_RESYNC)
+        gst_iterator_resync (it);
+      gst_iterator_free (it);
+
+      if (self->src) {
+        gst_bin_remove (GST_BIN_CAST (self), self->src);
+        self->src = NULL;
+      }
+      if (self->demux) {
+        gst_bin_remove (GST_BIN_CAST (self), self->demux);
+        self->demux = NULL;
+      }
+      break;
+    }
+    case GST_STATE_CHANGE_READY_TO_PAUSED:
+      if (ret != GST_STATE_CHANGE_FAILURE)
+        ret = GST_STATE_CHANGE_NO_PREROLL;
+      if (self->sdp_buffer) {
+        if (gst_app_src_push_buffer (GST_APP_SRC_CAST (self->src),
+                gst_buffer_ref (self->sdp_buffer)) != GST_FLOW_OK)
+          ret = GST_STATE_CHANGE_FAILURE;
+        else
+          gst_app_src_end_of_stream (GST_APP_SRC_CAST (self->src));
+      }
+      break;
+    default:
+      break;
+  }
+
+  return ret;
+}
+
+static void
+gst_sdp_src_class_init (GstSdpSrcClass * klass)
+{
+  GObjectClass *gobject_class = (GObjectClass *) klass;
+  GstElementClass *element_class = (GstElementClass *) klass;
+
+  GST_DEBUG_CATEGORY_INIT (sdp_src_debug, "sdpsrc", 0, "SDP Source");
+
+  gobject_class->finalize = gst_sdp_src_finalize;
+  gobject_class->set_property = gst_sdp_src_set_property;
+  gobject_class->get_property = gst_sdp_src_get_property;
+
+  g_object_class_install_property (gobject_class, PROP_LOCATION,
+      g_param_spec_string ("location",
+          "Location",
+          "URI to SDP file (sdp:///path/to/file)", NULL,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class, PROP_SDP,
+      g_param_spec_string ("sdp",
+          "SDP",
+          "SDP description used instead of location", NULL,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&src_template));
+
+  gst_element_class_set_static_metadata (element_class, "SDP Source",
+      "Source/Network/RTP",
+      "Stream RTP based on an SDP",
+      "Sebastian Dröge <sebastian@centricular.com>");
+
+  element_class->change_state = GST_DEBUG_FUNCPTR (gst_sdp_src_change_state);
+}
+
+static void
+gst_sdp_src_init (GstSdpSrc * self)
+{
+}
+
+static GstURIType
+gst_sdp_src_get_uri_type (GType type)
+{
+  return GST_URI_SRC;
+}
+
+static const gchar *const *
+gst_sdp_src_get_protocols (GType type)
+{
+  static const gchar *protocols[] = { "sdp", 0 };
+
+  return protocols;
+}
+
+static gchar *
+gst_sdp_src_get_uri (GstURIHandler * handler)
+{
+  gchar *uri = NULL;
+
+  g_object_get (handler, "location", &uri, NULL);
+
+  return uri;
+}
+
+static gboolean
+gst_sdp_src_set_uri (GstURIHandler * handler, const gchar * uri,
+    GError ** error)
+{
+  if (uri && !g_str_has_prefix (uri, "sdp://")) {
+    g_set_error (error, GST_URI_ERROR, GST_URI_ERROR_BAD_URI,
+        "Invalid SDP URI");
+    return FALSE;
+  }
+
+  g_object_set (handler, "location", uri, NULL);
+
+  return TRUE;
+}
+
+static void
+gst_sdp_src_handler_init (gpointer g_iface, gpointer iface_data)
+{
+  GstURIHandlerInterface *iface = (GstURIHandlerInterface *) g_iface;
+
+  iface->get_type = gst_sdp_src_get_uri_type;
+  iface->get_protocols = gst_sdp_src_get_protocols;
+  iface->get_uri = gst_sdp_src_get_uri;
+  iface->set_uri = gst_sdp_src_set_uri;
+}
diff --git a/gst/sdp/gstsdpsrc.h b/gst/sdp/gstsdpsrc.h
new file mode 100644
index 0000000..05f2074
--- /dev/null
+++ b/gst/sdp/gstsdpsrc.h
@@ -0,0 +1,62 @@
+/* GStreamer
+ * 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_SDP_SRC_H__
+#define __GST_SDP_SRC_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+#define GST_TYPE_SDP_SRC \
+  (gst_sdp_src_get_type())
+#define GST_SDP_SRC(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_SDP_SRC, GstSdpSrc))
+#define GST_SDP_SRC_CAST(obj) \
+  ((GstSdpSrc *) obj)
+#define GST_SDP_SRC_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_SDP_SRC, GstSdpSrcClass))
+#define GST_IS_SDP_SRC(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_SDP_SRC))
+#define GST_IS_SDP_SRC_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_SDP_SRC))
+
+typedef struct _GstSdpSrc GstSdpSrc;
+typedef struct _GstSdpSrcClass GstSdpSrcClass;
+
+struct _GstSdpSrc
+{
+  GstBin parent;
+
+  gchar *location;
+  gchar *sdp;
+
+  GstBuffer *sdp_buffer;
+  GstElement *src;
+  GstElement *demux;
+};
+
+struct _GstSdpSrcClass
+{
+  GstBinClass parent;
+};
+
+GType gst_sdp_src_get_type (void);
+
+G_END_DECLS
+#endif /* __GST_SDP_SRC_H__ */
diff --git a/gst/segmentclip/Makefile.in b/gst/segmentclip/Makefile.in
index 45a5577..fd77fe3 100644
--- a/gst/segmentclip/Makefile.in
+++ b/gst/segmentclip/Makefile.in
@@ -306,6 +306,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -521,6 +523,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -647,8 +651,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -693,6 +695,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/segmentclip/gstaudiosegmentclip.c b/gst/segmentclip/gstaudiosegmentclip.c
index 21fcd46..434424a 100644
--- a/gst/segmentclip/gstaudiosegmentclip.c
+++ b/gst/segmentclip/gstaudiosegmentclip.c
@@ -67,10 +67,8 @@
       "Clips audio buffers to the configured segment",
       "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_pad_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_pad_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_pad_template);
+  gst_element_class_add_static_pad_template (element_class, &src_pad_template);
 }
 
 static void
diff --git a/gst/segmentclip/gstvideosegmentclip.c b/gst/segmentclip/gstvideosegmentclip.c
index 0b168e4..34ba58b 100644
--- a/gst/segmentclip/gstvideosegmentclip.c
+++ b/gst/segmentclip/gstvideosegmentclip.c
@@ -61,10 +61,8 @@
       "Clips video buffers to the configured segment",
       "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_pad_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_pad_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_pad_template);
+  gst_element_class_add_static_pad_template (element_class, &src_pad_template);
 
   segment_clip_klass->reset = GST_DEBUG_FUNCPTR (gst_video_segment_clip_reset);
   segment_clip_klass->set_caps =
diff --git a/gst/siren/Makefile.in b/gst/siren/Makefile.in
index 00b5506..402e9ad 100644
--- a/gst/siren/Makefile.in
+++ b/gst/siren/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/siren/gstsirendec.c b/gst/siren/gstsirendec.c
index ab0635a..93aadf0 100644
--- a/gst/siren/gstsirendec.c
+++ b/gst/siren/gstsirendec.c
@@ -73,10 +73,8 @@
 
   GST_DEBUG_CATEGORY_INIT (sirendec_debug, "sirendec", 0, "sirendec");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&srctemplate));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (element_class, &srctemplate);
+  gst_element_class_add_static_pad_template (element_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (element_class, "Siren Decoder element",
       "Codec/Decoder/Audio ",
diff --git a/gst/siren/gstsirenenc.c b/gst/siren/gstsirenenc.c
index 69b4d80..0be5cd3 100644
--- a/gst/siren/gstsirenenc.c
+++ b/gst/siren/gstsirenenc.c
@@ -71,10 +71,8 @@
 
   GST_DEBUG_CATEGORY_INIT (sirenenc_debug, "sirenenc", 0, "sirenenc");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&srctemplate));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (element_class, &srctemplate);
+  gst_element_class_add_static_pad_template (element_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (element_class, "Siren Encoder element",
       "Codec/Encoder/Audio ",
diff --git a/gst/smooth/Makefile.in b/gst/smooth/Makefile.in
index 21135e6..eb7c5d6 100644
--- a/gst/smooth/Makefile.in
+++ b/gst/smooth/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/smooth/gstsmooth.c b/gst/smooth/gstsmooth.c
index cfdf51a..3bc233a 100644
--- a/gst/smooth/gstsmooth.c
+++ b/gst/smooth/gstsmooth.c
@@ -89,13 +89,12 @@
       g_param_spec_boolean ("luma-only", "luma-only", "only filter luma part",
           TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_smooth_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_smooth_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_smooth_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_smooth_src_template);
   gst_element_class_set_static_metadata (gstelement_class, "Smooth effect",
-      "Filter/Effect/Video",
-      "Apply a smooth filter to an image",
+      "Filter/Effect/Video", "Apply a smooth filter to an image",
       "Wim Taymans <wim.taymans@chello.be>");
 
   vfilter_class->transform_frame =
diff --git a/gst/speed/Makefile.in b/gst/speed/Makefile.in
index 22a00e6..b4a4028 100644
--- a/gst/speed/Makefile.in
+++ b/gst/speed/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/speed/gstspeed.c b/gst/speed/gstspeed.c
index c0f9198..72a907d 100644
--- a/gst/speed/gstspeed.c
+++ b/gst/speed/gstspeed.c
@@ -399,10 +399,10 @@
       "Andy Wingo <apwingo@eos.ncsu.edu>, "
       "Tim-Philipp Müller <tim@centricular.net>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_speed_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_speed_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_speed_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_speed_sink_template);
 }
 
 static void
diff --git a/gst/stereo/Makefile.in b/gst/stereo/Makefile.in
index 1f73f05..5e47739 100644
--- a/gst/stereo/Makefile.in
+++ b/gst/stereo/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/subenc/Makefile.in b/gst/subenc/Makefile.in
index eb67032..128de90 100644
--- a/gst/subenc/Makefile.in
+++ b/gst/subenc/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/subenc/gstsrtenc.c b/gst/subenc/gstsrtenc.c
index 079fc44..c16e6ed 100644
--- a/gst/subenc/gstsrtenc.c
+++ b/gst/subenc/gstsrtenc.c
@@ -246,10 +246,8 @@
           0,
           G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 
   gst_element_class_set_static_metadata (element_class,
       "Srt encoder", "Codec/Encoder/Subtitle",
diff --git a/gst/subenc/gstwebvttenc.c b/gst/subenc/gstwebvttenc.c
index 67b6305..eefc78d 100644
--- a/gst/subenc/gstwebvttenc.c
+++ b/gst/subenc/gstwebvttenc.c
@@ -266,10 +266,8 @@
           0,
           G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 
   gst_element_class_set_static_metadata (element_class,
       "WebVTT encoder", "Codec/Encoder/Subtitle",
diff --git a/gst/tta/Makefile.in b/gst/tta/Makefile.in
index 034146d..d0c8910 100644
--- a/gst/tta/Makefile.in
+++ b/gst/tta/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/tta/gstttadec.c b/gst/tta/gstttadec.c
index f4e29a2..1aa9d95 100644
--- a/gst/tta/gstttadec.c
+++ b/gst/tta/gstttadec.c
@@ -171,10 +171,8 @@
 
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
   gst_element_class_set_static_metadata (element_class, "TTA audio decoder",
       "Codec/Decoder/Audio",
       "Decode TTA audio data", "Arwed v. Merkatz <v.merkatz@gmx.net>");
diff --git a/gst/tta/gstttaparse.c b/gst/tta/gstttaparse.c
index 9d3b8b4..5479350 100644
--- a/gst/tta/gstttaparse.c
+++ b/gst/tta/gstttaparse.c
@@ -92,10 +92,8 @@
 
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
   gst_element_class_set_static_metadata (element_class, "TTA file parser",
       "Codec/Demuxer/Audio",
       "Parses TTA files", "Arwed v. Merkatz <v.merkatz@gmx.net>");
diff --git a/gst/videofilters/Makefile.in b/gst/videofilters/Makefile.in
index 65f842a..1554116 100644
--- a/gst/videofilters/Makefile.in
+++ b/gst/videofilters/Makefile.in
@@ -308,6 +308,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -523,6 +525,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -649,8 +653,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -695,6 +697,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/videofilters/gstvideodiff.c b/gst/videofilters/gstvideodiff.c
index 6f5b35e..457ebd1 100644
--- a/gst/videofilters/gstvideodiff.c
+++ b/gst/videofilters/gstvideodiff.c
@@ -1,5 +1,5 @@
 /* GStreamer
- * Copyright (C) 2013 FIXME <fixme@example.com>
+ * Copyright (C) 2013 David Schleef <ds@schleef.org>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -19,14 +19,14 @@
 /**
  * SECTION:element-gstvideodiff
  *
- * The videodiff element does FIXME stuff.
+ * The videodiff element highlights the difference between a frame and its
+ * previous on the luma plane.
  *
  * <refsect2>
  * <title>Example launch line</title>
  * |[
- * gst-launch-1.0 -v fakesrc ! videodiff ! FIXME ! fakesink
+ * gst-launch-1.0 -v videotestsrc pattern=ball ! videodiff ! videoconvert ! autovideosink
  * ]|
- * FIXME Describe what the pipeline does.
  * </refsect2>
  */
 
@@ -47,24 +47,13 @@
 static GstFlowReturn gst_video_diff_transform_frame (GstVideoFilter * filter,
     GstVideoFrame * inframe, GstVideoFrame * outframe);
 
-enum
-{
-  PROP_0
-};
-
-/* pad templates */
-
-/* FIXME: add/remove formats you can handle */
 #define VIDEO_SRC_CAPS \
-    GST_VIDEO_CAPS_MAKE("{ I420, Y444, Y42B, UYVY, RGBA }")
+    GST_VIDEO_CAPS_MAKE("{ I420, Y444, Y42B, Y41B }")
 
-/* FIXME: add/remove formats you can handle */
 #define VIDEO_SINK_CAPS \
-    GST_VIDEO_CAPS_MAKE("{ I420, Y444, Y42B, UYVY, RGBA }")
+    GST_VIDEO_CAPS_MAKE("{ I420, Y444, Y42B, Y41B }")
 
 
-/* class initialization */
-
 G_DEFINE_TYPE_WITH_CODE (GstVideoDiff, gst_video_diff, GST_TYPE_VIDEO_FILTER,
     GST_DEBUG_CATEGORY_INIT (gst_video_diff_debug_category, "videodiff", 0,
         "debug category for videodiff element"));
@@ -74,8 +63,6 @@
 {
   GstVideoFilterClass *video_filter_class = GST_VIDEO_FILTER_CLASS (klass);
 
-  /* Setting up pads and setting metadata should be moved to
-     base_class_init if you intend to subclass this class. */
   gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
       gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
           gst_caps_from_string (VIDEO_SRC_CAPS)));
@@ -84,12 +71,12 @@
           gst_caps_from_string (VIDEO_SINK_CAPS)));
 
   gst_element_class_set_static_metadata (GST_ELEMENT_CLASS (klass),
-      "FIXME Long name", "Generic", "FIXME Description",
-      "FIXME <fixme@example.com>");
+      "Video Diff", "Video/Filter",
+      "Visualize differences between adjacent video frames",
+      "David Schleef <ds@schleef.org>");
 
   video_filter_class->transform_frame =
       GST_DEBUG_FUNCPTR (gst_video_diff_transform_frame);
-
 }
 
 static void
diff --git a/gst/videofilters/gstvideodiff.h b/gst/videofilters/gstvideodiff.h
index c91844a..8d76d70 100644
--- a/gst/videofilters/gstvideodiff.h
+++ b/gst/videofilters/gstvideodiff.h
@@ -1,5 +1,5 @@
 /* GStreamer
- * Copyright (C) 2013 FIXME <fixme@example.com>
+ * Copyright (C) 2013 David Schleef <ds@schleef.org>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
diff --git a/gst/videoframe_audiolevel/Makefile.in b/gst/videoframe_audiolevel/Makefile.in
index 61b80d8..c1f0304 100644
--- a/gst/videoframe_audiolevel/Makefile.in
+++ b/gst/videoframe_audiolevel/Makefile.in
@@ -305,6 +305,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -520,6 +522,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -646,8 +650,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -692,6 +694,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/videoframe_audiolevel/gstvideoframe-audiolevel.c b/gst/videoframe_audiolevel/gstvideoframe-audiolevel.c
index ade9966..46fda77 100644
--- a/gst/videoframe_audiolevel/gstvideoframe-audiolevel.c
+++ b/gst/videoframe_audiolevel/gstvideoframe-audiolevel.c
@@ -122,15 +122,15 @@
   gobject_class->finalize = gst_videoframe_audiolevel_finalize;
   gstelement_class->change_state = gst_videoframe_audiolevel_change_state;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&audio_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&audio_sink_template));
+  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_pad_template (gstelement_class,
-      gst_static_pad_template_get (&video_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&video_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
diff --git a/gst/videomeasure/Makefile.in b/gst/videomeasure/Makefile.in
index d99030c..32add82 100644
--- a/gst/videomeasure/Makefile.in
+++ b/gst/videomeasure/Makefile.in
@@ -306,6 +306,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -521,6 +523,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -647,8 +651,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -693,6 +695,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/videomeasure/gstvideomeasure_collector.c b/gst/videomeasure/gstvideomeasure_collector.c
index 448adc4..3778bbf 100644
--- a/gst/videomeasure/gstvideomeasure_collector.c
+++ b/gst/videomeasure/gstvideomeasure_collector.c
@@ -320,10 +320,10 @@
       "Collect measurements from a measuring element",
       "Руслан Ижбулатов <lrn _at_ gmail _dot_ com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_measure_collector_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_measure_collector_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_measure_collector_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_measure_collector_src_template);
 }
 
 static void
diff --git a/gst/videomeasure/gstvideomeasure_ssim.c b/gst/videomeasure/gstvideomeasure_ssim.c
index 13ba035..d0a2c9d 100644
--- a/gst/videomeasure/gstvideomeasure_ssim.c
+++ b/gst/videomeasure/gstvideomeasure_ssim.c
@@ -1095,15 +1095,14 @@
           "(only when using Gaussian window).",
           G_MINFLOAT, 10, 1.5, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_ssim_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_ssim_sink_original_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_ssim_sink_modified_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_ssim_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_ssim_sink_original_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_ssim_sink_modified_template);
   gst_element_class_set_static_metadata (gstelement_class, "SSim",
-      "Filter/Analyzer/Video",
-      "Calculate Y-SSIM for n+2 YUV video streams",
+      "Filter/Analyzer/Video", "Calculate Y-SSIM for n+2 YUV video streams",
       "Руслан Ижбулатов <lrn1986 _at_ gmail _dot_ com>");
 
   parent_class = g_type_class_peek_parent (klass);
diff --git a/gst/videoparsers/Makefile.am b/gst/videoparsers/Makefile.am
index f1b0a11..f81cc0e 100644
--- a/gst/videoparsers/Makefile.am
+++ b/gst/videoparsers/Makefile.am
@@ -5,6 +5,7 @@
 	gstdiracparse.c dirac_parse.c \
 	gsth264parse.c gstmpegvideoparse.c \
 	gstmpeg4videoparse.c \
+	gstjpeg2000parse.c \
 	gstpngparse.c \
 	gstvc1parse.c \
 	gsth265parse.c
@@ -29,6 +30,7 @@
 	gstdiracparse.h dirac_parse.h \
 	gsth264parse.h gstmpegvideoparse.h \
 	gstmpeg4videoparse.h \
+	gstjpeg2000parse.h \
 	gstpngparse.h \
 	gstvc1parse.h \
 	gsth265parse.h
diff --git a/gst/videoparsers/Makefile.in b/gst/videoparsers/Makefile.in
index 9b99433..3a9327a 100644
--- a/gst/videoparsers/Makefile.in
+++ b/gst/videoparsers/Makefile.in
@@ -175,6 +175,7 @@
 	libgstvideoparsersbad_la-gsth264parse.lo \
 	libgstvideoparsersbad_la-gstmpegvideoparse.lo \
 	libgstvideoparsersbad_la-gstmpeg4videoparse.lo \
+	libgstvideoparsersbad_la-gstjpeg2000parse.lo \
 	libgstvideoparsersbad_la-gstpngparse.lo \
 	libgstvideoparsersbad_la-gstvc1parse.lo \
 	libgstvideoparsersbad_la-gsth265parse.lo
@@ -315,6 +316,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -530,6 +533,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -656,8 +661,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -702,6 +705,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -796,6 +801,7 @@
 	gstdiracparse.c dirac_parse.c \
 	gsth264parse.c gstmpegvideoparse.c \
 	gstmpeg4videoparse.c \
+	gstjpeg2000parse.c \
 	gstpngparse.c \
 	gstvc1parse.c \
 	gsth265parse.c
@@ -821,6 +827,7 @@
 	gstdiracparse.h dirac_parse.h \
 	gsth264parse.h gstmpegvideoparse.h \
 	gstmpeg4videoparse.h \
+	gstjpeg2000parse.h \
 	gstpngparse.h \
 	gstvc1parse.h \
 	gsth265parse.h
@@ -908,6 +915,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvideoparsersbad_la-gsth263parse.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvideoparsersbad_la-gsth264parse.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvideoparsersbad_la-gsth265parse.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvideoparsersbad_la-gstjpeg2000parse.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvideoparsersbad_la-gstmpeg4videoparse.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvideoparsersbad_la-gstmpegvideoparse.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvideoparsersbad_la-gstpngparse.Plo@am__quote@
@@ -995,6 +1003,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 $(libgstvideoparsersbad_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvideoparsersbad_la_CFLAGS) $(CFLAGS) -c -o libgstvideoparsersbad_la-gstmpeg4videoparse.lo `test -f 'gstmpeg4videoparse.c' || echo '$(srcdir)/'`gstmpeg4videoparse.c
 
+libgstvideoparsersbad_la-gstjpeg2000parse.lo: gstjpeg2000parse.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvideoparsersbad_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvideoparsersbad_la_CFLAGS) $(CFLAGS) -MT libgstvideoparsersbad_la-gstjpeg2000parse.lo -MD -MP -MF $(DEPDIR)/libgstvideoparsersbad_la-gstjpeg2000parse.Tpo -c -o libgstvideoparsersbad_la-gstjpeg2000parse.lo `test -f 'gstjpeg2000parse.c' || echo '$(srcdir)/'`gstjpeg2000parse.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstvideoparsersbad_la-gstjpeg2000parse.Tpo $(DEPDIR)/libgstvideoparsersbad_la-gstjpeg2000parse.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstjpeg2000parse.c' object='libgstvideoparsersbad_la-gstjpeg2000parse.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 $(libgstvideoparsersbad_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvideoparsersbad_la_CFLAGS) $(CFLAGS) -c -o libgstvideoparsersbad_la-gstjpeg2000parse.lo `test -f 'gstjpeg2000parse.c' || echo '$(srcdir)/'`gstjpeg2000parse.c
+
 libgstvideoparsersbad_la-gstpngparse.lo: gstpngparse.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvideoparsersbad_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvideoparsersbad_la_CFLAGS) $(CFLAGS) -MT libgstvideoparsersbad_la-gstpngparse.lo -MD -MP -MF $(DEPDIR)/libgstvideoparsersbad_la-gstpngparse.Tpo -c -o libgstvideoparsersbad_la-gstpngparse.lo `test -f 'gstpngparse.c' || echo '$(srcdir)/'`gstpngparse.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstvideoparsersbad_la-gstpngparse.Tpo $(DEPDIR)/libgstvideoparsersbad_la-gstpngparse.Plo
diff --git a/gst/videoparsers/gstdiracparse.c b/gst/videoparsers/gstdiracparse.c
index 93f00c6..c674cb8 100644
--- a/gst/videoparsers/gstdiracparse.c
+++ b/gst/videoparsers/gstdiracparse.c
@@ -109,10 +109,10 @@
   gobject_class->dispose = gst_dirac_parse_dispose;
   gobject_class->finalize = gst_dirac_parse_finalize;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_dirac_parse_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_dirac_parse_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_dirac_parse_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_dirac_parse_sink_template);
 
   gst_element_class_set_static_metadata (element_class, "Dirac parser",
       "Codec/Parser/Video", "Parses Dirac streams",
diff --git a/gst/videoparsers/gsth263parse.c b/gst/videoparsers/gsth263parse.c
index 370cbb1..0f4d42e 100644
--- a/gst/videoparsers/gsth263parse.c
+++ b/gst/videoparsers/gsth263parse.c
@@ -73,10 +73,8 @@
 
   GST_DEBUG_CATEGORY_INIT (h263_parse_debug, "h263parse", 0, "h263 parser");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
   gst_element_class_set_static_metadata (gstelement_class, "H.263 parser",
       "Codec/Parser/Video",
       "Parses H.263 streams",
diff --git a/gst/videoparsers/gsth264parse.c b/gst/videoparsers/gsth264parse.c
index 05b6b75..e09fd99 100644
--- a/gst/videoparsers/gsth264parse.c
+++ b/gst/videoparsers/gsth264parse.c
@@ -129,11 +129,12 @@
   gobject_class->get_property = gst_h264_parse_get_property;
 
   g_object_class_install_property (gobject_class, PROP_CONFIG_INTERVAL,
-      g_param_spec_uint ("config-interval",
+      g_param_spec_int ("config-interval",
           "SPS PPS Send Interval",
           "Send SPS and PPS Insertion Interval in seconds (sprop parameter sets "
-          "will be multiplexed in the data stream when detected.) (0 = disabled)",
-          0, 3600, DEFAULT_CONFIG_INTERVAL,
+          "will be multiplexed in the data stream when detected.) "
+          "(0 = disabled, -1 = send with every IDR frame)",
+          -1, 3600, DEFAULT_CONFIG_INTERVAL,
           G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
   /* Override BaseParse vfuncs */
@@ -147,10 +148,8 @@
   parse_class->sink_event = GST_DEBUG_FUNCPTR (gst_h264_parse_event);
   parse_class->src_event = GST_DEBUG_FUNCPTR (gst_h264_parse_src_event);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (gstelement_class, "H.264 parser",
       "Codec/Parser/Converter/Video",
@@ -1054,6 +1053,7 @@
   GstH264NalUnit nalu;
   GstH264ParserResult pres;
   gint framesize;
+  GstFlowReturn ret;
 
   if (G_UNLIKELY (GST_BUFFER_FLAG_IS_SET (frame->buffer,
               GST_BUFFER_FLAG_DISCONT))) {
@@ -1087,7 +1087,9 @@
     GST_LOG_OBJECT (h264parse, "resuming frame parsing");
   }
 
-  drain = GST_BASE_PARSE_DRAINING (parse);
+  /* Always consume the entire input buffer when in_align == ALIGN_AU */
+  drain = GST_BASE_PARSE_DRAINING (parse)
+      || h264parse->in_align == GST_H264_PARSE_ALIGN_AU;
   nonext = FALSE;
 
   current_off = h264parse->current_off;
@@ -1104,6 +1106,22 @@
     switch (pres) {
       case GST_H264_PARSER_OK:
         if (nalu.sc_offset > 0) {
+          int i;
+          gboolean is_filler_data = TRUE;
+          /* Handle filler data */
+          for (i = 0; i < nalu.sc_offset; i++) {
+            if (data[i] != 0x00) {
+              is_filler_data = FALSE;
+              break;
+            }
+          }
+          if (is_filler_data) {
+            GST_DEBUG_OBJECT (parse, "Dropping filler data %d", nalu.sc_offset);
+            frame->flags |= GST_BASE_PARSE_FRAME_FLAG_DROP;
+            gst_buffer_unmap (buffer, &map);
+            ret = gst_base_parse_finish_frame (parse, frame, nalu.sc_offset);
+            goto drop;
+          }
           *skipsize = nalu.sc_offset;
           goto skip;
         }
@@ -1239,6 +1257,10 @@
   gst_buffer_unmap (buffer, &map);
   return GST_FLOW_OK;
 
+drop:
+  GST_DEBUG_OBJECT (h264parse, "Dropped data");
+  return ret;
+
 skip:
   GST_DEBUG_OBJECT (h264parse, "skipping %d", *skipsize);
   /* If we are collecting access units, we need to preserve the initial
@@ -1919,6 +1941,8 @@
   g_return_if_fail (out_ts != NULL);
 
   upstream = *out_ts;
+  GST_LOG_OBJECT (h264parse, "Upstream ts %" GST_TIME_FORMAT,
+      GST_TIME_ARGS (upstream));
 
   if (!frame) {
     GST_LOG_OBJECT (h264parse, "no frame data ->  0 duration");
@@ -2201,6 +2225,92 @@
   parse->push_codec = TRUE;
 }
 
+static gboolean
+gst_h264_parse_handle_sps_pps_nals (GstH264Parse * h264parse,
+    GstBuffer * buffer, GstBaseParseFrame * frame)
+{
+  GstBuffer *codec_nal;
+  gint i;
+  gboolean send_done = FALSE;
+  GstClockTime timestamp = GST_BUFFER_TIMESTAMP (buffer);
+
+  if (h264parse->align == GST_H264_PARSE_ALIGN_NAL) {
+    /* send separate config NAL buffers */
+    GST_DEBUG_OBJECT (h264parse, "- sending SPS/PPS");
+    for (i = 0; i < GST_H264_MAX_SPS_COUNT; i++) {
+      if ((codec_nal = h264parse->sps_nals[i])) {
+        GST_DEBUG_OBJECT (h264parse, "sending SPS nal");
+        gst_h264_parse_push_codec_buffer (h264parse, codec_nal, timestamp);
+        send_done = TRUE;
+      }
+    }
+    for (i = 0; i < GST_H264_MAX_PPS_COUNT; i++) {
+      if ((codec_nal = h264parse->pps_nals[i])) {
+        GST_DEBUG_OBJECT (h264parse, "sending PPS nal");
+        gst_h264_parse_push_codec_buffer (h264parse, codec_nal, timestamp);
+        send_done = TRUE;
+      }
+    }
+  } else {
+    /* insert config NALs into AU */
+    GstByteWriter bw;
+    GstBuffer *new_buf;
+    const gboolean bs = h264parse->format == GST_H264_PARSE_FORMAT_BYTE;
+    const gint nls = 4 - h264parse->nal_length_size;
+    gboolean ok;
+
+    gst_byte_writer_init_with_size (&bw, gst_buffer_get_size (buffer), FALSE);
+    ok = gst_byte_writer_put_buffer (&bw, buffer, 0, h264parse->idr_pos);
+    GST_DEBUG_OBJECT (h264parse, "- inserting SPS/PPS");
+    for (i = 0; i < GST_H264_MAX_SPS_COUNT; i++) {
+      if ((codec_nal = h264parse->sps_nals[i])) {
+        gsize nal_size = gst_buffer_get_size (codec_nal);
+        GST_DEBUG_OBJECT (h264parse, "inserting SPS nal");
+        if (bs) {
+          ok &= gst_byte_writer_put_uint32_be (&bw, 1);
+        } else {
+          ok &= gst_byte_writer_put_uint32_be (&bw, (nal_size << (nls * 8)));
+          ok &= gst_byte_writer_set_pos (&bw,
+              gst_byte_writer_get_pos (&bw) - nls);
+        }
+
+        ok &= gst_byte_writer_put_buffer (&bw, codec_nal, 0, nal_size);
+        send_done = TRUE;
+      }
+    }
+    for (i = 0; i < GST_H264_MAX_PPS_COUNT; i++) {
+      if ((codec_nal = h264parse->pps_nals[i])) {
+        gsize nal_size = gst_buffer_get_size (codec_nal);
+        GST_DEBUG_OBJECT (h264parse, "inserting PPS nal");
+        if (bs) {
+          ok &= gst_byte_writer_put_uint32_be (&bw, 1);
+        } else {
+          ok &= gst_byte_writer_put_uint32_be (&bw, (nal_size << (nls * 8)));
+          ok &= gst_byte_writer_set_pos (&bw,
+              gst_byte_writer_get_pos (&bw) - nls);
+        }
+        ok &= gst_byte_writer_put_buffer (&bw, codec_nal, 0, nal_size);
+        send_done = TRUE;
+      }
+    }
+    ok &= gst_byte_writer_put_buffer (&bw, buffer, h264parse->idr_pos, -1);
+    /* collect result and push */
+    new_buf = gst_byte_writer_reset_and_get_buffer (&bw);
+    gst_buffer_copy_into (new_buf, buffer, GST_BUFFER_COPY_METADATA, 0, -1);
+    /* should already be keyframe/IDR, but it may not have been,
+     * so mark it as such to avoid being discarded by picky decoder */
+    GST_BUFFER_FLAG_UNSET (new_buf, GST_BUFFER_FLAG_DELTA_UNIT);
+    gst_buffer_replace (&frame->out_buffer, new_buf);
+    gst_buffer_unref (new_buf);
+    /* some result checking seems to make some compilers happy */
+    if (G_UNLIKELY (!ok)) {
+      GST_ERROR_OBJECT (h264parse, "failed to insert SPS/PPS");
+    }
+  }
+
+  return send_done;
+}
+
 static GstFlowReturn
 gst_h264_parse_pre_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
 {
@@ -2276,93 +2386,14 @@
 
       if (GST_TIME_AS_SECONDS (diff) >= h264parse->interval ||
           initial_frame || h264parse->push_codec) {
-        GstBuffer *codec_nal;
-        gint i;
         GstClockTime new_ts;
 
         /* avoid overwriting a perfectly fine timestamp */
         new_ts = GST_CLOCK_TIME_IS_VALID (timestamp) ? timestamp :
             h264parse->last_report;
 
-        if (h264parse->align == GST_H264_PARSE_ALIGN_NAL) {
-          /* send separate config NAL buffers */
-          GST_DEBUG_OBJECT (h264parse, "- sending SPS/PPS");
-          for (i = 0; i < GST_H264_MAX_SPS_COUNT; i++) {
-            if ((codec_nal = h264parse->sps_nals[i])) {
-              GST_DEBUG_OBJECT (h264parse, "sending SPS nal");
-              gst_h264_parse_push_codec_buffer (h264parse, codec_nal,
-                  timestamp);
-              h264parse->last_report = new_ts;
-            }
-          }
-          for (i = 0; i < GST_H264_MAX_PPS_COUNT; i++) {
-            if ((codec_nal = h264parse->pps_nals[i])) {
-              GST_DEBUG_OBJECT (h264parse, "sending PPS nal");
-              gst_h264_parse_push_codec_buffer (h264parse, codec_nal,
-                  timestamp);
-              h264parse->last_report = new_ts;
-            }
-          }
-        } else {
-          /* insert config NALs into AU */
-          GstByteWriter bw;
-          GstBuffer *new_buf;
-          const gboolean bs = h264parse->format == GST_H264_PARSE_FORMAT_BYTE;
-          const gint nls = 4 - h264parse->nal_length_size;
-          gboolean ok;
-
-          gst_byte_writer_init_with_size (&bw, gst_buffer_get_size (buffer),
-              FALSE);
-          ok = gst_byte_writer_put_buffer (&bw, buffer, 0, h264parse->idr_pos);
-          GST_DEBUG_OBJECT (h264parse, "- inserting SPS/PPS");
-          for (i = 0; i < GST_H264_MAX_SPS_COUNT; i++) {
-            if ((codec_nal = h264parse->sps_nals[i])) {
-              gsize nal_size = gst_buffer_get_size (codec_nal);
-              GST_DEBUG_OBJECT (h264parse, "inserting SPS nal");
-              if (bs) {
-                ok &= gst_byte_writer_put_uint32_be (&bw, 1);
-              } else {
-                ok &= gst_byte_writer_put_uint32_be (&bw,
-                    (nal_size << (nls * 8)));
-                ok &= gst_byte_writer_set_pos (&bw,
-                    gst_byte_writer_get_pos (&bw) - nls);
-              }
-
-              ok &= gst_byte_writer_put_buffer (&bw, codec_nal, 0, nal_size);
-              h264parse->last_report = new_ts;
-            }
-          }
-          for (i = 0; i < GST_H264_MAX_PPS_COUNT; i++) {
-            if ((codec_nal = h264parse->pps_nals[i])) {
-              gsize nal_size = gst_buffer_get_size (codec_nal);
-              GST_DEBUG_OBJECT (h264parse, "inserting PPS nal");
-              if (bs) {
-                ok &= gst_byte_writer_put_uint32_be (&bw, 1);
-              } else {
-                ok &= gst_byte_writer_put_uint32_be (&bw,
-                    (nal_size << (nls * 8)));
-                ok &= gst_byte_writer_set_pos (&bw,
-                    gst_byte_writer_get_pos (&bw) - nls);
-              }
-              ok &= gst_byte_writer_put_buffer (&bw, codec_nal, 0, nal_size);
-              h264parse->last_report = new_ts;
-            }
-          }
-          ok &=
-              gst_byte_writer_put_buffer (&bw, buffer, h264parse->idr_pos, -1);
-          /* collect result and push */
-          new_buf = gst_byte_writer_reset_and_get_buffer (&bw);
-          gst_buffer_copy_into (new_buf, buffer, GST_BUFFER_COPY_METADATA, 0,
-              -1);
-          /* should already be keyframe/IDR, but it may not have been,
-           * so mark it as such to avoid being discarded by picky decoder */
-          GST_BUFFER_FLAG_UNSET (new_buf, GST_BUFFER_FLAG_DELTA_UNIT);
-          gst_buffer_replace (&frame->out_buffer, new_buf);
-          gst_buffer_unref (new_buf);
-          /* some result checking seems to make some compilers happy */
-          if (G_UNLIKELY (!ok)) {
-            GST_ERROR_OBJECT (h264parse, "failed to insert SPS/PPS");
-          }
+        if (gst_h264_parse_handle_sps_pps_nals (h264parse, buffer, frame)) {
+          h264parse->last_report = new_ts;
         }
       }
       /* we pushed whatever we had */
@@ -2371,6 +2402,18 @@
       h264parse->have_pps = FALSE;
       h264parse->state &= GST_H264_PARSE_STATE_VALID_PICTURE_HEADERS;
     }
+  } else if (h264parse->interval == -1) {
+    if (h264parse->idr_pos >= 0) {
+      GST_LOG_OBJECT (h264parse, "IDR nal at offset %d", h264parse->idr_pos);
+
+      gst_h264_parse_handle_sps_pps_nals (h264parse, buffer, frame);
+
+      /* we pushed whatever we had */
+      h264parse->push_codec = FALSE;
+      h264parse->have_sps = FALSE;
+      h264parse->have_pps = FALSE;
+      h264parse->state &= GST_H264_PARSE_STATE_VALID_PICTURE_HEADERS;
+    }
   }
 
   /* Fixme: setting passthrough mode casuing multiple issues:
@@ -2593,6 +2636,8 @@
     h264parse->packetized = TRUE;
   }
 
+  h264parse->in_align = align;
+
   return TRUE;
 
   /* ERRORS */
@@ -2801,7 +2846,7 @@
 
   switch (prop_id) {
     case PROP_CONFIG_INTERVAL:
-      parse->interval = g_value_get_uint (value);
+      parse->interval = g_value_get_int (value);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -2819,7 +2864,7 @@
 
   switch (prop_id) {
     case PROP_CONFIG_INTERVAL:
-      g_value_set_uint (value, parse->interval);
+      g_value_set_int (value, parse->interval);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
diff --git a/gst/videoparsers/gsth264parse.h b/gst/videoparsers/gsth264parse.h
index 58d818c..c71990b 100644
--- a/gst/videoparsers/gsth264parse.h
+++ b/gst/videoparsers/gsth264parse.h
@@ -71,6 +71,7 @@
   /* state */
   GstH264NalParser *nalparser;
   guint state;
+  guint in_align;
   guint align;
   guint format;
   gint current_off;
@@ -118,7 +119,7 @@
   gboolean picture_start;
 
   /* props */
-  guint interval;
+  gint interval;
 
   GstClockTime pending_key_unit_ts;
   GstEvent *force_key_unit_event;
diff --git a/gst/videoparsers/gsth265parse.c b/gst/videoparsers/gsth265parse.c
index 26e7c48..7954793 100644
--- a/gst/videoparsers/gsth265parse.c
+++ b/gst/videoparsers/gsth265parse.c
@@ -124,10 +124,8 @@
   parse_class->sink_event = GST_DEBUG_FUNCPTR (gst_h265_parse_event);
   parse_class->src_event = GST_DEBUG_FUNCPTR (gst_h265_parse_src_event);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (gstelement_class, "H.265 parser",
       "Codec/Parser/Converter/Video",
@@ -1146,7 +1144,7 @@
     GST_WRITE_UINT16_BE (data, num_vps);
     data += 2;
 
-    for (i = 0; i < num_vps; i++) {
+    for (i = 0; i < GST_H265_MAX_VPS_COUNT; i++) {
       if ((nal = h265parse->vps_nals[i])) {
         gsize nal_size = gst_buffer_get_size (nal);
         GST_WRITE_UINT16_BE (data, nal_size);
@@ -1165,7 +1163,7 @@
     GST_WRITE_UINT16_BE (data, num_sps);
     data += 2;
 
-    for (i = 0; i < num_sps; i++) {
+    for (i = 0; i < GST_H265_MAX_SPS_COUNT; i++) {
       if ((nal = h265parse->sps_nals[i])) {
         gsize nal_size = gst_buffer_get_size (nal);
         GST_WRITE_UINT16_BE (data, nal_size);
@@ -1184,7 +1182,7 @@
     GST_WRITE_UINT16_BE (data, num_pps);
     data += 2;
 
-    for (i = 0; i < num_pps; i++) {
+    for (i = 0; i < GST_H265_MAX_PPS_COUNT; i++) {
       if ((nal = h265parse->pps_nals[i])) {
         gsize nal_size = gst_buffer_get_size (nal);
         GST_WRITE_UINT16_BE (data, nal_size);
diff --git a/gst/videoparsers/gstjpeg2000parse.c b/gst/videoparsers/gstjpeg2000parse.c
new file mode 100644
index 0000000..9388771
--- /dev/null
+++ b/gst/videoparsers/gstjpeg2000parse.c
@@ -0,0 +1,532 @@
+/* GStreamer JPEG 2000 Parser
+ * Copyright (C) <2016> Grok Image Compession Inc.
+ *  @author Aaron Boxer <boxerab@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
+#include "gstjpeg2000parse.h"
+#include <gst/base/base.h>
+
+
+
+static void
+gst_jpeg2000_parse_get_subsampling (GstJPEG2000Sampling sampling, guint8 * dx,
+    guint8 * dy)
+{
+  *dx = 1;
+  *dy = 1;
+  if (sampling == GST_JPEG2000_SAMPLING_YBR422) {
+    *dx = 2;
+  } else if (sampling == GST_JPEG2000_SAMPLING_YBR420) {
+    *dx = 2;
+    *dy = 2;
+  } else if (sampling == GST_JPEG2000_SAMPLING_YBR410) {
+    *dx = 4;
+    *dy = 2;
+  }
+}
+
+#define GST_JPEG2000_JP2_SIZE_OF_BOX_ID  	4
+#define GST_JPEG2000_JP2_SIZE_OF_BOX_LEN	4
+#define GST_JPEG2000_MARKER_SIZE  	4
+
+
+/* J2C has 8 bytes preceding J2K magic: 4 for size of box, and 4 for fourcc */
+#define GST_JPEG2000_PARSE_SIZE_OF_J2C_PREFIX_BYTES (GST_JPEG2000_JP2_SIZE_OF_BOX_LEN +  GST_JPEG2000_JP2_SIZE_OF_BOX_ID)
+
+/* SOC marker plus minimum size of SIZ marker */
+#define GST_JPEG2000_PARSE_MIN_FRAME_SIZE (GST_JPEG2000_MARKER_SIZE + GST_JPEG2000_PARSE_SIZE_OF_J2C_PREFIX_BYTES + 36)
+
+#define GST_JPEG2000_PARSE_J2K_MAGIC 0xFF4FFF51
+
+GST_DEBUG_CATEGORY (jpeg2000_parse_debug);
+#define GST_CAT_DEFAULT jpeg2000_parse_debug
+
+static GstStaticPadTemplate srctemplate =
+    GST_STATIC_PAD_TEMPLATE ("src", GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("image/x-jpc,"
+        " width = (int)[1, MAX], height = (int)[1, MAX],"
+        GST_JPEG2000_SAMPLING_LIST ","
+        GST_JPEG2000_COLORSPACE_LIST ","
+        " parsed = (boolean) true;"
+        "image/x-j2c,"
+        " width = (int)[1, MAX], height = (int)[1, MAX],"
+        GST_JPEG2000_SAMPLING_LIST ","
+        GST_JPEG2000_COLORSPACE_LIST "," " parsed = (boolean) true")
+    );
+
+static GstStaticPadTemplate sinktemplate =
+    GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("image/x-jpc,"
+        GST_JPEG2000_SAMPLING_LIST ";"
+        "image/x-jpc, "
+        GST_JPEG2000_COLORSPACE_LIST ";"
+        "image/x-j2c,"
+        GST_JPEG2000_SAMPLING_LIST ";"
+        "image/x-j2c, " GST_JPEG2000_COLORSPACE_LIST)
+    );
+
+#define parent_class gst_jpeg2000_parse_parent_class
+G_DEFINE_TYPE (GstJPEG2000Parse, gst_jpeg2000_parse, GST_TYPE_BASE_PARSE);
+
+static gboolean gst_jpeg2000_parse_start (GstBaseParse * parse);
+static gboolean gst_jpeg2000_parse_event (GstBaseParse * parse,
+    GstEvent * event);
+static GstFlowReturn gst_jpeg2000_parse_handle_frame (GstBaseParse * parse,
+    GstBaseParseFrame * frame, gint * skipsize);
+static gboolean gst_jpeg2000_parse_set_sink_caps (GstBaseParse * parse,
+    GstCaps * caps);
+
+static void
+gst_jpeg2000_parse_class_init (GstJPEG2000ParseClass * klass)
+{
+  GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
+  GstBaseParseClass *parse_class = GST_BASE_PARSE_CLASS (klass);
+
+  GST_DEBUG_CATEGORY_INIT (jpeg2000_parse_debug, "jpeg2000parse", 0,
+      "jpeg 2000 parser");
+
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
+  gst_element_class_set_static_metadata (gstelement_class, "JPEG 2000 parser",
+      "Codec/Parser/Video/Image",
+      "Parses JPEG 2000 files", "Aaron Boxer <boxerab@gmail.com>");
+
+  /* Override BaseParse vfuncs */
+  parse_class->set_sink_caps =
+      GST_DEBUG_FUNCPTR (gst_jpeg2000_parse_set_sink_caps);
+  parse_class->start = GST_DEBUG_FUNCPTR (gst_jpeg2000_parse_start);
+  parse_class->sink_event = GST_DEBUG_FUNCPTR (gst_jpeg2000_parse_event);
+  parse_class->handle_frame =
+      GST_DEBUG_FUNCPTR (gst_jpeg2000_parse_handle_frame);
+}
+
+static gboolean
+gst_jpeg2000_parse_start (GstBaseParse * parse)
+{
+  GstJPEG2000Parse *jpeg2000parse = GST_JPEG2000_PARSE (parse);
+  GST_DEBUG_OBJECT (jpeg2000parse, "start");
+  gst_base_parse_set_min_frame_size (parse, GST_JPEG2000_PARSE_MIN_FRAME_SIZE);
+
+  jpeg2000parse->width = 0;
+  jpeg2000parse->height = 0;
+
+  jpeg2000parse->sampling = GST_JPEG2000_SAMPLING_NONE;
+  jpeg2000parse->colorspace = GST_JPEG2000_COLORSPACE_NONE;
+  jpeg2000parse->codec_format = GST_JPEG2000_PARSE_NO_CODEC;
+  return TRUE;
+}
+
+
+static void
+gst_jpeg2000_parse_init (GstJPEG2000Parse * jpeg2000parse)
+{
+  GST_PAD_SET_ACCEPT_INTERSECT (GST_BASE_PARSE_SINK_PAD (jpeg2000parse));
+  GST_PAD_SET_ACCEPT_TEMPLATE (GST_BASE_PARSE_SINK_PAD (jpeg2000parse));
+}
+
+static gboolean
+gst_jpeg2000_parse_set_sink_caps (GstBaseParse * parse, GstCaps * caps)
+{
+  GstJPEG2000Parse *jpeg2000parse = GST_JPEG2000_PARSE (parse);
+  GstStructure *caps_struct = gst_caps_get_structure (caps, 0);
+
+  if (gst_structure_has_name (caps_struct, "image/jp2")) {
+    jpeg2000parse->codec_format = GST_JPEG2000_PARSE_JP2;
+  } else if (gst_structure_has_name (caps_struct, "image/x-j2c")) {
+    jpeg2000parse->codec_format = GST_JPEG2000_PARSE_J2C;
+  } else if (gst_structure_has_name (caps_struct, "image/x-jpc")) {
+    jpeg2000parse->codec_format = GST_JPEG2000_PARSE_JPC;
+  }
+
+  return TRUE;
+}
+
+static gboolean
+gst_jpeg2000_parse_event (GstBaseParse * parse, GstEvent * event)
+{
+  gboolean res = GST_BASE_PARSE_CLASS (parent_class)->sink_event (parse, event);
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_FLUSH_STOP:
+      gst_base_parse_set_min_frame_size (parse,
+          GST_JPEG2000_PARSE_MIN_FRAME_SIZE);
+      break;
+    default:
+      break;
+  }
+  return res;
+}
+
+static GstFlowReturn
+gst_jpeg2000_parse_handle_frame (GstBaseParse * parse,
+    GstBaseParseFrame * frame, gint * skipsize)
+{
+  GstJPEG2000Parse *jpeg2000parse = GST_JPEG2000_PARSE (parse);
+  GstMapInfo map;
+  GstByteReader reader;
+  GstFlowReturn ret = GST_FLOW_OK;
+  guint eoc_offset = 0;
+  GstCaps *current_caps = NULL;
+  GstStructure *current_caps_struct = NULL;
+  GstJPEG2000Colorspace colorspace = GST_JPEG2000_COLORSPACE_NONE;
+  guint x0, y0, x1, y1;
+  guint width = 0, height = 0;
+  guint8 dx[GST_JPEG2000_PARSE_MAX_SUPPORTED_COMPONENTS];
+  guint8 dy[GST_JPEG2000_PARSE_MAX_SUPPORTED_COMPONENTS];
+  guint16 numcomps;
+  guint16 compno;
+  GstJPEG2000Sampling parsed_sampling = GST_JPEG2000_SAMPLING_NONE;
+  GstJPEG2000Sampling sink_sampling = GST_JPEG2000_SAMPLING_NONE;
+  GstJPEG2000Sampling source_sampling = GST_JPEG2000_SAMPLING_NONE;
+  guint magic_offset = 0;
+  guint j2c_box_id_offset = 0;
+  guint num_prefix_bytes = 0;   /* number of bytes to skip before actual code stream */
+  GstCaps *src_caps = NULL;
+  guint frame_size = 0;
+  gboolean is_j2c = jpeg2000parse->codec_format == GST_JPEG2000_PARSE_J2C;
+
+  if (!gst_buffer_map (frame->buffer, &map, GST_MAP_READ)) {
+    GST_ERROR_OBJECT (jpeg2000parse, "Unable to map buffer");
+    return GST_FLOW_ERROR;
+  }
+
+  gst_byte_reader_init (&reader, map.data, map.size);
+  num_prefix_bytes = GST_JPEG2000_MARKER_SIZE;
+
+  if (is_j2c) {
+    num_prefix_bytes +=
+        GST_JPEG2000_JP2_SIZE_OF_BOX_LEN + GST_JPEG2000_JP2_SIZE_OF_BOX_ID;
+    /* check for "jp2c" */
+    j2c_box_id_offset = gst_byte_reader_masked_scan_uint32 (&reader, 0xffffffff,
+        GST_MAKE_FOURCC ('j', 'p', '2', 'c'), 0,
+        gst_byte_reader_get_remaining (&reader));
+
+    if (j2c_box_id_offset == -1) {
+      GST_ELEMENT_ERROR (jpeg2000parse, STREAM, DECODE, NULL,
+          ("Missing contiguous code stream box for j2c stream"));
+      ret = GST_FLOW_ERROR;
+      goto beach;
+    }
+  }
+
+  /* Look for magic. If found, skip to beginning of frame */
+  magic_offset = gst_byte_reader_masked_scan_uint32 (&reader, 0xffffffff,
+      GST_JPEG2000_PARSE_J2K_MAGIC, 0, gst_byte_reader_get_remaining (&reader));
+  if (magic_offset == -1) {
+    *skipsize = gst_byte_reader_get_size (&reader) - num_prefix_bytes;
+    goto beach;
+  }
+
+  /* see if we need to skip any bytes at beginning of frame */
+  GST_DEBUG_OBJECT (jpeg2000parse, "Found magic at offset = %d", magic_offset);
+  if (magic_offset > 0) {
+    *skipsize = magic_offset;
+    /* J2C has 8 bytes preceding J2K magic */
+    if (is_j2c)
+      *skipsize -= GST_JPEG2000_PARSE_SIZE_OF_J2C_PREFIX_BYTES;
+    if (*skipsize > 0)
+      goto beach;
+  }
+
+  if (is_j2c) {
+    /* sanity check on box id offset */
+    if (j2c_box_id_offset + GST_JPEG2000_JP2_SIZE_OF_BOX_ID != magic_offset) {
+      GST_ELEMENT_ERROR (jpeg2000parse, STREAM, DECODE, NULL,
+          ("Corrupt contiguous code stream box for j2c stream"));
+      ret = GST_FLOW_ERROR;
+      goto beach;
+    }
+
+    /* check that we have enough bytes for the J2C box length */
+    if (j2c_box_id_offset < GST_JPEG2000_JP2_SIZE_OF_BOX_LEN) {
+      *skipsize = gst_byte_reader_get_size (&reader) - num_prefix_bytes;
+      goto beach;
+    }
+
+    if (!gst_byte_reader_skip (&reader,
+            j2c_box_id_offset - GST_JPEG2000_JP2_SIZE_OF_BOX_LEN))
+      goto beach;
+
+    /* read the box length, and adjust num_prefix_bytes accordingly  */
+    if (!gst_byte_reader_get_uint32_be (&reader, &frame_size))
+      goto beach;
+    num_prefix_bytes -= GST_JPEG2000_JP2_SIZE_OF_BOX_LEN;
+
+    /* bail out if not enough data for frame */
+    if ((gst_byte_reader_get_size (&reader) < frame_size))
+      goto beach;
+  }
+
+  /* 2 to skip marker size, and another 2 to skip rsiz field */
+  if (!gst_byte_reader_skip (&reader, num_prefix_bytes + 2 + 2))
+    goto beach;
+
+  if (!gst_byte_reader_get_uint32_be (&reader, &x1))
+    goto beach;
+
+  if (!gst_byte_reader_get_uint32_be (&reader, &y1))
+    goto beach;
+
+  if (!gst_byte_reader_get_uint32_be (&reader, &x0))
+    goto beach;
+
+  if (!gst_byte_reader_get_uint32_be (&reader, &y0))
+    goto beach;
+
+  /* sanity check on image dimensions */
+  if (x1 < x0 || y1 < y0) {
+    GST_ELEMENT_ERROR (jpeg2000parse, STREAM, DECODE, NULL,
+        ("Nonsensical image dimensions %d,%d,%d,%d", x0, y0, x1, y1));
+    ret = GST_FLOW_ERROR;
+    goto beach;
+  }
+
+  width = x1 - x0;
+  height = y1 - y0;
+
+  GST_DEBUG_OBJECT (jpeg2000parse, "Parsed image dimensions %d,%d", width,
+      height);
+
+  /* skip tile dimensions */
+  if (!gst_byte_reader_skip (&reader, 4 * 4))
+    goto beach;
+
+  /* read number of components */
+  if (!gst_byte_reader_get_uint16_be (&reader, &numcomps))
+    goto beach;
+
+  if (numcomps == 2 || numcomps > GST_JPEG2000_PARSE_MAX_SUPPORTED_COMPONENTS) {
+    GST_ELEMENT_ERROR (jpeg2000parse, STREAM, DECODE, NULL,
+        ("Unsupported number of components %d", numcomps));
+    ret = GST_FLOW_NOT_NEGOTIATED;
+    goto beach;
+  }
+
+  current_caps = gst_pad_get_current_caps (GST_BASE_PARSE_SINK_PAD (parse));
+  if (!current_caps) {
+    GST_ERROR_OBJECT (jpeg2000parse, "Unable to get current caps");
+    ret = GST_FLOW_NOT_NEGOTIATED;
+    goto beach;
+  }
+
+  current_caps_struct = gst_caps_get_structure (current_caps, 0);
+  if (!current_caps_struct) {
+    GST_ERROR_OBJECT (jpeg2000parse,
+        "Unable to get structure of current caps struct");
+    ret = GST_FLOW_NOT_NEGOTIATED;
+    goto beach;
+  }
+
+  colorspace =
+      gst_jpeg2000_colorspace_from_string (gst_structure_get_string
+      (current_caps_struct, "colorspace"));
+  sink_sampling =
+      gst_jpeg2000_sampling_from_string (gst_structure_get_string
+      (current_caps_struct, "sampling"));
+
+  for (compno = 0; compno < numcomps; ++compno) {
+
+    /* skip Ssiz (precision and signed/unsigned bit )  */
+    if (!gst_byte_reader_skip (&reader, 1))
+      goto beach;
+
+    if (!gst_byte_reader_get_uint8 (&reader, dx + compno))
+      goto beach;
+
+    if (!gst_byte_reader_get_uint8 (&reader, dy + compno))
+      goto beach;
+
+    GST_DEBUG_OBJECT (jpeg2000parse,
+        "Parsed sub-sampling %d,%d for component %d", dx[compno], dy[compno],
+        compno);
+  }
+
+  /*** sanity check on sub-sampling *****/
+  if (dx[0] != 1 || dy[0] != 1) {
+    GST_WARNING_OBJECT (jpeg2000parse, "Sub-sampled luma channel");
+  }
+  if (dx[1] != dx[2] || dy[1] != dy[2]) {
+    GST_WARNING_OBJECT (jpeg2000parse,
+        "Chroma channel sub-sampling factors are not equal");
+  }
+  for (compno = 0; compno < numcomps; ++compno) {
+    if (colorspace != GST_JPEG2000_COLORSPACE_NONE
+        && (colorspace != GST_JPEG2000_COLORSPACE_YUV)
+        && (dx[compno] > 1 || dy[compno] > 1)) {
+      GST_WARNING_OBJECT (jpeg2000parse,
+          "Sub-sampled RGB or monochrome color spaces");
+    }
+    if (sink_sampling != GST_JPEG2000_SAMPLING_NONE) {
+      guint8 dx_caps, dy_caps;
+      gst_jpeg2000_parse_get_subsampling (sink_sampling, &dx_caps, &dy_caps);
+      if (dx_caps != dx[compno] || dy_caps != dy[compno]) {
+        GstJPEG2000Colorspace inferred_colorspace =
+            GST_JPEG2000_COLORSPACE_NONE;
+        GST_WARNING_OBJECT (jpeg2000parse,
+            "Sink caps sub-sampling %d,%d for channel %d does not match stream sub-sampling %d,%d",
+            dx_caps, dy_caps, compno, dx[compno], dy[compno]);
+        /* try to guess correct color space */
+        if (gst_jpeg2000_sampling_is_mono (sink_sampling))
+          inferred_colorspace = GST_JPEG2000_COLORSPACE_GRAY;
+        else if (gst_jpeg2000_sampling_is_rgb (sink_sampling))
+          inferred_colorspace = GST_JPEG2000_COLORSPACE_RGB;
+        else if (gst_jpeg2000_sampling_is_yuv (sink_sampling))
+          inferred_colorspace = GST_JPEG2000_COLORSPACE_YUV;
+        else if (colorspace)
+          inferred_colorspace = colorspace;
+        if (inferred_colorspace != GST_JPEG2000_COLORSPACE_NONE) {
+          sink_sampling = GST_JPEG2000_SAMPLING_NONE;
+          colorspace = inferred_colorspace;
+          break;
+        } else {
+          /* unrecognized sink_sampling and no colorspace */
+          GST_ERROR_OBJECT (jpeg2000parse,
+              "Unrecognized sink sampling field and no sink colorspace field");
+          ret = GST_FLOW_NOT_NEGOTIATED;
+          goto beach;
+        }
+      }
+    }
+  }
+  /*************************************/
+
+  /* if colorspace is present, we can work out the parsed_sampling field */
+  if (colorspace != GST_JPEG2000_COLORSPACE_NONE) {
+    if (colorspace == GST_JPEG2000_COLORSPACE_YUV) {
+      if (numcomps == 4) {
+        guint i;
+        parsed_sampling = GST_JPEG2000_SAMPLING_YBRA4444_EXT;
+        for (i = 0; i < 4; ++i) {
+          if (dx[i] > 1 || dy[i] > 1) {
+            GST_WARNING_OBJECT (jpeg2000parse, "Sub-sampled YUVA images");
+          }
+        }
+      } else if (numcomps == 3) {
+        /* use sub-sampling from U chroma channel */
+        if (dx[1] == 1 && dy[1] == 1) {
+          parsed_sampling = GST_JPEG2000_SAMPLING_YBR444;
+        } else if (dx[1] == 2 && dy[1] == 2) {
+          parsed_sampling = GST_JPEG2000_SAMPLING_YBR420;
+        } else if (dx[1] == 4 && dy[1] == 2) {
+          parsed_sampling = GST_JPEG2000_SAMPLING_YBR410;
+        } else if (dx[1] == 2 && dy[1] == 1) {
+          parsed_sampling = GST_JPEG2000_SAMPLING_YBR422;
+        } else {
+          GST_WARNING_OBJECT (jpeg2000parse,
+              "Unsupported sub-sampling factors %d,%d", dx[1], dy[1]);
+          /* best effort */
+          parsed_sampling = GST_JPEG2000_SAMPLING_YBR444;
+        }
+      }
+    } else if (colorspace == GST_JPEG2000_COLORSPACE_GRAY) {
+      parsed_sampling = GST_JPEG2000_SAMPLING_GRAYSCALE;
+    } else {
+      parsed_sampling =
+          (numcomps ==
+          4) ? GST_JPEG2000_SAMPLING_RGBA : GST_JPEG2000_COLORSPACE_RGB;
+    }
+  } else {
+    if (gst_jpeg2000_sampling_is_mono (sink_sampling)) {
+      colorspace = GST_JPEG2000_COLORSPACE_GRAY;
+    } else if (gst_jpeg2000_sampling_is_rgb (sink_sampling)) {
+      colorspace = GST_JPEG2000_COLORSPACE_RGB;
+    } else {
+      /* best effort */
+      colorspace = GST_JPEG2000_COLORSPACE_YUV;
+    }
+  }
+
+  /* now we can set the source caps, if something has changed */
+  source_sampling =
+      sink_sampling !=
+      GST_JPEG2000_SAMPLING_NONE ? sink_sampling : parsed_sampling;
+  if (width != jpeg2000parse->width || height != jpeg2000parse->height
+      || jpeg2000parse->sampling != source_sampling
+      || jpeg2000parse->colorspace != colorspace) {
+    gint fr_num = 0, fr_denom = 0;
+
+    jpeg2000parse->width = width;
+    jpeg2000parse->height = height;
+    jpeg2000parse->sampling = source_sampling;
+    jpeg2000parse->colorspace = colorspace;
+
+    src_caps =
+        gst_caps_new_simple (gst_structure_get_name (current_caps_struct),
+        "width", G_TYPE_INT, width, "height", G_TYPE_INT, height,
+        "colorspace", G_TYPE_STRING,
+        gst_jpeg2000_colorspace_to_string (colorspace), "sampling",
+        G_TYPE_STRING, gst_jpeg2000_sampling_to_string (source_sampling), NULL);
+
+    if (gst_structure_get_fraction (current_caps_struct, "framerate", &fr_num,
+            &fr_denom)) {
+      gst_caps_set_simple (src_caps, "framerate", GST_TYPE_FRACTION, fr_num,
+          fr_denom, NULL);
+    } else {
+      GST_WARNING_OBJECT (jpeg2000parse, "No framerate set");
+    }
+    if (!gst_pad_set_caps (GST_BASE_PARSE_SRC_PAD (parse), src_caps)) {
+      GST_ERROR_OBJECT (jpeg2000parse, "Unable to set source caps");
+      ret = GST_FLOW_NOT_NEGOTIATED;
+      gst_caps_unref (src_caps);
+      goto beach;
+    }
+    gst_caps_unref (src_caps);
+  }
+  /*************************************************/
+
+  /* look for EOC to mark frame end */
+  /* look for EOC end of codestream marker  */
+  eoc_offset = gst_byte_reader_masked_scan_uint32 (&reader, 0x0000ffff,
+      0xFFD9, 0, gst_byte_reader_get_remaining (&reader));
+
+  if (eoc_offset != -1) {
+    /* add 4 for eoc marker and eoc marker size */
+    guint eoc_frame_size = gst_byte_reader_get_pos (&reader) + eoc_offset + 4;
+    GST_DEBUG_OBJECT (jpeg2000parse,
+        "Found EOC at offset = %d, frame size = %d", eoc_offset,
+        eoc_frame_size);
+
+    /* bail out if not enough data for frame */
+    if (gst_byte_reader_get_size (&reader) < eoc_frame_size)
+      goto beach;
+
+    if (frame_size && frame_size != eoc_frame_size) {
+      GST_WARNING_OBJECT (jpeg2000parse,
+          "Frame size %d from contiguous code size does not equal frame size %d signalled by eoc",
+          frame_size, eoc_frame_size);
+    }
+    frame_size = eoc_frame_size;
+  }
+
+  /* clean up and finish frame */
+  if (current_caps)
+    gst_caps_unref (current_caps);
+  gst_buffer_unmap (frame->buffer, &map);
+  return gst_base_parse_finish_frame (parse, frame, frame_size);
+
+beach:
+  if (current_caps)
+    gst_caps_unref (current_caps);
+  gst_buffer_unmap (frame->buffer, &map);
+  return ret;
+}
diff --git a/gst/videoparsers/gstjpeg2000parse.h b/gst/videoparsers/gstjpeg2000parse.h
new file mode 100644
index 0000000..93236db
--- /dev/null
+++ b/gst/videoparsers/gstjpeg2000parse.h
@@ -0,0 +1,79 @@
+/* GStreamer JPEG 2000 Parser
+ * Copyright (C) <2016> Grok Image Compression Inc.
+ *  @author Aaron Boxer <boxerab@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_JPEG2000_PARSE_H__
+#define __GST_JPEG2000_PARSE_H__
+
+#include <gst/gst.h>
+#include <gst/base/gstadapter.h>
+#include <gst/base/gstbaseparse.h>
+#include <gst/codecparsers/gstjpeg2000sampling.h>
+
+G_BEGIN_DECLS
+#define GST_TYPE_JPEG2000_PARSE \
+  (gst_jpeg2000_parse_get_type())
+#define GST_JPEG2000_PARSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_JPEG2000_PARSE,GstJPEG2000Parse))
+#define GST_JPEG2000_PARSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_JPEG2000_PARSE,GstJPEG2000ParseClass))
+#define GST_IS_JPEG2000_PARSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_JPEG2000_PARSE))
+#define GST_IS_JPEG2000_PARSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_JPEG2000_PARSE))
+    GType gst_jpeg2000_parse_get_type (void);
+
+typedef struct _GstJPEG2000Parse GstJPEG2000Parse;
+typedef struct _GstJPEG2000ParseClass GstJPEG2000ParseClass;
+
+#define GST_JPEG2000_PARSE_MAX_SUPPORTED_COMPONENTS 4
+
+typedef enum
+{
+  GST_JPEG2000_PARSE_NO_CODEC,
+  GST_JPEG2000_PARSE_JPC,       /* jpeg 2000 code stream */
+  GST_JPEG2000_PARSE_J2C,       /* jpeg 2000 contiguous code stream box plus code stream */
+  GST_JPEG2000_PARSE_JP2,       /* jpeg 2000 part I file format */
+
+} GstJPEG2000ParseFormats;
+
+
+struct _GstJPEG2000Parse
+{
+  GstBaseParse baseparse;
+
+
+  guint width;
+  guint height;
+
+  GstJPEG2000Sampling sampling;
+  GstJPEG2000Colorspace colorspace;
+  GstJPEG2000ParseFormats codec_format;
+};
+
+struct _GstJPEG2000ParseClass
+{
+  GstBaseParseClass parent_class;
+
+
+};
+
+
+G_END_DECLS
+#endif
diff --git a/gst/videoparsers/gstmpeg4videoparse.c b/gst/videoparsers/gstmpeg4videoparse.c
index a1fd3b2..83f6f94 100644
--- a/gst/videoparsers/gstmpeg4videoparse.c
+++ b/gst/videoparsers/gstmpeg4videoparse.c
@@ -154,10 +154,8 @@
           0, 3600, DEFAULT_CONFIG_INTERVAL,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "MPEG 4 video elementary stream parser", "Codec/Parser/Video",
diff --git a/gst/videoparsers/gstmpegvideoparse.c b/gst/videoparsers/gstmpegvideoparse.c
index bf71a3e..6896339 100644
--- a/gst/videoparsers/gstmpegvideoparse.c
+++ b/gst/videoparsers/gstmpegvideoparse.c
@@ -146,10 +146,8 @@
           "Split frame when encountering GOP", DEFAULT_PROP_GOP_SPLIT,
           G_PARAM_CONSTRUCT | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "MPEG video elementary stream parser",
diff --git a/gst/videoparsers/gstpngparse.c b/gst/videoparsers/gstpngparse.c
index e9d0768..6df53bd 100644
--- a/gst/videoparsers/gstpngparse.c
+++ b/gst/videoparsers/gstpngparse.c
@@ -63,10 +63,8 @@
 
   GST_DEBUG_CATEGORY_INIT (png_parse_debug, "pngparse", 0, "png parser");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
   gst_element_class_set_static_metadata (gstelement_class, "PNG parser",
       "Codec/Parser/Video/Image",
       "Parses PNG files", "Olivier Crete <olivier.crete@collabora.com>");
diff --git a/gst/videoparsers/gstvc1parse.c b/gst/videoparsers/gstvc1parse.c
index e72f4f6..915e0fc 100644
--- a/gst/videoparsers/gstvc1parse.c
+++ b/gst/videoparsers/gstvc1parse.c
@@ -222,10 +222,8 @@
 
   gobject_class->finalize = gst_vc1_parse_finalize;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&srctemplate));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (element_class, &srctemplate);
+  gst_element_class_add_static_pad_template (element_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (element_class, "VC1 parser",
       "Codec/Parser/Converter/Video",
diff --git a/gst/videoparsers/plugin.c b/gst/videoparsers/plugin.c
index 79d1df6..2deddf4 100644
--- a/gst/videoparsers/plugin.c
+++ b/gst/videoparsers/plugin.c
@@ -28,6 +28,7 @@
 #include "gstmpegvideoparse.h"
 #include "gstmpeg4videoparse.h"
 #include "gstpngparse.h"
+#include "gstjpeg2000parse.h"
 #include "gstvc1parse.h"
 #include "gsth265parse.h"
 
@@ -48,6 +49,8 @@
       GST_RANK_PRIMARY + 1, GST_TYPE_MPEG4VIDEO_PARSE);
   ret |= gst_element_register (plugin, "pngparse",
       GST_RANK_PRIMARY, GST_TYPE_PNG_PARSE);
+  ret |= gst_element_register (plugin, "jpeg2000parse",
+      GST_RANK_PRIMARY, GST_TYPE_JPEG2000_PARSE);
   ret |= gst_element_register (plugin, "h265parse",
       GST_RANK_SECONDARY, GST_TYPE_H265_PARSE);
   ret |= gst_element_register (plugin, "vc1parse",
diff --git a/gst/videosignal/Makefile.in b/gst/videosignal/Makefile.in
index 2561d03..54fe672 100644
--- a/gst/videosignal/Makefile.in
+++ b/gst/videosignal/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/vmnc/Makefile.in b/gst/vmnc/Makefile.in
index c0c3e00..1d80e67 100644
--- a/gst/vmnc/Makefile.in
+++ b/gst/vmnc/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/vmnc/vmncdec.c b/gst/vmnc/vmncdec.c
index 5504302..e8d498c 100644
--- a/gst/vmnc/vmncdec.c
+++ b/gst/vmnc/vmncdec.c
@@ -93,13 +93,12 @@
   decoder_class->set_format = gst_vmnc_dec_set_format;
   decoder_class->sink_event = gst_vmnc_dec_sink_event;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&vmnc_dec_src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&vmnc_dec_sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &vmnc_dec_src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &vmnc_dec_sink_factory);
   gst_element_class_set_static_metadata (gstelement_class, "VMnc video decoder",
-      "Codec/Decoder/Video",
-      "Decode VmWare video to raw (RGB) video",
+      "Codec/Decoder/Video", "Decode VmWare video to raw (RGB) video",
       "Michael Smith <msmith@xiph.org>");
 
   GST_DEBUG_CATEGORY_INIT (vmnc_debug, "vmncdec", 0, "VMnc decoder");
diff --git a/gst/y4m/Makefile.in b/gst/y4m/Makefile.in
index eb19efb..e861810 100644
--- a/gst/y4m/Makefile.in
+++ b/gst/y4m/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/y4m/gsty4mdec.c b/gst/y4m/gsty4mdec.c
index c6b2065..30966b0 100644
--- a/gst/y4m/gsty4mdec.c
+++ b/gst/y4m/gsty4mdec.c
@@ -106,10 +106,10 @@
 
   element_class->change_state = GST_DEBUG_FUNCPTR (gst_y4m_dec_change_state);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_y4m_dec_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_y4m_dec_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_y4m_dec_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_y4m_dec_sink_template);
 
   gst_element_class_set_static_metadata (element_class,
       "YUV4MPEG demuxer/decoder", "Codec/Demuxer",
diff --git a/gst/yadif/Makefile.in b/gst/yadif/Makefile.in
index 724c7f7..4a54932 100644
--- a/gst/yadif/Makefile.in
+++ b/gst/yadif/Makefile.in
@@ -300,6 +300,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -515,6 +517,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -641,8 +645,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -687,6 +689,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/gst/yadif/gstyadif.c b/gst/yadif/gstyadif.c
index 1dcf2ca..b75894e 100644
--- a/gst/yadif/gstyadif.c
+++ b/gst/yadif/gstyadif.c
@@ -131,10 +131,10 @@
 
   /* Setting up pads and setting metadata should be moved to
      base_class_init if you intend to subclass this class. */
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
-      gst_static_pad_template_get (&gst_yadif_sink_template));
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
-      gst_static_pad_template_get (&gst_yadif_src_template));
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+      &gst_yadif_sink_template);
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+      &gst_yadif_src_template);
 
   gst_element_class_set_static_metadata (GST_ELEMENT_CLASS (klass),
       "YADIF deinterlacer", "Video/Filter",
diff --git a/m4/Makefile.in b/m4/Makefile.in
index 83c49f2..33f94dd 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -216,6 +216,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -431,6 +433,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -557,8 +561,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -603,6 +605,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/pkgconfig/Makefile.in b/pkgconfig/Makefile.in
index d70331d..af727b5 100644
--- a/pkgconfig/Makefile.in
+++ b/pkgconfig/Makefile.in
@@ -278,6 +278,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -493,6 +495,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -619,8 +623,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -665,6 +667,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/pkgconfig/gstreamer-player-uninstalled.pc.in b/pkgconfig/gstreamer-player-uninstalled.pc.in
index 5a495f4..5c2c0d7 100644
--- a/pkgconfig/gstreamer-player-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-player-uninstalled.pc.in
@@ -5,7 +5,7 @@
 
 Name: GStreamer Player, Uninstalled
 Description: GStreamer Player convenience library, uninstalled
-Requires: gstreamer-@GST_API_VERSION@
+Requires: gstreamer-@GST_API_VERSION@ gstreamer-video-@GST_API_VERSION@
 Version: @VERSION@
 Libs: -L${libdir} -lgstplayer-@GST_API_VERSION@
 Cflags: -I${includedir}
diff --git a/pkgconfig/gstreamer-player.pc.in b/pkgconfig/gstreamer-player.pc.in
index f296e7f..6400261 100644
--- a/pkgconfig/gstreamer-player.pc.in
+++ b/pkgconfig/gstreamer-player.pc.in
@@ -5,7 +5,7 @@
 
 Name: GStreamer Player
 Description: GStreamer Player convenience library
-Requires: gstreamer-@GST_API_VERSION@
+Requires: gstreamer-@GST_API_VERSION@ gstreamer-video-@GST_API_VERSION@
 Version: @VERSION@
 Libs: -L${libdir} -lgstplayer-@GST_API_VERSION@
 Cflags: -I${includedir}
diff --git a/po/af.gmo b/po/af.gmo
index 1cd8b43..11b3633 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index d9d7032..f27267b 100644
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins 0.7.6\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -16,6 +16,12 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -130,11 +136,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/az.gmo b/po/az.gmo
index b2fd744..6167267 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index b869900..af87a1f 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-0.8.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -17,6 +17,12 @@
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.0.2\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -131,11 +137,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/bg.gmo b/po/bg.gmo
index 06ef3b2..928df85 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 7af8a32..a5f8f1d 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -18,6 +18,12 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "форматът не е бил уточнен преди извикване на функцията за получаване"
 
@@ -136,11 +142,25 @@
 "Файлът с настройките на цифровото видеоръзпръскване (DVB) „%s“ не може да "
 "бъде прочетен"
 
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
+msgstr "Липсват данни за канала за цифрово видеоръзпръскване (DVB) „%s“"
+
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Липсват данни за канала за цифрово видеоръзпръскване (DVB) „%s“"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Липсват данни за канала за цифрово видеоръзпръскване (DVB) „%s“"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+"Файлът с настройките на цифровото видеоръзпръскване (DVB) не може да бъде "
+"открит"
+
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 "Файлът с настройките на цифровото видеоръзпръскване (DVB) не съдържа никакви "
 "канали"
-
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
-msgstr "Липсват данни за канала за цифрово видеоръзпръскване (DVB) „%s“"
diff --git a/po/ca.gmo b/po/ca.gmo
index 0cdf0e2..814b45b 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 6813ce2..309de63 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -19,6 +19,12 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -132,11 +138,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/cs.gmo b/po/cs.gmo
index f59177b..9e4fd8f 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 7747c7f..378a991 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -22,6 +22,12 @@
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 "X-Generator: Gtranslator 2.91.7\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "formát nebyl vyjednán před získáním funkce"
 
@@ -138,13 +144,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Nelze načíst soubor s nastavením kanálu DVB: %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "Soubor s nastavením kanálů DVB neobsahuje žádné kanály"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Nelze najít podrobnosti ke kanálu DVB %s"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Nelze najít podrobnosti ke kanálu DVB %s"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Nelze najít podrobnosti ke kanálu DVB %s"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Nelze najít soubor s nastavením kanálů DVB"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "Soubor s nastavením kanálů DVB neobsahuje žádné kanály"
+
 #~ 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 6a6e56a..20e527b 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 0b9e8de..44bb1cc 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -17,6 +17,12 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "format blev ikke forhandlet før hent funktion"
 
@@ -130,13 +136,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Kunne ikke indlæse DVB-kanalens konfigurationsfil: %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "DVB-kanalens konfigurationsfil indeholder ikke nogen kanaler"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Kunne ikke finde detaljer for DVB-kanalen %s"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Kunne ikke finde detaljer for DVB-kanalen %s"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Kunne ikke finde detaljer for DVB-kanalen %s"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Kunne ikke finde DVB-kanalens konfigurationsfil"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "DVB-kanalens konfigurationsfil indeholder ikke nogen kanaler"
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "standardlydkanal for GStreamers lydhændelser"
 
diff --git a/po/de.gmo b/po/de.gmo
index d350e28..4b15447 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index bf3d4b3..1d773e6 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -19,6 +19,12 @@
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Poedit 1.8.5\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "das Format wurde vor der get-Funktion nicht ausgehandelt"
 
@@ -140,13 +146,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "DVB Kanal-Konfigurationsdatei konnte nicht geladen werden: %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "DVB Kanal-Konfigurationsdatei enthält keine Kanäle"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Details zu DVB-Kanal %s konnten nicht gefunden werden"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Details zu DVB-Kanal %s konnten nicht gefunden werden"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Details zu DVB-Kanal %s konnten nicht gefunden werden"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "DVB Kanal-Konfigurationsdatei konnte nicht gefunden werden"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "DVB Kanal-Konfigurationsdatei enthält keine Kanäle"
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "Voreingestellte GStreamer Tonereignis-Audioziel"
 
diff --git a/po/el.gmo b/po/el.gmo
index 1ecde6d..959cf7e 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index fb77333..65e1597 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -19,6 +19,12 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n>1;\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -133,11 +139,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 78cb44b..ef22362 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 76b331e..798a6df 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins 0.8.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -15,6 +15,12 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -129,11 +135,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/eo.gmo b/po/eo.gmo
index 8c84246..f989a06 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index c24b016..84aac86 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -17,6 +17,12 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -130,11 +136,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/es.gmo b/po/es.gmo
index aa8f03a..ce56311 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index d23404d..7aa127c 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -17,6 +17,12 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -131,11 +137,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Configuración del canal del mezclador virtual"
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Configuración del canal del mezclador virtual"
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/eu.gmo b/po/eu.gmo
index 8eaeef1..4a954ac 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index c306105..88d618e 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -19,6 +19,12 @@
 "X-Generator: KBabel 1.11.4\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -131,11 +137,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/fi.gmo b/po/fi.gmo
index 534302d..cc023a9 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 8155237..1dccd65 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -22,6 +22,12 @@
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: KBabel 1.11.2\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -135,11 +141,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Näennäinen mikserikanava-asetus"
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Näennäinen mikserikanava-asetus"
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/fr.gmo b/po/fr.gmo
index 1412d1f..15f9aa6 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 67f38ab..da7045f 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -18,6 +18,12 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "Format non négocié avant l'appel de la fonction get"
 
@@ -134,13 +140,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Impossible de charger le fichier de configuration de canal DVB : %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "Le fichier de configuration de canal DVB ne contient aucun canal"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Impossible de trouver des informations sur le canal DVB %s"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Impossible de trouver des informations sur le canal DVB %s"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Impossible de trouver des informations sur le canal DVB %s"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Impossible de trouver le fichier de configuration de canal DVB"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "Le fichier de configuration de canal DVB ne contient aucun canal"
+
 #~ 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 7f9e1db..cedc61a 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 8a2bbb7..a205cf7 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -19,6 +19,12 @@
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Poedit-Language: galego\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -132,11 +138,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/gst-plugins-bad-1.0.pot b/po/gst-plugins-bad-1.0.pot
index f74921e..d8b99cb 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.8.2\n"
+"Project-Id-Version: gst-plugins-bad 1.9.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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,39 +16,47 @@
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ext/gl/gstgltestsrc.c:680
+#: ext/gl/gstgltestsrc.c:519
+msgid "failed to draw pattern"
+msgstr ""
+
+#: ext/gl/gstgltestsrc.c:520
+msgid "A GL error occured"
+msgstr ""
+
+#: ext/gl/gstgltestsrc.c:526
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
-#: ext/opencv/gsttemplatematch.cpp:188
+#: ext/opencv/gsttemplatematch.cpp:186
 msgid "OpenCV failed to load template image"
 msgstr ""
 
-#: ext/resindvd/resindvdsrc.c:362
+#: ext/resindvd/resindvdsrc.c:361
 msgid "Could not read title information for DVD."
 msgstr ""
 
-#: ext/resindvd/resindvdsrc.c:368
+#: ext/resindvd/resindvdsrc.c:367
 #, c-format
 msgid "Failed to open DVD device '%s'."
 msgstr ""
 
-#: ext/resindvd/resindvdsrc.c:374
+#: ext/resindvd/resindvdsrc.c:373
 msgid "Failed to set PGC based seeking."
 msgstr ""
 
-#: ext/resindvd/resindvdsrc.c:1165
+#: ext/resindvd/resindvdsrc.c:1164
 msgid ""
 "Could not read DVD. This may be because the DVD is encrypted and a DVD "
 "decryption library is not installed."
 msgstr ""
 
-#: ext/resindvd/resindvdsrc.c:1170 ext/resindvd/resindvdsrc.c:1179
+#: ext/resindvd/resindvdsrc.c:1169 ext/resindvd/resindvdsrc.c:1178
 msgid "Could not read DVD."
 msgstr ""
 
 #: ext/smoothstreaming/gstmssdemux.c:405
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:633
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:674
 msgid "This file contains no playable streams."
 msgstr ""
 
@@ -56,19 +64,19 @@
 msgid "Could not open sndfile stream for reading."
 msgstr ""
 
-#: ext/sndio/sndiosink.c:324 ext/sndio/sndiosrc.c:321
+#: ext/sndio/sndiosink.c:324 ext/sndio/sndiosrc.c:320
 msgid "Could not establish connection to sndio"
 msgstr ""
 
-#: ext/sndio/sndiosink.c:331 ext/sndio/sndiosrc.c:328
+#: ext/sndio/sndiosink.c:331 ext/sndio/sndiosrc.c:327
 msgid "Failed to query sndio capabilities"
 msgstr ""
 
-#: ext/sndio/sndiosink.c:424 ext/sndio/sndiosrc.c:422
+#: ext/sndio/sndiosink.c:424 ext/sndio/sndiosrc.c:421
 msgid "Could not configure sndio"
 msgstr ""
 
-#: ext/sndio/sndiosink.c:430 ext/sndio/sndiosrc.c:428
+#: ext/sndio/sndiosink.c:430 ext/sndio/sndiosrc.c:427
 msgid "Could not start sndio"
 msgstr ""
 
@@ -76,12 +84,12 @@
 msgid "Internal data flow error."
 msgstr ""
 
-#: gst/asfmux/gstasfmux.c:1832
+#: 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/gstdigitalzoom.c:282 gst/camerabin2/gstviewfinderbin.c:271
+#: gst/camerabin2/gstdigitalzoom.c:282 gst/camerabin2/gstviewfinderbin.c:270
 #, c-format
 msgid "Missing element '%s' - check your GStreamer installation."
 msgstr ""
@@ -94,22 +102,22 @@
 msgid "Digitalzoom element couldn't be created"
 msgstr ""
 
-#: gst/dvdspu/gstdvdspu.c:1040
+#: gst/dvdspu/gstdvdspu.c:1039
 msgid "Subpicture format was not configured before data flow"
 msgstr ""
 
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2656
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2712
 msgid "Failed to get fragment URL."
 msgstr ""
 
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2891
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3085
-#: gst/mpegtsdemux/mpegtsbase.c:1383 gst/mpegtsdemux/mpegtsbase.c:1387
-#: gst/nuvdemux/gstnuvdemux.c:736
+#: 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."
 msgstr ""
 
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3003
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3061
 msgid "Couldn't download fragments"
 msgstr ""
 
@@ -127,45 +135,60 @@
 msgid "Could not open file \"%s\" for writing."
 msgstr ""
 
-#: sys/dvb/gstdvbsrc.c:1564 sys/dvb/gstdvbsrc.c:1753
+#: sys/dvb/gstdvbsrc.c:1567 sys/dvb/gstdvbsrc.c:1780
 #, c-format
 msgid "Device \"%s\" does not exist."
 msgstr ""
 
-#: sys/dvb/gstdvbsrc.c:1568
+#: sys/dvb/gstdvbsrc.c:1571
 #, c-format
 msgid "Could not open frontend device \"%s\"."
 msgstr ""
 
-#: sys/dvb/gstdvbsrc.c:1582
+#: sys/dvb/gstdvbsrc.c:1590
 #, c-format
 msgid "Could not get settings from frontend device \"%s\"."
 msgstr ""
 
-#: sys/dvb/gstdvbsrc.c:1599
+#: sys/dvb/gstdvbsrc.c:1607
 #, c-format
 msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
 msgstr ""
 
-#: sys/dvb/gstdvbsrc.c:1757
+#: sys/dvb/gstdvbsrc.c:1784
 #, c-format
 msgid "Could not open file \"%s\" for reading."
 msgstr ""
 
-#: sys/dvb/parsechannels.c:165
+#: sys/dvb/parsechannels.c:336
 msgid "Couldn't find DVB channel configuration file"
 msgstr ""
 
-#: sys/dvb/parsechannels.c:168
+#: sys/dvb/parsechannels.c:339 sys/dvb/parsechannels.c:495
 #, c-format
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-#: sys/dvb/parsechannels.c:175
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr ""
-
-#: sys/dvb/parsechannels.c:449
+#: sys/dvb/parsechannels.c:348 sys/dvb/parsechannels.c:780
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr ""
+
+#: sys/dvb/parsechannels.c:358
+#, c-format
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#: sys/dvb/parsechannels.c:368
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#: sys/dvb/parsechannels.c:492
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+#: sys/dvb/parsechannels.c:502
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr ""
diff --git a/po/hr.gmo b/po/hr.gmo
index 849f303..54bbd5c 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index e56751c..94c54f2 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -19,6 +19,12 @@
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
 "X-Generator: Lokalize 2.0\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "format nije bio dogovoren prije ‘get’ funkcije"
 
@@ -137,12 +143,24 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Nije moguće učitati konfiguracijsku datoteku za DVB kanal: %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "Konfiguracijska datoteka za DVB kanal ne sadrži nijedan kanal"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Pojedinosti za DVB kanal %s nije moguće pronaći"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Pojedinosti za DVB kanal %s nije moguće pronaći"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Pojedinosti za DVB kanal %s nije moguće pronaći"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Konfiguracijsku datoteku za DVB kanal nije moguće pronaći"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "Konfiguracijska datoteka za DVB kanal ne sadrži nijedan kanal"
+
 #~ 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 e9abec8..4827a23 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 253815c..e5b7e0a 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -19,6 +19,12 @@
 "X-Generator: Lokalize 1.2\n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "a formátum nem lett egyeztetve a függvény lekérése előtt"
 
@@ -135,13 +141,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Nem sikerült betölteni a DVB-csatorna beállítófájlt: %s"
 
-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"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Nem találhatók a(z) %s DVB-csatorna részletei"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Nem találhatók a(z) %s DVB-csatorna részletei"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Nem találhatók a(z) %s DVB-csatorna részletei"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Nem található DVB-csatorna beállítófájl"
+
+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 "default GStreamer sound events audiosink"
 #~ msgstr "alapértelmezett GStreamer hangesemények audiosink"
 
diff --git a/po/id.gmo b/po/id.gmo
index 3cd21ba..35dcac0 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 85114e4..c05e78a 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -17,6 +17,12 @@
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.5.7\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -132,13 +138,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Tak bisa memuat berka konfigurasi kanal DVB: %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "Berkas konfigurasi kanal DVB tak memuat kanal apapun"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Tak bisa temukan rincian untuk kanal DVB %s"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Tak bisa temukan rincian untuk kanal DVB %s"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Tak bisa temukan rincian untuk kanal DVB %s"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Tak bisa temukan berkas konfigurasi kanal DVB"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "Berkas konfigurasi kanal DVB tak memuat kanal apapun"
+
 #~ 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 a340571..45fd955 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index b276fba..471c079 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -16,6 +16,12 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -128,11 +134,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/ja.gmo b/po/ja.gmo
index a90873b..7839bf2 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index fb5773b..c8b304a 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -17,6 +17,12 @@
 "X-Generator: Lokalize 0.3\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -131,11 +137,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "仮想ミックスチャンネル設定"
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "仮想ミックスチャンネル設定"
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/ky.gmo b/po/ky.gmo
index 1fb6886..3c91f43 100644
--- a/po/ky.gmo
+++ b/po/ky.gmo
Binary files differ
diff --git a/po/ky.po b/po/ky.po
index 8ab2235..9b05a5f 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -17,6 +17,12 @@
 "X-Poedit-Language: Kyrgyz\n"
 "X-Poedit-Country: KYRGYZSTAN\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -127,9 +133,21 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
diff --git a/po/lt.gmo b/po/lt.gmo
index 71eac18..ad45b89 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index d612f73..f50f38b 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -18,6 +18,12 @@
 "Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
 "%100<10 || n%100>=20) ? 1 : 2);\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -132,11 +138,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/lv.gmo b/po/lv.gmo
index 92ddbae..308d904 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index 63da751..287242f 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -22,6 +22,12 @@
 "2);\n"
 "X-Generator: Lokalize 1.5\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -137,13 +143,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Nevarēja ielādēt DVB kanāla konfigurācijas datni: %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "DVB kanāla konfigurācijas datne nesatur nevienu kanālu"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Nevarēja atrast sīkāku informāciju par DVB kanālu %s"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Nevarēja atrast sīkāku informāciju par DVB kanālu %s"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Nevarēja atrast sīkāku informāciju par DVB kanālu %s"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Nevarēja atrast DVB kanāla konfigurācijas datni"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "DVB kanāla konfigurācijas datne nesatur nevienu kanālu"
+
 #~ 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 3f6fed8..be30e96 100644
--- a/po/mt.gmo
+++ b/po/mt.gmo
Binary files differ
diff --git a/po/mt.po b/po/mt.po
index a10d92c..e432974 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -18,6 +18,12 @@
 "X-Poedit-SourceCharset: utf-8\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -131,11 +137,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Virtual mixer channel configuration"
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Virtual mixer channel configuration"
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/nb.gmo b/po/nb.gmo
index 258b3fd..a08df95 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 59f7566..2cccaf1 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -18,6 +18,12 @@
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.6.9\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "formatet ble ikke forhandlet før get-funksjon"
 
@@ -129,13 +135,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Kunne ikke finne DVB-kanalkonfigurasjonsfil: %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "DVB-kanalkonfigurasjonsfilen inneholder ingen kanaler"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Kunne ikke finne detaljer for DVB-kanal %s"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Kunne ikke finne detaljer for DVB-kanal %s"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Kunne ikke finne detaljer for DVB-kanal %s"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Kunne ikke finne DVB-kanal-konfigurasjonsfil"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "DVB-kanalkonfigurasjonsfilen inneholder ingen kanaler"
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "standard GStreamer lydhendelser-audiosink"
 
diff --git a/po/nl.gmo b/po/nl.gmo
index ea68798..4b9c60f 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 7427055..a1a1ba8 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -18,6 +18,12 @@
 "X-Generator: Lokalize 1.5\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "formaat is niet onderhandeld vóór get-functie"
 
@@ -134,13 +140,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Kon het instellingenbestand \"%s\" van het DVB-kanaal niet laden"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "Het instellingenbestand van het DVB-kanaal bevat geen kanalen"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Kon de details voor het DVB-kanaal %s niet vinden"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Kon de details voor het DVB-kanaal %s niet vinden"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Kon de details voor het DVB-kanaal %s niet vinden"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Kon het instellingenbestand van het DVB-kanaal niet vinden"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "Het instellingenbestand van het DVB-kanaal bevat geen kanalen"
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "standaard GStreamer audiosink voor geluidsgebeurtenissen"
 
diff --git a/po/or.gmo b/po/or.gmo
index 7ae6500..7411476 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 611edb5..7cd5f7c 100644
--- a/po/or.po
+++ b/po/or.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-0.8.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -17,6 +17,12 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -131,11 +137,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/pl.gmo b/po/pl.gmo
index 99a8880..a39855f 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index fd9f8f6..398bdfc 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -15,6 +15,12 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "format nie został wynegocjowany przed funkcją pobrania"
 
@@ -130,13 +136,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Nie udało się wczytać pliku konfiguracyjnego kanałów DVB: %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "Plik konfiguracyjny kanałów DVB nie zawiera żadnych kanałów"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Nie udało się odnaleźć szczegółów dla kanału DVB %s"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Nie udało się odnaleźć szczegółów dla kanału DVB %s"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Nie udało się odnaleźć szczegółów dla kanału DVB %s"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Nie udało się odnaleźć pliku konfiguracyjnego kanałów DVB"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "Plik konfiguracyjny kanałów DVB nie zawiera żadnych kanałów"
+
 #~ 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 0ff982c..3ee0c5d 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 297f4cd..7de69cc 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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."
@@ -19,6 +19,12 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "O formato não foi negociado antes da chamada da função"
 
@@ -137,13 +143,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Não foi possível carregar o arquivo de configuração de canal DVB: %s"
 
-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"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Não foi possível encontrar detalhes para o canal DVB %s"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Não foi possível encontrar detalhes para o canal DVB %s"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Não foi possível encontrar detalhes para o canal DVB %s"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Não foi possível encontrar o arquivo de configuração de canal DVB"
+
+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 "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 33460c5..9e47748 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 7aa2d0b..e96f5ad 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -17,6 +17,12 @@
 "20)) ? 1 : 2);;\n"
 "X-Generator: Virtaal 0.6.1\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -129,11 +135,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/ru.gmo b/po/ru.gmo
index bf22fe4..967c791 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 8a1510b..35eb3aa 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -20,6 +20,12 @@
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "перед функцией получения не был согласован формат"
 
@@ -134,13 +140,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Не удалось загрузить файл настройки каналов DVB: %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "Файл настройки каналов DVB не содержит каналов"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Не удалось найти настройки DVB-канала %s"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Не удалось найти настройки DVB-канала %s"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Не удалось найти настройки DVB-канала %s"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Не удалось найти файл настройки каналов DVB"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "Файл настройки каналов DVB не содержит каналов"
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "GStreamer audiosink по умолчанию для звуковых событий"
 
diff --git a/po/sk.gmo b/po/sk.gmo
index 4dd44c7..c004936 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index 5a3eea1..376710d 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -20,6 +20,12 @@
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Poedit 1.6.10\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "formát nebol dohodnutý pred funkciou stiahnutia"
 
@@ -135,13 +141,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Nepodarilo sa načítať konfiguračný súbor DVB kanálu: %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "Konfiguračný súbor DVB kanála neobsahuje žiadne kanály"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Nepodarilo sa nájsť podrobnosti o DVB kanáli %s"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Nepodarilo sa nájsť podrobnosti o DVB kanáli %s"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Nepodarilo sa nájsť podrobnosti o DVB kanáli %s"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Nepodarilo sa nájsť konfiguračný súbor DVB kanálu"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "Konfiguračný súbor DVB kanála neobsahuje žiadne kanály"
+
 #~ 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 f605561..5d98ad1 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index 9720569..f448710 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -22,6 +22,12 @@
 "X-Poedit-Country: SLOVENIA\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -135,11 +141,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/sq.gmo b/po/sq.gmo
index 0096564..3aa0c60 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index 3222b8b..ece9068 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -15,6 +15,12 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -129,11 +135,23 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-msgid "DVB channel configuration file doesn't contain any channels"
+#, c-format
+msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
 #, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "No properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr ""
+
+#, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr ""
+
+msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
 #~ msgid "Could not write to file \"%s\"."
diff --git a/po/sr.gmo b/po/sr.gmo
index 7e82e22..609d562 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index ebfabfb..7c6f7fa 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+0300\n"
 "PO-Revision-Date: 2015-12-24 11:34+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
@@ -18,6 +18,12 @@
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "запис није договорен пре функције добављања (get)"
 
@@ -131,13 +137,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Не могу да учитам датотеку подешавања ДВБ канала: %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "Датотека подешавања ДВБ канала не садржи ниједан канал"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Не могу да пронађем податке за ДВБ канал „%s“"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Не могу да пронађем податке за ДВБ канал „%s“"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Не могу да пронађем податке за ДВБ канал „%s“"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Не могу да пронађем датотеку подешавања ДВБ канала"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "Датотека подешавања ДВБ канала не садржи ниједан канал"
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "основни аудио усклађивач звучних догађаја Гстримера"
 
diff --git a/po/sv.gmo b/po/sv.gmo
index 8343847..cfd1a2d 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index aac7afb..d255206 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -18,6 +18,12 @@
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.8.6\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "formatet förhandlades inte fram innan hämtfunktionen"
 
@@ -129,13 +135,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Kunde ej ladda konfigurationsfil för DVB-kanal: %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "Konfigurationsfil för DVB-kanal innehåller inga kanaler"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Kunde ej hitta detaljer för DVB-kanal %s"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Kunde ej hitta detaljer för DVB-kanal %s"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Kunde ej hitta detaljer för DVB-kanal %s"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Kunde ej hitta konfigurationsfil för DVB-kanal"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "Konfigurationsfil för DVB-kanal innehåller inga kanaler"
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "standard GStreamer-ljudutgång för ljudhändelser"
 
diff --git a/po/tr.gmo b/po/tr.gmo
index d226c00..d98a6a2 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 64a5756..ebd6553 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -18,6 +18,12 @@
 "X-Generator: Lokalize 1.5\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "get fonksiyonundan önce biçim görüşülemedi"
 
@@ -131,13 +137,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "DVB kanal yapılandırma dosyası yüklenemedi: %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "DVB kanal yapılandırma dosyası herhangi bir kanal içermiyor"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "DVB kanalı %s için ayrıntılar bulunamadı"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "DVB kanalı %s için ayrıntılar bulunamadı"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "DVB kanalı %s için ayrıntılar bulunamadı"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "DVB kanal yapılandırma dosyası bulunamadı"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "DVB kanal yapılandırma dosyası herhangi bir kanal içermiyor"
+
 #~ msgid "Couldn't get the Manifest's URI"
 #~ msgstr "Manifest URI alınamadı"
 
diff --git a/po/uk.gmo b/po/uk.gmo
index 04e736f..9d8d2f8 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index fba0fc5..cba3fad 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -20,6 +20,12 @@
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Lokalize 1.5\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "формат не було узгоджено до виклику функції get"
 
@@ -139,13 +145,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Не вдалося завантажити файл налаштувань каналів DVB: %s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "У файлі налаштувань каналів DVB не міститься даних щодо жодного каналу"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Не вдалося знайти параметрів каналу DVB %s"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Не вдалося знайти параметрів каналу DVB %s"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Не вдалося знайти параметрів каналу DVB %s"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Не вдалося знайти файла налаштувань каналів DVB"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "У файлі налаштувань каналів DVB не міститься даних щодо жодного каналу"
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "типовий приймач звукових подій GStreamer"
 
diff --git a/po/vi.gmo b/po/vi.gmo
index a0bf0b1..53af1e1 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 8742b35..cd4fe49 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -20,6 +20,12 @@
 "X-Language-Team-Website: <http://translationproject.org/team/vi.html>\n"
 "X-Generator: Gtranslator 2.91.7\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "định dạng không được dàn xếp trước hàm"
 
@@ -135,13 +141,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "Không thể tải tập tin cấu hình kênh DVB: %s"
 
-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ả"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "Không thể tìm thấy chi tiết cho kênh DVB %s"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "Không thể tìm thấy chi tiết cho kênh DVB %s"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "Không thể tìm thấy chi tiết cho kênh DVB %s"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "Không thể tìm thấy tập tin cấu hình kênh DVB"
+
+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 "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 f01b677..32ac8a5 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 594115d..265bc13 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-06-09 11:22+0300\n"
+"POT-Creation-Date: 2016-07-06 11:51+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"
@@ -19,6 +19,12 @@
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.8.5\n"
 
+msgid "failed to draw pattern"
+msgstr ""
+
+msgid "A GL error occured"
+msgstr ""
+
 msgid "format wasn't negotiated before get function"
 msgstr "在调用get函数之前未确定合适的格式"
 
@@ -127,13 +133,25 @@
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr "无法加载DVB通道配置文件：%s"
 
-msgid "DVB channel configuration file doesn't contain any channels"
-msgstr "DVB通道配置文件不包含任何通道"
-
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr "无法获取DVB通道 %s 的详细信息"
 
+#, fuzzy, c-format
+msgid "No properties for the DVB channel %s"
+msgstr "无法获取DVB通道 %s 的详细信息"
+
+#, fuzzy, c-format
+msgid "Failed to set properties for the DVB channel %s"
+msgstr "无法获取DVB通道 %s 的详细信息"
+
+#, fuzzy, c-format
+msgid "Couldn't find DVB channel configuration file: %s"
+msgstr "无法找到DVB通道配置文件"
+
+msgid "DVB channel configuration file doesn't contain any channels"
+msgstr "DVB通道配置文件不包含任何通道"
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "默认GStreamer声音事件的音频汇"
 
diff --git a/sys/Makefile.am b/sys/Makefile.am
index 32f79fb..9a34006 100644
--- a/sys/Makefile.am
+++ b/sys/Makefile.am
@@ -64,6 +64,12 @@
 FBDEV_DIR=
 endif
 
+if USE_KMS
+KMS_DIR=kms
+else
+KMS_DIR=
+endif
+
 if USE_DVB
 DVB_DIR=dvb
 else
@@ -148,9 +154,9 @@
 TINYALSA_DIR=
 endif
 
-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) $(LINSYS_DIR) $(OPENSLES_DIR) $(PVR_DIR) $(SHM_DIR) $(UVCH264_DIR) $(VCD_DIR) $(VDPAU_DIR) $(WININET_DIR) $(WINSCREENCAP_DIR) $(WASAPI_DIR) $(NVENC_DIR) $(TINYALSA_DIR)
+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 dshowdecwrapper dshowsrcwrapper dshowvideosink \
+DIST_SUBDIRS = acmenc acmmp3dec androidmedia applemedia applemedia-nonpublic 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 825e341..31a0c6b 100644
--- a/sys/Makefile.in
+++ b/sys/Makefile.in
@@ -281,6 +281,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -496,6 +498,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -622,8 +626,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -668,6 +670,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -778,6 +782,8 @@
 @USE_DIRECTSOUND_TRUE@DIRECTSOUND_DIR = directsound
 @USE_FBDEV_FALSE@FBDEV_DIR = 
 @USE_FBDEV_TRUE@FBDEV_DIR = fbdev
+@USE_KMS_FALSE@KMS_DIR = 
+@USE_KMS_TRUE@KMS_DIR = kms
 @USE_DVB_FALSE@DVB_DIR = 
 @USE_DVB_TRUE@DVB_DIR = dvb
 @USE_LINSYS_FALSE@LINSYS_DIR = 
@@ -814,8 +820,8 @@
 @USE_NVENC_TRUE@NVENC_DIR = nvenc
 @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) $(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 dshowdecwrapper dshowsrcwrapper dshowvideosink \
+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 \
 		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 ec745ee..9f36020 100644
--- a/sys/acmenc/Makefile.in
+++ b/sys/acmenc/Makefile.in
@@ -299,6 +299,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -514,6 +516,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -640,8 +644,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -686,6 +688,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/acmenc/acmenc.c b/sys/acmenc/acmenc.c
index 7a1c1ff..7fed6c7 100644
--- a/sys/acmenc/acmenc.c
+++ b/sys/acmenc/acmenc.c
@@ -485,10 +485,10 @@
       g_param_spec_int ("bitrate", "Bitrate", "Bitrate to encode at (in bps)",
           0, 1000000, DEFAULT_BITRATE, G_PARAM_READWRITE));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&acmenc_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&acmenc_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &acmenc_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &acmenc_src_template);
   params =
       (ACMEncParams *) g_type_get_qdata (G_OBJECT_CLASS_TYPE (klass),
       ACMENC_PARAMS_QDATA);
diff --git a/sys/acmmp3dec/Makefile.in b/sys/acmmp3dec/Makefile.in
index 2e0b71d..78cad2b 100644
--- a/sys/acmmp3dec/Makefile.in
+++ b/sys/acmmp3dec/Makefile.in
@@ -299,6 +299,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -514,6 +516,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -640,8 +644,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -686,6 +688,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/acmmp3dec/acmmp3dec.c b/sys/acmmp3dec/acmmp3dec.c
index 7537691..4ec3385 100644
--- a/sys/acmmp3dec/acmmp3dec.c
+++ b/sys/acmmp3dec/acmmp3dec.c
@@ -417,13 +417,12 @@
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
   gobjectclass->dispose = acmmp3dec_dispose;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&acmmp3dec_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&acmmp3dec_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &acmmp3dec_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &acmmp3dec_src_template);
   gst_element_class_set_static_metadata (element_class, "ACM MP3 decoder",
-      "Codec/Decoder/Audio",
-      "Decode MP3 using ACM decoder",
+      "Codec/Decoder/Audio", "Decode MP3 using ACM decoder",
       "Pioneers of the Inevitable <songbird@songbirdnest.com");
 }
 
diff --git a/sys/androidmedia/Makefile.am b/sys/androidmedia/Makefile.am
index 7ad9b6e..3bb4ea3 100644
--- a/sys/androidmedia/Makefile.am
+++ b/sys/androidmedia/Makefile.am
@@ -9,7 +9,6 @@
 	gstamcvideodec.c \
 	gstamcvideoenc.c \
 	gst-android-graphics-imageformat.c \
-	gst-android-graphics-surfacetexture.c \
 	gst-android-hardware-camera.c \
 	gstjniutils.c
 
@@ -23,7 +22,6 @@
 	gstamcvideodec.h \
 	gstamcvideoenc.h \
 	gst-android-graphics-imageformat.h \
-	gst-android-graphics-surfacetexture.h \
 	gst-android-hardware-camera.h \
 	gstjniutils.h
 
diff --git a/sys/androidmedia/Makefile.in b/sys/androidmedia/Makefile.in
index 0f5ca04..cdf845c 100644
--- a/sys/androidmedia/Makefile.in
+++ b/sys/androidmedia/Makefile.in
@@ -177,7 +177,6 @@
 	libgstandroidmedia_la-gstamcvideodec.lo \
 	libgstandroidmedia_la-gstamcvideoenc.lo \
 	libgstandroidmedia_la-gst-android-graphics-imageformat.lo \
-	libgstandroidmedia_la-gst-android-graphics-surfacetexture.lo \
 	libgstandroidmedia_la-gst-android-hardware-camera.lo \
 	libgstandroidmedia_la-gstjniutils.lo
 libgstandroidmedia_la_OBJECTS = $(am_libgstandroidmedia_la_OBJECTS)
@@ -317,6 +316,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -532,6 +533,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -658,8 +661,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -704,6 +705,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -802,7 +805,6 @@
 	gstamcvideodec.c \
 	gstamcvideoenc.c \
 	gst-android-graphics-imageformat.c \
-	gst-android-graphics-surfacetexture.c \
 	gst-android-hardware-camera.c \
 	gstjniutils.c
 
@@ -816,7 +818,6 @@
 	gstamcvideodec.h \
 	gstamcvideoenc.h \
 	gst-android-graphics-imageformat.h \
-	gst-android-graphics-surfacetexture.h \
 	gst-android-hardware-camera.h \
 	gstjniutils.h
 
@@ -926,7 +927,6 @@
 	-rm -f *.tab.c
 
 @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-graphics-surfacetexture.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-gstahcsrc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gstamc.Plo@am__quote@
@@ -1017,13 +1017,6 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gst-android-graphics-imageformat.lo `test -f 'gst-android-graphics-imageformat.c' || echo '$(srcdir)/'`gst-android-graphics-imageformat.c
 
-libgstandroidmedia_la-gst-android-graphics-surfacetexture.lo: gst-android-graphics-surfacetexture.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-graphics-surfacetexture.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gst-android-graphics-surfacetexture.Tpo -c -o libgstandroidmedia_la-gst-android-graphics-surfacetexture.lo `test -f 'gst-android-graphics-surfacetexture.c' || echo '$(srcdir)/'`gst-android-graphics-surfacetexture.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gst-android-graphics-surfacetexture.Tpo $(DEPDIR)/libgstandroidmedia_la-gst-android-graphics-surfacetexture.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gst-android-graphics-surfacetexture.c' object='libgstandroidmedia_la-gst-android-graphics-surfacetexture.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-graphics-surfacetexture.lo `test -f 'gst-android-graphics-surfacetexture.c' || echo '$(srcdir)/'`gst-android-graphics-surfacetexture.c
-
 libgstandroidmedia_la-gst-android-hardware-camera.lo: gst-android-hardware-camera.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-camera.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gst-android-hardware-camera.Tpo -c -o libgstandroidmedia_la-gst-android-hardware-camera.lo `test -f 'gst-android-hardware-camera.c' || echo '$(srcdir)/'`gst-android-hardware-camera.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gst-android-hardware-camera.Tpo $(DEPDIR)/libgstandroidmedia_la-gst-android-hardware-camera.Plo
diff --git a/sys/androidmedia/gst-android-graphics-surfacetexture.c b/sys/androidmedia/gst-android-graphics-surfacetexture.c
deleted file mode 100644
index 84993a8..0000000
--- a/sys/androidmedia/gst-android-graphics-surfacetexture.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (C) 2012, Collabora Ltd.
- * Copyright (C) 2012, Cisco Systems, Inc.
- *   Author: Youness Alaoui <youness.alaoui@collabora.co.uk>
- *
- * Copyright (C) 2015, Collabora Ltd.
- *   Author: Justin Kim <justin.kim@collabora.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
- * version 2.1 of the License.
- *
- * 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 Street, Fifth Floor, Boston, MA  02110-1301 USA
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "gstjniutils.h"
-
-#include "gst-android-graphics-surfacetexture.h"
-
-static struct
-{
-  jclass klass;
-  jmethodID constructor;
-  jmethodID release;
-} android_graphics_surfacetexture = {
-0};
-
-static gboolean
-_init_classes (void)
-{
-  JNIEnv *env;
-  GError *err = NULL;
-
-  env = gst_amc_jni_get_env ();
-
-  /* android.graphics.SurfaceTexture */
-  android_graphics_surfacetexture.klass =
-      gst_amc_jni_get_class (env, &err, "android/graphics/SurfaceTexture");
-
-  if (!android_graphics_surfacetexture.klass) {
-    GST_ERROR ("Failed to get android.graphics.SurfaceTexture class: %s",
-        err->message);
-    g_clear_error (&err);
-    return FALSE;
-  }
-
-  android_graphics_surfacetexture.constructor =
-      gst_amc_jni_get_method_id (env, &err,
-      android_graphics_surfacetexture.klass, "<init>", "(I)V");
-  android_graphics_surfacetexture.release =
-      gst_amc_jni_get_method_id (env, &err,
-      android_graphics_surfacetexture.klass, "release", "()V");
-
-  return TRUE;
-}
-
-gboolean
-gst_android_graphics_surfacetexture_init (void)
-{
-  if (!_init_classes ()) {
-    gst_android_graphics_surfacetexture_deinit ();
-    return FALSE;
-  }
-
-  return TRUE;
-}
-
-void
-gst_android_graphics_surfacetexture_deinit (void)
-{
-  JNIEnv *env = gst_amc_jni_get_env ();
-
-  if (android_graphics_surfacetexture.klass)
-    (*env)->DeleteGlobalRef (env, android_graphics_surfacetexture.klass);
-  android_graphics_surfacetexture.klass = NULL;
-}
-
-/* android.graphics.SurfaceTexture */
-GstAGSurfaceTexture *
-gst_ag_surfacetexture_new (gint texture_id)
-{
-  JNIEnv *env = gst_amc_jni_get_env ();
-  jobject object = NULL;
-  GstAGSurfaceTexture *tex = NULL;
-
-  object = (*env)->NewObject (env,
-      android_graphics_surfacetexture.klass,
-      android_graphics_surfacetexture.constructor, texture_id);
-  if ((*env)->ExceptionCheck (env) || !object) {
-    GST_ERROR ("Failed to call Java method");
-    (*env)->ExceptionClear (env);
-    return NULL;
-  }
-
-  tex = g_slice_new0 (GstAGSurfaceTexture);
-  tex->object = (*env)->NewGlobalRef (env, object);
-  if (!tex->object) {
-    GST_ERROR ("Failed to create global reference");
-    (*env)->ExceptionClear (env);
-    g_slice_free (GstAGSurfaceTexture, tex);
-    tex = NULL;
-  }
-  (*env)->DeleteLocalRef (env, object);
-
-  return tex;
-}
-
-void
-gst_ag_surfacetexture_release (GstAGSurfaceTexture * self)
-{
-  JNIEnv *env;
-  GError *err = NULL;
-
-  env = gst_amc_jni_get_env ();
-
-  if (!gst_amc_jni_call_void_method (env, &err, self->object,
-          android_graphics_surfacetexture.release)) {
-    GST_ERROR ("Failed to call release: %s", err->message);
-    g_clear_error (&err);
-  }
-
-}
-
-void
-gst_ag_surfacetexture_free (GstAGSurfaceTexture * self)
-{
-  JNIEnv *env = gst_amc_jni_get_env ();
-
-  (*env)->DeleteGlobalRef (env, self->object);
-  g_slice_free (GstAGSurfaceTexture, self);
-}
diff --git a/sys/androidmedia/gst-android-graphics-surfacetexture.h b/sys/androidmedia/gst-android-graphics-surfacetexture.h
deleted file mode 100644
index 3bb80ca..0000000
--- a/sys/androidmedia/gst-android-graphics-surfacetexture.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2012, Collabora Ltd.
- * Copyright (C) 2012, Cisco Systems, Inc.
- *   Author: Youness Alaoui <youness.alaoui@collabora.co.uk>
- *
- * Copyright (C) 2015, Collabora Ltd.
- *   Author: Justin Kim <justin.kim@collabora.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
- * version 2.1 of the License.
- *
- * 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 Street, Fifth Floor, Boston, MA  02110-1301 USA
- *
- */
-
-#ifndef __GST_ANDROID_GRAPHICS_SURFACETEXTURE_H__
-#define __GST_ANDROID_GRAPHICS_SURFACETEXTURE_H__
-
-#include <gst/gst.h>
-#include <jni.h>
-
-
-G_BEGIN_DECLS
-
-typedef struct _GstAGSurfaceTexture GstAGSurfaceTexture;
-
-/* android.graphics.SurfaceTexture */
-struct _GstAGSurfaceTexture {
-  /* < private > */
-  jobject object; /* global reference */
-};
-
-
-gboolean gst_android_graphics_surfacetexture_init (void);
-void gst_android_graphics_surfacetexture_deinit (void);
-
-/* android.graphics.SurfaceTexture */
-GstAGSurfaceTexture *gst_ag_surfacetexture_new (gint texture_id);
-void gst_ag_surfacetexture_release (GstAGSurfaceTexture *self);
-void gst_ag_surfacetexture_free (GstAGSurfaceTexture *self);
-
-G_END_DECLS
-
-#endif /* __GST_ANDROID_GRAPHICS_SURFACETEXTURE_H__ */
-
diff --git a/sys/androidmedia/gst-android-hardware-camera.c b/sys/androidmedia/gst-android-hardware-camera.c
index 11c9253..c22129f 100644
--- a/sys/androidmedia/gst-android-hardware-camera.c
+++ b/sys/androidmedia/gst-android-hardware-camera.c
@@ -33,26 +33,6 @@
 GST_DEBUG_CATEGORY_STATIC (ahc_debug);
 #define GST_CAT_DEFAULT ahc_debug
 
-#define GST_DVM_STATIC_CALL(error_statement, type, k, method, ...)      \
-  (*env)->CallStatic##type##Method (env, k.klass, k.method, ## __VA_ARGS__); \
-  if ((*env)->ExceptionCheck (env)) {                                   \
-    GST_ERROR ("Failed to call Java method");                           \
-    (*env)->ExceptionDescribe (env);                                    \
-    (*env)->ExceptionClear (env);                                       \
-    error_statement;                                                    \
-  }
-
-#define GST_DVM_CALL(error_statement, obj, type, k, method, ...)        \
-  (*env)->Call##type##Method (env, obj, k.method, ## __VA_ARGS__);      \
-  if ((*env)->ExceptionCheck (env)) {                                   \
-    GST_ERROR ("Failed to call Java method");                           \
-    (*env)->ExceptionDescribe (env);                                    \
-    (*env)->ExceptionClear (env);                                       \
-    error_statement;                                                    \
-  }
-
-
-
 static struct
 {
   jclass klass;
@@ -657,8 +637,7 @@
     jobject local = android_hardware_camera_parameters.WHITE_BALANCE_AUTO;
 
     android_hardware_camera_parameters.WHITE_BALANCE_AUTO =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -678,8 +657,7 @@
         android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT;
 
     android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -699,8 +677,7 @@
         android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT;
 
     android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -720,8 +697,7 @@
         android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT;
 
     android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -740,8 +716,7 @@
     jobject local = android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT;
 
     android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -760,8 +735,7 @@
         android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT;
 
     android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -779,8 +753,7 @@
     jobject local = android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT;
 
     android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -799,8 +772,7 @@
     jobject local = android_hardware_camera_parameters.WHITE_BALANCE_SHADE;
 
     android_hardware_camera_parameters.WHITE_BALANCE_SHADE =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -819,8 +791,7 @@
     jobject local = android_hardware_camera_parameters.EFFECT_NONE;
 
     android_hardware_camera_parameters.EFFECT_NONE =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -839,8 +810,7 @@
     jobject local = android_hardware_camera_parameters.EFFECT_MONO;
 
     android_hardware_camera_parameters.EFFECT_MONO =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -859,8 +829,7 @@
     jobject local = android_hardware_camera_parameters.EFFECT_NEGATIVE;
 
     android_hardware_camera_parameters.EFFECT_NEGATIVE =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -879,8 +848,7 @@
     jobject local = android_hardware_camera_parameters.EFFECT_SOLARIZE;
 
     android_hardware_camera_parameters.EFFECT_SOLARIZE =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -899,8 +867,7 @@
     jobject local = android_hardware_camera_parameters.EFFECT_SEPIA;
 
     android_hardware_camera_parameters.EFFECT_SEPIA =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -919,8 +886,7 @@
     jobject local = android_hardware_camera_parameters.EFFECT_POSTERIZE;
 
     android_hardware_camera_parameters.EFFECT_POSTERIZE =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -939,8 +905,7 @@
     jobject local = android_hardware_camera_parameters.EFFECT_WHITEBOARD;
 
     android_hardware_camera_parameters.EFFECT_WHITEBOARD =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -959,8 +924,7 @@
     jobject local = android_hardware_camera_parameters.EFFECT_BLACKBOARD;
 
     android_hardware_camera_parameters.EFFECT_BLACKBOARD =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -979,8 +943,7 @@
     jobject local = android_hardware_camera_parameters.EFFECT_AQUA;
 
     android_hardware_camera_parameters.EFFECT_AQUA =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -999,8 +962,7 @@
     jobject local = android_hardware_camera_parameters.ANTIBANDING_AUTO;
 
     android_hardware_camera_parameters.ANTIBANDING_AUTO =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1019,8 +981,7 @@
     jobject local = android_hardware_camera_parameters.ANTIBANDING_50HZ;
 
     android_hardware_camera_parameters.ANTIBANDING_50HZ =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1039,8 +1000,7 @@
     jobject local = android_hardware_camera_parameters.ANTIBANDING_60HZ;
 
     android_hardware_camera_parameters.ANTIBANDING_60HZ =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1059,8 +1019,7 @@
     jobject local = android_hardware_camera_parameters.ANTIBANDING_OFF;
 
     android_hardware_camera_parameters.ANTIBANDING_OFF =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1079,8 +1038,7 @@
     jobject local = android_hardware_camera_parameters.FLASH_MODE_OFF;
 
     android_hardware_camera_parameters.FLASH_MODE_OFF =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1099,8 +1057,7 @@
     jobject local = android_hardware_camera_parameters.FLASH_MODE_AUTO;
 
     android_hardware_camera_parameters.FLASH_MODE_AUTO =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1119,8 +1076,7 @@
     jobject local = android_hardware_camera_parameters.FLASH_MODE_ON;
 
     android_hardware_camera_parameters.FLASH_MODE_ON =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1139,8 +1095,7 @@
     jobject local = android_hardware_camera_parameters.FLASH_MODE_RED_EYE;
 
     android_hardware_camera_parameters.FLASH_MODE_RED_EYE =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1159,8 +1114,7 @@
     jobject local = android_hardware_camera_parameters.FLASH_MODE_TORCH;
 
     android_hardware_camera_parameters.FLASH_MODE_TORCH =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1179,8 +1133,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_AUTO;
 
     android_hardware_camera_parameters.SCENE_MODE_AUTO =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1199,8 +1152,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_ACTION;
 
     android_hardware_camera_parameters.SCENE_MODE_ACTION =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1219,8 +1171,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_PORTRAIT;
 
     android_hardware_camera_parameters.SCENE_MODE_PORTRAIT =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1238,8 +1189,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE;
 
     android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1258,8 +1208,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_NIGHT;
 
     android_hardware_camera_parameters.SCENE_MODE_NIGHT =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1278,8 +1227,7 @@
         android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT;
 
     android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
   fieldID =
       gst_amc_jni_get_static_field_id (env, &err, klass, "SCENE_MODE_THEATRE",
@@ -1297,8 +1245,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_THEATRE;
 
     android_hardware_camera_parameters.SCENE_MODE_THEATRE =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1317,8 +1264,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_BEACH;
 
     android_hardware_camera_parameters.SCENE_MODE_BEACH =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1337,8 +1283,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_SNOW;
 
     android_hardware_camera_parameters.SCENE_MODE_SNOW =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1358,8 +1303,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_SUNSET;
 
     android_hardware_camera_parameters.SCENE_MODE_SUNSET =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1379,8 +1323,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO;
 
     android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1399,8 +1342,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_FIREWORKS;
 
     android_hardware_camera_parameters.SCENE_MODE_FIREWORKS =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1420,8 +1362,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_SPORTS;
 
     android_hardware_camera_parameters.SCENE_MODE_SPORTS =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1440,8 +1381,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_PARTY;
 
     android_hardware_camera_parameters.SCENE_MODE_PARTY =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1460,8 +1400,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT;
 
     android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
 
@@ -1481,8 +1420,7 @@
     jobject local = android_hardware_camera_parameters.SCENE_MODE_BARCODE;
 
     android_hardware_camera_parameters.SCENE_MODE_BARCODE =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1501,8 +1439,7 @@
     jobject local = android_hardware_camera_parameters.FOCUS_MODE_AUTO;
 
     android_hardware_camera_parameters.FOCUS_MODE_AUTO =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1521,8 +1458,7 @@
     jobject local = android_hardware_camera_parameters.FOCUS_MODE_INFINITY;
 
     android_hardware_camera_parameters.FOCUS_MODE_INFINITY =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1541,8 +1477,7 @@
     jobject local = android_hardware_camera_parameters.FOCUS_MODE_MACRO;
 
     android_hardware_camera_parameters.FOCUS_MODE_MACRO =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1561,8 +1496,7 @@
     jobject local = android_hardware_camera_parameters.FOCUS_MODE_FIXED;
 
     android_hardware_camera_parameters.FOCUS_MODE_FIXED =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1581,8 +1515,7 @@
     jobject local = android_hardware_camera_parameters.FOCUS_MODE_EDOF;
 
     android_hardware_camera_parameters.FOCUS_MODE_EDOF =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1602,8 +1535,7 @@
         android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO;
 
     android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   fieldID =
@@ -1624,8 +1556,7 @@
         android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE;
 
     android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE =
-        (*env)->NewGlobalRef (env, local);
-    (*env)->DeleteLocalRef (env, local);
+        gst_amc_jni_object_make_global (env, local);
   }
 
   /* java.lang.String */
@@ -1710,19 +1641,19 @@
   JNIEnv *env = gst_amc_jni_get_env ();
 
   if (android_hardware_camera.klass)
-    (*env)->DeleteGlobalRef (env, android_hardware_camera.klass);
+    gst_amc_jni_object_unref (env, android_hardware_camera.klass);
   android_hardware_camera.klass = NULL;
 
   if (android_hardware_camera_camerainfo.klass)
-    (*env)->DeleteGlobalRef (env, android_hardware_camera_camerainfo.klass);
+    gst_amc_jni_object_unref (env, android_hardware_camera_camerainfo.klass);
   android_hardware_camera_camerainfo.klass = NULL;
 
   if (android_hardware_camera_size.klass)
-    (*env)->DeleteGlobalRef (env, android_hardware_camera_size.klass);
+    gst_amc_jni_object_unref (env, android_hardware_camera_size.klass);
   android_hardware_camera_size.klass = NULL;
 
   if (android_hardware_camera_parameters.klass)
-    (*env)->DeleteGlobalRef (env, android_hardware_camera_parameters.klass);
+    gst_amc_jni_object_unref (env, android_hardware_camera_parameters.klass);
   android_hardware_camera_parameters.klass = NULL;
   if (Parameters_WHITE_BALANCE_AUTO)
     (*env)->ReleaseStringUTFChars (env,
@@ -1730,7 +1661,7 @@
         Parameters_WHITE_BALANCE_AUTO);
   Parameters_WHITE_BALANCE_AUTO = NULL;
   if (android_hardware_camera_parameters.WHITE_BALANCE_AUTO)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.WHITE_BALANCE_AUTO);
   android_hardware_camera_parameters.WHITE_BALANCE_AUTO = NULL;
   if (Parameters_WHITE_BALANCE_INCANDESCENT)
@@ -1739,7 +1670,7 @@
         Parameters_WHITE_BALANCE_INCANDESCENT);
   Parameters_WHITE_BALANCE_INCANDESCENT = NULL;
   if (android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT);
   android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT = NULL;
   if (Parameters_WHITE_BALANCE_FLUORESCENT)
@@ -1748,7 +1679,7 @@
         Parameters_WHITE_BALANCE_FLUORESCENT);
   Parameters_WHITE_BALANCE_FLUORESCENT = NULL;
   if (android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT);
   android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT = NULL;
   if (Parameters_WHITE_BALANCE_WARM_FLUORESCENT)
@@ -1757,7 +1688,7 @@
         Parameters_WHITE_BALANCE_WARM_FLUORESCENT);
   Parameters_WHITE_BALANCE_WARM_FLUORESCENT = NULL;
   if (android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT);
   android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT = NULL;
   if (Parameters_WHITE_BALANCE_DAYLIGHT)
@@ -1766,7 +1697,7 @@
         Parameters_WHITE_BALANCE_DAYLIGHT);
   Parameters_WHITE_BALANCE_DAYLIGHT = NULL;
   if (android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT);
   android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT = NULL;
   if (Parameters_WHITE_BALANCE_CLOUDY_DAYLIGHT)
@@ -1775,7 +1706,7 @@
         Parameters_WHITE_BALANCE_CLOUDY_DAYLIGHT);
   Parameters_WHITE_BALANCE_CLOUDY_DAYLIGHT = NULL;
   if (android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT);
   android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT = NULL;
   if (Parameters_WHITE_BALANCE_TWILIGHT)
@@ -1784,7 +1715,7 @@
         Parameters_WHITE_BALANCE_TWILIGHT);
   Parameters_WHITE_BALANCE_TWILIGHT = NULL;
   if (android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT);
   android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT = NULL;
   if (Parameters_WHITE_BALANCE_SHADE)
@@ -1793,7 +1724,7 @@
         Parameters_WHITE_BALANCE_SHADE);
   Parameters_WHITE_BALANCE_SHADE = NULL;
   if (android_hardware_camera_parameters.WHITE_BALANCE_SHADE)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.WHITE_BALANCE_SHADE);
   android_hardware_camera_parameters.WHITE_BALANCE_SHADE = NULL;
   if (Parameters_EFFECT_NONE)
@@ -1801,7 +1732,7 @@
         android_hardware_camera_parameters.EFFECT_NONE, Parameters_EFFECT_NONE);
   Parameters_EFFECT_NONE = NULL;
   if (android_hardware_camera_parameters.EFFECT_NONE)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.EFFECT_NONE);
   android_hardware_camera_parameters.EFFECT_NONE = NULL;
   if (Parameters_EFFECT_MONO)
@@ -1809,7 +1740,7 @@
         android_hardware_camera_parameters.EFFECT_MONO, Parameters_EFFECT_MONO);
   Parameters_EFFECT_MONO = NULL;
   if (android_hardware_camera_parameters.EFFECT_MONO)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.EFFECT_MONO);
   android_hardware_camera_parameters.EFFECT_MONO = NULL;
   if (Parameters_EFFECT_NEGATIVE)
@@ -1818,7 +1749,7 @@
         Parameters_EFFECT_NEGATIVE);
   Parameters_EFFECT_NEGATIVE = NULL;
   if (android_hardware_camera_parameters.EFFECT_NEGATIVE)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.EFFECT_NEGATIVE);
   android_hardware_camera_parameters.EFFECT_NEGATIVE = NULL;
   if (Parameters_EFFECT_SOLARIZE)
@@ -1827,7 +1758,7 @@
         Parameters_EFFECT_SOLARIZE);
   Parameters_EFFECT_SOLARIZE = NULL;
   if (android_hardware_camera_parameters.EFFECT_SOLARIZE)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.EFFECT_SOLARIZE);
   android_hardware_camera_parameters.EFFECT_SOLARIZE = NULL;
   if (Parameters_EFFECT_SEPIA)
@@ -1836,7 +1767,7 @@
         Parameters_EFFECT_SEPIA);
   Parameters_EFFECT_SEPIA = NULL;
   if (android_hardware_camera_parameters.EFFECT_SEPIA)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.EFFECT_SEPIA);
   android_hardware_camera_parameters.EFFECT_SEPIA = NULL;
   if (Parameters_EFFECT_POSTERIZE)
@@ -1845,7 +1776,7 @@
         Parameters_EFFECT_POSTERIZE);
   Parameters_EFFECT_POSTERIZE = NULL;
   if (android_hardware_camera_parameters.EFFECT_POSTERIZE)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.EFFECT_POSTERIZE);
   android_hardware_camera_parameters.EFFECT_POSTERIZE = NULL;
   if (Parameters_EFFECT_WHITEBOARD)
@@ -1854,7 +1785,7 @@
         Parameters_EFFECT_WHITEBOARD);
   Parameters_EFFECT_WHITEBOARD = NULL;
   if (android_hardware_camera_parameters.EFFECT_WHITEBOARD)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.EFFECT_WHITEBOARD);
   android_hardware_camera_parameters.EFFECT_WHITEBOARD = NULL;
   if (Parameters_EFFECT_BLACKBOARD)
@@ -1863,7 +1794,7 @@
         Parameters_EFFECT_BLACKBOARD);
   Parameters_EFFECT_BLACKBOARD = NULL;
   if (android_hardware_camera_parameters.EFFECT_BLACKBOARD)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.EFFECT_BLACKBOARD);
   android_hardware_camera_parameters.EFFECT_BLACKBOARD = NULL;
   if (Parameters_EFFECT_AQUA)
@@ -1871,7 +1802,7 @@
         android_hardware_camera_parameters.EFFECT_AQUA, Parameters_EFFECT_AQUA);
   Parameters_EFFECT_AQUA = NULL;
   if (android_hardware_camera_parameters.EFFECT_AQUA)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.EFFECT_AQUA);
   android_hardware_camera_parameters.EFFECT_AQUA = NULL;
   if (Parameters_ANTIBANDING_AUTO)
@@ -1880,7 +1811,7 @@
         Parameters_ANTIBANDING_AUTO);
   Parameters_ANTIBANDING_AUTO = NULL;
   if (android_hardware_camera_parameters.ANTIBANDING_AUTO)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.ANTIBANDING_AUTO);
   android_hardware_camera_parameters.ANTIBANDING_AUTO = NULL;
   if (Parameters_ANTIBANDING_50HZ)
@@ -1889,7 +1820,7 @@
         Parameters_ANTIBANDING_50HZ);
   Parameters_ANTIBANDING_50HZ = NULL;
   if (android_hardware_camera_parameters.ANTIBANDING_50HZ)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.ANTIBANDING_50HZ);
   android_hardware_camera_parameters.ANTIBANDING_50HZ = NULL;
   if (Parameters_ANTIBANDING_60HZ)
@@ -1898,7 +1829,7 @@
         Parameters_ANTIBANDING_60HZ);
   Parameters_ANTIBANDING_60HZ = NULL;
   if (android_hardware_camera_parameters.ANTIBANDING_60HZ)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.ANTIBANDING_60HZ);
   android_hardware_camera_parameters.ANTIBANDING_60HZ = NULL;
   if (Parameters_ANTIBANDING_OFF)
@@ -1907,7 +1838,7 @@
         Parameters_ANTIBANDING_OFF);
   Parameters_ANTIBANDING_OFF = NULL;
   if (android_hardware_camera_parameters.ANTIBANDING_OFF)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.ANTIBANDING_OFF);
   android_hardware_camera_parameters.ANTIBANDING_OFF = NULL;
   if (Parameters_FLASH_MODE_OFF)
@@ -1916,7 +1847,7 @@
         Parameters_FLASH_MODE_OFF);
   Parameters_FLASH_MODE_OFF = NULL;
   if (android_hardware_camera_parameters.FLASH_MODE_OFF)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.FLASH_MODE_OFF);
   android_hardware_camera_parameters.FLASH_MODE_OFF = NULL;
   if (Parameters_FLASH_MODE_AUTO)
@@ -1925,7 +1856,7 @@
         Parameters_FLASH_MODE_AUTO);
   Parameters_FLASH_MODE_AUTO = NULL;
   if (android_hardware_camera_parameters.FLASH_MODE_AUTO)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.FLASH_MODE_AUTO);
   android_hardware_camera_parameters.FLASH_MODE_AUTO = NULL;
   if (Parameters_FLASH_MODE_ON)
@@ -1934,7 +1865,7 @@
         Parameters_FLASH_MODE_ON);
   Parameters_FLASH_MODE_ON = NULL;
   if (android_hardware_camera_parameters.FLASH_MODE_ON)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.FLASH_MODE_ON);
   android_hardware_camera_parameters.FLASH_MODE_ON = NULL;
   if (Parameters_FLASH_MODE_RED_EYE)
@@ -1943,7 +1874,7 @@
         Parameters_FLASH_MODE_RED_EYE);
   Parameters_FLASH_MODE_RED_EYE = NULL;
   if (android_hardware_camera_parameters.FLASH_MODE_RED_EYE)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.FLASH_MODE_RED_EYE);
   android_hardware_camera_parameters.FLASH_MODE_RED_EYE = NULL;
   if (Parameters_FLASH_MODE_TORCH)
@@ -1952,7 +1883,7 @@
         Parameters_FLASH_MODE_TORCH);
   Parameters_FLASH_MODE_TORCH = NULL;
   if (android_hardware_camera_parameters.FLASH_MODE_TORCH)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.FLASH_MODE_TORCH);
   android_hardware_camera_parameters.FLASH_MODE_TORCH = NULL;
   if (Parameters_SCENE_MODE_AUTO)
@@ -1961,7 +1892,7 @@
         Parameters_SCENE_MODE_AUTO);
   Parameters_SCENE_MODE_AUTO = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_AUTO)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_AUTO);
   android_hardware_camera_parameters.SCENE_MODE_AUTO = NULL;
   if (Parameters_SCENE_MODE_ACTION)
@@ -1970,7 +1901,7 @@
         Parameters_SCENE_MODE_ACTION);
   Parameters_SCENE_MODE_ACTION = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_ACTION)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_ACTION);
   android_hardware_camera_parameters.SCENE_MODE_ACTION = NULL;
   if (Parameters_SCENE_MODE_PORTRAIT)
@@ -1979,7 +1910,7 @@
         Parameters_SCENE_MODE_PORTRAIT);
   Parameters_SCENE_MODE_PORTRAIT = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_PORTRAIT)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_PORTRAIT);
   android_hardware_camera_parameters.SCENE_MODE_PORTRAIT = NULL;
   if (Parameters_SCENE_MODE_LANDSCAPE)
@@ -1988,7 +1919,7 @@
         Parameters_SCENE_MODE_LANDSCAPE);
   Parameters_SCENE_MODE_LANDSCAPE = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE);
   android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE = NULL;
   if (Parameters_SCENE_MODE_NIGHT)
@@ -1997,7 +1928,7 @@
         Parameters_SCENE_MODE_NIGHT);
   Parameters_SCENE_MODE_NIGHT = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_NIGHT)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_NIGHT);
   android_hardware_camera_parameters.SCENE_MODE_NIGHT = NULL;
   if (Parameters_SCENE_MODE_NIGHT_PORTRAIT)
@@ -2006,7 +1937,7 @@
         Parameters_SCENE_MODE_NIGHT_PORTRAIT);
   Parameters_SCENE_MODE_NIGHT_PORTRAIT = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT);
   android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT = NULL;
   if (Parameters_SCENE_MODE_THEATRE)
@@ -2015,7 +1946,7 @@
         Parameters_SCENE_MODE_THEATRE);
   Parameters_SCENE_MODE_THEATRE = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_THEATRE)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_THEATRE);
   android_hardware_camera_parameters.SCENE_MODE_THEATRE = NULL;
   if (Parameters_SCENE_MODE_BEACH)
@@ -2024,7 +1955,7 @@
         Parameters_SCENE_MODE_BEACH);
   Parameters_SCENE_MODE_BEACH = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_BEACH)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_BEACH);
   android_hardware_camera_parameters.SCENE_MODE_BEACH = NULL;
   if (Parameters_SCENE_MODE_SNOW)
@@ -2033,7 +1964,7 @@
         Parameters_SCENE_MODE_SNOW);
   Parameters_SCENE_MODE_SNOW = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_SNOW)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_SNOW);
   android_hardware_camera_parameters.SCENE_MODE_SNOW = NULL;
   if (Parameters_SCENE_MODE_SUNSET)
@@ -2042,7 +1973,7 @@
         Parameters_SCENE_MODE_SUNSET);
   Parameters_SCENE_MODE_SUNSET = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_SUNSET)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_SUNSET);
   android_hardware_camera_parameters.SCENE_MODE_SUNSET = NULL;
   if (Parameters_SCENE_MODE_STEADYPHOTO)
@@ -2051,7 +1982,7 @@
         Parameters_SCENE_MODE_STEADYPHOTO);
   Parameters_SCENE_MODE_STEADYPHOTO = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO);
   android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO = NULL;
   if (Parameters_SCENE_MODE_FIREWORKS)
@@ -2060,7 +1991,7 @@
         Parameters_SCENE_MODE_FIREWORKS);
   Parameters_SCENE_MODE_FIREWORKS = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_FIREWORKS)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_FIREWORKS);
   android_hardware_camera_parameters.SCENE_MODE_FIREWORKS = NULL;
   if (Parameters_SCENE_MODE_SPORTS)
@@ -2069,7 +2000,7 @@
         Parameters_SCENE_MODE_SPORTS);
   Parameters_SCENE_MODE_SPORTS = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_SPORTS)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_SPORTS);
   android_hardware_camera_parameters.SCENE_MODE_SPORTS = NULL;
   if (Parameters_SCENE_MODE_PARTY)
@@ -2078,7 +2009,7 @@
         Parameters_SCENE_MODE_PARTY);
   Parameters_SCENE_MODE_PARTY = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_PARTY)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_PARTY);
   android_hardware_camera_parameters.SCENE_MODE_PARTY = NULL;
   if (Parameters_SCENE_MODE_CANDLELIGHT)
@@ -2087,7 +2018,7 @@
         Parameters_SCENE_MODE_CANDLELIGHT);
   Parameters_SCENE_MODE_CANDLELIGHT = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT);
   android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT = NULL;
   if (Parameters_SCENE_MODE_BARCODE)
@@ -2096,7 +2027,7 @@
         Parameters_SCENE_MODE_BARCODE);
   Parameters_SCENE_MODE_BARCODE = NULL;
   if (android_hardware_camera_parameters.SCENE_MODE_BARCODE)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.SCENE_MODE_BARCODE);
   android_hardware_camera_parameters.SCENE_MODE_BARCODE = NULL;
   if (Parameters_FOCUS_MODE_AUTO)
@@ -2105,7 +2036,7 @@
         Parameters_FOCUS_MODE_AUTO);
   Parameters_FOCUS_MODE_AUTO = NULL;
   if (android_hardware_camera_parameters.FOCUS_MODE_AUTO)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.FOCUS_MODE_AUTO);
   android_hardware_camera_parameters.FOCUS_MODE_AUTO = NULL;
   if (Parameters_FOCUS_MODE_INFINITY)
@@ -2114,7 +2045,7 @@
         Parameters_FOCUS_MODE_INFINITY);
   Parameters_FOCUS_MODE_INFINITY = NULL;
   if (android_hardware_camera_parameters.FOCUS_MODE_INFINITY)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.FOCUS_MODE_INFINITY);
   android_hardware_camera_parameters.FOCUS_MODE_INFINITY = NULL;
   if (Parameters_FOCUS_MODE_MACRO)
@@ -2123,7 +2054,7 @@
         Parameters_FOCUS_MODE_MACRO);
   Parameters_FOCUS_MODE_MACRO = NULL;
   if (android_hardware_camera_parameters.FOCUS_MODE_MACRO)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.FOCUS_MODE_MACRO);
   android_hardware_camera_parameters.FOCUS_MODE_MACRO = NULL;
   if (Parameters_FOCUS_MODE_FIXED)
@@ -2132,7 +2063,7 @@
         Parameters_FOCUS_MODE_FIXED);
   Parameters_FOCUS_MODE_FIXED = NULL;
   if (android_hardware_camera_parameters.FOCUS_MODE_FIXED)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.FOCUS_MODE_FIXED);
   android_hardware_camera_parameters.FOCUS_MODE_FIXED = NULL;
   if (Parameters_FOCUS_MODE_EDOF)
@@ -2141,7 +2072,7 @@
         Parameters_FOCUS_MODE_EDOF);
   Parameters_FOCUS_MODE_EDOF = NULL;
   if (android_hardware_camera_parameters.FOCUS_MODE_EDOF)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.FOCUS_MODE_EDOF);
   android_hardware_camera_parameters.FOCUS_MODE_EDOF = NULL;
   if (Parameters_FOCUS_MODE_CONTINUOUS_VIDEO)
@@ -2150,7 +2081,7 @@
         Parameters_FOCUS_MODE_CONTINUOUS_VIDEO);
   Parameters_FOCUS_MODE_CONTINUOUS_VIDEO = NULL;
   if (android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
   android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO = NULL;
   if (Parameters_FOCUS_MODE_CONTINUOUS_PICTURE)
@@ -2159,51 +2090,51 @@
         Parameters_FOCUS_MODE_CONTINUOUS_PICTURE);
   Parameters_FOCUS_MODE_CONTINUOUS_PICTURE = NULL;
   if (android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE)
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
   android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE = NULL;
 
   if (java_lang_string.klass)
-    (*env)->DeleteGlobalRef (env, java_lang_string.klass);
+    gst_amc_jni_object_unref (env, java_lang_string.klass);
   java_lang_string.klass = NULL;
 
   if (java_util_list.klass)
-    (*env)->DeleteGlobalRef (env, java_util_list.klass);
+    gst_amc_jni_object_unref (env, java_util_list.klass);
   java_util_list.klass = NULL;
 
   if (java_util_iterator.klass)
-    (*env)->DeleteGlobalRef (env, java_util_iterator.klass);
+    gst_amc_jni_object_unref (env, java_util_iterator.klass);
   java_util_iterator.klass = NULL;
 
   if (java_lang_integer.klass)
-    (*env)->DeleteGlobalRef (env, java_lang_integer.klass);
+    gst_amc_jni_object_unref (env, java_lang_integer.klass);
   java_lang_integer.klass = NULL;
 
   if (org_freedesktop_gstreamer_androidmedia_gstahccallback.klass) {
     (*env)->UnregisterNatives (env,
         org_freedesktop_gstreamer_androidmedia_gstahccallback.klass);
-    (*env)->DeleteGlobalRef (env,
+    gst_amc_jni_object_unref (env,
         org_freedesktop_gstreamer_androidmedia_gstahccallback.klass);
   }
   org_freedesktop_gstreamer_androidmedia_gstahccallback.klass = NULL;
 }
 
 /* android.hardware.Camera */
-#define AHC_CALL(error_statement, type, method, ...)                    \
-  GST_DVM_CALL (error_statement, self->object, type, android_hardware_camera, \
-      method, ## __VA_ARGS__);
-#define AHC_STATIC_CALL(error_statement, type, method, ...)             \
-  GST_DVM_STATIC_CALL (error_statement, type, android_hardware_camera,  \
-      method, ## __VA_ARGS__);
-
 void
 gst_ah_camera_add_callback_buffer (GstAHCamera * self, jbyteArray buffer)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
   GST_DEBUG ("add callback_buffer %p", buffer);
 
-  AHC_CALL (, Void, addCallbackBuffer, buffer);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.addCallbackBuffer, buffer);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.addCallbackBuffer: %s",
+        err->message);
+    g_clear_error (&err);
+  }
 }
 
 gboolean
@@ -2211,27 +2142,38 @@
     GstAHCAutoFocusCallback cb, gpointer user_data)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject object = NULL;
   gboolean ret = FALSE;
 
   if (cb) {
-    object = (*env)->NewObject (env,
+    object = gst_amc_jni_new_object (env,
+        &err,
+        FALSE,
         org_freedesktop_gstreamer_androidmedia_gstahccallback.klass,
         org_freedesktop_gstreamer_androidmedia_gstahccallback.constructor,
         *((jlong *) & cb), *((jlong *) & user_data));
-    if (!object) {
-      GST_ERROR ("Failed to create callback object");
-      (*env)->ExceptionClear (env);
+    if (err) {
+      GST_ERROR ("Failed to create org.freedesktop.gstreamer.androidmedia.GstAhcCallback object");
+      g_clear_error (&err);
       goto done;
     }
   }
 
-  AHC_CALL (goto done, Void, autoFocus, object);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.autoFocus, object);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.autoFocus: %s",
+        err->message);
+    goto done;
+  }
 
   ret = TRUE;
 done:
+  if (err)
+    g_clear_error(&err);
   if (object)
-    (*env)->DeleteLocalRef (env, object);
+    gst_amc_jni_object_local_unref (env, object);
 
   return ret;
 }
@@ -2240,8 +2182,16 @@
 gst_ah_camera_cancel_auto_focus (GstAHCamera * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHC_CALL (return FALSE, Void, cancelAutoFocus);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.cancelAutoFocus);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.cancelAutoFocus: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -2250,19 +2200,28 @@
 gst_ah_camera_get_camera_info (gint camera_id, GstAHCCameraInfo * camera_info)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject jcamera_info = NULL;
   gboolean ret = FALSE;
 
-  jcamera_info = (*env)->NewObject (env,
+  jcamera_info = gst_amc_jni_new_object (env,
+      &err,
+      FALSE,
       android_hardware_camera_camerainfo.klass,
       android_hardware_camera_camerainfo.constructor);
-  if (!jcamera_info) {
-    GST_ERROR ("Failed to call Java method");
-    (*env)->ExceptionClear (env);
+  if (err) {
+    GST_ERROR ("Failed to create android.hardware.camera.CameraInfo object");
+    g_clear_error (&err);
     goto done;
   }
 
-  AHC_STATIC_CALL (goto done, Void, getCameraInfo, camera_id, jcamera_info);
+  gst_amc_jni_call_static_void_method (env, &err, android_hardware_camera.klass,
+    android_hardware_camera.getCameraInfo, camera_id, jcamera_info);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.getCameraInfo: %s",
+        err->message);
+    goto done;
+  }
 
   camera_info->facing = (*env)->GetIntField (env, jcamera_info,
       android_hardware_camera_camerainfo.facing);
@@ -2282,8 +2241,10 @@
 
   ret = TRUE;
 done:
+  if (err)
+    g_clear_error (&err);
   if (jcamera_info)
-    (*env)->DeleteLocalRef (env, jcamera_info);
+    gst_amc_jni_object_local_unref (env, jcamera_info);
 
   return ret;
 }
@@ -2292,9 +2253,17 @@
 gst_ah_camera_get_number_of_cameras (void)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gint num_cameras;
 
-  num_cameras = AHC_STATIC_CALL (return -1, Int, getNumberOfCameras);
+  gst_amc_jni_call_static_int_method (env, &err, android_hardware_camera.klass,
+    android_hardware_camera.getNumberOfCameras, &num_cameras);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.getNumberOfCameras: %s",
+        err->message);
+    g_clear_error (&err);
+    return -1;
+  }
 
   return num_cameras;
 }
@@ -2303,18 +2272,26 @@
 gst_ah_camera_get_parameters (GstAHCamera * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject object = NULL;
   GstAHCParameters *params = NULL;
 
-  object = AHC_CALL (return NULL, Object, getParameters);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera.getParameters, &object);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.getParameters: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
   if (!object) {
     GST_WARNING ("android.hardware.Camera.getParameter is NULL");
     return NULL;
   }
 
   params = g_slice_new0 (GstAHCParameters);
-  params->object = (*env)->NewGlobalRef (env, object);
-  (*env)->DeleteLocalRef (env, object);
+  params->object = gst_amc_jni_object_ref (env, object);
+  gst_amc_jni_object_local_unref (env, object);
   if (!params->object) {
     GST_ERROR ("Failed to create global reference");
     (*env)->ExceptionClear (env);
@@ -2331,8 +2308,15 @@
 gst_ah_camera_lock (GstAHCamera * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHC_CALL (return FALSE, Void, lock);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.lock);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.lock: %s", err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -2341,14 +2325,24 @@
 gst_ah_camera_open (gint camera_id)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject object = NULL;
   GstAHCamera *camera = NULL;
 
-  object = AHC_STATIC_CALL (goto done, Object, open, camera_id);
+  gst_amc_jni_call_static_object_method (env, &err,
+    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);
+    g_clear_error (&err);
+    goto done;
+  }
+
   if (object) {
     camera = g_slice_new0 (GstAHCamera);
-    camera->object = (*env)->NewGlobalRef (env, object);
-    (*env)->DeleteLocalRef (env, object);
+    camera->object = gst_amc_jni_object_ref (env, object);
+    gst_amc_jni_object_local_unref (env, object);
     if (!camera->object) {
       GST_ERROR ("Failed to create global reference");
       (*env)->ExceptionClear (env);
@@ -2365,8 +2359,16 @@
 gst_ah_camera_reconnect (GstAHCamera * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHC_CALL (return FALSE, Void, reconnect);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.reconnect);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.reconnect: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -2375,8 +2377,15 @@
 gst_ah_camera_release (GstAHCamera * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHC_CALL (, Void, release);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.release);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.release: %s",
+        err->message);
+    g_clear_error (&err);
+  }
 }
 
 void
@@ -2384,7 +2393,7 @@
 {
   JNIEnv *env = gst_amc_jni_get_env ();
 
-  (*env)->DeleteGlobalRef (env, self->object);
+  gst_amc_jni_object_unref (env, self->object);
   g_slice_free (GstAHCamera, self);
 }
 
@@ -2393,8 +2402,16 @@
 gst_ah_camera_set_parameters (GstAHCamera * self, GstAHCParameters * params)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHC_CALL (return FALSE, Void, setParameters, params->object);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.setParameters, params->object);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.setParameters: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -2404,27 +2421,38 @@
     gpointer user_data)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject object = NULL;
   gboolean ret = FALSE;
 
   if (cb) {
-    object = (*env)->NewObject (env,
+    object = gst_amc_jni_new_object (env,
+        &err,
+        FALSE,
         org_freedesktop_gstreamer_androidmedia_gstahccallback.klass,
         org_freedesktop_gstreamer_androidmedia_gstahccallback.constructor,
         *((jlong *) & cb), *((jlong *) & user_data));
-    if (!object) {
-      GST_ERROR ("Failed to create callback object");
-      (*env)->ExceptionClear (env);
+    if (err) {
+      GST_ERROR ("Failed to create org.freedesktop.gstreamer.androidmedia.GstAhcCallback object");
+      g_clear_error (&err);
       goto done;
     }
   }
 
-  AHC_CALL (goto done, Void, setErrorCallback, object);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.setErrorCallback, object);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.setErrorCallback: %s",
+        err->message);
+    goto done;
+  }
 
   ret = TRUE;
 done:
+  if (err)
+    g_clear_error (&err);
   if (object)
-    (*env)->DeleteLocalRef (env, object);
+    gst_amc_jni_object_local_unref (env, object);
 
   return ret;
 }
@@ -2434,46 +2462,72 @@
     GstAHCPreviewCallback cb, gpointer user_data)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject object = NULL;
   gboolean ret = FALSE;
 
   if (cb) {
-    object = (*env)->NewObject (env,
+    object = gst_amc_jni_new_object (env,
+        &err,
+        FALSE,
         org_freedesktop_gstreamer_androidmedia_gstahccallback.klass,
         org_freedesktop_gstreamer_androidmedia_gstahccallback.constructor,
         *((jlong *) & cb), *((jlong *) & user_data));
-    if (!object) {
-      GST_ERROR ("Failed to create callback object");
-      (*env)->ExceptionClear (env);
+    if (err) {
+      GST_ERROR ("Failed to create org.freedesktop.gstreamer.androidmedia.GstAhcCallback object");
+      g_clear_error (&err);
       goto done;
     }
   }
 
-  AHC_CALL (goto done, Void, setPreviewCallbackWithBuffer, object);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.setPreviewCallbackWithBuffer, object);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.setPreviewCallbackWithBuffer: %s",
+        err->message);
+    goto done;
+  }
 
   ret = TRUE;
 done:
+  if (err)
+    g_clear_error (&err);
   if (object)
-    (*env)->DeleteLocalRef (env, object);
+    gst_amc_jni_object_local_unref (env, object);
 
   return ret;
 }
 
 void
 gst_ah_camera_set_preview_texture (GstAHCamera * self,
-    GstAGSurfaceTexture * surfaceTexture)
+    GstAmcSurfaceTexture * surfaceTexture)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHC_CALL (, Void, setPreviewTexture, surfaceTexture->object);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.setPreviewTexture, surfaceTexture->jobject);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.setPreviewTexture: %s",
+        err->message);
+    g_clear_error (&err);
+  }
 }
 
 gboolean
 gst_ah_camera_start_preview (GstAHCamera * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHC_CALL (return FALSE, Void, startPreview);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.startPreview);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.startPreview: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -2482,8 +2536,16 @@
 gst_ah_camera_start_smooth_zoom (GstAHCamera * self, gint value)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHC_CALL (return FALSE, Void, startSmoothZoom, value);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.startSmoothZoom, value);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.startSmoothZoom: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -2492,8 +2554,16 @@
 gst_ah_camera_stop_preview (GstAHCamera * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHC_CALL (return FALSE, Void, stopPreview);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.stopPreview);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.stopPreview: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -2502,8 +2572,16 @@
 gst_ah_camera_stop_smooth_zoom (GstAHCamera * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHC_CALL (return FALSE, Void, stopSmoothZoom);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.stopSmoothZoom);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.stopSmoothZoom: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -2512,20 +2590,25 @@
 gst_ah_camera_unlock (GstAHCamera * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHC_CALL (return FALSE, Void, unlock);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera.unlock);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.unlock: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
 
-#undef AHC_CALL
-#undef AHC_STATIC_CALL
-
 /* android.hardware.Camera.Size */
 GstAHCSize *
 gst_ahc_size_new (gint width, gint height)
 {
-  GstAHCSize *self = g_slice_new0 (GstAHCSize);
+  GstAHCSize *self = g_slice_new (GstAHCSize);
 
   self->width = width;
   self->height = height;
@@ -2575,14 +2658,6 @@
 
 
 /* android.hardware.Camera.Parameters */
-#define AHCP_CALL(error_statement, type, method, ...)                   \
-  GST_DVM_CALL (error_statement, self->object, type,                    \
-      android_hardware_camera_parameters, method, ## __VA_ARGS__);
-
-#define AHCP_STATIC_CALL(error_statement, type, method, ...)            \
-  GST_DVM_STATIC_CALL (error_statement, type,                           \
-      android_hardware_camera_parameters, method, ## __VA_ARGS__);
-
 static const gchar *
 _white_balance_to_gchar (JNIEnv * env, jstring white_balance)
 {
@@ -2953,11 +3028,19 @@
 gst_ahc_parameters_flatten (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jstring v_str = NULL;
   const gchar *v = NULL;
   gchar *ret = NULL;
 
-  v_str = AHCP_CALL (goto done, Object, flatten);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.flatten, &v_str);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.flatten: %s",
+        err->message);
+    goto done;
+  }
+
   v = (*env)->GetStringUTFChars (env, v_str, NULL);
   if (!v) {
     GST_ERROR ("Failed to convert string to UTF8");
@@ -2967,10 +3050,12 @@
 
   ret = g_strdup (v);
 done:
+  if (err)
+    g_clear_error (&err);
   if (v)
     (*env)->ReleaseStringUTFChars (env, v_str, v);
   if (v_str)
-    (*env)->DeleteLocalRef (env, v_str);
+    gst_amc_jni_object_local_unref (env, v_str);
 
   return ret;
 }
@@ -2979,15 +3064,23 @@
 gst_ahc_parameters_get_antibanding (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   const gchar *ret = NULL;
   jstring antibanding;
 
-  antibanding = AHCP_CALL (return NULL, Object, getAntibanding);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getAntibanding, &antibanding);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getAntibanding: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   ret = _antibanding_to_gchar (env, antibanding);
 
   if (antibanding)
-    (*env)->DeleteLocalRef (env, antibanding);
+    gst_amc_jni_object_local_unref (env, antibanding);
 
   return ret;
 }
@@ -2996,15 +3089,23 @@
 gst_ahc_parameters_get_color_effect (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   const gchar *ret = NULL;
   jstring color_effect;
 
-  color_effect = AHCP_CALL (return NULL, Object, getColorEffect);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getColorEffect, &color_effect);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getColorEffect: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   ret = _color_effect_to_gchar (env, color_effect);
 
   if (color_effect)
-    (*env)->DeleteLocalRef (env, color_effect);
+    gst_amc_jni_object_local_unref (env, color_effect);
 
   return ret;
 }
@@ -3013,9 +3114,17 @@
 gst_ahc_parameters_get_exposure_compensation (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gint ev;
 
-  ev = AHCP_CALL (return -1, Int, getExposureCompensation);
+  gst_amc_jni_call_int_method (env, &err, self->object,
+    android_hardware_camera_parameters.getExposureCompensation, &ev);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getExposureCompensation: %s",
+        err->message);
+    g_clear_error (&err);
+    return -1;
+  }
 
   return ev;
 }
@@ -3024,9 +3133,17 @@
 gst_ahc_parameters_get_exposure_compensation_step (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gfloat step;
 
-  step = AHCP_CALL (return 0.0, Float, getExposureCompensationStep);
+  gst_amc_jni_call_float_method (env, &err, self->object,
+    android_hardware_camera_parameters.getExposureCompensationStep, &step);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getExposureCompensationStep: %s",
+        err->message);
+    g_clear_error (&err);
+    return 0.0;
+  }
 
   return step;
 }
@@ -3035,15 +3152,23 @@
 gst_ahc_parameters_get_flash_mode (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   const gchar *ret = NULL;
   jstring flash_mode;
 
-  flash_mode = AHCP_CALL (return NULL, Object, getFlashMode);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getFlashMode, &flash_mode);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getFlashMode: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   ret = _flash_mode_to_gchar (env, flash_mode);
 
   if (flash_mode)
-    (*env)->DeleteLocalRef (env, flash_mode);
+    gst_amc_jni_object_local_unref (env, flash_mode);
 
   return ret;
 }
@@ -3052,9 +3177,17 @@
 gst_ahc_parameters_get_focal_length (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gfloat length;
 
-  length = AHCP_CALL (return 0.0, Float, getFocalLength);
+  gst_amc_jni_call_float_method (env, &err, self->object,
+    android_hardware_camera_parameters.getFocalLength, &length);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getFocalLength: %s",
+        err->message);
+    g_clear_error (&err);
+    return 0.0;
+  }
 
   return length;
 }
@@ -3063,15 +3196,23 @@
 gst_ahc_parameters_get_focus_mode (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   const gchar *ret = NULL;
   jstring focus_mode;
 
-  focus_mode = AHCP_CALL (return NULL, Object, getFocusMode);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getFocusMode, &focus_mode);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getFocusMode: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   ret = _focus_mode_to_gchar (env, focus_mode);
 
   if (focus_mode)
-    (*env)->DeleteLocalRef (env, focus_mode);
+    gst_amc_jni_object_local_unref (env, focus_mode);
 
   return ret;
 }
@@ -3080,9 +3221,17 @@
 gst_ahc_parameters_get_horizontal_view_angle (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gfloat angle;
 
-  angle = AHCP_CALL (return 0.0, Float, getHorizontalViewAngle);
+  gst_amc_jni_call_float_method (env, &err, self->object,
+    android_hardware_camera_parameters.getHorizontalViewAngle, &angle);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getHorizontalViewAngle: %s",
+        err->message);
+    g_clear_error (&err);
+    return 0.0;
+  }
 
   return angle;
 }
@@ -3091,9 +3240,17 @@
 gst_ahc_parameters_get_max_exposure_compensation (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gint max;
 
-  max = AHCP_CALL (return 0, Int, getMaxExposureCompensation);
+  gst_amc_jni_call_int_method (env, &err, self->object,
+    android_hardware_camera_parameters.getMaxExposureCompensation, &max);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getMaxExposureCompensation: %s",
+        err->message);
+    g_clear_error (&err);
+    return 0;
+  }
 
   return max;
 }
@@ -3102,9 +3259,17 @@
 gst_ahc_parameters_get_max_zoom (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gint max;
 
-  max = AHCP_CALL (return -1, Int, getMaxZoom);
+  gst_amc_jni_call_int_method (env, &err, self->object,
+    android_hardware_camera_parameters.getMaxZoom, &max);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getMaxZoom: %s",
+        err->message);
+    g_clear_error (&err);
+    return -1;
+  }
 
   return max;
 }
@@ -3113,9 +3278,17 @@
 gst_ahc_parameters_get_min_exposure_compensation (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gint min;
 
-  min = AHCP_CALL (return 0, Int, getMinExposureCompensation);
+  gst_amc_jni_call_int_method (env, &err, self->object,
+    android_hardware_camera_parameters.getMinExposureCompensation, &min);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getMinExposureCompensation: %s",
+        err->message);
+    g_clear_error (&err);
+    return 0;
+  }
 
   return min;
 }
@@ -3124,9 +3297,17 @@
 gst_ahc_parameters_get_preview_format (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gint format;
 
-  format = AHCP_CALL (return 0, Int, getPreviewFormat);
+  gst_amc_jni_call_int_method (env, &err, self->object,
+    android_hardware_camera_parameters.getPreviewFormat, &format);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getPreviewFormat: %s",
+        err->message);
+    g_clear_error (&err);
+    return 0;
+  }
 
   return format;
 }
@@ -3136,6 +3317,7 @@
     gint * min, gint * max)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gboolean ret = FALSE;
   jintArray range = NULL;
   jint *fps = NULL;
@@ -3147,7 +3329,13 @@
     goto done;
   }
 
-  AHCP_CALL (goto done, Void, getPreviewFpsRange, range);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera_parameters.getPreviewFpsRange, range);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getPreviewFpsRange: %s",
+        err->message);
+    goto done;
+  }
 
   fps = (*env)->GetIntArrayElements (env, range, NULL);
   if ((*env)->ExceptionCheck (env) || !fps) {
@@ -3162,10 +3350,12 @@
 
   ret = TRUE;
 done:
+  if (err)
+    g_clear_error (&err);
   if (fps)
     (*env)->ReleaseIntArrayElements (env, range, fps, JNI_ABORT);
   if (range)
-    (*env)->DeleteLocalRef (env, range);
+    gst_amc_jni_object_local_unref (env, range);
 
   return ret;
 }
@@ -3174,13 +3364,19 @@
 gst_ahc_parameters_get_preview_size (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject jsize = NULL;
   GstAHCSize *size = NULL;
 
-  jsize = AHCP_CALL (goto done, Object, getPreviewSize);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getPreviewSize, &jsize);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getPreviewSize: %s",
+        err->message);
+    goto done;
+  }
 
-  size = g_slice_new0 (GstAHCSize);
-
+  size = g_slice_new (GstAHCSize);
   size->width = (*env)->GetIntField (env, jsize,
       android_hardware_camera_size.width);
   if ((*env)->ExceptionCheck (env)) {
@@ -3202,8 +3398,10 @@
   }
 
 done:
+  if (err)
+    g_clear_error (&err);
   if (jsize)
-    (*env)->DeleteLocalRef (env, jsize);
+    gst_amc_jni_object_local_unref (env, jsize);
 
   return size;
 }
@@ -3212,15 +3410,23 @@
 gst_ahc_parameters_get_scene_mode (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   const gchar *ret = NULL;
   jstring scene_mode;
 
-  scene_mode = AHCP_CALL (return NULL, Object, getSceneMode);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getSceneMode, &scene_mode);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSceneMode: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   ret = _scene_mode_to_gchar (env, scene_mode);
 
   if (scene_mode)
-    (*env)->DeleteLocalRef (env, scene_mode);
+    gst_amc_jni_object_local_unref (env, scene_mode);
 
   return ret;
 }
@@ -3229,10 +3435,18 @@
 gst_ahc_parameters_get_supported_antibanding (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject list = NULL;
   GList *ret = NULL;
 
-  list = AHCP_CALL (return NULL, Object, getSupportedAntibanding);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getSupportedAntibanding, &list);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedAntibanding: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   if (list) {
     jobject iterator = NULL;
@@ -3246,12 +3460,12 @@
           const gchar *value = _antibanding_to_gchar (env, str);
 
           ret = g_list_append (ret, (gchar *) value);
-          (*env)->DeleteLocalRef (env, str);
+          gst_amc_jni_object_local_unref (env, str);
         }
       }
-      (*env)->DeleteLocalRef (env, iterator);
+      gst_amc_jni_object_local_unref (env, iterator);
     }
-    (*env)->DeleteLocalRef (env, list);
+    gst_amc_jni_object_local_unref (env, list);
   }
 
   return ret;
@@ -3267,10 +3481,18 @@
 gst_ahc_parameters_get_supported_color_effects (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject list = NULL;
   GList *ret = NULL;
 
-  list = AHCP_CALL (return NULL, Object, getSupportedColorEffects);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getSupportedColorEffects, &list);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedColorEffects: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   if (list) {
     jobject iterator = NULL;
@@ -3284,12 +3506,12 @@
           const gchar *value = _color_effect_to_gchar (env, str);
 
           ret = g_list_append (ret, (gchar *) value);
-          (*env)->DeleteLocalRef (env, str);
+          gst_amc_jni_object_local_unref (env, str);
         }
       }
-      (*env)->DeleteLocalRef (env, iterator);
+      gst_amc_jni_object_local_unref (env, iterator);
     }
-    (*env)->DeleteLocalRef (env, list);
+    gst_amc_jni_object_local_unref (env, list);
   }
 
   return ret;
@@ -3305,10 +3527,18 @@
 gst_ahc_parameters_get_supported_flash_modes (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject list = NULL;
   GList *ret = NULL;
 
-  list = AHCP_CALL (return NULL, Object, getSupportedFlashModes);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getSupportedFlashModes, &list);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedFlashModes: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   if (list) {
     jobject iterator = NULL;
@@ -3322,12 +3552,12 @@
           const gchar *value = _flash_mode_to_gchar (env, str);
 
           ret = g_list_append (ret, (gchar *) value);
-          (*env)->DeleteLocalRef (env, str);
+          gst_amc_jni_object_local_unref (env, str);
         }
       }
-      (*env)->DeleteLocalRef (env, iterator);
+      gst_amc_jni_object_local_unref (env, iterator);
     }
-    (*env)->DeleteLocalRef (env, list);
+    gst_amc_jni_object_local_unref (env, list);
   }
 
   return ret;
@@ -3343,10 +3573,18 @@
 gst_ahc_parameters_get_supported_focus_modes (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject list = NULL;
   GList *ret = NULL;
 
-  list = AHCP_CALL (return NULL, Object, getSupportedFocusModes);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getSupportedFocusModes, &list);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedFocusModes: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   if (list) {
     jobject iterator = NULL;
@@ -3360,12 +3598,12 @@
           const gchar *value = _focus_mode_to_gchar (env, str);
 
           ret = g_list_append (ret, (gchar *) value);
-          (*env)->DeleteLocalRef (env, str);
+          gst_amc_jni_object_local_unref (env, str);
         }
       }
-      (*env)->DeleteLocalRef (env, iterator);
+      gst_amc_jni_object_local_unref (env, iterator);
     }
-    (*env)->DeleteLocalRef (env, list);
+    gst_amc_jni_object_local_unref (env, list);
   }
 
   return ret;
@@ -3381,10 +3619,18 @@
 gst_ahc_parameters_get_supported_preview_formats (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject list = NULL;
   GList *ret = NULL;
 
-  list = AHCP_CALL (return NULL, Object, getSupportedPreviewFormats);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getSupportedPreviewFormats, &list);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedPreviewFormats: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   if (list) {
     jobject iterator = NULL;
@@ -3398,12 +3644,12 @@
           jint value = java_lang_integer_int_value (env, integer);
 
           ret = g_list_append (ret, GINT_TO_POINTER (value));
-          (*env)->DeleteLocalRef (env, integer);
+          gst_amc_jni_object_local_unref (env, integer);
         }
       }
-      (*env)->DeleteLocalRef (env, iterator);
+      gst_amc_jni_object_local_unref (env, iterator);
     }
-    (*env)->DeleteLocalRef (env, list);
+    gst_amc_jni_object_local_unref (env, list);
   }
 
   return ret;
@@ -3419,10 +3665,18 @@
 gst_ahc_parameters_get_supported_preview_fps_range (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject list = NULL;
   GList *ret = NULL;
 
-  list = AHCP_CALL (return NULL, Object, getSupportedPreviewFpsRange);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getSupportedPreviewFpsRange, &list);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedPreviewFpsRange: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   if (list) {
     jobject iterator = NULL;
@@ -3437,12 +3691,12 @@
 
           (*env)->GetIntArrayRegion (env, range, 0, 2, fps);
           ret = g_list_append (ret, fps);
-          (*env)->DeleteLocalRef (env, range);
+          gst_amc_jni_object_local_unref (env, range);
         }
       }
-      (*env)->DeleteLocalRef (env, iterator);
+      gst_amc_jni_object_local_unref (env, iterator);
     }
-    (*env)->DeleteLocalRef (env, list);
+    gst_amc_jni_object_local_unref (env, list);
   }
 
   return ret;
@@ -3459,10 +3713,18 @@
 gst_ahc_parameters_get_supported_preview_sizes (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject list = NULL;
   GList *ret = NULL;
 
-  list = AHCP_CALL (return NULL, Object, getSupportedPreviewSizes);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getSupportedPreviewSizes, &list);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedPreviewSizes: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   if (list) {
     jobject iterator = NULL;
@@ -3481,12 +3743,12 @@
               android_hardware_camera_size.height);
 
           ret = g_list_append (ret, gst_ahc_size_new (width, height));
-          (*env)->DeleteLocalRef (env, jsize);
+          gst_amc_jni_object_local_unref (env, jsize);
         }
       }
-      (*env)->DeleteLocalRef (env, iterator);
+      gst_amc_jni_object_local_unref (env, iterator);
     }
-    (*env)->DeleteLocalRef (env, list);
+    gst_amc_jni_object_local_unref (env, list);
   }
 
   return ret;
@@ -3503,10 +3765,18 @@
 gst_ahc_parameters_get_supported_scene_modes (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject list = NULL;
   GList *ret = NULL;
 
-  list = AHCP_CALL (return NULL, Object, getSupportedSceneModes);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getSupportedSceneModes, &list);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedSceneModes: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   if (list) {
     jobject iterator = NULL;
@@ -3520,12 +3790,12 @@
           const gchar *value = _scene_mode_to_gchar (env, str);
 
           ret = g_list_append (ret, (gchar *) value);
-          (*env)->DeleteLocalRef (env, str);
+          gst_amc_jni_object_local_unref (env, str);
         }
       }
-      (*env)->DeleteLocalRef (env, iterator);
+      gst_amc_jni_object_local_unref (env, iterator);
     }
-    (*env)->DeleteLocalRef (env, list);
+    gst_amc_jni_object_local_unref (env, list);
   }
 
   return ret;
@@ -3541,10 +3811,18 @@
 gst_ahc_parameters_get_supported_white_balance (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject list = NULL;
   GList *ret = NULL;
 
-  list = AHCP_CALL (return NULL, Object, getSupportedWhiteBalance);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getSupportedWhiteBalance, &list);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedWhiteBalance: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   if (list) {
     jobject iterator = NULL;
@@ -3558,12 +3836,12 @@
           const gchar *value = _white_balance_to_gchar (env, str);
 
           ret = g_list_append (ret, (gchar *) value);
-          (*env)->DeleteLocalRef (env, str);
+          gst_amc_jni_object_local_unref (env, str);
         }
       }
-      (*env)->DeleteLocalRef (env, iterator);
+      gst_amc_jni_object_local_unref (env, iterator);
     }
-    (*env)->DeleteLocalRef (env, list);
+    gst_amc_jni_object_local_unref (env, list);
   }
 
   return ret;
@@ -3579,9 +3857,17 @@
 gst_ahc_parameters_get_vertical_view_angle (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gfloat angle;
 
-  angle = AHCP_CALL (return 0.0, Float, getVerticalViewAngle);
+  gst_amc_jni_call_float_method (env, &err, self->object,
+    android_hardware_camera_parameters.getVerticalViewAngle, &angle);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getVerticalViewAngle: %s",
+        err->message);
+    g_clear_error (&err);
+    return 0.0;
+  }
 
   return angle;
 }
@@ -3590,9 +3876,17 @@
 gst_ahc_parameters_get_video_stabilization (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gboolean ret;
 
-  ret = AHCP_CALL (return FALSE, Boolean, getVideoStabilization);
+  gst_amc_jni_call_boolean_method (env, &err, self->object,
+    android_hardware_camera_parameters.getVideoStabilization, &ret);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getVideoStabilization: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return ret;
 }
@@ -3601,15 +3895,23 @@
 gst_ahc_parameters_get_white_balance (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   const gchar *ret = NULL;
   jstring white_balance;
 
-  white_balance = AHCP_CALL (return NULL, Object, getWhiteBalance);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getWhiteBalance, &white_balance);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getWhiteBalance: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   ret = _white_balance_to_gchar (env, white_balance);
 
   if (white_balance)
-    (*env)->DeleteLocalRef (env, white_balance);
+    gst_amc_jni_object_local_unref (env, white_balance);
 
   return ret;
 }
@@ -3618,9 +3920,17 @@
 gst_ahc_parameters_get_zoom (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gint zoom;
 
-  zoom = AHCP_CALL (return -1, Int, getZoom);
+  gst_amc_jni_call_int_method (env, &err, self->object,
+    android_hardware_camera_parameters.getZoom, &zoom);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getZoom: %s",
+        err->message);
+    g_clear_error (&err);
+    return -1;
+  }
 
   return zoom;
 }
@@ -3629,10 +3939,18 @@
 gst_ahc_parameters_get_zoom_ratios (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jobject list = NULL;
   GList *ret = NULL;
 
-  list = AHCP_CALL (return NULL, Object, getZoomRatios);
+  gst_amc_jni_call_object_method (env, &err, self->object,
+    android_hardware_camera_parameters.getZoomRatios, &list);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getZoomRatios: %s",
+        err->message);
+    g_clear_error (&err);
+    return NULL;
+  }
 
   if (list) {
     jobject iterator = NULL;
@@ -3646,12 +3964,12 @@
           jint value = java_lang_integer_int_value (env, integer);
 
           ret = g_list_append (ret, GINT_TO_POINTER (value));
-          (*env)->DeleteLocalRef (env, integer);
+          gst_amc_jni_object_local_unref (env, integer);
         }
       }
-      (*env)->DeleteLocalRef (env, iterator);
+      gst_amc_jni_object_local_unref (env, iterator);
     }
-    (*env)->DeleteLocalRef (env, list);
+    gst_amc_jni_object_local_unref (env, list);
   }
 
   return ret;
@@ -3667,9 +3985,17 @@
 gst_ahc_parameters_is_smooth_zoom_supported (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gboolean supported;
 
-  supported = AHCP_CALL (return FALSE, Boolean, isSmoothZoomSupported);
+  gst_amc_jni_call_boolean_method (env, &err, self->object,
+    android_hardware_camera_parameters.isSmoothZoomSupported, &supported);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.isSmoothZoomSupported: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return supported;
 }
@@ -3678,9 +4004,18 @@
 gst_ahc_parameters_is_video_stabilization_supported (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gboolean supported;
 
-  supported = AHCP_CALL (return FALSE, Boolean, isVideoStabilizationSupported);
+  gst_amc_jni_call_boolean_method (env, &err, self->object,
+    android_hardware_camera_parameters.isVideoStabilizationSupported,
+    &supported);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.isVideoStabilizationSupported: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return supported;
 }
@@ -3689,9 +4024,17 @@
 gst_ahc_parameters_is_zoom_supported (GstAHCParameters * self)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   gboolean supported;
 
-  supported = AHCP_CALL (return FALSE, Boolean, isZoomSupported);
+  gst_amc_jni_call_boolean_method (env, &err, self->object,
+    android_hardware_camera_parameters.isZoomSupported, &supported);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.isZoomSupported: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return supported;
 }
@@ -3701,13 +4044,21 @@
     const gchar * value)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jstring antibanding;
 
   antibanding = _antibanding_to_jstring (value);
   if (!antibanding)
     return FALSE;
 
-  AHCP_CALL (return FALSE, Void, setAntibanding, antibanding);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera_parameters.setAntibanding, antibanding);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setAntibanding: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -3717,13 +4068,21 @@
     const gchar * value)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jstring color_effect;
 
   color_effect = _color_effect_to_jstring (value);
   if (!color_effect)
     return FALSE;
 
-  AHCP_CALL (return FALSE, Void, setColorEffect, color_effect);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera_parameters.setColorEffect, color_effect);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setColorEffect: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -3733,8 +4092,16 @@
     gint value)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHCP_CALL (return FALSE, Void, setExposureCompensation, value);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera_parameters.setExposureCompensation, value);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setExposureCompensation: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -3743,13 +4110,21 @@
 gst_ahc_parameters_set_flash_mode (GstAHCParameters * self, const gchar * value)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jstring flash_mode;
 
   flash_mode = _flash_mode_to_jstring (value);
   if (!flash_mode)
     return FALSE;
 
-  AHCP_CALL (return FALSE, Void, setFlashMode, flash_mode);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera_parameters.setFlashMode, flash_mode);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setFlashMode: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -3758,13 +4133,21 @@
 gst_ahc_parameters_set_focus_mode (GstAHCParameters * self, const gchar * value)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jstring focus_mode;
 
   focus_mode = _focus_mode_to_jstring (value);
   if (!focus_mode)
     return FALSE;
 
-  AHCP_CALL (return FALSE, Void, setFocusMode, focus_mode);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera_parameters.setFocusMode, focus_mode);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setFocusMode: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -3773,8 +4156,16 @@
 gst_ahc_parameters_set_preview_format (GstAHCParameters * self, gint format)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHCP_CALL (return FALSE, Void, setPreviewFormat, format);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera_parameters.setPreviewFormat, format);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setPreviewFormat: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -3784,8 +4175,16 @@
     gint min, gint max)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHCP_CALL (return FALSE, Void, setPreviewFpsRange, min, max);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera_parameters.setPreviewFpsRange, min, max);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setPreviewFpsRange: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -3795,8 +4194,16 @@
     gint width, gint height)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHCP_CALL (return FALSE, Void, setPreviewSize, width, height);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera_parameters.setPreviewSize, width, height);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setPreviewSize: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -3805,13 +4212,21 @@
 gst_ahc_parameters_set_scene_mode (GstAHCParameters * self, const gchar * value)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jstring scene_mode;
 
   scene_mode = _scene_mode_to_jstring (value);
   if (!scene_mode)
     return FALSE;
 
-  AHCP_CALL (return FALSE, Void, setSceneMode, scene_mode);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera_parameters.setSceneMode, scene_mode);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setSceneMode: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -3822,8 +4237,16 @@
     gboolean toggle)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHCP_CALL (return FALSE, Void, setVideoStabilization, toggle);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera_parameters.setVideoStabilization, toggle);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setVideoStabilization: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -3833,13 +4256,21 @@
     const gchar * value)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jstring white_balance;
 
   white_balance = _white_balance_to_jstring (value);
   if (!white_balance)
     return FALSE;
 
-  AHCP_CALL (return FALSE, Void, setWhiteBalance, white_balance);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera_parameters.setWhiteBalance, white_balance);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setWhiteBalance: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -3848,8 +4279,16 @@
 gst_ahc_parameters_set_zoom (GstAHCParameters * self, gint value)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
 
-  AHCP_CALL (return FALSE, Void, setZoom, value);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera_parameters.setZoom, value);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setZoom: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
 
   return TRUE;
 }
@@ -3858,6 +4297,7 @@
 gst_ahc_parameters_unflatten (GstAHCParameters * self, const gchar * flattened)
 {
   JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
   jstring v_str = NULL;
   gboolean ret = TRUE;
 
@@ -3865,9 +4305,16 @@
   if (v_str == NULL)
     return FALSE;
 
-  AHCP_CALL (ret = FALSE, Void, unflatten, v_str);
+  gst_amc_jni_call_void_method (env, &err, self->object,
+    android_hardware_camera_parameters.unflatten, v_str);
+  if (err) {
+    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.unflatten: %s",
+        err->message);
+    g_clear_error (&err);
+    ret = FALSE;
+  }
 
-  (*env)->DeleteLocalRef (env, v_str);
+  gst_amc_jni_object_local_unref (env, self->object);
 
   return ret;
 }
@@ -3882,6 +4329,6 @@
 
   GST_DEBUG ("freeing parameters %p", self->object);
 
-  (*env)->DeleteGlobalRef (env, self->object);
+  gst_amc_jni_object_unref (env, self->object);
   g_slice_free (GstAHCParameters, self);
 }
diff --git a/sys/androidmedia/gst-android-hardware-camera.h b/sys/androidmedia/gst-android-hardware-camera.h
index 44e7842..ab2e25a 100644
--- a/sys/androidmedia/gst-android-hardware-camera.h
+++ b/sys/androidmedia/gst-android-hardware-camera.h
@@ -28,8 +28,8 @@
 #include <gst/gst.h>
 #include <jni.h>
 
-#include "gst-android-graphics-surfacetexture.h"
 #include "gst-android-graphics-imageformat.h"
+#include "gstamcsurfacetexture.h"
 
 G_BEGIN_DECLS
 
@@ -150,7 +150,7 @@
 gboolean gst_ah_camera_set_preview_callback_with_buffer (GstAHCamera * self,
     GstAHCPreviewCallback cb, gpointer user_data);
 void gst_ah_camera_set_preview_texture (GstAHCamera * self,
-    GstAGSurfaceTexture * surfaceTexture);
+    GstAmcSurfaceTexture * surfaceTexture);
 gboolean gst_ah_camera_start_preview (GstAHCamera * self);
 gboolean gst_ah_camera_start_smooth_zoom (GstAHCamera * self, gint value);
 gboolean gst_ah_camera_stop_preview (GstAHCamera * self);
diff --git a/sys/androidmedia/gstahcsrc.c b/sys/androidmedia/gstahcsrc.c
index 2c351a0..2fa1d6f 100644
--- a/sys/androidmedia/gstahcsrc.c
+++ b/sys/androidmedia/gstahcsrc.c
@@ -81,7 +81,7 @@
     const GValue * value, GParamSpec * pspec);
 static void gst_ahc_src_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
-static void gst_ahc_src_dispose (GObject * object);
+static void gst_ahc_src_finalize (GObject * object);
 
 /* GstElement */
 static GstStateChangeReturn gst_ahc_src_change_state (GstElement * element,
@@ -272,7 +272,7 @@
 
   gobject_class->set_property = gst_ahc_src_set_property;
   gobject_class->get_property = gst_ahc_src_get_property;
-  gobject_class->dispose = gst_ahc_src_dispose;
+  gobject_class->finalize = gst_ahc_src_finalize;
 
   element_class->change_state = gst_ahc_src_change_state;
 
@@ -287,8 +287,8 @@
 
   gstpushsrc_class->create = gst_ahc_src_create;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_ahc_src_pad_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_ahc_src_pad_template);
 
   /**
    * GstAHCSrc:device:
@@ -378,7 +378,7 @@
       properties[PROP_VERTICAL_VIEW_ANGLE]);
 
   /**
-   * GstAHCSrc:video-stabilizatio:
+   * GstAHCSrc:video-stabilization:
    *
    * Video stabilization reduces the shaking due to the motion of the camera.
    */
@@ -523,10 +523,6 @@
   properties[PROP_ANALOG_GAIN] = g_object_class_find_property (gobject_class,
       GST_PHOTOGRAPHY_PROP_ANALOG_GAIN);
 
-
-
-  klass->probe_properties = NULL;
-
   gst_element_class_set_static_metadata (element_class,
       "Android Camera Source",
       "Source/Video",
@@ -562,17 +558,14 @@
 }
 
 static void
-gst_ahc_src_dispose (GObject * object)
+gst_ahc_src_finalize (GObject * object)
 {
   GstAHCSrc *self = GST_AHC_SRC (object);
 
-  if (self->queue)
-    g_object_unref (self->queue);
-  self->queue = NULL;
-
+  g_clear_object (&self->queue);
   g_mutex_clear (&self->mutex);
 
-  G_OBJECT_CLASS (parent_class)->dispose (object);
+  G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
 static void
@@ -858,167 +851,6 @@
   }
 }
 
-#if 0
-static const GList *
-gst_ahc_src_probe_get_properties (GstPropertyProbe * probe)
-{
-  GstAHCSrcClass *ahc_class = GST_AHC_SRC_CLASS (probe);
-  GList **list = &ahc_class->probe_properties;
-
-  if (!*list) {
-    *list = g_list_append (*list, properties[PROP_DEVICE]);
-    *list = g_list_append (*list, properties[PROP_EV_COMP]);
-    *list = g_list_append (*list, properties[PROP_ZOOM]);
-    *list = g_list_append (*list, properties[PROP_WB_MODE]);
-    *list = g_list_append (*list, properties[PROP_COLOUR_TONE]);
-    *list = g_list_append (*list, properties[PROP_FLASH_MODE]);
-    *list = g_list_append (*list, properties[PROP_FOCUS_MODE]);
-    *list = g_list_append (*list, properties[PROP_SCENE_MODE]);
-    *list = g_list_append (*list, properties[PROP_FLICKER_MODE]);
-  }
-
-  return *list;
-}
-
-#define PROBE_GET_ENUM_VALUES(name, type, struct_name)                  \
-  if (self->camera) {                                                   \
-    GstAHCParameters *params;                                           \
-                                                                        \
-    params = gst_ah_camera_get_parameters (self->camera);               \
-    if (params) {                                                       \
-      GList *list = gst_ahc_parameters_get_supported_##name (params);   \
-                                                                        \
-      if (list) {                                                       \
-          GValue value = { 0 };                                         \
-          GList *i;                                                     \
-                                                                        \
-          array = g_value_array_new (g_list_length (list));             \
-          g_value_init (&value, type);                                  \
-          for (i = list; i; i = i->next) {                              \
-            struct_name mode;                                           \
-            const gchar *name = i->data;                                \
-                                                                        \
-            if (_##name##_to_enum (name, &mode)) {                      \
-              g_value_set_enum (&value, mode);                          \
-              g_value_array_append (array, &value);                     \
-            }                                                           \
-          }                                                             \
-          g_value_unset (&value);                                       \
-      }                                                                 \
-                                                                        \
-      gst_ahc_parameters_supported_##name##_free (list);                \
-      gst_ahc_parameters_free (params);                                 \
-    }                                                                   \
-  }
-
-
-static GValueArray *
-gst_ahc_src_probe_get_values (GstPropertyProbe * probe,
-    guint prop_id, const GParamSpec * pspec)
-{
-  GstAHCSrc *self = GST_AHC_SRC (probe);
-  GValueArray *array = NULL;
-
-  /* g_object_class_find_property returns overriden property with
-   * param_id == 0, so we can't switch/case the prop_id and
-   * we need to check the pspec instead */
-  if (pspec == properties[PROP_DEVICE]) {
-    GValue value = { 0 };
-    gint num_cams = gst_ah_camera_get_number_of_cameras ();
-    gint i;
-
-    array = g_value_array_new (num_cams);
-    g_value_init (&value, G_TYPE_STRING);
-    for (i = 0; i < num_cams; i++) {
-      g_value_take_string (&value, g_strdup_printf ("%d", i));
-      g_value_array_append (array, &value);
-    }
-    g_value_unset (&value);
-  } else if (pspec == properties[PROP_EV_COMP]) {
-    if (self->camera) {
-      GstAHCParameters *params;
-
-      params = gst_ah_camera_get_parameters (self->camera);
-      if (params) {
-        gint min, max;
-        gfloat step;
-
-        min = gst_ahc_parameters_get_min_exposure_compensation (params);
-        max = gst_ahc_parameters_get_max_exposure_compensation (params);
-        step = gst_ahc_parameters_get_exposure_compensation_step (params);
-
-        if (step != 0.0 && min != max) {
-          GValue value = { 0 };
-          gint i;
-
-          /* Min and Max are inclusive */
-          array = g_value_array_new (max - min + 1);
-          g_value_init (&value, G_TYPE_FLOAT);
-          for (i = min; i <= max; i++) {
-            g_value_set_float (&value, step * i);
-            g_value_array_append (array, &value);
-          }
-          g_value_unset (&value);
-        }
-
-        gst_ahc_parameters_free (params);
-      }
-    }
-  } else if (pspec == properties[PROP_ZOOM]) {
-    if (self->camera) {
-      GstAHCParameters *params;
-
-      params = gst_ah_camera_get_parameters (self->camera);
-      if (params) {
-        GList *zoom_ratios = gst_ahc_parameters_get_zoom_ratios (params);
-        gint max_zoom = gst_ahc_parameters_get_max_zoom (params);
-
-        if (zoom_ratios && g_list_length (zoom_ratios) == (max_zoom + 1)) {
-          GValue value = { 0 };
-          GList *i;
-
-          array = g_value_array_new (max_zoom + 1);
-          g_value_init (&value, G_TYPE_FLOAT);
-          for (i = zoom_ratios; i; i = i->next) {
-            gint zoom_value = GPOINTER_TO_INT (i->data);
-            gfloat zoom = (gfloat) zoom_value / 100.0;
-
-            g_value_set_float (&value, zoom);
-            g_value_array_append (array, &value);
-          }
-          g_value_unset (&value);
-        }
-
-        gst_ahc_parameters_zoom_ratios_free (zoom_ratios);
-        gst_ahc_parameters_free (params);
-      }
-    }
-  } else if (pspec == properties[PROP_WB_MODE]) {
-    PROBE_GET_ENUM_VALUES (white_balance, GST_TYPE_WHITE_BALANCE_MODE,
-        GstPhotographyWhiteBalanceMode);
-  } else if (pspec == properties[PROP_COLOUR_TONE]) {
-    PROBE_GET_ENUM_VALUES (color_effects, GST_TYPE_COLOUR_TONE_MODE,
-        GstPhotographyColorToneMode);
-  } else if (pspec == properties[PROP_FLASH_MODE]) {
-    PROBE_GET_ENUM_VALUES (flash_modes, GST_TYPE_FLASH_MODE,
-        GstPhotographyFlashMode);
-  } else if (pspec == properties[PROP_FOCUS_MODE]) {
-    PROBE_GET_ENUM_VALUES (focus_modes, GST_TYPE_FOCUS_MODE,
-        GstPhotographyFocusMode);
-  } else if (pspec == properties[PROP_SCENE_MODE]) {
-    PROBE_GET_ENUM_VALUES (scene_modes, GST_TYPE_SCENE_MODE,
-        GstPhotographySceneMode);
-  } else if (pspec == properties[PROP_FLICKER_MODE]) {
-    PROBE_GET_ENUM_VALUES (antibanding, GST_TYPE_FLICKER_REDUCTION_MODE,
-        GstPhotographyFlickerReductionMode);
-  } else {
-    G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
-  }
-
-  return array;
-}
-#endif
-
 static gboolean
 _antibanding_to_enum (const gchar * antibanding,
     GstPhotographyFlickerReductionMode * mode)
@@ -2290,7 +2122,7 @@
 
   GST_DEBUG_OBJECT (self, "Received data buffer %p", array);
 
-  malloc_data = g_slice_new0 (FreeFuncBuffer);
+  malloc_data = g_slice_new (FreeFuncBuffer);
   malloc_data->self = gst_object_ref (self);
   malloc_data->array = (*env)->NewGlobalRef (env, array);
   malloc_data->data = (*env)->GetByteArrayElements (env, array, NULL);
@@ -2305,7 +2137,7 @@
   GST_DEBUG_OBJECT (self, "creating wrapped buffer (size: %d)",
       self->buffer_size);
 
-  item = g_slice_new0 (GstDataQueueItem);
+  item = g_slice_new (GstDataQueueItem);
   item->object = GST_MINI_OBJECT (buffer);
   item->size = gst_buffer_get_size (buffer);
   item->duration = GST_BUFFER_DURATION (buffer);
@@ -2338,6 +2170,8 @@
 static gboolean
 gst_ahc_src_open (GstAHCSrc * self)
 {
+  GError *err = NULL;
+
   GST_DEBUG_OBJECT (self, "Opening camera");
 
   self->camera = gst_ah_camera_open (self->device);
@@ -2345,29 +2179,44 @@
   if (self->camera) {
     GST_DEBUG_OBJECT (self, "Opened camera");
 
-    self->texture = gst_ag_surfacetexture_new (0);
+    self->texture = gst_amc_surface_texture_new (&err);
+    if (self->texture == NULL) {
+      GST_ERROR_OBJECT (self,
+          "Failed to create surface texture object: %s", err->message);
+      g_clear_error (&err);
+      goto failed_surfacetexutre;
+    }
     gst_ah_camera_set_preview_texture (self->camera, self->texture);
     self->buffer_size = 0;
   } else {
     gint num_cams = gst_ah_camera_get_number_of_cameras ();
     if (num_cams > 0 && self->device < num_cams) {
       GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND,
-          ("Unable to open device '%d'.", self->device), GST_ERROR_SYSTEM);
+          ("Unable to open device '%d'.", self->device), (NULL));
     } else if (num_cams > 0) {
       GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND,
-          ("Device '%d' does not exist.", self->device), GST_ERROR_SYSTEM);
+          ("Device '%d' does not exist.", self->device), (NULL));
     } else {
       GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND,
-          ("There are no cameras available on this device."), GST_ERROR_SYSTEM);
+          ("There are no cameras available on this device."), (NULL));
     }
   }
 
   return (self->camera != NULL);
+
+failed_surfacetexutre:
+  gst_ah_camera_release (self->camera);
+  gst_ah_camera_free (self->camera);
+  self->camera = NULL;
+
+  return FALSE;
 }
 
 static void
 gst_ahc_src_close (GstAHCSrc * self)
 {
+  GError *err = NULL;
+
   if (self->camera) {
     gst_ah_camera_set_error_callback (self->camera, NULL, NULL);
     gst_ah_camera_set_preview_callback_with_buffer (self->camera, NULL, NULL);
@@ -2376,11 +2225,13 @@
   }
   self->camera = NULL;
 
-  if (self->texture) {
-    gst_ag_surfacetexture_release (self->texture);
-    gst_ag_surfacetexture_free (self->texture);
+  if (self->texture && !gst_amc_surface_texture_release (self->texture, &err)) {
+    GST_ERROR_OBJECT (self,
+        "Failed to release surface texture object: %s", err->message);
+    g_clear_error (&err);
   }
-  self->texture = NULL;
+
+  g_clear_object (&self->texture);
 }
 
 static GstStateChangeReturn
diff --git a/sys/androidmedia/gstahcsrc.h b/sys/androidmedia/gstahcsrc.h
index fc24989..dc80beb 100644
--- a/sys/androidmedia/gstahcsrc.h
+++ b/sys/androidmedia/gstahcsrc.h
@@ -30,6 +30,7 @@
 #include <gst/base/gstdataqueue.h>
 
 #include "gst-android-hardware-camera.h"
+#include "gstamcsurfacetexture.h"
 
 G_BEGIN_DECLS
 
@@ -59,7 +60,7 @@
   GstPushSrc parent;
 
   GstAHCamera *camera;
-  GstAGSurfaceTexture *texture;
+  GstAmcSurfaceTexture *texture;
   GList *data;
   GstDataQueue *queue;
   gint buffer_size;
@@ -80,7 +81,6 @@
 struct _GstAHCSrcClass
 {
   GstPushSrcClass parent_class;
-  GList *probe_properties;
 };
 
 GType gst_ahc_src_get_type (void);
diff --git a/sys/androidmedia/gstamc.c b/sys/androidmedia/gstamc.c
index 5576855..78fd869 100644
--- a/sys/androidmedia/gstamc.c
+++ b/sys/androidmedia/gstamc.c
@@ -3328,11 +3328,6 @@
   if (!register_codecs (plugin))
     return FALSE;
 
-  if (!gst_android_graphics_surfacetexture_init ()) {
-    GST_ERROR ("Failed to init android surface texture");
-    return FALSE;
-  }
-
   if (!gst_android_graphics_imageformat_init ()) {
     GST_ERROR ("Failed to init android image format");
     goto failed_surfacetexture;
@@ -3354,7 +3349,6 @@
 failed_graphics_imageformat:
   gst_android_graphics_imageformat_deinit ();
 failed_surfacetexture:
-  gst_android_graphics_surfacetexture_deinit ();
   return FALSE;
 }
 
diff --git a/sys/androidmedia/gstamcvideodec.c b/sys/androidmedia/gstamcvideodec.c
index 7c99be0..397b585 100644
--- a/sys/androidmedia/gstamcvideodec.c
+++ b/sys/androidmedia/gstamcvideodec.c
@@ -1354,7 +1354,8 @@
           (GST_GL_MEMORY_ALLOCATOR_NAME));
 
       params = gst_gl_video_allocation_params_new (self->gl_context, NULL,
-          &state->info, 0, NULL, GST_GL_TEXTURE_TARGET_EXTERNAL_OES);
+          &state->info, 0, NULL, GST_GL_TEXTURE_TARGET_EXTERNAL_OES,
+          GST_VIDEO_GL_TEXTURE_TYPE_RGBA);
 
       self->oes_mem = (GstGLMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
           (GstGLAllocationParams *) params);
diff --git a/sys/applemedia-nonpublic/Makefile.in b/sys/applemedia-nonpublic/Makefile.in
index 548a94b..e6c6a72 100644
--- a/sys/applemedia-nonpublic/Makefile.in
+++ b/sys/applemedia-nonpublic/Makefile.in
@@ -344,6 +344,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -559,6 +561,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -685,8 +689,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -731,6 +733,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/applemedia-nonpublic/coremediabuffer.c b/sys/applemedia-nonpublic/coremediabuffer.c
index a8136ba..bec604a 100644
--- a/sys/applemedia-nonpublic/coremediabuffer.c
+++ b/sys/applemedia-nonpublic/coremediabuffer.c
@@ -19,6 +19,19 @@
 
 #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)
 {
@@ -52,7 +65,7 @@
   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) NULL,
+        (GstMetaInitFunction) gst_core_media_meta_init,
         (GstMetaFreeFunction) gst_core_media_meta_free,
         (GstMetaTransformFunction) NULL);
     g_once_init_leave (&core_media_meta_info, meta);
diff --git a/sys/applemedia-nonpublic/corevideobuffer.c b/sys/applemedia-nonpublic/corevideobuffer.c
index 072fe6b..26b5643 100644
--- a/sys/applemedia-nonpublic/corevideobuffer.c
+++ b/sys/applemedia-nonpublic/corevideobuffer.c
@@ -19,6 +19,17 @@
 
 #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)
 {
@@ -54,7 +65,7 @@
   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) NULL,
+        (GstMetaInitFunction) gst_core_video_meta_init,
         (GstMetaFreeFunction) gst_core_video_meta_free,
         (GstMetaTransformFunction) NULL);
     g_once_init_leave (&core_video_meta_info, meta);
diff --git a/sys/applemedia/Makefile.am b/sys/applemedia/Makefile.am
index 87b80b5..164f7a9 100644
--- a/sys/applemedia/Makefile.am
+++ b/sys/applemedia/Makefile.am
@@ -72,9 +72,11 @@
 	vtutil.h				\
 	corevideobuffer.h			\
 	coremediabuffer.h			\
+	corevideomemory.h			\
 	videotexturecache.h			\
 	atdec.h 				\
 	iosassetsrc.h				\
+	iosurfacememory.h			\
 	avfassetsrc.h  				\
 	glcontexthelper.h
 
@@ -96,6 +98,7 @@
 libgstapplemedia_la_LDFLAGS +=			\
 	-Wl,-framework -Wl,Cocoa		\
 	-Wl,-framework -Wl,QTKit		\
+	-Wl,-framework -Wl,OpenGL 		\
 	-Wl,-framework -Wl,IOSurface
 
 endif
diff --git a/sys/applemedia/Makefile.in b/sys/applemedia/Makefile.in
index 05c35b8..0cb0dcb 100644
--- a/sys/applemedia/Makefile.in
+++ b/sys/applemedia/Makefile.in
@@ -105,6 +105,7 @@
 @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 = \
@@ -373,6 +374,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -588,6 +591,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -714,8 +719,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -760,6 +763,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -898,9 +903,11 @@
 	vtutil.h				\
 	corevideobuffer.h			\
 	coremediabuffer.h			\
+	corevideomemory.h			\
 	videotexturecache.h			\
 	atdec.h 				\
 	iosassetsrc.h				\
+	iosurfacememory.h			\
 	avfassetsrc.h  				\
 	glcontexthelper.h
 
diff --git a/sys/applemedia/atdec.c b/sys/applemedia/atdec.c
index c00f0b7..b14891f 100644
--- a/sys/applemedia/atdec.c
+++ b/sys/applemedia/atdec.c
@@ -93,10 +93,10 @@
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   GstAudioDecoderClass *audio_decoder_class = GST_AUDIO_DECODER_CLASS (klass);
 
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
-      gst_static_pad_template_get (&gst_atdec_src_template));
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
-      gst_static_pad_template_get (&gst_atdec_sink_template));
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+      &gst_atdec_src_template);
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass),
+      &gst_atdec_sink_template);
 
   gst_element_class_set_static_metadata (GST_ELEMENT_CLASS (klass),
       "AudioToolbox based audio decoder",
diff --git a/sys/applemedia/avfassetsrc.m b/sys/applemedia/avfassetsrc.m
index 40496a4..e589cf3 100644
--- a/sys/applemedia/avfassetsrc.m
+++ b/sys/applemedia/avfassetsrc.m
@@ -149,10 +149,8 @@
     "Read and decode samples from AVFoundation assets using the AVFAssetReader API",
     "Andoni Morales Alastruey amorales@fluendo.com");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&audio_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&video_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &audio_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &video_factory);
 
   gobject_class->set_property = gst_avf_asset_src_set_property;
   gobject_class->get_property = gst_avf_asset_src_get_property;
@@ -806,15 +804,12 @@
   NSString *str;
   NSURL *url;
   AVAsset *asset;
-  gchar *escaped_uri;
   gboolean ret = FALSE;
 
   OBJC_CALLOUT_BEGIN ();
-  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];
-  g_free (escaped_uri);
 
   if (asset.playable) {
     ret = TRUE;
@@ -822,7 +817,7 @@
     self->uri = g_strdup (uri);
   } else {
     g_set_error (error, GST_URI_ERROR, GST_URI_ERROR_BAD_URI,
-        "Invalid URI '%s' for avfassetsrc", self->uri);
+        "Invalid URI '%s' for avfassetsrc", uri);
   }
   OBJC_CALLOUT_END ();
   return ret;
diff --git a/sys/applemedia/avfvideosrc.m b/sys/applemedia/avfvideosrc.m
index 529bd85..a0cc57b 100644
--- a/sys/applemedia/avfvideosrc.m
+++ b/sys/applemedia/avfvideosrc.m
@@ -1180,8 +1180,7 @@
       "Reads frames from an iOS AVFoundation device",
       "Ole André Vadla Ravnås <oleavr@soundrop.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_template);
 
   g_object_class_install_property (gobject_class, PROP_DEVICE_INDEX,
       g_param_spec_int ("device-index", "Device Index",
diff --git a/sys/applemedia/avsamplevideosink.m b/sys/applemedia/avsamplevideosink.m
index 610b40a..ce17e98 100644
--- a/sys/applemedia/avsamplevideosink.m
+++ b/sys/applemedia/avsamplevideosink.m
@@ -106,8 +106,7 @@
       "Sink/Video", "A videosink based on AVSampleBuffer's",
       "Matthew Waters <matthew@centricular.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_av_sample_video_sink_template));
+  gst_element_class_add_static_pad_template (element_class, &gst_av_sample_video_sink_template);
 
   gobject_class->finalize = gst_av_sample_video_sink_finalize;
 
@@ -749,7 +748,10 @@
     _request_data (av_sink);
   g_mutex_unlock (&av_sink->render_lock);
 
-#if defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1010
+#if defined(MAC_OS_X_VERSION_MAX_ALLOWED) && \
+    MAC_OS_X_VERSION_MAX_ALLOWED >= 1010 && \
+    defined(MAC_OS_X_VERSION_MIN_REQUIRED) && \
+    MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4
   if ([av_sink->layer status] == AVQueuedSampleBufferRenderingStatusFailed) {
     GST_ERROR_OBJECT (av_sink, "failed to enqueue buffer on layer, %s",
         [[[av_sink->layer error] description] UTF8String]);
diff --git a/sys/applemedia/coremediabuffer.c b/sys/applemedia/coremediabuffer.c
index cf34224..8960de6 100644
--- a/sys/applemedia/coremediabuffer.c
+++ b/sys/applemedia/coremediabuffer.c
@@ -48,6 +48,18 @@
     meta->pixel_buf = NULL;
 }
 
+static gboolean
+gst_core_media_meta_init (GstCoreMediaMeta * meta, gpointer params,
+    GstBuffer * buf)
+{
+  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)
 {
@@ -99,7 +111,7 @@
   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) NULL,
+        (GstMetaInitFunction) gst_core_media_meta_init,
         (GstMetaFreeFunction) gst_core_media_meta_free,
         (GstMetaTransformFunction) gst_core_media_meta_transform);
     g_once_init_leave (&core_media_meta_info, meta);
diff --git a/sys/applemedia/corevideobuffer.c b/sys/applemedia/corevideobuffer.c
index 67d899c..0ad480d 100644
--- a/sys/applemedia/corevideobuffer.c
+++ b/sys/applemedia/corevideobuffer.c
@@ -33,6 +33,16 @@
   meta->pixbuf = (CVPixelBufferRef) cvbuf;
 }
 
+static gboolean
+gst_core_video_meta_init (GstCoreVideoMeta * meta, gpointer params,
+    GstBuffer * buf)
+{
+  meta->cvbuf = NULL;
+  meta->pixbuf = NULL;
+
+  return TRUE;
+}
+
 static void
 gst_core_video_meta_free (GstCoreVideoMeta * meta, GstBuffer * buf)
 {
@@ -75,7 +85,7 @@
   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) NULL,
+        (GstMetaInitFunction) gst_core_video_meta_init,
         (GstMetaFreeFunction) gst_core_video_meta_free,
         (GstMetaTransformFunction) gst_core_video_meta_transform);
     g_once_init_leave (&core_video_meta_info, meta);
diff --git a/sys/applemedia/corevideomemory.h b/sys/applemedia/corevideomemory.h
new file mode 100644
index 0000000..d81781c
--- /dev/null
+++ b/sys/applemedia/corevideomemory.h
@@ -0,0 +1,109 @@
+/* GStreamer Apple Core Video memory
+ * Copyright (C) 2015 Ilya Konstantinov
+ *
+ * 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., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_APPLE_CORE_VIDEO_MEMORY_H__
+#define __GST_APPLE_CORE_VIDEO_MEMORY_H__
+
+#include <gst/gst.h>
+
+#include "CoreVideo/CoreVideo.h"
+
+G_BEGIN_DECLS
+
+/**
+ * GstAppleCoreVideoLockState:
+ *
+ * Specifies whether the backing CVPixelBuffer is locked for read-only
+ * or read-write.
+ *
+ * Locking for reading only improves performance by preventing
+ * Core Video from invalidating existing caches of the buffer’s contents.
+ */
+typedef enum
+{
+  GST_APPLE_CORE_VIDEO_MEMORY_UNLOCKED,
+  GST_APPLE_CORE_VIDEO_MEMORY_LOCKED_READONLY,
+  GST_APPLE_CORE_VIDEO_MEMORY_LOCKED_READ_WRITE
+} GstAppleCoreVideoLockState;
+
+/**
+ * GstAppleCoreVideoPixelBuffer:
+ *
+ * This structure wraps CVPixelBuffer, managing its lock states and reference count.
+ * It will be referenced by one or more #GstAppleCoreVideoMemory.
+ */
+typedef struct
+{
+  guint refcount;
+  GMutex mutex;
+  CVPixelBufferRef buf;
+  /* Allows mem_map to refuse Read-Write locking a buffer that was previously
+   * locked for Read-Only. */
+  GstAppleCoreVideoLockState lock_state;
+  /* Counts the number of times the buffer was locked.
+   * Only the first lock affects whether it's just for reading
+   * or for reading and writing, as reflected in @lock_state. */
+  guint lock_count;
+} 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,
+ * backed by a CVPixelBuffer.
+ *
+ * This structure shares a #GstAppleCoreVideoPixelBuffer instance
+ * with other instances.
+ */
+typedef struct
+{
+  GstMemory mem;
+
+  GstAppleCoreVideoPixelBuffer *gpixbuf;
+  size_t plane;
+} GstAppleCoreVideoMemory;
+
+void
+gst_apple_core_video_memory_init (void);
+
+GstAppleCoreVideoPixelBuffer *
+gst_apple_core_video_pixel_buffer_new (CVPixelBufferRef pixbuf);
+
+GstAppleCoreVideoPixelBuffer *
+gst_apple_core_video_pixel_buffer_ref (GstAppleCoreVideoPixelBuffer * shared);
+
+void
+gst_apple_core_video_pixel_buffer_unref (GstAppleCoreVideoPixelBuffer * shared);
+
+gboolean
+gst_is_apple_core_video_memory (GstMemory * mem);
+
+GstMemory *
+gst_apple_core_video_memory_new_wrapped (GstAppleCoreVideoPixelBuffer * shared, gsize plane, gsize size);
+
+G_END_DECLS
+
+#endif /* __GST_APPLE_CORE_VIDEO_MEMORY_H__ */
diff --git a/sys/applemedia/iosassetsrc.m b/sys/applemedia/iosassetsrc.m
index 0539340..e237c2e 100644
--- a/sys/applemedia/iosassetsrc.m
+++ b/sys/applemedia/iosassetsrc.m
@@ -129,8 +129,7 @@
       "Read from arbitrary point in a iOS asset",
       "Andoni Morales Alastruey <amorales@fluendo.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
 
   gstbasesrc_class->start = GST_DEBUG_FUNCPTR (gst_ios_asset_src_start);
   gstbasesrc_class->stop = GST_DEBUG_FUNCPTR (gst_ios_asset_src_stop);
@@ -207,9 +206,9 @@
   url = [[NSURL alloc] initWithString:nsuristr];
 
   if (url == NULL) {
-    GST_ERROR_OBJECT (src, "Invalid URI: %s", src->uri);
+    GST_ERROR_OBJECT (src, "Invalid URI: %s", uri);
     g_set_error (err, GST_URI_ERROR, GST_URI_ERROR_BAD_URI,
-        "Invalid URI: %s", src->uri);
+        "Invalid URI: %s", uri);
     return FALSE;
   }
 
diff --git a/sys/applemedia/iosurfacememory.c b/sys/applemedia/iosurfacememory.c
index 694202c..23f03f9 100644
--- a/sys/applemedia/iosurfacememory.c
+++ b/sys/applemedia/iosurfacememory.c
@@ -160,6 +160,7 @@
 _io_surface_memory_new (GstGLContext * context,
     IOSurfaceRef surface,
     GstGLTextureTarget target,
+    GstVideoGLTextureType tex_type,
     GstVideoInfo * info,
     guint plane,
     GstVideoAlignment * valign, gpointer user_data, GDestroyNotify notify)
@@ -170,7 +171,7 @@
 
   mem = g_new0 (GstIOSurfaceMemory, 1);
   gst_gl_memory_init (&mem->gl_mem, _io_surface_memory_allocator, NULL, context,
-      target, NULL, info, plane, valign, user_data, notify);
+      target, tex_type, NULL, info, plane, valign, user_data, notify);
 
   GST_MINI_OBJECT_FLAG_SET (mem, GST_MEMORY_FLAG_READONLY);
 
@@ -184,11 +185,12 @@
 gst_io_surface_memory_wrapped (GstGLContext * context,
     IOSurfaceRef surface,
     GstGLTextureTarget target,
+    GstVideoGLTextureType tex_type,
     GstVideoInfo * info,
     guint plane,
     GstVideoAlignment * valign, gpointer user_data, GDestroyNotify notify)
 {
-  return _io_surface_memory_new (context, surface, target, info,
+  return _io_surface_memory_new (context, surface, target, tex_type, info,
       plane, valign, user_data, notify);
 }
 
diff --git a/sys/applemedia/iosurfacememory.h b/sys/applemedia/iosurfacememory.h
new file mode 100644
index 0000000..5d281ac
--- /dev/null
+++ b/sys/applemedia/iosurfacememory.h
@@ -0,0 +1,79 @@
+/*
+ * 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.
+ */
+
+#ifndef _GST_IO_SURFACE_MEMORY_H_
+#define _GST_IO_SURFACE_MEMORY_H_
+
+#include <IOSurface/IOSurface.h>
+#include <gst/gst.h>
+#include <gst/gstallocator.h>
+#include <gst/video/video.h>
+#include <gst/gl/gl.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_IO_SURFACE_MEMORY_ALLOCATOR (gst_io_surface_memory_allocator_get_type())
+GType gst_io_surface_memory_allocator_get_type(void);
+
+#define GST_IS_IO_SURFACE_MEMORY_ALLOCATOR(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_IO_SURFACE_MEMORY_ALLOCATOR))
+#define GST_IS_IO_SURFACE_MEMORY_ALLOCATOR_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_IO_SURFACE_MEMORY_ALLOCATOR))
+#define GST_IO_SURFACE_MEMORY_ALLOCATOR_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_IO_SURFACE_MEMORY_ALLOCATOR, GstIOSurfaceMemoryAllocatorClass))
+#define GST_IO_SURFACE_MEMORY_ALLOCATOR(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_IO_SURFACE_MEMORY_ALLOCATOR, GstIOSurfaceMemoryAllocator))
+#define GST_IO_SURFACE_MEMORY_ALLOCATOR_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_IO_SURFACE_MEMORY_ALLOCATOR, GstIOSurfaceMemoryAllocatorClass))
+#define GST_IO_SURFACE_MEMORY_ALLOCATOR_CAST(obj)            ((GstIOSurfaceMemoryAllocator *)(obj))
+
+typedef struct _GstIOSurfaceMemory
+{
+  GstGLMemory gl_mem;
+  IOSurfaceRef surface;
+} GstIOSurfaceMemory;
+
+#define GST_IO_SURFACE_MEMORY_ALLOCATOR_NAME   "IOSurfaceMemory"
+
+void gst_ios_surface_memory_init (void);
+
+GstIOSurfaceMemory *
+gst_io_surface_memory_wrapped (GstGLContext * context,
+    IOSurfaceRef surface,
+    GstGLTextureTarget target,
+    GstVideoGLTextureType tex_type,
+    GstVideoInfo * info,
+    guint plane,
+    GstVideoAlignment *valign,
+    gpointer user_data,
+    GDestroyNotify notify);
+
+void gst_io_surface_memory_set_surface (GstIOSurfaceMemory *memory, IOSurfaceRef surface);
+
+gboolean gst_is_io_surface_memory (GstMemory * mem);
+
+typedef struct _GstIOSurfaceMemoryAllocator
+{
+  GstGLMemoryAllocator allocator;
+} GstIOSurfaceMemoryAllocator;
+
+typedef struct _GstIOSurfaceMemoryAllocatorClass
+{
+  GstGLMemoryAllocatorClass parent_class;
+} GstIOSurfaceMemoryAllocatorClass;
+
+G_END_DECLS
+
+#endif /* _GST_IO_SURFACE_MEMORY_H_ */
diff --git a/sys/applemedia/qtkitvideosrc.m b/sys/applemedia/qtkitvideosrc.m
index e6b427f..4017084 100644
--- a/sys/applemedia/qtkitvideosrc.m
+++ b/sys/applemedia/qtkitvideosrc.m
@@ -518,8 +518,7 @@
       "Reads frames from a Mac OS X QTKit device",
       "Ole André Vadla Ravnås <oleavr@soundrop.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_template);
 
   gobject_class->finalize = gst_qtkit_video_src_finalize;
   gobject_class->get_property = gst_qtkit_video_src_get_property;
diff --git a/sys/applemedia/videotexturecache.m b/sys/applemedia/videotexturecache.m
index e1bdb64..4f4ee58 100644
--- a/sys/applemedia/videotexturecache.m
+++ b/sys/applemedia/videotexturecache.m
@@ -171,8 +171,8 @@
         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,
-            CVOpenGLESTextureGetName (texture), texture,
-            (GDestroyNotify) CFRelease);
+            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,
@@ -183,7 +183,7 @@
         GstVideoGLTextureType textype;
         GLenum texifmt, texfmt;
 
-        textype = gst_gl_texture_type_from_format (cache->ctx, GST_VIDEO_FORMAT_NV12, 0);
+        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);
 
@@ -197,7 +197,7 @@
 
         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,
+            NULL, &cache->input_info, 0, NULL, gl_target, textype,
             CVOpenGLESTextureGetName (texture), texture,
             (GDestroyNotify) CFRelease);
 
@@ -206,7 +206,7 @@
                     (GstGLAllocationParams *) params));
         gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
 
-        textype = gst_gl_texture_type_from_format (cache->ctx, GST_VIDEO_FORMAT_NV12, 1);
+        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);
 
@@ -219,7 +219,7 @@
 
         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,
+            NULL, &cache->input_info, 1, NULL, gl_target, textype, 
             CVOpenGLESTextureGetName (texture), texture,
             (GDestroyNotify) CFRelease);
 
@@ -255,11 +255,14 @@
   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, &cache->input_info,
-            i, NULL, pixel_buf, (GDestroyNotify) CFRelease);
+            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);
   }
diff --git a/sys/applemedia/vtdec.c b/sys/applemedia/vtdec.c
index ae8a8e1..e9c7bdd 100644
--- a/sys/applemedia/vtdec.c
+++ b/sys/applemedia/vtdec.c
@@ -126,8 +126,8 @@
 
   /* Setting up pads and setting metadata should be moved to
      base_class_init if you intend to subclass this class. */
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_vtdec_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_vtdec_sink_template);
   gst_element_class_add_pad_template (element_class,
       gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
           gst_caps_from_string (VIDEO_SRC_CAPS)));
@@ -232,12 +232,30 @@
   vtdec = GST_VTDEC (decoder);
   if (vtdec->session)
     gst_vtdec_push_frames_if_needed (vtdec, TRUE, FALSE);
-  templcaps =
-      gst_pad_get_pad_template_caps (GST_VIDEO_DECODER_SRC_PAD (decoder));
+
+  output_state = gst_video_decoder_get_output_state (GST_VIDEO_DECODER (vtdec));
+  if (output_state) {
+    prevcaps = gst_caps_ref (output_state->caps);
+    gst_video_codec_state_unref (output_state);
+  }
+
   peercaps = gst_pad_peer_query_caps (GST_VIDEO_DECODER_SRC_PAD (vtdec), NULL);
-  caps =
-      gst_caps_intersect_full (peercaps, templcaps, GST_CAPS_INTERSECT_FIRST);
-  gst_caps_unref (templcaps);
+  if (prevcaps && gst_caps_can_intersect (prevcaps, peercaps)) {
+    /* The hardware decoder can become (temporarily) unavailable across
+     * VTDecompressionSessionCreate/Destroy calls. So if the currently configured
+     * caps are still accepted by downstream we keep them so we don't have to
+     * destroy and recreate the session.
+     */
+    GST_INFO_OBJECT (vtdec,
+        "current and peer caps are compatible, keeping current caps");
+    caps = gst_caps_ref (prevcaps);
+  } else {
+    templcaps =
+        gst_pad_get_pad_template_caps (GST_VIDEO_DECODER_SRC_PAD (decoder));
+    caps =
+        gst_caps_intersect_full (peercaps, templcaps, GST_CAPS_INTERSECT_FIRST);
+    gst_caps_unref (templcaps);
+  }
   gst_caps_unref (peercaps);
 
   caps = gst_caps_truncate (gst_caps_make_writable (caps));
@@ -248,12 +266,6 @@
   if (features)
     features = gst_caps_features_copy (features);
 
-  output_state = gst_video_decoder_get_output_state (GST_VIDEO_DECODER (vtdec));
-  if (output_state) {
-    prevcaps = gst_caps_ref (output_state->caps);
-    gst_video_codec_state_unref (output_state);
-  }
-
   output_state = gst_video_decoder_set_output_state (GST_VIDEO_DECODER (vtdec),
       format, vtdec->video_info.width, vtdec->video_info.height,
       vtdec->input_state);
diff --git a/sys/applemedia/vtenc.c b/sys/applemedia/vtenc.c
index de60272..39b7813 100644
--- a/sys/applemedia/vtenc.c
+++ b/sys/applemedia/vtenc.c
@@ -47,6 +47,9 @@
 const CFStringRef
     kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder =
 CFSTR ("EnableHardwareAcceleratedVideoEncoder");
+const CFStringRef
+    kVTVideoEncoderSpecification_RequireHardwareAcceleratedVideoEncoder =
+CFSTR ("RequireHardwareAcceleratedVideoEncoder");
 const CFStringRef kVTCompressionPropertyKey_ProfileLevel =
 CFSTR ("ProfileLevel");
 const CFStringRef kVTProfileLevel_H264_Baseline_AutoLevel =
@@ -57,6 +60,12 @@
 const CFStringRef kVTCompressionPropertyKey_Quality = CFSTR ("Quality");
 #endif
 
+#ifdef HAVE_VIDEOTOOLBOX_10_9_6
+extern OSStatus
+VTCompressionSessionPrepareToEncodeFrames (VTCompressionSessionRef session)
+    __attribute__ ((weak_import));
+#endif
+
 enum
 {
   PROP_0,
@@ -642,7 +651,7 @@
   self->session = session;
   GST_OBJECT_UNLOCK (self);
 
-  return TRUE;
+  return session != NULL;
 }
 
 static gboolean
@@ -780,6 +789,8 @@
   VTCompressionSessionRef session = NULL;
   CFMutableDictionaryRef encoder_spec = NULL, pb_attrs;
   OSStatus status;
+  const GstVTEncoderDetails *codec_details =
+      GST_VTENC_CLASS_GET_CODEC_DETAILS (G_OBJECT_GET_CLASS (self));
 
 #if !HAVE_IOS
   encoder_spec =
@@ -787,6 +798,10 @@
       &kCFTypeDictionaryValueCallBacks);
   gst_vtutil_dict_set_boolean (encoder_spec,
       kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder, true);
+  if (codec_details->require_hardware)
+    gst_vtutil_dict_set_boolean (encoder_spec,
+        kVTVideoEncoderSpecification_RequireHardwareAcceleratedVideoEncoder,
+        TRUE);
 #endif
 
   pb_attrs = CFDictionaryCreateMutable (NULL, 0, &kCFTypeDictionaryKeyCallBacks,
@@ -1392,7 +1407,10 @@
 }
 
 static const GstVTEncoderDetails gst_vtenc_codecs[] = {
-  {"H.264", "h264", "video/x-h264", kCMVideoCodecType_H264},
+  {"H.264", "h264", "video/x-h264", kCMVideoCodecType_H264, FALSE},
+#ifndef HAVE_IOS
+  {"H.264 (HW only)", "h264_hw", "video/x-h264", kCMVideoCodecType_H264, TRUE},
+#endif
 };
 
 void
diff --git a/sys/applemedia/vtenc.h b/sys/applemedia/vtenc.h
index 3bbe3c6..4c61000 100644
--- a/sys/applemedia/vtenc.h
+++ b/sys/applemedia/vtenc.h
@@ -44,6 +44,7 @@
   const gchar * element_name;
   const gchar * mimetype;
   CMVideoCodecType format_id;
+  gboolean require_hardware;
 };
 
 struct _GstVTEncClass
diff --git a/sys/avc/Makefile.in b/sys/avc/Makefile.in
index 6724b6e..a1c2cb2 100644
--- a/sys/avc/Makefile.in
+++ b/sys/avc/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/avc/gstavcsrc.cpp b/sys/avc/gstavcsrc.cpp
index 6d926dc..09d3f05 100644
--- a/sys/avc/gstavcsrc.cpp
+++ b/sys/avc/gstavcsrc.cpp
@@ -99,8 +99,7 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_avc_src_src_template));
+  gst_element_class_add_static_pad_template (element_class, &gst_avc_src_src_template);
 
   gst_element_class_set_static_metadata (element_class,
       "AVC Video Services Source", "Video/Source",
diff --git a/sys/bluez/Makefile.in b/sys/bluez/Makefile.in
index 862d62f..5699ff6 100644
--- a/sys/bluez/Makefile.in
+++ b/sys/bluez/Makefile.in
@@ -308,6 +308,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -523,6 +525,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -649,8 +653,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -695,6 +697,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/bluez/gsta2dpsink.c b/sys/bluez/gsta2dpsink.c
index 424b56c..a7ffd29 100644
--- a/sys/bluez/gsta2dpsink.c
+++ b/sys/bluez/gsta2dpsink.c
@@ -288,6 +288,9 @@
           self->autoconnect, NULL);
 
       ret = gst_element_set_state (GST_ELEMENT (self->sink), GST_STATE_READY);
+      if (ret == GST_STATE_CHANGE_FAILURE) {
+        g_clear_object (&self->sink);
+      }
       break;
     default:
       break;
@@ -366,8 +369,8 @@
   GST_DEBUG_CATEGORY_INIT (gst_a2dp_sink_debug, "a2dpsink", 0,
       "A2DP sink element");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_a2dp_sink_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_a2dp_sink_factory);
 }
 
 GstCaps *
diff --git a/sys/bluez/gstavdtpsink.c b/sys/bluez/gstavdtpsink.c
index 0f72a74..e91aed3 100644
--- a/sys/bluez/gstavdtpsink.c
+++ b/sys/bluez/gstavdtpsink.c
@@ -381,8 +381,8 @@
   GST_DEBUG_CATEGORY_INIT (avdtp_sink_debug, "avdtpsink", 0,
       "A2DP headset sink element");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&avdtp_sink_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &avdtp_sink_factory);
 
   gst_element_class_set_static_metadata (element_class, "Bluetooth AVDTP sink",
       "Sink/Audio", "Plays audio to an A2DP device",
diff --git a/sys/bluez/gstavdtpsrc.c b/sys/bluez/gstavdtpsrc.c
index fee5505..00c807a 100644
--- a/sys/bluez/gstavdtpsrc.c
+++ b/sys/bluez/gstavdtpsrc.c
@@ -108,8 +108,8 @@
   GST_DEBUG_CATEGORY_INIT (avdtpsrc_debug, "avdtpsrc", 0,
       "Bluetooth AVDTP Source");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_avdtp_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_avdtp_src_template);
 }
 
 static void
diff --git a/sys/d3dvideosink/Makefile.in b/sys/d3dvideosink/Makefile.in
index e14d0ce..2f728b9 100644
--- a/sys/d3dvideosink/Makefile.in
+++ b/sys/d3dvideosink/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/d3dvideosink/d3dhelpers.c b/sys/d3dvideosink/d3dhelpers.c
index 5091c06..4ed089d 100644
--- a/sys/d3dvideosink/d3dhelpers.c
+++ b/sys/d3dvideosink/d3dhelpers.c
@@ -810,9 +810,7 @@
 
 #ifndef GST_DISABLE_GST_DEBUG
   {
-    gchar *tmp = gst_caps_to_string (caps);
-    GST_DEBUG_OBJECT (sink, "Supported caps: %s", tmp);
-    g_free (tmp);
+    GST_DEBUG_OBJECT (sink, "Supported caps: %" GST_PTR_FORMAT, caps);
   }
 #endif
 
diff --git a/sys/d3dvideosink/d3dhelpers.h b/sys/d3dvideosink/d3dhelpers.h
index 4145f78..3662329 100644
--- a/sys/d3dvideosink/d3dhelpers.h
+++ b/sys/d3dvideosink/d3dhelpers.h
@@ -44,7 +44,6 @@
 #endif
 
 #include <d3d9.h>
-#include <d3dx9tex.h>
 
 typedef struct _GstD3DVideoSink GstD3DVideoSink;
 typedef struct _GstD3DVideoSinkClass GstD3DVideoSinkClass;
diff --git a/sys/d3dvideosink/d3dvideosink.c b/sys/d3dvideosink/d3dvideosink.c
index 29d1c7a..88e201e 100644
--- a/sys/d3dvideosink/d3dvideosink.c
+++ b/sys/d3dvideosink/d3dvideosink.c
@@ -156,8 +156,7 @@
       "Display data using a Direct3D video renderer",
       "David Hoyt <dhoyt@hoytsoft.org>, Roland Krikava <info@bluedigits.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_template);
 
   g_rec_mutex_init (&klass->lock);
 }
@@ -277,14 +276,11 @@
   gint video_par_n, video_par_d;        /* video's PAR */
   gint display_par_n = 1, display_par_d = 1;    /* display's PAR */
   guint num, den;
-  gchar *tmp = NULL;
   GstBufferPool *newpool, *oldpool;
   GstBufferPool *newfbpool, *oldfbpool;
   GstStructure *config;
 
-  GST_DEBUG_OBJECT (bsink, " ");
-
-  GST_DEBUG_OBJECT (bsink, "Caps: %s", (tmp = gst_caps_to_string (caps)));
+  GST_DEBUG_OBJECT (bsink, "Caps: %" GST_PTR_FORMAT, caps);
   sink = GST_D3DVIDEOSINK (bsink);
 
   sink_caps = d3d_supported_caps (sink);
@@ -357,9 +353,7 @@
   sink->width = video_width;
   sink->height = video_height;
 
-  GST_DEBUG_OBJECT (bsink, "Selected caps: %s", (tmp =
-          gst_caps_to_string (caps)));
-  g_free (tmp);
+  GST_DEBUG_OBJECT (bsink, "Selected caps: %" GST_PTR_FORMAT, caps);
 
   if (!d3d_set_render_format (sink))
     goto incompatible_caps;
@@ -413,10 +407,8 @@
   }
 invalid_format:
   {
-    gchar *caps_txt = gst_caps_to_string (caps);
     GST_DEBUG_OBJECT (sink,
-        "Could not locate image format from caps %s", caps_txt);
-    g_free (caps_txt);
+        "Could not locate image format from caps %" GST_PTR_FORMAT, caps);
     return FALSE;
   }
 no_disp_ratio:
diff --git a/sys/decklink/Makefile.in b/sys/decklink/Makefile.in
index b05c31c..01e112a 100644
--- a/sys/decklink/Makefile.in
+++ b/sys/decklink/Makefile.in
@@ -324,6 +324,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -539,6 +541,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -665,8 +669,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -711,6 +713,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp
index 8df23af..203fe4e 100644
--- a/sys/decklink/gstdecklink.cpp
+++ b/sys/decklink/gstdecklink.cpp
@@ -38,44 +38,44 @@
 {
   static gsize id = 0;
   static const GEnumValue modes[] = {
-    {GST_DECKLINK_MODE_AUTO, "auto", "Automatic detection"},
+    {GST_DECKLINK_MODE_AUTO, "Automatic detection", "auto"},
 
-    {GST_DECKLINK_MODE_NTSC, "ntsc", "NTSC SD 60i"},
-    {GST_DECKLINK_MODE_NTSC2398, "ntsc2398", "NTSC SD 60i (24 fps)"},
-    {GST_DECKLINK_MODE_PAL, "pal", "PAL SD 50i"},
-    {GST_DECKLINK_MODE_NTSC_P, "ntsc-p", "NTSC SD 60p"},
-    {GST_DECKLINK_MODE_PAL_P, "pal-p", "PAL SD 50p"},
+    {GST_DECKLINK_MODE_NTSC, "NTSC SD 60i", "ntsc"},
+    {GST_DECKLINK_MODE_NTSC2398, "NTSC SD 60i (24 fps)", "ntsc2398"},
+    {GST_DECKLINK_MODE_PAL, "PAL SD 50i", "pal"},
+    {GST_DECKLINK_MODE_NTSC_P, "NTSC SD 60p", "ntsc-p"},
+    {GST_DECKLINK_MODE_PAL_P, "PAL SD 50p", "pal-p"},
 
-    {GST_DECKLINK_MODE_1080p2398, "1080p2398", "HD1080 23.98p"},
-    {GST_DECKLINK_MODE_1080p24, "1080p24", "HD1080 24p"},
-    {GST_DECKLINK_MODE_1080p25, "1080p25", "HD1080 25p"},
-    {GST_DECKLINK_MODE_1080p2997, "1080p2997", "HD1080 29.97p"},
-    {GST_DECKLINK_MODE_1080p30, "1080p30", "HD1080 30p"},
+    {GST_DECKLINK_MODE_1080p2398, "HD1080 23.98p", "1080p2398"},
+    {GST_DECKLINK_MODE_1080p24, "HD1080 24p", "1080p24"},
+    {GST_DECKLINK_MODE_1080p25, "HD1080 25p", "1080p25"},
+    {GST_DECKLINK_MODE_1080p2997, "HD1080 29.97p", "1080p2997"},
+    {GST_DECKLINK_MODE_1080p30, "HD1080 30p", "1080p30"},
 
-    {GST_DECKLINK_MODE_1080i50, "1080i50", "HD1080 50i"},
-    {GST_DECKLINK_MODE_1080i5994, "1080i5994", "HD1080 59.94i"},
-    {GST_DECKLINK_MODE_1080i60, "1080i60", "HD1080 60i"},
+    {GST_DECKLINK_MODE_1080i50, "HD1080 50i", "1080i50"},
+    {GST_DECKLINK_MODE_1080i5994, "HD1080 59.94i", "1080i5994"},
+    {GST_DECKLINK_MODE_1080i60, "HD1080 60i", "1080i60"},
 
-    {GST_DECKLINK_MODE_1080p50, "1080p50", "HD1080 50p"},
-    {GST_DECKLINK_MODE_1080p5994, "1080p5994", "HD1080 59.94p"},
-    {GST_DECKLINK_MODE_1080p60, "1080p60", "HD1080 60p"},
+    {GST_DECKLINK_MODE_1080p50, "HD1080 50p", "1080p50"},
+    {GST_DECKLINK_MODE_1080p5994, "HD1080 59.94p", "1080p5994"},
+    {GST_DECKLINK_MODE_1080p60, "HD1080 60p", "1080p60"},
 
-    {GST_DECKLINK_MODE_720p50, "720p50", "HD720 50p"},
-    {GST_DECKLINK_MODE_720p5994, "720p5994", "HD720 59.94p"},
-    {GST_DECKLINK_MODE_720p60, "720p60", "HD720 60p"},
+    {GST_DECKLINK_MODE_720p50, "HD720 50p", "720p50"},
+    {GST_DECKLINK_MODE_720p5994, "HD720 59.94p", "720p5994"},
+    {GST_DECKLINK_MODE_720p60, "HD720 60p", "720p60"},
 
-    {GST_DECKLINK_MODE_1556p2398, "1556p2398", "2k 23.98p"},
-    {GST_DECKLINK_MODE_1556p24, "1556p24", "2k 24p"},
-    {GST_DECKLINK_MODE_1556p25, "1556p25", "2k 25p"},
+    {GST_DECKLINK_MODE_1556p2398, "2k 23.98p", "1556p2398"},
+    {GST_DECKLINK_MODE_1556p24, "2k 24p", "1556p24"},
+    {GST_DECKLINK_MODE_1556p25, "2k 25p", "1556p25"},
 
-    {GST_DECKLINK_MODE_2160p2398, "2160p2398", "4k 23.98p"},
-    {GST_DECKLINK_MODE_2160p24, "2160p24", "4k 24p"},
-    {GST_DECKLINK_MODE_2160p25, "2160p25", "4k 25p"},
-    {GST_DECKLINK_MODE_2160p2997, "2160p2997", "4k 29.97p"},
-    {GST_DECKLINK_MODE_2160p30, "2160p30", "4k 30p"},
-    {GST_DECKLINK_MODE_2160p50, "2160p50", "4k 50p"},
-    {GST_DECKLINK_MODE_2160p5994, "2160p5994", "4k 59.94p"},
-    {GST_DECKLINK_MODE_2160p60, "2160p60", "4k 60p"},
+    {GST_DECKLINK_MODE_2160p2398, "4k 23.98p", "2160p2398"},
+    {GST_DECKLINK_MODE_2160p24, "4k 24p", "2160p24"},
+    {GST_DECKLINK_MODE_2160p25, "4k 25p", "2160p25"},
+    {GST_DECKLINK_MODE_2160p2997, "4k 29.97p", "2160p2997"},
+    {GST_DECKLINK_MODE_2160p30, "4k 30p", "2160p30"},
+    {GST_DECKLINK_MODE_2160p50, "4k 50p", "2160p50"},
+    {GST_DECKLINK_MODE_2160p5994, "4k 59.94p", "2160p5994"},
+    {GST_DECKLINK_MODE_2160p60, "4k 60p", "2160p60"},
 
     {0, NULL, NULL}
   };
@@ -93,13 +93,13 @@
 {
   static gsize id = 0;
   static const GEnumValue connections[] = {
-    {GST_DECKLINK_CONNECTION_AUTO, "auto", "Auto"},
-    {GST_DECKLINK_CONNECTION_SDI, "sdi", "SDI"},
-    {GST_DECKLINK_CONNECTION_HDMI, "hdmi", "HDMI"},
-    {GST_DECKLINK_CONNECTION_OPTICAL_SDI, "optical-sdi", "Optical SDI"},
-    {GST_DECKLINK_CONNECTION_COMPONENT, "component", "Component"},
-    {GST_DECKLINK_CONNECTION_COMPOSITE, "composite", "Composite"},
-    {GST_DECKLINK_CONNECTION_SVIDEO, "svideo", "S-Video"},
+    {GST_DECKLINK_CONNECTION_AUTO, "Auto", "auto"},
+    {GST_DECKLINK_CONNECTION_SDI, "SDI", "sdi"},
+    {GST_DECKLINK_CONNECTION_HDMI, "HDMI", "hdmi"},
+    {GST_DECKLINK_CONNECTION_OPTICAL_SDI, "Optical SDI", "optical-sdi"},
+    {GST_DECKLINK_CONNECTION_COMPONENT, "Component", "component"},
+    {GST_DECKLINK_CONNECTION_COMPOSITE, "Composite", "composite"},
+    {GST_DECKLINK_CONNECTION_SVIDEO, "S-Video", "svideo"},
     {0, NULL, NULL}
   };
 
@@ -112,19 +112,47 @@
 }
 
 GType
+gst_decklink_video_format_get_type (void)
+{
+  static gsize id = 0;
+  static const GEnumValue types[] = {
+    {GST_DECKLINK_VIDEO_FORMAT_AUTO, "Auto", "auto"},
+    {GST_DECKLINK_VIDEO_FORMAT_8BIT_YUV, "bmdFormat8BitYUV", "8bit-yuv"},
+    {GST_DECKLINK_VIDEO_FORMAT_10BIT_YUV, "bmdFormat10BitYUV", "10bit-yuv"},
+    {GST_DECKLINK_VIDEO_FORMAT_8BIT_ARGB, "bmdFormat8BitARGB", "8bit-argb"},
+    {GST_DECKLINK_VIDEO_FORMAT_8BIT_BGRA, "bmdFormat8BitBGRA", "8bit-bgra"},
+    /* Not yet supported:
+       {GST_DECKLINK_VIDEO_FORMAT_10BIT_RGB, "bmdFormat10BitRGB", "10bit-rgb"},
+       {GST_DECKLINK_VIDEO_FORMAT_12BIT_RGB, "bmdFormat12BitRGB", "12bit-rgb"},
+       {GST_DECKLINK_VIDEO_FORMAT_12BIT_RGBLE, "bmdFormat12BitRGBLE", "12bit-rgble"},
+       {GST_DECKLINK_VIDEO_FORMAT_10BIT_RGBXLE, "bmdFormat10BitRGBXLE", "10bit-rgbxle"},
+       {GST_DECKLINK_VIDEO_FORMAT_10BIT_RGBX, "bmdFormat10BitRGBX", "10bit-rgbx"},
+     */
+    {0, NULL, NULL}
+  };
+
+  if (g_once_init_enter (&id)) {
+    GType tmp = g_enum_register_static ("GstDecklinkVideoFormat", types);
+    g_once_init_leave (&id, tmp);
+  }
+
+  return (GType) id;
+}
+
+GType
 gst_decklink_audio_connection_get_type (void)
 {
   static gsize id = 0;
   static const GEnumValue connections[] = {
-    {GST_DECKLINK_AUDIO_CONNECTION_AUTO, "auto", "Automatic"},
-    {GST_DECKLINK_AUDIO_CONNECTION_EMBEDDED, "embedded",
-        "SDI/HDMI embedded audio"},
-    {GST_DECKLINK_AUDIO_CONNECTION_AES_EBU, "aes", "AES/EBU input"},
-    {GST_DECKLINK_AUDIO_CONNECTION_ANALOG, "analog", "Analog input"},
-    {GST_DECKLINK_AUDIO_CONNECTION_ANALOG_XLR, "analog-xlr",
-        "Analog input (XLR)"},
-    {GST_DECKLINK_AUDIO_CONNECTION_ANALOG_RCA, "analog-rca",
-        "Analog input (RCA)"},
+    {GST_DECKLINK_AUDIO_CONNECTION_AUTO, "Automatic", "auto"},
+    {GST_DECKLINK_AUDIO_CONNECTION_EMBEDDED, "SDI/HDMI embedded audio",
+        "embedded"},
+    {GST_DECKLINK_AUDIO_CONNECTION_AES_EBU, "AES/EBU input", "aes"},
+    {GST_DECKLINK_AUDIO_CONNECTION_ANALOG, "Analog input", "analog"},
+    {GST_DECKLINK_AUDIO_CONNECTION_ANALOG_XLR, "Analog input (XLR)",
+        "analog-xlr"},
+    {GST_DECKLINK_AUDIO_CONNECTION_ANALOG_RCA, "Analog input (RCA)",
+        "analog-rca"},
     {0, NULL, NULL}
   };
 
@@ -183,6 +211,27 @@
   {bmdMode4K2160p60, 3840, 2160, 60, 1, false, UHD}
 };
 
+static const struct
+{
+  BMDPixelFormat format;
+  gint bpp;
+  GstVideoFormat vformat;
+} formats[] = {
+  /* *INDENT-OFF* */
+  {bmdFormat8BitYUV, 2, GST_VIDEO_FORMAT_UYVY},  /* auto */
+  {bmdFormat8BitYUV, 2, GST_VIDEO_FORMAT_UYVY},
+  {bmdFormat10BitYUV, 4, GST_VIDEO_FORMAT_v210},
+  {bmdFormat8BitARGB, 4, GST_VIDEO_FORMAT_ARGB},
+  {bmdFormat8BitBGRA, 4, GST_VIDEO_FORMAT_BGRA},
+/* Not yet supported
+  {bmdFormat10BitRGB, FIXME, FIXME},
+  {bmdFormat12BitRGB, FIXME, FIXME},
+  {bmdFormat12BitRGBLE, FIXME, FIXME},
+  {bmdFormat10BitRGBXLE, FIXME, FIXME},
+  {bmdFormat10BitRGBX, FIXME, FIXME} */
+  /* *INDENT-ON* */
+};
+
 const GstDecklinkMode *
 gst_decklink_get_mode (GstDecklinkModeEnum e)
 {
@@ -293,6 +342,31 @@
   return displayMode;
 }
 
+const BMDPixelFormat
+gst_decklink_pixel_format_from_type (GstDecklinkVideoFormat t)
+{
+  return formats[t].format;
+}
+
+const gint
+gst_decklink_bpp_from_type (GstDecklinkVideoFormat t)
+{
+  return formats[t].bpp;
+}
+
+const GstDecklinkVideoFormat
+gst_decklink_type_from_video_format (GstVideoFormat f)
+{
+  guint i;
+
+  for (i = 1; i < G_N_ELEMENTS (formats); i++) {
+    if (formats[i].vformat == f)
+      return (GstDecklinkVideoFormat) i;
+  }
+  g_assert_not_reached ();
+  return GST_DECKLINK_VIDEO_FORMAT_AUTO;
+}
+
 static const BMDVideoConnection connections[] = {
   0,                            /* auto */
   bmdVideoConnectionSDI,
@@ -315,6 +389,21 @@
   return connections[e];
 }
 
+static gboolean
+gst_decklink_caps_get_pixel_format (GstCaps * caps, BMDPixelFormat * format)
+{
+  GstVideoInfo vinfo;
+  GstVideoFormat f;
+
+  if (gst_video_info_from_caps (&vinfo, caps) == FALSE) {
+    GST_ERROR ("Could not get video info from caps: %" GST_PTR_FORMAT, caps);
+    return FALSE;
+  }
+
+  f = vinfo.finfo->format;
+  return gst_decklink_type_from_video_format (f);
+}
+
 static GstStructure *
 gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f)
 {
@@ -323,29 +412,30 @@
       "width", G_TYPE_INT, mode->width,
       "height", G_TYPE_INT, mode->height,
       "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d,
-      "interlace-mode", G_TYPE_STRING, mode->interlaced ? "interleaved" : "progressive",
+      "interlace-mode", G_TYPE_STRING,
+      mode->interlaced ? "interleaved" : "progressive",
       "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL);
 
   switch (f) {
-    case bmdFormat8BitYUV: /* '2vuy' */
+    case bmdFormat8BitYUV:     /* '2vuy' */
       gst_structure_set (s, "format", G_TYPE_STRING, "UYVY",
           "colorimetry", G_TYPE_STRING, mode->colorimetry,
           "chroma-site", G_TYPE_STRING, "mpeg2", NULL);
       break;
-    case bmdFormat10BitYUV: /* 'v210' */
+    case bmdFormat10BitYUV:    /* 'v210' */
       gst_structure_set (s, "format", G_TYPE_STRING, "v210", NULL);
       break;
-    case bmdFormat8BitARGB: /* 'ARGB' */
+    case bmdFormat8BitARGB:    /* 'ARGB' */
       gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", NULL);
       break;
-    case bmdFormat8BitBGRA: /* 'BGRA' */
+    case bmdFormat8BitBGRA:    /* 'BGRA' */
       gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", NULL);
       break;
-    case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */
-    case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */
-    case bmdFormat12BitRGBLE: /* 'R12L' Little-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */
+    case bmdFormat10BitRGB:    /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */
+    case bmdFormat12BitRGB:    /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */
+    case bmdFormat12BitRGBLE:  /* 'R12L' Little-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */
     case bmdFormat10BitRGBXLE: /* 'R10l' Little-endian 10-bit RGB with SMPTE video levels (64-940) */
-    case bmdFormat10BitRGBX: /* 'R10b' Big-endian 10-bit RGB with SMPTE video levels (64-940) */
+    case bmdFormat10BitRGBX:   /* 'R10b' Big-endian 10-bit RGB with SMPTE video levels (64-940) */
     default:
       GST_WARNING ("format not supported %d", f);
       gst_structure_free (s);
@@ -362,7 +452,39 @@
   GstCaps *caps;
 
   caps = gst_caps_new_empty ();
-  gst_caps_append_structure (caps, gst_decklink_mode_get_structure (e, f));
+  caps =
+      gst_caps_merge_structure (caps, gst_decklink_mode_get_structure (e, f));
+
+  return caps;
+}
+
+GstCaps *
+gst_decklink_mode_get_caps_all_formats (GstDecklinkModeEnum e)
+{
+  GstCaps *caps;
+  guint i;
+
+  caps = gst_caps_new_empty ();
+  for (i = 1; i < G_N_ELEMENTS (formats); i++)
+    caps =
+        gst_caps_merge_structure (caps, gst_decklink_mode_get_structure (e,
+            formats[i].format));
+
+  return caps;
+}
+
+GstCaps *
+gst_decklink_pixel_format_get_caps (BMDPixelFormat f)
+{
+  int i;
+  GstCaps *caps;
+  GstStructure *s;
+
+  caps = gst_caps_new_empty ();
+  for (i = 1; i < (int) G_N_ELEMENTS (modes); i++) {
+    s = gst_decklink_mode_get_structure ((GstDecklinkModeEnum) i, f);
+    caps = gst_caps_merge_structure (caps, s);
+  }
 
   return caps;
 }
@@ -372,27 +494,29 @@
 {
   int i;
   GstCaps *caps;
-  GstStructure *s;
 
   caps = gst_caps_new_empty ();
-  for (i = 1; i < (int) G_N_ELEMENTS (modes); i++) {
-    s = gst_decklink_mode_get_structure ((GstDecklinkModeEnum) i, bmdFormat8BitYUV);
-    gst_caps_append_structure (caps, s);
-    s = gst_decklink_mode_get_structure ((GstDecklinkModeEnum) i, bmdFormat8BitARGB);
-    gst_caps_append_structure (caps, s);
-  }
+  for (i = 1; i < (int) G_N_ELEMENTS (modes); i++)
+    caps =
+        gst_caps_merge (caps,
+        gst_decklink_mode_get_caps_all_formats ((GstDecklinkModeEnum) i));
 
   return caps;
 }
 
 const GstDecklinkMode *
-gst_decklink_find_mode_for_caps (GstCaps * caps)
+gst_decklink_find_mode_and_format_for_caps (GstCaps * caps,
+    BMDPixelFormat * format)
 {
   int i;
   GstCaps *mode_caps;
 
+  g_return_val_if_fail (gst_caps_is_fixed (caps), NULL);
+  if (!gst_decklink_caps_get_pixel_format (caps, format))
+    return NULL;
+
   for (i = 1; i < (int) G_N_ELEMENTS (modes); i++) {
-    mode_caps = gst_decklink_mode_get_caps ((GstDecklinkModeEnum) i, bmdFormat8BitYUV);
+    mode_caps = gst_decklink_mode_get_caps ((GstDecklinkModeEnum) i, *format);
     if (gst_caps_can_intersect (caps, mode_caps)) {
       gst_caps_unref (mode_caps);
       return gst_decklink_get_mode ((GstDecklinkModeEnum) i);
@@ -403,6 +527,14 @@
   return NULL;
 }
 
+const GstDecklinkMode *
+gst_decklink_find_mode_for_caps (GstCaps * caps)
+{
+  BMDPixelFormat format;
+
+  return gst_decklink_find_mode_and_format_for_caps (caps, &format);
+}
+
 #define GST_TYPE_DECKLINK_CLOCK \
   (gst_decklink_clock_get_type())
 #define GST_DECKLINK_CLOCK(obj) \
@@ -530,9 +662,11 @@
         IDeckLinkVideoInputFrame * frame, GstDecklinkModeEnum mode,
         GstClockTime capture_time, GstClockTime capture_duration) = NULL;
     void (*got_audio_packet) (GstElement * videosrc,
-        IDeckLinkAudioInputPacket * packet, GstClockTime capture_time, gboolean discont) = NULL;
+        IDeckLinkAudioInputPacket * packet, GstClockTime capture_time,
+        gboolean discont) = NULL;
     GstDecklinkModeEnum mode;
-    BMDTimeValue capture_time = GST_CLOCK_TIME_NONE, capture_duration = GST_CLOCK_TIME_NONE;
+    BMDTimeValue capture_time = GST_CLOCK_TIME_NONE, capture_duration =
+        GST_CLOCK_TIME_NONE;
     HRESULT res;
 
     if (video_frame == NULL)
@@ -576,14 +710,16 @@
           capture_duration);
     }
 
-no_video_frame:
+  no_video_frame:
     if (got_audio_packet && audiosrc && audio_packet) {
-      m_input->got_audio_packet (audiosrc, audio_packet, capture_time, m_input->audio_discont);
+      m_input->got_audio_packet (audiosrc, audio_packet, capture_time,
+          m_input->audio_discont);
       m_input->audio_discont = FALSE;
     } else {
       m_input->audio_discont = TRUE;
       if (!audio_packet)
-        GST_DEBUG ("Received no audio packet at %" GST_TIME_FORMAT, GST_TIME_ARGS (capture_time));
+        GST_DEBUG ("Received no audio packet at %" GST_TIME_FORMAT,
+            GST_TIME_ARGS (capture_time));
     }
 
     gst_object_replace ((GstObject **) & videosrc, NULL);
diff --git a/sys/decklink/gstdecklink.h b/sys/decklink/gstdecklink.h
index bfe7d9f..6559206 100644
--- a/sys/decklink/gstdecklink.h
+++ b/sys/decklink/gstdecklink.h
@@ -23,6 +23,7 @@
 #define _GST_DECKLINK_H_
 
 #include <gst/gst.h>
+#include <gst/video/video.h>
 #ifdef G_OS_UNIX
 #include "linux/DeckLinkAPI.h"
 #endif
@@ -109,6 +110,25 @@
 #define GST_TYPE_DECKLINK_AUDIO_CONNECTION (gst_decklink_audio_connection_get_type ())
 GType gst_decklink_audio_connection_get_type (void);
 
+typedef enum {
+  GST_DECKLINK_VIDEO_FORMAT_AUTO,
+  GST_DECKLINK_VIDEO_FORMAT_8BIT_YUV, /* bmdFormat8BitYUV */
+  GST_DECKLINK_VIDEO_FORMAT_10BIT_YUV, /* bmdFormat10BitYUV */
+  GST_DECKLINK_VIDEO_FORMAT_8BIT_ARGB, /* bmdFormat8BitARGB */
+  GST_DECKLINK_VIDEO_FORMAT_8BIT_BGRA, /* bmdFormat8BitBGRA */
+  GST_DECKLINK_VIDEO_FORMAT_10BIT_RGB, /* bmdFormat10BitRGB */
+  GST_DECKLINK_VIDEO_FORMAT_12BIT_RGB, /* bmdFormat12BitRGB */
+  GST_DECKLINK_VIDEO_FORMAT_12BIT_RGBLE, /* bmdFormat12BitRGBLE */
+  GST_DECKLINK_VIDEO_FORMAT_10BIT_RGBXLE, /* bmdFormat10BitRGBXLE */
+  GST_DECKLINK_VIDEO_FORMAT_10BIT_RGBX, /* bmdFormat10BitRGBX */
+} GstDecklinkVideoFormat;
+#define GST_TYPE_DECKLINK_VIDEO_FORMAT (gst_decklink_video_format_get_type ())
+GType gst_decklink_video_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);
+
 typedef struct _GstDecklinkMode GstDecklinkMode;
 struct _GstDecklinkMode {
   BMDDisplayMode mode;
@@ -195,5 +215,8 @@
 void                gst_decklink_release_nth_input (gint n, GstElement * src, gboolean is_audio);
 
 const GstDecklinkMode * gst_decklink_find_mode_for_caps (GstCaps * caps);
+const GstDecklinkMode * gst_decklink_find_mode_and_format_for_caps (GstCaps * caps, BMDPixelFormat * format);
+GstCaps * gst_decklink_mode_get_caps_all_formats (GstDecklinkModeEnum e);
+GstCaps * gst_decklink_pixel_format_get_caps (BMDPixelFormat f);
 
 #endif
diff --git a/sys/decklink/gstdecklinkaudiosink.cpp b/sys/decklink/gstdecklinkaudiosink.cpp
index 1db9339..54cb257 100644
--- a/sys/decklink/gstdecklinkaudiosink.cpp
+++ b/sys/decklink/gstdecklinkaudiosink.cpp
@@ -561,8 +561,7 @@
           (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
               G_PARAM_CONSTRUCT)));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   gst_element_class_set_static_metadata (element_class, "Decklink Audio Sink",
       "Audio/Sink", "Decklink Sink", "David Schleef <ds@entropywave.com>, "
diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp
index be52175..4a66e96 100644
--- a/sys/decklink/gstdecklinkaudiosrc.cpp
+++ b/sys/decklink/gstdecklinkaudiosrc.cpp
@@ -171,8 +171,7 @@
           G_MAXINT, DEFAULT_BUFFER_SIZE,
           (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   gst_element_class_set_static_metadata (element_class, "Decklink Audio Source",
       "Audio/Src", "Decklink Source", "David Schleef <ds@entropywave.com>, "
@@ -492,8 +491,10 @@
   sample_count = p->packet->GetSampleFrameCount ();
   data_size = self->info.bpf * sample_count;
 
-  if (p->capture_time == GST_CLOCK_TIME_NONE && self->next_offset == (guint64) - 1) {
-    GST_DEBUG_OBJECT (self, "Got packet without timestamp before initial "
+  if (p->capture_time == GST_CLOCK_TIME_NONE
+      && self->next_offset == (guint64) - 1) {
+    GST_DEBUG_OBJECT (self,
+        "Got packet without timestamp before initial "
         "timestamp after discont - dropping");
     capture_packet_free (p);
     goto retry;
diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp
index eebeff3..551e5d7 100644
--- a/sys/decklink/gstdecklinkvideosink.cpp
+++ b/sys/decklink/gstdecklinkvideosink.cpp
@@ -118,7 +118,8 @@
 {
   PROP_0,
   PROP_MODE,
-  PROP_DEVICE_NUMBER
+  PROP_DEVICE_NUMBER,
+  PROP_VIDEO_FORMAT
 };
 
 static void gst_decklink_video_sink_set_property (GObject * object,
@@ -205,6 +206,13 @@
           (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
               G_PARAM_CONSTRUCT)));
 
+  g_object_class_install_property (gobject_class, PROP_VIDEO_FORMAT,
+      g_param_spec_enum ("video-format", "Video format",
+          "Video format type to use for playback",
+          GST_TYPE_DECKLINK_VIDEO_FORMAT, GST_DECKLINK_VIDEO_FORMAT_8BIT_YUV,
+          (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 */
@@ -226,6 +234,7 @@
 {
   self->mode = GST_DECKLINK_MODE_NTSC;
   self->device_number = 0;
+  self->video_format = GST_DECKLINK_VIDEO_FORMAT_8BIT_YUV;
 
   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);
@@ -244,6 +253,21 @@
     case PROP_DEVICE_NUMBER:
       self->device_number = g_value_get_int (value);
       break;
+    case PROP_VIDEO_FORMAT:
+      self->video_format = (GstDecklinkVideoFormat) g_value_get_enum (value);
+      switch (self->video_format) {
+        case GST_DECKLINK_VIDEO_FORMAT_AUTO:
+        case GST_DECKLINK_VIDEO_FORMAT_8BIT_YUV:
+        case GST_DECKLINK_VIDEO_FORMAT_10BIT_YUV:
+        case GST_DECKLINK_VIDEO_FORMAT_8BIT_ARGB:
+        case GST_DECKLINK_VIDEO_FORMAT_8BIT_BGRA:
+          break;
+        default:
+          GST_ELEMENT_WARNING (GST_ELEMENT (self), CORE, NOT_IMPLEMENTED,
+              ("Format %d not supported", self->video_format), (NULL));
+          break;
+      }
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
       break;
@@ -263,6 +287,9 @@
     case PROP_DEVICE_NUMBER:
       g_value_set_int (value, self->device_number);
       break;
+    case PROP_VIDEO_FORMAT:
+      g_value_set_enum (value, self->video_format);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
       break;
@@ -293,13 +320,23 @@
       GStreamerVideoOutputCallback (self));
 
   if (self->mode == GST_DECKLINK_MODE_AUTO) {
-    mode = gst_decklink_find_mode_for_caps (caps);
+    BMDPixelFormat f;
+    mode = gst_decklink_find_mode_and_format_for_caps (caps, &f);
     if (mode == NULL) {
       GST_WARNING_OBJECT (self,
           "Failed to find compatible mode for caps  %" GST_PTR_FORMAT, caps);
       return FALSE;
     }
+    if (self->video_format != GST_DECKLINK_VIDEO_FORMAT_AUTO &&
+        gst_decklink_pixel_format_from_type (self->video_format) != f) {
+      GST_WARNING_OBJECT (self, "Failed to set pixel format to %d",
+          self->video_format);
+      return FALSE;
+    }
   } else {
+    /* We don't have to give the format in EnableVideoOutput. Therefore,
+     * even if it's AUTO, we have it stored in self->info and set it in
+     * gst_decklink_video_sink_prepare */
     mode = gst_decklink_get_mode (self->mode);
     g_assert (mode != NULL);
   };
@@ -327,10 +364,19 @@
   GstDecklinkVideoSink *self = GST_DECKLINK_VIDEO_SINK_CAST (bsink);
   GstCaps *mode_caps, *caps;
 
-  if (self->mode == GST_DECKLINK_MODE_AUTO)
+  if (self->mode == GST_DECKLINK_MODE_AUTO
+      && self->video_format == GST_DECKLINK_VIDEO_FORMAT_AUTO)
     mode_caps = gst_decklink_mode_get_template_caps ();
+  else if (self->video_format == GST_DECKLINK_VIDEO_FORMAT_AUTO)
+    mode_caps = gst_decklink_mode_get_caps_all_formats (self->mode);
+  else if (self->mode == GST_DECKLINK_MODE_AUTO)
+    mode_caps =
+        gst_decklink_pixel_format_get_caps (gst_decklink_pixel_format_from_type
+        (self->video_format));
   else
-    mode_caps = gst_decklink_mode_get_caps (self->mode, bmdFormat8BitYUV);
+    mode_caps =
+        gst_decklink_mode_get_caps (self->mode,
+        gst_decklink_pixel_format_from_type (self->video_format));
   mode_caps = gst_caps_make_writable (mode_caps);
   /* For output we support any framerate and only really care about timestamps */
   gst_caps_map_in_place (mode_caps, reset_framerate, NULL);
@@ -454,6 +500,9 @@
   GstClockTime latency, render_delay;
   GstClockTimeDiff ts_offset;
   gint i;
+  GstDecklinkVideoFormat caps_format;
+  BMDPixelFormat format;
+  gint bpp;
 
   GST_DEBUG_OBJECT (self, "Preparing buffer %p", buffer);
 
@@ -462,6 +511,10 @@
     return GST_FLOW_ERROR;
   }
 
+  caps_format = gst_decklink_type_from_video_format (self->info.finfo->format);
+  format = gst_decklink_pixel_format_from_type (caps_format);
+  bpp = gst_decklink_bpp_from_type (caps_format);
+
   timestamp = GST_BUFFER_TIMESTAMP (buffer);
   duration = GST_BUFFER_DURATION (buffer);
   if (duration == GST_CLOCK_TIME_NONE) {
@@ -499,8 +552,8 @@
     running_time = 0;
 
   ret = self->output->output->CreateVideoFrame (self->info.width,
-      self->info.height, self->info.stride[0], bmdFormat8BitYUV,
-      bmdFrameFlagDefault, &frame);
+      self->info.height, self->info.stride[0], format, bmdFrameFlagDefault,
+      &frame);
   if (ret != S_OK) {
     GST_ELEMENT_ERROR (self, STREAM, FAILED,
         (NULL), ("Failed to create video frame: 0x%08x", ret));
@@ -516,7 +569,7 @@
   frame->GetBytes ((void **) &outdata);
   indata = (guint8 *) GST_VIDEO_FRAME_PLANE_DATA (&vframe, 0);
   for (i = 0; i < self->info.height; i++) {
-    memcpy (outdata, indata, GST_VIDEO_FRAME_WIDTH (&vframe) * 2);
+    memcpy (outdata, indata, GST_VIDEO_FRAME_WIDTH (&vframe) * bpp);
     indata += GST_VIDEO_FRAME_PLANE_STRIDE (&vframe, 0);
     outdata += frame->GetRowBytes ();
   }
diff --git a/sys/decklink/gstdecklinkvideosink.h b/sys/decklink/gstdecklinkvideosink.h
index 16b2fbb..fb95591 100644
--- a/sys/decklink/gstdecklinkvideosink.h
+++ b/sys/decklink/gstdecklinkvideosink.h
@@ -51,6 +51,7 @@
 
   GstDecklinkModeEnum mode;
   gint device_number;
+  GstDecklinkVideoFormat video_format;
 
   GstVideoInfo info;
 
diff --git a/sys/decklink/gstdecklinkvideosrc.cpp b/sys/decklink/gstdecklinkvideosrc.cpp
index 2b304f9..15ea0c8 100644
--- a/sys/decklink/gstdecklinkvideosrc.cpp
+++ b/sys/decklink/gstdecklinkvideosrc.cpp
@@ -39,7 +39,8 @@
   PROP_MODE,
   PROP_CONNECTION,
   PROP_DEVICE_NUMBER,
-  PROP_BUFFER_SIZE
+  PROP_BUFFER_SIZE,
+  PROP_VIDEO_FORMAT
 };
 
 typedef struct
@@ -161,6 +162,13 @@
           G_MAXINT, DEFAULT_BUFFER_SIZE,
           (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
 
+  g_object_class_install_property (gobject_class, PROP_VIDEO_FORMAT,
+      g_param_spec_enum ("video-format", "Video format",
+          "Video format type to use for input (Only use auto for mode=auto)",
+          GST_TYPE_DECKLINK_VIDEO_FORMAT, GST_DECKLINK_VIDEO_FORMAT_AUTO,
+          (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));
@@ -183,6 +191,7 @@
   self->connection = DEFAULT_CONNECTION;
   self->device_number = 0;
   self->buffer_size = DEFAULT_BUFFER_SIZE;
+  self->video_format = GST_DECKLINK_VIDEO_FORMAT_AUTO;
 
   gst_base_src_set_live (GST_BASE_SRC (self), TRUE);
   gst_base_src_set_format (GST_BASE_SRC (self), GST_FORMAT_TIME);
@@ -202,6 +211,13 @@
   switch (property_id) {
     case PROP_MODE:
       self->mode = (GstDecklinkModeEnum) g_value_get_enum (value);
+      /* setting the default value for caps_mode here: if mode==auto then we
+       * configure caps_mode from the caps, if mode!=auto we set caps_mode to
+       * the same value as the mode. so self->caps_mode is essentially
+       * self->mode with mode=auto filtered into whatever we got from the
+       * negotiation */
+      if (self->mode != GST_DECKLINK_MODE_AUTO)
+        self->caps_mode = self->mode;
       break;
     case PROP_CONNECTION:
       self->connection = (GstDecklinkConnectionEnum) g_value_get_enum (value);
@@ -212,6 +228,23 @@
     case PROP_BUFFER_SIZE:
       self->buffer_size = g_value_get_uint (value);
       break;
+    case PROP_VIDEO_FORMAT:
+      self->video_format = (GstDecklinkVideoFormat) g_value_get_enum (value);
+      switch (self->video_format) {
+        case GST_DECKLINK_VIDEO_FORMAT_8BIT_YUV:
+        case GST_DECKLINK_VIDEO_FORMAT_10BIT_YUV:
+        case GST_DECKLINK_VIDEO_FORMAT_8BIT_ARGB:
+        case GST_DECKLINK_VIDEO_FORMAT_8BIT_BGRA:
+          self->caps_format =
+              gst_decklink_pixel_format_from_type (self->video_format);
+        case GST_DECKLINK_VIDEO_FORMAT_AUTO:
+          break;
+        default:
+          GST_ELEMENT_WARNING (GST_ELEMENT (self), CORE, NOT_IMPLEMENTED,
+              ("Format %d not supported", self->video_format), (NULL));
+          break;
+      }
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
       break;
@@ -237,6 +270,9 @@
     case PROP_BUFFER_SIZE:
       g_value_set_uint (value, self->buffer_size);
       break;
+    case PROP_VIDEO_FORMAT:
+      g_value_set_enum (value, self->video_format);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
       break;
@@ -262,6 +298,7 @@
   const GstDecklinkMode *mode;
   BMDVideoInputFlags flags;
   HRESULT ret;
+  BMDPixelFormat format;
 
   GST_DEBUG_OBJECT (self, "Setting caps %" GST_PTR_FORMAT, caps);
 
@@ -329,8 +366,8 @@
   mode = gst_decklink_get_mode (self->mode);
   g_assert (mode != NULL);
 
-  ret = self->input->input->EnableVideoInput (mode->mode,
-      bmdFormat8BitYUV, flags);
+  format = self->caps_format;
+  ret = self->input->input->EnableVideoInput (mode->mode, format, flags);
   if (ret != S_OK) {
     GST_WARNING_OBJECT (self, "Failed to enable video input");
     return FALSE;
@@ -351,14 +388,16 @@
 {
   GstDecklinkVideoSrc *self = GST_DECKLINK_VIDEO_SRC_CAST (bsrc);
   GstCaps *mode_caps, *caps;
+  BMDPixelFormat format;
+  GstDecklinkModeEnum mode;
 
   g_mutex_lock (&self->lock);
-  if (self->caps_mode != GST_DECKLINK_MODE_AUTO)
-    mode_caps = gst_decklink_mode_get_caps (self->caps_mode, self->caps_format);
-  else
-    mode_caps = gst_decklink_mode_get_caps (self->mode, self->caps_format);
+  mode = self->caps_mode;
+  format = self->caps_format;
   g_mutex_unlock (&self->lock);
 
+  mode_caps = gst_decklink_mode_get_caps (mode, format);
+
   if (filter) {
     caps =
         gst_caps_intersect_full (filter, mode_caps, GST_CAPS_INTERSECT_FIRST);
@@ -501,6 +540,7 @@
   VideoFrame *vf;
   CaptureFrame *f;
   GstCaps *caps;
+  gboolean caps_changed = FALSE;
 
   g_mutex_lock (&self->lock);
   while (g_queue_is_empty (&self->current_frames) && !self->flushing) {
@@ -517,22 +557,50 @@
     return GST_FLOW_FLUSHING;
   }
 
+  // If we're not flushing, we should have a valid frame from the queue
+  g_assert (f != NULL);
+
   g_mutex_lock (&self->lock);
-  if (self->mode == GST_DECKLINK_MODE_AUTO &&
-      (self->caps_mode != f->mode || self->caps_format != f->format)) {
-    GST_DEBUG_OBJECT (self, "Mode/Format changed from %d/%d to %d/%d",
-        self->caps_mode, self->caps_format, f->mode, f->format);
-    self->caps_mode = f->mode;
-    self->caps_format = f->format;
-    g_mutex_unlock (&self->lock);
+  if (self->caps_mode != f->mode) {
+    if (self->mode == GST_DECKLINK_MODE_AUTO) {
+      GST_DEBUG_OBJECT (self, "Mode changed from %d to %d", self->caps_mode,
+          f->mode);
+      caps_changed = TRUE;
+      self->caps_mode = f->mode;
+    } else {
+      g_mutex_unlock (&self->lock);
+      GST_ELEMENT_ERROR (self, CORE, NEGOTIATION,
+          ("Invalid mode in captured frame"),
+          ("Mode set to %d but captured %d", self->caps_mode, f->mode));
+      capture_frame_free (f);
+      return GST_FLOW_NOT_NEGOTIATED;
+    }
+  }
+  if (self->caps_format != f->format) {
+    if (self->video_format == GST_DECKLINK_VIDEO_FORMAT_AUTO) {
+      GST_DEBUG_OBJECT (self, "Format changed from %d to %d", self->caps_format,
+          f->format);
+      caps_changed = TRUE;
+      self->caps_format = f->format;
+    } else {
+      g_mutex_unlock (&self->lock);
+      GST_ELEMENT_ERROR (self, CORE, NEGOTIATION,
+          ("Invalid pixel format in captured frame"),
+          ("Format set to %d but captured %d", self->caps_format, f->format));
+      capture_frame_free (f);
+      return GST_FLOW_NOT_NEGOTIATED;
+    }
+  }
+
+  g_mutex_unlock (&self->lock);
+  if (caps_changed) {
     caps = gst_decklink_mode_get_caps (f->mode, f->format);
     gst_video_info_from_caps (&self->info, caps);
     gst_base_src_set_caps (GST_BASE_SRC_CAST (bsrc), caps);
     gst_element_post_message (GST_ELEMENT_CAST (self),
         gst_message_new_latency (GST_OBJECT_CAST (self)));
     gst_caps_unref (caps);
-  } else {
-    g_mutex_unlock (&self->lock);
+
   }
 
   f->frame->GetBytes ((gpointer *) & data);
@@ -576,10 +644,7 @@
         const GstDecklinkMode *mode;
 
         g_mutex_lock (&self->lock);
-        if (self->caps_mode != GST_DECKLINK_MODE_AUTO)
-          mode = gst_decklink_get_mode (self->caps_mode);
-        else
-          mode = gst_decklink_get_mode (self->mode);
+        mode = gst_decklink_get_mode (self->caps_mode);
         g_mutex_unlock (&self->lock);
 
         min = gst_util_uint64_scale_ceil (GST_SECOND, mode->fps_d, mode->fps_n);
@@ -754,6 +819,11 @@
         ret = GST_STATE_CHANGE_FAILURE;
         goto out;
       }
+      if (self->mode == GST_DECKLINK_MODE_AUTO &&
+          self->video_format != GST_DECKLINK_VIDEO_FORMAT_AUTO) {
+        GST_WARNING_OBJECT (self, "Warning: mode=auto and format!=auto may \
+                            not work");
+      }
       break;
     case GST_STATE_CHANGE_READY_TO_PAUSED:
       g_mutex_lock (&self->input->lock);
diff --git a/sys/decklink/gstdecklinkvideosrc.h b/sys/decklink/gstdecklinkvideosrc.h
index b83495f..1309364 100644
--- a/sys/decklink/gstdecklinkvideosrc.h
+++ b/sys/decklink/gstdecklinkvideosrc.h
@@ -57,6 +57,7 @@
   gint device_number;
 
   GstVideoInfo info;
+  GstDecklinkVideoFormat video_format;
 
   GstDecklinkInput *input;
 
diff --git a/sys/directsound/Makefile.in b/sys/directsound/Makefile.in
index 38f85a0..cab8f60 100644
--- a/sys/directsound/Makefile.in
+++ b/sys/directsound/Makefile.in
@@ -306,6 +306,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -521,6 +523,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -647,8 +651,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -693,6 +695,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/directsound/gstdirectsoundsrc.c b/sys/directsound/gstdirectsoundsrc.c
index 8f31f22..8687e86 100644
--- a/sys/directsound/gstdirectsoundsrc.c
+++ b/sys/directsound/gstdirectsoundsrc.c
@@ -213,8 +213,8 @@
       "Capture from a soundcard via DirectSound",
       "Joni Valtanen <joni.valtanen@movial.fi>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&directsound_src_src_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &directsound_src_src_factory);
 
   g_object_class_install_property
       (gobject_class, PROP_DEVICE_NAME,
diff --git a/sys/dshowdecwrapper/Makefile.in b/sys/dshowdecwrapper/Makefile.in
index 3693411..8f4f070 100644
--- a/sys/dshowdecwrapper/Makefile.in
+++ b/sys/dshowdecwrapper/Makefile.in
@@ -308,6 +308,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -523,6 +525,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -649,8 +653,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -695,6 +697,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/dshowsrcwrapper/Makefile.in b/sys/dshowsrcwrapper/Makefile.in
index 027dde7..b4076c6 100644
--- a/sys/dshowsrcwrapper/Makefile.in
+++ b/sys/dshowsrcwrapper/Makefile.in
@@ -219,6 +219,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -434,6 +436,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -560,8 +564,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -606,6 +608,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/dshowsrcwrapper/gstdshow.cpp b/sys/dshowsrcwrapper/gstdshow.cpp
index 705adc9..421e49c 100644
--- a/sys/dshowsrcwrapper/gstdshow.cpp
+++ b/sys/dshowsrcwrapper/gstdshow.cpp
@@ -406,6 +406,18 @@
   if (gst_dshow_check_mediatype (mediatype, MEDIASUBTYPE_UYVY, FORMAT_VideoInfo))
     return GST_VIDEO_FORMAT_UYVY;
 
+  if (gst_dshow_check_mediatype (mediatype, MEDIASUBTYPE_RGB32, FORMAT_VideoInfo))
+    return GST_VIDEO_FORMAT_BGRx;
+
+  if (gst_dshow_check_mediatype (mediatype, MEDIASUBTYPE_RGB565, FORMAT_VideoInfo))
+    return GST_VIDEO_FORMAT_BGR16;
+
+  if (gst_dshow_check_mediatype (mediatype, MEDIASUBTYPE_RGB555, FORMAT_VideoInfo))
+    return GST_VIDEO_FORMAT_BGR15;
+
+  if (gst_dshow_check_mediatype (mediatype, MEDIASUBTYPE_RGB8, FORMAT_VideoInfo))
+    return GST_VIDEO_FORMAT_GRAY8;
+
   return GST_VIDEO_FORMAT_UNKNOWN;
 }
 
@@ -449,6 +461,18 @@
     case GST_VIDEO_FORMAT_UYVY:
       video_caps = gst_caps_from_string (GST_VIDEO_CAPS_MAKE ("UYVY"));
       break;
+    case GST_VIDEO_FORMAT_BGRx:
+      video_caps = gst_caps_from_string (GST_VIDEO_CAPS_MAKE ("BGRx"));
+      break;
+    case GST_VIDEO_FORMAT_BGR16:
+      video_caps = gst_caps_from_string (GST_VIDEO_CAPS_MAKE ("BGR16"));
+      break;
+    case GST_VIDEO_FORMAT_BGR15:
+      video_caps = gst_caps_from_string (GST_VIDEO_CAPS_MAKE ("BGR15"));
+      break;
+    case GST_VIDEO_FORMAT_GRAY8:
+      video_caps = gst_caps_from_string (GST_VIDEO_CAPS_MAKE ("GRAY8"));
+      break;
     default:
       break;
   }
diff --git a/sys/dshowsrcwrapper/gstdshowaudiosrc.cpp b/sys/dshowsrcwrapper/gstdshowaudiosrc.cpp
index c4d33e5..d78f139 100644
--- a/sys/dshowsrcwrapper/gstdshowaudiosrc.cpp
+++ b/sys/dshowsrcwrapper/gstdshowaudiosrc.cpp
@@ -122,8 +122,7 @@
           "Human-readable name of the sound device", NULL,
           static_cast < GParamFlags > (G_PARAM_READWRITE)));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_template);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Directshow audio capture source", "Source/Audio",
diff --git a/sys/dshowsrcwrapper/gstdshowfakesink.cpp b/sys/dshowsrcwrapper/gstdshowfakesink.cpp
index c524c7c..3c5fca8 100644
--- a/sys/dshowsrcwrapper/gstdshowfakesink.cpp
+++ b/sys/dshowsrcwrapper/gstdshowfakesink.cpp
@@ -46,12 +46,19 @@
 
 HRESULT CDshowFakeSink::CheckMediaType (const CMediaType * pmt)
 {
-  if (pmt != NULL) {
-    if (*pmt == m_MediaType)
-      return S_OK;
-  }
+  if (!IsEqualGUID(pmt->majortype, m_MediaType.majortype) ||
+      !IsEqualGUID(pmt->subtype, m_MediaType.subtype) ||
+      !IsEqualGUID(pmt->formattype, m_MediaType.formattype) ||
+      (pmt->cbFormat != m_MediaType.cbFormat))
+    return S_FALSE;
 
-  return S_FALSE;
+  VIDEOINFOHEADER *info1 = (VIDEOINFOHEADER*)pmt->pbFormat;
+  VIDEOINFOHEADER *info2 = (VIDEOINFOHEADER*)m_MediaType.pbFormat;
+
+  if (memcmp(&info1->bmiHeader, &info2->bmiHeader, sizeof(BITMAPINFOHEADER)))
+    return S_FALSE;
+
+  return S_OK;
 }
 
 HRESULT CDshowFakeSink::DoRenderSample (IMediaSample * pMediaSample)
diff --git a/sys/dshowsrcwrapper/gstdshowvideosrc.cpp b/sys/dshowsrcwrapper/gstdshowvideosrc.cpp
index 7725fcb..9b478db 100644
--- a/sys/dshowsrcwrapper/gstdshowvideosrc.cpp
+++ b/sys/dshowsrcwrapper/gstdshowvideosrc.cpp
@@ -144,8 +144,7 @@
           "Human-readable name of the sound device", NULL,
           static_cast < GParamFlags > (G_PARAM_READWRITE)));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_template);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "DirectShow video capture source", "Source/Video",
@@ -683,6 +682,12 @@
           src->filter_graph->Disconnect (input_pin);
         }
 
+        hres = src->pVSC->SetFormat(pin_mediatype->mediatype);
+        if (FAILED (hres)) {
+          GST_ERROR ("Failed to set capture pin format (error=0x%x)", hres);
+          goto error;
+        }
+
         hres = src->filter_graph->ConnectDirect (pin_mediatype->capture_pin,
             input_pin, pin_mediatype->mediatype);
         input_pin->Release ();
diff --git a/sys/dshowvideosink/Makefile.in b/sys/dshowvideosink/Makefile.in
index f38fed8..0714b41 100644
--- a/sys/dshowvideosink/Makefile.in
+++ b/sys/dshowvideosink/Makefile.in
@@ -219,6 +219,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -434,6 +436,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -560,8 +564,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -606,6 +608,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/dshowvideosink/dshowvideosink.cpp b/sys/dshowvideosink/dshowvideosink.cpp
index c3d4bc3..cc9d332 100644
--- a/sys/dshowvideosink/dshowvideosink.cpp
+++ b/sys/dshowvideosink/dshowvideosink.cpp
@@ -206,8 +206,7 @@
       "Pioneers of the Inevitable <songbird@songbirdnest.com>, " \
       "FLUENDO S.A. <support@fluendo.com>");
 
-  gst_element_class_add_pad_template (e_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (e_class, &sink_template);
 
   e_class->change_state = GST_DEBUG_FUNCPTR (gst_dshowvideosink_change_state);
 
diff --git a/sys/dvb/Makefile.in b/sys/dvb/Makefile.in
index e7e76b6..8fa6e19 100644
--- a/sys/dvb/Makefile.in
+++ b/sys/dvb/Makefile.in
@@ -312,6 +312,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -527,6 +529,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -653,8 +657,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -699,6 +701,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/dvb/dvbbasebin.c b/sys/dvb/dvbbasebin.c
index a293617..c05f65e 100644
--- a/sys/dvb/dvbbasebin.c
+++ b/sys/dvb/dvbbasebin.c
@@ -335,10 +335,8 @@
   element_class->request_new_pad = dvb_base_bin_request_new_pad;
   element_class->release_pad = dvb_base_bin_release_pad;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&program_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class, &program_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 
   gst_element_class_set_static_metadata (element_class, "DVB bin",
       "Source/Bin/Video",
@@ -539,7 +537,7 @@
   dvbbasebin->task =
       gst_task_new ((GstTaskFunction) dvb_base_bin_task, dvbbasebin, NULL);
   gst_task_set_lock (dvbbasebin->task, &dvbbasebin->lock);
-  dvbbasebin->poll = gst_poll_new_timer ();
+  dvbbasebin->poll = gst_poll_new (TRUE);
 }
 
 static void
@@ -1175,14 +1173,13 @@
   if (location == NULL)
     goto no_location;
 
+  /* FIXME: here is where we parse channels.conf */
   if (!set_properties_for_channel (GST_ELEMENT (dvbbasebin), location, &err))
     goto set_properties_failed;
 
-  /* FIXME: here is where we parse channels.conf */
-
   g_free (location);
   return TRUE;
-/* ERRORS */
+
 post_error_and_exit:
   {
     gst_element_message_full (GST_ELEMENT (dvbbasebin), GST_MESSAGE_ERROR,
@@ -1200,6 +1197,9 @@
 set_properties_failed:
   {
     g_free (location);
+    if (!err)
+      g_set_error (&err, GST_URI_ERROR, GST_URI_ERROR_BAD_REFERENCE,
+          "Could not find information for channel");
     goto post_error_and_exit;
   }
 }
diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c
index b93255f..3376a05 100644
--- a/sys/dvb/gstdvbsrc.c
+++ b/sys/dvb/gstdvbsrc.c
@@ -23,7 +23,7 @@
  * SECTION:element-dvbsrc
  *
  * dvbsrc can be used to capture media from DVB cards. Supported DTV
- * broadcasting standards include DVB-T/C/S, ATSC ,ISDB-T and DTMB.
+ * broadcasting standards include DVB-T/C/S, ATSC, ISDB-T and DTMB.
  *
  * <refsect2>
  * <title>Example launch line</title>
@@ -37,8 +37,11 @@
  * gst-launch-1.0 dvbsrc polarity="h" frequency=11302000 symbol-rate=27500 diseqc-source=0 pids=50:102:103 ! mpegtsdemux name=demux ! queue max-size-buffers=0 max-size-time=0 ! mpeg2dec ! xvimagesink demux. ! queue max-size-buffers=0 max-size-time=0 ! mad ! alsasink
  * ]| Captures and renders a transport stream from DVB card 0 that is a DVB-S card for a program at tuned frequency 11302000 kHz, symbol rate of 27500 kBd (kilo bauds) with PMT PID of 50 and elementary stream PIDs of 102 and 103.
  * |[
- gst-launch-1.0 dvbsrc frequency=515142857 guard=16 trans-mode="8k" isdbt-layer-enabled=7 isdbt-partial-reception=1 isdbt-layera-fec="2/3" isdbt-layera-modulation="QPSK" isdbt-layera-segment-count=1 isdbt-layera-time-interleaving=4 isdbt-layerb-fec="3/4" isdbt-layerb-modulation="qam-64" isdbt-layerb-segment-count=12 isdbt-layerb-time-interleaving=2 isdbt-layerc-fec="1/2" isdbt-layerc-modulation="qam-64" isdbt-layerc-segment-count=0 isdbt-layerc-time-interleaving=0 delsys="isdb-t" ! tsdemux ! "video/x-h264" ! h264parse ! queue ! avdec_h264 ! videoconvert ! queue ! autovideosink
+ * gst-launch-1.0 dvbsrc frequency=515142857 guard=16 trans-mode="8k" isdbt-layer-enabled=7 isdbt-partial-reception=1 isdbt-layera-fec="2/3" isdbt-layera-modulation="QPSK" isdbt-layera-segment-count=1 isdbt-layera-time-interleaving=4 isdbt-layerb-fec="3/4" isdbt-layerb-modulation="qam-64" isdbt-layerb-segment-count=12 isdbt-layerb-time-interleaving=2 isdbt-layerc-fec="1/2" isdbt-layerc-modulation="qam-64" isdbt-layerc-segment-count=0 isdbt-layerc-time-interleaving=0 delsys="isdb-t" ! tsdemux ! "video/x-h264" ! h264parse ! queue ! avdec_h264 ! videoconvert ! queue ! autovideosink
  * ]| Captures and renders the video track of TV Paraíba HD (Globo affiliate) in Campina Grande, Brazil. This is an ISDB-T (Brazilian ISDB-Tb variant) broadcast.
+ * |[
+ *  gst-launch-1.0 dvbsrc frequency=503000000 delsys="atsc" modulation="8vsb" pids=48:49:52 ! decodebin name=dec dec. ! videoconvert ! autovideosink dec. ! audioconvert ! autoaudiosink
+ * ]| Captures and renders KOFY-HD in San Jose, California. This is an ATSC broadcast, PMT ID 48, Audio/Video elementary stream PIDs 49 and 52 respectively.
  * </refsect2>
  */
 
@@ -551,11 +554,14 @@
 static gboolean gst_dvbsrc_tune (GstDvbSrc * object);
 static gboolean gst_dvbsrc_set_fe_params (GstDvbSrc * object,
     struct dtv_properties *props);
+static void gst_dvbsrc_guess_delsys (GstDvbSrc * object);
 static gboolean gst_dvbsrc_tune_fe (GstDvbSrc * object);
 
 static void gst_dvbsrc_set_pes_filters (GstDvbSrc * object);
 static void gst_dvbsrc_unset_pes_filters (GstDvbSrc * object);
 static gboolean gst_dvbsrc_is_valid_modulation (guint delsys, guint mod);
+static gboolean gst_dvbsrc_is_valid_trans_mode (guint delsys, guint mode);
+static gboolean gst_dvbsrc_is_valid_bandwidth (guint delsys, guint bw);
 
 /**
  * This loop should be safe enough considering:
@@ -614,8 +620,7 @@
 
   gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_dvbsrc_change_state);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&ts_src_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &ts_src_factory);
 
   gst_element_class_set_static_metadata (gstelement_class, "DVB Source",
       "Source/Video",
@@ -660,7 +665,9 @@
 
   g_object_class_install_property (gobject_class, ARG_DVBSRC_PIDS,
       g_param_spec_string ("pids", "pids",
-          "Colon seperated list of pids (eg. 110:120)",
+          "Colon-separated list of PIDs (eg. 110:120) to capture. ACT and CAT "
+          "are automatically included but PMT should be added explicitly. "
+          "Special value 8192 gets full MPEG-TS",
           DEFAULT_PIDS, GST_PARAM_MUTABLE_PLAYING | G_PARAM_WRITABLE));
 
   g_object_class_install_property (gobject_class, ARG_DVBSRC_SYM_RATE,
@@ -681,11 +688,9 @@
           "DiSEqC switch. Otherwise leave at -1 (disabled)", -1, 7,
           DEFAULT_DISEQC_SRC, GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE));
 
-  /* DVB-T, additional properties */
-
   g_object_class_install_property (gobject_class, ARG_DVBSRC_BANDWIDTH_HZ,
       g_param_spec_uint ("bandwidth-hz", "bandwidth-hz",
-          "(DVB-T) Bandwidth in Hz", 0, G_MAXUINT, DEFAULT_BANDWIDTH_HZ,
+          "Channel bandwidth in Hz", 0, G_MAXUINT, DEFAULT_BANDWIDTH_HZ,
           GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE));
 
 #ifndef GST_REMOVE_DEPRECATED
@@ -797,7 +802,7 @@
   g_object_class_install_property (gobject_class,
       ARG_DVBSRC_ISDBT_LAYER_ENABLED,
       g_param_spec_uint ("isdbt-layer-enabled",
-          "ISB-T layer enabled",
+          "ISDB-T layer enabled",
           "(ISDB-T) Layer Enabled (7 = All layers)", 1, 7,
           DEFAULT_ISDBT_LAYER_ENABLED,
           GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE));
@@ -805,7 +810,7 @@
   g_object_class_install_property (gobject_class,
       ARG_DVBSRC_ISDBT_PARTIAL_RECEPTION,
       g_param_spec_int ("isdbt-partial-reception",
-          "ISB-T partial reception",
+          "ISDB-T partial reception",
           "(ISDB-T) Partial Reception (-1 = AUTO)", -1, 1,
           DEFAULT_ISDBT_PARTIAL_RECEPTION,
           GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE));
@@ -813,7 +818,7 @@
   g_object_class_install_property (gobject_class,
       ARG_DVBSRC_ISDBT_SOUND_BROADCASTING,
       g_param_spec_int ("isdbt-sound-broadcasting",
-          "ISB-T sound broadcasting",
+          "ISDB-T sound broadcasting",
           "(ISDB-T) Sound Broadcasting", 0, 1,
           DEFAULT_ISDBT_SOUND_BROADCASTING,
           GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE));
@@ -821,7 +826,7 @@
   g_object_class_install_property (gobject_class,
       ARG_DVBSRC_ISDBT_SB_SUBCHANNEL_ID,
       g_param_spec_int ("isdbt-sb-subchannel-id",
-          "ISB-T SB subchannel ID",
+          "ISDB-T SB subchannel ID",
           "(ISDB-T) SB Subchannel ID (-1 = AUTO)", -1, 41,
           DEFAULT_ISDBT_SB_SEGMENT_IDX,
           GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE));
@@ -829,7 +834,7 @@
   g_object_class_install_property (gobject_class,
       ARG_DVBSRC_ISDBT_SB_SEGMENT_IDX,
       g_param_spec_int ("isdbt-sb-segment-idx",
-          "ISB-T SB segment IDX",
+          "ISDB-T SB segment IDX",
           "(ISDB-T) SB segment IDX", 0, 12,
           DEFAULT_ISDBT_SB_SEGMENT_IDX,
           GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE));
@@ -837,7 +842,7 @@
   g_object_class_install_property (gobject_class,
       ARG_DVBSRC_ISDBT_SB_SEGMENT_COUNT,
       g_param_spec_uint ("isdbt-sb-segment-count",
-          "ISB-T SB segment count",
+          "ISDB-T SB segment count",
           "(ISDB-T) SB segment count", 1, 13,
           DEFAULT_ISDBT_SB_SEGMENT_COUNT,
           GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE));
@@ -884,7 +889,7 @@
   g_object_class_install_property (gobject_class,
       ARG_DVBSRC_ISDBT_LAYERA_SEGMENT_COUNT,
       g_param_spec_int ("isdbt-layera-segment-count",
-          "ISB-T layer A segment count",
+          "ISDB-T layer A segment count",
           "(ISDB-T) Layer A segment count (-1 = AUTO)", -1, 13,
           DEFAULT_ISDBT_LAYERA_SEGMENT_COUNT,
           GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE));
@@ -892,7 +897,7 @@
   g_object_class_install_property (gobject_class,
       ARG_DVBSRC_ISDBT_LAYERB_SEGMENT_COUNT,
       g_param_spec_int ("isdbt-layerb-segment-count",
-          "ISB-T layer B segment count",
+          "ISDB-T layer B segment count",
           "(ISDB-T) Layer B segment count (-1 = AUTO)", -1, 13,
           DEFAULT_ISDBT_LAYERB_SEGMENT_COUNT,
           GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE));
@@ -900,7 +905,7 @@
   g_object_class_install_property (gobject_class,
       ARG_DVBSRC_ISDBT_LAYERC_SEGMENT_COUNT,
       g_param_spec_int ("isdbt-layerc-segment-count",
-          "ISB-T layer C segment count",
+          "ISDB-T layer C segment count",
           "(ISDB-T) Layer C segment count (-1 = AUTO)", -1, 13,
           DEFAULT_ISDBT_LAYERC_SEGMENT_COUNT,
           GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE));
@@ -908,7 +913,7 @@
   g_object_class_install_property (gobject_class,
       ARG_DVBSRC_ISDBT_LAYERA_TIME_INTERLEAVING,
       g_param_spec_int ("isdbt-layera-time-interleaving",
-          "ISB-T layer A time interleaving ",
+          "ISDB-T layer A time interleaving",
           "(ISDB-T) Layer A time interleaving (-1 = AUTO)", -1, 8,
           DEFAULT_ISDBT_LAYERA_TIME_INTERLEAVING,
           GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE));
@@ -916,7 +921,7 @@
   g_object_class_install_property (gobject_class,
       ARG_DVBSRC_ISDBT_LAYERB_TIME_INTERLEAVING,
       g_param_spec_int ("isdbt-layerb-time-interleaving",
-          "ISB-T layer B time interleaving ",
+          "ISDB-T layer B time interleaving",
           "(ISDB-T) Layer B time interleaving (-1 = AUTO)", -1, 8,
           DEFAULT_ISDBT_LAYERB_TIME_INTERLEAVING,
           GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE));
@@ -924,7 +929,7 @@
   g_object_class_install_property (gobject_class,
       ARG_DVBSRC_ISDBT_LAYERC_TIME_INTERLEAVING,
       g_param_spec_int ("isdbt-layerc-time-interleaving",
-          "ISB-T layer C time interleaving ",
+          "ISDB-T layer C time interleaving",
           "(ISDB-T) Layer C time interleaving (-1 = AUTO)", -1, 8,
           DEFAULT_ISDBT_LAYERC_TIME_INTERLEAVING,
           GST_PARAM_MUTABLE_PLAYING | G_PARAM_READWRITE));
@@ -1013,7 +1018,6 @@
 {
   int i = 0;
 
-  GST_INFO_OBJECT (object, "gst_dvbsrc_init");
   GST_DEBUG_OBJECT (object, "Kernel DVB API version %d.%d", DVB_API_VERSION,
       DVB_API_VERSION_MINOR);
 
@@ -1025,13 +1029,15 @@
 
   object->fd_frontend = -1;
   object->fd_dvr = -1;
+  object->supported_delsys = NULL;
 
   for (i = 0; i < MAX_FILTERS; i++) {
-    object->pids[i] = G_MAXUINT16;
     object->fd_filters[i] = -1;
   }
+
   /* PID 8192 on DVB gets the whole transport stream */
   object->pids[0] = 8192;
+  object->pids[1] = G_MAXUINT16;
   object->dvb_buffer_size = DEFAULT_DVB_BUFFER_SIZE;
   object->adapter_number = DEFAULT_ADAPTER;
   object->frontend_number = DEFAULT_FRONTEND;
@@ -1090,48 +1096,46 @@
 static void
 gst_dvbsrc_set_pids (GstDvbSrc * dvbsrc, const gchar * pid_string)
 {
+  int pid = 0;
+  int pid_count;
+  gchar **pids;
+  char **tmp;
+
   if (!strcmp (pid_string, "8192")) {
-    /* get the whole ts */
-    int pid_count = 1;
+    /* get the whole TS */
     dvbsrc->pids[0] = 8192;
-    while (pid_count < MAX_FILTERS) {
-      dvbsrc->pids[pid_count++] = G_MAXUINT16;
-    }
-  } else {
-    int pid = 0;
-    int pid_count;
-    gchar **pids;
-    char **tmp;
-
-    tmp = pids = g_strsplit (pid_string, ":", MAX_FILTERS);
-
-    /* always add the PAT and CAT pids */
-    dvbsrc->pids[0] = 0;
-    dvbsrc->pids[1] = 1;
-
-    pid_count = 2;
-    while (*pids != NULL && pid_count < MAX_FILTERS) {
-      pid = strtol (*pids, NULL, 0);
-      if (pid > 1 && pid <= 8192) {
-        GST_INFO_OBJECT (dvbsrc, "\tParsed Pid: %d", pid);
-        dvbsrc->pids[pid_count] = pid;
-        pid_count++;
-      }
-      pids++;
-    }
-    while (pid_count < MAX_FILTERS) {
-      dvbsrc->pids[pid_count++] = G_MAXUINT16;
-    }
-
-    g_strfreev (tmp);
+    dvbsrc->pids[1] = G_MAXUINT16;
+    goto done;
   }
-  /* if we are in playing or paused, then set filters now */
-  GST_INFO_OBJECT (dvbsrc, "checking if playing for setting pes filters");
-  if (GST_ELEMENT (dvbsrc)->current_state == GST_STATE_PLAYING ||
-      GST_ELEMENT (dvbsrc)->current_state == GST_STATE_PAUSED) {
-    GST_INFO_OBJECT (dvbsrc, "Setting pes filters now");
+
+  /* always add the PAT and CAT pids */
+  dvbsrc->pids[0] = 0;
+  dvbsrc->pids[1] = 1;
+  pid_count = 2;
+
+  tmp = pids = g_strsplit (pid_string, ":", MAX_FILTERS);
+
+  while (*pids != NULL && pid_count < MAX_FILTERS) {
+    pid = strtol (*pids, NULL, 0);
+    if (pid > 1 && pid <= 8192) {
+      GST_INFO_OBJECT (dvbsrc, "Parsed PID: %d", pid);
+      dvbsrc->pids[pid_count] = pid;
+      pid_count++;
+    }
+    pids++;
+  }
+
+  g_strfreev (tmp);
+
+  if (pid_count < MAX_FILTERS)
+    dvbsrc->pids[pid_count] = G_MAXUINT16;
+
+done:
+  if (GST_ELEMENT (dvbsrc)->current_state > GST_STATE_READY) {
+    GST_INFO_OBJECT (dvbsrc, "Setting PES filters now");
     gst_dvbsrc_set_pes_filters (dvbsrc);
-  }
+  } else
+    GST_INFO_OBJECT (dvbsrc, "Not setting PES filters because state < PAUSED");
 }
 
 static void
@@ -1169,9 +1173,8 @@
       s = g_value_get_string (value);
       if (s != NULL) {
         object->pol = (s[0] == 'h' || s[0] == 'H') ? DVB_POL_H : DVB_POL_V;
-        GST_INFO_OBJECT (object, "Set Property: ARG_DVBSRC_POLARITY");
-        GST_INFO_OBJECT (object, "\t%s", (s[0] == 'h'
-                || s[0] == 'H') ? "DVB_POL_H" : "DVB_POL_V");
+        GST_INFO_OBJECT (object, "Set Property: ARG_DVBSRC_POLARITY to %s",
+            object->pol ? "Vertical" : "Horizontal");
       }
       break;
     }
@@ -1574,6 +1577,11 @@
     return FALSE;
   }
 
+  if (object->supported_delsys)
+    goto delsys_detection_done;
+
+  /* Perform delivery system autodetection */
+
   GST_DEBUG_OBJECT (object, "Device opened, querying information");
 
   LOOP_WHILE_EINTR (err, ioctl (object->fd_frontend, FE_GET_INFO, &fe_info));
@@ -1587,7 +1595,7 @@
     return FALSE;
   }
 
-  GST_DEBUG_OBJECT (object, "check delivery systems");
+  GST_DEBUG_OBJECT (object, "Get list of supported delivery systems");
 
   dvb_prop[0].cmd = DTV_ENUM_DELSYS;
   props.num = 1;
@@ -1604,7 +1612,7 @@
     return FALSE;
   }
 
-  GST_DEBUG_OBJECT (object, "Got information about adapter : %s", fe_info.name);
+  GST_INFO_OBJECT (object, "Got information about adapter: %s", fe_info.name);
 
   adapter_name = g_strdup (fe_info.name);
 
@@ -1621,117 +1629,136 @@
 
   /* Capability delivery systems */
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_DVBC_ANNEX_A)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_DVBC_ANNEX_A));
     gst_structure_set (adapter_structure, "dvb-c-a", G_TYPE_STRING,
         "DVB-C ANNEX A", NULL);
-    object->best_guess_delsys = SYS_DVBC_ANNEX_A;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_DVBC_ANNEX_B)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_DVBC_ANNEX_B));
     gst_structure_set (adapter_structure, "dvb-c-b", G_TYPE_STRING,
         "DVB-C ANNEX C", NULL);
-    object->best_guess_delsys = SYS_DVBC_ANNEX_B;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_DVBT)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_DVBT));
     gst_structure_set (adapter_structure, "dvb-t", G_TYPE_STRING, "DVB-T",
         NULL);
-    object->best_guess_delsys = SYS_DVBT;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_DSS)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_DSS));
     gst_structure_set (adapter_structure, "dss", G_TYPE_STRING, "DSS", NULL);
-    object->best_guess_delsys = SYS_DSS;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_DVBS)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_DVBS));
     gst_structure_set (adapter_structure, "dvb-s", G_TYPE_STRING, "DVB-S",
         NULL);
-    object->best_guess_delsys = SYS_DVBS;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_DVBS2)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_DVBS2));
     gst_structure_set (adapter_structure, "dvb-s2", G_TYPE_STRING, "DVB-S2",
         NULL);
-    object->best_guess_delsys = SYS_DVBS2;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_DVBH)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_DVBH));
     gst_structure_set (adapter_structure, "dvb-h", G_TYPE_STRING, "DVB-H",
         NULL);
-    object->best_guess_delsys = SYS_DVBH;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_ISDBT)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_ISDBT));
     gst_structure_set (adapter_structure, "isdb-t", G_TYPE_STRING, "ISDB-T",
         NULL);
-    object->best_guess_delsys = SYS_ISDBT;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_ISDBS)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_ISDBS));
     gst_structure_set (adapter_structure, "isdb-s", G_TYPE_STRING, "ISDB-S",
         NULL);
-    object->best_guess_delsys = SYS_ISDBS;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_ISDBC)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_ISDBC));
     gst_structure_set (adapter_structure, "isdb-c", G_TYPE_STRING, "ISDB-C",
         NULL);
-    object->best_guess_delsys = SYS_ISDBC;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_ATSC)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_ATSC));
     gst_structure_set (adapter_structure, "atsc", G_TYPE_STRING, "ATSC", NULL);
-    object->best_guess_delsys = SYS_ATSC;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_ATSCMH)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_ATSCMH));
     gst_structure_set (adapter_structure, "atsc-mh", G_TYPE_STRING, "ATSC-MH",
         NULL);
-    object->best_guess_delsys = SYS_ATSCMH;
   }
 #if HAVE_V5_MINOR(7)
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_DTMB)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_DTMB));
     gst_structure_set (adapter_structure, "dtmb", G_TYPE_STRING, "DTMB", NULL);
-    object->best_guess_delsys = SYS_DTMB;
   }
 #endif
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_CMMB)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_CMMB));
     gst_structure_set (adapter_structure, "cmmb", G_TYPE_STRING, "CMMB", NULL);
-    object->best_guess_delsys = SYS_CMMB;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_DAB)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_DAB));
     gst_structure_set (adapter_structure, "dab", G_TYPE_STRING, "DAB", NULL);
-    object->best_guess_delsys = SYS_DAB;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_DVBT2)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_DVBT2));
     gst_structure_set (adapter_structure, "dvb-t2", G_TYPE_STRING, "DVB-T2",
         NULL);
-    object->best_guess_delsys = SYS_DVBT2;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_TURBO)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_TURBO));
     gst_structure_set (adapter_structure, "turbo", G_TYPE_STRING, "TURBO",
         NULL);
-    object->best_guess_delsys = SYS_TURBO;
   }
 
   if (gst_dvbsrc_check_delsys (&dvb_prop[0], SYS_DVBC_ANNEX_C)) {
+    object->supported_delsys = g_list_append (object->supported_delsys,
+        GINT_TO_POINTER (SYS_DVBC_ANNEX_C));
     gst_structure_set (adapter_structure, "dvb-c-c", G_TYPE_STRING,
         "DVB-C ANNEX C", NULL);
-    object->best_guess_delsys = SYS_DVBC_ANNEX_C;
   }
 
-  GST_INFO_OBJECT (object, "DVB card: %s ", adapter_name);
   GST_TRACE_OBJECT (object, "%s description: %" GST_PTR_FORMAT, adapter_name,
       adapter_structure);
   gst_element_post_message (GST_ELEMENT_CAST (object), gst_message_new_element
       (GST_OBJECT (object), adapter_structure));
-  g_free (frontend_dev);
   g_free (adapter_name);
 
+delsys_detection_done:
+  g_free (frontend_dev);
+
   return TRUE;
 }
 
@@ -1743,7 +1770,7 @@
 
   dvr_dev = g_strdup_printf ("/dev/dvb/adapter%d/dvr%d",
       object->adapter_number, object->frontend_number);
-  GST_INFO_OBJECT (object, "Using dvr device: %s", dvr_dev);
+  GST_INFO_OBJECT (object, "Using DVR device: %s", dvr_dev);
 
   /* open DVR */
   if ((object->fd_dvr = open (dvr_dev, O_RDONLY | O_NONBLOCK)) < 0) {
@@ -1763,7 +1790,7 @@
   }
   g_free (dvr_dev);
 
-  GST_INFO_OBJECT (object, "Setting DVB kernel buffer size to %d ",
+  GST_INFO_OBJECT (object, "Setting DVB kernel buffer size to %d",
       object->dvb_buffer_size);
   LOOP_WHILE_EINTR (err, ioctl (object->fd_dvr, DMX_SET_BUFFER_SIZE,
           object->dvb_buffer_size));
@@ -1931,7 +1958,10 @@
   switch (transition) {
     case GST_STATE_CHANGE_NULL_TO_READY:
       /* open frontend then close it again, just so caps sent */
-      gst_dvbsrc_open_frontend (src, FALSE);
+      if (!gst_dvbsrc_open_frontend (src, FALSE)) {
+        GST_ERROR_OBJECT (src, "Could not open frontend device");
+        ret = GST_STATE_CHANGE_FAILURE;
+      }
       if (src->fd_frontend) {
         close (src->fd_frontend);
       }
@@ -1949,35 +1979,35 @@
 {
   GstDvbSrc *src = GST_DVBSRC (bsrc);
 
-  gst_dvbsrc_open_frontend (src, TRUE);
-  if (!gst_dvbsrc_tune (src)) {
-    GST_ERROR_OBJECT (src, "Not able to lock on to the dvb channel");
-    gst_dvbsrc_unset_pes_filters (src);
-    close (src->fd_frontend);
+  if (!gst_dvbsrc_open_frontend (src, TRUE)) {
+    GST_ERROR_OBJECT (src, "Could not open frontend device");
     return FALSE;
   }
+  if (!gst_dvbsrc_tune (src)) {
+    GST_ERROR_OBJECT (src, "Not able to lock on to the dvb channel");
+    goto fail;
+  }
   if (!gst_dvbsrc_open_dvr (src)) {
-    GST_ERROR_OBJECT (src, "Not able to open dvr_device");
-    /* unset filters also */
-    gst_dvbsrc_unset_pes_filters (src);
-    close (src->fd_frontend);
-    return FALSE;
+    GST_ERROR_OBJECT (src, "Not able to open DVR device");
+    goto fail;
   }
   if (!(src->poll = gst_poll_new (TRUE))) {
     GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ_WRITE, (NULL),
-        ("could not create an fdset: %s (%d)", g_strerror (errno), errno));
-    /* unset filters also */
-    gst_dvbsrc_unset_pes_filters (src);
-    close (src->fd_frontend);
-    return FALSE;
-  } else {
-    gst_poll_fd_init (&src->poll_fd_dvr);
-    src->poll_fd_dvr.fd = src->fd_dvr;
-    gst_poll_add_fd (src->poll, &src->poll_fd_dvr);
-    gst_poll_fd_ctl_read (src->poll, &src->poll_fd_dvr, TRUE);
+        ("Could not create an fd set: %s (%d)", g_strerror (errno), errno));
+    goto fail;
   }
 
+  gst_poll_fd_init (&src->poll_fd_dvr);
+  src->poll_fd_dvr.fd = src->fd_dvr;
+  gst_poll_add_fd (src->poll, &src->poll_fd_dvr);
+  gst_poll_fd_ctl_read (src->poll, &src->poll_fd_dvr, TRUE);
+
   return TRUE;
+
+fail:
+  gst_dvbsrc_unset_pes_filters (src);
+  close (src->fd_frontend);
+  return FALSE;
 }
 
 static gboolean
@@ -1986,6 +2016,8 @@
   GstDvbSrc *src = GST_DVBSRC (bsrc);
 
   gst_dvbsrc_close_devices (src);
+  g_list_free (src->supported_delsys);
+  src->supported_delsys = NULL;
   if (src->poll) {
     gst_poll_free (src->poll);
     src->poll = NULL;
@@ -2019,6 +2051,41 @@
 }
 
 static gboolean
+gst_dvbsrc_is_valid_trans_mode (guint delsys, guint mode)
+{
+  /* FIXME: check valid transmission modes for other broadcast standards */
+  switch (delsys) {
+    case SYS_DVBT:
+      if (mode == TRANSMISSION_MODE_AUTO || mode == TRANSMISSION_MODE_2K ||
+          mode == TRANSMISSION_MODE_8K) {
+        return TRUE;
+      }
+      break;
+    case SYS_DVBT2:
+      if (mode == TRANSMISSION_MODE_AUTO || mode == TRANSMISSION_MODE_1K ||
+          mode == TRANSMISSION_MODE_2K || mode == TRANSMISSION_MODE_4K ||
+          mode == TRANSMISSION_MODE_8K || mode == TRANSMISSION_MODE_16K ||
+          mode == TRANSMISSION_MODE_32K) {
+        return TRUE;
+      }
+      break;
+#if HAVE_V5_MINOR(7)
+    case SYS_DTMB:
+      if (mode == TRANSMISSION_MODE_AUTO || mode == TRANSMISSION_MODE_C1 ||
+          mode == TRANSMISSION_MODE_C3780) {
+        return TRUE;
+      }
+      break;
+#endif
+    default:
+      GST_FIXME ("No delsys/transmission-mode sanity checks implemented for "
+          "this delivery system");
+      return TRUE;
+  }
+  return FALSE;
+}
+
+static gboolean
 gst_dvbsrc_is_valid_modulation (guint delsys, guint mod)
 {
   /* FIXME: check valid modulations for other broadcast standards */
@@ -2028,6 +2095,18 @@
           mod == QAM_64 || mod == DQPSK)
         return TRUE;
       break;
+    case SYS_ATSC:
+      if (mod == VSB_8 || mod == VSB_16)
+        return TRUE;
+      break;
+    case SYS_DVBT:
+      if (mod == QPSK || mod == QAM_16 || mod == QAM_64)
+        return TRUE;
+      break;
+    case SYS_DVBT2:
+      if (mod == QPSK || mod == QAM_16 || mod == QAM_64 || mod == QAM_256)
+        return TRUE;
+      break;
     default:
       GST_FIXME ("No delsys/modulation sanity checks implemented for this "
           "delivery system");
@@ -2037,6 +2116,37 @@
 }
 
 static gboolean
+gst_dvbsrc_is_valid_bandwidth (guint delsys, guint bw)
+{
+  /* FIXME: check valid bandwidth values for other broadcast standards */
+
+  /* Bandwidth == 0 means auto, this should be valid for every delivery system
+   * for which the bandwidth parameter makes sense */
+
+  switch (delsys) {
+    case SYS_DVBT:
+      if (bw == 6000000 || bw == 7000000 || bw == 8000000 || bw == 0)
+        return TRUE;
+      break;
+    case SYS_DVBT2:
+      if (bw == 1172000 || bw == 5000000 || bw == 6000000 || bw == 0 ||
+          bw == 7000000 || bw == 8000000 || bw == 10000000) {
+        return TRUE;
+      }
+      break;
+    case SYS_ISDBT:
+      if (bw == 6000000 || bw == 0)
+        return TRUE;
+      break;
+    default:
+      GST_FIXME ("No bandwidth sanity checks implemented for this "
+          "delivery system");
+      return TRUE;
+  }
+  return FALSE;
+}
+
+static gboolean
 gst_dvbsrc_get_size (GstBaseSrc * src, guint64 * size)
 {
   return FALSE;
@@ -2055,7 +2165,7 @@
 gst_dvbsrc_output_frontend_stats (GstDvbSrc * src)
 {
   fe_status_t status;
-  guint16 snr, _signal;
+  guint16 snr, signal;
   guint32 ber, bad_blks;
   GstMessage *message;
   GstStructure *structure;
@@ -2063,36 +2173,41 @@
   gint err;
 
   LOOP_WHILE_EINTR (err, ioctl (fe_fd, FE_READ_STATUS, &status));
-  if (err)
-    goto error_out;
+  if (!err) {
+    structure = gst_structure_new ("dvb-frontend-stats",
+        "status", G_TYPE_INT, status,
+        "lock", G_TYPE_BOOLEAN, status & FE_HAS_LOCK, NULL);
+  } else {
+    GST_ERROR_OBJECT (src, "Error getting frontend status: '%s'",
+        g_strerror (errno));
+    return;
+  }
 
-  LOOP_WHILE_EINTR (err, ioctl (fe_fd, FE_READ_SIGNAL_STRENGTH, &_signal));
-  if (err)
-    goto error_out;
+  errno = 0;
+  LOOP_WHILE_EINTR (err, ioctl (fe_fd, FE_READ_SIGNAL_STRENGTH, &signal));
+  if (!err)
+    gst_structure_set (structure, "signal", G_TYPE_INT, signal, NULL);
 
   LOOP_WHILE_EINTR (err, ioctl (fe_fd, FE_READ_SNR, &snr));
-  if (err)
-    goto error_out;
+  if (!err)
+    gst_structure_set (structure, "snr", G_TYPE_INT, snr, NULL);
 
   LOOP_WHILE_EINTR (err, ioctl (fe_fd, FE_READ_BER, &ber));
-  if (err)
-    goto error_out;
+  if (!err)
+    gst_structure_set (structure, "ber", G_TYPE_INT, ber, NULL);
 
   LOOP_WHILE_EINTR (err, ioctl (fe_fd, FE_READ_UNCORRECTED_BLOCKS, &bad_blks));
-  if (err)
-    goto error_out;
+  if (!err)
+    gst_structure_set (structure, "unc", G_TYPE_INT, bad_blks, NULL);
 
-  structure = gst_structure_new ("dvb-frontend-stats", "status", G_TYPE_INT,
-      status, "signal", G_TYPE_INT, _signal, "snr", G_TYPE_INT, snr,
-      "ber", G_TYPE_INT, ber, "unc", G_TYPE_INT, bad_blks,
-      "lock", G_TYPE_BOOLEAN, status & FE_HAS_LOCK, NULL);
+  if (errno)
+    GST_WARNING_OBJECT (src,
+        "There were errors getting frontend status information: '%s'",
+        g_strerror (errno));
+
+  GST_INFO_OBJECT (src, "Frontend stats: %" GST_PTR_FORMAT, structure);
   message = gst_message_new_element (GST_OBJECT (src), structure);
   gst_element_post_message (GST_ELEMENT (src), message);
-  return;
-
-error_out:
-  GST_WARNING_OBJECT (src, "Failed to get statistics from the device: %s",
-      g_strerror (errno));
 }
 
 struct diseqc_cmd
@@ -2186,12 +2301,10 @@
 static gboolean
 gst_dvbsrc_tune_fe (GstDvbSrc * object)
 {
-  GstPoll *poll_set;
-  GstPollFD fe_fd;
   fe_status_t status;
   struct dtv_properties props;
   struct dtv_property dvb_prop[NUM_DTV_PROPS];
-  GstClockTimeDiff elapsed_time, timeout_step = 500 * GST_MSECOND;
+  GstClockTimeDiff elapsed_time;
   GstClockTime start;
   gint err;
 
@@ -2202,46 +2315,27 @@
     return FALSE;
   }
 
-  GST_DEBUG_OBJECT (object, "check delivery systems");
-
-  dvb_prop[0].cmd = DTV_ENUM_DELSYS;
-  props.num = 1;
-  props.props = dvb_prop;
-
-  LOOP_WHILE_EINTR (err, ioctl (object->fd_frontend, FE_GET_PROPERTY, &props));
-  if (err) {
-    GST_WARNING_OBJECT (object, "Error enumerating delsys: %s",
-        g_strerror (errno));
-
-    return FALSE;
-  }
-
-  /* If there's no delivery system set yet. Choose the
-   * last from the list of frontend supported ones */
-  if (object->delsys == SYS_UNDEFINED) {
-    object->delsys = object->best_guess_delsys;
-  } else if (!gst_dvbsrc_check_delsys (&dvb_prop[0], object->delsys)) {
-    GST_WARNING_OBJECT (object, "Delsys fail %u", object->delsys);
-    return FALSE;
+  /* If set, confirm the choosen delivery system is actually
+   * supported by the hardware */
+  if (object->delsys != SYS_UNDEFINED) {
+    GST_DEBUG_OBJECT (object, "Confirming delsys '%u' is supported",
+        object->delsys);
+    if (!g_list_find (object->supported_delsys,
+            GINT_TO_POINTER (object->delsys))) {
+      GST_WARNING_OBJECT (object, "Adapter does not support delsys '%u'",
+          object->delsys);
+      return FALSE;
+    }
   }
 
   gst_dvbsrc_unset_pes_filters (object);
 
   g_mutex_lock (&object->tune_mutex);
 
-  gst_poll_fd_init (&fe_fd);
-  fe_fd.fd = object->fd_frontend;
-  poll_set = gst_poll_new (TRUE);
-
-  if (!gst_poll_add_fd (poll_set, &fe_fd)) {
-    GST_WARNING_OBJECT (object, "Could not add frontend fd to poll set");
-    goto fail;
-  }
-
-  gst_poll_fd_ctl_read (poll_set, &fe_fd, TRUE);
-
   memset (dvb_prop, 0, sizeof (dvb_prop));
   dvb_prop[0].cmd = DTV_CLEAR;
+  props.num = 1;
+  props.props = dvb_prop;
 
   LOOP_WHILE_EINTR (err, ioctl (object->fd_frontend, FE_SET_PROPERTY, &props));
   if (err) {
@@ -2265,21 +2359,11 @@
   }
 
   g_signal_emit (object, gst_dvbsrc_signals[SIGNAL_TUNING_START], 0);
-
-  LOOP_WHILE_EINTR (err, ioctl (object->fd_frontend, FE_READ_STATUS, &status));
-  if (err) {
-    GST_WARNING_OBJECT (object, "Failed querying frontend for tuning status:"
-        " %s (%d)", g_strerror (errno), errno);
-    goto fail_with_signal;
-  }
-
-  /* signal locking loop */
   elapsed_time = 0;
   start = gst_util_get_timestamp ();
 
-  while (!(status & FE_HAS_LOCK) && elapsed_time <= object->tuning_timeout) {
-    if (gst_poll_wait (poll_set, timeout_step) == -1)
-      goto fail_with_signal;
+  /* signal locking loop */
+  do {
     LOOP_WHILE_EINTR (err, ioctl (object->fd_frontend, FE_READ_STATUS,
             &status));
     if (err) {
@@ -2292,9 +2376,9 @@
     if (object->tuning_timeout)
       elapsed_time = GST_CLOCK_DIFF (start, gst_util_get_timestamp ());
     GST_LOG_OBJECT (object,
-        "Tuning. Time elapsed %" GST_STIME_FORMAT " Limit %" G_GUINT64_FORMAT,
-        GST_STIME_ARGS (elapsed_time), object->tuning_timeout);
-  }
+        "Tuning. Time elapsed %" GST_STIME_FORMAT " Limit %" GST_TIME_FORMAT,
+        GST_STIME_ARGS (elapsed_time), GST_TIME_ARGS (object->tuning_timeout));
+  } while (!(status & FE_HAS_LOCK) && elapsed_time <= object->tuning_timeout);
 
   if (!(status & FE_HAS_LOCK)) {
     GST_WARNING_OBJECT (object,
@@ -2307,7 +2391,6 @@
   g_signal_emit (object, gst_dvbsrc_signals[SIGNAL_TUNING_DONE], 0);
   GST_DEBUG_OBJECT (object, "Successfully set frontend tuning params");
 
-  gst_poll_free (poll_set);
   g_mutex_unlock (&object->tune_mutex);
   return TRUE;
 
@@ -2315,11 +2398,80 @@
   g_signal_emit (object, gst_dvbsrc_signals[SIGNAL_TUNING_FAIL], 0);
 fail:
   GST_WARNING_OBJECT (object, "Could not tune to desired frequency");
-  gst_poll_free (poll_set);
   g_mutex_unlock (&object->tune_mutex);
   return FALSE;
 }
 
+static void
+gst_dvbsrc_guess_delsys (GstDvbSrc * object)
+{
+  GList *valid, *candidate;
+  guint alternatives;
+
+  if (g_list_length (object->supported_delsys) == 1) {
+    object->delsys = GPOINTER_TO_INT (object->supported_delsys->data);
+    GST_DEBUG_OBJECT (object, "Adapter supports a single delsys: '%u'",
+        object->delsys);
+    goto autoselection_done;
+  }
+
+  /* Automatic delivery system selection based on known-correct
+   * parameter combinations */
+
+  valid = g_list_copy (object->supported_delsys);
+
+  candidate = valid;
+  while (candidate) {
+    GList *next = candidate->next;
+    if (!gst_dvbsrc_is_valid_modulation (GPOINTER_TO_INT (candidate->data),
+            object->modulation) ||
+        !gst_dvbsrc_is_valid_trans_mode (GPOINTER_TO_INT (candidate->data),
+            object->transmission_mode) ||
+        !gst_dvbsrc_is_valid_bandwidth (GPOINTER_TO_INT (candidate->data),
+            object->bandwidth)) {
+      valid = g_list_delete_link (valid, candidate);
+    }
+    candidate = next;
+  }
+
+  alternatives = g_list_length (valid);
+
+  switch (alternatives) {
+    case 0:
+      GST_WARNING_OBJECT (object, "Delivery system autodetection provided no "
+          "valid alternative");
+      candidate = g_list_last (object->supported_delsys);
+      break;
+    case 1:
+      candidate = g_list_last (valid);
+      GST_DEBUG_OBJECT (object, "Delivery system autodetection provided only "
+          "one valid alternative: '%d'", GPOINTER_TO_INT (candidate->data));
+      break;
+    default:
+      /* More than one alternative. Selection based on best guess */
+      if (g_list_find (valid, GINT_TO_POINTER (SYS_DVBT)) &&
+          g_list_find (valid, GINT_TO_POINTER (SYS_DVBT2))) {
+        /* There is no way to tell one over the other when parameters seem valid
+         * for DVB-T and DVB-T2 and the adapter supports both. Reason to go with
+         * the former here is that, from experience, most DVB-T2 channels out
+         * there seem to use parameters that are not valid for DVB-T, like
+         * QAM_256 */
+        GST_WARNING_OBJECT (object, "Channel parameters valid for DVB-T and "
+            "DVB-T2. Choosing DVB-T");
+        candidate = g_list_find (valid, GINT_TO_POINTER (SYS_DVBT));
+      } else {
+        candidate = g_list_last (valid);
+      }
+  }
+
+  object->delsys = GPOINTER_TO_INT (candidate->data);
+  g_list_free (valid);
+
+autoselection_done:
+  GST_INFO_OBJECT (object, "Automatically selecting delivery system '%u'",
+      object->delsys);
+}
+
 static gboolean
 gst_dvbsrc_set_fe_params (GstDvbSrc * object, struct dtv_properties *props)
 {
@@ -2330,6 +2482,10 @@
   int n;
   gint err;
 
+  /* If delsys hasn't been set, ask for it to be automatically selected */
+  if (object->delsys == SYS_UNDEFINED)
+    gst_dvbsrc_guess_delsys (object);
+
   /* first 3 entries are reserved */
   n = 3;
 
@@ -2391,6 +2547,11 @@
         set_prop (props->props, &n, DTV_MODULATION, object->modulation);
 
       if (object->delsys == SYS_DVBS2) {
+        if (object->stream_id > 255) {
+          GST_WARNING_OBJECT (object, "Invalid (> 255) DVB-S2 stream ID '%d'. "
+              "Disabling sub-stream filtering", object->stream_id);
+          object->stream_id = NO_STREAM_ID_FILTER;
+        }
         set_prop (props->props, &n, DTV_PILOT, object->pilot);
         set_prop (props->props, &n, DTV_ROLLOFF, object->rolloff);
         set_prop (props->props, &n, DTV_STREAM_ID, object->stream_id);
@@ -2398,31 +2559,6 @@
       break;
     case SYS_DVBT:
     case SYS_DVBT2:
-      if (object->delsys == SYS_DVBT) {
-        if (object->transmission_mode != TRANSMISSION_MODE_AUTO &&
-            object->transmission_mode != TRANSMISSION_MODE_2K &&
-            object->transmission_mode != TRANSMISSION_MODE_8K) {
-          GST_WARNING_OBJECT (object, "Wrong DVB-T parameter combination: "
-              "transmission mode should be either AUTO, 2K or 8K");
-        }
-        if (object->bandwidth != 6000000 && object->bandwidth != 7000000 &&
-            object->bandwidth != 8000000) {
-          GST_WARNING_OBJECT (object, "Wrong DVB-T parameter value: bandwidth "
-              "is %d but only 6, 7 and 8 MHz are allowed", object->bandwidth);
-        }
-      } else if (object->delsys == SYS_DVBT2) {
-        if (object->transmission_mode != TRANSMISSION_MODE_AUTO &&
-            object->transmission_mode != TRANSMISSION_MODE_1K &&
-            object->transmission_mode != TRANSMISSION_MODE_2K &&
-            object->transmission_mode != TRANSMISSION_MODE_4K &&
-            object->transmission_mode != TRANSMISSION_MODE_8K &&
-            object->transmission_mode != TRANSMISSION_MODE_16K &&
-            object->transmission_mode != TRANSMISSION_MODE_32K) {
-          GST_WARNING_OBJECT (object, "Wrong DVB-T2 parameter combination: "
-              "transmission mode should be either AUTO, 1K, 2K, 4K, 8K, 16K "
-              "or 32K");
-        }
-      }
       set_prop (props->props, &n, DTV_BANDWIDTH_HZ, object->bandwidth);
       set_prop (props->props, &n, DTV_CODE_RATE_HP, object->code_rate_hp);
       set_prop (props->props, &n, DTV_CODE_RATE_LP, object->code_rate_lp);
@@ -2431,7 +2567,13 @@
           object->transmission_mode);
       set_prop (props->props, &n, DTV_GUARD_INTERVAL, object->guard_interval);
       set_prop (props->props, &n, DTV_HIERARCHY, object->hierarchy_information);
+
       if (object->delsys == SYS_DVBT2) {
+        if (object->stream_id > 255) {
+          GST_WARNING_OBJECT (object, "Invalid (> 255) DVB-T2 stream ID '%d'. "
+              "Disabling sub-stream filtering", object->stream_id);
+          object->stream_id = NO_STREAM_ID_FILTER;
+        }
         set_prop (props->props, &n, DTV_STREAM_ID, object->stream_id);
       }
 
@@ -2476,11 +2618,6 @@
             "layer C modulation is DQPSK but layer B modulation is different");
       }
 
-      if (object->bandwidth != 6000000) {
-        GST_WARNING_OBJECT (object, "Wrong ISDB-T parameter value: bandwidth "
-            "is %d but only 6 MHz is allowed", object->bandwidth);
-      }
-
       GST_INFO_OBJECT (object, "Tuning ISDB-T to %d", freq);
       set_prop (props->props, &n, DTV_BANDWIDTH_HZ, object->bandwidth);
       set_prop (props->props, &n, DTV_GUARD_INTERVAL, object->guard_interval);
@@ -2547,9 +2684,22 @@
       return FALSE;
   }
 
+  /* Informative checks */
   if (!gst_dvbsrc_is_valid_modulation (object->delsys, object->modulation)) {
     GST_WARNING_OBJECT (object,
-        "Attempting an invalid modulation/delsys combination");
+        "Attempting invalid modulation '%u' for delivery system '%u'",
+        object->modulation, object->delsys);
+  }
+  if (!gst_dvbsrc_is_valid_trans_mode (object->delsys,
+          object->transmission_mode)) {
+    GST_WARNING_OBJECT (object,
+        "Attempting invalid transmission mode '%u' for delivery system '%u'",
+        object->transmission_mode, object->delsys);
+  }
+  if (!gst_dvbsrc_is_valid_bandwidth (object->delsys, object->bandwidth)) {
+    GST_WARNING_OBJECT (object,
+        "Attempting invalid bandwidth '%u' for delivery system '%u'",
+        object->bandwidth, object->delsys);
   }
 
   set_prop (props->props, &n, DTV_TUNE, 0);
@@ -2611,6 +2761,12 @@
 
   GST_INFO_OBJECT (object, "Setting PES filter");
 
+  /* Set common params for all filters */
+  pes_filter.input = DMX_IN_FRONTEND;
+  pes_filter.output = DMX_OUT_TS_TAP;
+  pes_filter.pes_type = DMX_PES_OTHER;
+  pes_filter.flags = DMX_IMMEDIATE_START;
+
   for (i = 0; i < MAX_FILTERS; i++) {
     if (object->pids[i] == G_MAXUINT16)
       break;
@@ -2628,12 +2784,8 @@
     g_return_if_fail (*fd != -1);
 
     pes_filter.pid = pid;
-    pes_filter.input = DMX_IN_FRONTEND;
-    pes_filter.output = DMX_OUT_TS_TAP;
-    pes_filter.pes_type = DMX_PES_OTHER;
-    pes_filter.flags = DMX_IMMEDIATE_START;
 
-    GST_INFO_OBJECT (object, "Setting pes-filter, pid = %d, type = %d",
+    GST_INFO_OBJECT (object, "Setting PES filter: pid = %d, type = %d",
         pes_filter.pid, pes_filter.pes_type);
 
     LOOP_WHILE_EINTR (err, ioctl (*fd, DMX_SET_PES_FILTER, &pes_filter));
diff --git a/sys/dvb/gstdvbsrc.h b/sys/dvb/gstdvbsrc.h
index 27a27b7..e504ea8 100644
--- a/sys/dvb/gstdvbsrc.h
+++ b/sys/dvb/gstdvbsrc.h
@@ -64,8 +64,8 @@
   GMutex tune_mutex;
   gboolean need_tune;
 
+  GList * supported_delsys;
   guchar delsys;
-  guchar best_guess_delsys;
 
   int adapter_number;
   int frontend_number;
diff --git a/sys/dvb/parsechannels.c b/sys/dvb/parsechannels.c
index 1d30580..1d63eb8 100644
--- a/sys/dvb/parsechannels.c
+++ b/sys/dvb/parsechannels.c
@@ -37,6 +37,20 @@
 
 #include <linux/dvb/frontend.h>
 
+typedef enum
+{
+  CHANNEL_CONF_FORMAT_NONE,
+  CHANNEL_CONF_FORMAT_DVBV5,
+  CHANNEL_CONF_FORMAT_ZAP
+} GstDvbChannelConfFormat;
+
+static gboolean parse_and_configure_from_v5_conf_file (GstElement * dvbbasebin,
+    const gchar * filename, const gchar * channel_name, GError ** error);
+static gboolean parse_and_configure_from_zap_conf_file (GstElement * dvbbasebin,
+    const gchar * filename, const gchar * channel_name, GError ** error);
+static GstDvbChannelConfFormat detect_file_format (const gchar * filename);
+
+
 GST_DEBUG_CATEGORY_EXTERN (dvb_base_bin_debug);
 #define GST_CAT_DEFAULT dvb_base_bin_debug
 
@@ -45,6 +59,319 @@
  * Detect when the file changed on disk
  */
 
+typedef gboolean (*GstDvbV5ChannelsConfPropSetFunction) (GstElement *
+    dvbbasebin, const gchar * property, GKeyFile * kf,
+    const gchar * channel_name, const gchar * key);
+
+static gint
+gst_dvb_base_bin_find_string_in_array (const gchar ** array, const gchar * str)
+{
+  gint i = 0;
+  const gchar *cur;
+  while ((cur = array[i])) {
+    if (strcmp (cur, str) == 0)
+      return i;
+
+    i++;
+  }
+
+  return -1;
+}
+
+static gboolean
+gst_dvb_base_bin_conf_set_property_from_string_array (GstElement * dvbbasebin,
+    const gchar * property, GKeyFile * kf, const gchar * channel_name,
+    const gchar * key, const gchar ** strings, gint default_value)
+{
+  gchar *str;
+  gint v;
+
+  str = g_key_file_get_string (kf, channel_name, key, NULL);
+  v = gst_dvb_base_bin_find_string_in_array (strings, str);
+  if (v == -1) {
+    GST_WARNING_OBJECT (dvbbasebin, "Unexpected value '%s' for property "
+        "'%s', using default: %d", str, property, default_value);
+    v = default_value;
+  }
+
+  g_free (str);
+  g_object_set (dvbbasebin, property, v, NULL);
+  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,
+    const gchar * key)
+{
+  gchar *str;
+
+  str = g_key_file_get_string (kf, channel_name, key, NULL);
+  g_object_set (dvbbasebin, property, str, NULL);
+  g_free (str);
+  return TRUE;
+}
+
+static gboolean
+gst_dvb_base_bin_conf_set_uint (GstElement * dvbbasebin, const gchar * property,
+    GKeyFile * kf, const gchar * channel_name, const gchar * key)
+{
+  guint64 v;
+
+  v = g_key_file_get_uint64 (kf, channel_name, key, NULL);
+  g_object_set (dvbbasebin, property, (guint) v, NULL);
+  return TRUE;
+}
+
+static gboolean
+gst_dvb_base_bin_conf_set_int (GstElement * dvbbasebin, const gchar * property,
+    GKeyFile * kf, const gchar * channel_name, const gchar * key)
+{
+  gint v;
+
+  v = g_key_file_get_integer (kf, channel_name, key, NULL);
+  g_object_set (dvbbasebin, property, v, NULL);
+  return TRUE;
+}
+
+static gboolean
+gst_dvb_base_bin_conf_set_inversion (GstElement * dvbbasebin,
+    const gchar * property, GKeyFile * kf, const gchar * channel_name,
+    const gchar * key)
+{
+  gchar *str;
+  gint v;
+
+  str = g_key_file_get_string (kf, channel_name, key, NULL);
+  if (strcmp (str, "AUTO") == 0)
+    v = 2;
+  else if (strcmp (str, "ON") == 0)
+    v = 1;
+  else
+    v = 0;                      /* OFF */
+
+  g_free (str);
+  g_object_set (dvbbasebin, property, v, NULL);
+  return TRUE;
+}
+
+static gboolean
+gst_dvb_base_bin_conf_set_guard (GstElement * dvbbasebin,
+    const gchar * property, GKeyFile * kf, const gchar * channel_name,
+    const gchar * key)
+{
+  const gchar *guards[] = {
+    "32", "16", "8", "4", "auto",
+    "128", "19/128", "19/256",
+    "PN420", "PN595", "PN945", NULL
+  };
+  return gst_dvb_base_bin_conf_set_property_from_string_array (dvbbasebin,
+      property, kf, channel_name, key, guards, 4);
+}
+
+static gboolean
+gst_dvb_base_bin_conf_set_trans_mode (GstElement * dvbbasebin,
+    const gchar * property, GKeyFile * kf, const gchar * channel_name,
+    const gchar * key)
+{
+  const gchar *trans_modes[] = {
+    "2K", "8K", "AUTO", "4K", "1K",
+    "16K", "32K", "C1", "C3780", NULL
+  };
+  return gst_dvb_base_bin_conf_set_property_from_string_array (dvbbasebin,
+      property, kf, channel_name, key, trans_modes, 2);
+}
+
+static gboolean
+gst_dvb_base_bin_conf_set_code_rate (GstElement * dvbbasebin,
+    const gchar * property, GKeyFile * kf, const gchar * channel_name,
+    const gchar * key)
+{
+  const gchar *code_rates[] = {
+    "NONE", "1/2", "2/3", "3/4", "4/5",
+    "5/6", "6/7", "7/8", "8/9", "AUTO",
+    "3/5", "9/10", "2/5", NULL
+  };
+  return gst_dvb_base_bin_conf_set_property_from_string_array (dvbbasebin,
+      property, kf, channel_name, key, code_rates, 9);
+}
+
+static gboolean
+gst_dvb_base_bin_conf_set_delsys (GstElement * dvbbasebin,
+    const gchar * property, GKeyFile * kf, const gchar * channel_name,
+    const gchar * key)
+{
+  const gchar *delsys[] = {
+    "UNDEFINED", "DVBCA", "DVBCB", "DVBT", "DSS",
+    "DVBS", "DVBS2", "DVBH", "ISDBT", "ISDBS",
+    "ISDBC", "ATSC", "ATSCMH", "DTMB", "CMMB",
+    "DAB", "DVBT2", "TURBO", "DVBCC", NULL
+  };
+  return gst_dvb_base_bin_conf_set_property_from_string_array (dvbbasebin,
+      property, kf, channel_name, key, delsys, 0);
+}
+
+static gboolean
+gst_dvb_base_bin_conf_set_modulation (GstElement * dvbbasebin,
+    const gchar * property, GKeyFile * kf, const gchar * channel_name,
+    const gchar * key)
+{
+  const gchar *modulations[] = {
+    "QPSK", "QAM/16", "QAM/32", "QAM/64",
+    "QAM/128", "QAM/256", "QAM/AUTO", "VSB/8",
+    "VSB/16", "PSK/8", "APSK/16", "APSK/32",
+    "DQPSK", "QAM/4_NR", NULL
+  };
+  return gst_dvb_base_bin_conf_set_property_from_string_array (dvbbasebin,
+      property, kf, channel_name, key, modulations, 6);
+}
+
+typedef struct
+{
+  const gchar *conf_property;
+  const gchar *elem_property;
+  GstDvbV5ChannelsConfPropSetFunction set_func;
+} GstDvbV5ChannelsConfToPropertyMap;
+
+GstDvbV5ChannelsConfToPropertyMap dvbv5_prop_map[] = {
+  {"SERVICE_ID", "program-numbers", gst_dvb_base_bin_conf_set_string},
+  {"FREQUENCY", "frequency", gst_dvb_base_bin_conf_set_uint},
+  {"BANDWIDTH_HZ", "bandwidth-hz", gst_dvb_base_bin_conf_set_uint},
+  {"INVERSION", "inversion", gst_dvb_base_bin_conf_set_inversion},
+  {"GUARD_INTERVAL", "guard", gst_dvb_base_bin_conf_set_guard},
+  {"TRANSMISSION_MODE", "trans-mode", gst_dvb_base_bin_conf_set_trans_mode},
+  {"MODULATION", "modulation", gst_dvb_base_bin_conf_set_modulation},
+  {"ISDBT_LAYER_ENABLED", "isdbt-layer-enabled",
+      gst_dvb_base_bin_conf_set_uint},
+  {"ISDBT_PARTIAL_RECEPTION", "isdbt-partial-reception",
+      gst_dvb_base_bin_conf_set_int},
+  {"ISDBT_SOUND_BROADCASTING", "isdbt-sound-broadcasting",
+      gst_dvb_base_bin_conf_set_int},
+  {"ISDBT_SB_SUBCHANNEL_ID", "isdbt-sb-subchannel-id",
+      gst_dvb_base_bin_conf_set_int},
+  {"ISDBT_SB_SEGMENT_IDX", "isdbt-sb-segment-idx",
+      gst_dvb_base_bin_conf_set_int},
+  {"ISDBT_SB_SEGMENT_COUNT", "isdbt-sb-segment-count", gst_dvb_base_bin_conf_set_int},  /* Range in files start from 0, property starts from 1 */
+  {"ISDBT_LAYERA_FEC", "isdbt-layera-fec", gst_dvb_base_bin_conf_set_code_rate},
+  {"ISDBT_LAYERA_MODULATION", "isdbt-layera-modulation",
+      gst_dvb_base_bin_conf_set_modulation},
+  {"ISDBT_LAYERA_SEGMENT_COUNT", "isdbt-layera-segment-count",
+      gst_dvb_base_bin_conf_set_int},
+  {"ISDBT_LAYERA_TIME_INTERLEAVING", "isdbt-layera-time-interleaving",
+      gst_dvb_base_bin_conf_set_int},
+  {"ISDBT_LAYERB_FEC", "isdbt-layerb-fec", gst_dvb_base_bin_conf_set_code_rate},
+  {"ISDBT_LAYERB_MODULATION", "isdbt-layerb-modulation",
+      gst_dvb_base_bin_conf_set_modulation},
+  {"ISDBT_LAYERB_SEGMENT_COUNT", "isdbt-layerb-segment-count",
+      gst_dvb_base_bin_conf_set_int},
+  {"ISDBT_LAYERB_TIME_INTERLEAVING", "isdbt-layerb-time-interleaving",
+      gst_dvb_base_bin_conf_set_int},
+  {"ISDBT_LAYERC_FEC", "isdbt-layerc-fec", gst_dvb_base_bin_conf_set_code_rate},
+  {"ISDBT_LAYERC_MODULATION", "isdbt-layerc-modulation",
+      gst_dvb_base_bin_conf_set_modulation},
+  {"ISDBT_LAYERC_SEGMENT_COUNT", "isdbt-layerc-segment-count",
+      gst_dvb_base_bin_conf_set_int},
+  {"ISDBT_LAYERC_TIME_INTERLEAVING", "isdbt-layerc-time-interleaving",
+      gst_dvb_base_bin_conf_set_int},
+  {"DELIVERY_SYSTEM", "delsys", gst_dvb_base_bin_conf_set_delsys},
+  {NULL,}
+};
+
+static gboolean
+parse_and_configure_from_v5_conf_file (GstElement * dvbbasebin,
+    const gchar * filename, const gchar * channel_name, GError ** error)
+{
+  GKeyFile *keyfile;
+  gchar **keys, **keys_p;
+  GError *err = NULL;
+
+  keyfile = g_key_file_new ();
+  if (!g_key_file_load_from_file (keyfile, filename, G_KEY_FILE_NONE, &err))
+    goto load_error;
+
+  if (!g_key_file_has_group (keyfile, channel_name))
+    goto unknown_channel;
+
+  keys = g_key_file_get_keys (keyfile, channel_name, NULL, &err);
+  if (!keys)
+    goto no_properties;
+
+  keys_p = keys;
+  while (*keys_p) {
+    const gchar *k = *keys_p;
+    const GstDvbV5ChannelsConfToPropertyMap *map_entry = dvbv5_prop_map;
+    gboolean property_found = FALSE;
+
+    GST_LOG_OBJECT (dvbbasebin, "Setting property %s", k);
+
+    while (map_entry->conf_property) {
+      if (strcmp (map_entry->conf_property, k) == 0) {
+        if (!map_entry->set_func (dvbbasebin, map_entry->elem_property, keyfile,
+                channel_name, k))
+          goto property_error;
+        property_found = TRUE;
+        break;
+      }
+      map_entry++;
+    }
+
+    if (!property_found)
+      GST_DEBUG_OBJECT (dvbbasebin, "Failed to map property '%s'", k);
+
+    keys_p++;
+  }
+
+  GST_DEBUG_OBJECT (dvbbasebin, "Successfully parsed channel configuration "
+      "file '%s'", filename);
+  g_strfreev (keys);
+  g_key_file_unref (keyfile);
+  return TRUE;
+
+load_error:
+  if ((err->domain == G_FILE_ERROR && err->code == G_FILE_ERROR_NOENT) ||
+      (err->domain == G_KEY_FILE_ERROR
+          && err->code == G_KEY_FILE_ERROR_NOT_FOUND)) {
+    g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_NOT_FOUND,
+        _("Couldn't find DVB channel configuration file"));
+  } else {
+    g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_READ,
+        _("Couldn't load DVB channel configuration file: %s"), err->message);
+  }
+  g_clear_error (&err);
+  return FALSE;
+
+unknown_channel:
+  {
+    /* FIXME: is channel name guaranteed to be ASCII or UTF-8? */
+    g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_NOT_FOUND,
+        _("Couldn't find details for DVB channel %s"), channel_name);
+    g_key_file_unref (keyfile);
+    g_clear_error (&err);
+    return FALSE;
+  }
+
+no_properties:
+  {
+    /* FIXME: is channel name guaranteed to be ASCII or UTF-8? */
+    g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_NOT_FOUND,
+        _("No properties for the DVB channel %s"), channel_name);
+    g_key_file_unref (keyfile);
+    g_clear_error (&err);
+    return FALSE;
+  }
+
+property_error:
+  {
+    /* FIXME: is channel name guaranteed to be ASCII or UTF-8? */
+    g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_FAILED,
+        _("Failed to set properties for the DVB channel %s"), channel_name);
+    g_key_file_unref (keyfile);
+    g_clear_error (&err);
+    return FALSE;
+  }
+}
+
 /* this will do zap style channels.conf only for the moment */
 static GHashTable *
 parse_channels_conf_from_file (GstElement * dvbbasebin, const gchar * filename,
@@ -162,7 +489,7 @@
 open_fail:
   if (err->code == G_FILE_ERROR_NOENT) {
     g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_NOT_FOUND,
-        _("Couldn't find DVB channel configuration file"));
+        _("Couldn't find DVB channel configuration file: %s"), err->message);
   } else {
     g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_READ,
         _("Couldn't load DVB channel configuration file: %s"), err->message);
@@ -192,23 +519,26 @@
   g_hash_table_foreach_remove (channels, remove_channel_from_hash, NULL);
 }
 
-gboolean
-set_properties_for_channel (GstElement * dvbbasebin,
-    const gchar * channel_name, GError ** error)
+static gboolean
+parse_and_configure_from_zap_conf_file (GstElement * dvbbasebin,
+    const gchar * filename, const gchar * channel_name, GError ** error)
 {
   gboolean ret = FALSE;
   GHashTable *channels, *params;
-  gchar *filename;
   gchar *type;
-  const gchar *adapter;
 
-  filename = g_strdup (g_getenv ("GST_DVB_CHANNELS_CONF"));
-  if (filename == NULL) {
-    filename = g_build_filename (g_get_user_config_dir (),
-        "gstreamer-" GST_API_VERSION, "dvb-channels.conf", NULL);
-  }
+  /**
+   * Assumptions are made here about a format that is loosely
+   * defined. Particularly, we assume a given delivery system
+   * out of counting the number of fields per line. dvbsrc has
+   * smarter code to auto-detect a delivery system based on
+   * known-correct combinations of parameters so if you ever
+   * encounter cases where the delivery system is being
+   * wrongly set here, just remove the offending
+   * g_object_set line and let dvbsrc work his magic out.
+   */
+
   channels = parse_channels_conf_from_file (dvbbasebin, filename, error);
-  g_free (filename);
 
   if (!channels)
     goto beach;
@@ -221,24 +551,19 @@
   g_object_set (dvbbasebin, "program-numbers",
       g_hash_table_lookup (params, "sid"), NULL);
   /* check if it is terrestrial or satellite */
-  adapter = g_getenv ("GST_DVB_ADAPTER");
-  if (adapter)
-    g_object_set (dvbbasebin, "adapter", atoi (adapter), NULL);
   g_object_set (dvbbasebin, "frequency",
       atoi (g_hash_table_lookup (params, "frequency")), NULL);
   type = g_hash_table_lookup (params, "type");
   if (strcmp (type, "terrestrial") == 0) {
     gchar *val;
 
-    g_object_set (dvbbasebin, "delsys", SYS_DVBT, NULL);
-
     val = g_hash_table_lookup (params, "inversion");
     if (strcmp (val, "INVERSION_OFF") == 0)
-      g_object_set (dvbbasebin, "inversion", 0, NULL);
+      g_object_set (dvbbasebin, "inversion", INVERSION_OFF, NULL);
     else if (strcmp (val, "INVERSION_ON") == 0)
-      g_object_set (dvbbasebin, "inversion", 1, NULL);
+      g_object_set (dvbbasebin, "inversion", INVERSION_ON, NULL);
     else
-      g_object_set (dvbbasebin, "inversion", 2, NULL);
+      g_object_set (dvbbasebin, "inversion", INVERSION_AUTO, NULL);
 
     val = g_hash_table_lookup (params, "bandwidth");
     if (strcmp (val, "BANDWIDTH_8_MHZ") == 0)
@@ -247,6 +572,12 @@
       g_object_set (dvbbasebin, "bandwidth", 1, NULL);
     else if (strcmp (val, "BANDWIDTH_6_MHZ") == 0)
       g_object_set (dvbbasebin, "bandwidth", 2, NULL);
+    else if (strcmp (val, "BANDWIDTH_5_MHZ") == 0)
+      g_object_set (dvbbasebin, "bandwidth", 4, NULL);
+    else if (strcmp (val, "BANDWIDTH_10_MHZ") == 0)
+      g_object_set (dvbbasebin, "bandwidth", 5, NULL);
+    else if (strcmp (val, "BANDWIDTH_1_712_MHZ") == 0)
+      g_object_set (dvbbasebin, "bandwidth", 6, NULL);
     else
       g_object_set (dvbbasebin, "bandwidth", 3, NULL);
 
@@ -451,3 +782,82 @@
     return FALSE;
   }
 }
+
+static GstDvbChannelConfFormat
+detect_file_format (const gchar * filename)
+{
+  gchar *contents;
+  gchar **lines;
+  gchar **line;
+  GstDvbChannelConfFormat ret = CHANNEL_CONF_FORMAT_NONE;
+
+  if (!g_file_get_contents (filename, &contents, NULL, NULL))
+    return ret;
+
+  lines = g_strsplit (contents, "\n", 0);
+  line = lines;
+
+  while (*line) {
+    if (g_str_has_prefix (*line, "[") && g_str_has_suffix (*line, "]")) {
+      ret = CHANNEL_CONF_FORMAT_DVBV5;
+      break;
+    } else if (g_strrstr (*line, ":")) {
+      ret = CHANNEL_CONF_FORMAT_ZAP;
+      break;
+    }
+    line++;
+  }
+
+  g_strfreev (lines);
+  g_free (contents);
+  return ret;
+}
+
+gboolean
+set_properties_for_channel (GstElement * dvbbasebin,
+    const gchar * channel_name, GError ** error)
+{
+  gboolean ret = FALSE;
+  gchar *filename;
+  const gchar *adapter;
+
+  filename = g_strdup (g_getenv ("GST_DVB_CHANNELS_CONF"));
+  if (filename == NULL) {
+    filename = g_build_filename (g_get_user_config_dir (),
+        "gstreamer-" GST_API_VERSION, "dvb-channels.conf", NULL);
+  }
+
+  adapter = g_getenv ("GST_DVB_ADAPTER");
+  if (adapter)
+    g_object_set (dvbbasebin, "adapter", atoi (adapter), NULL);
+
+  switch (detect_file_format (filename)) {
+    case CHANNEL_CONF_FORMAT_DVBV5:
+      if (!parse_and_configure_from_v5_conf_file (dvbbasebin, filename,
+              channel_name, error)) {
+        GST_WARNING_OBJECT (dvbbasebin, "Could not parse libdvbv5 channel "
+            "configuration file '%s'", filename);
+      } else {
+        GST_INFO_OBJECT (dvbbasebin, "Parsed libdvbv5 channel configuration "
+            "file");
+        ret = TRUE;
+      }
+      break;
+    case CHANNEL_CONF_FORMAT_ZAP:
+      if (!parse_and_configure_from_zap_conf_file (dvbbasebin, filename,
+              channel_name, error)) {
+        GST_WARNING_OBJECT (dvbbasebin, "Could not parse ZAP channel "
+            "configuration file '%s'", filename);
+      } else {
+        GST_INFO_OBJECT (dvbbasebin, "Parsed ZAP channel configuration file");
+        ret = TRUE;
+      }
+      break;
+    default:
+      GST_WARNING_OBJECT (dvbbasebin, "Unknown configuration file format. "
+          "Can not get parameters for channel");
+  }
+
+  g_free (filename);
+  return ret;
+}
diff --git a/sys/fbdev/Makefile.in b/sys/fbdev/Makefile.in
index 9bd0561..e43e4fd 100644
--- a/sys/fbdev/Makefile.in
+++ b/sys/fbdev/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/fbdev/gstfbdevsink.c b/sys/fbdev/gstfbdevsink.c
index b559a7e..3f9ad88 100644
--- a/sys/fbdev/gstfbdevsink.c
+++ b/sys/fbdev/gstfbdevsink.c
@@ -227,7 +227,8 @@
   gst_structure_get_int (structure, "height", &fbdevsink->height);
 
   /* calculate centering and scanlengths for the video */
-  fbdevsink->bytespp = fbdevsink->fixinfo.line_length / fbdevsink->varinfo.xres_virtual;
+  fbdevsink->bytespp =
+      fbdevsink->fixinfo.line_length / fbdevsink->varinfo.xres_virtual;
 
   fbdevsink->cx = ((int) fbdevsink->varinfo.xres - fbdevsink->width) / 2;
   if (fbdevsink->cx < 0)
@@ -432,8 +433,7 @@
       "Sink/Video", "Linux framebuffer videosink",
       "Sean D'Epagnier <sean@depagnier.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_template);
 }
 
 static void
diff --git a/sys/kms/Makefile.am b/sys/kms/Makefile.am
new file mode 100644
index 0000000..9b12c72
--- /dev/null
+++ b/sys/kms/Makefile.am
@@ -0,0 +1,41 @@
+plugin_LTLIBRARIES = libgstkmssink.la
+
+libgstkmssink_la_SOURCES = 			\
+	gstkmssink.c				\
+	gstkmsutils.c				\
+	gstkmsallocator.c			\
+	gstkmsbufferpool.c			\
+	$(NUL)
+
+libgstkmssink_la_CFLAGS = 			\
+	$(GST_PLUGINS_BASE_CFLAGS) 		\
+	$(GST_BASE_CFLAGS) 			\
+	$(GST_VIDEO_CFLAGS)			\
+	$(GST_ALLOCATORS_CFLAGS)		\
+	$(GST_CFLAGS) 				\
+	$(DRM_CFLAGS) 				\
+	$(NULL)
+
+libgstkmssink_la_LIBADD = 			\
+	$(GST_PLUGINS_BASE_LIBS) 		\
+	$(GST_BASE_LIBS) 			\
+	$(GST_VIDEO_LIBS)			\
+	$(GST_ALLOCATORS_LIBS)			\
+	$(GST_LIBS) 				\
+	$(DRM_LIBS) 				\
+	$(NULL)
+
+libgstkmssink_la_LDFLAGS = 			\
+	$(GST_PLUGIN_LDFLAGS)			\
+	$(NULL)
+
+libgstkmssink_la_LIBTOOLFLAGS = 		\
+	$(GST_PLUGIN_LIBTOOLFLAGS) 		\
+	$(NULL)
+
+noinst_HEADERS = 				\
+	gstkmssink.h 				\
+	gstkmsutils.h				\
+	gstkmsallocator.h			\
+	gstkmsbufferpool.h			\
+	$(NULL)
diff --git a/tests/examples/gl/gtk/gtkvideooverlay/Makefile.in b/sys/kms/Makefile.in
similarity index 69%
copy from tests/examples/gl/gtk/gtkvideooverlay/Makefile.in
copy to sys/kms/Makefile.in
index aef9ed4..571f994 100644
--- a/tests/examples/gl/gtk/gtkvideooverlay/Makefile.in
+++ b/sys/kms/Makefile.in
@@ -14,6 +14,7 @@
 
 @SET_MAKE@
 
+
 VPATH = @srcdir@
 am__is_gnu_make = { \
   if test -z '$(MAKELEVEL)'; then \
@@ -89,8 +90,7 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-noinst_PROGRAMS = gtkvideooverlay$(EXEEXT)
-subdir = tests/examples/gl/gtk/gtkvideooverlay
+subdir = sys/kms
 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 \
@@ -127,27 +127,59 @@
 	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_gtkvideooverlay_OBJECTS = gtkvideooverlay-main.$(OBJEXT)
-gtkvideooverlay_OBJECTS = $(am_gtkvideooverlay_OBJECTS)
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(plugindir)"
+LTLIBRARIES = $(plugin_LTLIBRARIES)
 am__DEPENDENCIES_1 =
-gtkvideooverlay_DEPENDENCIES = ../libgstgtkhelper.la \
+libgstkmssink_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1)
+am_libgstkmssink_la_OBJECTS = libgstkmssink_la-gstkmssink.lo \
+	libgstkmssink_la-gstkmsutils.lo \
+	libgstkmssink_la-gstkmsallocator.lo \
+	libgstkmssink_la-gstkmsbufferpool.lo
+libgstkmssink_la_OBJECTS = $(am_libgstkmssink_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 = 
-gtkvideooverlay_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+libgstkmssink_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(libgstkmssink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+	$(CCLD) $(libgstkmssink_la_CFLAGS) $(CFLAGS) \
+	$(libgstkmssink_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
@@ -164,31 +196,32 @@
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_@AM_V@)
-am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
-am__v_CXX_0 = @echo "  CXX     " $@;
-am__v_CXX_1 = 
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
-am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo "  CXXLD   " $@;
-am__v_CXXLD_1 = 
-SOURCES = $(gtkvideooverlay_SOURCES)
-DIST_SOURCES = $(gtkvideooverlay_SOURCES)
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = $(libgstkmssink_la_SOURCES)
+DIST_SOURCES = $(libgstkmssink_la_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
+HEADERS = $(noinst_HEADERS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 # Read a list of newline-separated strings from the standard input,
 # and print each of them once, without duplicates.  Input order is
@@ -274,6 +307,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -489,6 +524,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -615,8 +652,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -661,6 +696,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -749,19 +786,51 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 wayland_scanner = @wayland_scanner@
-gtkvideooverlay_SOURCES = main.cpp
-gtkvideooverlay_CXXFLAGS = -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
-	$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) \
-	$(GL_CFLAGS) $(GTK3_CFLAGS)  $(X11_CFLAGS)
+plugin_LTLIBRARIES = libgstkmssink.la
+libgstkmssink_la_SOURCES = \
+	gstkmssink.c				\
+	gstkmsutils.c				\
+	gstkmsallocator.c			\
+	gstkmsbufferpool.c			\
+	$(NUL)
 
-gtkvideooverlay_LDADD = ../libgstgtkhelper.la \
-	$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
-	$(GL_LIBS) -lgstvideo-$(GST_API_VERSION) $(X11_LIBS)
+libgstkmssink_la_CFLAGS = \
+	$(GST_PLUGINS_BASE_CFLAGS) 		\
+	$(GST_BASE_CFLAGS) 			\
+	$(GST_VIDEO_CFLAGS)			\
+	$(GST_ALLOCATORS_CFLAGS)		\
+	$(GST_CFLAGS) 				\
+	$(DRM_CFLAGS) 				\
+	$(NULL)
+
+libgstkmssink_la_LIBADD = \
+	$(GST_PLUGINS_BASE_LIBS) 		\
+	$(GST_BASE_LIBS) 			\
+	$(GST_VIDEO_LIBS)			\
+	$(GST_ALLOCATORS_LIBS)			\
+	$(GST_LIBS) 				\
+	$(DRM_LIBS) 				\
+	$(NULL)
+
+libgstkmssink_la_LDFLAGS = \
+	$(GST_PLUGIN_LDFLAGS)			\
+	$(NULL)
+
+libgstkmssink_la_LIBTOOLFLAGS = \
+	$(GST_PLUGIN_LIBTOOLFLAGS) 		\
+	$(NULL)
+
+noinst_HEADERS = \
+	gstkmssink.h 				\
+	gstkmsutils.h				\
+	gstkmsallocator.h			\
+	gstkmsbufferpool.h			\
+	$(NULL)
 
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .cpp .lo .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 \
@@ -771,9 +840,9 @@
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/gl/gtk/gtkvideooverlay/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu sys/kms/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu tests/examples/gl/gtk/gtkvideooverlay/Makefile
+	  $(AUTOMAKE) --gnu sys/kms/Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -792,18 +861,43 @@
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 
-clean-noinstPROGRAMS:
-	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
-	echo " rm -f" $$list; \
-	rm -f $$list || exit $$?; \
-	test -n "$(EXEEXT)" || exit 0; \
-	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-	echo " rm -f" $$list; \
-	rm -f $$list
+install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
+	@$(NORMAL_INSTALL)
+	@list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
+	list2=; for p in $$list; do \
+	  if test -f $$p; then \
+	    list2="$$list2 $$p"; \
+	  else :; fi; \
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
+	}
 
-gtkvideooverlay$(EXEEXT): $(gtkvideooverlay_OBJECTS) $(gtkvideooverlay_DEPENDENCIES) $(EXTRA_gtkvideooverlay_DEPENDENCIES) 
-	@rm -f gtkvideooverlay$(EXEEXT)
-	$(AM_V_CXXLD)$(gtkvideooverlay_LINK) $(gtkvideooverlay_OBJECTS) $(gtkvideooverlay_LDADD) $(LIBS)
+uninstall-pluginLTLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
+	done
+
+clean-pluginLTLIBRARIES:
+	-test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
+	@list='$(plugin_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
+
+libgstkmssink.la: $(libgstkmssink_la_OBJECTS) $(libgstkmssink_la_DEPENDENCIES) $(EXTRA_libgstkmssink_la_DEPENDENCIES) 
+	$(AM_V_CCLD)$(libgstkmssink_la_LINK) -rpath $(plugindir) $(libgstkmssink_la_OBJECTS) $(libgstkmssink_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -811,45 +905,62 @@
 distclean-compile:
 	-rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtkvideooverlay-main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstkmssink_la-gstkmsallocator.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstkmssink_la-gstkmsbufferpool.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstkmssink_la-gstkmssink.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstkmssink_la-gstkmsutils.Plo@am__quote@
 
-.cpp.o:
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+.c.o:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 
-.cpp.obj:
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+.c.obj:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
-.cpp.lo:
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
+.c.lo:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
-gtkvideooverlay-main.o: main.cpp
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) -MT gtkvideooverlay-main.o -MD -MP -MF $(DEPDIR)/gtkvideooverlay-main.Tpo -c -o gtkvideooverlay-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
-@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gtkvideooverlay-main.Tpo $(DEPDIR)/gtkvideooverlay-main.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='main.cpp' object='gtkvideooverlay-main.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) -c -o gtkvideooverlay-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
+libgstkmssink_la-gstkmssink.lo: gstkmssink.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstkmssink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstkmssink_la_CFLAGS) $(CFLAGS) -MT libgstkmssink_la-gstkmssink.lo -MD -MP -MF $(DEPDIR)/libgstkmssink_la-gstkmssink.Tpo -c -o libgstkmssink_la-gstkmssink.lo `test -f 'gstkmssink.c' || echo '$(srcdir)/'`gstkmssink.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstkmssink_la-gstkmssink.Tpo $(DEPDIR)/libgstkmssink_la-gstkmssink.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstkmssink.c' object='libgstkmssink_la-gstkmssink.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 $(libgstkmssink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstkmssink_la_CFLAGS) $(CFLAGS) -c -o libgstkmssink_la-gstkmssink.lo `test -f 'gstkmssink.c' || echo '$(srcdir)/'`gstkmssink.c
 
-gtkvideooverlay-main.obj: main.cpp
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) -MT gtkvideooverlay-main.obj -MD -MP -MF $(DEPDIR)/gtkvideooverlay-main.Tpo -c -o gtkvideooverlay-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
-@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gtkvideooverlay-main.Tpo $(DEPDIR)/gtkvideooverlay-main.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='main.cpp' object='gtkvideooverlay-main.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtkvideooverlay_CXXFLAGS) $(CXXFLAGS) -c -o gtkvideooverlay-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
+libgstkmssink_la-gstkmsutils.lo: gstkmsutils.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstkmssink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstkmssink_la_CFLAGS) $(CFLAGS) -MT libgstkmssink_la-gstkmsutils.lo -MD -MP -MF $(DEPDIR)/libgstkmssink_la-gstkmsutils.Tpo -c -o libgstkmssink_la-gstkmsutils.lo `test -f 'gstkmsutils.c' || echo '$(srcdir)/'`gstkmsutils.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstkmssink_la-gstkmsutils.Tpo $(DEPDIR)/libgstkmssink_la-gstkmsutils.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstkmsutils.c' object='libgstkmssink_la-gstkmsutils.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 $(libgstkmssink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstkmssink_la_CFLAGS) $(CFLAGS) -c -o libgstkmssink_la-gstkmsutils.lo `test -f 'gstkmsutils.c' || echo '$(srcdir)/'`gstkmsutils.c
+
+libgstkmssink_la-gstkmsallocator.lo: gstkmsallocator.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstkmssink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstkmssink_la_CFLAGS) $(CFLAGS) -MT libgstkmssink_la-gstkmsallocator.lo -MD -MP -MF $(DEPDIR)/libgstkmssink_la-gstkmsallocator.Tpo -c -o libgstkmssink_la-gstkmsallocator.lo `test -f 'gstkmsallocator.c' || echo '$(srcdir)/'`gstkmsallocator.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstkmssink_la-gstkmsallocator.Tpo $(DEPDIR)/libgstkmssink_la-gstkmsallocator.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstkmsallocator.c' object='libgstkmssink_la-gstkmsallocator.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 $(libgstkmssink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstkmssink_la_CFLAGS) $(CFLAGS) -c -o libgstkmssink_la-gstkmsallocator.lo `test -f 'gstkmsallocator.c' || echo '$(srcdir)/'`gstkmsallocator.c
+
+libgstkmssink_la-gstkmsbufferpool.lo: gstkmsbufferpool.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstkmssink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstkmssink_la_CFLAGS) $(CFLAGS) -MT libgstkmssink_la-gstkmsbufferpool.lo -MD -MP -MF $(DEPDIR)/libgstkmssink_la-gstkmsbufferpool.Tpo -c -o libgstkmssink_la-gstkmsbufferpool.lo `test -f 'gstkmsbufferpool.c' || echo '$(srcdir)/'`gstkmsbufferpool.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstkmssink_la-gstkmsbufferpool.Tpo $(DEPDIR)/libgstkmssink_la-gstkmsbufferpool.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstkmsbufferpool.c' object='libgstkmssink_la-gstkmsbufferpool.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 $(libgstkmssink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstkmssink_la_CFLAGS) $(CFLAGS) -c -o libgstkmssink_la-gstkmsbufferpool.lo `test -f 'gstkmsbufferpool.c' || echo '$(srcdir)/'`gstkmsbufferpool.c
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -941,8 +1052,11 @@
 	done
 check-am: all-am
 check: check-am
-all-am: Makefile $(PROGRAMS)
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
 installdirs:
+	for dir in "$(DESTDIR)$(plugindir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
 install: install-am
 install-exec: install-exec-am
 install-data: install-data-am
@@ -975,7 +1089,7 @@
 	@echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
 	mostlyclean-am
 
 distclean: distclean-am
@@ -996,7 +1110,7 @@
 
 info-am:
 
-install-data-am:
+install-data-am: install-pluginLTLIBRARIES
 
 install-dvi: install-dvi-am
 
@@ -1042,23 +1156,24 @@
 
 ps-am:
 
-uninstall-am:
+uninstall-am: uninstall-pluginLTLIBRARIES
 
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+	clean-libtool clean-pluginLTLIBRARIES cscopelist-am ctags \
 	ctags-am distclean distclean-compile distclean-generic \
 	distclean-libtool distclean-tags distdir dvi dvi-am html \
 	html-am info info-am install install-am install-data \
 	install-data-am install-dvi install-dvi-am install-exec \
 	install-exec-am install-html install-html-am install-info \
 	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags tags-am uninstall uninstall-am
+	install-pluginLTLIBRARIES install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+	uninstall-pluginLTLIBRARIES
 
 .PRECIOUS: Makefile
 
diff --git a/sys/kms/gstkmsallocator.c b/sys/kms/gstkmsallocator.c
new file mode 100644
index 0000000..5c23c92
--- /dev/null
+++ b/sys/kms/gstkmsallocator.c
@@ -0,0 +1,425 @@
+/* GStreamer
+ *
+ * Copyright (C) 2016 Igalia
+ *
+ * Authors:
+ *  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+ *  Javier Martin <javiermartin@by.com.es>
+ *
+ * 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 <xf86drm.h>
+#include <xf86drmMode.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "gstkmsallocator.h"
+#include "gstkmsutils.h"
+
+#define GST_CAT_DEFAULT kmsallocator_debug
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+
+#define GST_KMS_MEMORY_TYPE "KMSMemory"
+
+struct _GstKMSAllocatorPrivate
+{
+  int fd;
+  struct kms_driver *driver;
+};
+
+#define parent_class gst_kms_allocator_parent_class
+G_DEFINE_TYPE_WITH_CODE (GstKMSAllocator, gst_kms_allocator, GST_TYPE_ALLOCATOR,
+    G_ADD_PRIVATE (GstKMSAllocator);
+    GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "kmsallocator", 0,
+        "KMS allocator"));
+
+enum
+{
+  PROP_DRM_FD = 1,
+  PROP_N,
+};
+
+static GParamSpec *g_props[PROP_N] = { NULL, };
+
+gboolean
+gst_is_kms_memory (GstMemory * mem)
+{
+  return gst_memory_is_type (mem, GST_KMS_MEMORY_TYPE);
+}
+
+guint32
+gst_kms_memory_get_fb_id (GstMemory * mem)
+{
+  if (!gst_is_kms_memory (mem))
+    return 0;
+  return ((GstKMSMemory *) mem)->fb_id;
+}
+
+static gboolean
+ensure_kms_driver (GstKMSAllocator * alloc)
+{
+  GstKMSAllocatorPrivate *priv;
+  int err;
+
+  priv = alloc->priv;
+
+  if (priv->driver)
+    return TRUE;
+
+  if (priv->fd < 0)
+    return FALSE;
+
+  err = kms_create (priv->fd, &priv->driver);
+  if (err) {
+    GST_ERROR_OBJECT (alloc, "Could not create KMS driver: %s",
+        strerror (-err));
+    return FALSE;
+  }
+
+  return TRUE;
+}
+
+static void
+gst_kms_allocator_memory_reset (GstKMSAllocator * allocator, GstKMSMemory * mem)
+{
+  if (mem->fb_id) {
+    GST_DEBUG_OBJECT (allocator, "removing fb id %d", mem->fb_id);
+    drmModeRmFB (allocator->priv->fd, mem->fb_id);
+    mem->fb_id = 0;
+  }
+
+  if (!ensure_kms_driver (allocator))
+    return;
+
+  if (mem->bo) {
+    kms_bo_destroy (&mem->bo);
+    mem->bo = NULL;
+  }
+}
+
+static gboolean
+gst_kms_allocator_memory_create (GstKMSAllocator * allocator,
+    GstKMSMemory * kmsmem, GstVideoInfo * vinfo)
+{
+  gint ret;
+  guint attrs[] = {
+    KMS_WIDTH, GST_VIDEO_INFO_WIDTH (vinfo),
+    KMS_HEIGHT, GST_VIDEO_INFO_HEIGHT (vinfo),
+    KMS_TERMINATE_PROP_LIST,
+  };
+
+  if (kmsmem->bo)
+    return TRUE;
+
+  if (!ensure_kms_driver (allocator))
+    return FALSE;
+
+  ret = kms_bo_create (allocator->priv->driver, attrs, &kmsmem->bo);
+  if (ret) {
+    GST_ERROR_OBJECT (allocator, "Failed to create buffer object: %s (%d)",
+        strerror (-ret), ret);
+    return FALSE;
+  }
+
+  return TRUE;
+}
+
+static void
+gst_kms_allocator_free (GstAllocator * allocator, GstMemory * mem)
+{
+  GstKMSAllocator *alloc;
+  GstKMSMemory *kmsmem;
+
+  alloc = GST_KMS_ALLOCATOR (allocator);
+  kmsmem = (GstKMSMemory *) mem;
+
+  gst_kms_allocator_memory_reset (alloc, kmsmem);
+  g_slice_free (GstKMSMemory, kmsmem);
+}
+
+static void
+gst_kms_allocator_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstKMSAllocator *alloc;
+
+  alloc = GST_KMS_ALLOCATOR (object);
+
+  switch (prop_id) {
+    case PROP_DRM_FD:{
+      int fd = g_value_get_int (value);
+      if (fd > -1)
+        alloc->priv->fd = dup (fd);
+      break;
+    }
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_kms_allocator_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstKMSAllocator *alloc;
+
+  alloc = GST_KMS_ALLOCATOR (object);
+
+  switch (prop_id) {
+    case PROP_DRM_FD:
+      g_value_set_int (value, alloc->priv->fd);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_kms_allocator_finalize (GObject * obj)
+{
+  GstKMSAllocator *alloc;
+
+  alloc = GST_KMS_ALLOCATOR (obj);
+
+  if (alloc->priv->driver)
+    kms_destroy (&alloc->priv->driver);
+
+  if (alloc->priv->fd > -1)
+    close (alloc->priv->fd);
+
+  G_OBJECT_CLASS (parent_class)->finalize (obj);
+}
+
+static void
+gst_kms_allocator_class_init (GstKMSAllocatorClass * klass)
+{
+  GObjectClass *gobject_class;
+  GstAllocatorClass *allocator_class;
+
+  allocator_class = GST_ALLOCATOR_CLASS (klass);
+  gobject_class = G_OBJECT_CLASS (klass);
+
+  allocator_class->free = gst_kms_allocator_free;
+
+  gobject_class->set_property = gst_kms_allocator_set_property;
+  gobject_class->get_property = gst_kms_allocator_get_property;
+  gobject_class->finalize = gst_kms_allocator_finalize;
+
+  g_props[PROP_DRM_FD] = g_param_spec_int ("drm-fd", "DRM fd",
+      "DRM file descriptor", -1, G_MAXINT, -1,
+      G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
+
+  g_object_class_install_properties (gobject_class, PROP_N, g_props);
+}
+
+static gpointer
+gst_kms_memory_map (GstMemory * mem, gsize maxsize, GstMapFlags flags)
+{
+  GstKMSMemory *kmsmem;
+  int err;
+  gpointer out;
+
+  if (!ensure_kms_driver ((GstKMSAllocator *) mem->allocator))
+    return NULL;
+
+  kmsmem = (GstKMSMemory *) mem;
+  if (!kmsmem->bo)
+    return NULL;
+
+  out = NULL;
+  err = kms_bo_map (kmsmem->bo, &out);
+  if (err) {
+    GST_ERROR ("could not map memory: %s %d", strerror (-err), err);
+    return NULL;
+  }
+
+  return out;
+}
+
+static void
+gst_kms_memory_unmap (GstMemory * mem)
+{
+  GstKMSMemory *kmsmem;
+
+  if (!ensure_kms_driver ((GstKMSAllocator *) mem->allocator))
+    return;
+
+  kmsmem = (GstKMSMemory *) mem;
+  if (kmsmem->bo)
+    kms_bo_unmap (kmsmem->bo);
+}
+
+static void
+gst_kms_allocator_init (GstKMSAllocator * allocator)
+{
+  GstAllocator *alloc;
+
+  alloc = GST_ALLOCATOR_CAST (allocator);
+
+  allocator->priv = gst_kms_allocator_get_instance_private (allocator);
+  allocator->priv->fd = -1;
+
+  alloc->mem_type = GST_KMS_MEMORY_TYPE;
+  alloc->mem_map = gst_kms_memory_map;
+  alloc->mem_unmap = gst_kms_memory_unmap;
+  /* Use the default, fallback copy function */
+
+  GST_OBJECT_FLAG_SET (allocator, GST_ALLOCATOR_FLAG_CUSTOM_ALLOC);
+}
+
+GstAllocator *
+gst_kms_allocator_new (int fd)
+{
+  return g_object_new (GST_TYPE_KMS_ALLOCATOR, "name",
+      "KMSMemory::allocator", "drm-fd", fd, NULL);
+}
+
+static gboolean
+gst_kms_allocator_add_fb (GstKMSAllocator * alloc, GstKMSMemory * kmsmem,
+    GstVideoInfo * vinfo)
+{
+  int i, ret;
+  guint32 w, h, fmt, bo_handles[4] = { 0, };
+  guint32 offsets[4], pitches[4];
+
+  if (kmsmem->fb_id)
+    return TRUE;
+
+  w = GST_VIDEO_INFO_WIDTH (vinfo);
+  h = GST_VIDEO_INFO_HEIGHT (vinfo);
+  fmt = gst_drm_format_from_video (GST_VIDEO_INFO_FORMAT (vinfo));
+
+  if (kmsmem->bo) {
+    kms_bo_get_prop (kmsmem->bo, KMS_HANDLE, &bo_handles[0]);
+    for (i = 1; i < 4; i++)
+      bo_handles[i] = bo_handles[0];
+  } else {
+    for (i = 0; i < 4; 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);
+    pitches[i] = GST_VIDEO_INFO_PLANE_STRIDE (vinfo, i);
+  }
+
+  ret = drmModeAddFB2 (alloc->priv->fd, w, h, fmt, bo_handles, pitches,
+      offsets, &kmsmem->fb_id, 0);
+  if (ret) {
+    GST_ERROR_OBJECT (alloc, "Failed to bind to framebuffer: %s (%d)",
+        strerror (-ret), ret);
+    return FALSE;
+  }
+  return TRUE;
+}
+
+static GstMemory *
+gst_kms_allocator_alloc_empty (GstAllocator * allocator, GstVideoInfo * vinfo)
+{
+  GstKMSMemory *kmsmem;
+  GstMemory *mem;
+
+  kmsmem = g_slice_new0 (GstKMSMemory);
+  if (!kmsmem)
+    return NULL;
+  mem = GST_MEMORY_CAST (kmsmem);
+
+  gst_memory_init (mem, GST_MEMORY_FLAG_NO_SHARE, allocator, NULL,
+      GST_VIDEO_INFO_SIZE (vinfo), 0, 0, GST_VIDEO_INFO_SIZE (vinfo));
+
+  return mem;
+}
+
+GstMemory *
+gst_kms_allocator_bo_alloc (GstAllocator * allocator, GstVideoInfo * vinfo)
+{
+  GstKMSAllocator *alloc;
+  GstKMSMemory *kmsmem;
+  GstMemory *mem;
+
+  mem = gst_kms_allocator_alloc_empty (allocator, vinfo);
+  if (!mem)
+    return NULL;
+
+  alloc = GST_KMS_ALLOCATOR (allocator);
+  kmsmem = (GstKMSMemory *) mem;
+  if (!gst_kms_allocator_memory_create (alloc, kmsmem, vinfo))
+    goto fail;
+  if (!gst_kms_allocator_add_fb (alloc, kmsmem, vinfo))
+    goto fail;
+
+  return mem;
+
+  /* ERRORS */
+fail:
+  gst_memory_unref (mem);
+  return NULL;
+}
+
+GstKMSMemory *
+gst_kms_allocator_dmabuf_import (GstAllocator * allocator, gint * prime_fds,
+    gint n_planes, GstVideoInfo * vinfo)
+{
+  GstKMSAllocator *alloc;
+  GstMemory *mem;
+  GstKMSMemory *tmp;
+  gint i, ret;
+
+  g_return_val_if_fail (n_planes <= GST_VIDEO_MAX_PLANES, FALSE);
+
+  mem = gst_kms_allocator_alloc_empty (allocator, vinfo);
+  if (!mem)
+    return FALSE;
+
+  tmp = (GstKMSMemory *) mem;
+  alloc = GST_KMS_ALLOCATOR (allocator);
+  for (i = 0; i < n_planes; i++) {
+    ret = drmPrimeFDToHandle (alloc->priv->fd, prime_fds[i],
+        &tmp->gem_handle[i]);
+    if (ret)
+      goto import_fd_failed;
+  }
+
+  if (!gst_kms_allocator_add_fb (alloc, tmp, vinfo))
+    goto failed;
+
+  return tmp;
+
+  /* ERRORS */
+import_fd_failed:
+  {
+    GST_ERROR_OBJECT (alloc, "Failed to import prime fd %d: %s (%d)",
+        prime_fds[i], strerror (-ret), ret);
+    /* fallback */
+  }
+
+failed:
+  {
+    gst_memory_unref (mem);
+    return NULL;
+  }
+}
diff --git a/sys/kms/gstkmsallocator.h b/sys/kms/gstkmsallocator.h
new file mode 100644
index 0000000..fa5c349
--- /dev/null
+++ b/sys/kms/gstkmsallocator.h
@@ -0,0 +1,90 @@
+/* GStreamer
+ *
+ * Copyright (C) 2016 Igalia
+ *
+ * Authors:
+ *  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+ *  Javier Martin <javiermartin@by.com.es>
+ *
+ * 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_KMS_ALLOCATOR_H__
+#define __GST_KMS_ALLOCATOR_H__
+
+#include <gst/gst.h>
+#include <gst/video/video.h>
+#include <libkms.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_KMS_ALLOCATOR	\
+   (gst_kms_allocator_get_type())
+#define GST_IS_KMS_ALLOCATOR(obj)				\
+   (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_KMS_ALLOCATOR))
+#define GST_IS_KMS_ALLOCATOR_CLASS(klass)			\
+   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_KMS_ALLOCATOR))
+#define GST_KMS_ALLOCATOR_GET_CLASS(obj)			\
+   (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_KMS_ALLOCATOR, GstKMSAllocatorClass))
+#define GST_KMS_ALLOCATOR(obj)				\
+   (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_KMS_ALLOCATOR, GstKMSAllocator))
+#define GST_KMS_ALLOCATOR_CLASS(klass)			\
+   (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_KMS_ALLOCATOR, GstKMSAllocatorClass))
+
+typedef struct _GstKMSAllocator GstKMSAllocator;
+typedef struct _GstKMSAllocatorClass GstKMSAllocatorClass;
+typedef struct _GstKMSAllocatorPrivate GstKMSAllocatorPrivate;
+typedef struct _GstKMSMemory GstKMSMemory;
+
+struct _GstKMSMemory
+{
+  GstMemory parent;
+
+  guint32 fb_id;
+  guint32 gem_handle[GST_VIDEO_MAX_PLANES];
+  struct kms_bo *bo;
+};
+
+struct _GstKMSAllocator
+{
+  GstAllocator parent;
+  GstKMSAllocatorPrivate *priv;
+};
+
+struct _GstKMSAllocatorClass {
+  GstAllocatorClass parent_class;
+};
+
+GType gst_kms_allocator_get_type (void) G_GNUC_CONST;
+
+gboolean gst_is_kms_memory (GstMemory *mem);
+guint32 gst_kms_memory_get_fb_id (GstMemory *mem);
+
+GstAllocator* gst_kms_allocator_new (gint fd);
+
+GstMemory*    gst_kms_allocator_bo_alloc (GstAllocator *allocator,
+					  GstVideoInfo *vinfo);
+
+GstKMSMemory* gst_kms_allocator_dmabuf_import (GstAllocator *allocator,
+					       gint *prime_fds,
+					       gint n_planes,
+					       GstVideoInfo *vinfo);
+
+G_END_DECLS
+
+
+#endif /* __GST_KMS_ALLOCATOR_H__ */
diff --git a/sys/kms/gstkmsbufferpool.c b/sys/kms/gstkmsbufferpool.c
new file mode 100644
index 0000000..329135c
--- /dev/null
+++ b/sys/kms/gstkmsbufferpool.c
@@ -0,0 +1,213 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Igalia
+ *
+ * Authors:
+ *  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+ *  Javier Martin <javiermartin@by.com.es>
+ *
+ * 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/video/gstvideometa.h>
+
+#include "gstkmsbufferpool.h"
+#include "gstkmsallocator.h"
+
+GST_DEBUG_CATEGORY_STATIC (gst_kms_buffer_pool_debug);
+#define GST_CAT_DEFAULT gst_kms_buffer_pool_debug
+
+struct _GstKMSBufferPoolPrivate
+{
+  gint fd;
+  GstVideoInfo vinfo;
+  GstAllocator *allocator;
+  gboolean add_videometa;
+};
+
+#define parent_class gst_kms_buffer_pool_parent_class
+G_DEFINE_TYPE_WITH_CODE (GstKMSBufferPool, gst_kms_buffer_pool,
+    GST_TYPE_VIDEO_BUFFER_POOL, G_ADD_PRIVATE (GstKMSBufferPool);
+    GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "kmsbufferpool", 0,
+        "KMS buffer pool"));
+
+static const gchar **
+gst_kms_buffer_pool_get_options (GstBufferPool * pool)
+{
+  static const gchar *options[] = { GST_BUFFER_POOL_OPTION_VIDEO_META,
+    GST_BUFFER_POOL_OPTION_KMS_BUFFER, NULL
+  };
+  return options;
+}
+
+static gboolean
+gst_kms_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config)
+{
+  GstKMSBufferPool *vpool;
+  GstKMSBufferPoolPrivate *priv;
+  GstCaps *caps;
+  GstVideoInfo vinfo;
+  GstAllocator *allocator;
+  GstAllocationParams params;
+
+  vpool = GST_KMS_BUFFER_POOL_CAST (pool);
+  priv = vpool->priv;
+
+  if (!gst_buffer_pool_config_get_params (config, &caps, NULL, NULL, NULL))
+    goto wrong_config;
+
+  if (!caps)
+    goto no_caps;
+
+  /* now parse the caps from the config */
+  if (!gst_video_info_from_caps (&vinfo, caps))
+    goto wrong_caps;
+
+  allocator = NULL;
+  gst_buffer_pool_config_get_allocator (config, &allocator, &params);
+
+  /* not our allocator, not our buffers */
+  if (allocator && GST_IS_KMS_ALLOCATOR (allocator)) {
+    if (priv->allocator)
+      gst_object_unref (priv->allocator);
+    if ((priv->allocator = allocator))
+      gst_object_ref (allocator);
+  }
+  if (!priv->allocator)
+    goto no_allocator;
+
+  priv->vinfo = vinfo;
+
+  /* enable metadata based on config of the pool */
+  priv->add_videometa = gst_buffer_pool_config_has_option (config,
+      GST_BUFFER_POOL_OPTION_VIDEO_META);
+
+  return GST_BUFFER_POOL_CLASS (parent_class)->set_config (pool, config);
+
+  /* ERRORS */
+wrong_config:
+  {
+    GST_WARNING_OBJECT (pool, "invalid config");
+    return FALSE;
+  }
+no_caps:
+  {
+    GST_WARNING_OBJECT (pool, "no caps in config");
+    return FALSE;
+  }
+wrong_caps:
+  {
+    GST_WARNING_OBJECT (pool,
+        "failed getting geometry from caps %" GST_PTR_FORMAT, caps);
+    return FALSE;
+  }
+no_allocator:
+  {
+    GST_WARNING_OBJECT (pool, "no valid allocator in pool");
+    return FALSE;
+  }
+}
+
+static GstFlowReturn
+gst_kms_buffer_pool_alloc_buffer (GstBufferPool * pool, GstBuffer ** buffer,
+    GstBufferPoolAcquireParams * params)
+{
+  GstKMSBufferPool *vpool;
+  GstKMSBufferPoolPrivate *priv;
+  GstVideoInfo *info;
+  GstMemory *mem;
+
+  vpool = GST_KMS_BUFFER_POOL_CAST (pool);
+  priv = vpool->priv;
+  info = &priv->vinfo;
+
+  *buffer = gst_buffer_new ();
+  if (*buffer == NULL)
+    goto no_memory;
+  mem = gst_kms_allocator_bo_alloc (priv->allocator, info);
+  if (!mem) {
+    gst_buffer_unref (*buffer);
+    goto no_memory;
+  }
+  gst_buffer_append_memory (*buffer, mem);
+
+  if (priv->add_videometa) {
+    GST_DEBUG_OBJECT (pool, "adding GstVideoMeta");
+
+    gst_buffer_add_video_meta_full (*buffer, GST_VIDEO_FRAME_FLAG_NONE,
+        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);
+  }
+
+  return GST_FLOW_OK;
+
+  /* ERROR */
+no_memory:
+  {
+    GST_WARNING_OBJECT (pool, "can't create memory");
+    return GST_FLOW_ERROR;
+  }
+}
+
+static void
+gst_kms_buffer_pool_finalize (GObject * object)
+{
+  GstKMSBufferPool *pool;
+  GstKMSBufferPoolPrivate *priv;
+
+  pool = GST_KMS_BUFFER_POOL (object);
+  priv = pool->priv;
+
+  if (priv->allocator)
+    gst_object_unref (priv->allocator);
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
+gst_kms_buffer_pool_init (GstKMSBufferPool * pool)
+{
+  pool->priv = gst_kms_buffer_pool_get_instance_private (pool);
+  pool->priv->fd = -1;
+}
+
+static void
+gst_kms_buffer_pool_class_init (GstKMSBufferPoolClass * klass)
+{
+  GObjectClass *gobject_class;
+  GstBufferPoolClass *gstbufferpool_class;
+
+  gobject_class = (GObjectClass *) klass;
+  gstbufferpool_class = (GstBufferPoolClass *) klass;
+
+  gobject_class->finalize = gst_kms_buffer_pool_finalize;
+
+  gstbufferpool_class->get_options = gst_kms_buffer_pool_get_options;
+  gstbufferpool_class->set_config = gst_kms_buffer_pool_set_config;
+  gstbufferpool_class->alloc_buffer = gst_kms_buffer_pool_alloc_buffer;
+}
+
+GstBufferPool *
+gst_kms_buffer_pool_new (void)
+{
+  return g_object_new (GST_TYPE_KMS_BUFFER_POOL, NULL);
+}
diff --git a/sys/kms/gstkmsbufferpool.h b/sys/kms/gstkmsbufferpool.h
new file mode 100644
index 0000000..1ed9884
--- /dev/null
+++ b/sys/kms/gstkmsbufferpool.h
@@ -0,0 +1,75 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Igalia
+ *
+ * Authors:
+ *  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+ *  Javier Martin <javiermartin@by.com.es>
+ *
+ * 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_KMS_BUFFER_POOL_H__
+#define __GST_KMS_BUFFER_POOL_H__
+
+#include <gst/gst.h>
+#include <gst/video/video.h>
+
+#include "gstkmssink.h"
+
+G_BEGIN_DECLS
+
+/**
+ * GST_BUFFER_POOL_OPTION_KMS_BUFFER:
+ *
+ * An option that can be activated on buffer pool to request KMS
+ * buffers.
+ */
+#define GST_BUFFER_POOL_OPTION_KMS_BUFFER "GstBufferPoolOptionKMSBuffer"
+
+/* video bufferpool */
+typedef struct _GstKMSBufferPool GstKMSBufferPool;
+typedef struct _GstKMSBufferPoolClass GstKMSBufferPoolClass;
+typedef struct _GstKMSBufferPoolPrivate GstKMSBufferPoolPrivate;
+
+#define GST_TYPE_KMS_BUFFER_POOL \
+  (gst_kms_buffer_pool_get_type())
+#define GST_IS_KMS_BUFFER_POOL(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_KMS_BUFFER_POOL))
+#define GST_KMS_BUFFER_POOL(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_KMS_BUFFER_POOL, GstKMSBufferPool))
+#define GST_KMS_BUFFER_POOL_CAST(obj) \
+  ((GstKMSBufferPool*)(obj))
+
+struct _GstKMSBufferPool
+{
+  GstVideoBufferPool parent;
+  GstKMSBufferPoolPrivate *priv;
+};
+
+struct _GstKMSBufferPoolClass
+{
+  GstVideoBufferPoolClass parent_class;
+};
+
+GType gst_kms_buffer_pool_get_type (void) G_GNUC_CONST;
+
+GstBufferPool *gst_kms_buffer_pool_new (void);
+
+G_END_DECLS
+
+#endif /* __GST_KMS_BUFFER_POOL_H__ */
diff --git a/sys/kms/gstkmssink.c b/sys/kms/gstkmssink.c
new file mode 100644
index 0000000..6790ad6
--- /dev/null
+++ b/sys/kms/gstkmssink.c
@@ -0,0 +1,1317 @@
+/* GStreamer
+ *
+ * Copyright (C) 2016 Igalia
+ *
+ * Authors:
+ *  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+ *  Javier Martin <javiermartin@by.com.es>
+ *
+ * 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-kmssink
+ * @short_description: A KMS/DRM based video sink
+ *
+ * kmssink is a simple video sink that renders video frames directly
+ * in a plane of a DRM device.
+ *
+ * <refsect2>
+ * <title>Example launch line</title>
+ * |[
+ * gst-launch-1.0 videotestsrc ! kmssink
+ * ]|
+ * </refsect2>
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gst/video/video.h>
+#include <gst/allocators/gstdmabuf.h>
+
+#include <drm.h>
+#include <xf86drm.h>
+#include <xf86drmMode.h>
+
+#include <string.h>
+
+#include "gstkmssink.h"
+#include "gstkmsutils.h"
+#include "gstkmsbufferpool.h"
+#include "gstkmsallocator.h"
+
+#define GST_PLUGIN_NAME "kmssink"
+#define GST_PLUGIN_DESC "Video sink using the Linux kernel mode setting API"
+
+GST_DEBUG_CATEGORY_STATIC (gst_kms_sink_debug);
+GST_DEBUG_CATEGORY_STATIC (CAT_PERFORMANCE);
+#define GST_CAT_DEFAULT gst_kms_sink_debug
+
+#define parent_class gst_kms_sink_parent_class
+G_DEFINE_TYPE_WITH_CODE (GstKMSSink, gst_kms_sink, GST_TYPE_VIDEO_SINK,
+    GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, GST_PLUGIN_NAME, 0,
+        GST_PLUGIN_DESC);
+    GST_DEBUG_CATEGORY_GET (CAT_PERFORMANCE, "GST_PERFORMANCE"));
+
+enum
+{
+  PROP_DRIVER_NAME = 1,
+  PROP_CONNECTOR_ID,
+  PROP_PLANE_ID,
+  PROP_N
+};
+
+static GParamSpec *g_properties[PROP_N] = { NULL, };
+
+static int
+kms_open (gchar ** driver)
+{
+  static const char *drivers[] = { "i915", "radeon", "nouveau", "vmwgfx",
+    "exynos", "amdgpu", "imx-drm", "rockchip", "atmel-hlcdc"
+  };
+  int i, fd = -1;
+
+  for (i = 0; i < G_N_ELEMENTS (drivers); i++) {
+    fd = drmOpen (drivers[i], NULL);
+    if (fd >= 0) {
+      if (driver)
+        *driver = g_strdup (drivers[i]);
+      break;
+    }
+  }
+
+  return fd;
+}
+
+static drmModePlane *
+find_plane_for_crtc (int fd, drmModeRes * res, drmModePlaneRes * pres,
+    int crtc_id)
+{
+  drmModePlane *plane;
+  int i, pipe;
+
+  plane = NULL;
+  pipe = -1;
+  for (i = 0; i < res->count_crtcs; i++) {
+    if (crtc_id == res->crtcs[i]) {
+      pipe = i;
+      break;
+    }
+  }
+
+  if (pipe == -1)
+    return NULL;
+
+  for (i = 0; i < pres->count_planes; i++) {
+    plane = drmModeGetPlane (fd, pres->planes[i]);
+    if (plane->possible_crtcs & (1 << pipe))
+      return plane;
+    drmModeFreePlane (plane);
+  }
+
+  return NULL;
+}
+
+static drmModeCrtc *
+find_crtc_for_connector (int fd, drmModeRes * res, drmModeConnector * conn,
+    guint * pipe)
+{
+  int i;
+  int crtc_id;
+  drmModeEncoder *enc;
+  drmModeCrtc *crtc;
+
+  crtc_id = -1;
+  for (i = 0; i < res->count_encoders; i++) {
+    enc = drmModeGetEncoder (fd, res->encoders[i]);
+    if (enc) {
+      if (enc->encoder_id == conn->encoder_id) {
+        crtc_id = enc->crtc_id;
+        drmModeFreeEncoder (enc);
+        break;
+      }
+      drmModeFreeEncoder (enc);
+    }
+  }
+
+  if (crtc_id == -1)
+    return NULL;
+
+  for (i = 0; i < res->count_crtcs; i++) {
+    crtc = drmModeGetCrtc (fd, res->crtcs[i]);
+    if (crtc) {
+      if (crtc_id == crtc->crtc_id) {
+        if (pipe)
+          *pipe = i;
+        return crtc;
+      }
+      drmModeFreeCrtc (crtc);
+    }
+  }
+
+  return NULL;
+}
+
+static gboolean
+connector_is_used (int fd, drmModeRes * res, drmModeConnector * conn)
+{
+  gboolean result;
+  drmModeCrtc *crtc;
+
+  result = FALSE;
+  crtc = find_crtc_for_connector (fd, res, conn, NULL);
+  if (crtc) {
+    result = crtc->buffer_id != 0;
+    drmModeFreeCrtc (crtc);
+  }
+
+  return result;
+}
+
+static drmModeConnector *
+find_used_connector_by_type (int fd, drmModeRes * res, int type)
+{
+  int i;
+  drmModeConnector *conn;
+
+  conn = NULL;
+  for (i = 0; i < res->count_connectors; i++) {
+    conn = drmModeGetConnector (fd, res->connectors[i]);
+    if (conn) {
+      if ((conn->connector_type == type) && connector_is_used (fd, res, conn))
+        return conn;
+      drmModeFreeConnector (conn);
+    }
+  }
+
+  return NULL;
+}
+
+static drmModeConnector *
+find_first_used_connector (int fd, drmModeRes * res)
+{
+  int i;
+  drmModeConnector *conn;
+
+  conn = NULL;
+  for (i = 0; i < res->count_connectors; i++) {
+    conn = drmModeGetConnector (fd, res->connectors[i]);
+    if (conn) {
+      if (connector_is_used (fd, res, conn))
+        return conn;
+      drmModeFreeConnector (conn);
+    }
+  }
+
+  return NULL;
+}
+
+static drmModeConnector *
+find_main_monitor (int fd, drmModeRes * res)
+{
+  /* Find the LVDS and eDP connectors: those are the main screens. */
+  static const int priority[] = { DRM_MODE_CONNECTOR_LVDS,
+    DRM_MODE_CONNECTOR_eDP
+  };
+  int i;
+  drmModeConnector *conn;
+
+  conn = NULL;
+  for (i = 0; !conn && i < G_N_ELEMENTS (priority); i++)
+    conn = find_used_connector_by_type (fd, res, priority[i]);
+
+  /* if we didn't find a connector, grab the first one in use */
+  if (!conn)
+    conn = find_first_used_connector (fd, res);
+
+  return conn;
+}
+
+static void
+log_drm_version (GstKMSSink * self)
+{
+#ifndef GST_DISABLE_GST_DEBUG
+  drmVersion *v;
+
+  v = drmGetVersion (self->fd);
+  if (v) {
+    GST_INFO_OBJECT (self, "DRM v%d.%d.%d [%s — %s — %s]", v->version_major,
+        v->version_minor, v->version_patchlevel, GST_STR_NULL (v->name),
+        GST_STR_NULL (v->desc), GST_STR_NULL (v->date));
+    drmFreeVersion (v);
+  } else {
+    GST_WARNING_OBJECT (self, "could not get driver information: %s",
+        GST_STR_NULL (self->devname));
+  }
+#endif
+  return;
+}
+
+static gboolean
+get_drm_caps (GstKMSSink * self)
+{
+  gint ret;
+  guint64 has_dumb_buffer;
+  guint64 has_prime;
+  guint64 has_async_page_flip;
+
+  has_dumb_buffer = 0;
+  ret = drmGetCap (self->fd, DRM_CAP_DUMB_BUFFER, &has_dumb_buffer);
+  if (ret)
+    GST_WARNING_OBJECT (self, "could not get dumb buffer capability");
+  if (has_dumb_buffer == 0) {
+    GST_ERROR_OBJECT (self, "driver cannot handle dumb buffers");
+    return FALSE;
+  }
+
+  has_prime = 0;
+  ret = drmGetCap (self->fd, DRM_CAP_PRIME, &has_prime);
+  if (ret)
+    GST_WARNING_OBJECT (self, "could not get prime capability");
+  else
+    self->has_prime_import = (gboolean) (has_prime & DRM_PRIME_CAP_IMPORT);
+
+  has_async_page_flip = 0;
+  ret = drmGetCap (self->fd, DRM_CAP_ASYNC_PAGE_FLIP, &has_async_page_flip);
+  if (ret)
+    GST_WARNING_OBJECT (self, "could not get async page flip capability");
+  else
+    self->has_async_page_flip = (gboolean) has_async_page_flip;
+
+  GST_INFO_OBJECT (self, "prime import (%s) / async page flip (%s)",
+      self->has_prime_import ? "✓" : "✗",
+      self->has_async_page_flip ? "✓" : "✗");
+
+  return TRUE;
+}
+
+static gboolean
+ensure_allowed_caps (GstKMSSink * self, drmModePlane * plane, drmModeRes * res)
+{
+  GstCaps *out_caps, *caps;
+  int i;
+  GstVideoFormat fmt;
+  const gchar *format;
+
+  if (self->allowed_caps)
+    return TRUE;
+
+  out_caps = gst_caps_new_empty ();
+  if (!out_caps)
+    return FALSE;
+
+  for (i = 0; i < plane->count_formats; i++) {
+    fmt = gst_video_format_from_drm (plane->formats[i]);
+    if (fmt == GST_VIDEO_FORMAT_UNKNOWN) {
+      GST_INFO_OBJECT (self, "ignoring format %" GST_FOURCC_FORMAT,
+          GST_FOURCC_ARGS (plane->formats[i]));
+      continue;
+    }
+
+    format = gst_video_format_to_string (fmt);
+    caps = gst_caps_new_simple ("video/x-raw", "format", G_TYPE_STRING, format,
+        "width", GST_TYPE_INT_RANGE, res->min_width, res->max_width,
+        "height", GST_TYPE_INT_RANGE, res->min_height, res->max_height,
+        "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL);
+    if (!caps)
+      continue;
+
+    out_caps = gst_caps_merge (out_caps, caps);
+  }
+
+  self->allowed_caps = gst_caps_simplify (out_caps);
+
+  GST_DEBUG_OBJECT (self, "allowed caps = %" GST_PTR_FORMAT,
+      self->allowed_caps);
+
+  return TRUE;
+}
+
+static gboolean
+gst_kms_sink_start (GstBaseSink * bsink)
+{
+  GstKMSSink *self;
+  drmModeRes *res;
+  drmModeConnector *conn;
+  drmModeCrtc *crtc;
+  drmModePlaneRes *pres;
+  drmModePlane *plane;
+  gboolean universal_planes;
+  gboolean ret;
+
+  self = GST_KMS_SINK (bsink);
+  universal_planes = FALSE;
+  ret = FALSE;
+  res = NULL;
+  conn = NULL;
+  crtc = NULL;
+  pres = NULL;
+  plane = NULL;
+
+  if (self->devname)
+    self->fd = drmOpen (self->devname, NULL);
+  else
+    self->fd = kms_open (&self->devname);
+  if (self->fd < 0)
+    goto open_failed;
+
+  log_drm_version (self);
+  if (!get_drm_caps (self))
+    goto bail;
+
+  res = drmModeGetResources (self->fd);
+  if (!res)
+    goto resources_failed;
+
+  if (self->conn_id == -1)
+    conn = find_main_monitor (self->fd, res);
+  else
+    conn = drmModeGetConnector (self->fd, self->conn_id);
+  if (!conn)
+    goto connector_failed;
+
+  crtc = find_crtc_for_connector (self->fd, res, conn, &self->pipe);
+  if (!crtc)
+    goto crtc_failed;
+
+retry_find_plane:
+  if (universal_planes &&
+      drmSetClientCap (self->fd, DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1))
+    goto set_cap_failed;
+
+  pres = drmModeGetPlaneResources (self->fd);
+  if (!pres)
+    goto plane_resources_failed;
+
+  if (self->plane_id == -1)
+    plane = find_plane_for_crtc (self->fd, res, pres, crtc->crtc_id);
+  else
+    plane = drmModeGetPlane (self->fd, self->plane_id);
+  if (!plane)
+    goto plane_failed;
+
+  /* let's get the available color formats in plane */
+  if (!ensure_allowed_caps (self, plane, res))
+    goto bail;
+
+  self->conn_id = conn->connector_id;
+  self->crtc_id = crtc->crtc_id;
+  self->plane_id = plane->plane_id;
+
+  GST_INFO_OBJECT (self, "connector id = %d / crtc id = %d / plane id = %d",
+      self->conn_id, self->crtc_id, self->plane_id);
+
+  self->hdisplay = crtc->mode.hdisplay;
+  self->vdisplay = crtc->mode.vdisplay;
+  self->buffer_id = crtc->buffer_id;
+
+  self->mm_width = conn->mmWidth;
+  self->mm_height = conn->mmHeight;
+
+  GST_INFO_OBJECT (self, "display size: pixels = %dx%d / millimeters = %dx%d",
+      self->hdisplay, self->vdisplay, self->mm_width, self->mm_height);
+
+  self->pollfd.fd = self->fd;
+  gst_poll_add_fd (self->poll, &self->pollfd);
+  gst_poll_fd_ctl_read (self->poll, &self->pollfd, TRUE);
+
+  ret = TRUE;
+
+bail:
+  if (plane)
+    drmModeFreePlane (plane);
+  if (pres)
+    drmModeFreePlaneResources (pres);
+  if (crtc)
+    drmModeFreeCrtc (crtc);
+  if (conn)
+    drmModeFreeConnector (conn);
+  if (res)
+    drmModeFreeResources (res);
+
+  if (!ret && self->fd >= 0) {
+    drmClose (self->fd);
+    self->fd = -1;
+  }
+
+  return ret;
+
+  /* ERRORS */
+open_failed:
+  {
+    GST_ERROR_OBJECT (self, "Could not open DRM module %s: %s",
+        GST_STR_NULL (self->devname), strerror (errno));
+    return FALSE;
+  }
+
+resources_failed:
+  {
+    GST_ERROR_OBJECT (self, "drmModeGetResources failed: %s (%d)",
+        strerror (errno), errno);
+    goto bail;
+  }
+
+connector_failed:
+  {
+    GST_ERROR_OBJECT (self, "Could not find a valid monitor connector");
+    goto bail;
+  }
+
+crtc_failed:
+  {
+    GST_ERROR_OBJECT (self, "Could not find a crtc for connector");
+    goto bail;
+  }
+
+set_cap_failed:
+  {
+    GST_ERROR_OBJECT (self, "Could not set universal planes capability bit");
+    goto bail;
+  }
+
+plane_resources_failed:
+  {
+    GST_ERROR_OBJECT (self, "drmModeGetPlaneResources failed: %s (%d)",
+        strerror (errno), errno);
+    goto bail;
+  }
+
+plane_failed:
+  {
+    if (universal_planes) {
+      GST_ERROR_OBJECT (self, "Could not find a plane for crtc");
+      goto bail;
+    } else {
+      universal_planes = TRUE;
+      goto retry_find_plane;
+    }
+  }
+}
+
+static gboolean
+gst_kms_sink_stop (GstBaseSink * bsink)
+{
+  GstKMSSink *self;
+
+  self = GST_KMS_SINK (bsink);
+
+  gst_buffer_replace (&self->last_buffer, NULL);
+  gst_caps_replace (&self->allowed_caps, NULL);
+  gst_object_replace ((GstObject **) & self->pool, NULL);
+  gst_object_replace ((GstObject **) & self->allocator, NULL);
+
+  gst_poll_remove_fd (self->poll, &self->pollfd);
+  gst_poll_restart (self->poll);
+  gst_poll_fd_init (&self->pollfd);
+
+  if (self->fd >= 0) {
+    drmClose (self->fd);
+    self->fd = -1;
+  }
+
+  return TRUE;
+}
+
+static GstCaps *
+gst_kms_sink_get_allowed_caps (GstKMSSink * self)
+{
+  if (!self->allowed_caps)
+    return NULL;                /* base class will return the template caps */
+  return gst_caps_ref (self->allowed_caps);
+}
+
+static GstCaps *
+gst_kms_sink_get_caps (GstBaseSink * bsink, GstCaps * filter)
+{
+  GstKMSSink *self;
+  GstCaps *caps, *out_caps;
+
+  self = GST_KMS_SINK (bsink);
+
+  caps = gst_kms_sink_get_allowed_caps (self);
+  if (caps && filter) {
+    out_caps = gst_caps_intersect_full (caps, filter, GST_CAPS_INTERSECT_FIRST);
+    gst_caps_unref (caps);
+  } else {
+    out_caps = caps;
+  }
+
+  return out_caps;
+}
+
+static void
+ensure_kms_allocator (GstKMSSink * self)
+{
+  if (self->allocator)
+    return;
+  self->allocator = gst_kms_allocator_new (self->fd);
+}
+
+static GstBufferPool *
+gst_kms_sink_create_pool (GstKMSSink * self, GstCaps * caps, gsize size,
+    gint min)
+{
+  GstBufferPool *pool;
+  GstStructure *config;
+
+  pool = gst_kms_buffer_pool_new ();
+  if (!pool)
+    goto pool_failed;
+
+  config = gst_buffer_pool_get_config (pool);
+  gst_buffer_pool_config_set_params (config, caps, size, min, 0);
+  gst_buffer_pool_config_add_option (config, GST_BUFFER_POOL_OPTION_VIDEO_META);
+
+  ensure_kms_allocator (self);
+  gst_buffer_pool_config_set_allocator (config, self->allocator, NULL);
+
+  if (!gst_buffer_pool_set_config (pool, config))
+    goto config_failed;
+
+  return pool;
+
+  /* ERRORS */
+pool_failed:
+  {
+    GST_ERROR_OBJECT (self, "failed to create buffer pool");
+    return NULL;
+  }
+config_failed:
+  {
+    GST_ERROR_OBJECT (self, "failed to set config");
+    gst_object_unref (pool);
+    return NULL;
+  }
+}
+
+static gboolean
+gst_kms_sink_calculate_display_ratio (GstKMSSink * self, GstVideoInfo * vinfo)
+{
+  guint dar_n, dar_d;
+  guint video_width, video_height;
+  guint video_par_n, video_par_d;
+  guint dpy_par_n, dpy_par_d;
+
+  video_width = GST_VIDEO_INFO_WIDTH (vinfo);
+  video_height = GST_VIDEO_INFO_HEIGHT (vinfo);
+  video_par_n = GST_VIDEO_INFO_PAR_N (vinfo);
+  video_par_d = GST_VIDEO_INFO_PAR_D (vinfo);
+
+  gst_video_calculate_device_ratio (self->hdisplay, self->vdisplay,
+      self->mm_width, self->mm_height, &dpy_par_n, &dpy_par_d);
+
+  if (!gst_video_calculate_display_ratio (&dar_n, &dar_d, video_width,
+          video_height, video_par_n, video_par_d, dpy_par_n, dpy_par_d))
+    return FALSE;
+
+  GST_DEBUG_OBJECT (self, "video calculated display ratio: %d/%d", dar_n,
+      dar_d);
+
+  /* now find a width x height that respects this display ratio.
+   * prefer those that have one of w/h the same as the incoming video
+   * using wd / hd = dar_n / dar_d */
+
+  /* start with same height, because of interlaced video */
+  /* check hd / dar_d is an integer scale factor, and scale wd with the PAR */
+  if (video_height % dar_d == 0) {
+    GST_DEBUG_OBJECT (self, "keeping video height");
+    GST_VIDEO_SINK_WIDTH (self) = (guint)
+        gst_util_uint64_scale_int (video_height, dar_n, dar_d);
+    GST_VIDEO_SINK_HEIGHT (self) = video_height;
+  } else if (video_width % dar_n == 0) {
+    GST_DEBUG_OBJECT (self, "keeping video width");
+    GST_VIDEO_SINK_WIDTH (self) = video_width;
+    GST_VIDEO_SINK_HEIGHT (self) = (guint)
+        gst_util_uint64_scale_int (video_width, dar_d, dar_n);
+  } else {
+    GST_DEBUG_OBJECT (self, "approximating while keeping video height");
+    GST_VIDEO_SINK_WIDTH (self) = (guint)
+        gst_util_uint64_scale_int (video_height, dar_n, dar_d);
+    GST_VIDEO_SINK_HEIGHT (self) = video_height;
+  }
+  GST_DEBUG_OBJECT (self, "scaling to %dx%d", GST_VIDEO_SINK_WIDTH (self),
+      GST_VIDEO_SINK_HEIGHT (self));
+
+  return TRUE;
+}
+
+static gboolean
+gst_kms_sink_set_caps (GstBaseSink * bsink, GstCaps * caps)
+{
+  GstKMSSink *self;
+  GstVideoInfo vinfo;
+  GstBufferPool *newpool, *oldpool;
+
+  self = GST_KMS_SINK (bsink);
+
+  if (!gst_video_info_from_caps (&vinfo, caps))
+    goto invalid_format;
+
+  if (!gst_kms_sink_calculate_display_ratio (self, &vinfo))
+    goto no_disp_ratio;
+
+  if (GST_VIDEO_SINK_WIDTH (self) <= 0 || GST_VIDEO_SINK_HEIGHT (self) <= 0)
+    goto invalid_size;
+
+  /* create a new pool for the new configuration */
+  newpool = gst_kms_sink_create_pool (self, caps, GST_VIDEO_INFO_SIZE (&vinfo),
+      2);
+  if (!newpool)
+    goto no_pool;
+
+  /* we don't activate the internal pool yet as it may not be needed */
+  oldpool = self->pool;
+  self->pool = newpool;
+
+  if (oldpool) {
+    gst_buffer_pool_set_active (oldpool, FALSE);
+    gst_object_unref (oldpool);
+  }
+
+  self->vinfo = vinfo;
+
+  GST_DEBUG_OBJECT (self, "negotiated caps = %" GST_PTR_FORMAT, caps);
+
+  return TRUE;
+
+  /* ERRORS */
+invalid_format:
+  {
+    GST_ERROR_OBJECT (self, "caps invalid");
+    return FALSE;
+  }
+
+invalid_size:
+  {
+    GST_ELEMENT_ERROR (self, CORE, NEGOTIATION, (NULL),
+        ("Invalid image size."));
+    return FALSE;
+  }
+
+no_disp_ratio:
+  {
+    GST_ELEMENT_ERROR (self, CORE, NEGOTIATION, (NULL),
+        ("Error calculating the output display ratio of the video."));
+    return FALSE;
+  }
+no_pool:
+  {
+    /* Already warned in create_pool */
+    return FALSE;
+  }
+}
+
+static gboolean
+gst_kms_sink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
+{
+  GstKMSSink *self;
+  GstCaps *caps;
+  gboolean need_pool;
+  GstVideoInfo vinfo;
+  GstBufferPool *pool;
+  gsize size;
+
+  self = GST_KMS_SINK (bsink);
+
+  gst_query_parse_allocation (query, &caps, &need_pool);
+  if (!caps)
+    goto no_caps;
+  if (!gst_video_info_from_caps (&vinfo, caps))
+    goto invalid_caps;
+
+  size = GST_VIDEO_INFO_SIZE (&vinfo);
+
+  pool = NULL;
+  if (need_pool) {
+    pool = gst_kms_sink_create_pool (self, caps, size, 0);
+    if (!pool)
+      goto no_pool;
+  }
+
+  if (pool) {
+    /* we need at least 2 buffer because we hold on to the last one */
+    gst_query_add_allocation_pool (query, pool, size, 2, 0);
+    gst_object_unref (pool);
+  }
+
+  gst_query_add_allocation_meta (query, GST_VIDEO_META_API_TYPE, NULL);
+  gst_query_add_allocation_meta (query, GST_VIDEO_CROP_META_API_TYPE, NULL);
+
+  return TRUE;
+
+  /* ERRORS */
+no_caps:
+  {
+    GST_DEBUG_OBJECT (bsink, "no caps specified");
+    return FALSE;
+  }
+invalid_caps:
+  {
+    GST_DEBUG_OBJECT (bsink, "invalid caps specified");
+    return FALSE;
+  }
+no_pool:
+  {
+    /* Already warned in create_pool */
+    return FALSE;
+  }
+}
+
+static void
+gst_kms_sink_get_times (GstBaseSink * bsink, GstBuffer * buf,
+    GstClockTime * start, GstClockTime * end)
+{
+  GstKMSSink *self;
+
+  self = GST_KMS_SINK (bsink);
+
+  if (GST_BUFFER_TIMESTAMP_IS_VALID (buf)) {
+    *start = GST_BUFFER_TIMESTAMP (buf);
+    if (GST_BUFFER_DURATION_IS_VALID (buf))
+      *end = *start + GST_BUFFER_DURATION (buf);
+    else {
+      if (GST_VIDEO_INFO_FPS_N (&self->vinfo) > 0) {
+        *end = *start +
+            gst_util_uint64_scale_int (GST_SECOND,
+            GST_VIDEO_INFO_FPS_D (&self->vinfo),
+            GST_VIDEO_INFO_FPS_N (&self->vinfo));
+      }
+    }
+  }
+}
+
+static void
+sync_handler (gint fd, guint frame, guint sec, guint usec, gpointer data)
+{
+  gboolean *waiting;
+
+  waiting = data;
+  *waiting = FALSE;
+}
+
+static gboolean
+gst_kms_sink_sync (GstKMSSink * self)
+{
+  gint ret;
+  gboolean waiting;
+  drmEventContext evctxt = {
+    .version = DRM_EVENT_CONTEXT_VERSION,
+    .page_flip_handler = sync_handler,
+    .vblank_handler = sync_handler,
+  };
+  drmVBlank vbl = {
+    .request = {
+          .type = DRM_VBLANK_RELATIVE | DRM_VBLANK_EVENT,
+          .sequence = 1,
+          .signal = (gulong) & waiting,
+        },
+  };
+
+  if (self->pipe == 1)
+    vbl.request.type |= DRM_VBLANK_SECONDARY;
+  else if (self->pipe > 1)
+    vbl.request.type |= self->pipe << DRM_VBLANK_HIGH_CRTC_SHIFT;
+
+  waiting = TRUE;
+  if (!self->has_async_page_flip) {
+    ret = drmWaitVBlank (self->fd, &vbl);
+    if (ret)
+      goto vblank_failed;
+  } else {
+    ret = drmModePageFlip (self->fd, self->crtc_id, self->buffer_id,
+        DRM_MODE_PAGE_FLIP_EVENT, &waiting);
+    if (ret)
+      goto pageflip_failed;
+  }
+
+  while (waiting) {
+    do {
+      ret = gst_poll_wait (self->poll, 3 * GST_SECOND);
+    } while (ret == -1 && (errno == EAGAIN || errno == EINTR));
+
+    ret = drmHandleEvent (self->fd, &evctxt);
+    if (ret)
+      goto event_failed;
+  }
+
+  return TRUE;
+
+  /* ERRORS */
+vblank_failed:
+  {
+    GST_WARNING_OBJECT (self, "drmWaitVBlank failed: %s (%d)", strerror (-ret),
+        ret);
+    return FALSE;
+  }
+pageflip_failed:
+  {
+    GST_WARNING_OBJECT (self, "drmModePageFlip failed: %s (%d)",
+        strerror (-ret), ret);
+    return FALSE;
+  }
+event_failed:
+  {
+    GST_ERROR_OBJECT (self, "drmHandleEvent failed: %s (%d)", strerror (-ret),
+        ret);
+    return FALSE;
+  }
+}
+
+static GstMemory *
+get_cached_kmsmem (GstMemory * mem)
+{
+  return gst_mini_object_get_qdata (GST_MINI_OBJECT (mem),
+      g_quark_from_static_string ("kmsmem"));
+}
+
+static void
+set_cached_kmsmem (GstMemory * mem, GstMemory * kmsmem)
+{
+  return gst_mini_object_set_qdata (GST_MINI_OBJECT (mem),
+      g_quark_from_static_string ("kmsmem"), kmsmem,
+      (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)
+{
+  gint prime_fds[GST_VIDEO_MAX_PLANES] = { 0, };
+  GstVideoMeta *meta;
+  guint i, n_mem, n_planes;
+  GstKMSMemory *kmsmem;
+  guint mems_idx[GST_VIDEO_MAX_PLANES];
+  gsize mems_skip[GST_VIDEO_MAX_PLANES];
+  GstMemory *mems[GST_VIDEO_MAX_PLANES];
+
+  if (!self->has_prime_import)
+    return FALSE;
+
+  /* This will eliminate most non-dmabuf out there */
+  if (!gst_is_dmabuf_memory (gst_buffer_peek_memory (inbuf, 0)))
+    return FALSE;
+
+  n_planes = GST_VIDEO_INFO_N_PLANES (&self->vinfo);
+  n_mem = gst_buffer_n_memory (inbuf);
+  meta = gst_buffer_get_video_meta (inbuf);
+
+  /* We cannot have multiple dmabuf per plane */
+  if (n_mem > n_planes)
+    return FALSE;
+
+  /* Update video info based on video meta */
+  if (meta) {
+    GST_VIDEO_INFO_WIDTH (&self->vinfo) = meta->width;
+    GST_VIDEO_INFO_HEIGHT (&self->vinfo) = meta->height;
+
+    for (i = 0; i < meta->n_planes; i++) {
+      GST_VIDEO_INFO_PLANE_OFFSET (&self->vinfo, i) = meta->offset[i];
+      GST_VIDEO_INFO_PLANE_STRIDE (&self->vinfo, i) = meta->stride[i];
+    }
+  }
+
+  /* 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,
+            &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 */
+    if (!gst_is_dmabuf_memory (mems[i]))
+      return FALSE;
+  }
+
+  kmsmem = (GstKMSMemory *) get_cached_kmsmem (mems[0]);
+  if (kmsmem) {
+    GST_LOG_OBJECT (self, "found KMS mem %p in DMABuf mem %p with fb id = %d",
+        kmsmem, mems[0], kmsmem->fb_id);
+    goto wrap_mem;
+  }
+
+  for (i = 0; i < n_planes; i++)
+    prime_fds[i] = gst_dmabuf_memory_get_fd (mems[i]);
+
+  GST_LOG_OBJECT (self, "found these prime ids: %d, %d, %d, %d", prime_fds[0],
+      prime_fds[1], prime_fds[2], prime_fds[3]);
+
+  kmsmem = gst_kms_allocator_dmabuf_import (self->allocator, prime_fds,
+      n_planes, &self->vinfo);
+  if (!kmsmem)
+    return FALSE;
+
+  GST_LOG_OBJECT (self, "setting KMS mem %p to DMABuf mem %p with fb id = %d",
+      kmsmem, mems[0], kmsmem->fb_id);
+  set_cached_kmsmem (mems[0], GST_MEMORY_CAST (kmsmem));
+
+wrap_mem:
+  *outbuf = gst_buffer_new ();
+  if (!*outbuf)
+    return FALSE;
+  gst_buffer_append_memory (*outbuf, gst_memory_ref (GST_MEMORY_CAST (kmsmem)));
+  gst_buffer_add_parent_buffer_meta (*outbuf, inbuf);
+
+  return TRUE;
+}
+
+static GstBuffer *
+gst_kms_sink_get_input_buffer (GstKMSSink * self, GstBuffer * inbuf)
+{
+  GstMemory *mem;
+  GstBuffer *buf;
+  GstFlowReturn ret;
+  GstVideoFrame inframe, outframe;
+  gboolean success;
+
+  mem = gst_buffer_peek_memory (inbuf, 0);
+  if (!mem)
+    return NULL;
+
+  if (gst_is_kms_memory (mem))
+    return gst_buffer_ref (inbuf);
+
+  buf = NULL;
+  if (gst_kms_sink_import_dmabuf (self, inbuf, &buf))
+    return buf;
+
+  GST_CAT_INFO_OBJECT (CAT_PERFORMANCE, self, "frame copy");
+
+  if (!gst_buffer_pool_set_active (self->pool, TRUE))
+    goto activate_pool_failed;
+
+  ret = gst_buffer_pool_acquire_buffer (self->pool, &buf, NULL);
+  if (ret != GST_FLOW_OK)
+    goto create_buffer_failed;
+
+  if (!gst_video_frame_map (&inframe, &self->vinfo, inbuf, GST_MAP_READ))
+    goto error_map_src_buffer;
+
+  if (!gst_video_frame_map (&outframe, &self->vinfo, buf, GST_MAP_WRITE))
+    goto error_map_dst_buffer;
+
+  success = gst_video_frame_copy (&outframe, &inframe);
+  gst_video_frame_unmap (&outframe);
+  gst_video_frame_unmap (&inframe);
+  if (!success)
+    goto error_copy_buffer;
+
+  return buf;
+
+bail:
+  {
+    if (buf)
+      gst_buffer_unref (buf);
+    return NULL;
+  }
+
+  /* ERRORS */
+activate_pool_failed:
+  {
+    GST_ELEMENT_ERROR (self, STREAM, FAILED, ("failed to activate buffer pool"),
+        ("failed to activate buffer pool"));
+    goto bail;
+  }
+create_buffer_failed:
+  {
+    GST_ELEMENT_ERROR (self, STREAM, FAILED, ("allocation failed"),
+        ("failed to create buffer"));
+    goto bail;
+  }
+error_copy_buffer:
+  {
+    GST_WARNING_OBJECT (self, "failed to upload buffer");
+    goto bail;
+  }
+error_map_dst_buffer:
+  {
+    gst_video_frame_unmap (&inframe);
+    /* fall-through */
+  }
+error_map_src_buffer:
+  {
+    GST_WARNING_OBJECT (self, "failed to map buffer");
+    goto bail;
+  }
+}
+
+static GstFlowReturn
+gst_kms_sink_show_frame (GstVideoSink * vsink, GstBuffer * buf)
+{
+  gint ret;
+  GstBuffer *buffer;
+  guint32 fb_id;
+  GstKMSSink *self;
+  GstVideoCropMeta *crop;
+  GstVideoRectangle src = { 0, };
+  GstVideoRectangle dst = { 0, };
+  GstVideoRectangle result;
+  GstFlowReturn res;
+
+  self = GST_KMS_SINK (vsink);
+
+  res = GST_FLOW_ERROR;
+
+  buffer = gst_kms_sink_get_input_buffer (self, buf);
+  if (!buffer)
+    return GST_FLOW_ERROR;
+  fb_id = gst_kms_memory_get_fb_id (gst_buffer_peek_memory (buffer, 0));
+  if (fb_id == 0)
+    goto buffer_invalid;
+
+  GST_TRACE_OBJECT (self, "displaying fb %d", fb_id);
+
+  {
+    if ((crop = gst_buffer_get_video_crop_meta (buffer))) {
+      src.x = crop->x;
+      src.y = crop->y;
+      src.w = crop->width;
+      src.h = crop->height;
+    } else {
+      src.w = GST_VIDEO_SINK_WIDTH (self);
+      src.h = GST_VIDEO_SINK_HEIGHT (self);
+    }
+  }
+
+  dst.w = self->hdisplay;
+  dst.h = self->vdisplay;
+
+  gst_video_sink_center_rect (src, dst, &result, FALSE);
+
+  /* if the frame size is bigger than the display size, the source
+   * must be the display size */
+  src.w = MIN (src.w, self->hdisplay);
+  src.h = MIN (src.h, self->vdisplay);
+
+  ret = drmModeSetPlane (self->fd, self->plane_id, self->crtc_id, fb_id, 0,
+      result.x, result.y, result.w, result.h,
+      /* source/cropping coordinates are given in Q16 */
+      src.x << 16, src.y << 16, src.w << 16, src.h << 16);
+  if (ret)
+    goto set_plane_failed;
+
+  /* Wait for the previous frame to complete redraw */
+  if (!gst_kms_sink_sync (self))
+    goto bail;
+
+  gst_buffer_replace (&self->last_buffer, buffer);
+
+  res = GST_FLOW_OK;
+
+bail:
+  gst_buffer_unref (buffer);
+  return res;
+
+  /* ERRORS */
+buffer_invalid:
+  {
+    GST_ERROR_OBJECT (self, "invalid buffer: it doesn't have a fb id");
+    goto bail;
+  }
+set_plane_failed:
+  {
+    GST_DEBUG_OBJECT (self, "result = { %d, %d, %d, %d} / "
+        "src = { %d, %d, %d %d } / dst = { %d, %d, %d %d }", result.x, result.y,
+        result.w, result.h, src.x, src.y, src.w, src.h, dst.x, dst.y, dst.w,
+        dst.h);
+    GST_ELEMENT_ERROR (self, RESOURCE, FAILED,
+        (NULL), ("drmModeSetPlane failed: %s (%d)", strerror (-ret), ret));
+    goto bail;
+  }
+}
+
+static void
+gst_kms_sink_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstKMSSink *sink;
+
+  sink = GST_KMS_SINK (object);
+
+  switch (prop_id) {
+    case PROP_DRIVER_NAME:
+      sink->devname = g_value_dup_string (value);
+      break;
+    case PROP_CONNECTOR_ID:
+      sink->conn_id = g_value_get_int (value);
+      break;
+    case PROP_PLANE_ID:
+      sink->plane_id = g_value_get_int (value);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_kms_sink_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstKMSSink *sink;
+
+  sink = GST_KMS_SINK (object);
+
+  switch (prop_id) {
+    case PROP_DRIVER_NAME:
+      g_value_take_string (value, sink->devname);
+      break;
+    case PROP_CONNECTOR_ID:
+      g_value_set_int (value, sink->conn_id);
+      break;
+    case PROP_PLANE_ID:
+      g_value_set_int (value, sink->plane_id);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_kms_sink_finalize (GObject * object)
+{
+  GstKMSSink *sink;
+
+  sink = GST_KMS_SINK (object);
+  g_clear_pointer (&sink->devname, g_free);
+  gst_poll_free (sink->poll);
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
+gst_kms_sink_init (GstKMSSink * sink)
+{
+  sink->fd = -1;
+  sink->conn_id = -1;
+  sink->plane_id = -1;
+  gst_poll_fd_init (&sink->pollfd);
+  sink->poll = gst_poll_new (TRUE);
+  gst_video_info_init (&sink->vinfo);
+}
+
+static void
+gst_kms_sink_class_init (GstKMSSinkClass * klass)
+{
+  GObjectClass *gobject_class;
+  GstElementClass *element_class;
+  GstBaseSinkClass *basesink_class;
+  GstVideoSinkClass *videosink_class;
+  GstCaps *caps;
+
+  gobject_class = G_OBJECT_CLASS (klass);
+  element_class = GST_ELEMENT_CLASS (klass);
+  basesink_class = GST_BASE_SINK_CLASS (klass);
+  videosink_class = GST_VIDEO_SINK_CLASS (klass);
+
+  gst_element_class_set_static_metadata (element_class, "KMS video sink",
+      "Sink/Video", GST_PLUGIN_DESC, "Víctor Jáquez <vjaquez@igalia.com>");
+
+  caps = gst_kms_sink_caps_template_fill ();
+  gst_element_class_add_pad_template (element_class,
+      gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, caps));
+  gst_caps_unref (caps);
+
+  basesink_class->start = GST_DEBUG_FUNCPTR (gst_kms_sink_start);
+  basesink_class->stop = GST_DEBUG_FUNCPTR (gst_kms_sink_stop);
+  basesink_class->set_caps = GST_DEBUG_FUNCPTR (gst_kms_sink_set_caps);
+  basesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_kms_sink_get_caps);
+  basesink_class->propose_allocation = gst_kms_sink_propose_allocation;
+  basesink_class->get_times = gst_kms_sink_get_times;
+
+  videosink_class->show_frame = gst_kms_sink_show_frame;
+
+  gobject_class->finalize = gst_kms_sink_finalize;
+  gobject_class->set_property = gst_kms_sink_set_property;
+  gobject_class->get_property = gst_kms_sink_get_property;
+
+  /**
+   * kmssink:driver-name:
+   *
+   * If you have a system with multiple GPUs, you can choose which GPU
+   * to use setting the DRM device driver name. Otherwise, the first
+   * one from an internal list is used.
+   */
+  g_properties[PROP_DRIVER_NAME] = g_param_spec_string ("driver-name",
+      "device name", "DRM device driver name", NULL,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT);
+
+  /**
+   * kmssink:connector-id:
+   *
+   * A GPU has several output connectors, for example: LVDS, VGA,
+   * HDMI, etc. By default the first LVDS is tried, then the first
+   * eDP, and at the end, the first connected one.
+   */
+  g_properties[PROP_CONNECTOR_ID] = g_param_spec_int ("connector-id",
+      "Connector ID", "DRM connector id", -1, G_MAXINT32, -1,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT);
+
+   /**
+   * kmssink:plane-id:
+   *
+   * There could be several planes associated with a CRTC.
+   * By default the first plane that's possible to use with a given
+   * CRTC is tried.
+   */
+  g_properties[PROP_PLANE_ID] = g_param_spec_int ("plane-id",
+      "Plane ID", "DRM plane id", -1, G_MAXINT32, -1,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT);
+
+  g_object_class_install_properties (gobject_class, PROP_N, g_properties);
+}
+
+static gboolean
+plugin_init (GstPlugin * plugin)
+{
+  if (!gst_element_register (plugin, GST_PLUGIN_NAME, GST_RANK_SECONDARY,
+          GST_TYPE_KMS_SINK))
+    return FALSE;
+
+  return TRUE;
+}
+
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, GST_VERSION_MINOR, kms,
+    GST_PLUGIN_DESC, plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME,
+    GST_PACKAGE_ORIGIN)
diff --git a/sys/kms/gstkmssink.h b/sys/kms/gstkmssink.h
new file mode 100644
index 0000000..494f440
--- /dev/null
+++ b/sys/kms/gstkmssink.h
@@ -0,0 +1,87 @@
+/* GStreamer
+ *
+ * Copyright (C) 2016 Igalia
+ *
+ * Authors:
+ *  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+ *  Javier Martin <javiermartin@by.com.es>
+ *
+ * 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_KMS_SINK_H__
+#define __GST_KMS_SINK_H__
+
+#include <gst/video/gstvideosink.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_KMS_SINK \
+  (gst_kms_sink_get_type())
+#define GST_KMS_SINK(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_KMS_SINK, GstKMSSink))
+#define GST_KMS_SINK_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_KMS_SINK, GstKMSSinkClass))
+#define GST_IS_KMS_SINK(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_KMS_SINK))
+#define GST_IS_KMS_SINK_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_KMS_SINK))
+
+typedef struct _GstKMSSink GstKMSSink;
+typedef struct _GstKMSSinkClass GstKMSSinkClass;
+
+struct _GstKMSSink {
+  GstVideoSink videosink;
+
+  /*< private >*/
+  gint fd;
+  gint conn_id;
+  gint crtc_id;
+  gint plane_id;
+  guint pipe;
+
+  /* crtc data */
+  guint16 hdisplay, vdisplay;
+  guint32 buffer_id;
+
+  /* capabilities */
+  gboolean has_prime_import;
+  gboolean has_async_page_flip;
+
+  GstVideoInfo vinfo;
+  GstCaps *allowed_caps;
+  GstBufferPool *pool;
+  GstAllocator *allocator;
+  GstBuffer *last_buffer;
+
+  gchar *devname;
+
+  guint32 mm_width, mm_height;
+
+  GstPoll *poll;
+  GstPollFD pollfd;
+};
+
+struct _GstKMSSinkClass {
+  GstVideoSinkClass parent_class;
+};
+
+GType gst_kms_sink_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* __GST_KMS_SINK_H__ */
diff --git a/sys/kms/gstkmsutils.c b/sys/kms/gstkmsutils.c
new file mode 100644
index 0000000..ddf8d2d
--- /dev/null
+++ b/sys/kms/gstkmsutils.c
@@ -0,0 +1,179 @@
+/* GStreamer
+ *
+ * Copyright (C) 2016 Igalia
+ *
+ * Authors:
+ *  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+ *  Javier Martin <javiermartin@by.com.es>
+ *
+ * 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 <drm_fourcc.h>
+
+#include "gstkmsutils.h"
+
+/* *INDENT-OFF* */
+static const struct
+{
+  guint32 fourcc;
+  GstVideoFormat format;
+} format_map[] = {
+#define DEF_FMT(fourcc, fmt) \
+  { DRM_FORMAT_##fourcc,GST_VIDEO_FORMAT_##fmt }
+
+  /* DEF_FMT (XRGB1555, ???), */
+  /* DEF_FMT (XBGR1555, ???), */
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
+  DEF_FMT (ARGB8888, BGRA),
+  DEF_FMT (XRGB8888, BGRx),
+  DEF_FMT (ABGR8888, RGBA),
+  DEF_FMT (XBGR8888, RGBx),
+#else
+  DEF_FMT (ARGB8888, ARGB),
+  DEF_FMT (XRGB8888, xRGB),
+  DEF_FMT (ABGR8888, ABGR),
+  DEF_FMT (XBGR8888, xBGR),
+#endif
+  DEF_FMT (UYVY, UYVY),
+  DEF_FMT (YUYV, YUY2),
+  DEF_FMT (YVYU, YVYU),
+  DEF_FMT (YUV420, I420),
+  DEF_FMT (YVU420, YV12),
+  DEF_FMT (YUV422, Y42B),
+  DEF_FMT (NV12, NV12),
+  DEF_FMT (NV21, NV21),
+  DEF_FMT (NV16, NV16),
+
+#undef DEF_FMT
+};
+/* *INDENT-ON* */
+
+GstVideoFormat
+gst_video_format_from_drm (guint32 drmfmt)
+{
+  gint i;
+
+  for (i = 0; i < G_N_ELEMENTS (format_map); i++) {
+    if (format_map[i].fourcc == drmfmt)
+      return format_map[i].format;
+  }
+
+  return GST_VIDEO_FORMAT_UNKNOWN;
+}
+
+guint32
+gst_drm_format_from_video (GstVideoFormat fmt)
+{
+  gint i;
+
+  for (i = 0; i < G_N_ELEMENTS (format_map); i++) {
+    if (format_map[i].format == fmt)
+      return format_map[i].fourcc;
+  }
+
+  return 0;
+}
+
+static GstStructure *
+gst_video_format_to_structure (GstVideoFormat format)
+{
+  GstStructure *structure;
+
+  structure = NULL;
+  if (format != GST_VIDEO_FORMAT_UNKNOWN)
+    structure = gst_structure_new ("video/x-raw", "format", G_TYPE_STRING,
+        gst_video_format_to_string (format), NULL);
+
+  return structure;
+}
+
+GstCaps *
+gst_kms_sink_caps_template_fill (void)
+{
+  gint i;
+  GstCaps *caps;
+  GstStructure *template;
+
+  caps = gst_caps_new_empty ();
+  for (i = 0; i < G_N_ELEMENTS (format_map); i++) {
+    template = gst_video_format_to_structure (format_map[i].format);
+    gst_structure_set (template,
+        "width", GST_TYPE_INT_RANGE, 1, G_MAXINT,
+        "height", GST_TYPE_INT_RANGE, 1, G_MAXINT,
+        "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL);
+    gst_caps_append_structure (caps, template);
+  }
+  return gst_caps_simplify (caps);
+}
+
+static const gint device_par_map[][2] = {
+  {1, 1},                       /* regular screen */
+  {16, 15},                     /* PAL TV */
+  {11, 10},                     /* 525 line Rec.601 video */
+  {54, 59},                     /* 625 line Rec.601 video */
+  {64, 45},                     /* 1280x1024 on 16:9 display */
+  {5, 3},                       /* 1280x1024 on 4:3 display */
+  {4, 3}                        /* 800x600 on 16:9 display */
+};
+
+#define DELTA(ratio, idx, w) \
+  (ABS(ratio - ((gdouble)device_par_map[idx][w] / device_par_map[idx][!(w)])))
+
+void
+gst_video_calculate_device_ratio (guint dev_width, guint dev_height,
+    guint dev_width_mm, guint dev_height_mm,
+    guint * dpy_par_n, guint * dpy_par_d)
+{
+  gdouble ratio, delta, cur_delta;
+  gint i, j, index, windex;
+
+  /* First, calculate the "real" ratio based on the X values; which is
+   * the "physical" w/h divided by the w/h in pixels of the display */
+  if (dev_width == 0 || dev_height == 0
+      || dev_width_mm == 0 || dev_height_mm == 0)
+    ratio = 1.0;
+  else
+    ratio = (gdouble) (dev_width_mm * dev_height) / (dev_height_mm * dev_width);
+
+  /* Now, find the one from device_par_map[][2] with the lowest delta
+   * to the real one */
+  delta = DELTA (ratio, 0, 0);
+  index = 0;
+  windex = 0;
+
+  for (i = 1; i < G_N_ELEMENTS (device_par_map); i++) {
+    for (j = 0; j < 2; j++) {
+      cur_delta = DELTA (ratio, i, j);
+      if (cur_delta < delta) {
+        index = i;
+        windex = j;
+        delta = cur_delta;
+      }
+    }
+  }
+
+  if (dpy_par_n)
+    *dpy_par_n = device_par_map[index][windex];
+
+  if (dpy_par_d)
+    *dpy_par_d = device_par_map[index][windex ^ 1];
+}
diff --git a/sys/kms/gstkmsutils.h b/sys/kms/gstkmsutils.h
new file mode 100644
index 0000000..75e9ba3
--- /dev/null
+++ b/sys/kms/gstkmsutils.h
@@ -0,0 +1,45 @@
+/* GStreamer
+ *
+ * Copyright (C) 2016 Igalia
+ *
+ * Authors:
+ *  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+ *  Javier Martin <javiermartin@by.com.es>
+ *
+ * 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_KMS_UTILS_H__
+#define __GST_KMS_UTILS_H__
+
+#include <gst/video/video.h>
+
+G_BEGIN_DECLS
+
+GstVideoFormat gst_video_format_from_drm (guint32 drmfmt);
+guint32        gst_drm_format_from_video (GstVideoFormat fmt);
+GstCaps *      gst_kms_sink_caps_template_fill (void);
+void           gst_video_calculate_device_ratio (guint dev_width,
+						 guint dev_height,
+						 guint dev_width_mm,
+						 guint dev_height_mm,
+						 guint * dpy_par_n,
+						 guint * dpy_par_d);
+
+G_END_DECLS
+
+#endif
diff --git a/sys/linsys/Makefile.in b/sys/linsys/Makefile.in
index b609dd0..2163221 100644
--- a/sys/linsys/Makefile.in
+++ b/sys/linsys/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/linsys/gstlinsyssdisink.c b/sys/linsys/gstlinsyssdisink.c
index b093bb5..a8edf37 100644
--- a/sys/linsys/gstlinsyssdisink.c
+++ b/sys/linsys/gstlinsyssdisink.c
@@ -99,8 +99,8 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_linsys_sdi_sink_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_linsys_sdi_sink_sink_template);
 
   gst_element_class_set_static_metadata (element_class, "SDI video sink",
       "Sink/Video", "Writes video from SDI transmit device",
diff --git a/sys/linsys/gstlinsyssdisrc.c b/sys/linsys/gstlinsyssdisrc.c
index 94a4e5a..43e2898 100644
--- a/sys/linsys/gstlinsyssdisrc.c
+++ b/sys/linsys/gstlinsyssdisrc.c
@@ -103,8 +103,8 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_linsys_sdi_src_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_linsys_sdi_src_src_template);
 
   gst_element_class_set_static_metadata (element_class, "SDI video source",
       "Source/Video", "Reads video from SDI capture device",
diff --git a/sys/nvenc/Makefile.in b/sys/nvenc/Makefile.in
index 80ec3ff..9dfe020 100644
--- a/sys/nvenc/Makefile.in
+++ b/sys/nvenc/Makefile.in
@@ -308,6 +308,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -523,6 +525,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -649,8 +653,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -695,6 +697,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/nvenc/gstnvbaseenc.c b/sys/nvenc/gstnvbaseenc.c
index 2bc1ef3..9c457ff 100644
--- a/sys/nvenc/gstnvbaseenc.c
+++ b/sys/nvenc/gstnvbaseenc.c
@@ -50,6 +50,95 @@
 #define parent_class gst_nv_base_enc_parent_class
 G_DEFINE_ABSTRACT_TYPE (GstNvBaseEnc, gst_nv_base_enc, GST_TYPE_VIDEO_ENCODER);
 
+#define GST_TYPE_NV_PRESET (gst_nv_preset_get_type())
+static GType
+gst_nv_preset_get_type (void)
+{
+  static GType nv_preset_type = 0;
+
+  static const GEnumValue presets[] = {
+    {GST_NV_PRESET_DEFAULT, "Default", "default"},
+    {GST_NV_PRESET_HP, "High Performance", "hp"},
+    {GST_NV_PRESET_HQ, "High Quality", "hq"},
+/*    {GST_NV_PRESET_BD, "BD", "bd"}, */
+    {GST_NV_PRESET_LOW_LATENCY_DEFAULT, "Low Latency", "low-latency"},
+    {GST_NV_PRESET_LOW_LATENCY_HQ, "Low Latency, High Quality",
+        "low-latency-hq"},
+    {GST_NV_PRESET_LOW_LATENCY_HP, "Low Latency, High Performance",
+        "low-latency-hp"},
+    {GST_NV_PRESET_LOSSLESS_DEFAULT, "Lossless", "lossless"},
+    {GST_NV_PRESET_LOSSLESS_HP, "Lossless, High Performance", "lossless-hp"},
+    {0, NULL, NULL},
+  };
+
+  if (!nv_preset_type) {
+    nv_preset_type = g_enum_register_static ("GstNvPreset", presets);
+  }
+  return nv_preset_type;
+}
+
+static GUID
+_nv_preset_to_guid (GstNvPreset preset)
+{
+  GUID null = { 0, };
+
+  switch (preset) {
+#define CASE(gst,nv) case G_PASTE(GST_NV_PRESET_,gst): return G_PASTE(G_PASTE(NV_ENC_PRESET_,nv),_GUID)
+      CASE (DEFAULT, DEFAULT);
+      CASE (HP, HP);
+      CASE (HQ, HQ);
+/*    CASE (BD, BD);*/
+      CASE (LOW_LATENCY_DEFAULT, LOW_LATENCY_DEFAULT);
+      CASE (LOW_LATENCY_HQ, LOW_LATENCY_HQ);
+      CASE (LOW_LATENCY_HP, LOW_LATENCY_HQ);
+      CASE (LOSSLESS_DEFAULT, LOSSLESS_DEFAULT);
+      CASE (LOSSLESS_HP, LOSSLESS_HP);
+#undef CASE
+    default:
+      return null;
+  }
+}
+
+#define GST_TYPE_NV_RC_MODE (gst_nv_rc_mode_get_type())
+static GType
+gst_nv_rc_mode_get_type (void)
+{
+  static GType nv_rc_mode_type = 0;
+
+  static const GEnumValue modes[] = {
+    {GST_NV_RC_MODE_DEFAULT, "Default (from NVENC preset)", "default"},
+    {GST_NV_RC_MODE_CONSTQP, "Constant Quantization", "constqp"},
+    {GST_NV_RC_MODE_CBR, "Constant Bit Rate", "cbr"},
+    {GST_NV_RC_MODE_VBR, "Variable Bit Rate", "vbr"},
+    {GST_NV_RC_MODE_VBR_MINQP,
+          "Variable Bit Rate (with minimum quantization parameter)",
+        "vbr-minqp"},
+    {0, NULL, NULL},
+  };
+
+  if (!nv_rc_mode_type) {
+    nv_rc_mode_type = g_enum_register_static ("GstNvRCMode", modes);
+  }
+  return nv_rc_mode_type;
+}
+
+static NV_ENC_PARAMS_RC_MODE
+_rc_mode_to_nv (GstNvRCMode mode)
+{
+  switch (mode) {
+    case GST_NV_RC_MODE_DEFAULT:
+      return -1;
+#define CASE(gst,nv) case G_PASTE(GST_NV_RC_MODE_,gst): return G_PASTE(NV_ENC_PARAMS_RC_,nv)
+      CASE (CONSTQP, CONSTQP);
+      CASE (CBR, CBR);
+      CASE (VBR, VBR);
+      CASE (VBR_MINQP, VBR_MINQP);
+#undef CASE
+    default:
+      return -1;
+  }
+}
+
 static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -71,8 +160,21 @@
 {
   PROP_0,
   PROP_DEVICE_ID,
+  PROP_PRESET,
+  PROP_BITRATE,
+  PROP_RC_MODE,
+  PROP_QP_MIN,
+  PROP_QP_MAX,
+  PROP_QP_CONST,
 };
 
+#define DEFAULT_PRESET GST_NV_PRESET_DEFAULT
+#define DEFAULT_BITRATE 0
+#define DEFAULT_RC_MODE GST_NV_RC_MODE_DEFAULT
+#define DEFAULT_QP_MIN -1
+#define DEFAULT_QP_MAX -1
+#define DEFAULT_QP_CONST -1
+
 /* This lock is needed to prevent the situation where multiple encoders are
  * initialised at the same time which appears to cause excessive CPU usage over
  * some period of time. */
@@ -147,14 +249,40 @@
   videoenc_class->finish = GST_DEBUG_FUNCPTR (gst_nv_base_enc_finish);
   videoenc_class->sink_query = GST_DEBUG_FUNCPTR (gst_nv_base_enc_sink_query);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 
   g_object_class_install_property (gobject_class, PROP_DEVICE_ID,
       g_param_spec_uint ("cuda-device-id",
           "Cuda Device ID",
           "Set the GPU device to use for operations",
           0, G_MAXUINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_PRESET,
+      g_param_spec_enum ("preset", "Encoding Preset",
+          "Encoding Preset",
+          GST_TYPE_NV_PRESET,
+          DEFAULT_PRESET, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_RC_MODE,
+      g_param_spec_enum ("rc-mode", "RC Mode",
+          "Rate Control Mode",
+          GST_TYPE_NV_RC_MODE,
+          DEFAULT_RC_MODE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_QP_MIN,
+      g_param_spec_int ("qp-min", "Minimum Quantizer",
+          "Minimum quantizer (-1 = from NVENC preset)", -1, 51, DEFAULT_QP_MIN,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_QP_MAX,
+      g_param_spec_int ("qp-max", "Maximum Quantizer",
+          "Maximum quantizer (-1 = from NVENC preset)", -1, 51, DEFAULT_QP_MAX,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_QP_CONST,
+      g_param_spec_int ("qp-const", "Constant Quantizer",
+          "Constant quantizer (-1 = from NVENC preset)",
+          -1, 51, DEFAULT_QP_CONST,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_BITRATE,
+      g_param_spec_uint ("bitrate", "Bitrate",
+          "Bitrate in kbit/sec (0 = from NVENC preset)", 0, 2000 * 1024,
+          DEFAULT_BITRATE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 }
 
 static gboolean
@@ -518,6 +646,14 @@
 {
   GstVideoEncoder *encoder = GST_VIDEO_ENCODER (nvenc);
 
+  nvenc->preset_enum = DEFAULT_PRESET;
+  nvenc->selected_preset = _nv_preset_to_guid (nvenc->preset_enum);
+  nvenc->rate_control_mode = DEFAULT_RC_MODE;
+  nvenc->qp_min = DEFAULT_QP_MIN;
+  nvenc->qp_max = DEFAULT_QP_MAX;
+  nvenc->qp_const = DEFAULT_QP_CONST;
+  nvenc->bitrate = DEFAULT_BITRATE;
+
   GST_VIDEO_ENCODER_STREAM_LOCK (encoder);
   GST_VIDEO_ENCODER_STREAM_UNLOCK (encoder);
 }
@@ -910,22 +1046,163 @@
   GstNvBaseEnc *nvenc = GST_NV_BASE_ENC (enc);
   GstVideoInfo *info = &state->info;
   GstVideoCodecState *old_state = nvenc->input_state;
+  NV_ENC_RECONFIGURE_PARAMS reconfigure_params = { 0, };
+  NV_ENC_INITIALIZE_PARAMS init_params = { 0, };
+  NV_ENC_INITIALIZE_PARAMS *params;
+  NV_ENC_PRESET_CONFIG preset_config = { 0, };
   NVENCSTATUS nv_ret;
 
-  g_assert (nvenc_class->initialize_encoder);
+  if (old_state) {
+    reconfigure_params.version = NV_ENC_RECONFIGURE_PARAMS_VER;
+    params = &reconfigure_params.reInitEncodeParams;
+  } else {
+    params = &init_params;
+  }
+
+  params->version = NV_ENC_INITIALIZE_PARAMS_VER;
+  params->encodeGUID = nvenc_class->codec_id;
+  params->encodeWidth = GST_VIDEO_INFO_WIDTH (info);
+  params->encodeHeight = GST_VIDEO_INFO_HEIGHT (info);
+
+  {
+    guint32 n_presets;
+    GUID *presets;
+    guint32 i;
+
+    nv_ret =
+        NvEncGetEncodePresetCount (nvenc->encoder,
+        params->encodeGUID, &n_presets);
+    if (nv_ret != NV_ENC_SUCCESS) {
+      GST_ELEMENT_ERROR (nvenc, LIBRARY, SETTINGS, (NULL),
+          ("Failed to get encoder presets"));
+      return FALSE;
+    }
+
+    presets = g_new0 (GUID, n_presets);
+    nv_ret =
+        NvEncGetEncodePresetGUIDs (nvenc->encoder,
+        params->encodeGUID, presets, n_presets, &n_presets);
+    if (nv_ret != NV_ENC_SUCCESS) {
+      GST_ELEMENT_ERROR (nvenc, LIBRARY, SETTINGS, (NULL),
+          ("Failed to get encoder presets"));
+      g_free (presets);
+      return FALSE;
+    }
+
+    for (i = 0; i < n_presets; i++) {
+      if (gst_nvenc_cmp_guid (presets[i], nvenc->selected_preset))
+        break;
+    }
+    g_free (presets);
+    if (i >= n_presets) {
+      GST_ELEMENT_ERROR (nvenc, LIBRARY, SETTINGS, (NULL),
+          ("Selected preset not supported"));
+      return FALSE;
+    }
+
+    params->presetGUID = nvenc->selected_preset;
+  }
+
+  params->enablePTD = 1;
+  if (!old_state) {
+    /* this sets the required buffer size and the maximum allowed size on
+     * subsequent reconfigures */
+    /* FIXME: propertise this */
+    params->maxEncodeWidth = GST_VIDEO_INFO_WIDTH (info);
+    params->maxEncodeHeight = GST_VIDEO_INFO_HEIGHT (info);
+    gst_nv_base_enc_set_max_encode_size (nvenc, params->maxEncodeWidth,
+        params->maxEncodeHeight);
+  } else {
+    guint max_width, max_height;
+
+    gst_nv_base_enc_get_max_encode_size (nvenc, &max_width, &max_height);
+
+    if (GST_VIDEO_INFO_WIDTH (info) > max_width
+        || GST_VIDEO_INFO_HEIGHT (info) > max_height) {
+      GST_ELEMENT_ERROR (nvenc, STREAM, FORMAT, ("%s", "Requested stream "
+              "size is larger than the maximum configured size"), (NULL));
+      return FALSE;
+    }
+  }
+
+  preset_config.version = NV_ENC_PRESET_CONFIG_VER;
+  preset_config.presetCfg.version = NV_ENC_CONFIG_VER;
+
+  nv_ret =
+      NvEncGetEncodePresetConfig (nvenc->encoder,
+      params->encodeGUID, params->presetGUID, &preset_config);
+  if (nv_ret != NV_ENC_SUCCESS) {
+    GST_ELEMENT_ERROR (nvenc, LIBRARY, SETTINGS, (NULL),
+        ("Failed to get encode preset configuration: %d", nv_ret));
+    return FALSE;
+  }
+
+  params->encodeConfig = &preset_config.presetCfg;
+
+  if (GST_VIDEO_INFO_IS_INTERLACED (info)) {
+    if (GST_VIDEO_INFO_INTERLACE_MODE (info) ==
+        GST_VIDEO_INTERLACE_MODE_INTERLEAVED
+        || GST_VIDEO_INFO_INTERLACE_MODE (info) ==
+        GST_VIDEO_INTERLACE_MODE_MIXED) {
+      preset_config.presetCfg.frameFieldMode =
+          NV_ENC_PARAMS_FRAME_FIELD_MODE_FIELD;
+    }
+  }
+
+  if (info->fps_d > 0 && info->fps_n > 0) {
+    params->frameRateNum = info->fps_n;
+    params->frameRateDen = info->fps_d;
+  } else {
+    GST_FIXME_OBJECT (nvenc, "variable framerate");
+  }
+
+  if (nvenc->rate_control_mode != GST_NV_RC_MODE_DEFAULT) {
+    params->encodeConfig->rcParams.rateControlMode =
+        _rc_mode_to_nv (nvenc->rate_control_mode);
+    if (nvenc->bitrate > 0) {
+      /* FIXME: this produces larger bitrates?! */
+      params->encodeConfig->rcParams.averageBitRate = nvenc->bitrate * 1024;
+      params->encodeConfig->rcParams.maxBitRate = nvenc->bitrate * 1024;
+    }
+    if (nvenc->qp_const > 0) {
+      params->encodeConfig->rcParams.constQP.qpInterB = nvenc->qp_const;
+      params->encodeConfig->rcParams.constQP.qpInterP = nvenc->qp_const;
+      params->encodeConfig->rcParams.constQP.qpIntra = nvenc->qp_const;
+    }
+    if (nvenc->qp_min >= 0) {
+      params->encodeConfig->rcParams.enableMinQP = 1;
+      params->encodeConfig->rcParams.minQP.qpInterB = nvenc->qp_min;
+      params->encodeConfig->rcParams.minQP.qpInterP = nvenc->qp_min;
+      params->encodeConfig->rcParams.minQP.qpIntra = nvenc->qp_min;
+    }
+    if (nvenc->qp_max >= 0) {
+      params->encodeConfig->rcParams.enableMaxQP = 1;
+      params->encodeConfig->rcParams.maxQP.qpInterB = nvenc->qp_max;
+      params->encodeConfig->rcParams.maxQP.qpInterP = nvenc->qp_max;
+      params->encodeConfig->rcParams.maxQP.qpIntra = nvenc->qp_max;
+    }
+  }
+
+  g_assert (nvenc_class->set_encoder_config);
+  if (!nvenc_class->set_encoder_config (nvenc, state, params->encodeConfig)) {
+    GST_ERROR_OBJECT (enc, "Subclass failed to set encoder configuration");
+    return FALSE;
+  }
 
   G_LOCK (initialization_lock);
-  if (!nvenc_class->initialize_encoder (nvenc, old_state, state)) {
-    GST_ERROR_OBJECT (enc, "Subclass failed to reconfigure encoder");
-    G_UNLOCK (initialization_lock);
-    return FALSE;
+  if (old_state) {
+    nv_ret = NvEncReconfigureEncoder (nvenc->encoder, &reconfigure_params);
+  } else {
+    nv_ret = NvEncInitializeEncoder (nvenc->encoder, params);
   }
   G_UNLOCK (initialization_lock);
 
-  if (!nvenc->max_encode_width && !nvenc->max_encode_height) {
-    gst_nv_base_enc_set_max_encode_size (nvenc, GST_VIDEO_INFO_WIDTH (info),
-        GST_VIDEO_INFO_HEIGHT (info));
+  if (nv_ret != NV_ENC_SUCCESS) {
+    GST_ELEMENT_ERROR (nvenc, LIBRARY, SETTINGS, (NULL),
+        ("Failed to %sinit encoder: %d", old_state ? "re" : "", nv_ret));
+    return FALSE;
   }
+  GST_INFO_OBJECT (nvenc, "configured encoder");
 
   if (!old_state) {
     nvenc->input_info = *info;
@@ -1209,9 +1486,8 @@
     }
 
     cuda_ret =
-        cudaGraphicsResourceGetMappedPointer (&data->
-        in_gl_resource->cuda_plane_pointers[i],
-        &data->in_gl_resource->cuda_num_bytes,
+        cudaGraphicsResourceGetMappedPointer (&data->in_gl_resource->
+        cuda_plane_pointers[i], &data->in_gl_resource->cuda_num_bytes,
         data->in_gl_resource->cuda_texture);
     if (cuda_ret != cudaSuccess) {
       GST_ERROR_OBJECT (data->nvenc, "failed to get mapped pointer of map GL "
@@ -1591,6 +1867,25 @@
     case PROP_DEVICE_ID:
       nvenc->cuda_device_id = g_value_get_uint (value);
       break;
+    case PROP_PRESET:
+      nvenc->preset_enum = g_value_get_enum (value);
+      nvenc->selected_preset = _nv_preset_to_guid (nvenc->preset_enum);
+      break;
+    case PROP_RC_MODE:
+      nvenc->rate_control_mode = g_value_get_enum (value);
+      break;
+    case PROP_QP_MIN:
+      nvenc->qp_min = g_value_get_int (value);
+      break;
+    case PROP_QP_MAX:
+      nvenc->qp_max = g_value_get_int (value);
+      break;
+    case PROP_QP_CONST:
+      nvenc->qp_const = g_value_get_int (value);
+      break;
+    case PROP_BITRATE:
+      nvenc->bitrate = g_value_get_uint (value);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -1607,6 +1902,24 @@
     case PROP_DEVICE_ID:
       g_value_set_uint (value, nvenc->cuda_device_id);
       break;
+    case PROP_PRESET:
+      g_value_set_enum (value, nvenc->preset_enum);
+      break;
+    case PROP_RC_MODE:
+      g_value_set_enum (value, nvenc->rate_control_mode);
+      break;
+    case PROP_QP_MIN:
+      g_value_set_int (value, nvenc->qp_min);
+      break;
+    case PROP_QP_MAX:
+      g_value_set_int (value, nvenc->qp_max);
+      break;
+    case PROP_QP_CONST:
+      g_value_set_int (value, nvenc->qp_const);
+      break;
+    case PROP_BITRATE:
+      g_value_set_uint (value, nvenc->bitrate);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
diff --git a/sys/nvenc/gstnvbaseenc.h b/sys/nvenc/gstnvbaseenc.h
index 0a843e9..6623cc3 100644
--- a/sys/nvenc/gstnvbaseenc.h
+++ b/sys/nvenc/gstnvbaseenc.h
@@ -37,11 +37,38 @@
 #define GST_IS_NV_BASE_ENC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NV_BASE_ENC))
 
+typedef enum {
+  GST_NV_PRESET_DEFAULT,
+  GST_NV_PRESET_HP,
+  GST_NV_PRESET_HQ,
+/* FIXME: problematic GST_NV_PRESET_BD, */
+  GST_NV_PRESET_LOW_LATENCY_DEFAULT,
+  GST_NV_PRESET_LOW_LATENCY_HQ,
+  GST_NV_PRESET_LOW_LATENCY_HP,
+  GST_NV_PRESET_LOSSLESS_DEFAULT,
+  GST_NV_PRESET_LOSSLESS_HP,
+} GstNvPreset;
+
+typedef enum {
+  GST_NV_RC_MODE_DEFAULT,
+  GST_NV_RC_MODE_CONSTQP,
+  GST_NV_RC_MODE_CBR,
+  GST_NV_RC_MODE_VBR,
+  GST_NV_RC_MODE_VBR_MINQP,
+} GstNvRCMode;
+
 typedef struct {
   GstVideoEncoder video_encoder;
 
   /* properties */
   guint           cuda_device_id;
+  GstNvPreset     preset_enum;
+  GUID            selected_preset;
+  GstNvRCMode     rate_control_mode;
+  gint            qp_min;
+  gint            qp_max;
+  gint            qp_const;
+  guint           bitrate;
 
   CUcontext       cuda_ctx;
   void          * encoder;
@@ -90,14 +117,14 @@
 
   GUID codec_id;
 
-  gboolean (*initialize_encoder) (GstNvBaseEnc * nvenc,
-                                  GstVideoCodecState * old_state,
-                                  GstVideoCodecState * state);
   gboolean (*set_src_caps)       (GstNvBaseEnc * nvenc,
                                   GstVideoCodecState * state);
   gboolean (*set_pic_params)     (GstNvBaseEnc * nvenc,
                                   GstVideoCodecFrame * frame,
                                   NV_ENC_PIC_PARAMS * pic_params);
+  gboolean (*set_encoder_config) (GstNvBaseEnc * nvenc,
+                                  GstVideoCodecState * state,
+                                  NV_ENC_CONFIG * config);
 } GstNvBaseEncClass;
 
 G_GNUC_INTERNAL
diff --git a/sys/nvenc/gstnvenc.c b/sys/nvenc/gstnvenc.c
index 6b0d568..30b5b13 100644
--- a/sys/nvenc/gstnvenc.c
+++ b/sys/nvenc/gstnvenc.c
@@ -78,6 +78,24 @@
 }
 
 NVENCSTATUS
+NvEncGetEncodePresetCount (void *encoder, GUID encodeGUID,
+    uint32_t * encodePresetGUIDCount)
+{
+  g_assert (nvenc_api.nvEncGetEncodeProfileGUIDCount != NULL);
+  return nvenc_api.nvEncGetEncodePresetCount (encoder, encodeGUID,
+      encodePresetGUIDCount);
+}
+
+NVENCSTATUS
+NvEncGetEncodePresetGUIDs (void *encoder, GUID encodeGUID,
+    GUID * presetGUIDs, uint32_t guidArraySize, uint32_t * GUIDCount)
+{
+  g_assert (nvenc_api.nvEncGetEncodeProfileGUIDs != NULL);
+  return nvenc_api.nvEncGetEncodePresetGUIDs (encoder, encodeGUID,
+      presetGUIDs, guidArraySize, GUIDCount);
+}
+
+NVENCSTATUS
 NvEncGetEncodePresetConfig (void *encoder, GUID encodeGUID,
     GUID presetGUID, NV_ENC_PRESET_CONFIG * presetConfig)
 {
diff --git a/sys/nvenc/gstnvh264enc.c b/sys/nvenc/gstnvh264enc.c
index 170e3f7..2e60b3d 100644
--- a/sys/nvenc/gstnvh264enc.c
+++ b/sys/nvenc/gstnvh264enc.c
@@ -57,8 +57,8 @@
     GstCaps * filter);
 static gboolean gst_nv_h264_enc_set_src_caps (GstNvBaseEnc * nvenc,
     GstVideoCodecState * state);
-static gboolean gst_nv_h264_enc_initialize_encoder (GstNvBaseEnc * nvenc,
-    GstVideoCodecState * old_state, GstVideoCodecState * state);
+static gboolean gst_nv_h264_enc_set_encoder_config (GstNvBaseEnc * nvenc,
+    GstVideoCodecState * state, NV_ENC_CONFIG * config);
 static gboolean gst_nv_h264_enc_set_pic_params (GstNvBaseEnc * nvenc,
     GstVideoCodecFrame * frame, NV_ENC_PIC_PARAMS * pic_params);
 static void gst_nv_h264_enc_set_property (GObject * object, guint prop_id,
@@ -85,12 +85,11 @@
   videoenc_class->getcaps = GST_DEBUG_FUNCPTR (gst_nv_h264_enc_getcaps);
 
   nvenc_class->codec_id = NV_ENC_CODEC_H264_GUID;
-  nvenc_class->initialize_encoder = gst_nv_h264_enc_initialize_encoder;
+  nvenc_class->set_encoder_config = gst_nv_h264_enc_set_encoder_config;
   nvenc_class->set_src_caps = gst_nv_h264_enc_set_src_caps;
   nvenc_class->set_pic_params = gst_nv_h264_enc_set_pic_params;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
 
   gst_element_class_set_static_metadata (element_class,
       "NVENC H.264 Video Encoder",
@@ -412,27 +411,14 @@
 }
 
 static gboolean
-gst_nv_h264_enc_initialize_encoder (GstNvBaseEnc * nvenc,
-    GstVideoCodecState * old_state, GstVideoCodecState * state)
+gst_nv_h264_enc_set_encoder_config (GstNvBaseEnc * nvenc,
+    GstVideoCodecState * state, NV_ENC_CONFIG * config)
 {
   GstNvH264Enc *h264enc = GST_NV_H264_ENC (nvenc);
-  NV_ENC_RECONFIGURE_PARAMS reconfigure_params = { 0, };
-  NV_ENC_INITIALIZE_PARAMS init_params = { 0, };
-  NV_ENC_INITIALIZE_PARAMS *params;
-  NV_ENC_PRESET_CONFIG preset_config = { 0, };
-  NVENCSTATUS nv_ret;
-  GstVideoInfo *info = &state->info;
   GstCaps *allowed_caps, *template_caps;
   GUID selected_profile = NV_ENC_CODEC_PROFILE_AUTOSELECT_GUID;
   int level_idc = NV_ENC_LEVEL_AUTOSELECT;
-
-  /* TODO: support reconfiguration */
-  if (old_state) {
-    reconfigure_params.version = NV_ENC_RECONFIGURE_PARAMS_VER;
-    params = &reconfigure_params.reInitEncodeParams;
-  } else {
-    params = &init_params;
-  }
+  GstVideoInfo *info = &state->info;
 
   template_caps = gst_static_pad_template_get_caps (&src_factory);
   allowed_caps = gst_pad_get_allowed_caps (GST_VIDEO_ENCODER_SRC_PAD (h264enc));
@@ -482,96 +468,19 @@
   }
   gst_caps_unref (template_caps);
 
-  params->version = NV_ENC_INITIALIZE_PARAMS_VER;
-  params->encodeGUID = NV_ENC_CODEC_H264_GUID;
-  params->encodeWidth = GST_VIDEO_INFO_WIDTH (info);
-  params->encodeHeight = GST_VIDEO_INFO_HEIGHT (info);
-  /* FIXME: make this a property */
-  params->presetGUID = NV_ENC_PRESET_HP_GUID;   // _DEFAULT
-  params->enablePTD = 1;
-  if (!old_state) {
-    /* this sets the required buffer size and the maximum allowed size on
-     * subsequent reconfigures */
-    /* FIXME: propertise this */
-    params->maxEncodeWidth = GST_VIDEO_INFO_WIDTH (info);
-    params->maxEncodeHeight = GST_VIDEO_INFO_HEIGHT (info);
-    gst_nv_base_enc_set_max_encode_size (GST_NV_BASE_ENC (h264enc),
-        params->maxEncodeWidth, params->maxEncodeHeight);
-  } else {
-    guint max_width, max_height;
-
-    gst_nv_base_enc_get_max_encode_size (GST_NV_BASE_ENC (h264enc),
-        &max_width, &max_height);
-
-    if (GST_VIDEO_INFO_WIDTH (info) > max_width
-        || GST_VIDEO_INFO_HEIGHT (info) > max_height) {
-      GST_ELEMENT_ERROR (h264enc, STREAM, FORMAT, ("%s", "Requested stream "
-              "size is larger than the maximum configured size"), (NULL));
-      return FALSE;
-    }
-  }
-
-  preset_config.version = NV_ENC_PRESET_CONFIG_VER;
-  preset_config.presetCfg.version = NV_ENC_CONFIG_VER;
-
-  nv_ret =
-      NvEncGetEncodePresetConfig (GST_NV_BASE_ENC (h264enc)->encoder,
-      params->encodeGUID, params->presetGUID, &preset_config);
-  if (nv_ret != NV_ENC_SUCCESS) {
-    GST_ELEMENT_ERROR (h264enc, LIBRARY, SETTINGS, (NULL),
-        ("Failed to get encode preset configuration: %d", nv_ret));
-    return FALSE;
-  }
-  params->encodeConfig = &preset_config.presetCfg;
-
   /* override some defaults */
   GST_LOG_OBJECT (h264enc, "setting parameters");
-  preset_config.presetCfg.version = NV_ENC_CONFIG_VER;
-  preset_config.presetCfg.profileGUID = selected_profile;
-  preset_config.presetCfg.encodeCodecConfig.h264Config.level = level_idc;
-  preset_config.presetCfg.encodeCodecConfig.h264Config.chromaFormatIDC = 1;
+  config->profileGUID = selected_profile;
+  config->encodeCodecConfig.h264Config.level = level_idc;
+  config->encodeCodecConfig.h264Config.chromaFormatIDC = 1;
   if (GST_VIDEO_INFO_FORMAT (info) == GST_VIDEO_FORMAT_Y444) {
     GST_DEBUG_OBJECT (h264enc, "have Y444 input, setting config accordingly");
-    preset_config.presetCfg.encodeCodecConfig.
-        h264Config.separateColourPlaneFlag = 1;
-    preset_config.presetCfg.encodeCodecConfig.h264Config.chromaFormatIDC = 3;
+    config->encodeCodecConfig.h264Config.separateColourPlaneFlag = 1;
+    config->encodeCodecConfig.h264Config.chromaFormatIDC = 3;
   }
 
   /* FIXME: make property */
-  preset_config.presetCfg.encodeCodecConfig.h264Config.outputAUD = 1;
-
-  if (GST_VIDEO_INFO_IS_INTERLACED (info)) {
-    if (GST_VIDEO_INFO_INTERLACE_MODE (info) ==
-        GST_VIDEO_INTERLACE_MODE_INTERLEAVED
-        || GST_VIDEO_INFO_INTERLACE_MODE (info) ==
-        GST_VIDEO_INTERLACE_MODE_MIXED) {
-      preset_config.presetCfg.frameFieldMode =
-          NV_ENC_PARAMS_FRAME_FIELD_MODE_FIELD;
-    }
-  }
-
-  if (info->fps_d > 0 && info->fps_n > 0) {
-    params->frameRateNum = info->fps_n;
-    params->frameRateDen = info->fps_d;
-  } else {
-    GST_FIXME_OBJECT (h264enc, "variable framerate");
-  }
-
-  if (old_state) {
-    nv_ret =
-        NvEncReconfigureEncoder (GST_NV_BASE_ENC (h264enc)->encoder,
-        &reconfigure_params);
-  } else {
-    nv_ret =
-        NvEncInitializeEncoder (GST_NV_BASE_ENC (h264enc)->encoder, params);
-  }
-
-  if (nv_ret != NV_ENC_SUCCESS) {
-    GST_ELEMENT_ERROR (h264enc, LIBRARY, SETTINGS, (NULL),
-        ("Failed to %sinit encoder: %d", old_state ? "re" : "", nv_ret));
-    return FALSE;
-  }
-  GST_INFO_OBJECT (h264enc, "configured encoder");
+  config->encodeCodecConfig.h264Config.outputAUD = 1;
 
   return TRUE;
 }
diff --git a/sys/opensles/Makefile.in b/sys/opensles/Makefile.in
index 955e522..8f9099e 100644
--- a/sys/opensles/Makefile.in
+++ b/sys/opensles/Makefile.in
@@ -305,6 +305,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -520,6 +522,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -646,8 +650,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -692,6 +694,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/opensles/openslessink.c b/sys/opensles/openslessink.c
index c2ec806..2493853 100644
--- a/sys/opensles/openslessink.c
+++ b/sys/opensles/openslessink.c
@@ -272,8 +272,7 @@
           GST_TYPE_OPENSLES_STREAM_TYPE, DEFAULT_STREAM_TYPE,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class, "OpenSL ES Sink",
       "Sink/Audio",
diff --git a/sys/opensles/openslessrc.c b/sys/opensles/openslessrc.c
index 6505ab1..f32984a 100644
--- a/sys/opensles/openslessrc.c
+++ b/sys/opensles/openslessrc.c
@@ -131,8 +131,7 @@
           GST_TYPE_OPENSLES_RECORDING_PRESET, DEFAULT_PRESET,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
 
   gst_element_class_set_static_metadata (gstelement_class, "OpenSL ES Src",
       "Source/Audio",
diff --git a/sys/pvr2d/Makefile.in b/sys/pvr2d/Makefile.in
index 447d445..8b29d5e 100644
--- a/sys/pvr2d/Makefile.in
+++ b/sys/pvr2d/Makefile.in
@@ -306,6 +306,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -521,6 +523,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -647,8 +651,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -693,6 +695,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/pvr2d/gstpvrbufferpool.c b/sys/pvr2d/gstpvrbufferpool.c
index 81106dc..620d581 100644
--- a/sys/pvr2d/gstpvrbufferpool.c
+++ b/sys/pvr2d/gstpvrbufferpool.c
@@ -37,6 +37,15 @@
 GST_DEBUG_CATEGORY_EXTERN (gst_debug_pvrvideosink);
 #define GST_CAT_DEFAULT gst_debug_pvrvideosink
 
+static gboolean
+gst_pvr_meta_init (GstPVRMeta * meta, gpointer params, GstBuffer * buffer)
+{
+  meta->src_mem = NULL;
+  meta->sink = NULL;
+
+  return TRUE;
+}
+
 static void
 gst_pvr_meta_free (GstPVRMeta * meta, GstBuffer * buffer)
 {
@@ -74,9 +83,9 @@
   if (g_once_init_enter (&pvr_meta_info)) {
     const GstMetaInfo *meta = gst_meta_register ("GstPVRMeta", "GstPVRMeta",
         sizeof (GstPVRMeta),
-        (GstMetaInitFunction) NULL,
+        (GstMetaInitFunction) gst_pvr_meta_init,
         (GstMetaFreeFunction) gst_pvr_meta_free,
-        (GstMetaCopyFunction) NULL, (GstMetaTransformFunction) NULL);
+        (GstMetaTransformFunction) NULL);
     g_once_init_leave (&pvr_meta_info, meta);
   }
   return pvr_meta_info;
diff --git a/sys/pvr2d/gstpvrvideosink.c b/sys/pvr2d/gstpvrvideosink.c
index 7c10243..4e32a8c 100644
--- a/sys/pvr2d/gstpvrvideosink.c
+++ b/sys/pvr2d/gstpvrvideosink.c
@@ -1464,8 +1464,8 @@
       "A PVR videosink",
       "Luciana Fujii Pontello <luciana.fujii@collabora.co.uk");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_pvrvideosink_sink_template_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_pvrvideosink_sink_template_factory);
 
   gstelement_class->change_state = gst_pvrvideosink_change_state;
 
diff --git a/sys/shm/Makefile.in b/sys/shm/Makefile.in
index e212d99..900230e 100644
--- a/sys/shm/Makefile.in
+++ b/sys/shm/Makefile.in
@@ -304,6 +304,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -519,6 +521,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -645,8 +649,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -691,6 +693,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/shm/gstshmsink.c b/sys/shm/gstshmsink.c
index 13d67bd..a44097b 100644
--- a/sys/shm/gstshmsink.c
+++ b/sys/shm/gstshmsink.c
@@ -419,8 +419,7 @@
       GST_TYPE_SHM_SINK, G_SIGNAL_RUN_LAST, 0, NULL, NULL,
       g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Shared Memory Sink",
diff --git a/sys/shm/gstshmsrc.c b/sys/shm/gstshmsrc.c
index 3caf90b..59fe44d 100644
--- a/sys/shm/gstshmsrc.c
+++ b/sys/shm/gstshmsrc.c
@@ -138,8 +138,7 @@
           "The name of the shared memory area used to get buffers",
           NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Shared Memory Source",
@@ -273,11 +272,11 @@
   if (self->pipe) {
     gst_shm_pipe_dec (self->pipe);
     self->pipe = NULL;
+
+    gst_poll_remove_fd (self->poll, &self->pollfd);
   }
 
-  gst_poll_remove_fd (self->poll, &self->pollfd);
   gst_poll_fd_init (&self->pollfd);
-
   gst_poll_set_flushing (self->poll, TRUE);
 }
 
diff --git a/sys/tinyalsa/Makefile.in b/sys/tinyalsa/Makefile.in
index c87f829..160ba70 100644
--- a/sys/tinyalsa/Makefile.in
+++ b/sys/tinyalsa/Makefile.in
@@ -303,6 +303,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -518,6 +520,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -644,8 +648,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -690,6 +692,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/tinyalsa/tinyalsasink.c b/sys/tinyalsa/tinyalsasink.c
index c29755e..7c7799c 100644
--- a/sys/tinyalsa/tinyalsasink.c
+++ b/sys/tinyalsa/tinyalsasink.c
@@ -473,8 +473,7 @@
       "Sink/Audio", "Plays audio to an ALSA device",
       "Arun Raghavan <arun@centricular.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   g_object_class_install_property (gobject_class,
       PROP_CARD,
diff --git a/sys/uvch264/Makefile.in b/sys/uvch264/Makefile.in
index b2a71c1..3218574 100644
--- a/sys/uvch264/Makefile.in
+++ b/sys/uvch264/Makefile.in
@@ -307,6 +307,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -522,6 +524,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -648,8 +652,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -694,6 +696,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/uvch264/gstuvch264_mjpgdemux.c b/sys/uvch264/gstuvch264_mjpgdemux.c
index 1f9b1c4..e253a04 100644
--- a/sys/uvch264/gstuvch264_mjpgdemux.c
+++ b/sys/uvch264/gstuvch264_mjpgdemux.c
@@ -190,20 +190,16 @@
   gobject_class->get_property = gst_uvc_h264_mjpg_demux_get_property;
   gobject_class->dispose = gst_uvc_h264_mjpg_demux_dispose;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&mjpgsink_pad_template));
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&jpegsrc_pad_template));
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&h264src_pad_template));
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&yuy2src_pad_template));
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&nv12src_pad_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &mjpgsink_pad_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &jpegsrc_pad_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &h264src_pad_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &yuy2src_pad_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &nv12src_pad_template);
 
   gst_element_class_set_static_metadata (element_class,
       "UVC H264 MJPG Demuxer",
diff --git a/sys/uvch264/gstuvch264_src.c b/sys/uvch264/gstuvch264_src.c
index eae7d82..38397c3 100644
--- a/sys/uvch264/gstuvch264_src.c
+++ b/sys/uvch264/gstuvch264_src.c
@@ -281,14 +281,11 @@
       "UVC H264 Encoding camera source",
       "Youness Alaoui <youness.alaoui@collabora.co.uk>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&vidsrc_template));
-
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&imgsrc_template));
-
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&vfsrc_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &vidsrc_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &imgsrc_template);
+  gst_element_class_add_static_pad_template (gstelement_class, &vfsrc_template);
 
   /* Properties */
   g_object_class_install_property (gobject_class, PROP_COLORSPACE_NAME,
diff --git a/sys/vcd/Makefile.in b/sys/vcd/Makefile.in
index 88ed312..ed18a3b 100644
--- a/sys/vcd/Makefile.in
+++ b/sys/vcd/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/vcd/vcdsrc.c b/sys/vcd/vcdsrc.c
index 7372ac5..1bf3cc5 100644
--- a/sys/vcd/vcdsrc.c
+++ b/sys/vcd/vcdsrc.c
@@ -118,8 +118,7 @@
       "Source/File",
       "Asynchronous read from VCD disk", "Erik Walthinsen <omega@cse.ogi.edu>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_add_static_pad_template (element_class, &srctemplate);
 }
 
 static void
diff --git a/sys/vdpau/Makefile.in b/sys/vdpau/Makefile.in
index cc681e3..a8f39c4 100644
--- a/sys/vdpau/Makefile.in
+++ b/sys/vdpau/Makefile.in
@@ -310,6 +310,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -525,6 +527,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -651,8 +655,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -697,6 +699,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/vdpau/mpeg/gstvdpmpegdec.c b/sys/vdpau/mpeg/gstvdpmpegdec.c
index e6f6f95..1bcf9d9 100644
--- a/sys/vdpau/mpeg/gstvdpmpegdec.c
+++ b/sys/vdpau/mpeg/gstvdpmpegdec.c
@@ -525,8 +525,7 @@
       "Decode mpeg stream with vdpau",
       "Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   video_decoder_class->start = gst_vdp_mpeg_dec_start;
   video_decoder_class->stop = gst_vdp_mpeg_dec_stop;
diff --git a/sys/wasapi/Makefile.in b/sys/wasapi/Makefile.in
index 55a66ed..e00b3b9 100644
--- a/sys/wasapi/Makefile.in
+++ b/sys/wasapi/Makefile.in
@@ -306,6 +306,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -521,6 +523,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -647,8 +651,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -693,6 +695,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/wasapi/gstwasapisink.c b/sys/wasapi/gstwasapisink.c
index 53f5c45..5b35b8e 100644
--- a/sys/wasapi/gstwasapisink.c
+++ b/sys/wasapi/gstwasapisink.c
@@ -77,8 +77,7 @@
   gobject_class->dispose = gst_wasapi_sink_dispose;
   gobject_class->finalize = gst_wasapi_sink_finalize;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_template);
   gst_element_class_set_static_metadata (gstelement_class, "WasapiSrc",
       "Sink/Audio",
       "Stream audio to an audio capture device through WASAPI",
diff --git a/sys/wasapi/gstwasapisrc.c b/sys/wasapi/gstwasapisrc.c
index 402875f..20c3929 100644
--- a/sys/wasapi/gstwasapisrc.c
+++ b/sys/wasapi/gstwasapisrc.c
@@ -50,13 +50,15 @@
 static void gst_wasapi_src_dispose (GObject * object);
 static void gst_wasapi_src_finalize (GObject * object);
 
-static GstCaps * gst_wasapi_src_get_caps (GstBaseSrc * bsrc, GstCaps * filter);
+static GstCaps *gst_wasapi_src_get_caps (GstBaseSrc * bsrc, GstCaps * filter);
 
 static gboolean gst_wasapi_src_open (GstAudioSrc * asrc);
 static gboolean gst_wasapi_src_close (GstAudioSrc * asrc);
-static gboolean gst_wasapi_src_prepare (GstAudioSrc * asrc, GstAudioRingBufferSpec * spec);
+static gboolean gst_wasapi_src_prepare (GstAudioSrc * asrc,
+    GstAudioRingBufferSpec * spec);
 static gboolean gst_wasapi_src_unprepare (GstAudioSrc * asrc);
-static guint gst_wasapi_src_read (GstAudioSrc * asrc, gpointer data, guint length, GstClockTime * timestamp);
+static guint gst_wasapi_src_read (GstAudioSrc * asrc, gpointer data,
+    guint length, GstClockTime * timestamp);
 static guint gst_wasapi_src_delay (GstAudioSrc * asrc);
 static void gst_wasapi_src_reset (GstAudioSrc * asrc);
 
@@ -76,8 +78,7 @@
   gobject_class->dispose = gst_wasapi_src_dispose;
   gobject_class->finalize = gst_wasapi_src_finalize;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_template);
   gst_element_class_set_static_metadata (gstelement_class, "WasapiSrc",
       "Source/Audio",
       "Stream audio from an audio capture device through WASAPI",
@@ -89,8 +90,7 @@
   gstaudiosrc_class->close = GST_DEBUG_FUNCPTR (gst_wasapi_src_close);
   gstaudiosrc_class->read = GST_DEBUG_FUNCPTR (gst_wasapi_src_read);
   gstaudiosrc_class->prepare = GST_DEBUG_FUNCPTR (gst_wasapi_src_prepare);
-  gstaudiosrc_class->unprepare =
-      GST_DEBUG_FUNCPTR (gst_wasapi_src_unprepare);
+  gstaudiosrc_class->unprepare = GST_DEBUG_FUNCPTR (gst_wasapi_src_unprepare);
   gstaudiosrc_class->delay = GST_DEBUG_FUNCPTR (gst_wasapi_src_delay);
   gstaudiosrc_class->reset = GST_DEBUG_FUNCPTR (gst_wasapi_src_reset);
 
@@ -147,9 +147,10 @@
 {
   GstWasapiSrc *self = GST_WASAPI_SRC (asrc);
   gboolean res = FALSE;
-  IAudioClient * client = NULL;
+  IAudioClient *client = NULL;
 
-  if (!gst_wasapi_util_get_default_device_client (GST_ELEMENT (self), TRUE, &client)) {
+  if (!gst_wasapi_util_get_default_device_client (GST_ELEMENT (self), TRUE,
+          &client)) {
     GST_ELEMENT_ERROR (self, RESOURCE, OPEN_READ, (NULL),
         ("Failed to get default device"));
     goto beach;
@@ -197,8 +198,9 @@
   gst_wasapi_util_audio_info_to_waveformatex (&spec->info, &format);
   self->info = spec->info;
 
-  hr = IAudioClient_Initialize (self->client, AUDCLNT_SHAREMODE_SHARED, AUDCLNT_STREAMFLAGS_EVENTCALLBACK,
-      spec->buffer_time / 100, 0, (WAVEFORMATEX *) & format, NULL);
+  hr = IAudioClient_Initialize (self->client, AUDCLNT_SHAREMODE_SHARED,
+      AUDCLNT_STREAMFLAGS_EVENTCALLBACK, spec->buffer_time / 100, 0,
+      (WAVEFORMATEX *) & format, NULL);
   if (hr != S_OK) {
     GST_ELEMENT_ERROR (self, RESOURCE, OPEN_READ, (NULL),
         ("IAudioClient::Initialize () failed: %s",
diff --git a/sys/wininet/Makefile.in b/sys/wininet/Makefile.in
index 1b9d397..96a3a0f 100644
--- a/sys/wininet/Makefile.in
+++ b/sys/wininet/Makefile.in
@@ -302,6 +302,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -517,6 +519,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -643,8 +647,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -689,6 +691,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/wininet/gstwininetsrc.c b/sys/wininet/gstwininetsrc.c
index 4cd9bf3..60d2944 100644
--- a/sys/wininet/gstwininetsrc.c
+++ b/sys/wininet/gstwininetsrc.c
@@ -83,8 +83,7 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (gclass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 
   gst_element_class_set_static_metadata (element_class,
       "Windows Network Source", "Source/Network",
diff --git a/sys/winks/Makefile.in b/sys/winks/Makefile.in
index b780516..ba4cce4 100644
--- a/sys/winks/Makefile.in
+++ b/sys/winks/Makefile.in
@@ -307,6 +307,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -522,6 +524,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -648,8 +652,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -694,6 +696,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/winks/ksdeviceprovider.c b/sys/winks/ksdeviceprovider.c
index 54429eb..609794d 100644
--- a/sys/winks/ksdeviceprovider.c
+++ b/sys/winks/ksdeviceprovider.c
@@ -355,7 +355,7 @@
                 entry->path);
 
             if ((source == NULL) &&
-                (strcasecmp (entry->path, bcdi->dbcc_name) == 0))
+                (g_ascii_strcasecmp (entry->path, bcdi->dbcc_name) == 0))
               source = new_video_source (entry);
 
             ks_device_entry_free (entry);
@@ -377,7 +377,7 @@
           for (item = provider->devices; item; item = item->next) {
             dev = item->data;
 
-            if (strcasecmp (dev->path, bcdi->dbcc_name) == 0) {
+            if (g_ascii_strcasecmp (dev->path, bcdi->dbcc_name) == 0) {
               guid_str = gst_device_get_display_name (GST_DEVICE (dev));
               GST_INFO_OBJECT (self, "Device matches to %s", guid_str);
               g_free (guid_str);
diff --git a/sys/winks/kshelpers.c b/sys/winks/kshelpers.c
index bbb9b06..3b5ec28 100644
--- a/sys/winks/kshelpers.c
+++ b/sys/winks/kshelpers.c
@@ -19,6 +19,12 @@
 
 #include "kshelpers.h"
 
+/* This plugin is from the era of Windows XP and uses APIs that have been
+ * deprecated since then. Let's pretend we're Windows XP too so that Windows
+ * lets us use that deprecated API. */
+#define NTDDI_VERSION NTDDI_WINXP
+#define _WIN32_WINNT _WIN32_WINNT_WINXP
+
 #include <ksmedia.h>
 #include <setupapi.h>
 #include <gst/gst.h>
diff --git a/sys/winks/kshelpers.h b/sys/winks/kshelpers.h
index 5181bfc..ded8101 100644
--- a/sys/winks/kshelpers.h
+++ b/sys/winks/kshelpers.h
@@ -22,6 +22,7 @@
 
 #include <glib.h>
 #include <windows.h>
+#include <mmsystem.h>
 #include <ks.h>
 
 G_BEGIN_DECLS
diff --git a/sys/winscreencap/Makefile.in b/sys/winscreencap/Makefile.in
index 5fef8fa..3ef6c3d 100644
--- a/sys/winscreencap/Makefile.in
+++ b/sys/winscreencap/Makefile.in
@@ -306,6 +306,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -521,6 +523,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -647,8 +651,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -693,6 +695,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/sys/winscreencap/gstdx9screencapsrc.c b/sys/winscreencap/gstdx9screencapsrc.c
index 0f889b2..af1b89f 100644
--- a/sys/winscreencap/gstdx9screencapsrc.c
+++ b/sys/winscreencap/gstdx9screencapsrc.c
@@ -139,8 +139,7 @@
           "Height of screen capture area (0 = maximum)",
           0, G_MAXINT, 0, G_PARAM_READWRITE));
 
-  gst_element_class_add_pad_template (e_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (e_class, &src_template);
 
   gst_element_class_set_static_metadata (e_class,
       "DirectX 9 screen capture source", "Source/Video", "Captures screen",
diff --git a/sys/winscreencap/gstgdiscreencapsrc.c b/sys/winscreencap/gstgdiscreencapsrc.c
index 55bd4b5..65f0bd9 100644
--- a/sys/winscreencap/gstgdiscreencapsrc.c
+++ b/sys/winscreencap/gstgdiscreencapsrc.c
@@ -146,8 +146,7 @@
           "Height of screen capture area (0 = maximum)",
           0, G_MAXINT, 0, G_PARAM_READWRITE));
 
-  gst_element_class_add_pad_template (e_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (e_class, &src_template);
   gst_element_class_set_static_metadata (e_class,
       "GDI screen capture source", "Source/Video", "Captures screen",
       "Haakon Sporsheim <hakon.sporsheim@tandberg.com>");
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 610f24a..c653861 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -275,6 +275,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -490,6 +492,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -616,8 +620,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -662,6 +664,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index 3f9ad9d..b16c968 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -17,7 +17,7 @@
 	GST_STATE_IGNORE_ELEMENTS="apexsink avdtpsrc camerabin dc1394src \
 	    dccpclientsrc dccpclientsink dccpserversrc dccpserversink decklinksrc \
 	    decklinksink dtlssrtpdec dtlssrtpenc dvbsrc dvbbasebin dfbvideosink festival fluidsynth \
-	    linsyssdisrc linsyssdisink nassink \
+	    linsyssdisrc linsyssdisink nassink kmssink \
 	    rsndvdbin sdlaudiosink sdlvideosink vcdsrc rfbsrc vdpauyuvvideo vdpauvideoyuv \
 	    vdpaumpegdec vdpaumpeg4dec vdpauh264dec vdpauvideopostprocess vdpausink neonhttpsrc"
 
@@ -211,7 +211,8 @@
     libs/gstglcolorconvert \
     libs/gstglquery \
     libs/gstglsl \
-    elements/glimagesink
+    elements/glimagesink \
+    pipelines/simple-launch-lines
 else
 check_gl=
 endif
@@ -272,6 +273,7 @@
 	elements/mxfmux \
 	elements/netsim \
 	elements/pcapparse \
+	elements/pnm \
 	elements/rtponvifparse \
 	elements/rtponviftimestamp \
 	elements/id3mux \
@@ -315,6 +317,12 @@
 elements_audiointerleave_LDADD = $(GST_BASE_LIBS) -lgstbase-@GST_API_VERSION@ -lgstaudio-@GST_API_VERSION@ $(LDADD)
 elements_audiointerleave_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
 
+elements_pnm_CFLAGS = \
+	$(GST_PLUGINS_BASE_CFLAGS)
+	$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
+elements_pnm_LDADD = \
+	$(GST_PLUGINS_BASE_LIBS) -lgstapp-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
+#
 # parser unit test convenience lib
 noinst_LTLIBRARIES = libparser.la
 libparser_la_SOURCES = elements/parser.c elements/parser.h
@@ -480,9 +488,10 @@
 
 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)
 libs_player_CFLAGS = \
-	$(GST_PLUGINS_BAD_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS) \
+	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS) \
 	-DTEST_PATH=\"$(builddir)/media\"
 
 if WITH_GST_PLAYER_TESTS
@@ -532,7 +541,8 @@
 
 libs_gstglcontext_LDADD = \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
-	$(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
+	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
 
 libs_gstglcontext_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
@@ -597,6 +607,14 @@
 	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
 	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
 
+pipelines_simple_launch_lines_CFLAGS = \
+	$(GST_PLUGINS_BAD_CFLAGS) \
+	-DGST_USE_UNSTABLE_API \
+	$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
+
+pipelines_simple_launch_lines_LDADD = \
+	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+
 libs_aggregator_LDADD = \
 	$(top_builddir)/gst-libs/gst/base/libgstbadbase-@GST_API_VERSION@.la \
 	$(GST_PLUGINS_BASE_LIBS) \
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index ee20570..eea156b 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -111,7 +111,8 @@
 	elements/mpegtsmux$(EXEEXT) elements/mpegvideoparse$(EXEEXT) \
 	elements/mpeg4videoparse$(EXEEXT) elements/mxfdemux$(EXEEXT) \
 	elements/mxfmux$(EXEEXT) elements/netsim$(EXEEXT) \
-	elements/pcapparse$(EXEEXT) elements/rtponvifparse$(EXEEXT) \
+	elements/pcapparse$(EXEEXT) elements/pnm$(EXEEXT) \
+	elements/rtponvifparse$(EXEEXT) \
 	elements/rtponviftimestamp$(EXEEXT) elements/id3mux$(EXEEXT) \
 	pipelines/mxf$(EXEEXT) $(am__EXEEXT_19) \
 	libs/mpegvideoparser$(EXEEXT) libs/mpegts$(EXEEXT) \
@@ -210,7 +211,8 @@
 @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@	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)
@@ -487,6 +489,13 @@
 elements_pcapparse_SOURCES = elements/pcapparse.c
 elements_pcapparse_OBJECTS = elements/pcapparse.$(OBJEXT)
 elements_pcapparse_DEPENDENCIES = libparser.la $(am__DEPENDENCIES_2)
+elements_pnm_SOURCES = elements/pnm.c
+elements_pnm_OBJECTS = elements/elements_pnm-pnm.$(OBJEXT)
+elements_pnm_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+elements_pnm_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(elements_pnm_CFLAGS) \
+	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 elements_rtponvifparse_SOURCES = elements/rtponvifparse.c
 elements_rtponvifparse_OBJECTS =  \
 	elements/elements_rtponvifparse-rtponvifparse.$(OBJEXT)
@@ -746,6 +755,15 @@
 pipelines_mxf_OBJECTS = pipelines/mxf.$(OBJEXT)
 pipelines_mxf_LDADD = $(LDADD)
 pipelines_mxf_DEPENDENCIES = $(am__DEPENDENCIES_1)
+pipelines_simple_launch_lines_SOURCES =  \
+	pipelines/simple-launch-lines.c
+pipelines_simple_launch_lines_OBJECTS = pipelines/pipelines_simple_launch_lines-simple-launch-lines.$(OBJEXT)
+pipelines_simple_launch_lines_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+pipelines_simple_launch_lines_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+	$(pipelines_simple_launch_lines_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
 pipelines_streamheader_SOURCES = pipelines/streamheader.c
 pipelines_streamheader_OBJECTS =  \
 	pipelines/pipelines_streamheader-streamheader.$(OBJEXT)
@@ -808,20 +826,22 @@
 	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/rtponvifparse.c elements/rtponviftimestamp.c \
-	elements/schroenc.c elements/shm.c elements/templatematch.c \
-	elements/timidity.c elements/uvch264demux.c \
-	elements/videoframe-audiolevel.c elements/viewfinderbin.c \
-	elements/voaacenc.c elements/voamrwbenc.c elements/x265enc.c \
-	elements/zbar.c generic/states.c libs/aggregator.c \
-	libs/gstglcolorconvert.c libs/gstglcontext.c \
-	libs/gstglmemory.c libs/gstglquery.c libs/gstglsl.c \
-	libs/gstglupload.c libs/h264parser.c libs/insertbin.c \
-	libs/mpegts.c libs/mpegvideoparser.c $(libs_player_SOURCES) \
-	$(nodist_libs_player_SOURCES) libs/vc1parser.c \
-	libs/vp8parser.c $(nodist_orc_audiomixer_SOURCES) \
-	$(nodist_orc_bayer_SOURCES) $(nodist_orc_compositor_SOURCES) \
-	pipelines/mimic.c pipelines/mxf.c pipelines/streamheader.c
+	elements/pnm.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 \
+	elements/viewfinderbin.c elements/voaacenc.c \
+	elements/voamrwbenc.c elements/x265enc.c elements/zbar.c \
+	generic/states.c libs/aggregator.c libs/gstglcolorconvert.c \
+	libs/gstglcontext.c libs/gstglmemory.c libs/gstglquery.c \
+	libs/gstglsl.c libs/gstglupload.c libs/h264parser.c \
+	libs/insertbin.c libs/mpegts.c libs/mpegvideoparser.c \
+	$(libs_player_SOURCES) $(nodist_libs_player_SOURCES) \
+	libs/vc1parser.c libs/vp8parser.c \
+	$(nodist_orc_audiomixer_SOURCES) $(nodist_orc_bayer_SOURCES) \
+	$(nodist_orc_compositor_SOURCES) pipelines/mimic.c \
+	pipelines/mxf.c pipelines/simple-launch-lines.c \
+	pipelines/streamheader.c
 DIST_SOURCES = $(libparser_la_SOURCES) elements/aiffparse.c \
 	elements/asfmux.c elements/assrender.c \
 	elements/audiointerleave.c elements/audiomixer.c \
@@ -841,18 +861,19 @@
 	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/rtponvifparse.c elements/rtponviftimestamp.c \
-	elements/schroenc.c elements/shm.c elements/templatematch.c \
-	elements/timidity.c elements/uvch264demux.c \
-	elements/videoframe-audiolevel.c elements/viewfinderbin.c \
-	elements/voaacenc.c elements/voamrwbenc.c elements/x265enc.c \
-	elements/zbar.c generic/states.c libs/aggregator.c \
-	libs/gstglcolorconvert.c libs/gstglcontext.c \
-	libs/gstglmemory.c libs/gstglquery.c libs/gstglsl.c \
-	libs/gstglupload.c libs/h264parser.c libs/insertbin.c \
-	libs/mpegts.c libs/mpegvideoparser.c $(libs_player_SOURCES) \
-	libs/vc1parser.c libs/vp8parser.c pipelines/mimic.c \
-	pipelines/mxf.c pipelines/streamheader.c
+	elements/pnm.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 \
+	elements/viewfinderbin.c elements/voaacenc.c \
+	elements/voamrwbenc.c elements/x265enc.c elements/zbar.c \
+	generic/states.c libs/aggregator.c libs/gstglcolorconvert.c \
+	libs/gstglcontext.c libs/gstglmemory.c libs/gstglquery.c \
+	libs/gstglsl.c libs/gstglupload.c libs/h264parser.c \
+	libs/insertbin.c libs/mpegts.c libs/mpegvideoparser.c \
+	$(libs_player_SOURCES) libs/vc1parser.c libs/vp8parser.c \
+	pipelines/mimic.c pipelines/mxf.c \
+	pipelines/simple-launch-lines.c pipelines/streamheader.c
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -1149,6 +1170,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -1364,6 +1387,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -1490,8 +1515,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -1536,6 +1559,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -1634,10 +1659,10 @@
 	dc1394src dccpclientsrc dccpclientsink dccpserversrc \
 	dccpserversink decklinksrc decklinksink dtlssrtpdec \
 	dtlssrtpenc dvbsrc dvbbasebin dfbvideosink festival fluidsynth \
-	linsyssdisrc linsyssdisink nassink rsndvdbin sdlaudiosink \
-	sdlvideosink vcdsrc rfbsrc vdpauyuvvideo vdpauvideoyuv \
-	vdpaumpegdec vdpaumpeg4dec vdpauh264dec vdpauvideopostprocess \
-	vdpausink neonhttpsrc"
+	linsyssdisrc linsyssdisink nassink kmssink rsndvdbin \
+	sdlaudiosink sdlvideosink vcdsrc rfbsrc vdpauyuvvideo \
+	vdpauvideoyuv vdpaumpegdec vdpaumpeg4dec vdpauh264dec \
+	vdpauvideopostprocess vdpausink neonhttpsrc"
 
 # inspect every plugin feature
 GST_INSPECT = $(GST_TOOLS_DIR)/gst-inspect-$(GST_API_VERSION)
@@ -1725,7 +1750,8 @@
 @USE_GL_TRUE@    libs/gstglcolorconvert \
 @USE_GL_TRUE@    libs/gstglquery \
 @USE_GL_TRUE@    libs/gstglsl \
-@USE_GL_TRUE@    elements/glimagesink
+@USE_GL_TRUE@    elements/glimagesink \
+@USE_GL_TRUE@    pipelines/simple-launch-lines
 
 VALGRIND_TO_FIX = \
 	elements/mpeg2enc \
@@ -1751,7 +1777,13 @@
 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_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
+elements_pnm_CFLAGS = \
+	$(GST_PLUGINS_BASE_CFLAGS)
 
+elements_pnm_LDADD = \
+	$(GST_PLUGINS_BASE_LIBS) -lgstapp-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
+
+#
 # parser unit test convenience lib
 noinst_LTLIBRARIES = libparser.la
 libparser_la_SOURCES = elements/parser.c elements/parser.h
@@ -1909,10 +1941,11 @@
 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)
 
 libs_player_CFLAGS = \
-	$(GST_PLUGINS_BAD_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS) \
+	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS) \
 	-DTEST_PATH=\"$(builddir)/media\"
 
 @WITH_GST_PLAYER_TESTS_TRUE@PLAYER_MEDIA_FILES = \
@@ -1937,7 +1970,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) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
+	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
 
 libs_gstglcontext_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
@@ -2002,6 +2036,14 @@
 	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
 	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
 
+pipelines_simple_launch_lines_CFLAGS = \
+	$(GST_PLUGINS_BAD_CFLAGS) \
+	-DGST_USE_UNSTABLE_API \
+	$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
+
+pipelines_simple_launch_lines_LDADD = \
+	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+
 libs_aggregator_LDADD = \
 	$(top_builddir)/gst-libs/gst/base/libgstbadbase-@GST_API_VERSION@.la \
 	$(GST_PLUGINS_BASE_LIBS) \
@@ -2378,6 +2420,12 @@
 elements/pcapparse$(EXEEXT): $(elements_pcapparse_OBJECTS) $(elements_pcapparse_DEPENDENCIES) $(EXTRA_elements_pcapparse_DEPENDENCIES) elements/$(am__dirstamp)
 	@rm -f elements/pcapparse$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(elements_pcapparse_OBJECTS) $(elements_pcapparse_LDADD) $(LIBS)
+elements/elements_pnm-pnm.$(OBJEXT): elements/$(am__dirstamp) \
+	elements/$(DEPDIR)/$(am__dirstamp)
+
+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_rtponvifparse-rtponvifparse.$(OBJEXT):  \
 	elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
 
@@ -2602,6 +2650,12 @@
 pipelines/mxf$(EXEEXT): $(pipelines_mxf_OBJECTS) $(pipelines_mxf_DEPENDENCIES) $(EXTRA_pipelines_mxf_DEPENDENCIES) pipelines/$(am__dirstamp)
 	@rm -f pipelines/mxf$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(pipelines_mxf_OBJECTS) $(pipelines_mxf_LDADD) $(LIBS)
+pipelines/pipelines_simple_launch_lines-simple-launch-lines.$(OBJEXT):  \
+	pipelines/$(am__dirstamp) pipelines/$(DEPDIR)/$(am__dirstamp)
+
+pipelines/simple-launch-lines$(EXEEXT): $(pipelines_simple_launch_lines_OBJECTS) $(pipelines_simple_launch_lines_DEPENDENCIES) $(EXTRA_pipelines_simple_launch_lines_DEPENDENCIES) pipelines/$(am__dirstamp)
+	@rm -f pipelines/simple-launch-lines$(EXEEXT)
+	$(AM_V_CCLD)$(pipelines_simple_launch_lines_LINK) $(pipelines_simple_launch_lines_OBJECTS) $(pipelines_simple_launch_lines_LDADD) $(LIBS)
 pipelines/pipelines_streamheader-streamheader.$(OBJEXT):  \
 	pipelines/$(am__dirstamp) pipelines/$(DEPDIR)/$(am__dirstamp)
 
@@ -2658,6 +2712,7 @@
 @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_pnm-pnm.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@
@@ -2707,6 +2762,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@orc/$(DEPDIR)/orc_compositor-compositor.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@pipelines/$(DEPDIR)/mimic.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@pipelines/$(DEPDIR)/mxf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@pipelines/$(DEPDIR)/pipelines_simple_launch_lines-simple-launch-lines.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@pipelines/$(DEPDIR)/pipelines_streamheader-streamheader.Po@am__quote@
 
 .c.o:
@@ -3118,6 +3174,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_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
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='elements/pnm.c' object='elements/elements_pnm-pnm.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_pnm_CFLAGS) $(CFLAGS) -c -o elements/elements_pnm-pnm.o `test -f 'elements/pnm.c' || echo '$(srcdir)/'`elements/pnm.c
+
+elements/elements_pnm-pnm.obj: 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.obj -MD -MP -MF elements/$(DEPDIR)/elements_pnm-pnm.Tpo -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`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_pnm-pnm.Tpo elements/$(DEPDIR)/elements_pnm-pnm.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='elements/pnm.c' object='elements/elements_pnm-pnm.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_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_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
@@ -3468,6 +3538,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) $(orc_compositor_CFLAGS) $(CFLAGS) -c -o orc/orc_compositor-compositor.obj `if test -f 'orc/compositor.c'; then $(CYGPATH_W) 'orc/compositor.c'; else $(CYGPATH_W) '$(srcdir)/orc/compositor.c'; fi`
 
+pipelines/pipelines_simple_launch_lines-simple-launch-lines.o: pipelines/simple-launch-lines.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pipelines_simple_launch_lines_CFLAGS) $(CFLAGS) -MT pipelines/pipelines_simple_launch_lines-simple-launch-lines.o -MD -MP -MF pipelines/$(DEPDIR)/pipelines_simple_launch_lines-simple-launch-lines.Tpo -c -o pipelines/pipelines_simple_launch_lines-simple-launch-lines.o `test -f 'pipelines/simple-launch-lines.c' || echo '$(srcdir)/'`pipelines/simple-launch-lines.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) pipelines/$(DEPDIR)/pipelines_simple_launch_lines-simple-launch-lines.Tpo pipelines/$(DEPDIR)/pipelines_simple_launch_lines-simple-launch-lines.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pipelines/simple-launch-lines.c' object='pipelines/pipelines_simple_launch_lines-simple-launch-lines.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) $(pipelines_simple_launch_lines_CFLAGS) $(CFLAGS) -c -o pipelines/pipelines_simple_launch_lines-simple-launch-lines.o `test -f 'pipelines/simple-launch-lines.c' || echo '$(srcdir)/'`pipelines/simple-launch-lines.c
+
+pipelines/pipelines_simple_launch_lines-simple-launch-lines.obj: pipelines/simple-launch-lines.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pipelines_simple_launch_lines_CFLAGS) $(CFLAGS) -MT pipelines/pipelines_simple_launch_lines-simple-launch-lines.obj -MD -MP -MF pipelines/$(DEPDIR)/pipelines_simple_launch_lines-simple-launch-lines.Tpo -c -o pipelines/pipelines_simple_launch_lines-simple-launch-lines.obj `if test -f 'pipelines/simple-launch-lines.c'; then $(CYGPATH_W) 'pipelines/simple-launch-lines.c'; else $(CYGPATH_W) '$(srcdir)/pipelines/simple-launch-lines.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) pipelines/$(DEPDIR)/pipelines_simple_launch_lines-simple-launch-lines.Tpo pipelines/$(DEPDIR)/pipelines_simple_launch_lines-simple-launch-lines.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pipelines/simple-launch-lines.c' object='pipelines/pipelines_simple_launch_lines-simple-launch-lines.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) $(pipelines_simple_launch_lines_CFLAGS) $(CFLAGS) -c -o pipelines/pipelines_simple_launch_lines-simple-launch-lines.obj `if test -f 'pipelines/simple-launch-lines.c'; then $(CYGPATH_W) 'pipelines/simple-launch-lines.c'; else $(CYGPATH_W) '$(srcdir)/pipelines/simple-launch-lines.c'; fi`
+
 pipelines/pipelines_streamheader-streamheader.o: pipelines/streamheader.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pipelines_streamheader_CFLAGS) $(CFLAGS) -MT pipelines/pipelines_streamheader-streamheader.o -MD -MP -MF pipelines/$(DEPDIR)/pipelines_streamheader-streamheader.Tpo -c -o pipelines/pipelines_streamheader-streamheader.o `test -f 'pipelines/streamheader.c' || echo '$(srcdir)/'`pipelines/streamheader.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) pipelines/$(DEPDIR)/pipelines_streamheader-streamheader.Tpo pipelines/$(DEPDIR)/pipelines_streamheader-streamheader.Po
@@ -3994,6 +4078,13 @@
 	--log-file $$b.log --trs-file $$b.trs \
 	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
 	"$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/pnm.log: elements/pnm$(EXEEXT)
+	@p='elements/pnm$(EXEEXT)'; \
+	b='elements/pnm'; \
+	$(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'; \
@@ -4183,6 +4274,13 @@
 	--log-file $$b.log --trs-file $$b.trs \
 	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
 	"$$tst" $(AM_TESTS_FD_REDIRECT)
+pipelines/simple-launch-lines.log: pipelines/simple-launch-lines$(EXEEXT)
+	@p='pipelines/simple-launch-lines$(EXEEXT)'; \
+	b='pipelines/simple-launch-lines'; \
+	$(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/hlsdemux_m3u8.log: elements/hlsdemux_m3u8$(EXEEXT)
 	@p='elements/hlsdemux_m3u8$(EXEEXT)'; \
 	b='elements/hlsdemux_m3u8'; \
@@ -4632,6 +4730,7 @@
 
 clean-local: clean-local-check
 distclean-local: distclean-local-orc
+	$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
 
 @WITH_GST_PLAYER_TESTS_TRUE@$(PLAYER_MEDIA_FILES):
 @WITH_GST_PLAYER_TESTS_TRUE@	$(MKDIR_P) media
diff --git a/tests/check/elements/adaptive_demux_common.c b/tests/check/elements/adaptive_demux_common.c
index 44fd050..a8fcb1e 100644
--- a/tests/check/elements/adaptive_demux_common.c
+++ b/tests/check/elements/adaptive_demux_common.c
@@ -25,11 +25,6 @@
 
 #define GST_TEST_HTTP_SRC_NAME            "testhttpsrc"
 
-struct _GstAdaptiveDemuxTestCaseClass
-{
-  GObjectClass parent_class;
-};
-
 #define gst_adaptive_demux_test_case_parent_class parent_class
 
 static void gst_adaptive_demux_test_case_dispose (GObject * object);
@@ -168,6 +163,25 @@
   testOutputStreamData =
       gst_adaptive_demux_test_find_test_data_by_stream (testData, stream, NULL);
   fail_unless (testOutputStreamData != NULL);
+
+  GST_DEBUG
+      ("total_received_size=%" G_GUINT64_FORMAT
+      " segment_received_size = %" G_GUINT64_FORMAT
+      " buffer_size=%" G_GUINT64_FORMAT
+      " expected_size=%" G_GUINT64_FORMAT
+      " segment_start = %" G_GUINT64_FORMAT,
+      stream->total_received_size,
+      stream->segment_received_size,
+      (guint64) gst_buffer_get_size (buffer),
+      testOutputStreamData->expected_size, stream->segment_start);
+
+  /* Only verify after seeking */
+  if (testData->seek_event && testData->seeked)
+    fail_unless (stream->total_received_size +
+        stream->segment_received_size +
+        gst_buffer_get_size (buffer) <= testOutputStreamData->expected_size,
+        "Received unexpected data, please check what segments are being downloaded");
+
   streamOffset = stream->segment_start + stream->segment_received_size;
   if (testOutputStreamData->expected_data) {
     gsize size = gst_buffer_get_size (buffer);
@@ -183,11 +197,6 @@
 
   gst_buffer_map (buffer, &info, GST_MAP_READ);
 
-  GST_DEBUG
-      ("segment_start = %" G_GUINT64_FORMAT " segment_received_size = %"
-      G_GUINT64_FORMAT " bufferSize=%d",
-      stream->segment_start, stream->segment_received_size, (gint) info.size);
-
   pattern = streamOffset - streamOffset % sizeof (pattern);
   for (guint64 i = 0; i != info.size; ++i) {
     guint received = info.data[i];
@@ -223,8 +232,19 @@
   return TRUE;
 }
 
-/* function to check total size of data received by AppSink
- * will be called when AppSink receives eos.
+/* AppSink EOS callback.
+ * To be used by tests that don't expect AppSink to receive EOS.
+ */
+void
+gst_adaptive_demux_test_unexpected_eos (GstAdaptiveDemuxTestEngine *
+    engine, GstAdaptiveDemuxTestOutputStream * stream, gpointer user_data)
+{
+  fail_if (TRUE);
+}
+
+/* AppSink EOS callback.
+ * To be used by tests that expect AppSink to receive EOS.
+ * Will check total size of data received by AppSink.
  */
 void
 gst_adaptive_demux_test_check_size_of_received_data (GstAdaptiveDemuxTestEngine
@@ -339,6 +359,7 @@
         g_cond_wait (&testData->test_task_state_cond,
             &testData->test_task_state_lock);
       }
+      testData->seeked = TRUE;
       g_mutex_unlock (&testData->test_task_state_lock);
       /* we can continue now, but this buffer will be rejected by AppSink
        * because it is in flushing mode
diff --git a/tests/check/elements/adaptive_demux_common.h b/tests/check/elements/adaptive_demux_common.h
index fa8bde0..448671b 100644
--- a/tests/check/elements/adaptive_demux_common.h
+++ b/tests/check/elements/adaptive_demux_common.h
@@ -77,7 +77,11 @@
   gboolean segment_verification_needed;
 } GstAdaptiveDemuxTestExpectedOutput;
 
-typedef struct _GstAdaptiveDemuxTestCaseClass GstAdaptiveDemuxTestCaseClass;
+typedef struct _GstAdaptiveDemuxTestCaseClass
+{
+  GObjectClass parent_class;
+} GstAdaptiveDemuxTestCaseClass;
+
 typedef struct _GstAdaptiveDemuxTestCase
 {
   GObject parent;
@@ -109,6 +113,7 @@
    */
   guint64 threshold_for_seek;
   GstEvent *seek_event;
+  gboolean seeked;
 
   gpointer signal_context;
 } GstAdaptiveDemuxTestCase;
@@ -148,6 +153,19 @@
 /* Utility functions for use within a unit test */
 
 /**
+ * gst_adaptive_demux_test_unexpected_eos:
+ * @engine: The #GstAdaptiveDemuxTestEngine that caused this callback
+ * @stream: The #GstAdaptiveDemuxTestOutputStream that caused this callback
+ * @user_data: A pointer to a #GstAdaptiveDemuxTestCase object
+ *
+ * This function can be used as an EOS callback by tests that don't expect
+ * AppSink to receive EOS.
+ */
+void
+gst_adaptive_demux_test_unexpected_eos (GstAdaptiveDemuxTestEngine *
+    engine, GstAdaptiveDemuxTestOutputStream * stream, gpointer user_data);
+
+/**
  * gst_adaptive_demux_test_check_size_of_received_data:
  * @engine: The #GstAdaptiveDemuxTestEngine that caused this callback
  * @stream: The #GstAdaptiveDemuxTestOutputStream that caused this callback
diff --git a/tests/check/elements/adaptive_demux_engine.c b/tests/check/elements/adaptive_demux_engine.c
index b571fe3..4662a00 100644
--- a/tests/check/elements/adaptive_demux_engine.c
+++ b/tests/check/elements/adaptive_demux_engine.c
@@ -19,6 +19,7 @@
  */
 
 #include <gst/check/gstcheck.h>
+#include <gst/check/gsttestclock.h>
 #include "adaptive_demux_engine.h"
 
 typedef struct _GstAdaptiveDemuxTestEnginePrivate
@@ -26,6 +27,7 @@
   GstAdaptiveDemuxTestEngine engine;
   const GstAdaptiveDemuxTestCallbacks *callbacks;
   gpointer user_data;
+  guint clock_update_id;
 } GstAdaptiveDemuxTestEnginePrivate;
 
 
@@ -193,6 +195,29 @@
   return GST_PAD_PROBE_OK;
 }
 
+/* callback called when dash sends event to AppSink */
+static GstPadProbeReturn
+on_demux_sent_event (GstPad * pad, GstPadProbeInfo * info, gpointer data)
+{
+  GstAdaptiveDemuxTestEnginePrivate *priv =
+      (GstAdaptiveDemuxTestEnginePrivate *) data;
+  GstAdaptiveDemuxTestOutputStream *stream = NULL;
+  GstEvent *event;
+
+  event = GST_PAD_PROBE_INFO_EVENT (info);
+
+  GST_TEST_LOCK (&priv->engine);
+
+  if (priv->callbacks->demux_sent_event) {
+    stream = getTestOutputDataByPad (priv, pad, TRUE);
+    (*priv->callbacks->demux_sent_event) (&priv->engine,
+        stream, event, priv->user_data);
+  }
+
+  GST_TEST_UNLOCK (&priv->engine);
+  return GST_PAD_PROBE_OK;
+}
+
 /* callback called when demux receives events from GstFakeSoupHTTPSrc */
 static GstPadProbeReturn
 on_demuxReceivesEvent (GstPad * pad, GstPadProbeInfo * info, gpointer data)
@@ -308,6 +333,9 @@
 
   gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BUFFER,
       (GstPadProbeCallback) on_demux_sent_data, priv, NULL);
+  gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM |
+      GST_PAD_PROBE_TYPE_EVENT_FLUSH,
+      (GstPadProbeCallback) on_demux_sent_event, priv, NULL);
   gobject_class = G_OBJECT_GET_CLASS (sink);
   if (g_object_class_find_property (gobject_class, "sync")) {
     GST_DEBUG ("Setting sync=FALSE on AppSink");
@@ -399,6 +427,38 @@
 }
 
 static gboolean
+gst_adaptive_demux_update_test_clock (gpointer user_data)
+{
+  GstAdaptiveDemuxTestEnginePrivate *priv =
+      (GstAdaptiveDemuxTestEnginePrivate *) user_data;
+  GstClockID id;
+  GstClockTime next_entry;
+  GstTestClock *clock = GST_TEST_CLOCK (priv->engine.clock);
+
+  fail_unless (clock != NULL);
+  next_entry = gst_test_clock_get_next_entry_time (clock);
+  if (next_entry != GST_CLOCK_TIME_NONE) {
+    /* tests that do not want the manifest to update will set the update period
+     * to a big value, eg 500s. The manifest update task will register an alarm
+     * for that value.
+     * We do not want the clock to jump to that. If it does, the manifest update
+     * task will keep scheduling and use all the cpu power, starving the other
+     * threads.
+     * Usually the test require the clock to update with approx 3s, so we will
+     * allow only updates smaller than 100s
+     */
+    GstClockTime curr_time = gst_clock_get_time (GST_CLOCK (clock));
+    if (next_entry - curr_time < 100 * GST_SECOND) {
+      gst_test_clock_set_time (clock, next_entry);
+      id = gst_test_clock_process_next_clock_id (clock);
+      fail_unless (id != NULL);
+      gst_clock_id_unref (id);
+    }
+  }
+  return TRUE;
+}
+
+static gboolean
 start_pipeline_playing (gpointer user_data)
 {
   GstAdaptiveDemuxTestEnginePrivate *priv =
@@ -473,6 +533,20 @@
   ret = gst_element_link (manifest_source, demux);
   fail_unless_equals_int (ret, TRUE);
 
+  priv->engine.clock = gst_system_clock_obtain ();
+  if (GST_IS_TEST_CLOCK (priv->engine.clock)) {
+    /*
+     * live tests will want to manipulate the clock, so they will register a
+     * gst_test_clock as the system clock.
+     * The on demand tests do not care about the clock, so they will let the
+     * system clock to the default one.
+     * If a gst_test_clock was installed as system clock, we register a
+     * periodic callback to update its value.
+     */
+    priv->clock_update_id =
+        g_timeout_add (100, gst_adaptive_demux_update_test_clock, priv);
+  }
+
   /* call a test callback before we start the pipeline */
   if (callbacks->pre_test)
     (*callbacks->pre_test) (&priv->engine, priv->user_data);
@@ -514,6 +588,9 @@
       priv);
 
   GST_DEBUG ("main thread pipeline stopped");
+  if (priv->clock_update_id != 0)
+    g_source_remove (priv->clock_update_id);
+  gst_object_unref (priv->engine.clock);
   gst_object_unref (priv->engine.pipeline);
   priv->engine.pipeline = NULL;
   g_main_loop_unref (priv->engine.loop);
diff --git a/tests/check/elements/adaptive_demux_engine.h b/tests/check/elements/adaptive_demux_engine.h
index f715ecb..372431e 100644
--- a/tests/check/elements/adaptive_demux_engine.h
+++ b/tests/check/elements/adaptive_demux_engine.h
@@ -136,6 +136,17 @@
       GstBuffer * buffer, gpointer user_data);
 
   /**
+   * demux_sent_event: called each time the demux sends event to AppSink
+   * @engine: #GstAdaptiveDemuxTestEngine
+   * @stream: #GstAdaptiveDemuxTestOutputStream
+   * @event: the #GstEvent that was sent by demux
+   * @user_data: the user_data passed to gst_adaptive_demux_test_run()
+   */
+  gboolean (*demux_sent_event) (GstAdaptiveDemuxTestEngine *engine,
+      GstAdaptiveDemuxTestOutputStream * stream,
+      GstEvent * event, gpointer user_data);
+
+  /**
    * bus_error_message: called if an error is posted to the bus
    * @engine: #GstAdaptiveDemuxTestEngine
    * @msg: the #GstMessage that contains the error
@@ -154,6 +165,7 @@
 struct _GstAdaptiveDemuxTestEngine
 {
   GstElement *pipeline;
+  GstClock *clock;
   GstElement *demux;
   GstElement *manifest_source;
   GMainLoop *loop;
diff --git a/tests/check/elements/audiointerleave.c b/tests/check/elements/audiointerleave.c
index 222cd4d..cb992f3 100644
--- a/tests/check/elements/audiointerleave.c
+++ b/tests/check/elements/audiointerleave.c
@@ -269,6 +269,7 @@
     g_cond_wait (&data_cond, &data_mutex);
   g_mutex_unlock (&data_mutex);
 
+  gst_bus_set_flushing (bus, TRUE);
   gst_element_set_state (interleave, GST_STATE_NULL);
   gst_element_set_state (queue, GST_STATE_NULL);
 
@@ -410,6 +411,7 @@
     g_cond_wait (&data_cond, &data_mutex);
   g_mutex_unlock (&data_mutex);
 
+  gst_bus_set_flushing (bus, TRUE);
   gst_element_set_state (interleave, GST_STATE_NULL);
   gst_element_set_state (queue, GST_STATE_NULL);
 
diff --git a/tests/check/elements/audiomixer.c b/tests/check/elements/audiomixer.c
index 55ea92e..00be1c6 100644
--- a/tests/check/elements/audiomixer.c
+++ b/tests/check/elements/audiomixer.c
@@ -431,7 +431,7 @@
   /* cleanup */
   g_main_loop_unref (main_loop);
   gst_consistency_checker_free (consist);
-  gst_event_ref (play_seek_event);
+  gst_event_unref (play_seek_event);
   gst_bus_remove_signal_watch (bus);
   gst_object_unref (bus);
   gst_object_unref (bin);
@@ -536,7 +536,7 @@
 
   /* cleanup */
   g_main_loop_unref (main_loop);
-  gst_event_ref (play_seek_event);
+  gst_event_unref (play_seek_event);
   gst_consistency_checker_free (consist);
   gst_bus_remove_signal_watch (bus);
   gst_object_unref (bus);
diff --git a/tests/check/elements/autoconvert.c b/tests/check/elements/autoconvert.c
index 532f6b8..c1c040f 100644
--- a/tests/check/elements/autoconvert.c
+++ b/tests/check/elements/autoconvert.c
@@ -78,7 +78,7 @@
 
   g_object_set (G_OBJECT (autoconvert), "factories", factories, NULL);
 
-  g_list_free (factories);
+  g_list_free_full (factories, gst_object_unref);
 }
 
 GST_START_TEST (test_autoconvert_simple)
@@ -140,6 +140,7 @@
   gst_bus_set_flushing (bus, TRUE);
   gst_object_unref (bus);
 
+  gst_check_drop_buffers ();
   gst_pad_set_active (test_src_pad, FALSE);
   gst_pad_set_active (test_sink_pad, FALSE);
   gst_check_teardown_src_pad (autoconvert);
@@ -202,13 +203,9 @@
 test_element1_class_init (TestElement1Class * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-  GstPadTemplate *src_template, *sink_template;
 
-  src_template = gst_static_pad_template_get (&src_factory);
-  gst_element_class_add_pad_template (element_class, src_template);
-
-  sink_template = gst_static_pad_template_get (&sink_factory);
-  gst_element_class_add_pad_template (element_class, sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 }
 
 static void
@@ -221,13 +218,10 @@
 test_element2_class_init (TestElement2Class * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-  GstPadTemplate *src_template, *sink_template;
 
-  src_template = gst_static_pad_template_get (&src_factory);
-  gst_element_class_add_pad_template (element_class, src_template);
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
 
-  sink_template = gst_static_pad_template_get (&sink_factory);
-  gst_element_class_add_pad_template (element_class, sink_template);
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
 }
 
 static void
diff --git a/tests/check/elements/camerabin.c b/tests/check/elements/camerabin.c
index 3458cac..f6d7c7c 100644
--- a/tests/check/elements/camerabin.c
+++ b/tests/check/elements/camerabin.c
@@ -162,12 +162,11 @@
       "Some test camera src",
       "Thiago Santos <thiago.sousa.santos@collabora.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&vidsrc_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&imgsrc_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&vfsrc_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &vidsrc_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &imgsrc_template);
+  gst_element_class_add_static_pad_template (gstelement_class, &vfsrc_template);
 }
 
 static void
@@ -372,8 +371,7 @@
       "Video/Src",
       "Test camera video src", "Thiago Santos <thiagoss@osg.samsung.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_template);
 
   gobject_class->get_property = gst_test_video_src_get_property;
   gobject_class->set_property = gst_test_video_src_set_property;
@@ -1874,6 +1872,7 @@
     g_free (filenames[i]);
   }
   g_signal_handler_disconnect (src, notify_id);
+  gst_object_unref (src);
 }
 
 GST_END_TEST;
diff --git a/tests/check/elements/compositor.c b/tests/check/elements/compositor.c
index 8b5fd5b..e9f0165 100644
--- a/tests/check/elements/compositor.c
+++ b/tests/check/elements/compositor.c
@@ -355,6 +355,15 @@
   gst_caps_unref (caps);
   gst_caps_unref (restriction_caps);
 
+  /* check that compositor proxies downstream interlaced-mode */
+  restriction_caps =
+      gst_caps_from_string ("video/x-raw, interlace-mode=(string)interleaved");
+  g_object_set (capsfilter, "caps", restriction_caps, NULL);
+  caps = gst_pad_query_caps (sinkpad, NULL);
+  fail_unless (gst_caps_is_subset (caps, restriction_caps));
+  gst_caps_unref (caps);
+  gst_caps_unref (restriction_caps);
+
   gst_element_set_state (pipeline, GST_STATE_NULL);
   gst_element_release_request_pad (compositor, sinkpad);
   gst_object_unref (sinkpad);
@@ -365,6 +374,82 @@
 
 GST_END_TEST;
 
+
+GST_START_TEST (test_caps_query_interlaced)
+{
+  GstElement *compositor, *sink;
+  GstElement *pipeline;
+  gboolean res;
+  GstStateChangeReturn state_res;
+  GstPad *sinkpad;
+  GstCaps *caps;
+  GstCaps *caps_mixed, *caps_progressive, *caps_interleaved;
+  GstEvent *caps_event;
+
+  caps_interleaved =
+      gst_caps_from_string ("video/x-raw, interlace-mode=interleaved");
+  caps_mixed = gst_caps_from_string ("video/x-raw, interlace-mode=mixed");
+  caps_progressive =
+      gst_caps_from_string ("video/x-raw, interlace-mode=progressive");
+
+  /* initial setup */
+  compositor = gst_element_factory_make ("compositor", "compositor");
+  sink = gst_element_factory_make ("fakesink", "sink");
+  pipeline = gst_pipeline_new ("test-pipeline");
+
+  gst_bin_add_many (GST_BIN (pipeline), compositor, sink, NULL);
+  res = gst_element_link (compositor, sink);
+  fail_unless (res == TRUE, NULL);
+  sinkpad = gst_element_get_request_pad (compositor, "sink_%u");
+
+  state_res = gst_element_set_state (pipeline, GST_STATE_PLAYING);
+  fail_if (state_res == GST_STATE_CHANGE_FAILURE);
+
+  /* try an unrestricted caps query, should be compatible with all formats */
+  caps = gst_pad_query_caps (sinkpad, NULL);
+  fail_unless (gst_caps_can_intersect (caps, caps_interleaved));
+  fail_unless (gst_caps_can_intersect (caps, caps_progressive));
+  fail_unless (gst_caps_can_intersect (caps, caps_mixed));
+  gst_caps_unref (caps);
+
+  /* now set caps on the pad, it should restrict the interlaced-mode for
+   * future caps */
+  caps = gst_caps_from_string ("video/x-raw, width=100, height=100, "
+      "format=RGB, framerate=1/1, interlace-mode=progressive");
+  caps_event = gst_event_new_caps (caps);
+  gst_caps_unref (caps);
+  fail_unless (gst_pad_send_event (sinkpad, caps_event));
+
+  /* now recheck the interlace-mode */
+  gst_object_unref (sinkpad);
+  sinkpad = gst_element_get_request_pad (compositor, "sink_%u");
+  caps = gst_pad_query_caps (sinkpad, NULL);
+  fail_if (gst_caps_can_intersect (caps, caps_interleaved));
+  fail_unless (gst_caps_can_intersect (caps, caps_progressive));
+  fail_if (gst_caps_can_intersect (caps, caps_mixed));
+  gst_object_unref (sinkpad);
+  gst_caps_unref (caps);
+
+  gst_element_set_state (pipeline, GST_STATE_NULL);
+  gst_object_unref (pipeline);
+  gst_caps_unref (caps_interleaved);
+  gst_caps_unref (caps_mixed);
+  gst_caps_unref (caps_progressive);
+}
+
+GST_END_TEST;
+
+static void
+add_interlaced_mode_to_caps (GstCaps * caps, const gchar * mode)
+{
+  GstStructure *s;
+
+  for (gint i = 0; i < gst_caps_get_size (caps); i++) {
+    s = gst_caps_get_structure (caps, i);
+    gst_structure_set (s, "interlace-mode", G_TYPE_STRING, mode, NULL);
+  }
+}
+
 #define MODE_ALL 1
 #define MODE_NON_ALPHA 2
 
@@ -384,6 +469,11 @@
   all_caps = _compositor_get_all_supported_caps ();
   non_alpha_caps = _compositor_get_non_alpha_supported_caps ();
 
+  /* add progressive mode as it is what is used in the test, otherwise
+   * is_equal checks would fail */
+  add_interlaced_mode_to_caps (all_caps, "progressive");
+  add_interlaced_mode_to_caps (non_alpha_caps, "progressive");
+
   compositor = gst_element_factory_make ("compositor", "compositor");
   capsfilter = gst_element_factory_make ("capsfilter", "out-cf");
   sink = gst_element_factory_make ("fakesink", "sink");
@@ -450,7 +540,6 @@
 
   rgb_caps = gst_caps_from_string ("video/x-raw, format=(string)RGB, "
       "width=(int)100, height=(int)100, framerate=(fraction)1/1");
-
   non_alpha_caps = gst_caps_from_string ("video/x-raw, format=(string)RGB");
 
   /* check that a 2nd pad that is added late to compositor will be able to
@@ -465,6 +554,80 @@
 
 GST_END_TEST;
 
+static void
+run_late_caps_set_test (GstCaps * first_caps, GstCaps * expected_query_caps,
+    GstCaps * second_caps, gboolean accept_caps)
+{
+  GstElement *capsfilter_1;
+  GstElement *compositor;
+  GstElement *pipeline;
+  GstStateChangeReturn state_res;
+  GstPad *sinkpad_2;
+  GstCaps *caps;
+  GstEvent *caps_event;
+  GstBus *bus;
+  GstMessage *msg;
+
+  pipeline =
+      gst_parse_launch ("videotestsrc num-buffers=10 ! capsfilter name=cf1 !"
+      " compositor name=c ! fakesink sync=true", NULL);
+  fail_unless (pipeline != NULL);
+
+  bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
+
+  compositor = gst_bin_get_by_name (GST_BIN (pipeline), "c");
+  capsfilter_1 = gst_bin_get_by_name (GST_BIN (pipeline), "cf1");
+
+  g_object_set (capsfilter_1, "caps", first_caps, NULL);
+
+  state_res = gst_element_set_state (pipeline, GST_STATE_PAUSED);
+  fail_if (state_res == GST_STATE_CHANGE_FAILURE);
+
+  /* wait for pipeline to get to paused */
+  msg =
+      gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE,
+      GST_MESSAGE_ASYNC_DONE);
+  fail_unless (msg != NULL);
+  fail_unless (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ASYNC_DONE);
+  gst_message_unref (msg);
+
+  /* try to set the second caps */
+  sinkpad_2 = gst_element_get_request_pad (compositor, "sink_%u");
+  caps = gst_pad_query_caps (sinkpad_2, NULL);
+  fail_unless (gst_caps_is_subset (expected_query_caps, caps));
+  caps_event = gst_event_new_caps (second_caps);
+  fail_unless (gst_pad_send_event (sinkpad_2, caps_event) == accept_caps);
+  gst_caps_unref (caps);
+  gst_object_unref (sinkpad_2);
+
+  gst_object_unref (bus);
+  gst_object_unref (compositor);
+  gst_object_unref (capsfilter_1);
+  gst_element_set_state (pipeline, GST_STATE_NULL);
+  gst_object_unref (pipeline);
+}
+
+GST_START_TEST (test_late_caps_different_interlaced)
+{
+  GstCaps *non_interlaced_caps;
+  GstCaps *interlaced_caps;
+
+  non_interlaced_caps =
+      gst_caps_from_string ("video/x-raw, interlace-mode=progressive, "
+      "format=RGB, width=100, height=100, framerate=1/1");
+  interlaced_caps =
+      gst_caps_from_string ("video/x-raw, interlace-mode=interleaved, "
+      "format=RGB, width=100, height=100, framerate=1/1");
+
+  run_late_caps_set_test (non_interlaced_caps, non_interlaced_caps,
+      interlaced_caps, FALSE);
+
+  gst_caps_unref (non_interlaced_caps);
+  gst_caps_unref (interlaced_caps);
+}
+
+GST_END_TEST;
+
 static guint play_count = 0;
 static GstEvent *play_seek_event = NULL;
 
@@ -591,7 +754,7 @@
   /* cleanup */
   g_main_loop_unref (main_loop);
   gst_consistency_checker_free (consist);
-  gst_event_ref (play_seek_event);
+  gst_event_unref (play_seek_event);
   gst_bus_remove_signal_watch (bus);
   gst_object_unref (bus);
   gst_object_unref (bin);
@@ -694,7 +857,7 @@
 
   /* cleanup */
   g_main_loop_unref (main_loop);
-  gst_event_ref (play_seek_event);
+  gst_event_unref (play_seek_event);
   gst_consistency_checker_free (consist);
   gst_bus_remove_signal_watch (bus);
   gst_object_unref (bus);
@@ -1708,6 +1871,40 @@
 
 GST_END_TEST;
 
+/* 
+ * Test that the pad numbering assigned by aggregator behaves as follows:
+ * 1. If a pad number is requested, it must be assigned if it is available
+ * 2. When numbering automatically, the largest available pad number is used
+ * 3. Pad names must be unique
+ */
+GST_START_TEST (test_pad_numbering)
+{
+  GstElement *mixer;
+  GstPad *sinkpad1, *sinkpad2, *sinkpad3, *sinkpad4;
+
+  GST_INFO ("preparing test");
+
+  mixer = gst_element_factory_make ("compositor", NULL);
+  sinkpad1 = gst_element_get_request_pad (mixer, "sink_%u");
+  sinkpad2 = gst_element_get_request_pad (mixer, "sink_7");
+  sinkpad3 = gst_element_get_request_pad (mixer, "sink_1");
+  sinkpad4 = gst_element_get_request_pad (mixer, "sink_%u");
+
+  ck_assert_str_eq (GST_PAD_NAME (sinkpad1), "sink_0");
+  ck_assert_str_eq (GST_PAD_NAME (sinkpad2), "sink_7");
+  ck_assert_str_eq (GST_PAD_NAME (sinkpad3), "sink_1");
+  ck_assert_str_eq (GST_PAD_NAME (sinkpad4), "sink_8");
+
+  /* cleanup */
+  gst_object_unref (mixer);
+  gst_object_unref (sinkpad1);
+  gst_object_unref (sinkpad2);
+  gst_object_unref (sinkpad3);
+  gst_object_unref (sinkpad4);
+}
+
+GST_END_TEST;
+
 typedef struct
 {
   gint buffers_sent;
@@ -1881,7 +2078,9 @@
   tcase_add_test (tc_chain, test_caps);
   tcase_add_test (tc_chain, test_event);
   tcase_add_test (tc_chain, test_caps_query);
+  tcase_add_test (tc_chain, test_caps_query_interlaced);
   tcase_add_test (tc_chain, test_late_caps_query);
+  tcase_add_test (tc_chain, test_late_caps_different_interlaced);
   tcase_add_test (tc_chain, test_play_twice);
   tcase_add_test (tc_chain, test_play_twice_then_add_and_play_again);
   tcase_add_test (tc_chain, test_add_pad);
@@ -1895,6 +2094,7 @@
   tcase_add_test (tc_chain, test_obscured_skipped);
   tcase_add_test (tc_chain, test_ignore_eos);
   tcase_add_test (tc_chain, test_pad_z_order);
+  tcase_add_test (tc_chain, test_pad_numbering);
   tcase_add_test (tc_chain, test_start_time_zero_live_drop_0);
   tcase_add_test (tc_chain, test_start_time_zero_live_drop_3);
   tcase_add_test (tc_chain, test_start_time_zero_live_drop_3_unlinked_1);
diff --git a/tests/check/elements/dash_demux.c b/tests/check/elements/dash_demux.c
index 961e12e..7733044 100644
--- a/tests/check/elements/dash_demux.c
+++ b/tests/check/elements/dash_demux.c
@@ -26,7 +26,7 @@
 #define COPY_OUTPUT_TEST_DATA(outputTestData,testData) do { \
     guint otdPos, otdLen = sizeof((outputTestData)) / sizeof((outputTestData)[0]); \
     for(otdPos=0; otdPos<otdLen; ++otdPos){ \
-  (testData)->output_streams = g_list_append ((testData)->output_streams, &(outputTestData)[otdPos]); \
+  GST_ADAPTIVE_DEMUX_TEST_CASE (testData)->output_streams = g_list_append (GST_ADAPTIVE_DEMUX_TEST_CASE (testData)->output_streams, &(outputTestData)[otdPos]); \
     } \
   } while(0)
 
@@ -37,18 +37,112 @@
   guint64 size;
 } GstDashDemuxTestInputData;
 
+typedef struct _GstTestHTTPSrcTestData
+{
+  const GstDashDemuxTestInputData *input;
+  GstStructure *data;
+} GstTestHTTPSrcTestData;
+
+typedef struct _GstDashDemuxTestCase
+{
+  GstAdaptiveDemuxTestCase parent;
+
+  /* the number of Protection Events sent to each pad */
+  GstStructure *countContentProtectionEvents;
+} GstDashDemuxTestCase;
+
+GType gst_dash_demux_test_case_get_type (void);
+static void gst_dash_demux_test_case_dispose (GObject * object);
+static void gst_dash_demux_test_case_finalize (GObject * object);
+static void gst_dash_demux_test_case_clear (GstDashDemuxTestCase * test_case);
+
+static GstDashDemuxTestCase *
+gst_dash_demux_test_case_new (void)
+    G_GNUC_MALLOC;
+
+#define GST_TYPE_DASH_DEMUX_TEST_CASE \
+  (gst_dash_demux_test_case_get_type())
+#define GST_DASH_DEMUX_TEST_CASE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_DASH_DEMUX_TEST_CASE, GstDashDemuxTestCase))
+#define GST_DASH_DEMUX_TEST_CASE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_DASH_DEMUX_TEST_CASE, GstDashDemuxTestCaseClass))
+#define GST_DASH_DEMUX_TEST_CASE_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_DASH_DEMUX_TEST_CASE, GstDashDemuxTestCaseClass))
+#define GST_IS_DASH_DEMUX_TEST_CASE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_DASH_DEMUX_TEST_CASE))
+#define GST_IS_DASH_DEMUX_TEST_CASE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_DASH_DEMUX_TEST_CASE))
+
+     static GstDashDemuxTestCase *gst_dash_demux_test_case_new (void)
+{
+  return g_object_newv (GST_TYPE_DASH_DEMUX_TEST_CASE, 0, NULL);
+}
+
+typedef struct _GstDashDemuxTestCaseClass
+{
+  GstAdaptiveDemuxTestCaseClass parent_class;
+} GstDashDemuxTestCaseClass;
+
+#define gst_dash_demux_test_case_parent_class parent_class
+
+G_DEFINE_TYPE (GstDashDemuxTestCase, gst_dash_demux_test_case,
+    GST_TYPE_ADAPTIVE_DEMUX_TEST_CASE);
+
+static void
+gst_dash_demux_test_case_class_init (GstDashDemuxTestCaseClass * klass)
+{
+  GObjectClass *object = G_OBJECT_CLASS (klass);
+
+  object->dispose = gst_dash_demux_test_case_dispose;
+  object->finalize = gst_dash_demux_test_case_finalize;
+}
+
+static void
+gst_dash_demux_test_case_init (GstDashDemuxTestCase * test_case)
+{
+  test_case->countContentProtectionEvents = NULL;
+  gst_dash_demux_test_case_clear (test_case);
+}
+
+static void
+gst_dash_demux_test_case_clear (GstDashDemuxTestCase * test_case)
+{
+  if (test_case->countContentProtectionEvents) {
+    gst_structure_free (test_case->countContentProtectionEvents);
+    test_case->countContentProtectionEvents = NULL;
+  }
+}
+
+static void
+gst_dash_demux_test_case_dispose (GObject * object)
+{
+  GstDashDemuxTestCase *testData = GST_DASH_DEMUX_TEST_CASE (object);
+
+  gst_dash_demux_test_case_clear (testData);
+
+  G_OBJECT_CLASS (parent_class)->dispose (object);
+}
+
+static void
+gst_dash_demux_test_case_finalize (GObject * object)
+{
+  /*GstDashDemuxTestCase *testData = GST_DASH_DEMUX_TEST_CASE (object); */
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
 static gboolean
 gst_dashdemux_http_src_start (GstTestHTTPSrc * src,
     const gchar * uri, GstTestHTTPSrcInput * input_data, gpointer user_data)
 {
-  const GstDashDemuxTestInputData *input =
-      (const GstDashDemuxTestInputData *) user_data;
-  for (guint i = 0; input[i].uri; ++i) {
-    if (strcmp (input[i].uri, uri) == 0) {
-      input_data->context = (gpointer) & input[i];
-      input_data->size = input[i].size;
-      if (input[i].size == 0)
-        input_data->size = strlen ((gchar *) input[i].payload);
+  const GstTestHTTPSrcTestData *test_case =
+      (const GstTestHTTPSrcTestData *) user_data;
+  for (guint i = 0; test_case->input[i].uri; ++i) {
+    if (g_strcmp0 (test_case->input[i].uri, uri) == 0) {
+      input_data->context = (gpointer) & test_case->input[i];
+      input_data->size = test_case->input[i].size;
+      if (test_case->input[i].size == 0)
+        input_data->size = strlen ((gchar *) test_case->input[i].payload);
       return TRUE;
     }
   }
@@ -60,8 +154,6 @@
     guint64 offset,
     guint length, GstBuffer ** retbuf, gpointer context, gpointer user_data)
 {
-  /*  const GstDashDemuxTestInputData *input =
-     (const GstDashDemuxTestInputData *) user_data; */
   const GstDashDemuxTestInputData *input =
       (const GstDashDemuxTestInputData *) context;
   GstBuffer *buf;
@@ -140,34 +232,42 @@
       "          <Initialization range=\"0-233\" />"
       "        </SegmentBase>"
       "      </Representation></AdaptationSet></Period></MPD>";
+
   GstDashDemuxTestInputData inputTestData[] = {
     {"http://unit.test/test.mpd", (guint8 *) mpd, 0},
     {"http://unit.test/audio.webm", NULL, 5000},
     {"http://unit.test/video.webm", NULL, 9000},
     {NULL, NULL, 0},
   };
-  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
   GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
     {"audio_00", 5000, NULL},
     {"video_00", 9000, NULL}
   };
+  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+  GstTestHTTPSrcTestData http_src_test_data = { 0 };
   GstAdaptiveDemuxTestCallbacks test_callbacks = { 0 };
-  GstAdaptiveDemuxTestCase *testData;
+  GstDashDemuxTestCase *testData;
 
-  testData = gst_adaptive_demux_test_case_new ();
   http_src_callbacks.src_start = gst_dashdemux_http_src_start;
   http_src_callbacks.src_create = gst_dashdemux_http_src_create;
-  gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
+  http_src_test_data.input = inputTestData;
+  gst_test_http_src_install_callbacks (&http_src_callbacks,
+      &http_src_test_data);
 
-  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
   test_callbacks.appsink_received_data =
       gst_adaptive_demux_test_check_received_data;
   test_callbacks.appsink_eos =
       gst_adaptive_demux_test_check_size_of_received_data;
 
+  testData = gst_dash_demux_test_case_new ();
+  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+
   gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME, "http://unit.test/test.mpd",
       &test_callbacks, testData);
+
   g_object_unref (testData);
+  if (http_src_test_data.data)
+    gst_structure_free (http_src_test_data.data);
 }
 
 GST_END_TEST;
@@ -262,29 +362,37 @@
     {"http://unit.test/video2.webm", NULL, 9002},
     {NULL, NULL, 0},
   };
-  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
   GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
     {"audio_00", 5001, NULL},
     {"video_00", 9001, NULL},
     {"audio_01", 5002, NULL},
     {"video_01", 9002, NULL},
   };
+  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+  GstTestHTTPSrcTestData http_src_test_data = { 0 };
   GstAdaptiveDemuxTestCallbacks test_callbacks = { 0 };
-  GstAdaptiveDemuxTestCase *testData;
+  GstDashDemuxTestCase *testData;
 
-  testData = gst_adaptive_demux_test_case_new ();
   http_src_callbacks.src_start = gst_dashdemux_http_src_start;
   http_src_callbacks.src_create = gst_dashdemux_http_src_create;
-  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+  http_src_test_data.input = inputTestData;
+  gst_test_http_src_install_callbacks (&http_src_callbacks,
+      &http_src_test_data);
+
   test_callbacks.appsink_received_data =
       gst_adaptive_demux_test_check_received_data;
   test_callbacks.appsink_eos =
       gst_adaptive_demux_test_check_size_of_received_data;
 
-  gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
+  testData = gst_dash_demux_test_case_new ();
+  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+
   gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
       "http://unit.test/test.mpd", &test_callbacks, testData);
-  gst_object_unref (testData);
+
+  g_object_unref (testData);
+  if (http_src_test_data.data)
+    gst_structure_free (http_src_test_data.data);
 }
 
 GST_END_TEST;
@@ -344,7 +452,7 @@
 static void
 setAndTestDashParams (GstAdaptiveDemuxTestEngine * engine, gpointer user_data)
 {
-  /*  GstAdaptiveDemuxTestCase * testData = (GstAdaptiveDemuxTestCase*)user_data; */
+  /*  GstDashDemuxTestCase * testData = (GstDashDemuxTestCase*)user_data; */
   GObject *dashdemux = G_OBJECT (engine->demux);
 
   test_int_prop (dashdemux, "connection-speed", 1000);
@@ -401,27 +509,35 @@
     {"http://unit.test/audio.webm", NULL, 5000},
     {NULL, NULL, 0},
   };
-  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
   GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
     {"audio_00", 5000, NULL},
   };
+  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+  GstTestHTTPSrcTestData http_src_test_data = { 0 };
   GstAdaptiveDemuxTestCallbacks test_callbacks = { 0 };
-  GstAdaptiveDemuxTestCase *testData;
+  GstDashDemuxTestCase *testData;
 
-  testData = gst_adaptive_demux_test_case_new ();
   http_src_callbacks.src_start = gst_dashdemux_http_src_start;
   http_src_callbacks.src_create = gst_dashdemux_http_src_create;
-  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+  http_src_test_data.input = inputTestData;
+  gst_test_http_src_install_callbacks (&http_src_callbacks,
+      &http_src_test_data);
+
   test_callbacks.pre_test = setAndTestDashParams;
   test_callbacks.appsink_received_data =
       gst_adaptive_demux_test_check_received_data;
   test_callbacks.appsink_eos =
       gst_adaptive_demux_test_check_size_of_received_data;
 
-  gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
+  testData = gst_dash_demux_test_case_new ();
+  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+
   gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME, "http://unit.test/test.mpd",
       &test_callbacks, testData);
-  gst_object_unref (testData);
+
+  g_object_unref (testData);
+  if (http_src_test_data.data)
+    gst_structure_free (http_src_test_data.data);
 }
 
 GST_END_TEST;
@@ -458,21 +574,26 @@
       "          <Initialization range=\"0-4451\" />"
       "        </SegmentBase>"
       "      </Representation></AdaptationSet></Period></MPD>";
+
   GstDashDemuxTestInputData inputTestData[] = {
     {"http://unit.test/test.mpd", (guint8 *) mpd, 0},
     {"http://unit.test/audio.webm", NULL, 10000},
     {NULL, NULL, 0},
   };
-  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
   GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
     {"audio_00", 10000, NULL},
   };
-  GstAdaptiveDemuxTestCase *testData;
-
-  testData = gst_adaptive_demux_test_case_new ();
+  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+  GstTestHTTPSrcTestData http_src_test_data = { 0 };
+  GstDashDemuxTestCase *testData;
 
   http_src_callbacks.src_start = gst_dashdemux_http_src_start;
   http_src_callbacks.src_create = gst_dashdemux_http_src_create;
+  http_src_test_data.input = inputTestData;
+  gst_test_http_src_install_callbacks (&http_src_callbacks,
+      &http_src_test_data);
+
+  testData = gst_dash_demux_test_case_new ();
   COPY_OUTPUT_TEST_DATA (outputTestData, testData);
 
   /* media segment starts at 4687
@@ -480,21 +601,23 @@
    * on the first pad listed in GstAdaptiveDemuxTestOutputStreamData and the
    * first chunk of at least one byte has already arrived in AppSink
    */
-  testData->threshold_for_seek = 4687 + 1;
+  GST_ADAPTIVE_DEMUX_TEST_CASE (testData)->threshold_for_seek = 4687 + 1;
 
   /* seek to 5ms.
    * Because there is only one fragment, we expect the whole file to be
    * downloaded again
    */
-  testData->seek_event =
+  GST_ADAPTIVE_DEMUX_TEST_CASE (testData)->seek_event =
       gst_event_new_seek (1.0, GST_FORMAT_TIME,
       GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, GST_SEEK_TYPE_SET,
       5 * GST_MSECOND, GST_SEEK_TYPE_NONE, 0);
 
-  gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
   gst_adaptive_demux_test_seek (DEMUX_ELEMENT_NAME,
-      "http://unit.test/test.mpd", testData);
-  gst_object_unref (testData);
+      "http://unit.test/test.mpd", GST_ADAPTIVE_DEMUX_TEST_CASE (testData));
+
+  g_object_unref (testData);
+  if (http_src_test_data.data)
+    gst_structure_free (http_src_test_data.data);
 }
 
 GST_END_TEST;
@@ -538,6 +661,7 @@
       "            value=\"2\"> "
       "        </AudioChannelConfiguration> "
       "    </Representation></AdaptationSet></Period></MPD>";
+
   GstDashDemuxTestInputData inputTestData[] = {
     {"http://unit.test/test.mpd", (guint8 *) mpd, 0},
     {"http://unit.test/init-audio.mp4", NULL, 10000},
@@ -548,16 +672,20 @@
     {NULL, NULL, 0},
   };
   GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+  GstTestHTTPSrcTestData http_src_test_data = { 0 };
   GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
     /* 1 from the init segment */
     {"audio_00", (segments ? 1 + segments : 0) * 10000, NULL},
   };
-  GstAdaptiveDemuxTestCase *testData;
-
-  testData = gst_adaptive_demux_test_case_new ();
+  GstDashDemuxTestCase *testData;
 
   http_src_callbacks.src_start = gst_dashdemux_http_src_start;
   http_src_callbacks.src_create = gst_dashdemux_http_src_create;
+  http_src_test_data.input = inputTestData;
+  gst_test_http_src_install_callbacks (&http_src_callbacks,
+      &http_src_test_data);
+
+  testData = gst_dash_demux_test_case_new ();
   COPY_OUTPUT_TEST_DATA (outputTestData, testData);
 
   /* media segment starts at 4687
@@ -566,9 +694,10 @@
    * first chunk of at least one byte has already arrived in AppSink
    */
   if (seek_threshold_bytes)
-    testData->threshold_for_seek = seek_threshold_bytes;
+    GST_ADAPTIVE_DEMUX_TEST_CASE (testData)->threshold_for_seek =
+        seek_threshold_bytes;
   else
-    testData->threshold_for_seek = 4687 + 1;
+    GST_ADAPTIVE_DEMUX_TEST_CASE (testData)->threshold_for_seek = 4687 + 1;
 
   /* FIXME hack to avoid having a 0 seqnum */
   gst_util_seqnum_next ();
@@ -577,14 +706,16 @@
    * Because there is only one fragment, we expect the whole file to be
    * downloaded again
    */
-  testData->seek_event =
+  GST_ADAPTIVE_DEMUX_TEST_CASE (testData)->seek_event =
       gst_event_new_seek (rate, GST_FORMAT_TIME, flags, start_type,
       seek_start, stop_type, seek_stop);
 
-  gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
   gst_adaptive_demux_test_seek (DEMUX_ELEMENT_NAME,
-      "http://unit.test/test.mpd", testData);
-  gst_object_unref (testData);
+      "http://unit.test/test.mpd", GST_ADAPTIVE_DEMUX_TEST_CASE (testData));
+
+  g_object_unref (testData);
+  if (http_src_test_data.data)
+    gst_structure_free (http_src_test_data.data);
 }
 
 GST_START_TEST (testSeekKeyUnitPosition)
@@ -696,7 +827,6 @@
   GST_DEBUG ("Error from element %s : %s\n",
       GST_OBJECT_NAME (msg->src), err->message);
   fail_unless_equals_string (GST_OBJECT_NAME (msg->src), DEMUX_ELEMENT_NAME);
-  /*GST_DEBUG ("dbg_info=%s\n", dbg_info); */
   g_error_free (err);
   g_free (dbg_info);
   g_main_loop_quit (engine->loop);
@@ -738,27 +868,315 @@
     {"http://unit.test/test.mpd", (guint8 *) mpd, 0},
     {NULL, NULL, 0},
   };
-  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
   GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
     {"audio_00", 0, NULL},
   };
+  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+  GstTestHTTPSrcTestData http_src_test_data = { 0 };
   GstAdaptiveDemuxTestCallbacks test_callbacks = { 0 };
-  GstAdaptiveDemuxTestCase *testData;
+  GstDashDemuxTestCase *testData;
 
-  testData = gst_adaptive_demux_test_case_new ();
   http_src_callbacks.src_start = gst_dashdemux_http_src_start;
   http_src_callbacks.src_create = gst_dashdemux_http_src_create;
-  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+  http_src_test_data.input = inputTestData;
+  gst_test_http_src_install_callbacks (&http_src_callbacks,
+      &http_src_test_data);
+
   test_callbacks.appsink_received_data =
       gst_adaptive_demux_test_check_received_data;
   test_callbacks.bus_error_message = testDownloadErrorMessageCallback;
+  test_callbacks.appsink_eos = gst_adaptive_demux_test_unexpected_eos;
+
+  testData = gst_dash_demux_test_case_new ();
+  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+
+  gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME, "http://unit.test/test.mpd",
+      &test_callbacks, testData);
+
+  g_object_unref (testData);
+  if (http_src_test_data.data)
+    gst_structure_free (http_src_test_data.data);
+}
+
+GST_END_TEST;
+
+static GstFlowReturn
+test_fragment_download_error_src_create (GstTestHTTPSrc * src,
+    guint64 offset,
+    guint length, GstBuffer ** retbuf, gpointer context, gpointer user_data)
+{
+  const GstDashDemuxTestInputData *input =
+      (const GstDashDemuxTestInputData *) context;
+  const GstTestHTTPSrcTestData *http_src_test_data =
+      (const GstTestHTTPSrcTestData *) user_data;
+  guint64 threshold_for_trigger;
+
+  fail_unless (input != NULL);
+  gst_structure_get_uint64 (http_src_test_data->data, "threshold_for_trigger",
+      &threshold_for_trigger);
+
+  if (!g_str_has_suffix (input->uri, ".mpd") && offset >= threshold_for_trigger) {
+    GST_DEBUG ("network_error %s %" G_GUINT64_FORMAT " @ %" G_GUINT64_FORMAT,
+        input->uri, offset, threshold_for_trigger);
+    GST_ELEMENT_ERROR (src, RESOURCE, READ,
+        (("A network error occurred, or the server closed the connection unexpectedly.")), ("A network error occurred, or the server closed the connection unexpectedly."));
+    return GST_FLOW_ERROR;
+  }
+  return gst_dashdemux_http_src_create (src, offset, length, retbuf, context,
+      user_data);
+}
+
+/*
+ * Test header download error
+ * Let the adaptive demux download a few bytes, then instruct the
+ * GstTestHTTPSrc element to generate an error while the fragment header
+ * is still being downloaded.
+ */
+GST_START_TEST (testHeaderDownloadError)
+{
+  const gchar *mpd =
+      "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+      "<MPD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
+      "     xmlns=\"urn:mpeg:DASH:schema:MPD:2011\""
+      "     xsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd\""
+      "     profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\""
+      "     type=\"static\""
+      "     minBufferTime=\"PT1.500S\""
+      "     mediaPresentationDuration=\"PT0.5S\">"
+      "  <Period>"
+      "    <AdaptationSet mimeType=\"audio/webm\""
+      "                   subsegmentAlignment=\"true\">"
+      "      <Representation id=\"171\""
+      "                      codecs=\"vorbis\""
+      "                      audioSamplingRate=\"44100\""
+      "                      startWithSAP=\"1\""
+      "                      bandwidth=\"129553\">"
+      "        <AudioChannelConfiguration"
+      "           schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\""
+      "           value=\"2\" />"
+      "        <BaseURL>audio.webm</BaseURL>"
+      "        <SegmentBase indexRange=\"4452-4686\""
+      "                     indexRangeExact=\"true\">"
+      "          <Initialization range=\"0-4451\" />"
+      "        </SegmentBase>"
+      "      </Representation></AdaptationSet></Period></MPD>";
+
+  /* generate error while the headers are still being downloaded
+   * threshold_for_trigger must be less than the size of headers
+   * (initialization + index) which is 4687.
+   */
+  guint64 threshold_for_trigger = 2000;
+
+  GstDashDemuxTestInputData inputTestData[] = {
+    {"http://unit.test/test.mpd", (guint8 *) mpd, 0},
+    {"http://unit.test/audio.webm", NULL, 5000},
+    {NULL, NULL, 0},
+  };
+  GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+    /* adaptive demux tries for 4 times (MAX_DOWNLOAD_ERROR_COUNT + 1) before giving up */
+    {"audio_00", threshold_for_trigger * 4, NULL},
+  };
+  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+  GstTestHTTPSrcTestData http_src_test_data = { 0 };
+  GstAdaptiveDemuxTestCallbacks test_callbacks = { 0 };
+  GstDashDemuxTestCase *testData;
+
+  http_src_callbacks.src_start = gst_dashdemux_http_src_start;
+  http_src_callbacks.src_create = test_fragment_download_error_src_create;
+  http_src_test_data.data = gst_structure_new_empty (__FUNCTION__);
+  gst_structure_set (http_src_test_data.data, "threshold_for_trigger",
+      G_TYPE_UINT64, threshold_for_trigger, NULL);
+  http_src_test_data.input = inputTestData;
+  gst_test_http_src_install_callbacks (&http_src_callbacks,
+      &http_src_test_data);
+
+  test_callbacks.appsink_received_data =
+      gst_adaptive_demux_test_check_received_data;
+  test_callbacks.appsink_eos = gst_adaptive_demux_test_unexpected_eos;
+  test_callbacks.bus_error_message = testDownloadErrorMessageCallback;
+
+  testData = gst_dash_demux_test_case_new ();
+  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+
+  /* download in chunks of threshold_for_trigger size.
+   * This means the first chunk will succeed, the second will generate
+   * error because we already exceeded threshold_for_trigger bytes.
+   */
+  gst_test_http_src_set_default_blocksize (threshold_for_trigger);
+
+  gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
+      "http://unit.test/test.mpd", &test_callbacks, testData);
+
+  g_object_unref (testData);
+  if (http_src_test_data.data)
+    gst_structure_free (http_src_test_data.data);
+}
+
+GST_END_TEST;
+
+/*
+ * Test media download error on the last media fragment.
+ * Let the adaptive demux download a few bytes, then instruct the
+ * GstTestHTTPSrc element to generate an error while the last media fragment
+ * is being downloaded.
+ * Adaptive demux will not retry downloading the last media fragment. It will
+ * be considered eos.
+ */
+GST_START_TEST (testMediaDownloadErrorLastFragment)
+{
+  const gchar *mpd =
+      "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+      "<MPD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
+      "     xmlns=\"urn:mpeg:DASH:schema:MPD:2011\""
+      "     xsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd\""
+      "     profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\""
+      "     type=\"static\""
+      "     minBufferTime=\"PT1.500S\""
+      "     mediaPresentationDuration=\"PT0.5S\">"
+      "  <Period>"
+      "    <AdaptationSet mimeType=\"audio/webm\""
+      "                   subsegmentAlignment=\"true\">"
+      "      <Representation id=\"171\""
+      "                      codecs=\"vorbis\""
+      "                      audioSamplingRate=\"44100\""
+      "                      startWithSAP=\"1\""
+      "                      bandwidth=\"129553\">"
+      "        <AudioChannelConfiguration"
+      "           schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\""
+      "           value=\"2\" />"
+      "        <BaseURL>audio.webm</BaseURL>"
+      "        <SegmentBase indexRange=\"4452-4686\""
+      "                     indexRangeExact=\"true\">"
+      "          <Initialization range=\"0-4451\" />"
+      "        </SegmentBase>"
+      "      </Representation></AdaptationSet></Period></MPD>";
+
+  /* generate error on the first media fragment */
+  guint64 threshold_for_trigger = 4687;
+
+  GstDashDemuxTestInputData inputTestData[] = {
+    {"http://unit.test/test.mpd", (guint8 *) mpd, 0},
+    {"http://unit.test/audio.webm", NULL, 5000},
+    {NULL, NULL, 0},
+  };
+  GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+    /* adaptive demux will not retry because this is the last fragment */
+    {"audio_00", threshold_for_trigger, NULL},
+  };
+  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+  GstTestHTTPSrcTestData http_src_test_data = { 0 };
+  GstAdaptiveDemuxTestCallbacks test_callbacks = { 0 };
+  GstDashDemuxTestCase *testData;
+
+  http_src_callbacks.src_start = gst_dashdemux_http_src_start;
+  http_src_callbacks.src_create = test_fragment_download_error_src_create;
+  http_src_test_data.data = gst_structure_new_empty (__FUNCTION__);
+  gst_structure_set (http_src_test_data.data, "threshold_for_trigger",
+      G_TYPE_UINT64, threshold_for_trigger, NULL);
+  http_src_test_data.input = inputTestData;
+  gst_test_http_src_install_callbacks (&http_src_callbacks,
+      &http_src_test_data);
+
+  test_callbacks.appsink_received_data =
+      gst_adaptive_demux_test_check_received_data;
   test_callbacks.appsink_eos =
       gst_adaptive_demux_test_check_size_of_received_data;
 
-  gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
-  gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME, "http://unit.test/test.mpd",
-      &test_callbacks, testData);
-  gst_object_unref (testData);
+  testData = gst_dash_demux_test_case_new ();
+  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+
+  gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
+      "http://unit.test/test.mpd", &test_callbacks, testData);
+
+  g_object_unref (testData);
+  if (http_src_test_data.data)
+    gst_structure_free (http_src_test_data.data);
+}
+
+GST_END_TEST;
+
+/*
+ * Test media download error on a media fragment which is not the last one.
+ * Let the adaptive demux download a few bytes, then instruct the
+ * GstTestHTTPSrc element to generate an error while a media fragment
+ * is being downloaded.
+ */
+GST_START_TEST (testMediaDownloadErrorMiddleFragment)
+{
+  const gchar *mpd =
+      "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+      "<MPD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
+      "     xmlns=\"urn:mpeg:DASH:schema:MPD:2011\""
+      "     xsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd\""
+      "     profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\""
+      "     type=\"static\""
+      "     minBufferTime=\"PT1.500S\""
+      "     mediaPresentationDuration=\"PT10S\">"
+      "  <Period>"
+      "    <AdaptationSet mimeType=\"audio/webm\""
+      "                   subsegmentAlignment=\"true\">"
+      "      <Representation id=\"171\""
+      "                      codecs=\"vorbis\""
+      "                      audioSamplingRate=\"44100\""
+      "                      startWithSAP=\"1\""
+      "                      bandwidth=\"129553\">"
+      "        <AudioChannelConfiguration"
+      "           schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\""
+      "           value=\"2\" />"
+      "        <BaseURL>audio.webm</BaseURL>"
+      "        <SegmentList duration=\"1\">"
+      "          <SegmentURL indexRange=\"1-10\""
+      "                      mediaRange=\"11-30\">"
+      "          </SegmentURL>"
+      "          <SegmentURL indexRange=\"31-60\""
+      "                      mediaRange=\"61-100\">"
+      "          </SegmentURL>"
+      "          <SegmentURL indexRange=\"101-150\""
+      "                      mediaRange=\"151-210\">"
+      "          </SegmentURL>"
+      "        </SegmentList>"
+      "      </Representation></AdaptationSet></Period></MPD>";
+
+  /* generate error on the second media fragment */
+  guint64 threshold_for_trigger = 31;
+
+  GstDashDemuxTestInputData inputTestData[] = {
+    {"http://unit.test/test.mpd", (guint8 *) mpd, 0},
+    {"http://unit.test/audio.webm", NULL, 5000},
+    {NULL, NULL, 0},
+  };
+  GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+    /* adaptive demux will download only the first media fragment */
+    {"audio_00", 20, NULL},
+  };
+  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+  GstTestHTTPSrcTestData http_src_test_data = { 0 };
+  GstAdaptiveDemuxTestCallbacks test_callbacks = { 0 };
+  GstDashDemuxTestCase *testData;
+
+  http_src_callbacks.src_start = gst_dashdemux_http_src_start;
+  http_src_callbacks.src_create = test_fragment_download_error_src_create;
+  http_src_test_data.data = gst_structure_new_empty (__FUNCTION__);
+  gst_structure_set (http_src_test_data.data, "threshold_for_trigger",
+      G_TYPE_UINT64, threshold_for_trigger, NULL);
+  http_src_test_data.input = inputTestData;
+  gst_test_http_src_install_callbacks (&http_src_callbacks,
+      &http_src_test_data);
+
+  test_callbacks.appsink_received_data =
+      gst_adaptive_demux_test_check_received_data;
+  test_callbacks.appsink_eos = gst_adaptive_demux_test_unexpected_eos;
+  test_callbacks.bus_error_message = testDownloadErrorMessageCallback;
+
+  testData = gst_dash_demux_test_case_new ();
+  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+
+  gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
+      "http://unit.test/test.mpd", &test_callbacks, testData);
+
+  g_object_unref (testData);
+  if (http_src_test_data.data)
+    gst_structure_free (http_src_test_data.data);
 }
 
 GST_END_TEST;
@@ -777,6 +1195,9 @@
   gboolean seekable;
   gint64 segment_start;
   gint64 segment_end;
+  gboolean live;
+  GstClockTime min_latency;
+  GstClockTime max_latency;
   gchar *uri;
   gchar *redirect_uri;
   gboolean redirect_permanent;
@@ -788,13 +1209,16 @@
   fail_unless (g_list_length (pads) == 1);
   pad = GST_PAD (pads->data);
 
+  /* duration query */
   query = gst_query_new_duration (GST_FORMAT_TIME);
   ret = gst_pad_peer_query (pad, query);
   fail_unless (ret == TRUE);
   gst_query_parse_duration (query, NULL, &duration);
+  /* mediaPresentationDuration=\"PT135.743S\" */
   fail_unless (duration == 135743 * GST_MSECOND);
   gst_query_unref (query);
 
+  /* seek query */
   query = gst_query_new_seeking (GST_FORMAT_TIME);
   ret = gst_pad_peer_query (pad, query);
   fail_unless (ret == TRUE);
@@ -805,13 +1229,24 @@
   fail_unless (segment_end == duration);
   gst_query_unref (query);
 
+  /* latency query */
+  query = gst_query_new_latency ();
+  ret = gst_pad_peer_query (pad, query);
+  fail_unless (ret == TRUE);
+  gst_query_parse_latency (query, &live, &min_latency, &max_latency);
+  fail_unless (live == FALSE);
+  fail_unless (min_latency == 0);
+  fail_unless (max_latency == -1);
+  gst_query_unref (query);
+
+  /* uri query */
   query = gst_query_new_uri ();
   ret = gst_pad_peer_query (pad, query);
   fail_unless (ret == TRUE);
   gst_query_parse_uri (query, &uri);
   gst_query_parse_uri_redirection (query, &redirect_uri);
   gst_query_parse_uri_redirection_permanent (query, &redirect_permanent);
-  fail_unless (strcmp (uri, "http://unit.test/test.mpd") == 0);
+  fail_unless (g_strcmp0 (uri, "http://unit.test/test.mpd") == 0);
   /* adaptive demux does not reply with redirect information */
   fail_unless (redirect_uri == NULL);
   fail_unless (redirect_permanent == FALSE);
@@ -855,86 +1290,123 @@
       "          <Initialization range=\"0-4451\" />"
       "        </SegmentBase>"
       "      </Representation></AdaptationSet></Period></MPD>";
+
   GstDashDemuxTestInputData inputTestData[] = {
     {"http://unit.test/test.mpd", (guint8 *) mpd, 0},
     {"http://unit.test/audio.webm", NULL, 5000},
     {NULL, NULL, 0},
   };
-  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
   GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
     {"audio_00", 5000, NULL},
   };
+  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+  GstTestHTTPSrcTestData http_src_test_data = { 0 };
   GstAdaptiveDemuxTestCallbacks test_callbacks = { 0 };
-  GstAdaptiveDemuxTestCase *testData;
+  GstDashDemuxTestCase *testData;
 
-  testData = gst_adaptive_demux_test_case_new ();
   http_src_callbacks.src_start = gst_dashdemux_http_src_start;
   http_src_callbacks.src_create = gst_dashdemux_http_src_create;
-  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+  http_src_test_data.input = inputTestData;
+  gst_test_http_src_install_callbacks (&http_src_callbacks,
+      &http_src_test_data);
+
   test_callbacks.appsink_received_data = testQueryCheckDataReceived;
   test_callbacks.appsink_eos =
       gst_adaptive_demux_test_check_size_of_received_data;
 
-  gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
+  testData = gst_dash_demux_test_case_new ();
+  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+
   gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
       "http://unit.test/test.mpd", &test_callbacks, testData);
-  gst_object_unref (testData);
+
+  g_object_unref (testData);
+  if (http_src_test_data.data)
+    gst_structure_free (http_src_test_data.data);
 }
 
 GST_END_TEST;
 
-static GstFlowReturn
-test_fragment_download_error_src_create (GstTestHTTPSrc * src,
-    guint64 offset,
-    guint length, GstBuffer ** retbuf, gpointer context, gpointer user_data)
+static gboolean
+testContentProtectionDashdemuxSendsEvent (GstAdaptiveDemuxTestEngine * engine,
+    GstAdaptiveDemuxTestOutputStream * stream,
+    GstEvent * event, gpointer user_data)
 {
-  const GstDashDemuxTestInputData *input =
-      (const GstDashDemuxTestInputData *) context;
-  fail_unless (input != NULL);
-  if (!g_str_has_suffix (input->uri, ".mpd") && offset > 2000) {
-    GST_DEBUG ("network_error %s %" G_GUINT64_FORMAT " @ %d",
-        input->uri, offset, 2000);
-    GST_ELEMENT_ERROR (src, RESOURCE, READ,
-        (("A network error occurred, or the server closed the connection unexpectedly.")), ("A network error occurred, or the server closed the connection unexpectedly."));
-    return GST_FLOW_ERROR;
+  GstDashDemuxTestCase *test_case = GST_DASH_DEMUX_TEST_CASE (user_data);
+  const gchar *system_id;
+  GstBuffer *data;
+  const gchar *origin;
+  GstMapInfo info;
+  gchar *value;
+  gchar *name;
+  guint event_count = 0;
+
+  GST_DEBUG ("received event %s", GST_EVENT_TYPE_NAME (event));
+
+  if (GST_EVENT_TYPE (event) != GST_EVENT_PROTECTION) {
+    return TRUE;
   }
-  return gst_dashdemux_http_src_create (src, offset, length, retbuf, context,
-      user_data);
-}
 
-/* function to check total size of data received by AppSink
- * will be called when AppSink receives eos.
- */
-static void
-testFragmentDownloadErrorCheckSizeOfDataReceived (GstAdaptiveDemuxTestEngine *
-    engine, GstAdaptiveDemuxTestOutputStream * stream, gpointer user_data)
-{
-  GstAdaptiveDemuxTestCase *testData = GST_ADAPTIVE_DEMUX_TEST_CASE (user_data);
-  GstAdaptiveDemuxTestExpectedOutput *testOutputStreamData;
+  /* we expect content protection events only on video pad */
+  name = gst_pad_get_name (stream->pad);
+  fail_unless (g_strcmp0 (name, "video_00") == 0);
+  gst_event_parse_protection (event, &system_id, &data, &origin);
 
-  testOutputStreamData =
-      gst_adaptive_demux_test_find_test_data_by_stream (testData, stream, NULL);
-  fail_unless (testOutputStreamData != NULL);
+  gst_buffer_map (data, &info, GST_MAP_READ);
 
-  /* expect to receive more than 0 */
-  fail_unless (stream->total_received_size > 0,
-      "size validation failed for %s, expected > 0, received %d",
-      testOutputStreamData->name, stream->total_received_size);
+  value = g_malloc (info.size + 1);
+  strncpy (value, (gchar *) info.data, info.size);
+  value[info.size] = 0;
+  gst_buffer_unmap (data, &info);
 
-  /* expect to receive less than file size */
-  fail_unless (stream->total_received_size <
-      testOutputStreamData->expected_size,
-      "size validation failed for %s, expected < %d received %d",
-      testOutputStreamData->name, testOutputStreamData->expected_size,
-      stream->total_received_size);
+  if (g_strcmp0 (system_id, "11111111-AAAA-BBBB-CCCC-123456789ABC") == 0) {
+    fail_unless (g_strcmp0 (origin, "dash/mpd") == 0);
+    fail_unless (g_strcmp0 (value, "test value") == 0);
+  } else if (g_strcmp0 (system_id, "5e629af5-38da-4063-8977-97ffbd9902d4") == 0) {
+    const gchar *str;
+
+    fail_unless (g_strcmp0 (origin, "dash/mpd") == 0);
+
+    /* We can't do a simple compare of value (which should be an XML dump
+       of the ContentProtection element), because the whitespace
+       formatting from xmlDump might differ between versions of libxml */
+    str = strstr (value, "<ContentProtection");
+    fail_if (str == NULL);
+    str = strstr (value, "<mas:MarlinContentIds>");
+    fail_if (str == NULL);
+    str = strstr (value, "<mas:MarlinContentId>");
+    fail_if (str == NULL);
+    str = strstr (value, "urn:marlin:kid:02020202020202020202020202020202");
+    fail_if (str == NULL);
+    str = strstr (value, "</ContentProtection>");
+    fail_if (str == NULL);
+  } else {
+    fail ("unexpected content protection event '%s'", system_id);
+  }
+
+  g_free (value);
+
+  fail_if (test_case->countContentProtectionEvents == NULL);
+  gst_structure_get_uint (test_case->countContentProtectionEvents, name,
+      &event_count);
+  event_count++;
+  gst_structure_set (test_case->countContentProtectionEvents, name, G_TYPE_UINT,
+      event_count, NULL);
+
+  g_free (name);
+  return TRUE;
 }
 
 /*
- * Test fragment download error
- * Let the adaptive demux download a few bytes, then instruct the
- * GstTestHTTPSrc element to generate an error.
+ * Test content protection
+ * Configure 3 content protection sources:
+ * - a uuid scheme/value pair
+ * - a non uuid scheme/value pair (dash recognises only uuid schemes)
+ * - a complex uuid scheme, with trailing spaces and capital letters in scheme uri
+ * Only the uuid scheme will be recognised. We expect to receive 2 content
+ * protection events
  */
-GST_START_TEST (testFragmentDownloadError)
+GST_START_TEST (testContentProtection)
 {
   const gchar *mpd =
       "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
@@ -944,7 +1416,7 @@
       "     profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\""
       "     type=\"static\""
       "     minBufferTime=\"PT1.500S\""
-      "     mediaPresentationDuration=\"PT0.5S\">"
+      "     mediaPresentationDuration=\"PT135.743S\">"
       "  <Period>"
       "    <AdaptationSet mimeType=\"audio/webm\""
       "                   subsegmentAlignment=\"true\">"
@@ -961,35 +1433,75 @@
       "                     indexRangeExact=\"true\">"
       "          <Initialization range=\"0-4451\" />"
       "        </SegmentBase>"
+      "      </Representation>"
+      "    </AdaptationSet>"
+      "    <AdaptationSet mimeType=\"video/webm\""
+      "                   subsegmentAlignment=\"true\">"
+      "      <ContentProtection schemeIdUri=\"urn:uuid:11111111-AAAA-BBBB-CCCC-123456789ABC\" value=\"test value\"/>"
+      "      <ContentProtection schemeIdUri=\"urn:mpeg:dash:mp4protection:2011\" value=\"cenc\"/>"
+      "      <ContentProtection schemeIdUri=\" URN:UUID:5e629af5-38da-4063-8977-97ffbd9902d4\" xmlns:mas=\"urn:marlin:mas:1-0:services:schemas:mpd\">"
+      "        <mas:MarlinContentIds>"
+      "          <mas:MarlinContentId>urn:marlin:kid:02020202020202020202020202020202</mas:MarlinContentId>"
+      "        </mas:MarlinContentIds>"
+      "      </ContentProtection>"
+      "      <Representation id=\"242\""
+      "                      codecs=\"vp9\""
+      "                      width=\"426\""
+      "                      height=\"240\""
+      "                      startWithSAP=\"1\""
+      "                      bandwidth=\"490208\">"
+      "        <BaseURL>video.webm</BaseURL>"
+      "        <SegmentBase indexRange=\"234-682\""
+      "                     indexRangeExact=\"true\">"
+      "          <Initialization range=\"0-233\" />"
+      "        </SegmentBase>"
       "      </Representation></AdaptationSet></Period></MPD>";
 
   GstDashDemuxTestInputData inputTestData[] = {
     {"http://unit.test/test.mpd", (guint8 *) mpd, 0},
     {"http://unit.test/audio.webm", NULL, 5000},
+    {"http://unit.test/video.webm", NULL, 9000},
     {NULL, NULL, 0},
   };
-  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
   GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
     {"audio_00", 5000, NULL},
+    {"video_00", 9000, NULL},
   };
+  GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+  GstTestHTTPSrcTestData http_src_test_data = { 0 };
   GstAdaptiveDemuxTestCallbacks test_callbacks = { 0 };
-  GstAdaptiveDemuxTestCase *testData;
+  GstDashDemuxTestCase *testData;
+  guint event_count = 0;
 
-  testData = gst_adaptive_demux_test_case_new ();
   http_src_callbacks.src_start = gst_dashdemux_http_src_start;
-  http_src_callbacks.src_create = test_fragment_download_error_src_create;
-  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+  http_src_callbacks.src_create = gst_dashdemux_http_src_create;
+  http_src_test_data.input = inputTestData;
+  gst_test_http_src_install_callbacks (&http_src_callbacks,
+      &http_src_test_data);
+
   test_callbacks.appsink_received_data =
       gst_adaptive_demux_test_check_received_data;
-  test_callbacks.appsink_eos = testFragmentDownloadErrorCheckSizeOfDataReceived;
-  /*  test_callbacks.demux_sent_eos = gst_adaptive_demux_test_check_size_of_received_data; */
+  test_callbacks.appsink_eos =
+      gst_adaptive_demux_test_check_size_of_received_data;
+  test_callbacks.demux_sent_event = testContentProtectionDashdemuxSendsEvent;
 
-  test_callbacks.bus_error_message = testDownloadErrorMessageCallback;
+  testData = gst_dash_demux_test_case_new ();
+  COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+  testData->countContentProtectionEvents =
+      gst_structure_new_empty ("countContentProtectionEvents");
+  gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME, "http://unit.test/test.mpd",
+      &test_callbacks, testData);
 
-  gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
-  gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
-      "http://unit.test/test.mpd", &test_callbacks, testData);
-  gst_object_unref (testData);
+  fail_unless (gst_structure_has_field_typed
+      (testData->countContentProtectionEvents, "video_00", G_TYPE_UINT));
+
+  gst_structure_get_uint (testData->countContentProtectionEvents, "video_00",
+      &event_count);
+  fail_unless (event_count == 2);
+
+  g_object_unref (testData);
+  if (http_src_test_data.data)
+    gst_structure_free (http_src_test_data.data);
 }
 
 GST_END_TEST;
@@ -1014,8 +1526,11 @@
   tcase_add_test (tc_basicTest, testReverseSeekSnapBeforePosition);
   tcase_add_test (tc_basicTest, testReverseSeekSnapAfterPosition);
   tcase_add_test (tc_basicTest, testDownloadError);
-  tcase_add_test (tc_basicTest, testFragmentDownloadError);
+  tcase_add_test (tc_basicTest, testHeaderDownloadError);
+  tcase_add_test (tc_basicTest, testMediaDownloadErrorLastFragment);
+  tcase_add_test (tc_basicTest, testMediaDownloadErrorMiddleFragment);
   tcase_add_test (tc_basicTest, testQuery);
+  tcase_add_test (tc_basicTest, testContentProtection);
 
   tcase_add_unchecked_fixture (tc_basicTest, gst_adaptive_demux_test_setup,
       gst_adaptive_demux_test_teardown);
diff --git a/tests/check/elements/dash_mpd.c b/tests/check/elements/dash_mpd.c
index 348b65c..6e49f0e 100644
--- a/tests/check/elements/dash_mpd.c
+++ b/tests/check/elements/dash_mpd.c
@@ -4821,6 +4821,103 @@
 GST_END_TEST;
 
 /*
+ * Test SegmentList with multiple segmentURL
+ *
+ */
+GST_START_TEST (dash_mpdparser_multipleSegmentURL)
+{
+  GList *adaptationSets;
+  GstAdaptationSetNode *adapt_set;
+  GstActiveStream *activeStream;
+  GstMediaFragmentInfo fragment;
+  GstClockTime expectedDuration;
+  GstClockTime expectedTimestamp;
+  GstFlowReturn flow;
+
+  /*
+   * Period duration is 30 seconds
+   * Period start is 10 seconds. Thus, period duration is 20 seconds.
+   *
+   * Segment duration is 25 seconds. There are 2 segments in the list.
+   * We expect first segment to have a duration of 20 seconds (limited by the period)
+   * and the second segment to not exist.
+   */
+  const gchar *xml =
+      "<?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\""
+      " mediaPresentationDuration=\"P0Y0M0DT0H0M30S\">"
+      "<Period start=\"P0Y0M0DT0H0M10S\">"
+      "  <AdaptationSet mimeType=\"video/mp4\">"
+      "    <Representation>"
+      "      <SegmentList duration=\"25\">"
+      "        <SegmentURL"
+      "           media=\"TestMedia0\" mediaRange=\"10-20\""
+      "           index=\"TestIndex0\" indexRange=\"100-200\""
+      "        ></SegmentURL>"
+      "        <SegmentURL"
+      "           media=\"TestMedia1\" mediaRange=\"20-30\""
+      "           index=\"TestIndex1\" indexRange=\"200-300\""
+      "        ></SegmentURL>"
+      "      </SegmentList>"
+      "    </Representation></AdaptationSet></Period></MPD>";
+
+  gboolean ret;
+  GstMpdClient *mpdclient = gst_mpd_client_new ();
+
+  ret = gst_mpd_parse (mpdclient, xml, (gint) strlen (xml));
+  assert_equals_int (ret, TRUE);
+
+  /* process the xml data */
+  ret =
+      gst_mpd_client_setup_media_presentation (mpdclient, GST_CLOCK_TIME_NONE,
+      -1, NULL);
+  assert_equals_int (ret, TRUE);
+
+  /* get the list of adaptation sets of the first period */
+  adaptationSets = gst_mpd_client_get_adaptation_sets (mpdclient);
+  fail_if (adaptationSets == NULL);
+
+  /* setup streaming from the first adaptation set */
+  adapt_set = (GstAdaptationSetNode *) g_list_nth_data (adaptationSets, 0);
+  fail_if (adapt_set == NULL);
+  ret = gst_mpd_client_setup_streaming (mpdclient, adapt_set);
+  assert_equals_int (ret, TRUE);
+
+  activeStream = gst_mpdparser_get_active_stream_by_index (mpdclient, 0);
+  fail_if (activeStream == NULL);
+
+  expectedDuration = duration_to_ms (0, 0, 0, 0, 0, 20, 0);
+  expectedTimestamp = duration_to_ms (0, 0, 0, 0, 0, 0, 0);
+
+  /* the representation contains 2 segments. The first is partially
+   * clipped, and the second entirely (and thus discarded).
+   */
+
+  /* check first segment */
+  ret = gst_mpd_client_get_next_fragment (mpdclient, 0, &fragment);
+  assert_equals_int (ret, TRUE);
+  assert_equals_string (fragment.uri, "/TestMedia0");
+  assert_equals_int64 (fragment.range_start, 10);
+  assert_equals_int64 (fragment.range_end, 20);
+  assert_equals_string (fragment.index_uri, "/TestIndex0");
+  assert_equals_int64 (fragment.index_range_start, 100);
+  assert_equals_int64 (fragment.index_range_end, 200);
+  assert_equals_uint64 (fragment.duration, expectedDuration * GST_MSECOND);
+  assert_equals_uint64 (fragment.timestamp, expectedTimestamp * GST_MSECOND);
+  gst_media_fragment_info_clear (&fragment);
+
+  /* advance to next segment */
+  flow = gst_mpd_client_advance_segment (mpdclient, activeStream, TRUE);
+  assert_equals_int (flow, GST_FLOW_EOS);
+
+  gst_mpd_client_free (mpdclient);
+}
+
+GST_END_TEST;
+
+/*
  * Test parsing empty xml string
  *
  */
@@ -5482,6 +5579,7 @@
   tcase_add_test (tc_complexMPD, dash_mpdparser_get_period_at_time);
   tcase_add_test (tc_complexMPD, dash_mpdparser_adaptationSet_handling);
   tcase_add_test (tc_complexMPD, dash_mpdparser_representation_selection);
+  tcase_add_test (tc_complexMPD, dash_mpdparser_multipleSegmentURL);
   tcase_add_test (tc_complexMPD, dash_mpdparser_activeStream_selection);
   tcase_add_test (tc_complexMPD, dash_mpdparser_activeStream_parameters);
   tcase_add_test (tc_complexMPD, dash_mpdparser_get_audio_languages);
diff --git a/tests/check/elements/glimagesink.c b/tests/check/elements/glimagesink.c
index 07f6899..b0f9e30 100644
--- a/tests/check/elements/glimagesink.c
+++ b/tests/check/elements/glimagesink.c
@@ -116,8 +116,6 @@
   loop = g_main_loop_new (NULL, FALSE);
 #endif
 
-  setup_glimagesink ();
-
   /* GstBaseSink handles the drain query as well. */
   g_object_set (sinkelement, "enable-last-sample", TRUE, NULL);
 
@@ -188,6 +186,7 @@
    * releases the buffers it currently owns, upon drain query. */
   query = gst_query_new_drain ();
   DO_CALL (do_peer_query_func, query);
+  gst_query_unref (query);
 
   /* Transfer buffers back to the downstream pool to be release
    * properly. This also make sure that all buffers are returned.
@@ -210,8 +209,6 @@
   fail_unless (gst_buffer_pool_set_active (pool, FALSE));
   gst_object_unref (pool);
 
-  cleanup_glimagesink ();
-
   if (loop)
     g_main_loop_unref (loop);
 }
@@ -226,7 +223,7 @@
 
   tcase_set_timeout (tc, 5);
 
-  tcase_add_checked_fixture (tc, setup_glimagesink, NULL);
+  tcase_add_checked_fixture (tc, setup_glimagesink, cleanup_glimagesink);
   tcase_add_test (tc, test_query_drain);
   suite_add_tcase (s, tc);
 
diff --git a/tests/check/elements/hls_demux.c b/tests/check/elements/hls_demux.c
index 8d07ea0..fca76b3 100644
--- a/tests/check/elements/hls_demux.c
+++ b/tests/check/elements/hls_demux.c
@@ -687,13 +687,20 @@
     {"http://unit.test/002.ts", NULL, segment_size},
     {NULL, NULL, 0}
   };
+  const guint64 failure_position = 2048;
   GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
-    {"src_0", 2 * segment_size, NULL},
+    /* adaptive demux tries for 4 times (MAX_DOWNLOAD_ERROR_COUNT + 1) before giving up */
+    {"src_0", failure_position * 4, NULL},
     {NULL, 0, NULL}
   };
-  const guint64 failure_position = 2048;
   TESTCASE_INIT_BOILERPLATE (segment_size);
 
+  /* download in chunks of failure_position size.
+   * This means the first chunk will succeed, the second will generate
+   * error because we already exceeded failure_position bytes.
+   */
+  gst_test_http_src_set_default_blocksize (failure_position);
+
   http_src_callbacks.src_start = gst_hlsdemux_test_src_start;
   http_src_callbacks.src_create = gst_hlsdemux_test_network_error_src_create;
   gst_structure_set (hlsTestCase.state,
diff --git a/tests/check/elements/mssdemux.c b/tests/check/elements/mssdemux.c
index 78a1863..d5cc96c 100644
--- a/tests/check/elements/mssdemux.c
+++ b/tests/check/elements/mssdemux.c
@@ -206,7 +206,7 @@
   gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
   gst_adaptive_demux_test_seek (DEMUX_ELEMENT_NAME,
       "http://unit.test/Manifest", testData);
-  gst_object_unref (testData);
+  g_object_unref (testData);
 }
 
 GST_END_TEST;
@@ -273,7 +273,7 @@
   gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
   gst_adaptive_demux_test_seek (DEMUX_ELEMENT_NAME,
       "http://unit.test/Manifest", testData);
-  gst_object_unref (testData);
+  g_object_unref (testData);
 }
 
 GST_START_TEST (testSeekKeyUnitPosition)
@@ -404,7 +404,7 @@
   gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
   gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME, "http://unit.test/Manifest",
       &test_callbacks, testData);
-  gst_object_unref (testData);
+  g_object_unref (testData);
 }
 
 GST_END_TEST;
@@ -505,7 +505,7 @@
   gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
   gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
       "http://unit.test/Manifest", &test_callbacks, testData);
-  gst_object_unref (testData);
+  g_object_unref (testData);
 }
 
 GST_END_TEST;
@@ -597,7 +597,7 @@
   gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
   gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
       "http://unit.test/Manifest", &test_callbacks, testData);
-  gst_object_unref (testData);
+  g_object_unref (testData);
 }
 
 GST_END_TEST;
diff --git a/tests/check/elements/pnm.c b/tests/check/elements/pnm.c
new file mode 100644
index 0000000..b3be8cb
--- /dev/null
+++ b/tests/check/elements/pnm.c
@@ -0,0 +1,119 @@
+/* GStreamer
+ *
+ * unit test for PNM encoder / decoder
+ *
+ * Copyright (C) <2016> Jan Schmidt <jan@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * 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 <gst/check/gstcheck.h>
+#include <gst/app/gstappsink.h>
+
+/* Create a pnmenc ! pnmdec and push in 
+ * frames, checking that what comes out is what
+ * went in */
+GST_START_TEST (test_pnm_enc_dec)
+{
+  GstElement *pipeline;
+  GstElement *incf, *outcf, *enc;
+  GstElement *sink;
+  GstSample *sample;
+  GstBuffer *buffer;
+  gint i, n;
+
+  struct
+  {
+    const gchar *in_fmt;
+    const gchar *out_fmt;
+  } test_formats[] = {
+    {
+    "RGB", "RGB"}, {
+    "GRAY8", "GRAY8"}, {
+    "GRAY16_BE", "GRAY16_BE"}, {
+    "GRAY16_BE", "GRAY16_LE"}, {
+    "GRAY16_LE", "GRAY16_BE"}, {
+    "GRAY16_LE", "GRAY16_LE"}
+  };
+
+  pipeline =
+      gst_parse_launch
+      ("videotestsrc num-buffers=1 ! capsfilter name=incf ! pnmenc name=enc ! pnmdec ! capsfilter name=outcf ! appsink name=sink",
+      NULL);
+  g_assert (pipeline != NULL);
+
+  incf = gst_bin_get_by_name (GST_BIN (pipeline), "incf");
+  enc = gst_bin_get_by_name (GST_BIN (pipeline), "enc");
+  outcf = gst_bin_get_by_name (GST_BIN (pipeline), "outcf");
+  sink = gst_bin_get_by_name (GST_BIN (pipeline), "sink");
+
+  for (n = 0; n < 2; n++) {
+    for (i = 0; i < G_N_ELEMENTS (test_formats); i++) {
+      GstCaps *incaps = gst_caps_new_simple ("video/x-raw", "width", G_TYPE_INT,
+          320, "height", G_TYPE_INT, 240, "framerate",
+          GST_TYPE_FRACTION, 1, 1, "format", G_TYPE_STRING,
+          test_formats[i].in_fmt, NULL);
+      GstCaps *outcaps =
+          gst_caps_new_simple ("video/x-raw", "width", G_TYPE_INT,
+          320, "height", G_TYPE_INT, 240, "framerate",
+          GST_TYPE_FRACTION, 1, 1, "format", G_TYPE_STRING,
+          test_formats[i].out_fmt, NULL);
+
+      GST_DEBUG ("Setting in caps %" GST_PTR_FORMAT, incaps);
+      g_object_set (G_OBJECT (incf), "caps", incaps, NULL);
+      GST_DEBUG ("Setting out caps %" GST_PTR_FORMAT, outcaps);
+      g_object_set (G_OBJECT (outcf), "caps", outcaps, NULL);
+
+      gst_caps_unref (incaps);
+      gst_caps_unref (outcaps);
+
+      gst_element_set_state (pipeline, GST_STATE_PLAYING);
+
+      sample = gst_app_sink_pull_sample (GST_APP_SINK (sink));
+
+      fail_unless (sample != NULL);
+      buffer = gst_sample_get_buffer (sample);
+      fail_unless (buffer != NULL);
+      gst_sample_unref (sample);
+
+      gst_element_set_state (pipeline, GST_STATE_NULL);
+    }
+
+    g_object_set (enc, "ascii", TRUE, NULL);
+  }
+
+  gst_object_unref (pipeline);
+  gst_object_unref (sink);
+  gst_object_unref (outcf);
+  gst_object_unref (enc);
+  gst_object_unref (incf);
+
+}
+
+GST_END_TEST;
+
+static Suite *
+pnm_suite (void)
+{
+  Suite *s = suite_create ("pnm");
+  TCase *tc_chain = tcase_create ("general");
+
+  suite_add_tcase (s, tc_chain);
+  tcase_add_test (tc_chain, test_pnm_enc_dec);
+
+  return s;
+}
+
+GST_CHECK_MAIN (pnm);
diff --git a/tests/check/elements/templatematch.c b/tests/check/elements/templatematch.c
index 99fc794..3a78d54 100644
--- a/tests/check/elements/templatematch.c
+++ b/tests/check/elements/templatematch.c
@@ -144,6 +144,7 @@
   gst_bus_set_flushing (bus, TRUE);
   gst_object_unref (bus);
   gst_caps_unref (caps);
+  gst_check_drop_buffers ();
   gst_pad_set_active (srcpad, FALSE);
   gst_pad_set_active (sinkpad, FALSE);
   gst_object_unref (srcpad);
diff --git a/tests/check/elements/test_http_src.c b/tests/check/elements/test_http_src.c
index 915bb51..14f2043 100644
--- a/tests/check/elements/test_http_src.c
+++ b/tests/check/elements/test_http_src.c
@@ -192,8 +192,8 @@
       "Test HTTP source element for unit tests",
       "Source/Network",
       "Use in unit tests", "Alex Ashley <alex.ashley@youview.com>");
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_dashdemux_test_source_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_dashdemux_test_source_template);
 
   gstbasesrc_class->start = GST_DEBUG_FUNCPTR (gst_test_http_src_start);
   gstbasesrc_class->stop = GST_DEBUG_FUNCPTR (gst_test_http_src_stop);
@@ -314,7 +314,8 @@
   http_headers = gst_structure_new_empty ("http-headers");
   gst_structure_set (http_headers, "uri", G_TYPE_STRING, src->uri, NULL);
   if (!src->input.request_headers) {
-    src->input.request_headers = gst_structure_new_empty ("request-headers");
+    src->input.request_headers =
+        gst_structure_new_empty (TEST_HTTP_SRC_REQUEST_HEADERS_NAME);
   }
   if (!gst_structure_has_field_typed (src->input.request_headers,
           "User-Agent", G_TYPE_STRING)) {
@@ -334,10 +335,11 @@
     gst_structure_set (src->input.request_headers, "Accept-Encoding",
         G_TYPE_STRING, "compress, gzip", NULL);
   }
-  gst_structure_set (http_headers, "request-headers", GST_TYPE_STRUCTURE,
-      src->input.request_headers, NULL);
+  gst_structure_set (http_headers, TEST_HTTP_SRC_REQUEST_HEADERS_NAME,
+      GST_TYPE_STRUCTURE, src->input.request_headers, NULL);
   if (!src->input.response_headers) {
-    src->input.response_headers = gst_structure_new_empty ("response-headers");
+    src->input.response_headers =
+        gst_structure_new_empty (TEST_HTTP_SRC_RESPONSE_HEADERS_NAME);
   }
   if (!gst_structure_has_field_typed (src->input.response_headers,
           "Connection", G_TYPE_STRING)) {
@@ -359,8 +361,8 @@
     g_free (date_str);
     g_date_time_unref (now);
   }
-  gst_structure_set (http_headers, "response-headers", GST_TYPE_STRUCTURE,
-      src->input.response_headers, NULL);
+  gst_structure_set (http_headers, TEST_HTTP_SRC_RESPONSE_HEADERS_NAME,
+      GST_TYPE_STRUCTURE, src->input.response_headers, NULL);
   if (src->http_headers_event) {
     gst_event_unref (src->http_headers_event);
   }
diff --git a/tests/check/elements/test_http_src.h b/tests/check/elements/test_http_src.h
index 61161af..3a83e25 100644
--- a/tests/check/elements/test_http_src.h
+++ b/tests/check/elements/test_http_src.h
@@ -27,6 +27,20 @@
 
 #define GST_TYPE_TEST_HTTP_SRC            (gst_test_http_src_get_type ())
 
+/**
+ * TEST_HTTP_SRC_REQUEST_HEADERS_NAME:
+ * The name of the #GstStructure that will contain all the HTTP request
+ * headers
+ */
+#define TEST_HTTP_SRC_REQUEST_HEADERS_NAME "request-headers"
+
+/**
+ * TEST_HTTP_SRC_RESPONSE_HEADERS_NAME:
+ * The name of the #GstStructure that will contain all the HTTP response
+ * headers
+ */
+#define TEST_HTTP_SRC_RESPONSE_HEADERS_NAME "response-headers"
+
 /* structure used by src_start function to configure the
  * GstTestHTTPSrc plugin.
  * It specifies information about a given URI.
diff --git a/tests/check/elements/uvch264demux.c b/tests/check/elements/uvch264demux.c
index fb8b17f..cf5c26a 100644
--- a/tests/check/elements/uvch264demux.c
+++ b/tests/check/elements/uvch264demux.c
@@ -373,6 +373,7 @@
   fail_unless (buffer_h264 == NULL && buffer_jpg != NULL);
   fail_unless (buffer_nv12 == NULL && buffer_yuy2 == NULL);
   fail_unless (gerror == NULL && error_debug == NULL);
+  gst_buffer_unref (buffer_jpg);
 
   _teardown_test ();
 }
@@ -644,6 +645,7 @@
   fail_unless (gerror == NULL);
   fail_unless (gst_buffer_get_size (buffer_h264) == sizeof (h264_data));
   fail_if (gst_buffer_memcmp (buffer_h264, 0, h264_data, sizeof (h264_data)));
+  gst_buffer_unref (buffer_h264);
 
   _teardown_test ();
 }
diff --git a/tests/check/libs/aggregator.c b/tests/check/libs/aggregator.c
index 16355b9..5f6ae2e 100644
--- a/tests/check/libs/aggregator.c
+++ b/tests/check/libs/aggregator.c
@@ -152,11 +152,9 @@
       GST_STATIC_PAD_TEMPLATE ("sink_%u", GST_PAD_SINK, GST_PAD_REQUEST,
       GST_STATIC_CAPS_ANY);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &_src_template);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class, &_sink_template);
 
   gst_element_class_set_static_metadata (gstelement_class, "Aggregator",
       "Testing", "Combine N buffers", "Stefan Sauer <ensonic@users.sf.net>");
@@ -344,6 +342,8 @@
       g_atomic_int_inc (&test->flush_stop_events);
   }
 
+  gst_mini_object_unref (info->data);
+
   return GST_PAD_PROBE_HANDLED;
 }
 
diff --git a/tests/check/libs/gstglcolorconvert.c b/tests/check/libs/gstglcolorconvert.c
index f2be514..d891c8b 100644
--- a/tests/check/libs/gstglcolorconvert.c
+++ b/tests/check/libs/gstglcolorconvert.c
@@ -141,13 +141,15 @@
     /* create GL buffer */
     inbuf = gst_buffer_new ();
     for (j = 0; j < GST_VIDEO_INFO_N_PLANES (&in_info); j++) {
+      GstVideoGLTextureType tex_type = gst_gl_texture_type_from_format (context,
+          GST_VIDEO_INFO_FORMAT (&in_info), j);
       GstGLVideoAllocationParams *params;
       GstGLBaseMemory *mem;
 
       ref_count++;
       params = gst_gl_video_allocation_params_new_wrapped_data (context, NULL,
-          &in_info, j, NULL, GST_GL_TEXTURE_TARGET_2D, frames[i].data[j],
-          &ref_count, _frame_unref);
+          &in_info, j, NULL, GST_GL_TEXTURE_TARGET_2D, tex_type,
+          frames[i].data[j], &ref_count, _frame_unref);
 
       mem = gst_gl_base_memory_alloc (base_mem_alloc,
           (GstGLAllocationParams *) params);
diff --git a/tests/check/libs/gstglcontext.c b/tests/check/libs/gstglcontext.c
index f2f27f8..662e3a7 100644
--- a/tests/check/libs/gstglcontext.c
+++ b/tests/check/libs/gstglcontext.c
@@ -42,7 +42,8 @@
   gst_object_unref (display);
 }
 
-static GLuint vbo, vbo_indices, vao, fbo_id, rbo, tex;
+static GstGLMemory *gl_tex;
+static GLuint vbo, vbo_indices, vao, fbo_id, rbo;
 static GstGLFramebuffer *fbo;
 static GstGLShader *shader;
 static GLint shader_attr_position_loc;
@@ -63,6 +64,15 @@
 {
   GstGLContext *context = data;
   GError *error = NULL;
+  GstVideoInfo v_info;
+  GstGLMemoryAllocator *allocator;
+  GstGLVideoAllocationParams *params;
+
+  gst_video_info_set_format (&v_info, GST_VIDEO_FORMAT_RGBA, 320, 240);
+  allocator = gst_gl_memory_allocator_get_default (context);
+  params =
+      gst_gl_video_allocation_params_new (context, NULL, &v_info, 0, NULL,
+      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);
@@ -70,8 +80,12 @@
   gst_gl_framebuffer_generate (fbo, 320, 240, &fbo_id, &rbo);
   fail_if (fbo == NULL || fbo_id == 0, "failed to create framebuffer object");
 
-  gst_gl_context_gen_texture (context, &tex, GST_VIDEO_FORMAT_RGBA, 320, 240);
-  fail_if (tex == 0, "failed to create texture");
+  gl_tex =
+      (GstGLMemory *) gst_gl_base_memory_alloc ((GstGLBaseMemoryAllocator *)
+      allocator, (GstGLAllocationParams *) params);
+  gst_object_unref (allocator);
+  gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
+  fail_if (gl_tex == NULL, "failed to create texture");
 
   shader = gst_gl_shader_new_default (context, &error);
   fail_if (shader == NULL, "failed to create shader object: %s",
@@ -88,11 +102,11 @@
 {
   GstGLContext *context = data;
   GstGLFuncs *gl = context->gl_vtable;
-  gl->DeleteTextures (1, &tex);
   if (vao)
     gl->DeleteVertexArrays (1, &vao);
   gst_object_unref (fbo);
   gst_object_unref (shader);
+  gst_memory_unref (GST_MEMORY_CAST (gl_tex));
 }
 
 static void
@@ -113,8 +127,8 @@
 static void
 draw_tex (gpointer data)
 {
-  gst_gl_framebuffer_use_v2 (fbo, 320, 240, fbo_id, rbo, tex,
-      (GLCB_V2) clear_tex, 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);
 }
 
 static void
@@ -210,7 +224,7 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, tex);
+  gl->BindTexture (GL_TEXTURE_2D, gst_gl_memory_get_texture_id (gl_tex));
   gst_gl_shader_set_uniform_1i (shader, "s_texture", 0);
 
   if (gl->GenVertexArrays)
diff --git a/tests/check/libs/gstglmemory.c b/tests/check/libs/gstglmemory.c
index 4130e3b..f8f9840 100644
--- a/tests/check/libs/gstglmemory.c
+++ b/tests/check/libs/gstglmemory.c
@@ -75,10 +75,12 @@
     gst_video_info_set_format (&v_info, formats[i], width, height);
 
     for (j = 0; j < GST_VIDEO_INFO_N_PLANES (&v_info); j++) {
+      GstVideoGLTextureType tex_type = gst_gl_texture_type_from_format (context,
+          GST_VIDEO_INFO_FORMAT (&v_info), j);
       GstGLVideoAllocationParams *params;
 
       params = gst_gl_video_allocation_params_new (context, NULL, &v_info, j,
-          NULL, GST_GL_TEXTURE_TARGET_2D);
+          NULL, GST_GL_TEXTURE_TARGET_2D, tex_type);
 
       mem = (GstMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
           (GstGLAllocationParams *) params);
@@ -137,7 +139,7 @@
   gst_video_info_set_format (&v_info, GST_VIDEO_FORMAT_RGBA, 1, 1);
 
   params = gst_gl_video_allocation_params_new (context, NULL, &v_info, 0,
-      NULL, GST_GL_TEXTURE_TARGET_2D);
+      NULL, GST_GL_TEXTURE_TARGET_2D, GST_VIDEO_GL_TEXTURE_TYPE_RGBA);
 
   /* texture creation */
   mem = (GstMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
@@ -150,7 +152,8 @@
 
   /* test wrapping raw data */
   params = gst_gl_video_allocation_params_new_wrapped_data (context, NULL,
-      &v_info, 0, NULL, GST_GL_TEXTURE_TARGET_2D, rgba_pixel, NULL, NULL);
+      &v_info, 0, NULL, GST_GL_TEXTURE_TARGET_2D,
+      GST_VIDEO_GL_TEXTURE_TYPE_RGBA, rgba_pixel, NULL, NULL);
   mem2 =
       (GstMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
       (GstGLAllocationParams *) params);
@@ -164,8 +167,9 @@
 
   /* wrapped texture creation */
   params = gst_gl_video_allocation_params_new_wrapped_texture (context, NULL,
-      &v_info, 0, NULL, GST_GL_TEXTURE_TARGET_2D, ((GstGLMemory *) mem)->tex_id,
-      NULL, NULL);
+      &v_info, 0, NULL, GST_GL_TEXTURE_TARGET_2D,
+      GST_VIDEO_GL_TEXTURE_TYPE_RGBA, ((GstGLMemory *) mem)->tex_id, NULL,
+      NULL);
   mem3 =
       (GstMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
       (GstGLAllocationParams *) params);
@@ -303,7 +307,8 @@
   gst_video_info_set_format (&v_info, GST_VIDEO_FORMAT_RGBA, 1, 1);
 
   params = gst_gl_video_allocation_params_new_wrapped_data (context, NULL,
-      &v_info, 0, NULL, GST_GL_TEXTURE_TARGET_2D, rgba_pixel, NULL, NULL);
+      &v_info, 0, NULL, GST_GL_TEXTURE_TARGET_2D,
+      GST_VIDEO_GL_TEXTURE_TYPE_RGBA, rgba_pixel, NULL, NULL);
   mem =
       (GstMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
       (GstGLAllocationParams *) params);
diff --git a/tests/check/libs/gstglupload.c b/tests/check/libs/gstglupload.c
index 64d7a33..4f9e4b2 100644
--- a/tests/check/libs/gstglupload.c
+++ b/tests/check/libs/gstglupload.c
@@ -86,6 +86,8 @@
   gst_object_unref (window);
   gst_object_unref (context);
   gst_object_unref (display);
+  if (shader)
+    gst_object_unref (shader);
 }
 
 static void
@@ -215,7 +217,8 @@
   /* create GL buffer */
   buffer = gst_buffer_new ();
   params = gst_gl_video_allocation_params_new_wrapped_data (context, NULL,
-      &in_info, 0, NULL, GST_GL_TEXTURE_TARGET_2D, rgba_data, NULL, NULL);
+      &in_info, 0, NULL, GST_GL_TEXTURE_TARGET_2D,
+      GST_VIDEO_GL_TEXTURE_TYPE_RGBA, rgba_data, NULL, NULL);
   gl_mem = (GstGLMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
       (GstGLAllocationParams *) params);
   gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
diff --git a/tests/check/libs/player.c b/tests/check/libs/player.c
index 3f2b25f..52a7ca0 100644
--- a/tests/check/libs/player.c
+++ b/tests/check/libs/player.c
@@ -132,6 +132,7 @@
   STATE_CHANGE_VIDEO_DIMENSIONS_CHANGED,
   STATE_CHANGE_MEDIA_INFO_UPDATED,
   STATE_CHANGE_SEEK_DONE,
+  STATE_CHANGE_URI_LOADED,
 } TestPlayerStateChange;
 
 static const gchar *
@@ -158,6 +159,8 @@
       return "media-info-updated";
     case STATE_CHANGE_SEEK_DONE:
       return "seek-done";
+    case STATE_CHANGE_URI_LOADED:
+      return "uri-loaded";
     default:
       g_assert_not_reached ();
       break;
@@ -175,6 +178,8 @@
   GstPlayerState state;
   gint width, height;
   GstPlayerMediaInfo *media_info;
+  gchar *uri_loaded;
+  gboolean stopping;
 
   void (*test_callback) (GstPlayer * player, TestPlayerStateChange change,
       TestPlayerState * old_state, TestPlayerState * new_state);
@@ -196,7 +201,8 @@
       "\tseek_done %d -> %d\n"
       "\tstate %s -> %s\n"
       "\twidth/height %d/%d -> %d/%d\n"
-      "\tmedia_info %p -> %p",
+      "\tmedia_info %p -> %p\n"
+      "\turi_loaded %s -> %s",
       test_player_state_change_get_name (change),
       old_state->buffering_percent, new_state->buffering_percent,
       GST_TIME_ARGS (old_state->position), GST_TIME_ARGS (new_state->position),
@@ -208,7 +214,8 @@
       gst_player_state_get_name (old_state->state),
       gst_player_state_get_name (new_state->state), old_state->width,
       old_state->height, new_state->width, new_state->height,
-      old_state->media_info, new_state->media_info);
+      old_state->media_info, new_state->media_info,
+      old_state->uri_loaded, new_state->uri_loaded);
 }
 
 static void
@@ -220,6 +227,8 @@
   state->state = GST_PLAYER_STATE_STOPPED;
   state->width = state->height = 0;
   state->media_info = NULL;
+  state->stopping = FALSE;
+  g_clear_pointer (&state->uri_loaded, g_free);
 }
 
 static void
@@ -227,6 +236,8 @@
 {
   TestPlayerState old_state = *state;
 
+  g_assert (!state->stopping);
+
   state->buffering_percent = percent;
   test_player_state_change_debug (player, STATE_CHANGE_BUFFERING, &old_state,
       state);
@@ -239,6 +250,8 @@
 {
   TestPlayerState old_state = *state;
 
+  g_assert (!state->stopping);
+
   state->duration = duration;
   test_player_state_change_debug (player, STATE_CHANGE_DURATION_CHANGED,
       &old_state, state);
@@ -251,6 +264,8 @@
 {
   TestPlayerState old_state = *state;
 
+  g_assert (!state->stopping);
+
   state->end_of_stream = TRUE;
   test_player_state_change_debug (player, STATE_CHANGE_END_OF_STREAM,
       &old_state, state);
@@ -262,6 +277,8 @@
 {
   TestPlayerState old_state = *state;
 
+  g_assert (!state->stopping);
+
   state->error = TRUE;
   test_player_state_change_debug (player, STATE_CHANGE_ERROR, &old_state,
       state);
@@ -273,6 +290,8 @@
 {
   TestPlayerState old_state = *state;
 
+  g_assert (!state->stopping);
+
   state->warning = TRUE;
   test_player_state_change_debug (player, STATE_CHANGE_WARNING, &old_state,
       state);
@@ -285,6 +304,8 @@
 {
   TestPlayerState old_state = *state;
 
+  g_assert (!state->stopping);
+
   state->position = position;
   test_player_state_change_debug (player, STATE_CHANGE_POSITION_UPDATED,
       &old_state, state);
@@ -298,6 +319,8 @@
 {
   TestPlayerState old_state = *state;
 
+  g_assert (!state->stopping);
+
   state->media_info = media_info;
 
   test_player_state_change_debug (player, STATE_CHANGE_MEDIA_INFO_UPDATED,
@@ -312,6 +335,8 @@
 {
   TestPlayerState old_state = *state;
 
+  g_assert (!state->stopping || player_state == GST_PLAYER_STATE_STOPPED);
+
   state->state = player_state;
 
   if (player_state == GST_PLAYER_STATE_STOPPED)
@@ -328,6 +353,8 @@
 {
   TestPlayerState old_state = *state;
 
+  g_assert (!state->stopping);
+
   state->width = width;
   state->height = height;
   test_player_state_change_debug (player, STATE_CHANGE_VIDEO_DIMENSIONS_CHANGED,
@@ -341,6 +368,8 @@
 {
   TestPlayerState old_state = *state;
 
+  g_assert (!state->stopping);
+
   state->seek_done = TRUE;
   state->seek_done_position = position;
   test_player_state_change_debug (player, STATE_CHANGE_SEEK_DONE,
@@ -348,6 +377,15 @@
   state->test_callback (player, STATE_CHANGE_SEEK_DONE, &old_state, state);
 }
 
+static void
+uri_loaded_cb (GstPlayer * player, const gchar * uri, TestPlayerState * state)
+{
+  TestPlayerState old_state = *state;
+
+  state->uri_loaded = g_strdup (uri);
+  state->test_callback (player, STATE_CHANGE_URI_LOADED, &old_state, state);
+}
+
 static GstPlayer *
 test_player_new (TestPlayerState * state)
 {
@@ -386,11 +424,34 @@
   g_signal_connect (player, "video-dimensions-changed",
       G_CALLBACK (video_dimensions_changed_cb), state);
   g_signal_connect (player, "seek-done", G_CALLBACK (seek_done_cb), state);
+  g_signal_connect (player, "uri-loaded", G_CALLBACK (uri_loaded_cb), state);
 
   return player;
 }
 
 static void
+test_player_stopped_cb (GstPlayer * player, TestPlayerStateChange change,
+    TestPlayerState * old_state, TestPlayerState * new_state)
+{
+  if (new_state->state == GST_PLAYER_STATE_STOPPED) {
+    g_main_loop_quit (new_state->loop);
+  }
+}
+
+static void
+stop_player (GstPlayer * player, TestPlayerState * state)
+{
+  if (state->state != GST_PLAYER_STATE_STOPPED) {
+    /* Make sure all pending operations are finished so the player won't be
+     * appear as 'leaked' to leak detection tools. */
+    state->test_callback = test_player_stopped_cb;
+    gst_player_stop (player);
+    state->stopping = TRUE;
+    g_main_loop_run (state->loop);
+  }
+}
+
+static void
 test_play_audio_video_eos_cb (GstPlayer * player, TestPlayerStateChange change,
     TestPlayerState * old_state, TestPlayerState * new_state)
 {
@@ -402,18 +463,29 @@
 
   switch (step) {
     case 0:
+      fail_unless_equals_int (change, STATE_CHANGE_URI_LOADED);
+      if (video)
+        fail_unless (g_str_has_suffix (new_state->uri_loaded,
+                "audio-video-short.ogg"));
+      else
+        fail_unless (g_str_has_suffix (new_state->uri_loaded,
+                "audio-short.ogg"));
+      new_state->test_data =
+          GINT_TO_POINTER ((video ? 0x10 : 0x00) | (step + 1));
+      break;
+    case 1:
       fail_unless_equals_int (change, STATE_CHANGE_STATE_CHANGED);
       fail_unless_equals_int (old_state->state, GST_PLAYER_STATE_STOPPED);
       fail_unless_equals_int (new_state->state, GST_PLAYER_STATE_BUFFERING);
       new_state->test_data =
           GINT_TO_POINTER ((video ? 0x10 : 0x00) | (step + 1));
       break;
-    case 1:
+    case 2:
       fail_unless_equals_int (change, STATE_CHANGE_MEDIA_INFO_UPDATED);
       new_state->test_data =
           GINT_TO_POINTER ((video ? 0x10 : 0x00) | (step + 1));
       break;
-    case 2:
+    case 3:
       fail_unless_equals_int (change, STATE_CHANGE_VIDEO_DIMENSIONS_CHANGED);
       if (video) {
         fail_unless_equals_int (new_state->width, 320);
@@ -425,27 +497,27 @@
       new_state->test_data =
           GINT_TO_POINTER ((video ? 0x10 : 0x00) | (step + 1));
       break;
-    case 3:
+    case 4:
       fail_unless_equals_int (change, STATE_CHANGE_DURATION_CHANGED);
       fail_unless_equals_uint64 (new_state->duration,
           G_GUINT64_CONSTANT (464399092));
       new_state->test_data =
           GINT_TO_POINTER ((video ? 0x10 : 0x00) | (step + 1));
       break;
-    case 4:
+    case 5:
       fail_unless_equals_int (change, STATE_CHANGE_POSITION_UPDATED);
       fail_unless_equals_uint64 (new_state->position, G_GUINT64_CONSTANT (0));
       new_state->test_data =
           GINT_TO_POINTER ((video ? 0x10 : 0x00) | (step + 1));
       break;
-    case 5:
+    case 6:
       fail_unless_equals_int (change, STATE_CHANGE_STATE_CHANGED);
       fail_unless_equals_int (old_state->state, GST_PLAYER_STATE_BUFFERING);
       fail_unless_equals_int (new_state->state, GST_PLAYER_STATE_PLAYING);
       new_state->test_data =
           GINT_TO_POINTER ((video ? 0x10 : 0x00) | (step + 1));
       break;
-    case 6:
+    case 7:
       if (change == STATE_CHANGE_POSITION_UPDATED) {
         fail_unless (old_state->position <= new_state->position);
       } else {
@@ -455,7 +527,7 @@
             GINT_TO_POINTER ((video ? 0x10 : 0x00) | (step + 1));
       }
       break;
-    case 7:
+    case 8:
       fail_unless_equals_int (change, STATE_CHANGE_STATE_CHANGED);
       fail_unless_equals_int (old_state->state, GST_PLAYER_STATE_PLAYING);
       fail_unless_equals_int (new_state->state, GST_PLAYER_STATE_STOPPED);
@@ -492,8 +564,9 @@
   gst_player_play (player);
   g_main_loop_run (state.loop);
 
-  fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 8);
+  fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 9);
 
+  stop_player (player, &state);
   g_object_unref (player);
   g_main_loop_unref (state.loop);
 }
@@ -672,6 +745,7 @@
   g_main_loop_run (state.loop);
 
   fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 1);
+  stop_player (player, &state);
   g_object_unref (player);
   g_main_loop_unref (state.loop);
 }
@@ -764,6 +838,7 @@
 
   fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 0x33);
 
+  stop_player (player, &state);
   g_object_unref (player);
   g_main_loop_unref (state.loop);
 }
@@ -828,6 +903,7 @@
 
   fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 2);
 
+  stop_player (player, &state);
   g_object_unref (player);
   g_main_loop_unref (state.loop);
 }
@@ -892,6 +968,7 @@
 
   fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 2);
 
+  stop_player (player, &state);
   g_object_unref (player);
   g_main_loop_unref (state.loop);
 }
@@ -923,6 +1000,7 @@
 
   fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 2);
 
+  stop_player (player, &state);
   g_object_unref (player);
   g_main_loop_unref (state.loop);
 }
@@ -1001,6 +1079,7 @@
 
   fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 2);
 
+  stop_player (player, &state);
   g_object_unref (player);
   g_main_loop_unref (state.loop);
 }
@@ -1072,6 +1151,7 @@
 
   fail_unless_equals_int (GPOINTER_TO_INT (state.test_data) & 0xf, 10);
 
+  stop_player (player, &state);
   g_object_unref (player);
   g_main_loop_unref (state.loop);
 }
@@ -1103,6 +1183,7 @@
 
   fail_unless_equals_int (GPOINTER_TO_INT (state.test_data) & 0xf, 10);
 
+  stop_player (player, &state);
   g_object_unref (player);
   g_main_loop_unref (state.loop);
 }
@@ -1132,8 +1213,9 @@
   gst_player_play (player);
   g_main_loop_run (state.loop);
 
-  fail_unless_equals_int (GPOINTER_TO_INT (state.test_data) & (~0x10), 8);
+  fail_unless_equals_int (GPOINTER_TO_INT (state.test_data) & (~0x10), 9);
 
+  stop_player (player, &state);
   g_object_unref (player);
   g_main_loop_unref (state.loop);
 }
@@ -1149,16 +1231,21 @@
 
   switch (step) {
     case 0:
+      fail_unless_equals_int (change, STATE_CHANGE_URI_LOADED);
+      fail_unless_equals_string (new_state->uri_loaded, "foo://bar");
+      new_state->test_data = GINT_TO_POINTER (step + 1);
+      break;
+    case 1:
       fail_unless_equals_int (change, STATE_CHANGE_STATE_CHANGED);
       fail_unless_equals_int (old_state->state, GST_PLAYER_STATE_STOPPED);
       fail_unless_equals_int (new_state->state, GST_PLAYER_STATE_BUFFERING);
       new_state->test_data = GINT_TO_POINTER (step + 1);
       break;
-    case 1:
+    case 2:
       fail_unless_equals_int (change, STATE_CHANGE_ERROR);
       new_state->test_data = GINT_TO_POINTER (step + 1);
       break;
-    case 2:
+    case 3:
       fail_unless_equals_int (change, STATE_CHANGE_STATE_CHANGED);
       fail_unless_equals_int (old_state->state, GST_PLAYER_STATE_BUFFERING);
       fail_unless_equals_int (new_state->state, GST_PLAYER_STATE_STOPPED);
@@ -1190,8 +1277,9 @@
   gst_player_play (player);
   g_main_loop_run (state.loop);
 
-  fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 3);
+  fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 4);
 
+  stop_player (player, &state);
   g_object_unref (player);
   g_main_loop_unref (state.loop);
 }
@@ -1208,16 +1296,21 @@
 
   switch (step) {
     case 0:
+      fail_unless_equals_int (change, STATE_CHANGE_URI_LOADED);
+      fail_unless_equals_string (new_state->uri_loaded, "foo://bar");
+      new_state->test_data = GINT_TO_POINTER (step + 1);
+      break;
+    case 1:
       fail_unless_equals_int (change, STATE_CHANGE_STATE_CHANGED);
       fail_unless_equals_int (old_state->state, GST_PLAYER_STATE_STOPPED);
       fail_unless_equals_int (new_state->state, GST_PLAYER_STATE_BUFFERING);
       new_state->test_data = GINT_TO_POINTER (step + 1);
       break;
-    case 1:
+    case 2:
       fail_unless_equals_int (change, STATE_CHANGE_ERROR);
       new_state->test_data = GINT_TO_POINTER (step + 1);
       break;
-    case 2:
+    case 3:
       fail_unless_equals_int (change, STATE_CHANGE_STATE_CHANGED);
       fail_unless_equals_int (old_state->state, GST_PLAYER_STATE_BUFFERING);
       fail_unless_equals_int (new_state->state, GST_PLAYER_STATE_STOPPED);
@@ -1230,34 +1323,39 @@
 
       gst_player_play (player);
       break;
-    case 3:
+    case 4:
+      fail_unless_equals_int (change, STATE_CHANGE_URI_LOADED);
+      fail_unless (g_str_has_suffix (new_state->uri_loaded, "audio-short.ogg"));
+      new_state->test_data = GINT_TO_POINTER (step + 1);
+      break;
+    case 5:
       fail_unless_equals_int (change, STATE_CHANGE_STATE_CHANGED);
       fail_unless_equals_int (old_state->state, GST_PLAYER_STATE_STOPPED);
       fail_unless_equals_int (new_state->state, GST_PLAYER_STATE_BUFFERING);
       new_state->test_data = GINT_TO_POINTER (step + 1);
       break;
-    case 4:
+    case 6:
       fail_unless_equals_int (change, STATE_CHANGE_MEDIA_INFO_UPDATED);
       new_state->test_data = GINT_TO_POINTER (step + 1);
       break;
-    case 5:
+    case 7:
       fail_unless_equals_int (change, STATE_CHANGE_VIDEO_DIMENSIONS_CHANGED);
       fail_unless_equals_int (new_state->width, 0);
       fail_unless_equals_int (new_state->height, 0);
       new_state->test_data = GINT_TO_POINTER (step + 1);
       break;
-    case 6:
+    case 8:
       fail_unless_equals_int (change, STATE_CHANGE_DURATION_CHANGED);
       fail_unless_equals_uint64 (new_state->duration,
           G_GUINT64_CONSTANT (464399092));
       new_state->test_data = GINT_TO_POINTER (step + 1);
       break;
-    case 7:
+    case 9:
       fail_unless_equals_int (change, STATE_CHANGE_POSITION_UPDATED);
       fail_unless_equals_uint64 (new_state->position, G_GUINT64_CONSTANT (0));
       new_state->test_data = GINT_TO_POINTER (step + 1);
       break;
-    case 8:
+    case 10:
       fail_unless_equals_int (change, STATE_CHANGE_STATE_CHANGED);
       fail_unless_equals_int (old_state->state, GST_PLAYER_STATE_BUFFERING);
       fail_unless_equals_int (new_state->state, GST_PLAYER_STATE_PLAYING);
@@ -1289,8 +1387,9 @@
   gst_player_play (player);
   g_main_loop_run (state.loop);
 
-  fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 9);
+  fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 11);
 
+  stop_player (player, &state);
   g_object_unref (player);
   g_main_loop_unref (state.loop);
 }
@@ -1341,6 +1440,7 @@
 
   fail_unless_equals_int (GPOINTER_TO_INT (state.test_data) & (~0x10), 2);
 
+  stop_player (player, &state);
   g_object_unref (player);
   g_main_loop_unref (state.loop);
 }
@@ -1425,6 +1525,87 @@
 
   fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 5);
 
+  stop_player (player, &state);
+  g_object_unref (player);
+  g_main_loop_unref (state.loop);
+}
+
+END_TEST;
+
+static void
+test_restart_cb (GstPlayer * player,
+    TestPlayerStateChange change, TestPlayerState * old_state,
+    TestPlayerState * new_state)
+{
+  gint steps = GPOINTER_TO_INT (new_state->test_data);
+
+  if (!steps && change == STATE_CHANGE_URI_LOADED) {
+    fail_unless (g_str_has_suffix (new_state->uri_loaded, "sintel.mkv"));
+    new_state->test_data = GINT_TO_POINTER (steps + 1);
+  } else if (change == STATE_CHANGE_STATE_CHANGED
+      && new_state->state == GST_PLAYER_STATE_BUFFERING) {
+    new_state->test_data = GINT_TO_POINTER (steps + 1);
+    g_main_loop_quit (new_state->loop);
+  }
+}
+
+static void
+test_restart_cb2 (GstPlayer * player,
+    TestPlayerStateChange change, TestPlayerState * old_state,
+    TestPlayerState * new_state)
+{
+  gint steps = GPOINTER_TO_INT (new_state->test_data);
+
+  if (!steps && change == STATE_CHANGE_URI_LOADED) {
+    fail_unless (g_str_has_suffix (new_state->uri_loaded, "audio-short.ogg"));
+    new_state->test_data = GINT_TO_POINTER (steps + 1);
+  } else if (change == STATE_CHANGE_STATE_CHANGED
+      && new_state->state == GST_PLAYER_STATE_BUFFERING) {
+    new_state->test_data = GINT_TO_POINTER (steps + 1);
+    g_main_loop_quit (new_state->loop);
+  }
+}
+
+
+START_TEST (test_restart)
+{
+  GstPlayer *player;
+  TestPlayerState state;
+  gchar *uri;
+
+  memset (&state, 0, sizeof (state));
+  state.loop = g_main_loop_new (NULL, FALSE);
+  state.test_callback = test_restart_cb;
+  state.test_data = GINT_TO_POINTER (0);
+
+  player = test_player_new (&state);
+
+  fail_unless (player != NULL);
+
+  uri = gst_filename_to_uri (TEST_PATH "/sintel.mkv", NULL);
+  fail_unless (uri != NULL);
+  gst_player_set_uri (player, uri);
+  g_free (uri);
+
+  gst_player_play (player);
+  g_main_loop_run (state.loop);
+  fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 2);
+  stop_player (player, &state);
+
+  /* Try again with another URI */
+  state.test_data = GINT_TO_POINTER (0);
+  state.test_callback = test_restart_cb2;
+
+  uri = gst_filename_to_uri (TEST_PATH "/audio-short.ogg", NULL);
+  fail_unless (uri != NULL);
+  gst_player_set_uri (player, uri);
+  g_free (uri);
+
+  gst_player_play (player);
+  g_main_loop_run (state.loop);
+  fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 2);
+  stop_player (player, &state);
+
   g_object_unref (player);
   g_main_loop_unref (state.loop);
 }
@@ -1472,6 +1653,7 @@
   tcase_add_test (tc_general, test_play_forward_rate);
   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);
 
   suite_add_tcase (s, tc_general);
 
diff --git a/tests/check/pipelines/simple-launch-lines.c b/tests/check/pipelines/simple-launch-lines.c
new file mode 100644
index 0000000..5cfc98c
--- /dev/null
+++ b/tests/check/pipelines/simple-launch-lines.c
@@ -0,0 +1,357 @@
+/* GStreamer
+ * Copyright (C) 2005 Andy Wingo <wingo@pobox.com>
+ *
+ * simple_launch_lines.c: Unit test for simple pipelines
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gst/check/gstcheck.h>
+#include <gst/gl/gstglconfig.h>
+
+#ifndef GST_DISABLE_PARSE
+
+static GstElement *
+setup_pipeline (const gchar * pipe_descr)
+{
+  GstElement *pipeline;
+
+  pipeline = gst_parse_launch (pipe_descr, NULL);
+  g_return_val_if_fail (GST_IS_PIPELINE (pipeline), NULL);
+  return pipeline;
+}
+
+/* 
+ * run_pipeline:
+ * @pipe: the pipeline to run
+ * @desc: the description for use in messages
+ * @events: is a mask of expected events
+ * @tevent: is the expected terminal event.
+ *
+ * the poll call will time out after half a second.
+ */
+static void
+run_pipeline (GstElement * pipe, const gchar * descr,
+    GstMessageType events, GstMessageType tevent, GstState target_state)
+{
+  GstBus *bus;
+  GstMessage *message;
+  GstMessageType revent;
+  GstStateChangeReturn ret;
+
+  g_assert (pipe);
+  bus = gst_element_get_bus (pipe);
+  g_assert (bus);
+
+  fail_if (gst_element_set_state (pipe, target_state) ==
+      GST_STATE_CHANGE_FAILURE, "Could not set pipeline %s to playing", descr);
+  ret = gst_element_get_state (pipe, NULL, NULL, 10 * GST_SECOND);
+  if (ret == GST_STATE_CHANGE_ASYNC) {
+    g_critical ("Pipeline '%s' failed to go to PAUSED fast enough", descr);
+    goto done;
+  } else if ((ret != GST_STATE_CHANGE_SUCCESS)
+      && (ret != GST_STATE_CHANGE_NO_PREROLL)) {
+    g_critical ("Pipeline '%s' failed to go into PAUSED state (%s)", descr,
+        gst_element_state_change_return_get_name (ret));
+    goto done;
+  }
+
+  while (1) {
+    message = gst_bus_poll (bus, GST_MESSAGE_ANY, GST_SECOND / 2);
+
+    /* always have to pop the message before getting back into poll */
+    if (message) {
+      revent = GST_MESSAGE_TYPE (message);
+      gst_message_unref (message);
+    } else {
+      revent = GST_MESSAGE_UNKNOWN;
+    }
+
+    if (revent == tevent) {
+      break;
+    } else if (revent == GST_MESSAGE_UNKNOWN) {
+      g_critical ("Unexpected timeout in gst_bus_poll, looking for %d: %s",
+          tevent, descr);
+      break;
+    } else if (revent & events) {
+      continue;
+    }
+    g_critical
+        ("Unexpected message received of type %d, '%s', looking for %d: %s",
+        revent, gst_message_type_get_name (revent), tevent, descr);
+  }
+
+done:
+  fail_if (gst_element_set_state (pipe, GST_STATE_NULL) ==
+      GST_STATE_CHANGE_FAILURE, "Could not set pipeline %s to NULL", descr);
+  gst_element_get_state (pipe, NULL, NULL, GST_CLOCK_TIME_NONE);
+  gst_object_unref (pipe);
+
+  gst_bus_set_flushing (bus, TRUE);
+  gst_object_unref (bus);
+}
+
+GST_START_TEST (test_glimagesink)
+{
+  const gchar *s;
+  GstState target_state = GST_STATE_PLAYING;
+
+  s = "videotestsrc num-buffers=10 ! glimagesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+}
+
+GST_END_TEST
+GST_START_TEST (test_glfiltercube)
+{
+  const gchar *s;
+  GstState target_state = GST_STATE_PLAYING;
+
+  s = "videotestsrc num-buffers=10 ! glupload ! glfiltercube ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+}
+
+GST_END_TEST
+#define N_EFFECTS 18
+GST_START_TEST (test_gleffects)
+{
+  gchar *s;
+  GstState target_state = GST_STATE_PLAYING;
+  guint i;
+
+  for (i = 0; i < N_EFFECTS; i++) {
+    s = g_strdup_printf ("videotestsrc num-buffers=10 ! glupload ! "
+        "gleffects effect=%i ! fakesink", i);
+    run_pipeline (setup_pipeline (s), s,
+        GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+        GST_MESSAGE_UNKNOWN, target_state);
+    g_free (s);
+  }
+}
+
+GST_END_TEST
+#undef N_EFFECTS
+GST_START_TEST (test_glshader)
+{
+  const gchar *s;
+  GstState target_state = GST_STATE_PLAYING;
+
+  s = "videotestsrc num-buffers=10 ! glupload ! glshader ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+
+#if GST_GL_HAVE_OPENGL
+  s = "gltestsrc num-buffers=10 ! glshader ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+#endif
+}
+
+GST_END_TEST
+GST_START_TEST (test_glfilterapp)
+{
+  const gchar *s;
+  GstState target_state = GST_STATE_PLAYING;
+
+  s = "videotestsrc num-buffers=10 ! glupload ! glfilterapp ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+
+#if GST_GL_HAVE_OPENGL
+  s = "gltestsrc num-buffers=10 ! glfilterapp ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+#endif
+}
+
+GST_END_TEST
+GST_START_TEST (test_gloverlay)
+{
+  const gchar *s;
+  GstState target_state = GST_STATE_PLAYING;
+
+  s = "videotestsrc num-buffers=10 ! glupload ! gloverlay ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+
+#if GST_GL_HAVE_OPENGL
+  s = "gltestsrc num-buffers=10 ! gloverlay ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+#endif
+}
+
+GST_END_TEST
+#if GST_GL_HAVE_OPENGL
+#define N_SRCS 13
+GST_START_TEST (test_gltestsrc)
+{
+  gchar *s;
+  GstState target_state = GST_STATE_PLAYING;
+  guint i;
+
+  for (i = 0; i < N_SRCS; i++) {
+    s = g_strdup_printf ("gltestsrc pattern=%i num-buffers=10 ! fakesink", i);
+    run_pipeline (setup_pipeline (s), s,
+        GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+        GST_MESSAGE_UNKNOWN, target_state);
+    g_free (s);
+  }
+}
+
+GST_END_TEST
+#undef N_SRCS
+GST_START_TEST (test_glfilterglass)
+{
+  const gchar *s;
+  GstState target_state = GST_STATE_PLAYING;
+
+  s = "videotestsrc num-buffers=10 ! glupload ! glfilterglass ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+
+  s = "gltestsrc num-buffers=10 ! glfilterglass ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+}
+
+GST_END_TEST
+#if 0
+GST_START_TEST (test_glfilterreflectedscreen)
+{
+  const gchar *s;
+  GstState target_state = GST_STATE_PLAYING;
+
+  s = "videotestsrc num-buffers=10 ! glupload ! glfilterreflectedscreen ! "
+      "fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+
+  s = "gltestsrc num-buffers=10 ! glfilterreflectedscreen ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+}
+
+GST_END_TEST
+#endif
+GST_START_TEST (test_gldeinterlace)
+{
+  const gchar *s;
+  GstState target_state = GST_STATE_PLAYING;
+
+  s = "videotestsrc num-buffers=10 ! glupload ! gldeinterlace ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+
+  s = "gltestsrc num-buffers=10 ! gldeinterlace ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+}
+
+GST_END_TEST
+GST_START_TEST (test_glmosaic)
+{
+  const gchar *s;
+  GstState target_state = GST_STATE_PLAYING;
+
+  s = "videotestsrc num-buffers=10 ! glupload ! glmosaic ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+
+  s = "gltestsrc num-buffers=10 ! glmosaic ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+}
+
+GST_END_TEST
+GST_START_TEST (test_gldifferencematte)
+{
+  const gchar *s;
+  GstState target_state = GST_STATE_PLAYING;
+
+  s = "videotestsrc num-buffers=10 ! glupload ! gldifferencematte ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+
+  s = "gltestsrc num-buffers=10 ! gldifferencematte ! fakesink";
+  run_pipeline (setup_pipeline (s), s,
+      GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING),
+      GST_MESSAGE_UNKNOWN, target_state);
+}
+
+GST_END_TEST
+#endif /* GST_GL_HAVE_OPENGL */
+#endif /* !GST_DISABLE_PARSE */
+static Suite *
+simple_launch_lines_suite (void)
+{
+  Suite *s = suite_create ("Pipelines");
+  TCase *tc_chain = tcase_create ("linear");
+
+  /* time out after 60s, not the default 3 */
+  tcase_set_timeout (tc_chain, 60);
+
+  suite_add_tcase (s, tc_chain);
+#ifndef GST_DISABLE_PARSE
+  tcase_add_test (tc_chain, test_glimagesink);
+  tcase_add_test (tc_chain, test_glfiltercube);
+  tcase_add_test (tc_chain, test_gleffects);
+  tcase_add_test (tc_chain, test_glshader);
+  tcase_add_test (tc_chain, test_glfilterapp);
+#ifdef HAVE_PNG
+#ifdef HAVE_JPEG
+  tcase_add_test (tc_chain, test_gloverlay);
+#endif
+#endif
+#if GST_GL_HAVE_OPENGL
+  tcase_add_test (tc_chain, test_gltestsrc);
+  tcase_add_test (tc_chain, test_glfilterglass);
+/*  tcase_add_test (tc_chain, test_glfilterreflectedscreen);*/
+  tcase_add_test (tc_chain, test_glmosaic);
+  tcase_add_test (tc_chain, test_gldeinterlace);
+#ifdef HAVE_PNG
+  tcase_add_test (tc_chain, test_gldifferencematte);
+/*  tcase_add_test (tc_chain, test_glbumper);*/
+#ifdef HAVE_JPEG
+#endif /* HAVE_JPEG */
+#endif /* HAVE_PNG */
+#endif /* GST_GL_HAVE_OPENGL */
+#endif /* !GST_DISABLE_PARSE */
+  return s;
+}
+
+GST_CHECK_MAIN (simple_launch_lines);
diff --git a/tests/examples/Makefile.in b/tests/examples/Makefile.in
index 3872c0f..2063f5d 100644
--- a/tests/examples/Makefile.in
+++ b/tests/examples/Makefile.in
@@ -318,6 +318,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -533,6 +535,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -659,8 +663,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -705,6 +707,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/avsamplesink/Makefile.in b/tests/examples/avsamplesink/Makefile.in
index a9fbae1..4697408 100644
--- a/tests/examples/avsamplesink/Makefile.in
+++ b/tests/examples/avsamplesink/Makefile.in
@@ -272,6 +272,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -487,6 +489,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -613,8 +617,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -659,6 +661,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/camerabin2/Makefile.in b/tests/examples/camerabin2/Makefile.in
index e788b01..6873f0a 100644
--- a/tests/examples/camerabin2/Makefile.in
+++ b/tests/examples/camerabin2/Makefile.in
@@ -290,6 +290,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -505,6 +507,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -631,8 +635,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -677,6 +679,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/codecparsers/Makefile.in b/tests/examples/codecparsers/Makefile.in
index a809599..9d1e72d 100644
--- a/tests/examples/codecparsers/Makefile.in
+++ b/tests/examples/codecparsers/Makefile.in
@@ -275,6 +275,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -490,6 +492,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -616,8 +620,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -662,6 +664,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/directfb/Makefile.in b/tests/examples/directfb/Makefile.in
index 621282f..e0cd6bb 100644
--- a/tests/examples/directfb/Makefile.in
+++ b/tests/examples/directfb/Makefile.in
@@ -269,6 +269,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -484,6 +486,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -610,8 +614,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -656,6 +658,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gl/Makefile.in b/tests/examples/gl/Makefile.in
index 41a15c5..d9dbcc5 100644
--- a/tests/examples/gl/Makefile.in
+++ b/tests/examples/gl/Makefile.in
@@ -280,6 +280,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -495,6 +497,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -621,8 +625,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -667,6 +669,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gl/clutter/Makefile.in b/tests/examples/gl/clutter/Makefile.in
index aeda840..e89fae1 100644
--- a/tests/examples/gl/clutter/Makefile.in
+++ b/tests/examples/gl/clutter/Makefile.in
@@ -312,6 +312,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -527,6 +529,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -653,8 +657,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -699,6 +701,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gl/cocoa/Makefile.in b/tests/examples/gl/cocoa/Makefile.in
index 1ee387b..62c4dd4 100644
--- a/tests/examples/gl/cocoa/Makefile.in
+++ b/tests/examples/gl/cocoa/Makefile.in
@@ -275,6 +275,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -490,6 +492,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -616,8 +620,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -662,6 +664,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gl/generic/Makefile.in b/tests/examples/gl/generic/Makefile.in
index 8455ec5..daad8f0 100644
--- a/tests/examples/gl/generic/Makefile.in
+++ b/tests/examples/gl/generic/Makefile.in
@@ -276,6 +276,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -491,6 +493,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -617,8 +621,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -663,6 +665,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gl/generic/cube/Makefile.in b/tests/examples/gl/generic/cube/Makefile.in
index 9c8a066..4ebbb77 100644
--- a/tests/examples/gl/generic/cube/Makefile.in
+++ b/tests/examples/gl/generic/cube/Makefile.in
@@ -271,6 +271,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -486,6 +488,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -612,8 +616,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -658,6 +660,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gl/generic/cubeyuv/Makefile.in b/tests/examples/gl/generic/cubeyuv/Makefile.in
index 967f181..ec151aa 100644
--- a/tests/examples/gl/generic/cubeyuv/Makefile.in
+++ b/tests/examples/gl/generic/cubeyuv/Makefile.in
@@ -271,6 +271,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -486,6 +488,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -612,8 +616,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -658,6 +660,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gl/generic/doublecube/Makefile.in b/tests/examples/gl/generic/doublecube/Makefile.in
index 80da624..c11d5a4 100644
--- a/tests/examples/gl/generic/doublecube/Makefile.in
+++ b/tests/examples/gl/generic/doublecube/Makefile.in
@@ -271,6 +271,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -486,6 +488,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -612,8 +616,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -658,6 +660,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gl/generic/recordgraphic/Makefile.in b/tests/examples/gl/generic/recordgraphic/Makefile.in
index ccbb38e..aee6f90 100644
--- a/tests/examples/gl/generic/recordgraphic/Makefile.in
+++ b/tests/examples/gl/generic/recordgraphic/Makefile.in
@@ -272,6 +272,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -487,6 +489,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -613,8 +617,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -659,6 +661,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gl/gtk/3dvideo/Makefile.in b/tests/examples/gl/gtk/3dvideo/Makefile.in
index eea6a64..7d1367f 100644
--- a/tests/examples/gl/gtk/3dvideo/Makefile.in
+++ b/tests/examples/gl/gtk/3dvideo/Makefile.in
@@ -295,6 +295,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -510,6 +512,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -636,8 +640,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -682,6 +684,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gl/gtk/3dvideo/main.cpp b/tests/examples/gl/gtk/3dvideo/main.cpp
index 1d8e5b7..16692f2 100644
--- a/tests/examples/gl/gtk/3dvideo/main.cpp
+++ b/tests/examples/gl/gtk/3dvideo/main.cpp
@@ -47,6 +47,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;
@@ -107,6 +110,17 @@
   return FALSE;
 }
 
+static gboolean
+resize_cb (GtkWidget * widget, GdkEvent * event, gpointer sink)
+{
+  GtkAllocation allocation;
+
+  gtk_widget_get_allocation (widget, &allocation);
+  gst_video_overlay_set_render_rectangle (GST_VIDEO_OVERLAY (sink), allocation.x, allocation.y, allocation.width, allocation.height);
+
+  return G_SOURCE_CONTINUE;
+}
+
 static void
 destroy_cb (GtkWidget * widget, GdkEvent * event, GstElement * pipeline)
 {
@@ -406,6 +420,7 @@
 
   /* Redraw needed when paused or stopped (PAUSED or READY) */
   g_signal_connect (area, "draw", G_CALLBACK (draw_cb), videosink);
+  g_signal_connect(area, "configure-event", G_CALLBACK(resize_cb), videosink);
 
   gtk_widget_show_all (window);
 
diff --git a/tests/examples/gl/gtk/Makefile.am b/tests/examples/gl/gtk/Makefile.am
index 3c18679..5728905 100644
--- a/tests/examples/gl/gtk/Makefile.am
+++ b/tests/examples/gl/gtk/Makefile.am
@@ -1,5 +1,5 @@
 
-SUBDIRS = . gtkvideooverlay filternovideooverlay filtervideooverlay fxtest switchvideooverlay 3dvideo
+SUBDIRS = . filternovideooverlay filtervideooverlay fxtest switchvideooverlay 3dvideo
 
 noinst_LTLIBRARIES = libgstgtkhelper.la
 
diff --git a/tests/examples/gl/gtk/Makefile.in b/tests/examples/gl/gtk/Makefile.in
index 34d00c8..113dfb2 100644
--- a/tests/examples/gl/gtk/Makefile.in
+++ b/tests/examples/gl/gtk/Makefile.in
@@ -312,6 +312,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -527,6 +529,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -653,8 +657,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -699,6 +701,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -787,7 +791,7 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 wayland_scanner = @wayland_scanner@
-SUBDIRS = . gtkvideooverlay filternovideooverlay filtervideooverlay fxtest switchvideooverlay 3dvideo
+SUBDIRS = . filternovideooverlay filtervideooverlay fxtest switchvideooverlay 3dvideo
 noinst_LTLIBRARIES = libgstgtkhelper.la
 libgstgtkhelper_la_SOURCES = gstgtk.c gstgtk.h
 libgstgtkhelper_la_CFLAGS = -I$(top_srcdir)/gst-libs \
diff --git a/tests/examples/gl/gtk/filternovideooverlay/Makefile.in b/tests/examples/gl/gtk/filternovideooverlay/Makefile.in
index 82ae551..7e3aac2 100644
--- a/tests/examples/gl/gtk/filternovideooverlay/Makefile.in
+++ b/tests/examples/gl/gtk/filternovideooverlay/Makefile.in
@@ -273,6 +273,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -488,6 +490,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -614,8 +618,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -660,6 +662,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gl/gtk/filtervideooverlay/Makefile.in b/tests/examples/gl/gtk/filtervideooverlay/Makefile.in
index b9cc5a0..fdb9370 100644
--- a/tests/examples/gl/gtk/filtervideooverlay/Makefile.in
+++ b/tests/examples/gl/gtk/filtervideooverlay/Makefile.in
@@ -274,6 +274,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -489,6 +491,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -615,8 +619,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -661,6 +663,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gl/gtk/fxtest/Makefile.in b/tests/examples/gl/gtk/fxtest/Makefile.in
index d5a8867..217bc45 100644
--- a/tests/examples/gl/gtk/fxtest/Makefile.in
+++ b/tests/examples/gl/gtk/fxtest/Makefile.in
@@ -280,6 +280,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -495,6 +497,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -621,8 +625,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -667,6 +669,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gl/gtk/gtkvideooverlay/Makefile.am b/tests/examples/gl/gtk/gtkvideooverlay/Makefile.am
deleted file mode 100644
index d6da10d..0000000
--- a/tests/examples/gl/gtk/gtkvideooverlay/Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
-noinst_PROGRAMS = gtkvideooverlay
-
-gtkvideooverlay_SOURCES = main.cpp
-
-gtkvideooverlay_CXXFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
-	$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) \
-	$(GL_CFLAGS) $(GTK3_CFLAGS)  $(X11_CFLAGS)
-gtkvideooverlay_LDADD=../libgstgtkhelper.la \
-	$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
-	$(GL_LIBS) -lgstvideo-$(GST_API_VERSION) $(X11_LIBS)
-
diff --git a/tests/examples/gl/gtk/gtkvideooverlay/main.cpp b/tests/examples/gl/gtk/gtkvideooverlay/main.cpp
deleted file mode 100644
index 5ca8108..0000000
--- a/tests/examples/gl/gtk/gtkvideooverlay/main.cpp
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * GStreamer
- * Copyright (C) 2008-2009 Julien Isorce <julien.isorce@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gst/gst.h>
-#include <gtk/gtk.h>
-#include <gdk/gdk.h>
-
-#include "../gstgtk.h"
-
-#ifdef HAVE_X11
-#include <X11/Xlib.h>
-#endif
-
-
-static GstBusSyncReply create_window (GstBus* bus, GstMessage* message, GtkWidget* widget)
-{
-  /* ignore anything but 'prepare-window-handle' element messages */
-  if (GST_MESSAGE_TYPE (message) != GST_MESSAGE_ELEMENT)
-      return GST_BUS_PASS;
-
-  if (!gst_is_video_overlay_prepare_window_handle_message (message))
-      return GST_BUS_PASS;
-
-  g_print ("setting window handle\n");
-
-  /* do not call gdk_window_ensure_native for the first time here because
-   * we are in a different thread than the main thread */
-  gst_video_overlay_set_gtk_window (GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message)), widget);
-
-  gst_message_unref (message);
-
-  return GST_BUS_DROP;
-}
-
-
-static void end_stream_cb(GstBus* bus, GstMessage* message, GstElement* pipeline)
-{
-  switch (GST_MESSAGE_TYPE (message))
-  {
-    case GST_MESSAGE_EOS:
-      g_print ("End of stream\n");
-
-      gst_element_set_state (pipeline, GST_STATE_NULL);
-      gst_object_unref(pipeline);
-      gtk_main_quit ();
-      break;
-    case GST_MESSAGE_ERROR:
-    {
-      gchar *debug = NULL;
-      GError *err = NULL;
-
-      gst_message_parse_error (message, &err, &debug);
-
-      g_print ("Error: %s\n", err->message);
-      g_error_free (err);
-
-      if (debug)
-      {
-        g_print ("Debug details: %s\n", debug);
-        g_free (debug);
-      }
-
-      gst_element_set_state (pipeline, GST_STATE_NULL);
-      gst_object_unref(pipeline);
-      gtk_main_quit ();
-      break;
-    }
-    default:
-      break;
-  }
-}
-
-static gboolean draw_cb(GtkWidget* widget, cairo_t *cr, GstElement* videosink)
-{
-    g_print ("draw_cb\n");
-    gst_video_overlay_expose (GST_VIDEO_OVERLAY (videosink));
-    return FALSE;
-}
-
-
-static void destroy_cb(GtkWidget* widget, GdkEvent* event, GstElement* pipeline)
-{
-    g_print("Close\n");
-
-    gst_element_set_state (pipeline, GST_STATE_NULL);
-    gst_object_unref(pipeline);
-
-    gtk_main_quit();
-}
-
-
-static void button_state_null_cb(GtkWidget* widget, GstElement* pipeline)
-{
-    gst_element_set_state (pipeline, GST_STATE_NULL);
-    g_print ("GST_STATE_NULL\n");
-}
-
-
-static void button_state_ready_cb(GtkWidget* widget, GstElement* pipeline)
-{
-    gst_element_set_state (pipeline, GST_STATE_READY);
-    g_print ("GST_STATE_READY\n");
-}
-
-
-static void button_state_paused_cb(GtkWidget* widget, GstElement* pipeline)
-{
-    gst_element_set_state (pipeline, GST_STATE_PAUSED);
-    g_print ("GST_STATE_PAUSED\n");
-}
-
-
-static void button_state_playing_cb(GtkWidget* widget, GstElement* pipeline)
-{
-    gst_element_set_state (pipeline, GST_STATE_PLAYING);
-    g_print ("GST_STATE_PLAYING\n");
-}
-
-
-static gchar* slider_fps_cb (GtkScale* scale, gdouble value, GstElement* pipeline)
-{
-    //change the video frame rate dynamically
-    return g_strdup_printf ("video framerate: %0.*g", gtk_scale_get_digits (scale), value);
-}
-
-
-
-gint main (gint argc, gchar *argv[])
-{
-#ifdef HAVE_X11
-    XInitThreads ();
-#endif
-
-    GtkWidget *area;
-    gst_init (&argc, &argv);
-    gtk_init (&argc, &argv);
-
-    GstElement* pipeline = gst_pipeline_new ("pipeline");
-    GstElement* videosrc  = gst_element_factory_make ("videotestsrc", "videotestsrc");
-    GstElement* videosink = gst_element_factory_make ("glimagesink", "glimagesink");
-
-    gst_bin_add_many (GST_BIN (pipeline), videosrc, videosink, NULL);
-
-    gboolean link_ok = gst_element_link_many(videosrc, videosink, NULL) ;
-    if(!link_ok)
-    {
-        g_warning("Failed to link an element!\n") ;
-        return -1;
-    }
-
-    //set window id on this event
-    GstBus* bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
-    gst_bus_add_signal_watch (bus);
-    g_signal_connect(bus, "message::error", G_CALLBACK(end_stream_cb), pipeline);
-    g_signal_connect(bus, "message::warning", G_CALLBACK(end_stream_cb), pipeline);
-    g_signal_connect(bus, "message::eos", G_CALLBACK(end_stream_cb), pipeline);
-
-    gst_element_set_state(pipeline, GST_STATE_READY);
-
-    area = gtk_drawing_area_new();
-    gst_bus_set_sync_handler (bus, (GstBusSyncHandler) create_window, area, NULL);
-    gst_object_unref (bus);
-
-    //window that contains an area where the video is drawn
-    GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-    gtk_widget_set_size_request (window, 640, 480);
-    gtk_window_move (GTK_WINDOW (window), 300, 10);
-    gtk_window_set_title (GTK_WINDOW (window), "glimagesink implement the gstvideooverlay interface");
-    GdkGeometry geometry;
-    geometry.min_width = 1;
-    geometry.min_height = 1;
-    geometry.max_width = -1;
-    geometry.max_height = -1;
-    gtk_window_set_geometry_hints (GTK_WINDOW (window), window, &geometry, GDK_HINT_MIN_SIZE);
-
-    //window to control the states
-    GtkWidget* window_control = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-    geometry.min_width = 1;
-    geometry.min_height = 1;
-    geometry.max_width = -1;
-    geometry.max_height = -1;
-    gtk_window_set_geometry_hints (GTK_WINDOW (window_control), window_control, &geometry, GDK_HINT_MIN_SIZE);
-    gtk_window_set_resizable (GTK_WINDOW (window_control), FALSE);
-    gtk_window_move (GTK_WINDOW (window_control), 10, 10);
-    GtkWidget* table = gtk_grid_new ();
-    gtk_container_add (GTK_CONTAINER (window_control), table);
-
-    //control state null
-    GtkWidget* button_state_null = gtk_button_new_with_label ("GST_STATE_NULL");
-    g_signal_connect (G_OBJECT (button_state_null), "clicked",
-        G_CALLBACK (button_state_null_cb), pipeline);
-    gtk_grid_attach (GTK_GRID (table), button_state_null, 0, 0, 1, 1);
-    gtk_widget_show (button_state_null);
-
-    //control state ready
-    GtkWidget* button_state_ready = gtk_button_new_with_label ("GST_STATE_READY");
-    g_signal_connect (G_OBJECT (button_state_ready), "clicked",
-        G_CALLBACK (button_state_ready_cb), pipeline);
-    gtk_grid_attach (GTK_GRID (table), button_state_ready, 0, 1, 1, 1);
-    gtk_widget_show (button_state_ready);
-
-    //control state paused
-    GtkWidget* button_state_paused = gtk_button_new_with_label ("GST_STATE_PAUSED");
-    g_signal_connect (G_OBJECT (button_state_paused), "clicked",
-        G_CALLBACK (button_state_paused_cb), pipeline);
-    gtk_grid_attach (GTK_GRID (table), button_state_paused, 0, 2, 1, 1);
-    gtk_widget_show (button_state_paused);
-
-    //control state playing
-    GtkWidget* button_state_playing = gtk_button_new_with_label ("GST_STATE_PLAYING");
-    g_signal_connect (G_OBJECT (button_state_playing), "clicked",
-        G_CALLBACK (button_state_playing_cb), pipeline);
-    gtk_grid_attach (GTK_GRID (table), button_state_playing, 0, 3, 1, 1);
-    gtk_widget_show (button_state_playing);
-
-    //change framerate
-    GtkWidget* slider_fps = gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL,
-        1, 30, 2);
-    g_signal_connect (G_OBJECT (slider_fps), "format-value",
-        G_CALLBACK (slider_fps_cb), pipeline);
-    gtk_grid_attach (GTK_GRID (table), slider_fps, 1, 0, 1, 4);
-    gtk_widget_show (slider_fps);
-
-    gtk_widget_show (table);
-    gtk_widget_show (window_control);
-
-    //configure the pipeline
-    g_signal_connect(G_OBJECT(window), "delete-event", G_CALLBACK(destroy_cb), pipeline);
-
-    //area where the video is drawn
-    gtk_container_add (GTK_CONTAINER (window), area);
-
-    gtk_widget_realize(area);
-
-    //needed when being in GST_STATE_READY, GST_STATE_PAUSED
-    //or resizing/obscuring the window
-    g_signal_connect(area, "draw", G_CALLBACK(draw_cb), videosink);
-
-    gtk_widget_show_all (window);
-
-    gst_element_set_state(pipeline, GST_STATE_PLAYING);
-
-    gtk_main();
-
-    return 0;
-}
-
diff --git a/tests/examples/gl/gtk/switchvideooverlay/Makefile.am b/tests/examples/gl/gtk/switchvideooverlay/Makefile.am
index dbe007c..e6ebf70 100644
--- a/tests/examples/gl/gtk/switchvideooverlay/Makefile.am
+++ b/tests/examples/gl/gtk/switchvideooverlay/Makefile.am
@@ -4,8 +4,8 @@
 
 switchvideooverlay_CXXFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
 	$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) \
-	$(GL_CFLAGS) $(GTK3_CFLAGS)
+	$(GL_CFLAGS) $(GTK3_CFLAGS) $(X_CFLAGS)
 switchvideooverlay_LDADD=../libgstgtkhelper.la \
 	$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
-	$(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
+	$(GL_LIBS) -lgstvideo-$(GST_API_VERSION) $(X_LIBS)
 
diff --git a/tests/examples/gl/gtk/switchvideooverlay/Makefile.in b/tests/examples/gl/gtk/switchvideooverlay/Makefile.in
index 07dbf2b..bc2c0d4 100644
--- a/tests/examples/gl/gtk/switchvideooverlay/Makefile.in
+++ b/tests/examples/gl/gtk/switchvideooverlay/Makefile.in
@@ -138,7 +138,8 @@
 am__DEPENDENCIES_1 =
 switchvideooverlay_DEPENDENCIES = ../libgstgtkhelper.la \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
@@ -273,6 +274,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -488,6 +491,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -614,8 +619,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -660,6 +663,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
@@ -751,11 +756,11 @@
 switchvideooverlay_SOURCES = main.cpp
 switchvideooverlay_CXXFLAGS = -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
 	$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) \
-	$(GL_CFLAGS) $(GTK3_CFLAGS)
+	$(GL_CFLAGS) $(GTK3_CFLAGS) $(X_CFLAGS)
 
 switchvideooverlay_LDADD = ../libgstgtkhelper.la \
 	$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
-	$(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
+	$(GL_LIBS) -lgstvideo-$(GST_API_VERSION) $(X_LIBS)
 
 all: all-am
 
diff --git a/tests/examples/gl/gtk/switchvideooverlay/main.cpp b/tests/examples/gl/gtk/switchvideooverlay/main.cpp
index ea53ea1..476478d 100644
--- a/tests/examples/gl/gtk/switchvideooverlay/main.cpp
+++ b/tests/examples/gl/gtk/switchvideooverlay/main.cpp
@@ -18,12 +18,19 @@
  * Boston, MA 02110-1301, USA.
  */
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include <gst/gst.h>
 #include <gtk/gtk.h>
 #include <gdk/gdk.h>
 
 #include "../gstgtk.h"
 
+#ifdef HAVE_X11
+#include <X11/Xlib.h>
+#endif
 
 static GstBusSyncReply create_window (GstBus* bus, GstMessage* message, GtkWidget* widget)
 {
@@ -59,7 +66,7 @@
     gtk_widget_get_allocation (widget, &allocation);
     gst_video_overlay_set_render_rectangle (GST_VIDEO_OVERLAY (sink), allocation.x, allocation.y, allocation.width, allocation.height);
 
-    return G_SOURCE_CONTINUE;
+    return FALSE;
 }
 
 static void end_stream_cb(GstBus* bus, GstMessage* message, GstElement* pipeline)
@@ -104,6 +111,7 @@
 static gboolean on_click_drawing_area(GtkWidget* widget, GdkEventButton* event, GstElement* videosink)
 {
     GtkAllocation allocation;
+    GtkWidget *parent = gtk_widget_get_parent (widget);
 
     g_print ("switch the drawing area %p\n", widget);
     gst_video_overlay_set_gtk_window (GST_VIDEO_OVERLAY (videosink), widget);
@@ -111,6 +119,11 @@
     gtk_widget_get_allocation (widget, &allocation);
     gst_video_overlay_set_render_rectangle (GST_VIDEO_OVERLAY (videosink), allocation.x, allocation.y, allocation.width, allocation.height);
 
+    /* XXX: required on wayland as changing the window handle (subsurface)
+     * requires a wl_surface::commit from the parent */
+    if (parent)
+      gtk_widget_queue_draw (parent);
+
     return FALSE;
 }
 
@@ -153,16 +166,12 @@
     g_print ("GST_STATE_PLAYING\n");
 }
 
-static void area_realize_cb(GtkWidget* widget, gpointer data)
-{
-    g_print ("realize %p\n", widget);
-    if (!gdk_window_ensure_native (gtk_widget_get_window (widget)))
-        g_error ("Failed to create native window!");
-}
-
-
 gint main (gint argc, gchar *argv[])
 {
+#ifdef HAVE_X11
+    XInitThreads();
+#endif
+
     gtk_init (&argc, &argv);
     gst_init (&argc, &argv);
 
@@ -250,10 +259,6 @@
     gtk_widget_set_size_request (area_top_right, 320, 240);
     gtk_grid_attach (GTK_GRID (table_areas), area_top_right, 1, 0, 1, 1);
 
-    //set window id on this event
-    g_signal_connect(area_top_left, "realize", G_CALLBACK(area_realize_cb), NULL);
-    g_signal_connect(area_top_right, "realize", G_CALLBACK(area_realize_cb), NULL);
-
     gtk_widget_set_redraw_on_allocate (area_top_left, TRUE);
     gtk_widget_set_redraw_on_allocate (area_top_right, TRUE);
     gtk_widget_realize(area_top_left);
diff --git a/tests/examples/gl/qt/Makefile.in b/tests/examples/gl/qt/Makefile.in
index 290c83a..a7e25cd 100644
--- a/tests/examples/gl/qt/Makefile.in
+++ b/tests/examples/gl/qt/Makefile.in
@@ -216,6 +216,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -431,6 +433,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -557,8 +561,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -603,6 +605,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gl/sdl/Makefile.in b/tests/examples/gl/sdl/Makefile.in
index 349fcc1..02dea70 100644
--- a/tests/examples/gl/sdl/Makefile.in
+++ b/tests/examples/gl/sdl/Makefile.in
@@ -287,6 +287,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -502,6 +504,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -628,8 +632,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -674,6 +676,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/gtk/Makefile.in b/tests/examples/gtk/Makefile.in
index e07c396..9d0463a 100644
--- a/tests/examples/gtk/Makefile.in
+++ b/tests/examples/gtk/Makefile.in
@@ -299,6 +299,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -514,6 +516,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -640,8 +644,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -686,6 +688,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/mpegts/Makefile.in b/tests/examples/mpegts/Makefile.in
index 75ac0dd..51a015b 100644
--- a/tests/examples/mpegts/Makefile.in
+++ b/tests/examples/mpegts/Makefile.in
@@ -269,6 +269,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -484,6 +486,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -610,8 +614,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -656,6 +658,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/mxf/Makefile.in b/tests/examples/mxf/Makefile.in
index 76275c9..f92839d 100644
--- a/tests/examples/mxf/Makefile.in
+++ b/tests/examples/mxf/Makefile.in
@@ -274,6 +274,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -489,6 +491,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -615,8 +619,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -661,6 +663,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/opencv/Makefile.in b/tests/examples/opencv/Makefile.in
index 8a23179..1d004cb 100644
--- a/tests/examples/opencv/Makefile.in
+++ b/tests/examples/opencv/Makefile.in
@@ -291,6 +291,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -506,6 +508,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -632,8 +636,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -678,6 +680,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/opencv/gstfacedetect_test.c b/tests/examples/opencv/gstfacedetect_test.c
index 9ecf3d0..d8334cb 100644
--- a/tests/examples/opencv/gstfacedetect_test.c
+++ b/tests/examples/opencv/gstfacedetect_test.c
@@ -1,7 +1,7 @@
 /* GStreamer
  * Copyright (C) 2015 Vanessa Chipirrás <vchipirras6@gmail.com>
  *
- *  gstfacedetect_test: gsteramer facedetect plugin demo application,
+ *  gstfacedetect_test: gstreamer facedetect plugin demo application,
  *  part work of Outreachy 2015 project
  *
  * This library is free software; you can redistribute it and/or
diff --git a/tests/examples/opencv/gsthanddetect_test.c b/tests/examples/opencv/gsthanddetect_test.c
index 1cc9616..02a90de 100644
--- a/tests/examples/opencv/gsthanddetect_test.c
+++ b/tests/examples/opencv/gsthanddetect_test.c
@@ -1,7 +1,7 @@
 /* GStreamer
  * Copyright (C) 2012 Andol Li <andol@andol.info>
  *
- *  gsthanddetect_test: gsteramer handdetect plugin demo application,
+ *  gsthanddetect_test: gstreamer handdetect plugin demo application,
  *  part work of GSoc 2012 project
  *
  * This library is free software; you can redistribute it and/or
diff --git a/tests/examples/uvch264/Makefile.in b/tests/examples/uvch264/Makefile.in
index e92f3fb..7c5a51a 100644
--- a/tests/examples/uvch264/Makefile.in
+++ b/tests/examples/uvch264/Makefile.in
@@ -277,6 +277,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -492,6 +494,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -618,8 +622,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -664,6 +666,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/examples/waylandsink/Makefile.in b/tests/examples/waylandsink/Makefile.in
index 3326bc9..7eb31ae 100644
--- a/tests/examples/waylandsink/Makefile.in
+++ b/tests/examples/waylandsink/Makefile.in
@@ -273,6 +273,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -488,6 +490,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -614,8 +618,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -660,6 +662,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/files/Makefile.in b/tests/files/Makefile.in
index c8e1634..ccd7563 100644
--- a/tests/files/Makefile.in
+++ b/tests/files/Makefile.in
@@ -216,6 +216,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -431,6 +433,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -557,8 +561,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -603,6 +605,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tests/icles/Makefile.in b/tests/icles/Makefile.in
index 1b604df..f516851 100644
--- a/tests/icles/Makefile.in
+++ b/tests/icles/Makefile.in
@@ -274,6 +274,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -489,6 +491,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -615,8 +619,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -661,6 +663,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 7380ae3..f3442b6 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -216,6 +216,8 @@
 DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
 DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
 DLLTOOL = @DLLTOOL@
+DRM_CFLAGS = @DRM_CFLAGS@
+DRM_LIBS = @DRM_LIBS@
 DSYMUTIL = @DSYMUTIL@
 DTLS_CFLAGS = @DTLS_CFLAGS@
 DTLS_LIBS = @DTLS_LIBS@
@@ -431,6 +433,8 @@
 LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
 LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
+LILV_CFLAGS = @LILV_CFLAGS@
+LILV_LIBS = @LILV_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LOCALEDIR = @LOCALEDIR@
@@ -557,8 +561,6 @@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
 SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
 SNDFILE_LIBS = @SNDFILE_LIBS@
 SNDIO_LIBS = @SNDIO_LIBS@
@@ -603,6 +605,8 @@
 WAYLAND_LIBS = @WAYLAND_LIBS@
 WEBP_CFLAGS = @WEBP_CFLAGS@
 WEBP_LIBS = @WEBP_LIBS@
+WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
+WEBRTCDSP_LIBS = @WEBRTCDSP_LIBS@
 WGET = @WGET@
 WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
 WILDMIDI_LIBS = @WILDMIDI_LIBS@
diff --git a/tools/element-templates/sinkpad b/tools/element-templates/sinkpad
index 6d3bad1..ec8a980 100644
--- a/tools/element-templates/sinkpad
+++ b/tools/element-templates/sinkpad
@@ -30,8 +30,8 @@
     );
 
 % base-init
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_replace_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_replace_sink_template);
 % instance-init
 
   replace->sinkpad = gst_pad_new_from_static_template (&gst_replace_sink_template
diff --git a/tools/element-templates/sinkpad-audio b/tools/element-templates/sinkpad-audio
index 3af5072..13d52d7 100644
--- a/tools/element-templates/sinkpad-audio
+++ b/tools/element-templates/sinkpad-audio
@@ -13,8 +13,8 @@
     );
 
 % base-init
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS(klass),
-      gst_static_pad_template_get (&gst_replace_sink_template));
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS(klass),
+      &gst_replace_sink_template);
 % instance-init
 % methods
 % end
diff --git a/tools/element-templates/sinkpad-simple b/tools/element-templates/sinkpad-simple
index 2500e3f..9d7619b 100644
--- a/tools/element-templates/sinkpad-simple
+++ b/tools/element-templates/sinkpad-simple
@@ -11,8 +11,8 @@
     );
 
 % base-init
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS(klass),
-      gst_static_pad_template_get (&gst_replace_sink_template));
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS(klass),
+      &gst_replace_sink_template);
 % instance-init
 % methods
 % end
diff --git a/tools/element-templates/sinkpad-template b/tools/element-templates/sinkpad-template
index 785365d..b06b346 100644
--- a/tools/element-templates/sinkpad-template
+++ b/tools/element-templates/sinkpad-template
@@ -11,8 +11,8 @@
     );
 
 % base-init
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_replace_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_replace_sink_template);
 % instance-init
 % methods
 % end
diff --git a/tools/element-templates/srcpad b/tools/element-templates/srcpad
index 1afd7e7..82e0eea 100644
--- a/tools/element-templates/srcpad
+++ b/tools/element-templates/srcpad
@@ -28,8 +28,8 @@
     );
 
 % base-init
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_replace_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_replace_src_template);
 % instance-init
 
   replace->srcpad = gst_pad_new_from_static_template (&gst_replace_src_template
diff --git a/tools/element-templates/srcpad-audio b/tools/element-templates/srcpad-audio
index 047c7c7..18698dd 100644
--- a/tools/element-templates/srcpad-audio
+++ b/tools/element-templates/srcpad-audio
@@ -13,8 +13,8 @@
     );
 
 % base-init
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS(klass),
-      gst_static_pad_template_get (&gst_replace_src_template));
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS(klass),
+      &gst_replace_src_template);
 % instance-init
 % methods
 % end
diff --git a/tools/element-templates/srcpad-simple b/tools/element-templates/srcpad-simple
index 5971809..e705f80 100644
--- a/tools/element-templates/srcpad-simple
+++ b/tools/element-templates/srcpad-simple
@@ -11,8 +11,8 @@
     );
 
 % base-init
-  gst_element_class_add_pad_template (GST_ELEMENT_CLASS(klass),
-      gst_static_pad_template_get (&gst_replace_src_template));
+  gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS(klass),
+      &gst_replace_src_template);
 % instance-init
 % methods
 % end
diff --git a/tools/element-templates/srcpad-template b/tools/element-templates/srcpad-template
index 020f6a2..dd0842b 100644
--- a/tools/element-templates/srcpad-template
+++ b/tools/element-templates/srcpad-template
@@ -11,8 +11,8 @@
     );
 
 % base-init
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_replace_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_replace_src_template);
 % instance-init
 % methods
 % end
diff --git a/win32/common/config.h b/win32/common/config.h
index d1635f7..30f058b 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-09"
+#define GST_PACKAGE_RELEASE_DATETIME "2016-06-06"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -325,6 +325,9 @@
 /* Define to enable Kate (used by kate). */
 #undef HAVE_KATE
 
+/* Define to enable drm/kms libraries (used by kms). */
+#undef HAVE_KMS
+
 /* Define to enable ladspa (used by ladspa). */
 #undef HAVE_LADSPA
 
@@ -418,15 +421,9 @@
 /* Define to enable opencv plugins (used by opencv). */
 #undef HAVE_OPENCV
 
-/* Define to 1 if you have the <opencv2/contrib/contrib.hpp> header file. */
-#undef HAVE_OPENCV2_CONTRIB_CONTRIB_HPP
-
 /* Define to 1 if you have the <opencv2/core/core_c.h> header file. */
 #undef HAVE_OPENCV2_CORE_CORE_C_H
 
-/* Define to 1 if you have the <opencv2/core/types_c.h> header file. */
-#undef HAVE_OPENCV2_CORE_TYPES_C_H
-
 /* Define to 1 if you have the <opencv2/core/version.hpp> header file. */
 #undef HAVE_OPENCV2_CORE_VERSION_HPP
 
@@ -439,12 +436,6 @@
 /* Define to 1 if you have the <opencv2/imgproc/imgproc.hpp> header file. */
 #undef HAVE_OPENCV2_IMGPROC_IMGPROC_HPP
 
-/* Define to 1 if you have the <opencv2/legacy/compat.hpp> header file. */
-#undef HAVE_OPENCV2_LEGACY_COMPAT_HPP
-
-/* Define to 1 if you have the <opencv2/legacy/legacy.hpp> header file. */
-#undef HAVE_OPENCV2_LEGACY_LEGACY_HPP
-
 /* Define to 1 if you have the <opencv2/objdetect/objdetect.hpp> header file.
    */
 #undef HAVE_OPENCV2_OBJDETECT_OBJDETECT_HPP
@@ -504,8 +495,8 @@
 /* Define to enable Qt elements (used by qt). */
 #undef HAVE_QT
 
-/* Define if Qt Android integration is installed */
-#undef HAVE_QT_ANDROID
+/* Define if Qt eglfs integration is installed */
+#undef HAVE_QT_EGLFS
 
 /* Define if Qt iOS integration is installed */
 #undef HAVE_QT_IOS
@@ -651,6 +642,9 @@
 /* Define to enable WebP (used by webp ). */
 #undef HAVE_WEBP
 
+/* Define to enable WebRTC Audio Processing (used by webrtcdsp). */
+#undef HAVE_WEBRTCDSP
+
 /* Define to enable wildmidi midi soft synth plugin (used by wildmidi). */
 #undef HAVE_WILDMIDI
 
@@ -731,7 +725,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.8.2"
+#define PACKAGE_STRING "GStreamer Bad Plug-ins 1.9.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gst-plugins-bad"
@@ -740,7 +734,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.8.2"
+#define PACKAGE_VERSION "1.9.1"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -784,7 +778,7 @@
 #undef USE_EGL_RPI
 
 /* Version number of package */
-#define VERSION "1.8.2"
+#define VERSION "1.9.1"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
