Imported Upstream version 1.5.1
diff --git a/ChangeLog b/ChangeLog
index 2b61b99..a387112 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,16045 @@
-=== release 1.4.0 ===
+=== release 1.5.1 ===
 
-2014-07-19  Sebastian Dröge <slomo@coaxion.net>
+2015-06-07  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.4.0
+	  releasing 1.5.1
+
+2015-06-07 09:36:21 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/af.po:
+	* po/az.po:
+	* po/bg.po:
+	* po/ca.po:
+	* po/cs.po:
+	* po/da.po:
+	* po/de.po:
+	* po/el.po:
+	* po/en_GB.po:
+	* po/eo.po:
+	* po/es.po:
+	* po/eu.po:
+	* po/fi.po:
+	* po/fr.po:
+	* po/gl.po:
+	* po/hr.po:
+	* po/hu.po:
+	* po/id.po:
+	* po/it.po:
+	* po/ja.po:
+	* po/ky.po:
+	* po/lt.po:
+	* po/lv.po:
+	* po/mt.po:
+	* po/nb.po:
+	* po/nl.po:
+	* po/or.po:
+	* po/pl.po:
+	* po/pt_BR.po:
+	* po/ro.po:
+	* po/ru.po:
+	* po/sk.po:
+	* po/sl.po:
+	* po/sq.po:
+	* po/sr.po:
+	* po/sv.po:
+	* po/tr.po:
+	* po/uk.po:
+	* po/vi.po:
+	* po/zh_CN.po:
+	  po: Update translations
+
+2015-05-30 21:35:36 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Fix wrong gst-launch command in the description
+	  Fix wrong gst-lauch command in the description.
+	  This patch may help people to get right testing results using the script.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750143
+
+2015-06-05 14:49:18 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/directfb/dfbvideosink.c:
+	  dfbvideosink: remove ignored assignments
+	  Remove assignments to DFBResult res that are never read.
+
+2015-06-05 14:34:55 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: remove ignored assignment
+	  Function goes to done before the value set in start_offset is ever used.
+
+2015-06-05 09:35:39 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/gl/caopengllayersink.m:
+	* ext/gl/gstglfilterbin.c:
+	* ext/gl/gstglmixerbin.c:
+	* ext/gl/gstglsinkbin.c:
+	* ext/gl/gstglsrcbin.c:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* sys/applemedia/avsamplevideosink.m:
+	* tests/check/elements/glimagesink.c:
+	  Fix a common typo: retreive -> retrieve
+	  Seems to have been copy pasted around a few places
+
+2015-06-05 09:22:58 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: drop TODO that doesn't need a solution
+	  Connection speed is only checked at that point in hlsdemux so there
+	  is no real need to refactor it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749328
+
+2015-06-05 09:15:34 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/m3u8.c:
+	  Revert "hlsdemux: Simplify logic in process_manifest"
+	  This reverts commit 4ca3a22b6b33ad8be4383063e76f79c4d346535d.
+	  The connection-speed=0 is used as a special value in the property
+	  of hlsdemux to mean 'automatic' selection, m3u8.c doesn't need
+	  to know about that as it should be as simple as possible.
+	  So this patch hides this automatic selection documented in hlsdemux
+	  into m3u8 logic and I think the gets harder to understand the code.
+	  It also makes the hlsdemux unit tests work again
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749328
+
+2015-06-05 14:30:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: Fix inverted logic introduced in last commit
+
+2015-06-05 08:58:03 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* gst/videosignal/gstsimplevideomarkdetect.c:
+	  simplevideomarkdetect: fix detect of videomark partially or fully outside video
+	  In case of the videomark being partially or fully outside,
+	  an error was bein thrown saying, mark width is more than video width.
+	  And when the width, offset properties are set to maximum it resulted in crash.
+	  Instead of throwing error, added logic to detect the mark
+	  in case of partial visibility or dont show the mark when it is outside.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743908
+
+2015-06-05 14:10:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: Calculate the number of segments we have when a segment template instead of a list is used
+	  Otherwise we would just continue downloading new files forever until we get
+	  404 for the first one, and then error out instead of going EOS.
+
+2015-06-05 08:53:30 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* gst/videosignal/gstsimplevideomark.c:
+	  simplevideomark: Add Error logs
+	  When the pattern offset is outside the video, the print error message
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743908
+
+2015-06-05 13:28:39 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  Revert "mpdparser: Don't consider streams with a known media presentation duration as live"
+	  This reverts commit 37011e519830e0786fa6e307ed26003a2a8774f1.
+	  This change was actually completely unnecessary, the streams in question are
+	  marked as static and are not considered live anyway.
+
+2015-06-05 13:21:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: Don't consider streams with a known media presentation duration as live
+
+2015-06-05 11:26:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Error out if downloading a segment failed too often in live mode
+	  It's true that we shouldn't consider errors fatal immediately, but if we
+	  always ignore them we will loop infinitely on live streams with segments
+	  that can't be downloaded at all.
+
+2015-06-03 12:17:19 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtp.c:
+	  srtp: Allow getting ssrc of more package types than RR and SR
+	  This allows decrypting reduce size packages. See RFC 5506
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750326
+
+2015-06-04 13:36:32 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: refactor pad creation
+	  Avoid repeating the same pad creation code everywhere
+
+2015-06-04 15:57:57 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: Don't crash in debug output if stream->segments is NULL
+
+2015-06-04 13:31:56 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/winks/gstksvideosrc.c:
+	  ksvideosrc: fix logic and timestamp non-muxed streams again
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750381
+
+2015-06-04 12:53:19 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/libde265/gstlibde265.c:
+	* ext/libde265/libde265-dec.c:
+	  libde265dec: fix up plugin name and decoder description
+
+2015-06-04 13:36:05 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparse: Clamp seek times to the availabilityStartTime
+	  Otherwise we will seek to negative times, which are interpreted as unsigned
+	  integers later.
+
+2015-06-04 13:13:39 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: Improve debug output a bit when advancing segments
+
+2015-06-04 12:36:41 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Release the manifest mutex before waiting for a download
+	  Otherwise we will hurt parallel downloads in the best case, and often cause
+	  deadlocks.
+
+2015-06-04 11:54:24 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusdec.c:
+	  opusdec: If channel/rate negotiation fails, fall back to stereo and 48kHz
+
+2015-06-04 11:52:40 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusparse.c:
+	  opusparse: Set up default header with 48kHz sample rate instead of 0
+
+2015-06-04 11:45:05 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusdec.c:
+	  opusdec: gst_structure_fixate_field_nearest_int() only works if the structure has this field
+	  Just set the rate/channels directly if the caps don't have this field.
+
+2015-06-04 11:05:07 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: Use 64 bit integer format strings when passing a 64 bit integer
+	  Otherwise we'll only get half of its bits printed on 32 bit architectures.
+	  For this, promote the %d-style format strings to something that accepts
+	  64 bit integers with G_GINT64_MODIFIER.
+
+2015-06-04 10:47:07 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparse: Validate format strings before using them
+	  Using format strings from an untrusted source without validation is
+	  calling for problems, and at least allows to remotely crash your application.
+	  If not worse.
+
+2015-06-04 09:40:19 +0200  Philippe Normand <philn@igalia.com>
+
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+	  gl/dispmanx: Fix build
+
+2015-06-03 22:21:30 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* tests/examples/gl/cocoa/Makefile.am:
+	  gl/example: fix build error when compiling cocoa-videooverlay
+	  libtool: error: ignoring unknown tag OBJC
+	  and
+	  clang: error: argument unused during compilation: '-pthread'
+
+2015-06-04 15:01:16 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+	  gl/window/dispmanx: fix compiler warning
+
+2015-06-04 12:16:35 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
+	* gst-libs/gst/gl/android/gstglwindow_android_egl.h:
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
+	  gl/window: use the default main loop implementation for all backends
+	  fixes glimagsink being unable to display.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750337
+
+2015-06-03 21:22:09 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  glwindow_cocoa: use parent default implementation
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=750337
+
+2015-06-03 20:03:37 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: Add the startNumber as offset to the segment index when using a template
+
+2015-06-03 16:59:44 +0200  Santiago Carot-Nemesio <sancane@gmail.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlsdec.h:
+	  dtlsdec: Fix critical warning "got data flow before stream-start event"
+	  Forward sticky events on requested src pad.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750348
+
+2015-06-03 15:25:10 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: remove useless value assignments
+	  In all these cases ret is set but overwritten before the return of the function
+
+2015-06-03 14:44:31 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/examples/camerabin2/gst-camerabin2-test.c:
+	  examples: gst-camerabin2-test: protect from division by zero
+	  Highly unlikely to have 0 captures, but protect from crashes in the future by
+	  doing none of the math if there is no data.
+
+2015-06-02 20:57:34 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: lower curl requirement to 7.35.0
+	  Build and unit tests were tested against 7.35 too now,
+	  which is the version in Ubuntu 14.04.
+
+2015-06-02 16:40:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	  mpegtsbase: do not access variable after unref
+	  Data might not exist anymore
+
+2015-06-02 15:45:13 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* tests/check/elements/audiointerleave.c:
+	  tests: audiointerleave: test not setting positions
+	  Disable "channel-positions-from-input", but without actually giving
+	  a position table, so every position should be NONE
+
+2015-06-02 15:44:57 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* tests/check/elements/audiointerleave.c:
+	  tests: Fix indentation in audiointerleave test
+
+2015-06-02 11:31:00 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* ext/zbar/gstzbar.c:
+	  zbar: don't ignore zbar_scan_image() errors
+
+2015-06-03 00:31:42 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsyncmeta: Set new sync point when copying
+	  Set a new sync point when copying instead of
+	  transferring the (non-refcounted) GL sync object
+	  from the source meta.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750279
+
+2015-06-02 23:59:50 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsyncmeta: Add some debug output
+
+2015-06-02 16:02:37 +0200  Edward Hervey <edward@centricular.com>
+
+	* tests/check/elements/asfmux.c:
+	* tests/check/elements/faac.c:
+	* tests/check/elements/faad.c:
+	* tests/check/elements/h263parse.c:
+	* tests/check/elements/hlsdemux_m3u8.c:
+	* tests/check/elements/jpegparse.c:
+	* tests/check/elements/kate.c:
+	* tests/check/elements/mpeg2enc.c:
+	* tests/check/elements/mpeg4videoparse.c:
+	* tests/check/elements/mpegvideoparse.c:
+	* tests/check/elements/mplex.c:
+	* tests/check/elements/opus.c:
+	* tests/check/elements/rtponvif.c:
+	* tests/check/elements/timidity.c:
+	* tests/check/elements/voaacenc.c:
+	* tests/check/elements/voamrwbenc.c:
+	* tests/check/libs/h264parser.c:
+	* tests/check/libs/mpegts.c:
+	* tests/check/libs/mpegvideoparser.c:
+	* tests/check/libs/vc1parser.c:
+	* tests/check/libs/vp8parser.c:
+	* tests/check/pipelines/simple-launch-lines.c:
+	* tests/check/pipelines/streamheader.c:
+	  check: Use GST_CHECK_MAIN () macro everywhere
+	  Makes source code smaller, and ensures we go through common initialization
+	  path (like the one that sets up XML unit test output ...)
+
+2015-06-02 10:21:42 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* gst/videosignal/gstsimplevideomark.c:
+	  simplevideomark: fix display of videomark partially or fully outside video
+	  In case of the videomark being partially or fully outside, an error was being
+	  thrown saying the mark width is more than video width. And when the width,
+	  offset properties are set to maximum it resulted in crash. Instead of throwing
+	  an error, add logic to detect the mark in case of partial visibility or don't
+	  show the mark when it is outside.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743908
+
+2015-03-24 15:17:16 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: enable Chinese AVS video stream
+	  Chinese broadcaster encapsulate AVS video codec into MPEG2-TS. They
+	  use the stream_id 0x42 to identify AVS video streams. It should be noted
+	  that this id is currently within the ISO reserved range, hence it's
+	  utilisation is unofficial.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=727731
+
+2015-06-02 17:24:18 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: provide compatibility definition for GLES2 for GL_RGBA8
+
+2015-06-02 16:32:03 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstglfiltershader.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  gl: consolidate internal_rgba_format into glmemory
+	  Expose some useful value format conversion functions available in
+	  GstGLMemory.
+
+2015-06-01 19:43:20 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiointerleave.c:
+	  audiointerleave: Always have "channels" be the actual pad count
+	  Don't force it anywhere
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750252
+
+2015-06-01 19:42:49 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiointerleave.c:
+	  audiointerleave: Use the channel count from the set caps
+	  This is the same number that was used to allocate the buffer
+
+2015-06-01 18:50:14 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Document that the latency is in ns
+
+2015-06-01 20:03:22 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	  amc: Only lower ranks of OMX.Exynos. audio codecs, the video codecs are actually working
+
+2015-06-01 19:40:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	  amc: Give marginal rank to codecs that start with OMX.Exynos.
+	  OMX.Exynos. codecs are existing on some devices like the
+	  Galaxy S5 mini, and cause random crashes (of the device,
+	  not the app!) and generally misbehave. That specific device
+	  has other codecs that work with a different name, but let's
+	  just give them marginal rank in case there are devices that
+	  have no other codecs and these are actually the only working
+	  ones
+
+2015-06-01 19:23:01 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	  androidmedia: Give lower ranks to codecs not starting with OMX.
+	  On some devices there are codecs that don't start with OMX., while
+	  there are also some that do. And on some of these devices the ones
+	  that don't start with OMX. just crash during initialization while
+	  the others work. To make things even more complicated other devices
+	  have codecs with the same name that work and no alternatives.
+	  So just give a lower rank to these non-OMX codecs and hope that
+	  there's an alternative with a higher rank.
+	  Also stagefright gives codecs starting with OMX. a higher rank too and
+	  considers other codecs that don't start with OMX. as software codecs.
+
+2015-06-01 11:12:22 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* tests/check/elements/zbar.c:
+	  tests: zbar: check for frame field on attach-frame=true
+	  Also check for the sample to have a buffer and caps
+	  associated with it.
+	  Related to:
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747557
+
+2015-05-20 15:04:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Require width and height field for H264
+	  This decoder does not work if width and height field are not set
+	  in the sinkpad caps. Let's make this explicit by adding them to
+	  the template caps.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749655
+
+2015-06-01 14:07:37 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.c:
+	  glcontext_gpu_process: close the window when done
+
+2015-06-01 14:05:58 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.c:
+	  glwindow_gpu_process: avoid empty struct
+
+2015-06-01 12:58:11 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: move main loop/context creation back to init/finalize
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=750199
+
+2015-06-01 14:05:06 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* tests/examples/gl/gtk/gstgtk.c:
+	  examples: Fix gl usage without wayland support
+	  Not all platforms have wayland support. Handle that gracefully at
+	  compile time
+
+2015-06-01 13:55:20 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* ext/rtmp/gstrtmpsink.c:
+	  rtmpsink: Initialize GstMapInfo
+	  Avoids doing a call to unmap with it uninitialized
+	  CID #1302834
+
+2015-06-01 12:51:46 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  audiovisualizer: clean dereferences of private structure
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742875
+
+2015-04-25 22:55:28 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: fix keyframe request race condition
+	  It is incorrect to modify the frame properties after passing them, since
+	  VTCompressionSessionEncodeFrame takes reference and we have no control
+	  over when it's being used.
+	  In fact, the code can be simplified. We just preallocate the frame
+	  properties for keyframe requests, and pass NULL otherwise.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748467
+
+2015-06-01 11:56:13 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	* gst/audiovisualizers/gstaudiovisualizer.h:
+	  audiovisualizer: make private all variable subclasses don't need
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742875
+
+2015-05-01 23:20:30 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* ext/zbar/gstzbar.c:
+	* ext/zbar/gstzbar.h:
+	  zbar: add frame sample to barcode message
+	  New attach-frame property enables barcode frame
+	  dumping when set to true.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747557
+
+2015-05-31 21:30:23 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	  gl: Fix compiler warning
+	  gstglwindow_wayland_egl.c:246:41: error: unused variable 'surface_listener' [-Werror,-Wunused-const-variable]
+	  static const struct wl_surface_listener surface_listener = {
+	  ^
+
+2015-05-27 23:34:14 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	* sys/androidmedia/gstamc.h:
+	* sys/androidmedia/gstamcaudiodec.c:
+	* sys/androidmedia/gstamcaudiodec.h:
+	* sys/androidmedia/gstamcvideodec.c:
+	* sys/androidmedia/gstamcvideodec.h:
+	* sys/androidmedia/gstamcvideoenc.c:
+	* sys/androidmedia/gstamcvideoenc.h:
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  androidmedia: Conditionally use get_{input,output}_buffer() Android 21 APIs
+	  Also properly set limit/position on byte buffer, some codecs prefer to have
+	  correct values there.
+
+2015-05-31 16:53:14 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: fix compiler error
+	  gstglwindow.c:1118:544: error: 'return' with no value, in function returning non-void [-Werror]
+	  g_return_if_fail (GST_GL_IS_WINDOW (window));
+
+2015-05-31 15:42:48 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/gtk/filternovideooverlay/main.cpp:
+	* tests/examples/gl/gtk/filtervideooverlay/main.cpp:
+	  gl/examples: update gtk examples for glupload
+
+2015-05-31 15:40:15 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/gtk/filtervideooverlay/main.cpp:
+	* tests/examples/gl/gtk/switchvideooverlay/main.cpp:
+	  gl/examples: update gtk examples for wayland
+
+2015-05-29 18:06:27 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+	  gl/wayland: implement setting the render rectangle
+	  Places our subsurface at the rectangle provided position
+
+2015-05-29 18:03:52 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	  glwindow: handle gst_video_overlay_set_render_rectangle
+
+2015-05-29 18:01:29 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/wayland/wayland_event_source.c:
+	  gl/wayland: don't block the event loop after poll
+	  Use the dispatch_pending set of functions which just run the currently
+	  queued up events instead of potentially waiting for an event to occur.
+
+2015-05-27 16:42:55 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/gtk/gstgtk.c:
+	* tests/examples/gl/gtk/gstgtk.h:
+	  tests/gl/gtk: implement setting a wayland display/surface
+
+2015-05-27 16:39:06 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
+	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.h:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+	  gl/wayland: implement basic video overlay support via subsurfaces
+	  Currently does not position the subsurface relative to the parent surface at all
+
+2015-05-27 15:44:33 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/wayland/wayland_event_source.c:
+	  gl/wayland: allow a NULL wl_event_queue
+	  perform operations on the default wl_display event queue in that case
+
+2015-05-27 15:43:06 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	  gl/utils: implement wayland display GstContext
+	  requried for sharing GL contexts or subsurface support
+
+2015-05-22 16:07:49 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+	* gst-libs/gst/gl/wayland/wayland_event_source.c:
+	* gst-libs/gst/gl/wayland/wayland_event_source.h:
+	  gl/wayland: run each window on a separate queue
+	  Based on patch by Julien Isorce <julien.isorce@collabora.co.uk>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=709747
+
+2015-05-30 02:19:25 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  gl: Don't leak temp strings in _RGB_pixel_order()
+	  Fix a memory leak of temporary strings when computing
+	  swizzling of RGB formats.
+
+2015-05-30 02:29:47 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  glfilter: Add transform_internal_caps() vfunc
+	  Add a vfunc that is called by glfilter before it sets
+	  caps features and intersects with the peer caps, and
+	  move removing the size from caps into its default
+	  implementation. Allows sub-classes to do more
+	  sophisticated management of the size fields in case they
+	  don't support arbitrary resizing or have distinct
+	  preferences.
+
+2015-05-30 02:23:44 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: Don't remove size fields from caps
+	  Instead of removing size fields, set them to the full range
+	  like videoscale does, so the caps are clearly unfixed in
+	  all cases.
+
+2015-05-10 18:55:16 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.h:
+	  videoaggregator: Add class property to disable caps scaling
+	  Add preserve_update_caps_result boolean on the class to allow
+	  sub-classes to disable videoaggregator removing sizes and framerate
+	  from the update_caps() return result.
+
+2015-05-04 18:17:21 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Catch errors, and allow sub-class to return NULL from get_output_buffer()
+	  A return value of GST_FLOW_OK with a NULL buffer from get_output_buffer()
+	  means the sub-class doesn't want to produce an output buffer, so
+	  skip it.
+	  If gst_videoaggregator_do_aggregate() generates an error, make sure
+	  to propagate it - don't just ignore and discard the error by
+	  over-writing it with the gst_pad_push() result.
+
+2015-05-29 16:02:31 +0300  Vivia Nikolaidou <vivia@toolsonair.com>
+
+	* ext/rtmp/gstrtmpsink.c:
+	* ext/rtmp/gstrtmpsink.h:
+	  rtmpsink: Do not crash when receiving buffers after GST_FLOW_ERROR
+	  If the RTMP URI is invalid, the rtmpsink will return GST_FLOW_ERROR.
+	  If it still receives buffers after that, it shouldn't crash.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750104
+
+2015-05-29 09:01:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: avoid assertion when splitting buffer
+	  Pass size=-1 as is if that is the case instead of subtracting
+	  the offset. Otherwise we have an invalid size passed for that
+	  buffer.
+
+2015-05-28 15:59:02 +0200  Santiago Carot-Nemesio <sancane@gmail.com>
+
+	* ext/dtls/gstdtlssrtpdec.c:
+	  dtlssrtpdec: Release requested pads
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750036
+
+2015-05-28 15:57:10 +0200  Santiago Carot-Nemesio <sancane@gmail.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	  dtlsdec: Remove unnecessary ref/unref operations
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750036
+
+2015-05-28 15:55:03 +0200  Santiago Carot-Nemesio <sancane@gmail.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	  dtlsdec: Fix release request pad function
+	  Don't unref the pad reference we don't own and just remove the pad.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750036
+
+2015-05-28 14:30:46 +0200  Edward Hervey <edward@centricular.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: Search more when advancing fragment
+	  In live situations, it is not uncommon for the current fragment to end
+	  up out of the (updated) play range (lowest/highest sequence). But the next
+	  fragment to play *is* present in the play range.
+	  When advancing, if we can't find the current GstM3U8MediaFile, don't abort
+	  straight away. Instead, look if a GstM3U8MediaFile with the next sequence value
+	  is present, and if so switch to it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750028
+
+2015-05-27 10:58:10 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* configure.ac:
+	* ext/gl/gstglimagesink.c:
+	* gst-libs/gst/gl/Makefile.am:
+	* gst-libs/gst/gl/gpuprocess/Makefile.am:
+	* gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.c:
+	* gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.h:
+	* gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.c:
+	* gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.h:
+	* gst-libs/gst/gl/gstglapi.c:
+	* gst-libs/gst/gl/gstglapi.h:
+	  gl: add GstGLContextGPUProcess backend
+	  It builds its GL vtable from a proc address provided
+	  by the application.
+
+2015-05-27 16:28:39 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstglfiltershader.c:
+	* gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  gl: add and use gst_gl_internal_format_rgba
+	  Previously when compiling GstGL with both GL and GLES2,
+	  GL_RGBA8 was picked from GL/gl.h. But a clash may happen at
+	  runtime when one is selecting GLES2.
+	  gst_gl_internal_format_rgba allows to check at runtime
+	  if it should use GL_RGBA or GL_RGBA8.
+
+2015-05-27 14:10:16 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
+	  glwindow_x11: use parent default implementation
+
+2015-05-27 11:16:32 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
+	  glcontext_glx: rename variable from window to context
+
+2015-05-27 11:11:55 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: initialize debug in class_init
+	  Useful if one uses gst_gl_window_x11_new directly
+	  instead of gst_gl_window_new.
+
+2015-05-27 11:07:38 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: initialize debug in class_init
+	  Useful if one uses gst_gl_context_egl_new directly
+	  instead of gst_gl_context_new.
+
+2015-05-27 10:55:20 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	  glcontext: add gst_gl_context_set_display helper
+
+2015-05-27 15:25:40 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglcontext.h:
+	  glcontext: add missing _CAST after G_TYPE_CHECK_CLASS
+
+2015-05-27 10:51:54 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglwindow.h:
+	  glwindow: add missing _CAST after G_TYPE_CHECK_CLASS
+
+2015-05-26 18:38:39 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: provides some default implementations to factorize with all backends
+
+2015-05-28 00:59:39 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Push EOS on error return.
+	  Before shutting down the srcpad task due to a
+	  downstream error, push an EOS to give downstream
+	  a chance to shut down somewhat cleanly.
+
+2015-05-27 13:12:57 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: don't overwrite value
+	  Value of res is reset to FALSE in each iteration of the while loop. We want to
+	  conserve TRUE if any pad event succeeded until we arrive to done.
+	  Also, buf is set to the value of *outbuf twice. Removing the first assignment
+	  since the second one is outside of a conditional.
+
+2015-05-27 13:08:46 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/opencv/gstretinex.c:
+	  opencv: 'for' loop initial declaration
+	  'for' loop initial declarations are not allowed in C89, moving the declarations
+	  to before the 'for' loops.
+
+2015-05-27 13:05:11 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/gl/gstgleffects.c:
+	  gleffects: 'for' loop initial declaration
+	  'for' loop initial declarations are not allowed in C89, moving the declarations
+	  to before the 'for' loops.
+
+2015-05-27 12:03:42 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/resindvd/gstmpegdemux.c:
+	  resindvd: remove unused value
+	  The data variable is incremented but never read again. Remove the unused value
+	  assignment.
+
+2015-05-27 06:17:49 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: remove more unused attributes
+	  Those are not used or only read
+
+2015-05-27 05:35:30 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: remove unused attribute
+	  It is never read for anything useful
+
+2015-05-26 16:47:47 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: fix a leak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749846
+
+2015-05-26 15:10:28 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: properly handle errors while loading file
+	  Post an error on the bus if anything bad happens while reading
+	  and parsing the image file.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749846
+
+2015-05-26 15:04:34 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgloverlay.h:
+	  gloverlay: remove unused type_file field
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749846
+
+2015-05-26 15:01:37 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: propagate return value from filter and filter_texture
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749846
+
+2015-05-26 16:39:59 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/dvbsuboverlay/dvb-sub.c:
+	  dvbsuboverlay: remove unused assignment
+	  buf is incremented just before returning, this new value is never used.
+	  Removing unused assignment.
+
+2015-05-26 15:24:52 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: 'for' loop initial declaration
+	  'for' loop initial declarations are only allowed in C89, moving the declaration
+	  to before the 'for' loop.
+
+2015-05-26 14:14:34 +0100  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/gaudieffects/gstexclusion.c:
+	  exclusion: exception when set factor to 0
+	  When factor property is set to 0, transform just returns.
+	  Adjust the minimum value to 1.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743907
+
+2015-05-26 12:47:40 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgleffects.c:
+	  gleffects: properly initialize the shaders across contexts implementing multiple API's
+
+2015-05-26 12:44:47 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/effects/gstgleffectssources.c:
+	  gleffects_laplacian: fix shader compilation in gl3/gles2
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748393
+
+2015-05-25 12:33:50 +0200  Patricia Muscalu <patricia@axis.com>
+
+	* configure.ac:
+	* ext/curl/gstcurlbasesink.c:
+	* ext/curl/gstcurlbasesink.h:
+	  curlsink: handle socket callback for active FTP connections as well
+	  Since version 7.28.0, libcurl allows application to set
+	  socket options for active FTP connections.
+	  Bump libcurl requirement to version tested.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749815
+
+2015-05-20 12:08:38 +0100  David Waring <david.waring@rd.bbc.co.uk>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: Fix segfault introduced by segment iteration refactoring (2105a310).
+	  The functions to get the next fragment, next fragment timestamp and to advance
+	  to the next fragment need to work differently when stream->segments is NULL.
+	  Use logic similar to that introduced by commit 2105a310 to perform these
+	  functions.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749684
+
+2015-05-18 22:33:50 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: use signed integet to represent segment index
+	  We need to be able to represent -1 to check when we are EOS
+	  on reverse playback and unsigned integer won't allow that.
+	  CID #1298193
+	  CID #1298194
+	  CID #1298195
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749534
+
+2015-05-25 10:30:55 +0900  Suhwang Kim <suhwang.kim@lge.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: fix outdated example launch line
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749809
+
+2015-05-22 13:12:09 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/wayland/wayland_event_source.c:
+	  gl/wayland: remove dead event source code
+
+2015-05-21 17:48:31 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/wayland/Makefile.am:
+	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
+	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.h:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	  gl/wayland: add GstGLDisplayWayland
+	  Simple implementation split from GstGLWindowWayland
+	  Can now have multiple glimagesink elements all displaying output
+	  linked via GL or otherwise (barring GL platform limitations).
+	  The intel driver is racy and can crash setting up the two glimagesink contexts.
+	  e.g.
+	  videotestsrc ! tee name=t ! queue ! glupload ! glimagesinkelement
+	  t. ! queue ! gleffects_blur ! glimagesinkelement
+	  videotestsrc ! glupload ! glfiltercube ! tee name=t ! queue ! glimagesinkelement
+	  t. ! queue ! gleffects_blur ! glimagesinkelement
+
+2015-05-25 17:27:58 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgltransformation.c:
+	  gltransformation: fix DrawElements call for element array buffers
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749734
+
+2015-05-23 01:00:18 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  gl/calayer: provide the exact GL api version for the wrapped context
+	  Otherwise we could end up being mistaken for the diference between a
+	  gl3 and a gl2 context resulting in a failure getting the list of
+	  extensions from the wrapped context due to the difference between
+	  glGetString and glGetStringi for the GL_EXTENSIONS token.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749728
+
+2015-05-22 02:40:37 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: remove unnecessary semicolon
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749691
+
+2015-05-21 15:30:34 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	  gl: win32: do not call SetParent in release_parent_win_id()
+	  When called from gst_gl_window_win32_close(), internal window
+	  could not exist, and if it does it's going to be destroyed just
+	  after that anyway. Also it causes window_proc() to be called
+	  and crash because it gets a NULL context.
+	  When called from gst_gl_window_win32_set_window_handle() we are
+	  going to set another parent anyway, and it's probably better to
+	  reparent directly instead of passing by a NULL parent which could
+	  cause the internal window to popup briefly.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749601
+
+2015-05-21 15:30:00 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	  gl: win32: remove unused code
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749601
+
+2015-05-20 17:09:21 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	  gl: win32: fix crash when finalizing GstGLContext
+	  gst_gl_context_finalize() is calling gst_gl_window_win32_quit()
+	  which was posting a message. But then window_proc takes window's
+	  context and get a NULL.
+	  Now that we've got a GMainLoop we can do like other backends and
+	  simply call g_main_loop_quit().
+	  This also remove duplicated code to release the parent window and
+	  potential crash there because parent_proc could be NULL if we never
+	  created the internal window. That could happen for example if setting
+	  state to READY then setting a window_handle, and go back to NULL state.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749601
+
+2015-05-20 17:06:42 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	  gl: win32: Fix leaked GstGLContext
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749601
+
+2015-05-20 15:30:49 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	  gl: win32: set the parent window when creating internal window
+	  When _set_window_handle() was called in READY state, it wasn't
+	  set to the internal window created later.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749601
+
+2015-05-20 15:29:50 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/Makefile.am:
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
+	* gst-libs/gst/gl/win32/win32_message_source.c:
+	* gst-libs/gst/gl/win32/win32_message_source.h:
+	  gl: win32: use a GMainContext to dispatch win32 messages
+	  gst_gl_window_win32_send_message_async() could be called before the
+	  internal window is created so we cannot use PostMessage there.
+	  x11 and wayland backends both create a custom GSource for this,
+	  so there is no reason to not do that for win32.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749601
+
+2015-05-22 00:27:36 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: Don't leak all memory uploaded via raw uploads.
+	  Remove an extra ref missed when switching over to not
+	  reusing output textures
+
+2015-05-21 16:24:48 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	* gst/compositor/compositor.c:
+	  compositor/glvideomixer: Don't calculate PAR/DAR with unset GstVideoInfos
+	  Otherwise we divide by zero.
+
+2015-05-21 16:19:08 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Fix double assignment
+
+2015-05-21 15:05:33 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: require a shader version to initialize.
+	  It's very near pointless to try our GL implementation without shaders.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749284
+
+2015-05-20 02:38:53 +1000  Jan Schmidt <jan@centricular.com>
+
+	* tests/examples/gl/generic/cube/Makefile.am:
+	* tests/examples/gl/generic/cubeyuv/Makefile.am:
+	* tests/examples/gl/generic/doublecube/Makefile.am:
+	  Fix flags order in GL examples for uninstalled build
+
+2015-05-20 01:57:52 +1000  Jan Schmidt <jan@centricular.com>
+
+	* sys/wasapi/Makefile.am:
+	  wasapi: Fix flags order for uninstalled build
+
+2015-05-21 00:56:01 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	* gst/compositor/compositor.c:
+	  compositor/glvideomixer: fix up par handling
+	  We were using the wrong formula
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749634
+
+2015-04-17 15:36:49 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: Consider SEI NALU as "HEADER" packets
+	  Like SPS/PPS they do contain information which will be needed to
+	  decode the following data (as per definition of the flag)
+	  Also ensures that the series of SPS/PPS/SEI NALU before a keyframe
+	  can be considered as one contiguous header
+
+2015-04-17 15:35:43 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	* gst/mpegtsmux/mpegtsmux.h:
+	  mpegtsmux: Carry over GST_BUFFER_FLAG_HEADER
+	  In the same way we do it for the DELTA_UNIT flag
+	  This allows downstream elements to know whether a given mpeg-ts
+	  packet contains a corresponding HEADER elementary unit
+
+2015-05-20 12:11:31 +0200  Thijs Vermeir <thijs.vermeir@barco.com>
+
+	* ext/x265/gstx265enc.c:
+	  x265enc: Only copy VPS/SPS/PPS NAL units in header buffer
+	  Previously the VPS unit was detected and all next packets where copied
+	  into the header buffer assuming only SPS and PPS would follow.  This is
+	  not always true, also other types of NAL units follow the VPS unit and
+	  where copied to the header buffer. Now the VPS/SPS/PPS are explicitely
+	  detected and copied in the header buffer.
+
+2015-05-20 11:27:25 +0200  Thijs Vermeir <thijs.vermeir@barco.com>
+
+	* ext/x265/gstx265enc.c:
+	  x265enc: Fix tune parameter mismatch
+	  There was a mismatch between the tune parameter in x265 and the enum
+	  used in this element. The value in the enum is the x265 tune
+	  parameter + 1.
+
+2015-05-19 18:02:30 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamcaudiodec.c:
+	* sys/androidmedia/gstamcaudiodec.h:
+	  amcaudiodec: Add an output adapter for chunking the output into codec frames
+	  Otherwise the base class will be confused.
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=685730
+
+2015-05-19 10:43:28 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	  gl: fix crash on windows with intel driver
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749430
+
+2015-05-20 00:50:37 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/caopengllayersink.m:
+	  caopengllayersink: static const the indices array
+	  the contents will never change anyway.
+
+2015-05-20 00:28:52 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/caopengllayersink.h:
+	* ext/gl/caopengllayersink.m:
+	  caopengllayersink: correctly use the sync meta across multiple contexts
+	  1. Set the sync point after the (possible) upload has occured
+	  2. Wait in the correct GL context (the draw context)
+	  Note: We don't add the GL sync meta to the input buffer as it's not
+	  writable and a copy would be expensive.
+	  Similar to the change with the same name for glimagesink
+
+2015-05-20 00:28:07 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/caopengllayersink.h:
+	* ext/gl/caopengllayersink.m:
+	  caopengllayersink: update for GL3 element array buffer usage
+	  fixes blank output
+
+2015-05-19 16:22:00 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: correctly use the sync meta across multiple contexts
+	  1. Set the sync point after the (possible) upload has occured
+	  2. Wait in the correct GL context (the draw context)
+	  Note: We don't add the GL sync meta to the input buffer as it's not
+	  writable and a copy would be expensive.
+
+2015-05-19 16:19:41 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  gl/calayer: provide a current wrapped GstGLContext for callbacks
+	  So that the draw and resize callbacks can get the current GstGLContext.
+
+2015-05-19 16:14:39 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsyncmeta: ensure that the Fence is going to be executed
+	  Otherwise it could stay client side without being submitted to the GL
+	  server resulting in another context waiting on a Fence that will never
+	  become signalled causing a deadlock.
+
+2015-05-19 11:47:23 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: don't reuse output textures for raw data upload
+	  Causes stale textures to be used further down the chain.
+
+2015-05-19 11:11:02 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	  glframebuffer: don't clear the framebuffer
+	  Breaks attempting to blend with the destination buffer and should be done
+	  explicitly by the callback anyway.
+
+2015-05-19 11:09:54 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	  glbasefilter: track gl_start/stop correctly
+	  Don't start multiple times without calling gl_stop.
+
+2015-05-18 20:16:32 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/compositor/compositor.c:
+	  Revert "doc: Workaround gtkdoc issue"
+	  This reverts commit ff6c736fe08e01f4320c4b02e811a0b57cf97cc1.
+	  This is fixed by the gtk-doc 1.23 release.
+	  <para> cannot contain <refsect2>:
+	  http://www.docbook.org/tdg/en/html/para.html
+	  http://www.docbook.org/tdg/en/html/refsect2.html
+
+2015-05-14 02:11:50 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/m3u8.c:
+	  hlsdemux: Simplify logic in process_manifest
+	  Simplify logic in process_manifest and remove a TODO item.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749328
+
+2015-05-18 14:12:56 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+	* ext/opencv/gstcvsmooth.c:
+	* ext/opencv/gstcvsmooth.h:
+	  cvsmooth: rename properties
+	  The properties are named as param1 to param4, which makes very little sense
+	  hence renamed the properties according to what it is doing.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749523
+
+2015-05-18 14:01:59 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+	* ext/opencv/gstcvsmooth.c:
+	  cvsmooth: Wrong assignment of prop leads to crash
+	  when setting param2 property, it is wrongly being assigned to param1.
+	  This leads to wrong behavior and a crash when param2 is set as 0.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749523
+
+2015-05-18 14:30:19 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+	* ext/opencv/gstpyramidsegment.c:
+	  pyramidsegment: wrong value of level property
+	  The property level has a minimum value of 0. But when we set the level as 0,
+	  it gets an assertion error. The function icvPyrSegmentation8uC3R returns false
+	  if level is set as 0, since the minimum level cant be 0 and thus results in error.
+	  Hence changing the minimum value to 1.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749525
+
+2015-05-16 23:38:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/compositor/compositor.c:
+	  doc: Workaround gtkdoc issue
+	  With gtkdoc 1.22, the XML generator fails when a itemizedlist is
+	  followed by a refsect2. Workaround the issue by wrapping the
+	  refsect2 into para.
+
+2015-05-06 15:17:24 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: fix buffer timestamp not being in stream time
+	  Timestamps should start at the segment start, rather than 0, so
+	  we need to not subtract the first timestamp. This makes the sink
+	  correctly account for running time when switching PMTs where a
+	  stream starts not quite at zero, causing timing offsets that can
+	  become noticeable and causing dropped frames after a few times.
+
+2015-05-06 15:16:37 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: accumulate previous segment base time
+
+2015-04-24 12:56:02 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	  tsdemux: fix refcounting when applying a new PMT
+	  A new program object is created to replace an existing one
+	  in the programs hash table, so its refcount needs to match.
+	  With the default of 0 refcount on creation, the next PAT
+	  change will cause that refcount to be both incremented and
+	  decremented (assuming the new PAT references that stream too),
+	  which will cause the program to be destroyed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748412
+
+2015-05-14 16:06:55 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlssrtpdec.c:
+	* ext/dtls/gstdtlssrtpenc.c:
+	  dtls: Fix memory leak
+	  Keys were not correctly released when it was get as a property
+	  nor when a second key was received
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749380
+
+2015-05-14 21:21:01 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: free the vertex buffer when done
+	  fixes a memory leak
+
+2015-01-22 18:00:36 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  glcontext/cocoa: implement GL3 core context selection
+
+2015-05-14 18:35:35 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/libs/gstglcontext.c:
+	  tests/gl: fix typo
+
+2015-05-14 16:42:09 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/effects/gstgleffectblur.c:
+	* ext/gl/effects/gstgleffectbulge.c:
+	* ext/gl/effects/gstgleffectfisheye.c:
+	* ext/gl/effects/gstgleffectglow.c:
+	* ext/gl/effects/gstgleffectlaplacian.c:
+	* ext/gl/effects/gstgleffectlumatocurve.c:
+	* ext/gl/effects/gstgleffectmirror.c:
+	* ext/gl/effects/gstgleffectrgbtocurve.c:
+	* ext/gl/effects/gstgleffectsin.c:
+	* ext/gl/effects/gstgleffectsobel.c:
+	* ext/gl/effects/gstgleffectsquare.c:
+	* ext/gl/effects/gstgleffectsqueeze.c:
+	* ext/gl/effects/gstgleffectstretch.c:
+	* ext/gl/effects/gstgleffecttunnel.c:
+	* ext/gl/effects/gstgleffecttwirl.c:
+	* ext/gl/effects/gstgleffectxray.c:
+	* ext/gl/gltestsrc.c:
+	* ext/gl/gstgldeinterlace.c:
+	* ext/gl/gstgldifferencematte.c:
+	* ext/gl/gstglfilterglass.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmosaic.c:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstglvideomixer.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* tests/check/libs/gstglcontext.c:
+	* tests/check/libs/gstglupload.c:
+	  gl: remove useless gl{En,Dis}able (GL_TEXTURE_*) calls
+	  We are using shaders everywhere and so they are not needed
+
+2015-05-14 15:10:59 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: cleanup properties
+	  remove unused "display-name"
+	  ensure defaults between the bin/element are the same
+
+2015-05-14 14:56:30 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgleffects.c:
+	  gleffects: only try the GL2 shader init path if we have a GL2 context
+
+2015-05-12 22:04:26 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglshader.c:
+	  glshader: attempt to detect the gles2 inside opengl3 case
+	  This is necessary to use gles2 shaders in a GL 3 core context on
+	  OS X which fails without a proper #version being set on the shaders.
+
+2015-05-12 17:55:43 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglshader.c:
+	  glshader: remove references to gl3 specific shaders
+	  We rely specifically on gles2 shaders being supported by the GL
+	  implementation with GL3 core profile.
+
+2015-05-01 12:04:28 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfiltercube.h:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgloverlay.h:
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstgltransformation.h:
+	* ext/gl/gstglvideomixer.c:
+	* ext/gl/gstglvideomixer.h:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  gl: element buffers are part of vao state
+	  Use them as such.  They are also required for GL3 core profile support
+	  with glDrawElements on OS X.
+
+2015-05-07 12:25:10 +0700  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: properly detect (hopefully) the correct ext_rg/arb_rg variant
+	  GL_EXT_texture_rg is only valid for GLES2. GLES3 uses similar wording to
+	  the GL_ARB_texture_rg which requires a sized internal format that the
+	  GL_EXT_texture_rg does not require.
+	  https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_rg.txt
+	  https://www.opengl.org/registry/specs/ARB/texture_rg.txt
+
+2015-05-14 13:04:21 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst/compositor/compositor.c:
+	  compositor: implement proper par handling
+	  We were previously failing on different input and output par
+
+2015-05-12 13:41:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: avoid busy-looping when waiting for new fragment
+	  When all fragments have already been downloaded on a live stream
+	  dashdemux would busy loop as the default implementation of
+	  has_next_fragment would return TRUE. Implement it to correctly
+	  signal if adaptivedemux should wait for the manifest update before
+	  trying to get new fragments.
+
+2015-05-11 14:19:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: Improve live stream manifest update repositioning
+	  When updating the manifest the timestamps on it might have changed a little
+	  due to rounding and timescale conversions. If the change makes the timestamp
+	  of the current segment to go up it makes dashdemux reposition to the previous
+	  one causing one extra unnecessary download.
+	  So when repositioning add an extra 10 microseconds to cover for that rounding
+	  issues and increase the chance of falling in the same segment.
+	  Additionally, also improve the time used when the client is already after the
+	  last segment. Instead of using the last segment starting timestamp use the
+	  final timestamp to make it reposition to the next one and not to the one that
+	  has already been downloaded.
+
+2015-05-11 12:30:03 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: add more protection when acessing gptrarray entries
+	  The glib structure doesn't do range checking so we have to do it
+	  ourselves.
+	  Also adds some more debugging messages
+
+2015-05-08 16:58:36 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: remove unused functions
+	  These functions of directly getting and setting segment indexes
+	  are no longer useful as now we need 2 indexes: repeat and segment
+	  index.
+	  The only operations needed are advance_segment, going back to the
+	  first one or seeking for a timestamp.
+
+2015-05-08 16:49:02 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: reuse seeking function to reduce repeated code
+	  Instead of writing a seek routine, just use the mpdparser function.
+	  Also remove function that is not needed anymore
+
+2015-05-08 16:31:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: refactor segment iteration for better performance
+	  Segments are now stored with their repeat counts instead of spanding
+	  them to multiple segments. This caused advancing to the next segment
+	  using a single index to have to iterate over the whole list every time.
+	  This commit addresses this by storing both the segment index as well
+	  as the repeat index and makes advancing to next segment just an
+	  increment of the repeat or the segment index.
+
+2015-05-07 16:30:48 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: improve mpd parsing for repeated segment entries
+	  Use a single segment to represent it internally to avoid using too
+	  much memory. This has the drawback of issuing a linear search to
+	  find the correct segment to play but this can be fixed by using
+	  binary searches or caching the current position and just looking
+	  for the next one.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748369
+
+2015-05-12 12:55:42 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: drop debug message that was wrong
+	  EOS doesn't necessarily mean that no fragment was downloaded
+
+2015-05-12 12:55:17 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: run gst-indent
+	  To allow commiting on this file cleanly
+
+2015-05-11 11:56:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: the parent is provided in the function
+	  No need to get it again
+
+2015-05-13 15:59:48 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/dtls/gstdtlsenc.c:
+	  dtlsenc: Fix memory leak releasing connection_id
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749318
+
+2015-05-13 15:33:49 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/dtls/gstdtlsenc.c:
+	  dtlsenc: Fix memory leak while setting connection-id
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749318
+
+2015-05-13 17:15:57 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	  dtlsdec: Fix memory leak, release previous pem
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749322
+
+2015-05-13 16:06:52 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	  dtlsdec: Fix memory leak on dispose
+	  Parent dispose function was not called
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749322
+
+2015-05-13 17:19:25 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/dtls/gstdtlsconnection.c:
+	  dtlsconnection: Fix memory leak while setting closure
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749325
+
+2015-05-13 16:23:26 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* configure.ac:
+	  fix faad2 version check
+	  On fedora 22, the output of cpp inserts extra debug comments, which
+	  makes our regexp for the faad2 version check fail. This in turn causes
+	  it to compile with the wrong arguments passed which then causes stack
+	  corruption and crashes.
+	  Fix this by only checking for the version (which should be by itself on
+	  a single line). This is potentially less safe, it might be possible that
+	  a similar string would appear in a later version in the header file.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=748571
+
+2015-05-13 23:55:28 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: propagate the version/extension failure upwards
+	  Otherwise the calling code has no idea that the context failed to
+	  be created fully.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749284
+
+2015-05-13 23:54:52 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	  gl: don't deadlock on context creation failure
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749284
+
+2015-05-13 15:42:15 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglmixerbin.c:
+	  glmixerbin: Don't unref pad templates
+	  Otherwise we unref the reference that is owned by the element class.
+
+2015-05-13 12:31:44 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: fix failure return values from create_session()
+	  create_session() returns an err_status_t with
+	  err_status_ok=0 and err_status_fail=1, so
+	  returning TRUE/FALSE is not quite right.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749304
+
+2015-05-13 13:14:14 +0200  Miguel París Díaz <mparisdiaz@gmail.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: fix over unlocking
+	  Called should call function with lock, and is
+	  also responsible for unlocking it later.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749304
+
+2015-05-12 15:47:33 +0800  Lyon Wang <lyon.wang@freescale.com>
+
+	* gst/videoparsers/h263parse.c:
+	  h263parse: fix custom picture format (CPFMT) parsing
+	  In the H263 spec, CPFMT is present only if the use of a custom
+	  picture format is signalled in PLUSEPTYPE and UFEP is "001",
+	  so we need to check params->format and only if the value is
+	  6 (custom source format) the CPFMT should be read, otherwise
+	  it's not present and wrong data will be parsed.
+	  When reading the CPFMT, the width and height were not
+	  calculated correctly (wrong bitmask).
+	  https://bugzilla.gnome.org//show_bug.cgi?id=749253
+
+2015-05-13 17:38:35 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst/compositor/compositor.c:
+	* tests/check/elements/compositor.c:
+	  compositor: fix rectangle obscure test to clamp against the output frame size
+	  Rather than one of the input pad video info's.
+	  The test checking this was not constraining the output frame size
+	  to ensure that the out of frame stream was not being displayed.
+
+2015-05-13 17:11:55 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: implement par handling
+	  We were previously ignoring it completely
+
+2015-05-13 17:10:42 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: don't upload the vertex data every frame
+	  Add the missing cache tracking statement.
+
+2015-05-12 16:36:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* ext/gl/gstgluploadelement.c:
+	  gluploadelement: Remove uneeded header and defines
+
+2015-05-11 15:02:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/gstgltestsrc.c:
+	  gltestsrc: Use default get_caps implementation
+	  The custom code is wrong as it ignores the templates, which leads to
+	  missing fields in the result. Instead, simply use the default get_caps
+	  implementation which does it correctly (get the template, intersect
+	  with filter and return).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749237
+
+2015-05-11 15:54:52 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: Implement GstVideoAggregator::find_best_format()
+	  Without this, we will fixate weird pixel-aspect-ratios like 1/2147483647. But
+	  in the end, all the negotiation code in videoaggregator needs a big cleanup
+	  and videoaggregator needs to get rid of the software-mixer specific things
+	  everywhere.
+
+2015-05-11 22:53:09 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstopengl.c:
+	  gl: demote upload/convert/download elements to none
+	  Copy paste error
+
+2015-05-11 22:37:44 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstopengl.c:
+	  gl: expose internal glvideomixerelement\
+	  We might want more control over the exact pipeline
+	  Also reduces overhead
+
+2015-05-11 22:35:18 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstopengl.c:
+	  gl: expose internal glimagesinkelement
+	  We might want more control over the exact pipeline.
+	  Also reduces overhead.
+
+2015-05-07 21:18:27 +0200  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: fix unconditional buffer queue unlock
+	  Unless stopRequest is set, we should unlock conditionally -- otherwise,
+	  the 'create:' method can wake up to an empty buffer queue
+	  and pull a nil buffer.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748054
+
+2015-05-11 12:18:28 +0200  Heinrich Fink <hfink@toolsonair.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	  decklink: Rename mode 2048p to 1556p
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749218
+
+2015-05-11 12:04:47 +0200  Heinrich Fink <hfink@toolsonair.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: Use correct frame rate for mode 2160p50
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749218
+
+2015-05-11 12:02:47 +0200  Heinrich Fink <hfink@toolsonair.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	  decklink: Rename mode 3184p to 2160p
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749218
+
+2015-01-22 15:43:22 +0100  Piotr Drąg <piotrdrag@gmail.com>
+
+	* po/POTFILES.in:
+	* po/POTFILES.skip:
+	  po: update POTFILES.skip and POTFILES.in
+	  The ones in .skip need to be added back to POTFILES.in
+	  after porting to 1.x.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743352
+
+2015-05-08 14:20:44 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/removesilence/gstremovesilence.c:
+	  removesilence: remove gst_remove_silence_reset()
+	  No need to call gst_remove_silence_reset() in gst_remove_silence_init() because
+	  vad_new() already calls this function. Since there are no more uses of
+	  _silence_reset(), we can remove it altogether.
+
+2015-05-08 14:55:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: We shouldn't manually check reconfigure flag on pads but instead implement ::negotiate()
+	  Add FIXME comment related to that.
+
+2015-05-08 13:54:06 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/asfmux/gstasfmux.c:
+	* gst/debugutils/fpsdisplaysink.c:
+	* gst/mxf/mxfdv-dif.c:
+	* gst/mxf/mxfmux.c:
+	* gst/videomeasure/gstvideomeasure_ssim.c:
+	* gst/videoparsers/gsth264parse.c:
+	* gst/videoparsers/gsth265parse.c:
+	  Update references to decodebin
+	  Update old references for decodebin2 to decodebin.
+
+2015-05-08 13:49:38 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/removesilence/gstremovesilence.c:
+	  removesilence: update example launch line
+
+2015-05-07 21:04:30 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlssrtpdec.c:
+	* ext/dtls/gstdtlssrtpdec.h:
+	  dtlssrtpdec: Don't merge RTP and RTCP streams that were just split by srtpdec
+	  The funnel has some overhead, and later rtpbin will have to split both streams
+	  again anyway.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748723
+
+2015-05-06 15:47:27 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  Revert "Revert "glimagesink: add pixel-aspect-ratio property on the bin""
+	  This reverts commit d96e43b034a03fe54633907bc1bf2a26fe5f95fb.
+
+2015-05-06 15:47:20 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  Revert "Revert "glimagesink: forward ALL the properties on the bin""
+	  This reverts commit 59fb0f830f08e3e59f87f83df8fa3c2d9f3d9741.
+
+2015-05-06 15:47:04 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstopengl.c:
+	  Revert "Revert "glimagesink: implement as a bin""
+	  This reverts commit be938f92d94e8acccf593128281f6e09213600a0.
+
+2015-05-06 15:46:49 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglcolorconvertelement.c:
+	* ext/gl/gstglcolorconvertelement.h:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstglmosaic.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  Revert "gl: readd glupload/download onto element pads"
+	  This reverts commit 87d8270f302b03f63ce04f986d824892a2c131fd.
+
+2015-05-06 15:43:32 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	* ext/gl/gstglvideomixer.h:
+	* ext/gl/gstopengl.c:
+	  Revert "Revert "glvideomixer: implement with glmixerbin""
+	  This reverts commit b4bd11f2f3a60224d188b27ab55b278077cb1217.
+
+2015-05-06 12:59:33 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: Actually set the caps on the srcpad instead of just calling the default event handler for the sinkpad
+	  Fixes up dafa11b9d21d06a0273007628a2a0bb4d7858658
+
+2015-04-29 18:23:31 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: only update stream position if query success
+	  We don't need to check about the query fail case.
+	  because it is update to segment position even though query fail.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748529
+
+2015-05-05 12:45:24 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  decklink: Disable decklink plugin on Android
+
+2015-05-05 14:44:25 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsyncmeta: fixup size declaration
+
+2015-05-04 23:42:36 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: handle the local_context query
+	  so that upstream elements can get the GL context from glimagesink
+
+2015-05-03 14:56:05 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* sys/androidmedia/gstamc-constants.h:
+	* sys/androidmedia/gstamc.c:
+	  androidmedia: Add suport for COLOR_FormatYV12
+	  Reference: http://developer.android.com/reference/android/graphics/ImageFormat.html#YV12
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747126
+
+2015-04-30 11:44:06 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* sys/androidmedia/gstamc-constants.h:
+	  androidmedia: Declare QOMX_COLOR_FORMATYVU420PackedSemiPlanar32mMultiView constant
+	  This color format is the same as QOMX_COLOR_FORMATYUV420PackedSemiPlanar32m
+	  but stores two images one after the other in a top-bottom layout.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747126
+
+2015-05-04 11:23:16 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstrtpopusdepay.c:
+	  opusdepay: Set multistream=FALSE on the Opus caps
+	  The RTP Opus mapping only allows mono/stereo, and not multistream Opus
+	  streams.
+
+2015-05-04 10:35:55 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/opus/gstopusheader.c:
+	  opusheader: Do not include rate in caps if it is 0
+	  As expressed in gst_opus_header_create_caps, value 0 means unset.
+	  Setting rate value to 0 make negotiation with decoder fail.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748875
+
+2015-05-04 08:06:35 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* sys/androidmedia/gstamc.c:
+	  androidmedia: Fix slice-height for Tegra 3 devices
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748867
+
+2015-03-13 16:07:15 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* sys/androidmedia/gstamc-constants.h:
+	* sys/androidmedia/gstamc.c:
+	  androidmedia: Add support for COLOR_FormatYUV420Flexible
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747126
+
+2015-03-25 17:43:59 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* sys/androidmedia/gstamc-constants.h:
+	* sys/androidmedia/gstamc.c:
+	  androidmedia: Add suport for Intel color formats
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747126
+
+2015-05-02 18:06:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: Fix profile and level setting in caps
+	  Don't use the apis in codec-utils to extract the profile and level
+	  syntax elements since it is wrong if there are emulation prevention
+	  bytes existing in the byte-stream data.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-05-03 23:08:15 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcolorconvert.h:
+	  glcolorconvert: Improve passthrough check when no conversion is needed.
+	  Make the passthrough check contingent on only the fields we
+	  can modify being unchanged, and pre-compute it when caps
+	  change instead of checking on each buffer. Makes the passthrough
+	  more lenient if consumers are lax about making input and output
+	  caps complete.
+
+2015-05-01 19:39:58 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: handle when source creation fail
+	  Remember to set the source to NULL state as adding it to the pipeline
+	  will set it to the READY state.
+
+2015-05-01 19:31:45 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: fix element linking order
+	  Video source should be linked to videocrop and not to
+	  videoconvert as it is done in the main linking path
+
+2015-03-13 06:10:52 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/compositor.c:
+	  tests: Add a check for the new compositor pad-is-obscured optimization
+	  We verify that all the buffers on an obscured sinkpad are skipped by overriding
+	  the map() function in the GstVideoMeta of the buffers to set a variable when
+	  called. We also test that the buffers do get mapped when they're not obscured.
+	  Blame^WCredit for the GstVideoMeta map() idea goes to Tim.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746147
+
+2015-04-18 15:10:00 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Only map the frame from a buffer if it will be used
+	  It's a waste of resources to map it if it won't be converted
+	  or used at all. Since we moved the frame mapping down, we need
+	  to use the GST_VIDEO_INFO accessor macros now in the code above
+	  that instead of the GST_VIDEO_FRAME accessor macros.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746147
+
+2015-04-18 15:09:02 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: use accessor macros for consistency
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746147
+
+2015-04-18 15:09:02 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Skip pads that are completely obscured by a higher zorder pad
+	  For each frame, compare the frame boundaries, check if the format contains an
+	  alpha channel, check opacity, and skip the frame if it's going to be completely
+	  overwritten by a higher zorder frame. The check is O(n^2), but that doesn't
+	  matter here because the number of sinkpads is small.
+	  More can be done to avoid needless drawing, but this covers the majority of
+	  cases. See TODOs. Ideally, a reverse painter's algorithm should be used for
+	  optimal drawing, but memcpy during compositing is small compared to the CPU used
+	  for frame conversion on each pad.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746147
+
+2015-04-30 19:08:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth265parse.c:
+	  h265parse: Fix source caps to report cropped dimensions
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-10 15:34:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth265parse.c:
+	  h265parse: Fix the memory freeing of stored VPS nals
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-30 18:36:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth265parse.c:
+	  h265parse: Fix profile, tier and level setting in caps
+	  Don't use the apis in codec-utils to extract the profile,tier and level
+	  syntax elements since it is wrong if there are emulation prevention
+	  bytes existing in the byte-stream data.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-17 15:15:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	  codecparser: h265: Fix nal unit size checking
+	  The EOS and EOB nals have the size 2 which is the size of
+	  nal unit header itself. The gst_h265_parser_identify_nalu()
+	  is not required to scan start code again in this case.
+	  In other cases, for a valid nalunit the minimum required size
+	  is 3 bytes (2 byte header and at least 1 byte RBSP payload)
+
+2015-04-17 15:03:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	* gst-libs/gst/codecparsers/gsth265parser.h:
+	  codecparser: h265: Calculate crop rectangle dimensions
+
+2015-04-17 15:01:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	* gst-libs/gst/codecparsers/gsth265parser.h:
+	  codecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal
+	  An SEI Nal can have more than one SEI message.
+	  Change in API: the gst_h265_parser_parse_sei()
+
+2015-04-30 21:32:29 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: Make sure to send caps events downstream before any segment events
+	  Upstream might not give us a caps event (dtlssrtpdec) because it might be an
+	  RTP/RTCP mixed stream, but we split the two streams anyway and should report
+	  proper caps downstream if possible.
+	  Fixes "sticky event misordering" warnings with dtlssrtpdec.
+
+2015-04-30 10:50:19 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/rtjpeg/gstrtjpegdec.c:
+	* gst/rtjpeg/gstrtjpegenc.c:
+	  rtjpeg: remove unused quality property
+
+2015-04-30 11:15:40 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglcolorconvertelement.c:
+	* ext/gl/gstglcolorconvertelement.h:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstglmosaic.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  gl: readd glupload/download onto element pads
+	  Allows insertion of gl elements into non-gl pipelines without converter
+	  (upload/download) elements.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743974
+
+2015-04-29 22:55:00 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	* ext/gl/gstglvideomixer.h:
+	* ext/gl/gstopengl.c:
+	  Revert "glvideomixer: implement with glmixerbin"
+	  This reverts commit 0fb56738a14391f248aa0be8756adeaf978baa0c.
+
+2015-04-29 22:38:00 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstopengl.c:
+	  Revert "glimagesink: implement as a bin"
+	  This reverts commit 8a0017e21d5f9a8507f0593c6b24f723aa415258.
+
+2015-04-29 22:32:33 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  Revert "glimagesink: forward ALL the properties on the bin"
+	  This reverts commit 4be45e5f30dc6121f2769323603447f591ca4a0a.
+
+2015-04-29 22:32:20 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  Revert "glimagesink: add pixel-aspect-ratio property on the bin"
+	  This reverts commit 2ba6bb9b9325b63f58a9ff0b2c82fa28759dcabc.
+
+2015-04-29 09:57:52 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/winks/gstksvideodevice.c:
+	* sys/winks/gstksvideodevice.h:
+	* sys/winks/gstksvideosrc.c:
+	  ksvideosrc: don't timestamp buffers for muxed streams
+
+2015-04-29 21:37:56 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/winks/gstksvideodevice.c:
+	  ksvideosrc: fix header size for muxed streams
+
+2015-04-29 19:39:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	  codecparser: h265: Fix the number of tile rows/columns parsing
+	  The possible minimum value for num_tile_columns_minus1 and num_tile_rows_minus1
+	  is zero (7.4.3.3).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748641
+
+2015-04-29 17:20:58 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mixmatrix/mixmatrix.c:
+	  mixmatrix: remove unused property enum items
+	  These two properties have been there since the origin of the element but they
+	  aren't used. Removing them.
+
+2015-04-29 15:41:07 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Fix comparision logic
+	  We can't answer the SEEKING query if we do *not* have the manifest
+
+2015-04-29 10:56:24 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/aiff/Makefile.am:
+	  aiff: Re-add noinst_HEADERS instruction
+	  Was removed in the previous android cleanup commit
+
+2015-04-28 21:43:56 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* sys/winks/Makefile.am:
+	* sys/winks/gstksclock.c:
+	* sys/winks/gstksvideosrc.c:
+	* sys/winks/ksdeviceprovider.c:
+	* sys/winks/ksdeviceprovider.h:
+	* sys/winks/kshelpers.c:
+	* sys/winks/kshelpers.h:
+	  GstDeviceProvider implementation for WIN Kernel Streaming plugin
+	  gst_ks_device_provider_probe() is a no-braier, just runs ks_enumerate_devices()
+	  and reports the results.
+	  Monitoring is a bit more tricky. We have to create a dummy message-processing
+	  window and register device change notifications for it.
+	  As kernel streaming can (and should) be used for audio capture and audio
+	  playback, this change also has certain placeholders for such.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747757
+
+2015-04-29 02:30:05 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: Cache caps for passing to the client draw call
+	  Don't convert the GstVideoInfo to caps on every draw call,
+	  just cache the caps and pass them into the GstSample.
+
+2015-04-29 02:20:09 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: Make upload method static caps non-const.
+	  Retrieving a GstStaticCaps does a one time internal
+	  initialisation and caches it - they can't be stored as
+	  const structures.
+
+2015-04-28 17:24:04 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/opus/gstopusdec.h:
+	* ext/opus/gstopusenc.c:
+	* ext/opus/gstopusenc.h:
+	* ext/opus/gstopusparse.c:
+	  opus: fix includes and compilation against opus in non-standard prefix
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748594
+
+2015-04-28 16:58:21 +0200  Mersad Jelacic <mersad@axis.com>
+
+	* ext/opus/gstopusdec.c:
+	* ext/opus/gstopusenc.c:
+	  opus: don't use deprecated gst_buffer_new_and_alloc
+	  Use the helper function available in the base class instead.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748585
+
+2015-04-28 16:06:47 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/libde265/libde265-dec.c:
+	  de265dec: use g_get_num_processors() if available
+	  And provide home-made fallback for older GLib versions,
+	  so that we can later find these and remove them when
+	  we bump the GLib requirement (which is certainly going
+	  to happen before 2.0).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748495
+
+2015-04-28 16:02:27 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/debugutils/fpsdisplaysink.c:
+	* gst/inter/gstintertest.c:
+	* gst/liveadder/liveadder.c:
+	  gst: remove some unnecessary glib version checks
+	  We require 2.32, no need to check for anything older
+	  than that.
+
+2015-04-28 11:28:39 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst/mxf/mxfmetadata.c:
+	  mxf: fix descriptor leak
+	  Free the existing descriptor array, if any, before replacing it.
+	  Fix leaks with the
+	  validate.file.playback.scrub_forward_seeking.test-mpeg2-mp3_mxf scenario.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748580
+
+2015-04-28 10:13:35 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: fix taglist leak
+	  If the stream which is about to be removed still has a ref on a tag list we
+	  should drop it.
+	  Fix a leak which was occasionally happening with the
+	  validate.file.playback.change_state_intensive.tron_en_ge_aac_h264_ts scenario.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748576
+
+2015-04-27 22:44:28 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  mpegtspacketizer: fix find_subtable() return value
+	  find_subtable() returns a pointer, so return NULL and
+	  not FALSE when nothing is found.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748527
+
+2015-04-28 14:52:36 +0200  Edward Hervey <edward@centricular.com>
+
+	* win32/common/libgstcodecparsers.def:
+	  win32: update defs
+
+2015-04-28 20:46:52 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: remove uneeded unref
+	  The call to _gl_mem_alloc_data will unref and NULLify 'dest' for us.
+	  We just need to return.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744246
+
+2015-04-28 09:37:59 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Use gst_pad_get_pad_template_caps in ::get_caps()
+
+2015-04-28 20:11:07 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfilterbin.c:
+	* ext/gl/gstglmixerbin.c:
+	* ext/gl/gstglsinkbin.c:
+	* ext/gl/gstgluploadelement.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstglupload.h:
+	  glupload: provide the sink template caps that could be used
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746399
+
+2015-04-27 19:28:57 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/examples/camerabin2/gst-camera2.c:
+	* tests/examples/camerabin2/gst-camera2.h:
+	* tests/examples/camerabin2/gst-camera2.ui:
+	  examples: gst-camera: add zoom property to UI
+	  Add a slider to modify the zoom in camerabin
+
+2015-04-27 18:33:37 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/examples/camerabin2/gst-camera2.ui:
+	  examples: gst-camera: remove widgets deprecated in GTK3.0
+	  VBox and HBox are now simply Box
+
+2015-04-27 15:41:04 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/examples/camerabin2/Makefile.am:
+	* tests/examples/camerabin2/gst-camera2.c:
+	* tests/examples/camerabin2/gst-camera2.ui:
+	  examples: gst-camera: update to GTK3
+	  When opening the .ui file it complains about being for GTK 2 and
+	  automatically updates it to GTK3. Commit this version and update
+	  the makefile
+
+2015-04-27 13:41:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: remove unused code
+	  The structure is created and never used anymore. Remove it.
+
+2015-04-27 13:24:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.h:
+	  wrappercamerabinsrc: use digitalzoom element
+	  Replace videocrop ! videoscale ! capsfilter with the digitalzoom
+	  bin that has the same pipeline internally and already updates
+	  the capsfilter automatically when caps change, removing this code
+	  from wrappercamerabinsrc and making it cleaner.
+
+2015-04-27 21:14:02 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstdigitalzoom.c:
+	  digitalzoom: change videocrop parameters before passing caps event
+	  Avoids one extra uneeded renegotiation if the elements are already
+	  configured to their final property values when the caps event
+	  goes through.
+	  Also avoids hitting bug https://bugzilla.gnome.org/show_bug.cgi?id=748344
+
+2015-04-22 13:06:30 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstdigitalzoom.c:
+	  digitalzoom: also skip internal pipeline in upstream caps query
+	  To avoid going through our capsfilter which would limit the choices.
+
+2015-04-22 13:05:42 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstdigitalzoom.c:
+	  digitalzoom: prevent assertion when caps is any
+
+2015-04-21 23:10:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/Makefile.am:
+	* gst/camerabin2/gstdigitalzoom.c:
+	* gst/camerabin2/gstdigitalzoom.h:
+	  camerabin: digitalzoom: create a bin element for digital zooming
+	  It contains videocrop ! videoscale ! capsfilter and implements digital
+	  zooming.
+	  At this moment, it is a private element of the camerabin plugin.
+	  This will remove some code used in wrappercamerabinsrc to make
+	  code clearer and digitalzoom can potentially be used by other
+	  applications in the future, it has nothing camerabin specific.
+
+2015-04-27 10:11:41 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	  egl: Use maximum bits per color instead of minimum
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748425
+
+2015-04-26 20:55:03 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* ext/libde265/libde265-dec.c:
+	  libde265: W32 thread count support
+	  This code is imported from GLib g_get_num_processors(). This function
+	  was added in 2.36 but we depend on 2.32.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748495
+
+2015-04-26 21:00:06 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* ext/libde265/libde265-dec.c:
+	  libde265: Fix format string for gsize
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748496
+
+2015-04-26 21:03:45 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* ext/spandsp/gstspanplc.c:
+	  spandsp: Don't use the private field 'missing_samples'
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748497
+
+2015-04-27 14:56:06 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: remove unused property enum item
+	  The property enum item has been there since the origin of the element but it
+	  has never been used. Removing it.
+
+2015-04-27 14:49:59 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/gl/gstglfiltercube.c:
+	  glfiltercube: Don't initialize multiple shaders on renegotiation
+
+2015-04-27 10:55:13 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/adpcmenc/adpcmenc.c:
+	* gst/festival/gstfestival.c:
+	* gst/games/gstpuzzle.c:
+	* gst/id3tag/gstid3mux.c:
+	* gst/librfb/gstrfbsrc.c:
+	* gst/mixmatrix/mixmatrix.c:
+	* gst/mpeg1sys/gstmpeg1systemencode.c:
+	* gst/mpegdemux/gstmpegdemux.c:
+	* gst/mpegtsdemux/tsdemux.c:
+	* gst/mpegtsmux/mpegtsmux.c:
+	* gst/mve/gstmvemux.c:
+	* gst/onvif/gstrtponviftimestamp.c:
+	* gst/overlay/gstoverlay.c:
+	* gst/rtjpeg/gstrtjpegdec.c:
+	* gst/rtjpeg/gstrtjpegenc.c:
+	* gst/speed/gstspeed.c:
+	* gst/stereo/gststereo.c:
+	* gst/subenc/gstsrtenc.c:
+	* gst/subenc/gstwebvttenc.c:
+	* gst/tta/gstttadec.c:
+	* gst/vbidec/gstvbidec.c:
+	* gst/vmnc/vmncdec.c:
+	  Rename property enums from ARG_ to PROP_
+	  Property enum items should be named PROP_ for consistency and readability.
+
+2015-04-27 10:24:00 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Remove unused stop function
+
+2015-04-27 16:04:50 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: unref the pool in the correct place
+	  Otherwise we could hold a pool to a context that is never going to be used.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748405
+
+2015-04-27 10:01:53 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/gl/gstgltransformation.c:
+	  gltransformation: Unref shader in ::stop()
+
+2015-04-27 15:20:56 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	  gl: unref display/other-context in the correct place
+	  Otherwise state changes from PLAYING->READY->PAUSED will cause there to
+	  to be no display configured on the element.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748405
+
+2015-04-10 14:08:43 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	* gst-libs/gst/codecparsers/gsth265parser.h:
+	  codecparsers: h265: add helpers to convert quantization matrices
+	  Add utility functions to convert quantization matrices from zig-zag scan
+	  order into raster scan order and vice-versa
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-10 14:07:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	  codecparser: h265: skip byte alignment bits while parsing slice header
+	  Skip the byte alignment bits as per the logic of byte_alignment()
+	  provided in hevc specification. This will fix the calculation of
+	  slice header size.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-10 14:07:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	  codecparser: h265: Fix the NumDeltaPocs calculation
+	  Always use the equation provided in spec (7-57) for finding
+	  the NumDeltaPocs
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-10 14:04:17 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	  codecparser: h265: Fix the NumPocTotalCurr calculation
+	  The NumPocToalCurr should be calculated for all B and P slices.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-10 13:59:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	  codecparser: h265: Fix nal size calculation for EOS and EOB
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-26 21:42:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglbumper.c:
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstgldeinterlace.c:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfilterglass.c:
+	* ext/gl/gstglfiltershader.c:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgltransformation.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  glfilter: De-camelcase onInitFBO() vfunc
+
+2015-04-26 21:39:06 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstgldeinterlace.c:
+	* ext/gl/gstgldifferencematte.c:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfilterglass.c:
+	* ext/gl/gstglfiltershader.c:
+	* ext/gl/gstgloverlay.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  glfilter: Remove onStart/onStop vfuncs, and unused onReset()
+	  onStart/onStop are just duplicates of the basetransform ones, onReset
+	  was never called but was used everywhere when stop should've been used.
+
+2015-04-21 09:43:58 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
+
+	* ext/gl/gstgltransformation.c:
+	  gltransformation: don't initialize multiple shaders on renegotiation
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748407
+	  * delete shader if one exists
+	  * set it to NULL after unrefing
+
+2015-04-26 21:11:17 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglcolorconvertelement.c:
+	  glcolorconvert: Fix compiler warning
+	  gstglcolorconvertelement.c:230:19: error: unused variable 'in_structure'
+	  [-Werror,-Wunused-variable]
+	  GstStructure *in_structure = gst_caps_get_structure (caps, 0);
+	  ^
+
+2015-04-15 01:24:45 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: drop frames we get before we have a clock
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748054
+
+2015-04-26 20:33:41 +0200  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	  glbasefilter: Unref other context in finalize, and display in READY->NULL
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748405
+
+2015-04-19 19:16:55 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/gl/gstglcolorconvertelement.c:
+	  glcolorconvert: Keep colorimetry and chroma-site fields if passthrough
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748141
+
+2015-04-26 18:04:16 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* Android.mk:
+	* ext/faac/Makefile.am:
+	* ext/faad/Makefile.am:
+	* ext/hls/Makefile.am:
+	* ext/mpg123/Makefile.am:
+	* ext/smoothstreaming/Makefile.am:
+	* ext/x265/Makefile.am:
+	* gst-libs/gst/adaptivedemux/Makefile.am:
+	* gst-libs/gst/basecamerabinsrc/Makefile.am:
+	* gst-libs/gst/codecparsers/Makefile.am:
+	* gst-libs/gst/insertbin/Makefile.am:
+	* gst-libs/gst/interfaces/Makefile.am:
+	* gst-libs/gst/mpegts/Makefile.am:
+	* gst-libs/gst/uridownloader/Makefile.am:
+	* gst/adpcmdec/Makefile.am:
+	* gst/adpcmenc/Makefile.am:
+	* gst/aiff/Makefile.am:
+	* gst/asfmux/Makefile.am:
+	* gst/audiobuffer/Makefile.am:
+	* gst/audiofxbad/Makefile.am:
+	* gst/audiovisualizers/Makefile.am:
+	* gst/autoconvert/Makefile.am:
+	* gst/bayer/Makefile.am:
+	* gst/camerabin2/Makefile.am:
+	* gst/cdxaparse/Makefile.am:
+	* gst/coloreffects/Makefile.am:
+	* gst/dataurisrc/Makefile.am:
+	* gst/debugutils/Makefile.am:
+	* gst/dvbsuboverlay/Makefile.am:
+	* gst/dvdspu/Makefile.am:
+	* gst/festival/Makefile.am:
+	* gst/freeverb/Makefile.am:
+	* gst/frei0r/Makefile.am:
+	* gst/gaudieffects/Makefile.am:
+	* gst/gdp/Makefile.am:
+	* gst/geometrictransform/Makefile.am:
+	* gst/hdvparse/Makefile.am:
+	* gst/id3tag/Makefile.am:
+	* gst/inter/Makefile.am:
+	* gst/interlace/Makefile.am:
+	* gst/ivfparse/Makefile.am:
+	* gst/ivtc/Makefile.am:
+	* gst/jp2kdecimator/Makefile.am:
+	* gst/jpegformat/Makefile.am:
+	* gst/librfb/Makefile.am:
+	* gst/liveadder/Makefile.am:
+	* gst/midi/Makefile.am:
+	* gst/mpegdemux/Makefile.am:
+	* gst/mpegpsmux/Makefile.am:
+	* gst/mpegtsdemux/Makefile.am:
+	* gst/mve/Makefile.am:
+	* gst/mxf/Makefile.am:
+	* gst/nuvdemux/Makefile.am:
+	* gst/onvif/Makefile.am:
+	* gst/patchdetect/Makefile.am:
+	* gst/pcapparse/Makefile.am:
+	* gst/pnm/Makefile.am:
+	* gst/rawparse/Makefile.am:
+	* gst/rtp/Makefile.am:
+	* gst/sdi/Makefile.am:
+	* gst/sdp/Makefile.am:
+	* gst/segmentclip/Makefile.am:
+	* gst/siren/Makefile.am:
+	* gst/smooth/Makefile.am:
+	* gst/speed/Makefile.am:
+	* gst/stereo/Makefile.am:
+	* gst/subenc/Makefile.am:
+	* gst/tta/Makefile.am:
+	* gst/videofilters/Makefile.am:
+	* gst/videomeasure/Makefile.am:
+	* gst/videoparsers/Makefile.am:
+	* gst/videosignal/Makefile.am:
+	* gst/vmnc/Makefile.am:
+	* gst/y4m/Makefile.am:
+	* gst/yadif/Makefile.am:
+	* sys/androidmedia/Makefile.am:
+	  Remove obsolete Android build cruft
+	  This is not needed any longer.
+
+2015-04-19 00:55:50 +0900  Yujin Lee <saddopop@gmail.com>
+
+	* sys/applemedia/plugin.m:
+	  vtdec: fix build error with clang
+	  This commit fixes a simple build error by clang with
+	  by clang with [-Werror,-Wtautological-pointer-compare] options.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748110
+
+2015-04-26 19:08:00 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Only answer the duration query in non-live mode
+
+2015-04-25 18:50:52 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/audiovisualizers/gstdrawhelpers.h:
+	* gst/audiovisualizers/gstspacescope.c:
+	* gst/audiovisualizers/gstspacescope.h:
+	* gst/audiovisualizers/gstspectrascope.c:
+	* gst/audiovisualizers/gstspectrascope.h:
+	* gst/audiovisualizers/gstsynaescope.c:
+	* gst/audiovisualizers/gstsynaescope.h:
+	* gst/audiovisualizers/gstwavescope.c:
+	* gst/audiovisualizers/gstwavescope.h:
+	* gst/audiovisualizers/plugin.c:
+	  audiovisualizer: fix the license from GPL to LGPL
+	  This was a copy'n'paste buf in the initial commit done by myself.
+
+2015-04-25 18:46:41 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	* gst/audiovisualizers/gstaudiovisualizer.h:
+	  audiovisualizer: fix the license from GPL to LGPL
+	  This was a copy'n'paste buf in the initial commit done by myself.
+
+2015-04-25 13:38:08 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/examples/opencv/Makefile.am:
+	* tests/examples/opencv/gst_element_print_properties.c:
+	* tests/examples/opencv/gst_element_print_properties.h:
+	* tests/examples/opencv/gstmotioncells_dynamic_test.c:
+	* tests/examples/opencv/gstmotioncells_dynamic_test.h:
+	  examples: motioncells: remove GPL3 code we don't need
+	  If 95% of the code of an example app consists of GObject
+	  code, maybe that's defeating the point a little. So just
+	  remove a lot of that and trim down the example to the
+	  absolute minimum. Also removes the last remaining GPL3
+	  licensed code in -bad.
+
+2015-04-25 12:52:04 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/examples/opencv/gstmotioncells_dynamic_test.c:
+	  examples: motioncells: simplify property setting
+
+2015-04-25 12:48:28 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/examples/opencv/gstmotioncells_dynamic_test.c:
+	  examples: motioncells: port to 1.x
+
+2014-11-20 00:33:44 +0100  Robert Jobbagy <jobbagy.robert@gmail.com>
+
+	* tests/examples/opencv/gstmotioncells_dynamic_test.c:
+	* tests/examples/opencv/gstmotioncells_dynamic_test.h:
+	  examples: motioncells: relicense opencv example to LGPLv2
+
+2015-04-24 14:04:55 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/camerabin.c:
+	  tests: camerabin: add tests for GstPhotography image capture
+	  GstPhotography enables new paths in wrappercamerabinsrc that allows
+	  the source to be notified about the capture caps and provide an
+	  alternative caps if desired bypassing the negotiation (this doesn't
+	  seem like a good idea these days). To make sure it keeps working
+	  until we remove it from the API in favor of standard caps negotiation
+	  features this test was added.
+	  It adds 3 extra tests with a simple test source that will:
+	  1) Test that capturing with ANY caps work
+	  2) Test that capturing with a fixed caps work
+	  3) Test that capturing with a fixed caps and having the source
+	  pick a different resolution from GstPhotography API works
+	  by having wrappercamerabinsrc crop the capture to the final
+	  requested dimensions
+
+2015-04-24 14:19:50 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.h:
+	  wrappercamerabinsrc: Rework cropping for zoom and dimension reduction
+	  wrappercamerabinsrc has a videocrop element to be used for
+	  zooming and for cropping when input caps is different when used
+	  with the GstPhotography interface. The zooming part needs
+	  the following elements:
+	  capsfilter ! videocrop ! videoscale ! capsfilter
+	  The capsfilters should always have the same caps to ensure the
+	  zooming is done and preserves dimensions, unless when it is needed
+	  to do more cropping due to input dimensions those caps
+	  need to be modified accordingly to preserve the output dimensions.
+	  This, however, makes it hard to get caps negotiation to work properly
+	  as we need to have different caps in the capsfilters to account for
+	  the extra cropping needed. It could be simple for fixed caps but it
+	  gets tricky with unfixed ones.
+	  To solve this, this patch splits the zooming and dimension reduction
+	  cropping into 2 separate videocrop elements. The first one does
+	  the dimension cropping, which is only needed when the GstPhotography
+	  API is used and the source provides a caps that is different than
+	  what is requested, while the second is dedicated to zoom crop only.
+	  The first part of the pipeline goes from:
+	  src ! videoconvert ! capsfilter ! videocrop ! videoscale ! capsfilter
+	  to
+	  src ! videocrop ! videoconvert ! capsfilter ! videocrop ! videoscale ! capsfilter
+	  It might add an extra overhead in the image capture as the image might need
+	  to be cropped twice but this can be solved by enabling videocrop to use
+	  crop metas so only the later one does the real cropping.
+	  It also makes the code a bit simpler.
+
+2015-04-24 14:17:51 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: remove obsolete comment
+	  This is already handled in another place and doesn't make sense
+	  in the function context anymore
+
+2015-04-24 14:16:24 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: error out if source fails to prepare for capture
+	  Post an error when preparing the image capture through photography
+	  interface fails
+
+2015-04-24 14:13:34 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: intersect instead of compare for equality
+	  Intersect is enough to check if the requested caps are compatible
+	  with what the source is going to provide. Equality will be too strict.
+
+2015-04-24 14:13:16 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: fix typo
+
+2015-04-24 02:22:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/camerabin.c:
+	  camerabin: tests: remove unused macros
+	  Those macros were with the wrong name (likely a copy n paste mistake)
+	  and were unused.
+
+2015-04-23 14:28:11 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/camerabin.c:
+	  tests: camerabin: remove obsolete check for 0.10 feature
+
+2015-04-24 16:48:23 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiobuffer/gstaudioringbuffer.c:
+	* gst/coloreffects/gstchromahold.c:
+	* gst/debugutils/gstcompare.c:
+	* gst/gaudieffects/gstgaussblur.c:
+	* gst/pcapparse/gstpcapparse.c:
+	* gst/rtp/gstrtph265pay.c:
+	* gst/sdp/gstsdpdemux.c:
+	* gst/videoparsers/gsth264parse.c:
+	* gst/videoparsers/gsth265parse.c:
+	* gst/videoparsers/gstmpeg4videoparse.c:
+	* gst/videoparsers/gstmpegvideoparse.c:
+	  remove unused enum items PROP_LAST
+	  This were probably added to the enums due to cargo cult programming and are
+	  unused.
+
+2015-04-24 17:13:10 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: balance change_state display ref/unref
+	  the display was being unreffed on the incorrect state change causing
+	  invalid state when changing from PLAYING/PAUSED->READY->PAUSED/PLAYING.
+
+2015-04-23 17:43:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Don't claim to be live when answering the LATENCY query
+	  Even for "live" streams we are not live in the GStreamer meaning of the word.
+	  We don't produce buffers that are timestamped based on their "capture time"
+	  and our clock, but just based on whatever timestamps the stream might contain.
+	  Also even if we wanted to claim to be live, that wouldn't work well as we
+	  would have to return GST_STATE_CHANGE_NO_PREROLL when going from READY to
+	  PAUSED, which we can't. We first need data to know if we are "live" or not.
+
+2015-04-23 17:39:46 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: Use the downloader of the base class instead of creating our own
+	  The one of the base class is completely unused because we override all
+	  the downloading here, so let's just use that one instead.
+
+2015-04-23 17:36:49 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: Don't error out if we can't match variant playlists after updating
+	  It's better to just select some random variant playlist instead of stopping,
+	  chances are that it's still continuing to work and we might just have to
+	  select a different variant again later.
+
+2015-04-23 17:33:04 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Fix how the playlists are refreshed
+	  We should only refresh the currently selected variant playlist (if any,
+	  otherwise the main playlist), not the main playlist. And only try to
+	  refresh the main playlist if updating the variant playlist fails.
+	  Some servers (Wowza) use the request of the main playlist to create a
+	  "session", which is then part of the URI of the variant playlist and
+	  also the fragments. Refreshing the main playlist would generate a new
+	  session, and the server rate limits that usually. And after a few retries
+	  the server just kicks us out.
+	  Also as a side effect we now use the same downloader for all playlists, so
+	  that we only have 2 instead of 3 connections to the server. And also
+	  previously we just ignored the downloaded data from the main playlist that
+	  the base class gave to us.
+
+2015-04-23 17:22:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/hls/gsthlsdemux.c:
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/smoothstreaming/gstmssmanifest.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: Allow subclasses to override how a new manifest would be downloaded
+
+2015-04-23 17:02:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: Expose downloader
+	  This allows subclasses to use it and share connections if possible.
+
+2015-04-23 16:43:11 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* .gitignore:
+	  Update .gitignore
+
+2015-04-23 16:40:49 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/Makefile.am:
+	  tests: define GST_CHECK_TEST_ENVIRONMENT_BEACON
+	  Make sure the test environment is set up.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=747624
+
+2015-04-23 16:39:20 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: bump automake requirement to 1.14 and autoconf to 2.69
+	  This is only required for builds from git, people can still
+	  build tarballs if they only have older autotools.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=747624
+
+2015-04-23 16:47:40 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/gl/gstgluploadelement.c:
+	  glupload: Release glupload buffer when caps are changed
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748371
+
+2015-04-23 11:47:37 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstgaussblur.c:
+	  gaudi: don't run gaussian function if sigma is 0
+
+2015-04-22 19:28:39 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: handle too short segments
+	  When the segment is very short it might be the case that the
+	  typefinding fails and when finishing the segment hlsdemux would
+	  consider the remaining data (pending_buffer) as an encryption
+	  leftover.
+	  This patch fixes it and makes sure an error is properly posted
+	  if typefind failed by refactoring buffer handling to a function
+	  and using it from the data_received and finish_fragment functions.
+
+2015-04-22 19:04:43 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: use correct variable type
+	  gst_buffer_resize needs gssize and not gsize. This makes gdb
+	  print it correctly when debugging.
+
+2015-04-22 17:08:09 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: fix mode autodetection
+	  The autodetection mode was broken because a race condition in the input mode
+	  setting. The mode could be reverted back when it was replaced in
+	  the streaming thread by the old mode in the middle of mode changed callback.
+
+2015-04-22 17:04:25 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: do not repeat first video format in caps template
+	  The first entry in the modes array is used as default mode for autodetection.
+	  There's no need to copy it into the caps template.
+
+2015-04-22 15:04:03 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstexclusion.c:
+	  gaudi: fix to 30780db1
+	  The second check for (factor == 0) creeped in the last commit.
+	  Apologies.
+
+2015-04-22 14:30:56 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstexclusion.c:
+	  gaudi: fix exclusion's factor range
+	  Avoid dividing by zero when the factor is zero. Instead, output a buffer with
+	  all color values as zero.
+
+2015-04-22 14:15:13 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstsolarize.c:
+	  gaudi: remove floor variable in solarize
+	  Floor variable has no effect and it isn't worth it to have it adjustable.
+
+2015-04-22 13:55:06 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstburn.c:
+	* gst/gaudieffects/gstburn.h:
+	* gst/gaudieffects/gstchromium.c:
+	* gst/gaudieffects/gstchromium.h:
+	* gst/gaudieffects/gstdilate.c:
+	* gst/gaudieffects/gstdilate.h:
+	* gst/gaudieffects/gstdodge.c:
+	* gst/gaudieffects/gstdodge.h:
+	* gst/gaudieffects/gstexclusion.c:
+	* gst/gaudieffects/gstexclusion.h:
+	* gst/gaudieffects/gstsolarize.c:
+	* gst/gaudieffects/gstsolarize.h:
+	  gaudi: remove unused property
+
+2015-04-22 18:54:45 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: Possible null pointer dereference
+	  While printing error message when context fails, error variable is not being used anymore
+	  so it will lead to null pointer dereference
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748287
+
+2015-04-22 10:38:19 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* INSTALL:
+	  Remove INSTALL file
+	  autotools automatically generate this, and when using different versions
+	  for autogen.sh there will always be changes to a file tracked by git.
+
+2015-04-22 10:38:13 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* LICENSE_readme:
+	  Remove LICENSE_readme
+	  It's completely outdated and just confusing, better if people are
+	  forced to look at the actual code in question than trusting this file.
+
+2015-04-21 22:04:56 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Don't stop all tasks and streams from the update task on errors
+	  It will deadlocks as we will then join() the update task from itself. Instead
+	  just post an actual error message on the bus and only stop the update task.
+	  The application is then responsible for shutting down the element, and thus
+	  all the other tasks and everything, based on the error message it gets.
+
+2015-04-21 18:29:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Fix seeking
+	  We also have to update the current_file GList pointer in the M3U playlist
+	  client, otherwise we are just continuing playback from the current position
+	  instead of seeking.
+
+2015-04-21 18:05:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Don't call unlock() just to call lock() immediately afterwards
+
+2015-04-20 08:21:32 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: Reset zoom element caps to go to viewfinder mode
+	  Avoids not-negotiated failures related to using image capture caps
+	  still when adjusting to go back to viewfinder.
+
+2015-04-20 08:20:37 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/camerabin.c:
+	  tests: camerabin: add test for capture with different caps
+	  Adds a test to verify that viewfinder and image capture caps
+	  can be set to non-intersecting caps and still work.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=724868
+
+2015-04-20 08:42:56 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: fix leak of drain query
+	  gst_pad_peer_query doesn't take ownership of the query object
+
+2015-04-20 08:42:48 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.h:
+	  wrappercamerabinsrc: Refactor internal pipeline
+	  Remove tee and output-selector and just link the source
+	  pad to the outputs we want as needed.
+	  The way we need to prioritize caps negotiation and allocation
+	  queries depending on the mode enabled is too custom to be
+	  handled using tee and output-selector.
+	  This provides more flexibility and doesn't get in the way of proper
+	  handling of negotiation and allocation queries.
+
+2015-04-05 20:18:56 +0200  Michał Dębski <debski.mi.zd@gmail.com>
+
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstgleffects.h:
+	* ext/gl/gstopengl.c:
+	  gleffects: Create element for each effect
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746209
+
+2015-03-22 11:22:52 +0100  Michał Dębski <debski.mi.zd@gmail.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/effects/gstgleffectlaplacian.c:
+	* ext/gl/effects/gstgleffectssources.c:
+	* ext/gl/effects/gstgleffectssources.h:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstgleffects.h:
+	* ext/gl/gstglfilterlaplacian.c:
+	* ext/gl/gstglfilterlaplacian.h:
+	* ext/gl/gstopengl.c:
+	  gleffects: Merge laplacian filter into effects
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746209
+
+2015-03-22 11:20:49 +0100  Michał Dębski <debski.mi.zd@gmail.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/effects/gstgleffectsobel.c:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstgleffects.h:
+	* ext/gl/gstglfiltersobel.c:
+	* ext/gl/gstglfiltersobel.h:
+	* ext/gl/gstopengl.c:
+	  gleffects: Merge sobel filter into effects
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746209
+
+2015-03-22 11:13:30 +0100  Michał Dębski <debski.mi.zd@gmail.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/effects/gstgleffectblur.c:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstgleffects.h:
+	* ext/gl/gstglfilterblur.c:
+	* ext/gl/gstglfilterblur.h:
+	* ext/gl/gstopengl.c:
+	  gleffects: Merge blur filter into effects
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746209
+
+2015-03-21 23:50:33 +0100  Michał Dębski <debski.mi.zd@gmail.com>
+
+	* ext/gl/effects/gstgleffectglow.c:
+	* ext/gl/gstglfilterblur.c:
+	  gleffects: Correct attributes for hconv and vconv shaders
+	  Width and height were switched for glow shaders. For blur
+	  filter attributes names were obsolete.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746209
+
+2015-03-21 23:21:13 +0100  Michał Dębski <debski.mi.zd@gmail.com>
+
+	* ext/gl/effects/gstgleffectssources.c:
+	  gleffects: Fix fisheye shader - pass float to sqrt
+	  On OSX passing literal int to sqrt() in GLSL results in error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746209
+
+2015-04-21 07:28:58 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
+
+	* ext/gl/gstgltransformation.c:
+	  gltransformation: fix shader memory leak
+
+2015-04-21 12:25:11 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: track context activation properly
+	  We only need to deactivate/reactivate the context iff it was already
+	  active.
+
+2015-04-21 12:19:46 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstgldisplay.h:
+	  gldisplay: synchronize the searching and creation of GstGLContext's
+	  Ootherwise we could end up with multiple elements in different chains
+	  each creating a context.  Fixes context creation with glvideomixer.
+
+2015-04-20 14:35:19 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: Remove dead code
+	  The detection for missing format/alignment is done way before this
+	  codepath is reached (at which point we have already decided of a
+	  format and alignment).
+	  CID #1232800
+
+2015-01-07 16:26:57 +0000  Edward Hervey <edward@centricular.com>
+
+	* ext/opencv/gsthanddetect.c:
+	  handdetect: remove unneeded check
+	  Variable hands is already checked to contain a value previously at the beginning
+	  of the current block. There is no need to check again. This is logically dead code.
+	  CID 1197693
+
+2015-04-20 14:20:05 +0200  Edward Hervey <edward@centricular.com>
+
+	* sys/shm/shmpipe.c:
+	  shmpipe: Ensure string received from recv() is NULL-terminated
+	  We will be doing string operations on it later.
+	  CID #1292830
+
+2015-04-20 11:30:10 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: clean assignment typo
+	  No need to set the value twice.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745102
+	  CID #295122
+
+2015-04-20 10:57:41 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: remove dead code
+	  position of GstSegment is an unsigned int64, it can never be below zero.
+	  CID #1295123
+
+2015-02-09 11:29:46 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/fieldanalysis/gstfieldanalysis.c:
+	  fieldanalysis: exception when block width to 0
+	  When block width property is set to 0, exception occurs.
+	  This happens due to divide by zero errors in calculations.
+	  block width property can never be 0. Hence adjusting the minimum value to 1.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744188
+
+2015-04-15 15:22:37 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: fix caps leak in gst_gl_mixer_pad_sink_getcaps()
+	  Caps refcounting was all wrong in this function. Rewrote it and add some
+	  comments to make it clearer.
+	  Fix caps leaks with the
+	  validate.file.glvideomixer.simple.play_15s.synchronized scenario.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747915
+	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+2015-04-20 17:08:23 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	* sys/applemedia/corevideotexturecache.h:
+	* sys/applemedia/corevideotexturecache.m:
+	* sys/applemedia/vtdec.c:
+	  applemedia: avoid implicit color conversions
+	  Rework the GL texture code a little to avoid implicit color conversion inside
+	  AVF/VT on both iOS and OSX.
+
+2015-04-19 01:15:07 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/corevideotexturecache.m:
+	  corevideotexturecache: free texture cache on iOS
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748122
+
+2015-04-19 01:21:40 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: check for failure to create buffer
+	  gst_core_media_buffer_new and gst_core_video_texture_cache_get_gl_buffer
+	  can fail for various platform reasons.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748122
+
+2015-04-19 13:12:05 +0900  Yujin Lee <saddopop@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: fix build failure with clang
+	  Use fabs for floating point input.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748128
+
+2015-04-17 13:57:38 -0600  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	  mpegtsbase: Remove unused latency query code
+	  The behavior changes based on the type of segment,
+	  not on the liveness of the source.
+
+2015-04-17 13:55:26 -0600  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: Cleanup latency query handling
+	  The minimum latency is always 0 or more. And we should
+	  requery upstream as it may have changed.
+
+2014-07-17 10:53:30 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamcaudiodec.c:
+	* sys/androidmedia/gstamcvideodec.c:
+	  androidmedia: Handle queue/release errors non-fatal
+	  They can happen sometimes as a transient problem, e.g. if there
+	  is a problem in the stream. Only handle them as fatal if many of
+	  them happen in a row.
+
+2015-04-11 16:53:38 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* ext/opencv/MotionCells.cpp:
+	* ext/opencv/MotionCells.h:
+	* ext/opencv/gstcvdilate.c:
+	* ext/opencv/gstcvdilate.h:
+	* ext/opencv/gstcvdilateerode.h:
+	* ext/opencv/gstcvequalizehist.c:
+	* ext/opencv/gstcvequalizehist.h:
+	* ext/opencv/gstcverode.c:
+	* ext/opencv/gstcverode.h:
+	* ext/opencv/gstcvlaplace.c:
+	* ext/opencv/gstcvlaplace.h:
+	* ext/opencv/gstcvsmooth.c:
+	* ext/opencv/gstcvsmooth.h:
+	* ext/opencv/gstcvsobel.c:
+	* ext/opencv/gstcvsobel.h:
+	* ext/opencv/gstdisparity.h:
+	* ext/opencv/gstedgedetect.c:
+	* ext/opencv/gstedgedetect.h:
+	* ext/opencv/gstfaceblur.c:
+	* ext/opencv/gstfaceblur.h:
+	* ext/opencv/gstfacedetect.c:
+	* ext/opencv/gstfacedetect.h:
+	* ext/opencv/gstgrabcut.cpp:
+	* ext/opencv/gstgrabcut.h:
+	* ext/opencv/gsthanddetect.c:
+	* ext/opencv/gsthanddetect.h:
+	* ext/opencv/gstmotioncells.h:
+	* ext/opencv/gstopencvutils.c:
+	* ext/opencv/gstopencvutils.h:
+	* ext/opencv/gstopencvvideofilter.h:
+	* ext/opencv/gstpyramidsegment.h:
+	* ext/opencv/gstretinex.c:
+	* ext/opencv/gstretinex.h:
+	* ext/opencv/gstsegmentation.cpp:
+	* ext/opencv/gstsegmentation.h:
+	* ext/opencv/gstskindetect.c:
+	* ext/opencv/gstskindetect.h:
+	* ext/opencv/gsttemplatematch.c:
+	* ext/opencv/gsttemplatematch.h:
+	* ext/opencv/gsttextoverlay.h:
+	  opencv: Change opencv plugin to use opencv2-style includes
+	  If old opencv1-style legacy include directory is available,
+	  this change becomes purely cosmetic (maybe will compile a bit faster).
+	  It becomes an FTBFS fix when opencv1-style include directory is missing
+	  (possibly because opencv package maintainer decided not to pack it).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747705
+
+2015-04-12 00:56:48 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* configure.ac:
+	  opencv: Change configure test to check for OpenCV2 headers
+	  * Checks for opencv2 headers only, not for legacy opencv1 headers
+	  * Checks for every opencv2 header that the implementation needs,
+	  not just highgui_c.h
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725163
+
+2015-04-17 05:12:10 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: get connection and input clock early
+
+2015-04-17 15:32:56 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  mpegtspacketizer: Unify debug statements
+	  Use 0x%04x for PIDs
+
+2015-04-17 15:30:29 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: Unify duration querying code
+	  And properly use it in the SEEKING query.
+	  Fixes seeking with gst-play
+
+2015-04-16 14:17:04 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: fix caps leak when early returning
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747993
+	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+2015-04-16 14:21:16 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: unref owned caps when finalizing the mixer
+	  Fix a caps leak with the
+	  validate.file.glvideomixer.simple.play_15s.synchronized scenario.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747915
+	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+2015-04-15 15:16:33 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: pass the proper free function to frames and buffers array
+	  'array_buffers' contain borrowed GstBuffer and so shouldn't have a free
+	  function. 'frames' is the one containing GstGLMixerFrameData and so should use
+	  _free_glmixer_frame_data as free function.
+	  Fix GstGLMixerFrameData leaks with the
+	  validate.file.glvideomixer.simple.play_15s.synchronized scenario.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747913
+	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+2015-04-17 15:20:12 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstgldownloadelement.c:
+	  gldownloadelement: Download *from* OpenGL, not into
+
+2015-04-17 09:24:12 +0200  Robert Swain <robert.swain@ericsson.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Add complexity property for speed/quality tradeoff
+
+2015-04-17 14:24:28 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	  glcontext: Make gst_gl_context_egl_activate fail if the old surface could not be destroyed
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746251
+
+2015-04-17 10:38:16 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/gl/gstgluploadelement.c:
+	  gluploadelement: Unref GstGLUpload object and caps in ::stop()
+	  Fix leak of the GstGLUpload object.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748033
+
+2015-04-17 14:09:47 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglfilterbin.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglsinkbin.c:
+	* ext/gl/gstglsrcbin.c:
+	  gl: Remove some empty ::finalize() implementations
+
+2015-04-17 14:06:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstgldownloadelement.c:
+	  gldownloadelement: Fix element description
+
+2015-04-17 14:05:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstgldownloadelement.c:
+	  gldownloadelement: Remove unused ::finalize() implementation
+
+2015-04-17 14:03:21 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglcolorconvertelement.c:
+	  glcolorconvertelement: Also unref caps in ::stop() already
+	  They are not useful anymore afterwards, so keeping them until ::finalize()
+	  might only cause someone to use them later and then fail.
+
+2015-04-15 14:49:02 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/gl/gstglcolorconvertelement.c:
+	  glcolorconvertelement: fix GstGLColorConvert leak
+	  convert->convert was never unreffed.
+	  This can be reproduce with the
+	  validate.file.glvideomixer.simple.play_15s.synchronized scenario.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747911
+
+2015-04-16 22:43:54 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/apexsink/gstapexraop.c:
+	  apexsink: Fix buffer overflow, in case anyone ever ports it.
+	  Fix a simple buffer overflow - 16 bytes isn't enough to hold
+	  the string representation of a gulong on x86_64. I guess the
+	  intent was to generate a 32 bit random key, so let's do that.
+	  Only matters if anyone ever ports the sink to 1.x
+	  https://bugzilla.gnome.org/show_bug.cgi?id=676524
+
+2015-04-16 13:35:00 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: fix pad leak when not adding a new pad after no-more-pads
+
+2015-04-09 17:35:55 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: fix segment position tracking for the general case
+	  Different streams can have different PTS/DTS bases, and some
+	  streams may not even have DTS.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745102
+
+2015-04-16 10:42:45 +0200  Matthieu Bouron <matthieu.bouron@gmail.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	  glcontext: Make gst_gl_context_egl_activate fail if the surface could not be created
+	  Also add some error logging.
+
+2015-04-15 21:07:35 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: Don't unref buffer that was unreffed just a few lines before already
+
+2015-04-11 04:20:43 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* docs/libs/Makefile.am:
+	  Add adaptivedemux, badvideo and badbase to the link-list for the docscanner
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747697
+
+2015-04-12 01:58:31 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: remove unused variables
+	  Complement commit 5496fd3e75e65a4e387715d0ba0740790aefa5f6 by removing
+	  the involved variables.
+
+2015-04-14 20:33:25 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtdec.c:
+	  applemedia: vtdec: fix GL negotiation
+
+2015-04-14 18:05:31 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: log timestamps
+
+2015-04-13 11:55:42 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: subtract time spent in AVF queues
+	  The time spent in AVF queues was being incorrectly added to running time
+	  rather than subtracted.
+
+2015-04-11 07:38:57 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: fix GL texture negotiation
+	  GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE should no longer be used.
+	  Instead, just get the GL context.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747352
+
+2015-04-13 19:40:31 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	  dtlsdec: Fix typo
+
+2015-04-13 19:40:22 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlssrtpdec.c:
+	  dtlssrtpdec: Add some more debug output
+
+2015-04-13 19:40:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: Add some more debug output
+
+2015-04-10 09:34:01 +0900  Yujin Lee <saddopop@gmail.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: enable playback of content with text streams
+	  There is a playback error when trying to play a content that
+	  has 'application' mimeType. This commit prevents an exception from
+	  setup text streams.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747525
+
+2015-04-12 13:01:56 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/winks/gstksvideosrc.c:
+	  winks: Reset DTS to GST_CLOCK_TIME_NONE
+	  Otherwise we might get a previous DTS set from a recycled buffer that we get
+	  back from a buffer pool, which then confuses synchronization.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747722
+
+2015-03-28 15:44:43 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	* sys/androidmedia/gstamc.h:
+	  amc: Use new JNI utils almost everywhere
+
+2015-03-28 15:48:28 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  amc: Allow creating global and local references of objects
+
+2015-03-28 15:21:02 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  amc: Make GError argument order more consistent
+
+2015-03-28 15:08:15 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  amc: Add helper function for getting a direct buffer array
+
+2015-03-28 15:08:02 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  amc: Java longs are gint64s
+
+2015-03-28 14:31:41 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  amc: Improve JNI utilities and add some missing ones
+	  We now fill GErrors for everything that could throw an exception, and method
+	  calls now always return a gboolean and their value in an out-parameter to
+	  distinguish failures from other values.
+
+2015-04-11 19:35:48 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: Fix last commit
+
+2015-04-11 19:17:00 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	  gl: Remove iOS/EAGL workaround for R/RG textures
+	  This should be unneeded now after https://bugzilla.gnome.org/show_bug.cgi?id=732507
+
+2015-04-11 19:14:34 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: Add correct check for RG/R textures in glcolorconvert too
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732507
+
+2015-04-11 12:12:57 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/winks/ksvideohelpers.c:
+	  winks: fix debug message parameter format
+	  The first part of the GUID structure is a DWORD
+	  which is defined as an unsigned long, so we need
+	  to either cast or use %08lx.
+
+2015-04-10 20:25:49 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/pcapparse/gstpcapparse.c:
+	* gst/pcapparse/gstpcapparse.h:
+	  pcapparse: Take buffer directly from the adapter
+	  No need to make a copy into a new buffer, just take the data
+	  from the adapter.
+
+2015-04-10 20:15:52 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/pcapparse/gstpcapparse.c:
+	  pcapparse: Produce GstBufferList
+
+2015-04-10 16:23:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.h:
+	  wrappercamerabinsrc: remove unused attribute and related pad probe
+	  The variable was never set to true and can be removed along
+	  with the probe in which it used to act
+
+2015-03-31 17:10:45 +0100  Anton Obzhirov <obzhirov@yahoo.co.uk>
+
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	  glbasefilter: avoid segfault when gl platform is not available
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747124
+
+2015-04-09 16:20:44 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* tests/check/elements/audiomixer.c:
+	  tests: fix type mismatch in varargs passing
+	  A bitmask is 64 bits, but integer immediates are passed as int
+	  in varargs, which happen to be 32 bit with high probability.
+	  This triggered a valgrind jump-relies-on-uninitalized-value
+	  report well away from the site, since it doesn't trigger on
+	  stack accesses, and there must have been enough zeroes to stop
+	  g_object_set at the right place.
+
+2014-08-20 13:46:12 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: handle seeks with no target (ie, keep current position)
+	  Such seeks are used to change playback rate and we do not want
+	  to alter the position in that case, so we bypass the flush/seek
+	  logic, and set things up so a new segment is scheduled to be
+	  regenerated.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735100
+
+2015-03-26 13:46:16 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/mpegtsparse.c:
+	* gst/mpegtsdemux/mpegtsparse.h:
+	  tsparse: fix timestamps not updating after a PMT change
+	  The PCRs stay locked onto the same PID as before the change,
+	  but the relevant PID has no reason to be the same after it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745102
+
+2015-03-24 12:56:53 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: send new segment when a stream is added
+	  This will happen when the PMT changes, replacing streams with
+	  new ones. In that case, we need to accumulate the running time
+	  from the previous chain in the segment base.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745102
+
+2015-03-09 09:56:38 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: keep track of current position
+	  This allows seeking to correctly set the base on the segment.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745102
+
+2015-04-09 15:41:57 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* tests/check/Makefile.am:
+	  check: Don't run the state change test on the dtls elements
+	  There isn't really any way to test the elements standalone.
+
+2015-04-08 19:29:40 -0700  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Remove broken timestamps-going-backwards check
+	  This would've also triggered if for some reason the segment was updated
+	  in such a way that PTS went backwards, but the running time increased. Like
+	  what happens when non-flushing seeks are done.
+	  We're doing a proper buffer-from-the-past check a few lines below based on the
+	  running time, which is the only time we should care about here.
+
+2015-04-08 18:51:50 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/winks/gstksvideodevice.c:
+	* sys/winks/ksvideohelpers.c:
+	* sys/winks/ksvideohelpers.h:
+	  ksvideosrc: fix support for DV devices
+
+2015-02-10 13:32:00 +0100  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/winks/kshelpers.c:
+	  ksvideosrc: only list capture devices
+
+2015-04-08 16:46:11 +0200  Edward Hervey <edward@centricular.com>
+
+	* common:
+	* tests/check/Makefile.am:
+	  tests: Use AM_TESTS_ENVIRONMENT
+	  Needed by the new automake test runner
+
+2015-04-08 10:52:17 +0530  Arun Raghavan <arun@centricular.com>
+
+	* sys/opensles/openslessink.c:
+	* sys/opensles/openslessrc.c:
+	  opensles: Explicitly specify layout=interleaved in caps
+	  This is fine to hard-code. Section 9.1.8 of the OpenSL ES 1.1
+	  specification, it is expected that multi-channel audio is always
+	  interleaved.
+
+2015-04-07 15:57:30 +0200  Edward Hervey <edward@centricular.com>
+
+	* configure.ac:
+	  configure: Depend on openh264 >= 1.3.0
+	  Required for the version check header, as agreed upon on IRC
+
+2015-04-05 05:37:09 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: fix setting of buffer offset end
+	  Don't set offset end to random values off the stack.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747352
+
+2015-04-07 11:09:38 +0200  Edward Hervey <edward@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  open264: Fix GType/gsize usage
+	  gstopenh264enc.cpp:108:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
+
+2015-04-07 11:21:55 +0200  Edward Hervey <edward@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264: Detect 1.4 API change
+	  As mentionned in release notes : Added new Sps/Pps strategies for real-time
+	  video (replace the old setting variable 'bEnableSpsPpsIdAddition' with
+	  'eSpsPpsIdStrategy')
+
+2015-04-06 20:28:22 -0700  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Disconnect mouse/key event signal handlers from window when shutting down context
+
+2015-04-06 20:24:06 -0700  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Guard against disconnecting invalid signal ids
+
+2015-03-26 11:52:33 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst/mxf/mxfdemux.c:
+	  mxfdemux: fix memory leak
+	  Reset the internal segment before freeing it.
+	  mxf_index_table_segment_parse() allocates data inside the segment
+	  (like segment->delta_entries) which have to be freed using
+	  mxf_index_table_segment_reset().
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746803
+
+2015-04-04 10:56:56 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlssink.c:
+	  hlssink: write the playlist end marker on EOS
+	  Catch EOS from the multifilesink and add the endlist marker to
+	  the playlist when it happens
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747319
+
+2015-03-29 17:53:23 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: document gap handling behavior
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746249
+
+2015-03-27 19:36:42 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: drop stale white space at warning
+
+2015-03-27 19:28:05 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* tests/check/libs/aggregator.c:
+	  aggregator: fix typo in test suite
+
+2015-03-27 18:32:27 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* tests/check/libs/aggregator.c:
+	  aggregator: add gap event handling unit test
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746249
+
+2015-03-17 22:13:06 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: implement gap handling
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746249
+
+2015-04-03 18:57:58 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* autogen.sh:
+	* common:
+	  Automatic update of common submodule
+	  From bc76a8b to c8fb372
+
+2015-04-03 11:46:12 +0530  Arun Raghavan <arun@centricular.com>
+
+	* ext/opus/gstopusenc.c:
+	  opus: Fix incorrect fall-through condition in property getter
+
+2012-04-27 18:29:14 +0200  Guillaume Emont <guijemont@igalia.com>
+
+	* sys/shm/gstshmsrc.c:
+	* sys/shm/shmpipe.c:
+	* sys/shm/shmpipe.h:
+	  shmsink: add an shm-area-name property
+	  The shm-area-property tells the name of the shm area used by the element. This
+	  is useful for cases where shmsink is not able to clean up (calling
+	  shm_unlink()), e.g. if it is in a sandbox.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=675134
+
+2015-04-01 22:10:11 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Unify downstream flow return and flushing
+	  Also means that having a non-OK downstream flow return
+	  wakes up the chain functions.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747220
+
+2015-04-01 21:45:01 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Flushing is always in pad lock, no need to atomics
+	  The usage of atomics was always doubtful as it was used to release a
+	  GCond
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747220
+
+2015-04-01 21:38:11 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Reset pending_eos on pad flush
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747220
+
+2015-04-01 21:37:25 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Unify code to set a pad flushing
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747220
+
+2015-04-02 18:05:55 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
+	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	  libgstgl: fix rendering on iOS
+	  Stop assuming that the handle has been set by the time ->create_context is
+	  called. After bc7a7259f357b0065dd94e0668b5a895d83fa53a set_window_handle always
+	  happens after ->create_context in fact.
+	  See also https://bugzilla.gnome.org/show_bug.cgi?id=745090
+
+2015-03-06 21:12:52 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  aggregator: Query latency on first incoming buffer.
+	  And keep on querying upstream until we get a reply.
+	  Also, the _get_latency_unlocked() method required being calld
+	  with a private lock, so removed the _unlocked() variant from the API.
+	  And it now returns GST_CLOCK_TIME_NONE when the element is not live as
+	  we think that 0 upstream latency is possible.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
+
+2015-04-01 20:32:41 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	* tests/check/elements/audiomixer.c:
+	  audiomixer: Allow downstream caps with a non-default channel-mask
+	  Instead of failing, take the downstream channel mask if the channel
+	  count is 1.
+
+2015-03-31 16:27:00 +0200  Edward Hervey <edward@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: Don't use context if not present
+	  Avoids assertions at runtime
+
+2015-03-31 11:24:57 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/Makefile.am:
+	* gst-libs/gst/insertbin/Makefile.am:
+	* gst-libs/gst/mpegts/Makefile.am:
+	  introspection: Don't use g-ir-scanner cache at compile time
+	  It pollutes user directories and we don't need to cache it
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747095
+
+2015-03-31 10:53:55 +0100  Victor Toso <victortoso@redhat.com>
+
+	* configure.ac:
+	* sys/directsound/Makefile.am:
+	* sys/directsound/gstdirectsoundsrc.c:
+	* sys/directsound/gstdirectsoundsrc.h:
+	  directsoundsrc: Implement volume and mute
+	  Using the MixerAPI as IDirectSoundCaptureBuffer doesn't implement volume
+	  control.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744383
+
+2015-03-30 13:49:01 +0100  Anton Obzhirov <obzhirov@yahoo.co.uk>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/effects/gstgleffectbulge.c:
+	* ext/gl/effects/gstgleffectfisheye.c:
+	* ext/gl/effects/gstgleffectglow.c:
+	* ext/gl/effects/gstgleffectidentity.c:
+	* ext/gl/effects/gstgleffectlumatocurve.c:
+	* ext/gl/effects/gstgleffectmirror.c:
+	* ext/gl/effects/gstgleffectrgbtocurve.c:
+	* ext/gl/effects/gstgleffectsin.c:
+	* ext/gl/effects/gstgleffectsquare.c:
+	* ext/gl/effects/gstgleffectsqueeze.c:
+	* ext/gl/effects/gstgleffectssources.c:
+	* ext/gl/effects/gstgleffectssources.h:
+	* ext/gl/effects/gstgleffectstretch.c:
+	* ext/gl/effects/gstgleffecttunnel.c:
+	* ext/gl/effects/gstgleffecttwirl.c:
+	* ext/gl/effects/gstgleffectxray.c:
+	* ext/gl/gstgldifferencematte.c:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstgleffects.h:
+	* ext/gl/gstglfilterblur.c:
+	* ext/gl/gstglfiltersobel.c:
+	  gleffects: port all effects to GLES2.0
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745955
+
+2015-03-28 11:40:14 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlssink.c:
+	  hlssink: implement a chain_list to request key unit for segments
+	  upstream might send buffer lists instead of buffers and hlssink's
+	  probe won't get called and a new segment won't be created when needed.
+	  This patch fixes it by adding a chain_list function to the sink pad
+	  that will just pass through the whole bufferlist if no segment needs
+	  to be requested at the moment or convert the list into buffers to
+	  check the proper timestamp to request the next key-unit that will
+	  start the segment.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746906
+
+2015-03-28 17:28:34 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+	* gst/mxf/mxfdemux.c:
+	  mxfdemux: resurrect some flow return handling
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744572
+
+2015-03-28 17:28:26 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: resurrect some flow return handling
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744572
+
+2015-03-27 00:27:34 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: do not try to advance fragment if there is none
+	  It might return OK from subclasses and it could cause a bitrate
+	  renegotiation. For DASH and MSS that is ok as they won't expose
+	  new pads as part of this but it can cause issues for HLS as
+	  it will expose new pads, leading to pads that will only have EOS
+	  that cause decodebin to fail
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745905
+
+2015-03-24 13:57:54 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* ext/opus/gstrtpopuspay.c:
+	  rtpopuspay: Forward stereo preferences from caps upstream
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746617
+
+2015-03-24 13:56:21 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* ext/opus/gstrtpopuspay.c:
+	  rtpopuspay: Set the number of channels to 2 as per RFC draft
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746617
+
+2015-03-17 21:49:40 +0800  Jun Xie <xixi10111011@gmail.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: set default @startNumber and also avoid wrong overwrite
+	  Set default @startNumber to 1, if @startNumber is missing at all level.
+	  Also avoid incorrect overwriting inherited value.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746347
+
+2015-03-24 16:18:22 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiomixer/gstaudioaggregator.c:
+	  audioaggregator: check sink caps are valid
+
+2015-03-24 16:17:00 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiomixer/gstaudioaggregator.c:
+	  Revert "audioaggregator: check sink caps are valid"
+	  This reverts commit 6d4d0d1cdf7c7531fbf72ce39e1eab1260d20550.
+	  Never put code with side effects into an assertion, it can be compiled out
+
+2015-03-24 15:45:25 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiomixer/gstaudioaggregator.c:
+	  audioaggregator: check sink caps are valid
+	  CID #1291622
+
+2015-03-24 15:13:52 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/opus/gstopusenc.c:
+	  opusenc: fall through switch statement
+	  Adding a comment makes coverity happy and quells the issue.
+	  CID 1291629
+
+2015-03-24 19:05:00 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregatorpad.h:
+	  videoaggregator: Document why buffer_vinfo is needed
+
+2015-03-24 19:04:26 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Check if there's a previous buffer to 'keep'
+	  If we want to keep a previous buffer but there's no previous buffer, we actually
+	  need more data instead.
+
+2015-03-23 16:43:01 +0100  Philippe Normand <philn@igalia.com>
+
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	  gl/dispmanx: surfaceless EGL context support
+	  Show the DispmanX window only if there's no shared external GL context
+	  set up. When a window is required by the context a transparent
+	  DispmanX element is created and later on made visible by the ::show
+	  method.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746632
+
+2015-03-23 15:09:33 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstsolarize.c:
+	  gaudieffects: clean solarize code
+
+2015-03-23 14:39:56 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstburn.c:
+	* gst/gaudieffects/gstchromium.c:
+	* gst/gaudieffects/gstdodge.c:
+	* gst/gaudieffects/gstexclusion.c:
+	* gst/gaudieffects/gstsolarize.c:
+	  gaudieffects: removing values only used once
+
+2015-03-23 11:13:24 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstburn.h:
+	* gst/gaudieffects/gstdilate.h:
+	* gst/gaudieffects/gstdodge.h:
+	* gst/gaudieffects/gstexclusion.h:
+	* gst/gaudieffects/gstsolarize.h:
+	  gaudieffects: small cleanup in headers
+
+2015-03-23 13:15:30 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusenc.c:
+	  opusenc: Set output format immediately after creating the encoder instance
+	  We know the caps by then, there's no need to wait until we actually receive
+	  the first buffer.
+
+2015-03-23 13:13:35 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusenc.c:
+	* ext/opus/gstopusenc.h:
+	  opusenc: Remove another unused variable
+
+2015-03-23 13:11:42 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusenc.c:
+	* ext/opus/gstopusenc.h:
+	* ext/opus/gstopusheader.c:
+	  opusenc: Remove useless headers and header_sent variables from the instance struct
+	  They are only used inside a single function.
+
+2015-03-23 12:24:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstrtpopusdepay.c:
+	* ext/opus/gstrtpopuspay.c:
+	  opus: Handle sprop-stereo and sprop-maxcapturerate RTP caps fields
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746617
+
+2015-03-23 12:09:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusdec.c:
+	  opusdec: Take channels and sample rate from the caps if we have no stream header
+
+2015-03-23 12:07:52 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusdec.c:
+	  opusdec: Reset the decoder if the caps change
+
+2015-03-23 11:57:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusdec.c:
+	  opusdec: Take output sample rate from the stream headers too
+	  This way we let opusdec do the resampling if needed and don't carry
+	  around buffers with a too high sample rate if not required.
+	  While Opus always uses 48kHz internally, this information from the
+	  header specifies which frequencies are safe to drop.
+
+2015-03-23 11:56:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusheader.c:
+	  opusheader: Put number of channels and sample rate into the caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746617
+
+2015-03-22 19:12:15 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: remove unused gl_thread field
+
+2015-03-22 19:03:19 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gldisplay: fix GThread leak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746541
+
+2015-03-20 18:33:45 +0100  Nicola Murino <nicola.murino@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: fix caps leak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746541
+
+2015-03-18 11:25:42 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: Add support for buffer list
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746387
+
+2015-03-19 16:17:58 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: Do not drop all buffers in buffer list if one fails
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746387
+
+2015-03-19 13:59:42 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstdilate.c:
+	  gaudieffects: update copyright dates of dilate
+
+2015-03-19 13:58:21 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstdilate.c:
+	  gaudieffects: factorize transform code of dilate
+
+2015-03-19 14:04:28 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsconnection.c:
+	  dtls: Pass the connection instance as data to the thread pool
+	  No need to ref/unref the connection every time we push something on the pool.
+	  However we have to provide non-NULL data to the pool, so let's just give it
+	  some coffee.
+
+2015-03-19 13:55:53 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsconnection.c:
+	  dtls: Remove unused thread struct field
+
+2015-03-19 13:30:00 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsconnection.c:
+	* ext/dtls/gstdtlsconnection.h:
+	* ext/dtls/gstdtlsenc.c:
+	  dtls: Use a shared thread pool for the timeouts
+	  This way we will share threads with other DTLS connections if possible, and
+	  don't have to start/stop threads for timeouts if there are many to be handled
+	  in a short period of time.
+	  Also use the system clock and async waiting on it for scheduling the timeouts.
+
+2015-03-18 18:17:39 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsconnection.c:
+	  dtls: Shutdown timeout thread when it's not needed
+	  It is not needed most of the time and usually we have a thread
+	  idling around doing nothing all the time after the first few seconds.
+
+2015-03-18 10:12:49 -0700  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstgldownload.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	  gl/docs: update some doc comments
+
+2015-03-18 17:40:47 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsenc.c:
+	  dtlsenc: Clear the queue when deactivating the pad
+
+2015-03-18 17:38:35 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlsenc.h:
+	  dtlsenc: Handle pad activity states properly
+
+2015-03-18 17:35:12 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsenc.c:
+	  dtlsenc: Don't manually activate/deactivate srcpad
+
+2015-03-18 10:47:15 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: Separate buffer encoding functionality into a different function
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746387
+
+2015-03-18 10:16:41 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: Add support for buffer list
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746387
+
+2015-03-18 09:39:49 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: Add missing locks
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746387
+
+2015-03-18 09:17:31 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: Split chain functionality so it can be reused for buffer list
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746387
+
+2015-03-18 13:52:38 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlsenc.h:
+	  dtlsenc: Use a GQueue instead of a GPtrArray
+	  Using a GPtrArray as a queue is not very efficient as the whole
+	  array has to be copied whenever an element is removed from the
+	  beginning.
+
+2015-03-18 10:06:47 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	  dtlsdec: Fix locking
+	  Especially don't hold any mutex while adding/removing pads or pushing data.
+
+2015-03-18 09:57:32 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	  dtlsdec: Add support for buffer lists
+
+2015-03-18 09:46:40 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsconnection.c:
+	* ext/dtls/gstdtlsconnection.h:
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlsdec.h:
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlsenc.h:
+	* ext/dtls/gstdtlssrtpdec.c:
+	* ext/dtls/gstdtlssrtpenc.c:
+	* ext/dtls/gstdtlssrtpenc.h:
+	  dtls: Fix some search & replace mistakes from renaming the elements
+
+2015-03-17 16:49:54 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: Improve memory management on chain function
+	  Avoiding copy the buffer twice, one while mapping and other with mencpy
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746356
+
+2015-03-17 16:50:41 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: Fix typo in log
+
+2015-03-17 11:43:00 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsagent.c:
+	  dtls: Initialize debug category earlier
+	  Otherwise the openssl initialization will use it before initialization
+
+2014-11-13 20:39:11 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/.gitignore:
+	* tests/check/elements/audiointerleave.c:
+	  audiointerleave: Add unit tests
+	  Almost a copy of the "interleave" unit tests, improved to support
+	  the thread on the src pad on GstAggregator.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740236
+
+2015-03-06 13:49:48 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiointerleave.c:
+	* gst/audiomixer/gstaudiointerleave.h:
+	  audiointerleave: Set src caps in aggregate
+	  This prevents races between the setcaps of the sink pads
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740236
+
+2014-11-13 15:40:15 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/Makefile.am:
+	* gst/audiomixer/gstaudiointerleave.c:
+	* gst/audiomixer/gstaudiointerleave.h:
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiointerleave: Add interleave element based on audioaggregator
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740236
+
+2015-03-06 16:51:12 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudioaggregator.c:
+	  audioaggregator: Print a message when a buffer is late
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740236
+
+2014-11-15 17:54:51 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudioaggregator.c:
+	  audioaggregator: Don't re-send the caps if they did not change
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740236
+
+2014-11-06 17:15:17 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/Makefile.am:
+	* gst/audiomixer/gstaudioaggregator.c:
+	* gst/audiomixer/gstaudioaggregator.h:
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/audiomixer/gstaudiomixer.h:
+	  audioaggregator: Split base class from audiomixer
+	  Also:
+	  -  Don't modify size on early buffer
+	  The size is the size of the buffer, not of remaining part.
+	  - Use the input caps when manipulating the input buffer
+	  Also store in in the sink pad
+	  - Reply to the position query in bytes too
+	  - Put GAP flag on output if all inputs are GAP data
+	  - Only try to clip buffer if the incoming segment is in time or samples
+	  - Use incoming segment with incoming timestamp
+	  Handle non-time segments and NONE timestamps
+	  - Don't reset the position when pushing out new caps
+	  - Make a number of member variables private
+	  - Correctly handle case where no pad has a buffer
+	  If none of the pads have buffers that can be handled, don't claim to be EOS.
+	  - Ensure proper locking
+	  - Only support time segments
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740236
+
+2015-03-07 22:08:40 -0500  Olivier Crête <olivier.crete@ocrete.ca>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Release pad object lock before dropping buffer
+	  Otherwise, the locking order is violated and deadlocks happen.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
+
+2015-03-06 20:22:13 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Only ignore pads with no buffers on timeout
+	  When the timeout is reached, only ignore pads with no buffers, iterate
+	  over the other pads until all buffers have been read. This is important
+	  in the cases where the input buffers are smaller than the output buffer.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
+
+2015-03-06 21:12:13 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Be more aggressive with invalid replies to our latency query
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
+
+2015-03-06 20:25:03 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Only advance by the buffer size when a buffer is late
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
+
+2015-03-16 17:49:58 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/dtls/gstdtlsagent.c:
+	* ext/dtls/gstdtlscertificate.c:
+	* ext/dtls/gstdtlsconnection.c:
+	  dtls: make sure we actually log into the right debug category
+	  GST_DTLS_USE_GST_LOG is not defined anywhere, so
+	  we'd just log into the default category by accident.
+	  We use the gst logging system unconditionally now,
+	  so might just as well remove this #if #else.
+
+2015-03-16 17:36:49 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/dtls/gstdtlsagent.c:
+	* ext/dtls/gstdtlsconnection.c:
+	  dtls: fix some more compiler warnings
+	  gcc-4.9.2:
+	  gstdtlsagent.c:114:1: error: old-style function definition
+	  gstdtlsconnection.c:253:3: error: ISO C90 forbids mixed declarations and code
+	  gstdtlsconnection.c:291:3: error: ISO C90 forbids mixed declarations and code
+	  gstdtlsconnection.c:391:3: error: ISO C90 forbids mixed declarations and code
+	  gstdtlsconnection.c:434:3: error: ISO C90 forbids mixed declarations and code
+	  gstdtlsconnection.c:773:1: error: 'BIO_s_gst_dtls_connection' was used with no prototype before its definition
+	  gstdtlsconnection.c:773:1: error: old-style function definition
+
+2015-03-16 17:53:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/Makefile.am:
+	* ext/dtls/gstdtlsagent.c:
+	* ext/dtls/gstdtlscertificate.c:
+	* ext/dtls/gstdtlscommon.h:
+	* ext/dtls/gstdtlsconnection.c:
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlssrtpdec.c:
+	  dtls: Unconditionally use GStreamer debug log system
+
+2015-03-16 17:48:43 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsagent.c:
+	* ext/dtls/gstdtlsagent.h:
+	* ext/dtls/gstdtlscertificate.c:
+	* ext/dtls/gstdtlscertificate.h:
+	* ext/dtls/gstdtlscommon.h:
+	* ext/dtls/gstdtlsconnection.c:
+	* ext/dtls/gstdtlsconnection.h:
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlsdec.h:
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlsenc.h:
+	* ext/dtls/gstdtlssrtpbin.c:
+	* ext/dtls/gstdtlssrtpbin.h:
+	* ext/dtls/gstdtlssrtpdec.c:
+	* ext/dtls/gstdtlssrtpdec.h:
+	* ext/dtls/gstdtlssrtpdemux.c:
+	* ext/dtls/gstdtlssrtpdemux.h:
+	* ext/dtls/gstdtlssrtpenc.c:
+	* ext/dtls/gstdtlssrtpenc.h:
+	* ext/dtls/plugin.c:
+	  dtls: Re-namespace from Er to Gst
+
+2015-03-16 17:35:29 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsconnection.c:
+	  dtls: Fix some compiler warnings
+	  gstdtlsconnection.c:128:32: error: passing 'const char [30]' to parameter of type 'void *'
+	  discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
+	  SSL_get_ex_new_index (0, "gstdtlsagent connection index", NULL, NULL,
+	  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	  /usr/include/openssl/ssl.h:1981:43: note: passing argument to parameter 'argp' here
+	  int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
+	  ^
+	  gstdtlsconnection.c:822:40: error: arithmetic on a pointer to void is a GNU extension
+	  [-Werror,-Wpointer-arith]
+	  memcpy (out_buffer, priv->bio_buffer + priv->bio_buffer_offset, copy_size);
+	  ~~~~~~~~~~~~~~~~ ^
+
+2015-03-16 17:34:05 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsagent.c:
+	* ext/dtls/gstdtlscertificate.c:
+	* ext/dtls/gstdtlsconnection.c:
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlssrtpbin.c:
+	* ext/dtls/gstdtlssrtpdec.c:
+	* ext/dtls/gstdtlssrtpdemux.c:
+	* ext/dtls/gstdtlssrtpenc.c:
+	* ext/dtls/plugin.c:
+	  dtls: Fix indention
+
+2015-03-16 17:33:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* ext/Makefile.am:
+	* ext/dtls/Makefile.am:
+	* ext/dtls/gstdtlsagent.c:
+	* ext/dtls/gstdtlsagent.h:
+	* ext/dtls/gstdtlscertificate.c:
+	* ext/dtls/gstdtlscertificate.h:
+	* ext/dtls/gstdtlscommon.h:
+	* ext/dtls/gstdtlsconnection.c:
+	* ext/dtls/gstdtlsconnection.h:
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlsdec.h:
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlsenc.h:
+	* ext/dtls/gstdtlssrtpbin.c:
+	* ext/dtls/gstdtlssrtpbin.h:
+	* ext/dtls/gstdtlssrtpdec.c:
+	* ext/dtls/gstdtlssrtpdec.h:
+	* ext/dtls/gstdtlssrtpdemux.c:
+	* ext/dtls/gstdtlssrtpdemux.h:
+	* ext/dtls/gstdtlssrtpenc.c:
+	* ext/dtls/gstdtlssrtpenc.h:
+	* ext/dtls/plugin.c:
+	  dtls: Add new DTLS plugin
+	  This is a copy of the Ericsson DTLS plugin from
+	  https://github.com/EricssonResearch/openwebrtc-gst-plugins/tree/master/ext/erdtls/src
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744582
+
+2015-03-16 03:53:33 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/compositor/compositororc.orc:
+	  compositor: Revert most of previous patch.
+	  The calculation doesn't produce the same results.
+	  Keep just the change to divide alpha by 255 instead of 256,
+	  for slightly better accuracy
+
+2015-03-15 16:55:00 +0000  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  androidmedia: Add helpers for calling static methods
+
+2015-03-15 16:38:29 +0000  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  androidmedia: Fix indention
+
+2014-06-05 10:33:56 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* sys/androidmedia/gstamc.c:
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  androidmedia: Add more JNI helper functions
+
+2014-06-02 12:37:09 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* sys/androidmedia/Makefile.am:
+	* sys/androidmedia/gstamc.c:
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  androidmedia: Split jni code to gstjniutils.c
+
+2015-03-15 16:10:31 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: drop some superfluous assertions
+	  g_return_*_if_fail() is for public API to catch
+	  programming errors. For internal code, we should
+	  just use g_assert() to check internal state.
+
+2015-03-15 15:54:01 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/mpegtsmux.c:
+	  tests: mpegtsmux: add test for keyframe/delta flag propagation
+	  The first output MPEG-TS packet that corresponds to a video input
+	  buffer which had the delta flag cleared (i.e. was a keyframe)
+	  should have the delta flag cleared as well.
+	  This is needed e.g. by tcpserversink in order to keep track
+	  of the last keyframe and be able to burst data to newly-
+	  connected clients.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=706872
+
+2015-03-15 14:35:15 +0000  Matthew Waters <matthew@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-docs.sgml:
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* docs/libs/gst-plugins-bad-libs.types:
+	  gl/docs: add missing functions/objects
+
+2015-03-15 12:58:26 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gldisplay: tentative proper context collision detection
+	  Fixes
+	  tee name=t ! queue ! gliamgesink t. ! queue ! glimagesink
+
+2014-07-18 10:44:59 +0200  Jesper Larsen <knorr.jesper@gmail.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: Fix namespace of some internal functions
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733347
+
+2015-03-16 00:22:14 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/compositor/compositororc.orc:
+	  compositor: Fix blending functions
+	  Correctly calculate alpha in a few places by dividing by 255,
+	  not 256.
+	  Fix the argb and bgra blending functions to avoid an off-by-one
+	  error in the calculations, so painting with alpha = 0xff doesn't
+	  ever bleed through from behind
+
+2015-03-15 12:06:22 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/mpegtsmux.c:
+	  tests: mpegtsmux: add unit test for "alignment" property
+	  https://bugzilla.gnome.org/show_bug.cgi?id=722129
+
+2015-03-14 15:27:39 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: make "alignment" property more useful for packetisation
+	  Currently the alignment property just makes sure that we
+	  output things in multiples of align*packet_size bytes, but
+	  with no clear maximum size. When streaming MPEG-TS over
+	  UDP one wants buffers with a maximum packet size of 1316.
+	  The alignment property so far would just output buffers
+	  that are a multiple of 1316 then.
+	  Instead we now make the alignment property output
+	  individual buffers with the alignment size, which
+	  is entirely backwards compatible with the expected
+	  behaviour up until now. For efficiency reason
+	  collect all those buffers in a buffer list and
+	  send that downstream.
+	  Also collect data to push downstream in a buffer
+	  list from the adapter if we don't align things,
+	  which is still more efficient because of the
+	  silly way the muxer currently creates output
+	  packets.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=722129
+
+2015-03-11 23:03:24 +0800  xixi <xixi10111011@gmail.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: fetch wrong segment at the end of Period
+	  Fix check for end of Period time to avoid trying
+	  to fetch a segment that doesn't exist
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746038
+
+2015-03-14 19:48:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* ext/gl/gstgluploadelement.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: move meta-data copy into gst-gl library
+	  In some upload implementations the out buffer has more than one references,
+	  turning the buffer not writable, so it won't be possible to modify its
+	  meta-data.
+	  This patch moves the meta-data copy before increasing the reference of the out
+	  buffer.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746173
+
+2015-03-14 18:45:01 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: fix the slight difference between EXT_rg and ARB_rg
+	  GL_EXT_texture_rg doesn't take sized formats for the internalformat
+	  parameter of TexImage* but GL_ARB_texture_rg and GL(ES)3 do.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732507
+
+2015-03-14 17:29:02 +0000  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstcamerabin2.c:
+	  camerabin: remove hack around bug 648359
+	  It is already fixed
+
+2015-03-14 12:24:53 +0000  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstcamerabin2.c:
+	  camerabin: remove deprecated g_atomic function
+	  We depend on 2.32 already
+
+2015-03-14 11:45:20 +0000  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: fix pad leak
+	  Only get the pad if it is really going to be used to avoid
+	  leaking it
+
+2015-03-14 18:10:24 +0000  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/generic/cube/main.cpp:
+	  gl/examples: fixup generic cube example for NDC
+	  translating outside the clip region doesn't work
+
+2015-03-14 15:38:28 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* tests/examples/gl/sdl/.gitignore:
+	* tests/examples/gl/sdl/Makefile.am:
+	* tests/examples/gl/sdl/sdlshare2.c:
+	  gl/examples: add sdlshare2 that uses glimagesink to output textures
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739681
+
+2015-03-14 16:30:42 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: keep window invisible when sharing output
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739681
+
+2015-03-14 15:16:55 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* ext/gl/gstglimagesink.c:
+	* tests/examples/gl/generic/cube/Makefile.am:
+	* tests/examples/gl/generic/cube/main.cpp:
+	* tests/examples/gl/generic/cubeyuv/Makefile.am:
+	* tests/examples/gl/generic/cubeyuv/main.cpp:
+	* tests/examples/gl/generic/doublecube/Makefile.am:
+	* tests/examples/gl/generic/doublecube/main.cpp:
+	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
+	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
+	  glimagesink: provide GstSample in client-draw signal
+	  Instead of prividing texture and size directly.
+	  And apply changes to examples.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739681
+
+2015-03-14 15:37:05 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* tests/examples/gl/sdl/sdlshare.c:
+	  sdlshare: use glupload and unmap frame
+
+2015-03-14 16:25:29 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	* gst-libs/gst/gl/gstglsyncmeta.h:
+	  glsyncmeta: make context to wait and set sync explicit
+	  otherwise we may wait on a sync object in same context by accident
+
+2015-03-14 15:16:01 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: fix build
+	  Was supposed to be squashed into earlier commit.
+
+2015-03-14 15:15:02 +0000  Tim-Philipp Müller <tim@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/gst-plugins-bad-plugins.signals:
+	* docs/plugins/inspect/plugin-assrender.xml:
+	* docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+	* docs/plugins/inspect/plugin-inter.xml:
+	* docs/plugins/inspect/plugin-jpegformat.xml:
+	* docs/plugins/inspect/plugin-resindvd.xml:
+	  docs: update plugin docs
+
+2015-03-14 14:43:37 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* sys/Makefile.am:
+	* sys/osxvideo/Makefile.am:
+	* sys/osxvideo/osxvideoplugin.c:
+	* sys/osxvideo/osxvideosrc.c:
+	* sys/osxvideo/osxvideosrc.h:
+	  Remove unported and useless osxvideosrc element
+	  There are other elements for this now.
+
+2015-03-13 18:24:43 +0000  Ramiro Polla <ramiro.polla@collabora.co.uk>
+
+	* gst/sdp/gstsdpdemux.c:
+	  sdpdemux: properly escape percent sign in documentation
+
+2015-03-14 12:58:22 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Add NULL check in error case
+	  Other context may be NULL if something went wrong. Avoid trying to unref
+	  a NULL pointer.
+
+2015-03-14 11:01:12 +0000  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	  gl: fix a couple of typos in configure.ac
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744020
+
+2015-03-14 10:39:06 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglcolorconvertelement.c:
+	* ext/gl/gstgluploadelement.c:
+	  glupload/colorconvert: only copy timestamps if the input buffer != output
+
+2015-03-11 00:06:55 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/cocoa/Makefile.am:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.h:
+	* gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.m:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gl: add GstGLDisplayCocoa
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746012
+
+2015-03-13 09:07:16 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
+	  examples: initialize NSApp at the beginning
+
+2015-03-14 07:49:14 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: do not terminate loop in gst_gl_window_cocoa_close
+	  It is now done in _finalize.
+	  Fix regression introduced by
+	  "gl/window: create the main loop/context on init/finalize"
+	  bc7a7259f357b0065dd94e0668b5a895d83fa53a
+
+2015-03-13 15:34:55 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	  gl: avoid overwriting display and context to NULL
+	  It happens when the application provides display
+	  and/or context.
+
+2015-03-13 17:41:17 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gltestsrc.c:
+	* gst-libs/gst/gl/gstglshader.c:
+	  glshader: attribute locations are -1 on error
+
+2015-03-13 17:04:17 +0000  Neos3452 <neos3452@gmail.com>
+
+	* gst-libs/gst/gl/gstglshader.c:
+	  glshader: prevent from getting attributes without vertex shader
+	  It doesn't make sense to query for vertex attributes without a vertex
+	  shader. Moreover this is causing a crash on OSX.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746168
+
+2015-03-14 02:53:00 +1100  Jan Schmidt <jan@centricular.com>
+
+	* ext/gl/gstglfilterbin.c:
+	  GL: Remove annoying printf in the filterbin class_init
+
+2015-03-12 09:27:30 +0100  ijsf <ijsf@gmx.net>
+
+	* sys/applemedia/avfvideosrc.m:
+	  Restricted activeVideoMaxFrameDuration to fix frame rate
+
+2015-03-13 12:43:13 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: add pixel-aspect-ratio property on the bin
+
+2015-03-13 12:40:04 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: unref the bufferpool
+
+2015-03-13 12:29:54 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: forward ALL the properties on the bin
+
+2015-03-13 12:28:36 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgluploadelement.c:
+	  gluploadelement: properly unref buffers that are the same as the input
+	  basetransform doesn't unref equal input and output buffers
+
+2015-03-13 10:25:35 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/effects/gstgleffectbulge.c:
+	* ext/gl/effects/gstgleffectfisheye.c:
+	* ext/gl/effects/gstgleffectglow.c:
+	* ext/gl/effects/gstgleffectidentity.c:
+	* ext/gl/effects/gstgleffectlumatocurve.c:
+	* ext/gl/effects/gstgleffectmirror.c:
+	* ext/gl/effects/gstgleffectrgbtocurve.c:
+	* ext/gl/effects/gstgleffectsin.c:
+	* ext/gl/effects/gstgleffectsquare.c:
+	* ext/gl/effects/gstgleffectsqueeze.c:
+	* ext/gl/effects/gstgleffectstretch.c:
+	* ext/gl/effects/gstgleffecttunnel.c:
+	* ext/gl/effects/gstgleffecttwirl.c:
+	* ext/gl/effects/gstgleffectxray.c:
+	* ext/gl/gstglbumper.c:
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstgldeinterlace.c:
+	* ext/gl/gstgldifferencematte.c:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstglfilterapp.c:
+	* ext/gl/gstglfilterblur.c:
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfilterglass.c:
+	* ext/gl/gstglfilterlaplacian.c:
+	* ext/gl/gstglfilterreflectedscreen.c:
+	* ext/gl/gstglfiltershader.c:
+	* ext/gl/gstglfiltersobel.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstglmosaic.c:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstglvideomixer.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  gl: get the context from basemixer/basefilter
+
+2015-03-13 09:38:54 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: retreive the gldisplay/app gl context as soon as possible
+	  fixes the usage of gst_gl_display_filter_gl_api
+
+2015-03-13 09:37:46 +0000  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/libs/gstglcontext.c:
+	  gl/tests: fix deadlock on glcontext wrapped context test
+
+2015-03-12 16:46:44 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: cache indices in a buffer object
+
+2015-03-12 17:11:31 +0000  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Fix discont detection and buffer alignment code
+	  Actually accumulate the sample counter to check the accumulated error
+	  between actual timestamps and expected ones instead of just resetting
+	  the error back to 0 with every new buffer.
+	  Also don't reset discont_time whenever we don't resync. The whole point of
+	  discont_time is to remember when we first detected a discont until we actually
+	  act on it a bit later if the discont stayed around for discont_wait time.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746032
+
+2015-03-08 18:16:04 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/caopengllayersink.h:
+	* ext/gl/caopengllayersink.m:
+	* ext/gl/gstopengl.c:
+	  caopengllayersink: implement as a bin like glimagesink
+
+2015-03-03 18:05:04 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/caopengllayersink.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: avoid deadlock when creating context on the main thread.
+	  Make window/view creation async so that it is possible to
+	  gst_gl_context_create from the main thread.
+
+2015-03-03 17:26:47 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstgldisplay.h:
+	  gl: store the list of contexts within gldisplay
+	  Removes the reliance on the allocation query to propogate GL contexts.
+	  Allows thread safely getting a context for the a specific thread.
+
+2015-03-03 16:48:24 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: unset the current shader after rendering
+	  fixes gltestsrc ! glimagesink when gltestsrc doesn't use a shader
+
+2015-03-03 16:38:56 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgltestsrc.h:
+	  gltestsrc: remove usage of gldownload library object
+
+2015-02-28 00:30:38 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	  glcontext: store the thread current context
+
+2015-02-26 18:26:36 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstglsrcbin.c:
+	* ext/gl/gstglsrcbin.h:
+	* ext/gl/gstopengl.c:
+	  gl: new glsrcbin element
+
+2015-02-26 13:45:56 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	* ext/gl/gstglvideomixer.h:
+	* ext/gl/gstopengl.c:
+	  glvideomixer: implement with glmixerbin
+	  The relevant properties are forwarded to/from the containing bin
+	  and sink pads.
+
+2015-02-26 00:20:37 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	  glmixer: remove usage of upload/download objects
+
+2015-02-25 23:48:56 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstglmixerbin.c:
+	* ext/gl/gstglmixerbin.h:
+	* ext/gl/gstopengl.c:
+	  gl: new glmixerbin element
+
+2015-02-20 16:47:01 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstopengl.c:
+	  glimagesink: implement as a bin
+	  glupload ! glcolorconvert ! sink
+	  Some properties are manually forwarded.  The rest are available using
+	  GstChildProxy.
+	  The two signals are forwarded as well.
+
+2015-02-19 18:23:37 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstglsinkbin.c:
+	* ext/gl/gstglsinkbin.h:
+	* ext/gl/gstopengl.c:
+	  gl: new glsinkbin element
+	  similar to glfilterbin but for sinks
+
+2015-02-19 14:19:59 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: don't use the library upload/convert objects
+
+2015-02-19 13:33:28 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstglfilterbin.c:
+	* ext/gl/gstglfilterbin.h:
+	* ext/gl/gstopengl.c:
+	  gl: new element glfilterbin
+	  It encapsulates a confiurable GL processing element in the
+	  upload/colorconvert/download dance required to transparently process
+	  the majority of GstBuffer's.
+
+2015-02-19 13:24:59 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstgldownloadelement.c:
+	* ext/gl/gstgldownloadelement.h:
+	* ext/gl/gstopengl.c:
+	  gl: add new gldownloadelement
+	  Simply transforms caps to/from raw/glmemory capsfeatures
+
+2015-02-12 17:59:27 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstglcolorconvertelement.c:
+	* ext/gl/gstglcolorconvertelement.h:
+	* ext/gl/gstopengl.c:
+	  gl: add a new glcolorconvert element based on the glcolorconvert library object
+
+2015-03-11 16:56:16 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: implement propose_allocation pool handling for glmemory upload
+
+2015-02-11 23:29:01 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstgluploadelement.c:
+	* ext/gl/gstgluploadelement.h:
+	* ext/gl/gstopengl.c:
+	  gl: add a new glupload element based on the glupload library object
+
+2015-02-11 14:48:45 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglbasemixer.h:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstglmixerpad.h:
+	* ext/gl/gstglvideomixer.h:
+	  gl: add a new glbasemixer class below glmixer
+	  It deals with propagating the gl display/contexts throughout the
+	  application/pipeline
+
+2015-02-11 01:48:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/Makefile.am:
+	* gst-libs/gst/gl/gl.h:
+	* gst-libs/gst/gl/gstgl_fwd.h:
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	* gst-libs/gst/gl/gstglbasefilter.h:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  gl: add a new glbasefilter class below glfilter
+	  It deals with propagating the gl display/contexts throughout the
+	  application/pipeline
+
+2015-02-11 01:27:28 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  glutils: expose running a query on a set of src/sink pads
+
+2015-03-12 12:49:40 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstopusenc.c:
+	* ext/opus/gstopusenc.h:
+	  opusenc: replace cbr and constrained-vbr properties with an enum
+	  It was deemed confusing before.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744909
+
+2015-03-12 10:14:50 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: advertise resize in the caps negotiation properly
+
+2015-03-12 01:49:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Add locking to fill_buffer and fix mix_buffer
+	  The audiomixer pad struct fields may be changed from other threads
+
+2015-03-12 01:56:44 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/audiomixer/gstaudiomixer.h:
+	  audiomixer: Mark a discont when we receive a new segment event
+	  This allows us to handle new segment events correctly; either by dropping
+	  buffers or inserting silence; for example if the offset is changed on an srcpad
+	  connected to audiomixer.
+
+2015-03-12 09:46:02 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: we don't do resizing of the video frames
+	  As we cannot do accurate texel sampling then due to the texture
+	  coordinates being interpolated based on the output frame size.
+
+2015-01-20 19:53:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: While aggregating, sync values for all pads before converting frames
+
+2015-03-11 18:49:22 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  gl/x11: don't XGetWindowAttributes every XEvent
+	  fixes a deadlock in xcb where the X window may not exist.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745633
+
+2015-03-11 14:50:28 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	  gl/window: hopefully fixup compile warnings on android/ios
+
+2015-03-11 17:19:17 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: Remove redundant check for clearing context on reset.
+	  The context is already cleared a few lines above.
+
+2015-03-11 16:55:14 +1100  Jan Schmidt <jan@centricular.com>
+
+	* ext/dash/gstisoff.c:
+	* ext/dc1394/gstdc1394.c:
+	* ext/openjpeg/gstopenjpegenc.c:
+	* ext/resindvd/gstmpegdesc.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/gl/egl/gsteglimagememory.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/insertbin/gstinsertbin.c:
+	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+	* gst/mxf/mxfmetadata.c:
+	* gst/siren/gstsirendec.c:
+	* gst/videomeasure/gstvideomeasure_ssim.c:
+	* sys/acmenc/acmenc.c:
+	* sys/vdpau/gstvdpvideobufferpool.c:
+	  Remove a bunch of silly ';;' typos at the end of lines
+
+2015-03-06 15:31:18 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  gl/window: create the main loop/context on init/finalize
+	  Avoids races setting the window handle from the main thread.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745633
+
+2015-03-08 02:04:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregatory: don't redefine GST_FLOW_CUSTOM_SUCCESS
+
+2015-03-04 11:12:32 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* sys/androidmedia/gstamcaudiodec.c:
+	  androidmedia: Remove unused label/variable
+
+2015-03-10 15:31:21 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix get_presentation_offset check.
+	  And return 0 isntead of FALSE.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745455
+
+2015-03-02 14:00:03 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: implement get_presentation_offset.
+	  To account for presentationTimeOffset as per section 7.2.1 .
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745455
+
+2015-03-02 13:53:03 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: [API]: get_presentation_offset virtual method.
+	  Asks the subclass for a potential time offset to apply to each
+	  separate stream, in dash streams can have "presentation time offsets",
+	  which can be different for each stream.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745455
+
+2015-03-06 12:24:44 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* ext/dash/gstmpdparser.c:
+	  gstmpdparser: Really set the default value for startNumber.
+	  + The specs ask for a default of 1, the current code only did
+	  set a default when the field was present.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745455
+
+2015-03-09 11:11:16 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/videoparsers/gstmpegvideoparse.c:
+	  videoparser: unused value
+	  Value set in off will be immediately overwritten after going to next.
+	  CID #1226476
+
+2015-03-09 12:51:21 +0900  hoonhee.lee <hoonhee.lee@lge.com>
+
+	* gst/y4m/gsty4mdec.c:
+	  y4mdec: remove unnecessary semicolon
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745877
+
+2015-03-09 12:41:59 +0900  hoonhee.lee <hoonhee.lee@lge.com>
+
+	* tests/check/libs/gstglcontext.c:
+	  tests: glcontext: remove unnecessary semicolon
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745875
+
+2015-03-06 14:49:20 +0200  Mohammed Hassan <mohammed.hassan@jolla.com>
+
+	* gst/camerabin2/gstcamerabin2.c:
+	  camerabin: update zoom param spec if video source changes its max-zoom
+	  If the video source happens to allow max-zoom to be greater than our maximum hard coded
+	  value of 10 then the user cannot set anything greater than our maximum specified in the
+	  param spec. We have to update our param spec to prevent glib from capping the value
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745740
+
+2015-03-07 10:28:35 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/plugin.m:
+	* sys/applemedia/vtdec.c:
+	* sys/applemedia/vtdec.h:
+	  vtdec: Register a hardware-only vtdec_hw on OSX and give it a higher rank
+	  while having the default vtdec at secondary rank. This allows decodebin/playbin
+	  to prefer the hardware based decoders, and if that fails to initialize because
+	  hardware resources are busy to fall back to e.g. the libav based h264 decoder
+	  instead of the software based vtdec (which is slower), and only fall back to
+	  the software based vtdec if there is no higher ranked decoder available.
+
+2015-03-06 20:11:00 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: Don't share our downstream pool with upstream
+	  Pool cannot have multiple owner. This can lead to spurious
+	  pool was flushing error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=74570
+
+2015-03-05 16:28:36 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: Don't chain downstream pool
+	  Chaining a downstream pool would lead to two owner of the same
+	  pool. In dynamic pipeline, if one owner is removed from the pipeline
+	  the pool will be stopped, and the rest of the pipeline will fail
+	  since the pool will now be flushing. Also fix proposed pool caching,
+	  filter->pool was never set, never unrefed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745705
+
+2015-03-05 15:49:50 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Only cache pool, don't manage it
+	  GLImage does not use any kind of internal pool. There was some
+	  remaining code and comment stating that it was managing the
+	  pool, and it was in fact setting the active state when doing
+	  to ready state.
+	  * Only create the pool if requested and in propose_allocation
+	  * Cache the pool to avoid reallocation on spurious reconfigure
+	  * Don't try to deactivate the pool (we don't own it)
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745705
+
+2015-03-06 12:07:47 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst/videoparsers/gstpngparse.c:
+	  pngparse: stop spamming info messages
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745755
+
+2015-03-06 18:54:24 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstgldownload.c:
+	  gldownload: Simplify caps feature setting code
+
+2015-03-06 18:15:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: Remove format info in glcolorconvert's transform_caps function instead of on every caller
+	  ... and let glmixer actually transform the caps it is supposed to transform
+	  instead of inventing new caps.
+
+2015-03-06 18:49:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  Revert "videoaggregator: Create new caps from the video-info"
+	  This reverts commit 78215be0dfbb4e8ed4f249e161a94c644328d28d.
+	  because it broke glvideomixer with custom caps features.
+
+2015-03-06 18:36:12 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: Simplify caps feature setting code
+
+2015-03-06 14:54:41 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/rtp/gstrtph265depay.c:
+	  rtp: donl_present variable unused
+	  donl_present is not implemented, yet the value is set and checked a few times.
+	  Cleaning this.
+	  CID #1249687
+
+2015-03-06 14:27:44 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegtsmux/tsmux/tsmuxstream.c:
+	  mpegtsmux: fall through switch statement
+	  Adding a comment makes coverity happy and quells the issue.
+	  CID #1139748
+
+2015-03-06 14:36:26 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Create new caps from the video-info
+	  In case the original caps were missing some optional fields like
+	  interlace-mode. We assume default values for those everywhere,
+	  but they can still cause negotiation to fail if a downstream element
+	  expects the field to be there and at a specific value.
+
+2015-02-25 13:52:21 +0100  Florian Zwoch <fzwoch@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: allow "capture-screen" mode to select which screen to capture via the "device-index" option
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745161
+
+2015-03-05 19:09:49 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gldisplay: Only use debugging if we have valid values
+	  The debug category won't have been created/activated if it's not a
+	  valid display
+
+2015-03-05 15:54:55 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/opencv/motioncells_wrapper.cpp:
+	  motioncells: protect against not found id
+	  If searchIdx() doesn't find the id it returns -1, which breaks
+	  motioncelssvector.at (idx). Check for it and return if not found.
+	  Changing a few other lines for style consistency.
+
+2015-03-05 15:34:09 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/opencv/gsttemplatematch.c:
+	  opencv: remove always-true check
+	  filter->cvImage has just been used/dereferenced, there would be an error
+	  there if the pointer was NULL. No need to check since it will always be true.
+
+2015-03-04 16:13:30 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklinkaudiosrc: Calculate the duration more accurately from the capture time and numbers of samples
+	  This should prevent any accumulating rounding errors with the duration.
+
+2015-03-04 16:05:28 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklinkaudiosrc: Fix the timestamp and offset calculations even more
+
+2015-03-04 16:04:18 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklinkaudiosrc: Don't subtract the duration from the capture time
+	  We already have the real capture time, not the time when we received
+	  the end of the packet.
+
+2015-03-04 13:16:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  Revert "audiomixer: Latency is twice the output buffer duration, not only once"
+	  This reverts commit d387cf67df91b59540f32ee17b4c02f747969add.
+	  The analysis was wrong: The first 20ms of latency are introduced by the source
+	  already and put into the latency query, making it only necessary to cover the
+	  additional 20ms of audiomixer inside audiomixer.
+
+2015-03-04 09:24:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstopusdec.c:
+	  opusdec: fix latency query in FEC case
+	  The max latency parameter is "the maximum time an element
+	  synchronizing to the clock is allowed to wait for receiving all
+	  data for the current running time" (docs/design/part-latency.txt).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744338
+
+2015-03-03 11:42:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: reset the parser information when caps changes
+	  This prevents it from going into passthrough after receiving 2
+	  byte-stream caps (different ones) as it would keep the have_pps and
+	  have_sps set to true and would just go into passthrough without
+	  updating its caps.
+	  This patch makes it reset its stream information to restart properly
+	  when new caps are received.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745409
+
+2015-03-03 17:47:51 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: set timestamp on discont buffers
+	  Make sure discont buffers have its timestamp set to allow downstream
+	  to resync if needed
+
+2012-03-22 08:47:57 +0100  Oleksij Rempel <bug-track@fisher-privat.net>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.h:
+	  camerabin2: check negotiated caps avoid reseting of the pipe
+	  To avoid useless renegotiation of the pipe we can check for
+	  negotiated caps on src_filter and compare it with requested
+	  filter. If the caps intersect, avoid restart.
+	  Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=672610
+
+2015-03-02 01:08:15 +0300  Ilya Averyanov <i.averyanov@geoscan.aero>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: Remove duplicate code
+	  The muxer is already allocated in reset(), which is called soon afterwards.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745506
+
+2015-03-03 10:12:11 +0800  Song Bing <b06498@freescale.com>
+
+	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
+	  dvbsuboverlay: Set query ALLOCATION need_pool to FALSE
+	  Set query ALLOCATION need_pool to FALSE as it only need query if can
+	  support video overlay composition meta.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745495
+
+2015-03-04 14:38:36 +1100  Matthew Waters <matthew@centricular.com>
+
+	* sys/applemedia/avsamplevideosink.h:
+	* sys/applemedia/avsamplevideosink.m:
+	  applemedia/avsamplesink: utilise a pull based approach of displaying video frames
+	  Using requestMediaDataWhenReadyOnQueue the layer will execute a block
+	  when it would like more frames. Using this we can provide the current
+	  frame and avoid needlessly filling the layer's buffer queue causing
+	  older frames to be displayed when under resource pressure.
+
+2015-03-03 15:22:38 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: Fix upside down and miss-aligned JPEG
+	  LibJPEG uses macroblock of 8x8 sample. In this element we use RGB and
+	  Y444, two 24bit formats that are stored in 32bit pixels. This mean we
+	  have 32x32 bytes macroblocks. For this reason, we need to allocate
+	  our buffer slightly larger. We also need to pass the line pointer in
+	  the right order, otherwise the image endup upside-down.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745109
+
+2015-03-03 20:03:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Latency is twice the output buffer duration, not only once
+	  Let's assume a source that outputs outputs 20ms buffers, and audiomixer having
+	  a 20ms output buffer duration. However timestamps don't align perfectly, the
+	  source buffers are offsetted by 5ms.
+	  For our ASCII art picture, each letter is 5ms, each pipe is the start of a
+	  20ms buffer. So what happens is the following:
+	  0   20  40  60
+	  OOOOOOOOOOOOOOOO
+	  |   |   |   |
+	  5   25  45  65
+	  IIIIIIIIIIIIIIII
+	  |   |   |   |
+	  This means that the second output buffer (20 to 40ms) only gets its last 5ms
+	  at time 45ms (the timestamp of the next buffer is the time when the buffer
+	  arrives). But if we only have a latency of 20ms, we would wait until 40ms
+	  to generate the output buffer and miss the last 5ms of the input buffer.
+
+2015-02-18 21:21:01 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+	  gltransformation: normalize translations
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744763
+	  * Lubosz: use maxfloat for transformation range
+
+2015-02-18 20:41:14 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* ext/gl/gstgltransformation.c:
+	  gltransformation: Fix doc typo
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744763
+
+2015-03-03 13:45:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: Get rid of uploader if caps have changed
+	  We need to update the uploader format if that caps have changed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745549
+
+2015-03-03 16:50:30 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/wayland/wlshmallocator.c:
+	  waylandsink: g_mkstemp is safer than mkstep
+
+2015-03-03 16:49:07 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/wayland/wlshmallocator.c:
+	  Revert "waylandsink: mkstemp requires setting permission mask"
+	  This reverts commit 1890e7355a5464fcfff58633851265b3fc7a3731.
+	  Better to use g_mkstemp that takes care of the mask without affecting the
+	  entire process.
+
+2015-03-03 16:55:26 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  gl: Fix context leaks
+	  Introduced by a12ca13750a15300ab3c718ebde2984dc3d587b3
+
+2015-03-03 16:23:40 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/asfmux/gstasfmux.c:
+	  asfmux: remove unnecessary conditional
+	  The two branches of the if conditional are identical, which means in all cases
+	  the same gst_asf_put_guid() will be executed. Do it directly.
+	  CID #1226448
+
+2015-03-03 15:51:50 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/wayland/wlshmallocator.c:
+	  waylandsink: mkstemp requires setting permission mask
+	  Using mkstemp without setting the permission mask is potentially harmful.
+	  POSIX specification of mkstemp() does not say anything about file modes, so we
+	  need to make sure its file mode creation mask is set appropriately before
+	  calling it.
+
+2015-03-02 16:45:45 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink: Reset the clock calibration when unsetting the master clock
+	  Otherwise the old calibration will stick around for the next time we use it,
+	  potentially giving us completely wrong times.
+
+2015-03-02 13:57:24 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink{audio,video}src: Add some more debug output
+
+2015-02-12 13:43:30 +0100  DanielD10 <d.dedisse@vogo.fr>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: Incorrect frame rate for interlaced modes
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744386
+
+2015-03-01 19:57:23 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: register only one custom nsapp loop
+	  Otherwise the pipeline stalls when running
+	  more than one glimagesink with gst-launch.
+	  Also only register the custom nsapp loop
+	  when setting up the nsapp from gstgl.
+
+2015-03-01 16:54:10 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: instead of class_init use g_once to setup nsapp
+
+2015-02-26 23:04:09 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: check for deprecated constants prior to OSX 10.10
+
+2015-03-01 09:43:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	  glbufferpool: Fix offset for odd height
+	  We also need to recalculate the offset, since otherwise the frame
+	  mapping will be forward two lines in the U and V planes (I420) due
+	  to gst_video_info_align() round up the Y plane to a even number of
+	  lines.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745054
+
+2015-03-01 00:08:42 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* tests/check/libs/gstglmemory.c:
+	  gl-test: Port unit tests to new API
+
+2015-02-28 15:00:13 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: Support offset when downloading
+	  Make sure we support offset and video alignment when downloading too.
+	  This is currently not used (plane_start is always 0), but it makes
+	  the code correct if we want to use that later.
+
+2015-02-28 13:01:16 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: Provide correct size on upload
+	  Provide the right size to GL when uploading. Using maxsize is wrong
+	  since we offset the data point with the memory offset and video
+	  alignement offset.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744246
+
+2015-02-28 12:48:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: Provide correct size on download
+	  Provide the right size to GL when downloading. This fixes downloading
+	  from GLMemory that where created for libav.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744246
+
+2015-02-28 11:55:26 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	  glmemory: Use fallback for partial copy
+	  When the memory is partial copy, the texture size and videoinfo no
+	  longer make sense. As we cannot guess what the application wants, we
+	  safely copy into a sysmem memory.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744246
+
+2015-02-25 18:07:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* ext/gl/gstgloverlay.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/gstglupload.c:
+	  glmemory: Add GstAllocationParams and alignment support
+	  This implements support for GstAllocationParams and memory alignments.
+	  The parameters where simply ignored which could lead to crash on
+	  certain platform when used with libav and no luck.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744246
+
+2015-02-28 18:21:33 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: perform egl upload on the gl thread
+	  Fixes EGLImage usage on raspberry pi
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743914
+
+2015-02-27 11:07:34 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Fix scaling with rate of internal/external clock
+
+2015-02-27 00:26:00 +0530  Arun Raghavan <git@arunraghavan.net>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Use standard upstream latency querying logic
+	  The same functionality is duplicated in the default latency querying
+	  now.
+
+2015-02-27 00:01:41 +0530  Arun Raghavan <git@arunraghavan.net>
+
+	* gst/liveadder/liveadder.c:
+	  liveadder: Use default upstream latency querying logic
+	  We can rely on the standard upstream latency querying logic and then add
+	  our own latency.
+
+2015-02-26 13:20:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: Set freed method implementation to NULL
+	  When trying to render buffers with meta:GLTextureUpload the glimagesink crashes
+	  with a segmentation fault.
+	  This patch workarounds this crash setting to NULL the method implementation
+	  after free.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745206
+
+2015-02-25 14:48:59 +0100  Roman Nowicki <r.nowicki@sims.pl>
+
+	* sys/d3dvideosink/d3dhelpers.c:
+	  d3dvideosink: release existing D3D swap chain on init
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745159
+
+2015-02-24 19:01:45 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/Makefile.am:
+	  opengl: Clean Makefile.am
+	  + Split headers from source
+	  + Remove uneeded AM_CFLAGS, AM_LDFLAGS
+	  + Always set OBJCFLAGS
+	  Due to the presence of a .m and regardless of the conditional values,
+	  automake will promote the link command to OBJC using OBJCFLAGS. Only
+	  the basic flags (like warnings and optimization) are going to make a
+	  difference though.
+	  This cleanup builds up the makefile with less specific files first
+	  toward more specific file. FLAGS are built with the basic that unused
+	  flags will have empty variable.
+
+2015-02-24 12:54:54 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: cosmetic cleanup
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745105
+
+2015-02-24 19:52:59 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/gl/Makefile.am:
+	  opengl: don't add --tag=CC twice to LIBTOOLFLAGS
+
+2015-02-24 14:35:37 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/Makefile.am:
+	  opengl: Add --tag=CC to LIBTOOLCLFAGS
+	  This is required for static build.
+
+2015-02-24 18:50:03 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/jpegformat/gstjpegparse.c:
+	* tests/check/elements/jpegparse.c:
+	  jpegparse: interlaced doesn't mean progressive scan
+	  Removing interlaced variable since it is meant to mean progressive scan
+	  and that isn't used.
+
+2015-02-24 18:38:31 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/check/elements/jpegparse.c:
+	  Revert "tests: check jpegparse for progressive marker"
+	  This reverts commit 1c77d12ce8770f0e065e9c00c35d711fdef1c9f8.
+	  "interlaced" in the caps don't mean the same thing as the SOF2 marker in the
+	  JPEG format. This test passes because of broken behaviour.
+
+2015-02-24 17:41:43 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/check/elements/jpegparse.c:
+	  tests: check jpegparse for progressive marker
+
+2015-02-24 14:01:04 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: Deactivate window before changing handle
+	  When setting a new window handle, we need to ensure all implementations
+	  will detect the change.
+	  For that we deactivate the context before setting the window handle, then
+	  reactivate the context
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745090
+
+2015-02-24 13:58:26 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
+	  gl/egl: Detect window handle changes
+	  When (re)activating the context, the backing window handle might have changed.
+	  If that happened, destroy the previous surface and create a new one
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745090
+
+2015-02-24 14:20:42 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/gl/gstglapi.c:
+	  gl: remove docbook related warnings
+
+2015-02-24 13:51:24 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/modplug/gstmodplug.cc:
+	  modplug: remove unused variable
+
+2015-02-24 13:36:00 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/modplug/gstmodplug.cc:
+	  modplug: not using deprecated API anymore
+
+2015-02-24 13:16:21 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/modplug/gstmodplug.cc:
+	  modplug: update example pipeline command
+
+2015-02-24 19:03:43 +0530  Arun Raghavan <arun@centricular.com>
+
+	* gst-libs/gst/mpegts/gst-dvb-section.c:
+	  mpegts: Fix a compiler warning
+	  Causes the following warning on clang:
+	  gst-dvb-section.c:567:36: error: format specifies type 'unsigned long' but the argument has type 'int' [-Werror,-Wformat]
+	  descriptors_loop_length, end - 4 - data);
+	  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
+
+2015-02-24 23:54:13 +1100  Matthew Waters <matthew@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: only attempt use of the texture cache with GLMemory caps features
+	  Otherwise we send rectangle textures to glimagesink
+
+2015-02-24 23:52:39 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/caopengllayersink.m:
+	  caopengllayersink: render black when we don't have a texture to display
+	  Like when the winsys asks us to redraw before the pipeline has started
+
+2015-02-25 00:00:48 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: allow sharing between buffers
+	  There was no real reason why the flag was set.  We should be able
+	  to handle it.  Fixes last-sample handling on gl sinks
+
+2015-02-24 20:34:35 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsyncmeta: add compat definition for gles2
+
+2015-02-24 11:19:04 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/d3dvideosink/d3dhelpers.c:
+	  d3dvideosink: Don't initialize the render window swap chain while the device is lost and we're waiting for reset
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744615
+
+2015-02-24 11:18:38 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/d3dvideosink/d3dvideosink.c:
+	  d3dvideosink: Deactivate the fallback buffer pool when replacing it during caps changes
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744615
+
+2015-01-29 17:41:19 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/caopengllayersink.h:
+	* ext/gl/caopengllayersink.m:
+	* ext/gl/gstopengl.c:
+	  new caopengllayersink element
+	  renders gstreamer gl scene/video frames to a caopengllayer retreivable
+	  from the "layer" property.
+
+2015-01-19 12:43:23 +1100  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* sys/applemedia/Makefile.am:
+	* sys/applemedia/avsamplevideosink.h:
+	* sys/applemedia/avsamplevideosink.m:
+	* sys/applemedia/plugin.m:
+	* tests/examples/Makefile.am:
+	* tests/examples/avsamplesink/.gitignore:
+	* tests/examples/avsamplesink/Makefile.am:
+	* tests/examples/avsamplesink/main.m:
+	  applemedia: new AVSampleBufferLayerSink
+	  Renders buffers using the CALayer subclass AVSampleBufferDisplayLayer
+	  which can be placed inside a Core Animation render tree.
+
+2015-02-24 19:06:18 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  gl/calayer: don't use the async callback to render
+	  not until we can provide equivalent functionality for other window
+	  implementations.
+
+2015-02-24 01:20:23 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsyncmeta: also supported with gles3
+
+2015-02-24 14:23:49 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
+	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	  libgstgl: eagl: handle CALayer resize
+
+2015-02-23 16:13:31 +0100  Vasilis Liaskovitis <vliaskov@gmail.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: Fix transfer_pbo memory leak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744977
+
+2015-02-22 10:03:54 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: reduce custom main loop latency
+	  This fix a very slow rendering rate regression that only
+	  happens when using gst-launch, i.e. in the case where
+	  the main thread does not run any NSApp loop.
+	  Git bisect reported it has been introduced by the commit
+	  e10d2417e2fe7aa4733c076984339b0d61caa169:
+	  "move to CGL and CAOpenGLLayer for rendering".
+	  Then the commit 7d463576271e5a4cc1070780ba1a69c971e8be1d:
+	  "gstglwindow_cocoa: fix slow render rate" attempted to fix
+	  the slow rendering rate problem when using gst-launch.
+	  At least for me it does not work. I tried several
+	  combinations, for example to flush CA transactions in the
+	  custom app loop, as mentioned in the doc, but the only solution
+	  that fixes the slow rendering is by reducing the loop latency.
+	  From what I tested, no need to put less than 60ms, even if the
+	  framerate has an interval much lower (16.6ms for 60 fps).
+
+2015-02-17 23:50:51 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* ext/gl/gstglmixerpad.h:
+	  glmixer: fix some compiler warnings
+	  i686-apple-darwin11-llvm-gcc-4.2
+	  gstglmixer.h:43: error: redefinition of typedef ‘GstGLMixer’
+	  gstglmixerpad.h:32: error: previous declaration of ‘GstGLMixer’ was here
+	  gstglmixer.h:46: error: redefinition of typedef ‘GstGLMixerFrameData’
+	  gstglmixerpad.h:33: error: previous declaration of ‘GstGLMixerFrameData’ was here
+
+2015-02-21 19:07:29 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* docs/plugins/gst-plugins-bad-plugins.hierarchy:
+	* docs/plugins/inspect/plugin-adpcmenc.xml:
+	* docs/plugins/inspect/plugin-curl.xml:
+	* docs/plugins/inspect/plugin-faac.xml:
+	* docs/plugins/inspect/plugin-inter.xml:
+	* docs/plugins/inspect/plugin-mpg123.xml:
+	* docs/plugins/inspect/plugin-opus.xml:
+	  docs: update
+
+2015-02-21 19:07:14 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	  docs: add opus elements to documentation
+
+2015-02-21 18:52:00 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/examples/mxf/mxfdemux-structure.c:
+	  mxf-example: don't quit on Warning
+	  Don't quit on Warning.
+	  Print out a message when there is an Error or Warning.
+
+2015-02-21 18:47:29 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/examples/mxf/mxfdemux-structure.c:
+	  mxf-example: always show gtk window
+	  Show gtk window even when there are no tags, to always have visual feedback
+	  about the pipeline running.
+
+2015-02-21 17:35:03 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/examples/mxf/mxfdemux-structure.c:
+	  mxf-example: merge returns in g_value_to_string()
+
+2015-02-21 17:25:51 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/examples/mxf/mxfdemux-structure.c:
+	  mxf-example: make bus_callback consistent
+	  Simplify the bus_callback to make it consisten with other examples.
+
+2015-02-21 17:18:02 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/examples/mxf/mxfdemux-structure.c:
+	  mxf-example: fix usage of argc and argv
+
+2015-02-21 17:02:09 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/examples/camerabin2/gst-camera2.c:
+	  camerabin examples: remove unneeded variable
+	  ret is only used once, we don't need to store it in a variable for that.
+
+2015-02-21 14:42:05 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  gstglmemory: Remove now unused transfer_upload function.
+
+2015-02-21 23:29:22 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: disable automatic pbo upload
+	  until we can track where the data is/or is going to be.
+
+2015-02-20 13:55:05 +0000  Alex Ashley <bugzilla@ashley-family.net>
+
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	* tests/check/elements/hlsdemux_m3u8.c:
+	  hlsdemux: select correct starting position for live streams
+	  When playing live HLS streams, the media playback starts from the
+	  beginning of the media playlist. When playing a live HLS stream,
+	  media playback should start from 3 fragments from the end of the
+	  playlist.
+	  See section 6.3.3. of the HLS draft [1]
+	  This commit changes the logic to select 3 fragments from the end when
+	  playing a live stream.
+	  [1] http://tools.ietf.org/html/draft-pantos-http-live-streaming-12#page-29
+	  https://bugzilla.gnome.org/show_bug.cgi?id=727742
+
+2015-02-20 18:42:23 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	  glememory: only store and act on the map flags on first/last map/unmap
+	  Anytime else, we have no idea how to match up map and unmaps.
+	  We also don't know exactly how the calling code is using us.
+	  Also fixes the case where we're trying to transfer while someone else
+	  is accessing our data pointer or texture resulting in mismatched video
+	  frames.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744839
+
+2015-02-19 21:21:56 -0500  Olivier Crete <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Use src_lock to protect latency related members
+	  One has to use the src_lock anyway to protect the min/max/live so they
+	  can be notified atomically to the src thread to wake it up on changes,
+	  such as property changes. So no point in having a second lock.
+	  Also, the object lock was being held across a call to
+	  GST_ELEMENT_WARNING, guaranteeing a deadlock.
+
+2015-02-19 18:53:32 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Remove untrue comment
+
+2015-02-19 18:30:35 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Don't try to push tags while flush seeking
+	  The downstream segment could have been flushed already, so
+	  need to re-send the segment event before re-sending the tags.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-02-19 14:34:23 +0100  Guillaume Seguin <guillaume@segu.in>
+
+	* ext/hls/gsthlssink.c:
+	  hlssink: reduce playlist's EXT-X-VERSION to 3
+	  We are not using any features greater than the 3rd version,
+	  so reduce to what we actually use to make it compatible with
+	  more players
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744689
+
+2015-02-19 14:30:10 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstrtpopuspay.c:
+	  rtpopuspay: default encoding name to OPUS
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737810
+
+2015-02-19 14:05:06 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstrtpopuspay.c:
+	  rtpopuspay: make caps writable before truncating them
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737810
+
+2015-02-05 10:27:51 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstrtpopuspay.c:
+	  rtpopuspay: negotiate the encoding name
+	  Chrome uses a different encoding name that gstreamer.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737810
+
+2015-02-19 17:21:46 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/videosignal/gstsimplevideomarkdetect.c:
+	  simplevideomarkdetect: move offset calculations out of inner loops
+	  the calculations for detecting the videomark is being repeated
+	  in for loop unnecessarily. Moving this outside of for loop
+	  such that the code need not be executed evertime the loop is executed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744778
+
+2015-02-19 11:04:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Use the sinkpads iterator directly to query upstream latencies
+	  While gst_aggregator_iterate_sinkpads() makes sure that every pad is only
+	  visited once, even when the iterator has to resync, this is not all we have
+	  to do for querying the latency. When the iterator resyncs we actually have
+	  to query all pads for the latency again and forget our previous results. It
+	  might have happened that a pad was removed, which influenced the result of
+	  the latency query.
+
+2015-02-19 10:57:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Move gst_aggregator_get_latency_unlocked() a bit
+	  It was between another function and its helper function before, which was
+	  confusing when reading the code as it had nothing to do with the other
+	  functions.
+
+2015-02-19 01:28:30 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/resindvd/rsninputselector.c:
+	  rsninputselector: Fail the latency query if one of the upstream queries fails
+
+2015-02-19 01:28:20 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/liveadder/liveadder.c:
+	  liveadder: Fail the latency query if one of the upstream queries fails
+
+2015-02-19 01:28:06 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Fail the latency query if one of the upstream queries fails
+
+2015-02-18 19:06:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: Only set latency if we already know our caps
+	  Otherwise we might set bogus values or GST_CLOCK_TIME_NONE.
+	  Also make sure to reset the caps field to NULL after unreffing
+	  the caps to prevent accidential use afterwards, and unref any
+	  old caps before we remember new caps.
+
+2015-02-18 15:53:53 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Document locking order
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-02-18 15:11:14 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Rename confusinly named SRC_STREAM_LOCK macros to SRC_LOCK
+	  This will match the name of the lock itself. It is also not a stream
+	  lock as it not recursive and not held while pushing.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-02-18 15:06:01 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Rename confusingly named stream lock to flush lock
+	  This lock is not what is commonly known as a "stream lock" in GStremer,
+	  it's not recursive and it's taken from the non-serialized FLUSH_START event.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-02-18 15:04:04 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Fix macro indendation
+	  Changes no code
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-02-18 17:10:48 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstgltransformation.h:
+	  gltransform: Fix includes of graphene headers
+	  The graphene-1.0 part should not be in the source code. This directory
+	  is part of the cflags include. This is similar to gstreamer-1.0/
+	  directory. This break compilation if the include directory where
+	  graphene is installed is not in your include path.
+
+2015-02-18 19:07:42 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mxf/mxfdemux.c:
+	  mxfdemux: remove unneeded values
+	  No need to store the GstFlowReturn when we can check if it is not OK directly
+
+2015-02-18 18:33:20 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mxf/mxfdemux.c:
+	  mxfdemux: renaming GstFlowReturn variable
+	  Having a variable named ret in a static void function is very confusing since
+	  this usually is to store what the function will return.
+
+2015-02-18 18:00:48 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mxf/mxfdemux.c:
+	  mxfdemux: remove ignored value
+	  Value stored in ret will be ovewritten in the next iteration of the loop. Which
+	  means it is never used.
+	  Plus a style issue to make gst-indent happy and allow the commit.
+
+2015-02-18 17:41:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusenc.c:
+	  opusenc: Remove g_warnings() for the deprecated audio property
+	  Otherwise there are g_warnings() already when just using gst-inspect or
+	  dumping a pipeline graph.
+
+2015-02-15 23:16:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: protect against malformed isombff format
+	  Be more careful around malformed mpds that announce using
+	  isombff profile but actually are regular mpds
+
+2015-02-18 12:45:22 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/d3dvideosink/d3dhelpers.c:
+	  d3dvideosink: Deactivate the fallback pool and unref the fallback buffer when resetting
+	  Otherwise we will still have a reference to the surface left, which would
+	  prevent activating the sink again later. E.g. after we lost the device.
+	  Hopefully fixes https://bugzilla.gnome.org/show_bug.cgi?id=744615
+
+2015-02-17 11:53:49 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: remove unused define
+
+2015-02-17 11:41:27 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	  mssdemux: use correct function to clear fragment info
+	  Just freeing the url won't reset the byte ranges and can lead to wrong
+	  ranges being used.
+
+2015-02-17 10:50:59 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: depracate bandwidth-usage in favor of bitrate-limit
+	  Bitrate-limit is already available in the baseclass and, even though
+	  the bandwidth-usage name is better, hls and mss already used
+	  bitrate-limit. This patch deprecates the bandwidth-usage and maps
+	  it to the baseclass bitrate-limite.
+
+2015-02-17 10:40:06 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/smoothstreaming/gstmssdemux.h:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: add bitrate-limit property
+	  Move the property from subclasses to adaptivedemux, it allows
+	  selecing the percentage of the measured bitrate to be used when
+	  selecting stream bitrates
+
+2015-02-17 10:04:30 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlssink.c:
+	* ext/hls/gstm3u8playlist.c:
+	  hlssink: allow creation of 'infinite' playlist
+	  Allow the playlist-length to accept '0' as a value, indicating
+	  that no segment should be removed from the playlist. This allows
+	  generating playlists to be used as VOD when complete.
+
+2015-02-17 10:04:27 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlssink.c:
+	* ext/hls/gstm3u8playlist.c:
+	* ext/hls/gstm3u8playlist.h:
+	  hlssink: remove unused attribute
+	  the GFile attribute is never used
+
+2015-02-17 10:03:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/smoothstreaming/gstmssdemux.h:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: add connection-speed property
+	  Allows to set a bitrate directly instead of measuring it internally
+	  based on the received chunks. The connection-speed was removed from
+	  mssdemux and hlsdemux as it is now in the base class
+
+2015-02-17 00:34:55 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+	  basecamerabinsrc: don't use private GMutex implementation details
+	  Don't use private GMutex implementation details to check
+	  whether it has been freed already or not. Just clear mutex
+	  and GCond unconditionally in free function, they are always
+	  inited anyway, and the free function can't be called multiple
+	  times either.
+
+2015-02-16 23:54:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  audiovisualizer: don't use private GMutex implementation details
+	  Don't use private GMutex implementation details to check
+	  whether it has been freed already or not. Just turn dispose
+	  function into finalize function which will only be called
+	  once, that way we can just clear the mutex unconditionally.
+
+2015-02-17 18:17:59 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: don't deadlock if the dispatch_sync is called from the main thread
+	  Provide a helper function to check whether we are being called from
+	  the main thread and act appropriately.
+
+2015-02-17 16:41:17 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  gl/calayer: only start drawing if the parent gl context is ready
+	  otherwise we may try to use GstGLFuncs * that hasn't been set yet
+
+2015-02-17 16:39:56 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: small refactor of layer/view creation into the window
+
+2015-02-17 01:04:38 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: Remove assertion in gst_gl_window_show() for subclasses not implementing it
+	  On Android and iOS we can't create a window ourselves, so also can't just show
+	  one. That's not a problem and an assertion is not really needed here.
+
+2015-02-16 12:35:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Check if VTSessionCopyProperty() succeeds before using the result
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744585
+
+2015-02-13 23:45:20 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: drop GAP events until we handle them properly
+
+2015-02-12 12:04:44 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/videosignal/gstsimplevideomark.c:
+	  simplevideomark: refactor code
+	  the calculations for drawing the videomark is being repeated
+	  in for loop unnecessarily. Moving this outside of for loop
+	  such that the code need not be executed evertime the loop is executed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744371
+
+2015-02-09 11:21:35 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	* gst/mpegtsdemux/tsdemux.h:
+	  tsdemux: Fix segment and segment event handling during seeking
+	  Always update the segment and not only for accurate seeking and always
+	  send a new segment event after seeks.
+	  For non-accurate force a reset of our segment info to start from
+	  where our seek led us as we don't need to be accurate
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743363
+
+2015-02-13 16:06:34 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: use new gst_aggregator_pad_drop_buffer()
+
+2015-02-13 16:03:53 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: use new gst_aggregator_pad_drop_buffer()
+
+2015-02-13 15:53:19 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* tests/check/libs/aggregator.c:
+	  aggregator: use new gst_aggregator_pad_drop_buffer()
+
+2015-02-13 15:49:50 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: add gst_aggregator_pad_drop_buffer()
+	  steal_buffer() + unref seems to be a wide-spread idiom
+	  (which perhaps indicates that something is not quite
+	  right with the way aggregator pad works currently).
+
+2015-02-12 13:32:39 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: only post latency message if anything changed
+	  Perhaps we should check for element state as well and
+	  only post it if in PLAYING state.
+
+2015-02-12 15:48:07 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/audiomixer.c:
+	* tests/check/elements/compositor.c:
+	  tests: remove GST_DISABLE_PARSE guards from two tests that don't require it
+
+2015-01-28 12:12:26 +0530  Arun Raghavan <arun@centricular.com>
+
+	* sys/opensles/openslessink.c:
+	* sys/opensles/openslessrc.c:
+	  opensles: Make debug category naming a bit more consistent
+
+2015-02-13 19:12:20 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  applemedia: avfvideosrc: fix crash when non-GL memory is used
+
+2015-02-05 18:10:15 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Fix logic in fragment_download_finish.
+	  This was preventing us from surfacing a meaningful error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743703
+
+2015-02-12 22:06:17 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Fix handling of live streams with timeshift buffers.
+	  By implementing get_live_seek_range.
+	  As shown by :
+	  gst-validate-1.0 playbin \
+	  uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php
+	  This patch handles live seeking, by setting a live seek range
+	  comprised between now - timeShiftBufferDepth and now.
+	  The inteersting thing with this stream is that one can actually
+	  ask fragments up to availabilityStartTime, but it seems quite clear
+	  in the spec that content is only guaranteed to exist up to
+	  timeShiftBufferDepth.
+	  One can test live seeking this way :
+	  gst-validate-1.0 playbin \
+	  uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php \
+	  --set-scenario seek_back.scenario
+	  with scenario being:
+	  description, seek=true
+	  seek, playback-time=position+5.0, start="position-600.0",
+	  flags=accurate+flush
+	  This example will play the stream, wait for five seconds, then seek back
+	  to a position 10 minutes earlier.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744362
+
+2015-02-12 22:04:10 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Set first segment time to segment start.
+	  Otherwise as long as a seek wasn't executed, the position was
+	  reported incorrectly:
+	  gst-validate-1.0 playbin \
+	  uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744362
+
+2015-02-12 17:33:50 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Fix debug statement
+
+2015-02-12 15:02:31 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglshader.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstgluploadmeta.c:
+	  gl: Add/Update more debug statements
+	  Where possible, use the _OBJECT variants in order to track better from
+	  which object the debug statement is coming from
+	  Define (and use) GST_CAT_DEFAULT where applicable
+	  Use GST_PTR_FORMAT where applicable
+
+2015-02-12 14:58:14 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	  gl: Make glcontext debug category used in more places
+	  As a bonus it makes the egl context debug messages visible now :)
+
+2015-02-12 14:56:12 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Sprinkle more debug
+
+2015-02-12 11:15:31 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: set proper stream type to streams
+	  strncmp returns 0 when it compares equal and not a
+	  boolean
+
+2015-02-12 11:26:44 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: calculate stream_time used to sync pad values correctly
+	  Use pad (input) segment to calculate the stream time from the
+	  input timestamp, not the aggregator (output) segment.
+
+2015-02-12 11:11:19 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: Only use the duration of the sample if it is valid
+
+2015-01-27 13:48:42 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: track per-fragment bitrates.
+	  And use the average to go up in resolution, and the last fragment
+	  bitrate to go down.
+	  This allows the demuxer to react rapidly to bitrate loss, and
+	  be conservative for bitrate improvements.
+	  + Add a construct only property to define the number of fragments
+	  to consider when calculating the average moving bitrate.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742979
+
+2015-02-11 14:44:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/x265/gstx265enc.c:
+	  x265enc: Add support for 10bit 4:2:0 and 4:4:4 formats
+
+2015-02-11 14:16:21 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusdec.c:
+	* ext/resindvd/rsninputselector.c:
+	* ext/x265/gstx265enc.c:
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/frei0r/gstfrei0rmixer.c:
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/liveadder/liveadder.c:
+	* gst/videomeasure/gstvideomeasure_ssim.c:
+	  Improve and fix LATENCY query handling
+	  This now follows the design docs everywhere, especially the maximum latency
+	  handling.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744106
+
+2015-02-10 15:55:50 +0800  Song Bing <b06498@freescale.com>
+
+	* tests/examples/camerabin2/gst-camera2.c:
+	  camerabin examples: memory leak in camerabin examples code
+	  should unref caps after set to profile. profile will ref it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744219
+
+2015-02-10 15:53:21 +0800  Song Bing <b06498@freescale.com>
+
+	* tests/examples/camerabin2/gst-camerabin2-test.c:
+	  camerabin examples: memory leak in camerabin examples code
+	  should unref after set object. The object will be refed when set
+	  property.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744219
+
+2015-02-10 16:18:34 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/opensles/openslesringbuffer.c:
+	  openslesringbuffer: Only allocate at most half the number of internal buffers as external audioringbuffer ones
+	  Otherwise we might end up reading too much from the audioringbuffer, which
+	  would result in reading silence.
+
+2015-02-10 16:01:19 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Apply the diff between element and pipeline "base" time in all cases
+	  Even if both clocks have the same rate, we need to apply this diff. Only when
+	  it's the same clock we don't, as it's our clock then.
+
+2015-02-10 15:30:44 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Add the diff between the pipeline base time and when we start to play
+	  Add the diff between the external time when we went to playing and
+	  the external time when the pipeline went to playing. Otherwise we
+	  will always start outputting from 0 instead of the current running
+	  time.
+
+2015-02-10 14:53:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Actually include the change mentioned in the last commit
+
+2015-02-10 14:48:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideo{src,sink}: Sample the internal clock immediately after starting the device
+	  Otherwise we might stay at 0.0s for too long because we will take the first
+	  timestamp we ever see as 0.0... which will be after we started the device.
+
+2015-02-10 10:56:37 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: When receiving timeout before caps, make sure to also advance our frame counter
+	  Otherwise we will directly go EOS on the next non-timeout.
+
+2015-02-10 10:49:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Pause srcpad task on flow errors
+	  Otherwise we will call the task function over and over again until
+	  upstream finally handled the flow return and shuts us down.
+
+2015-02-09 00:59:30 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: fix buffer selection when duration=-1
+	  If the src framerate and videoaggreator's output framerate were
+	  different, then we were taking every single buffer that had duration=-1
+	  as it came in regardless of the buffer's start time.  This caused the src
+	  to possibly run at a different speed to the output frames.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744096
+
+2015-02-09 21:04:17 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: Fix compiler warning with gcc
+	  gstdecklink.cpp: In member function 'virtual HRESULT GStreamerDecklinkInputCallback::VideoInputFrameArrived(IDeckLinkVideoInputFrame*, IDeckLinkAudioInputPacket*)':
+	  gstdecklink.cpp:498:22: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
+	  if (capture_time > m_input->clock_start_time)
+	  ^
+	  gstdecklink.cpp:503:22: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
+	  if (capture_time > m_input->clock_offset)
+	  ^
+
+2015-02-09 17:17:37 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.h:
+	  decklink{audio,video}src: Implement clock slaving if the pipeline clock is not the decklink clock
+
+2015-02-09 17:15:21 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklinkaudio{src,sink}: Only start streams / scheduled playback if there is a videosrc at this point
+
+2015-02-09 17:04:27 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklinkaudiosrc: Don't provide a clock
+	  The audio source only works together with the video source, and the video
+	  source is already providing a clock.
+
+2015-02-09 16:18:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	  decklinkaudiosink: Throttle reading from the ringbuffer
+	  The driver has an internal buffer of unspecified and unconfigurable size, and
+	  it will pull data from our ring buffer as fast as it can until that is full.
+	  Unfortunately that means that we pull silence from the ringbuffer unless its
+	  size is by conincidence larger than the driver's internal ringbuffer.
+	  The good news is that it's not required to completely fill the buffer for
+	  proper playback. So we now throttle reading from the ringbuffer whenever
+	  the driver has buffered more than half of our ringbuffer size by waiting
+	  on the clock for the amount of time until it has buffered less than that
+	  again.
+
+2015-02-09 15:19:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	  decklinkaudiosink: Start scheduled playback when going to PLAYING
+	  The ringbuffer's acquire() is too early, and ringbuffer's start() will only be
+	  called after the clock has advanced a bit... which it won't unless we start
+	  scheduled playback.
+
+2015-02-09 21:18:24 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/corevideotexturecache.m:
+	* sys/applemedia/vtdec.c:
+	  vtdec: fix texture sharing on iOS
+	  Move GLES calls to the context thread. Fix
+	  CVOpenGLESTextureCacheCreateTextureFromImage usage on iOS.
+
+2015-02-09 20:44:50 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  libgstgl: set user data and GDestroyNotify for wrapped textures
+
+2015-02-08 21:53:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink{audio,video}src: Take the capture times from the pipeline clock
+	  Not from the decklink clock. Both will return exactly the same time once the
+	  decklink clock got slaved to the pipeline clock and received the first
+	  observation, but until then it will return bogus values. But as both return
+	  exactly the same values, we can as well use the pipeline clock directly.
+
+2015-02-08 14:32:22 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: don't set element factory details
+	  This is an abstract base class, not an element.
+
+2015-02-08 01:19:42 +1100  Rob Clark <rob@ti.com>
+
+	* gst/dvdspu/gstspu-vobsub-render.c:
+	  dvdspu: some optimizations
+	  Detect invisible pixels, and skip gstspu_vobsub_blend_comp_buffers()
+	  when there are only invisible pixels.  This significantly reduces the
+	  CPU load in cases of DVDs which don't use the clip_rect to exclude
+	  processing for parts of the screen where the video is visible.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=667221
+
+2015-02-08 05:06:48 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/dvdspu/gstdvdspu.c:
+	  dvdspu: Avoid warning if the video for a still frame arrives after the SPU
+	  When we don't have a segment on the video pad yet during a still frame
+	  don't freak out.
+
+2015-02-08 04:51:13 +1100  Jan Schmidt <jan@centricular.com>
+
+	* ext/resindvd/gstmpegdemux.c:
+	  resindvd: Don't send meaningless segment position downstream
+	  Don't place a meaningless value in the position field in
+	  outgoing segments - values have to be in the range start->stop.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740558
+
+2015-02-06 16:22:26 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/aiff/aiffparse.c:
+	  Revert "aiffparse: make sure we have data before handling sink event"
+	  This reverts commit a4baabb48d252214d3833b502c7903d9f15f3502.
+
+2015-02-06 15:10:55 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/aiff/aiffparse.c:
+	  aiffparse: make sure we have data before handling sink event
+	  Check AIFF_PARSE_DATA is True before handling sink event, if not goto exit.
+
+2015-02-05 15:57:59 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.h:
+	  audiomixer: remove now-unused base_time field in object structure
+
+2015-02-06 10:59:27 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Streamline latency calculations
+	  Min latency can never be invalid, latency property can never be invalid
+	  either. So no need to check for all these things in various places.
+
+2015-02-06 10:36:28 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: If upstream has no max latency but the subclass has, take the subclass max latency
+
+2015-02-06 10:33:59 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Fix min>max latency error check
+	  We have to include the upstream latency, our own latency and the subclass
+	  latency in the calculations.
+	  FIXME: This is still not entirely correct
+
+2015-02-06 10:30:59 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Don't add the latency property to the max latency
+	  It has no meaning for the max latency and is only used to increase the min
+	  latency.
+
+2015-02-06 12:53:15 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/glprototypes/vao.h:
+	  glproto/vao: only supported in core for ES 3.0+
+	  Was causing horizontally flipped video for frame 2 onward on android
+
+2015-02-05 13:31:18 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/faac/gstfaac.c:
+	  faac: relace parsed with framed in aac caps
+	  For AAC it should always be 'framed' and not 'parsed'
+
+2015-02-05 11:39:55 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/faac/gstfaac.c:
+	  faac: fix output caps to negotiate with some muxers
+	  Add parsed/framed=true to allow negotiation with some
+	  muxers that required parsed input. Encoders already provide
+	  parsed/framed output so it should say so in caps.
+
+2015-02-05 15:48:41 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/compositor.c:
+	  tests: compositor: add unit test for proper segment.base handling
+	  As adjusted by gst_pad_set_offset(), or when doing segment seeks
+	  or looping for example.
+
+2015-02-05 15:23:04 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/audiomixer.c:
+	  tests: audiomixer: add unit test for proper segment.base handling
+	  As adjusted by gst_pad_set_offset(), or when doing segment seeks
+	  or looping for example. See previous audiomixer commit.
+
+2015-02-05 16:02:54 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Remove weird and wrong segment handling
+	  There's no reason why audiomixer should override the segment
+	  base of upstream with whatever value it got from a SEEK event,
+	  or even worse... with 0 if there was no SEEK event yet. This
+	  broke synchronization if upstream provided a segment base other
+	  than 0, e.g. when using pad offsets.
+	  Also that this code did things conditional on the element's state
+	  should've been a big warning already that something is just wrong.
+	  If this breaks anything else now, let's fix it properly :)
+	  Also don't do fancy segment position trickery when receiving a
+	  segment event. It's just not correct.
+
+2015-02-05 12:24:04 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/opensles/openslesringbuffer.c:
+	  openslesringbuffer: Only pre-roll a single buffer
+	  There is no reason to pre-roll more buffers here as we have our own ringbuffer
+	  with more segments around it, and we can immediately provide more buffers to
+	  OpenSL ES when it requests that from the callback.
+	  Pre-rolling a single buffer before starting is necessary though, as otherwise
+	  we will only output silence.
+	  Lowers latency a bit, depending on latency-time and buffer-time settings.
+
+2015-02-05 12:22:46 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/opensles/openslesringbuffer.c:
+	  openslesringbuffer: Allocate at most 4 internal buffers
+	  4 is the "typical" number of buffers defined by Android's OpenSL ES
+	  implementation, and its code is optimized for this. Also because we
+	  have our own ringbuffer around this, we will always have enough
+	  buffering on our side already.
+	  Allows for more efficient processing.
+
+2015-02-05 12:21:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/opensles/openslessink.c:
+	* sys/opensles/openslessrc.c:
+	  openslessink/src: Lower default buffer time to 200ms like alsasink
+
+2015-02-05 16:46:32 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: ensure that the input upload/colorconvert are always available
+
+2015-02-05 11:06:10 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: log the converted caps
+
+2015-02-05 11:05:02 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: restrict EGL and UploadMeta to RGBA
+	  other formats are highly untested.
+
+2015-02-05 11:04:05 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: don't intersect with the input caps
+	  that limits our formats to whatever is in the input caps
+
+2015-02-04 14:10:13 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: fix memory leak
+	  In gst_gl_filter_fixate_caps () it can goto done without freeing the memory of
+	  the tmp GstStructure. This makes it go out of scope and leak.
+	  CID #1265765
+
+2015-02-04 11:52:26 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/opencv/MotionCells.cpp:
+	  motioncells: initialize class variables
+	  Some variables are not initialized in the constructor. It is highly unlikely
+	  they are used before being set, but it is safer to initialize them.
+	  CID #1197704
+
+2015-02-03 18:13:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* sys/winks/kshelpers.c:
+	  ksvideosrc: Fix missing brace warning
+	  There is more but it's from ks.h GUID initializer, which is shipped
+	  this way with mingw.
+
+2015-02-03 17:44:34 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* sys/winks/gstksvideodevice.c:
+	* sys/winks/gstksvideodevice.h:
+	* sys/winks/gstksvideosrc.c:
+	  ksvideosrc: Fix buffer handling
+	  The pseudo buffer pool code was using gst_buffer_is_writable()
+	  alone to try and figure-out if cached buffer could be reused.
+	  It needs to check for memory writability too. Also check map
+	  result and fix map flags.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734264
+
+2015-02-03 17:05:06 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: avoid leaking force keyunit event when going to NULL
+	  Do not set to NULL before unreffing the event or it will leak
+
+2013-03-18 08:15:00 +0000  Anton Gritsay <anton@angri.ru>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: parse force key unit events with the correct function
+	  Otherwise it won't be parsed and bogus values would be used.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=696032
+
+2015-01-26 20:42:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	* gst/mpegtsdemux/tsdemux.h:
+	  tsdemux: remove update segment logic
+	  This is not needed in 1.x series anymore
+
+2015-02-03 10:59:16 -0300  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: don't mark streams as needing a new segment on flush
+	  The flush is called on discont and we shouldn't output a new segment
+	  each time a discont happens. So this commit remove the mark for a new
+	  segment when flushing streams by propagating the 'hard' flag passed
+	  on the flusing from the base class.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743363
+
+2015-02-03 17:32:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/corevideotexturecache.m:
+	  corevideotexturecache: Add some assertions instead of just dereferencing NULL
+
+2015-02-03 17:29:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/corevideotexturecache.m:
+	  corevideotexturecache: Don't unconditionally use the CoreMedia meta on iOS
+	  We might instead have a CoreVideo meta.
+
+2015-02-03 14:55:32 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* common:
+	  Undo accidental common module rewind
+	  in commit 7d463576
+
+2015-02-03 15:38:40 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Don't dereference NULL frames when draining/flushing
+
+2015-02-03 15:30:08 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: remove the egl caps from the src pads
+	  we don't actually support producing EGLImage buffers anywhere.
+
+2015-02-03 13:32:47 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: put GstGLSyncMeta on output buffers
+	  allows thread safely using the provided output buffer in a separate
+	  thread
+
+2015-02-03 00:35:26 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: only try the glmemory upload for sysmem/glmemory caps features
+	  Allows selecting/testing the upload path with explicit caps features.
+
+2015-02-03 00:26:20 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: add missing initilisation of tex_target when copying
+	  fixes:
+	  glcolorscale ! video/x-raw\(meta:GstVideoGLTextureUploadMeta\) !
+	  glimagesink
+
+2015-02-03 00:15:30 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: allow NULL buffer for accept vfunc
+
+2015-02-03 00:13:07 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: remove unsed convert field in private struct
+
+2015-02-03 00:11:06 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcolorconvert.h:
+	* gst-libs/gst/gl/gstgldownload.c:
+	* gst-libs/gst/gl/gstgldownload.h:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstglupload.h:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  glupload/download/convert: provide transform_caps functions
+	  Allows finer grain decisions about formats and features at each
+	  stage of the pipeline.
+	  Also provide propose_allocation for glupload besed on the supported
+	  methods.
+
+2015-02-03 11:07:58 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* common:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gstglwindow_cocoa: fix slow render rate
+	  In gst_gl_window_cocoa_draw we used to just call setNeedsDisplay:YES. That was
+	  creating an implicit CA transaction which was getting committed at the next
+	  runloop iteration. Since we don't know how often the main runloop is running,
+	  and when we run it implicitly (from gst_gl_window_cocoa_nsapp_iteration) we only
+	  do so every 200ms, use an explicit CA transaction instead and commit it
+	  immediately. CA transactions nest and debounce automatically so this will never
+	  result in extra work.
+
+2015-02-02 23:40:16 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
+	  gstglcaopengllayer: use the correct rectangle type for iOS and OS X
+
+2015-02-02 21:07:48 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.h:
+	  glcolorconvert: use the correct caps feature for supported caps
+	  glcolorconvert currently only supports converting between GLMemory
+	  targets.
+
+2015-02-02 20:51:31 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsyncmeta: don't use the gst debug object variants
+	  We are not a GObject or any inferable GstMiniObject supported by
+	  the gst debug system.  Also fixes a segfault.
+
+2015-01-30 18:51:17 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/libs/gstglmemory.c:
+	  gl: update unit test for glmemory api change
+
+2015-01-30 15:13:27 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: clobber the alpha channel by default
+	  this can be disabled with the ignore-alpha property
+
+2015-01-30 12:32:17 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  Revert "libgstgl: gstglcaopengllayer: set the layer as opaque"
+	  This reverts commit 6f152d381ca21595cdc823f32341c8f2fe71b9c7.
+	  The layer shouldn't be always opaque, it should be made a property.
+
+2015-01-30 12:22:25 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  libgstgl: gstglcaopengllayer: set the layer as opaque
+
+2015-01-29 16:30:34 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: Add FIXME comment about possibility of non-Apple YCbCr422 rectangular textures
+
+2015-01-29 16:26:26 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: Only use GL_TEXTURE_RECTANGLE with OpenGL
+	  It's not defined for GLES.
+
+2015-01-30 00:28:18 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	* sys/applemedia/corevideotexturecache.h:
+	* sys/applemedia/corevideotexturecache.m:
+	* sys/applemedia/vtdec.c:
+	  applemedia: rework GL texture sharing
+	  Use YUV instead of RGB textures, then convert using the new apple specific
+	  shader in GstGLColorConvert. Also use GLMemory directly instead of using the
+	  GL upload meta, avoiding an extra texture copy we used to have before.
+
+2015-01-28 00:53:59 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtdec.c:
+	  applemedia: vtdec: fix CMBlockBufferRef leak
+	  Fix huge leak that went unnoticed for too long. Oops.
+
+2015-01-28 00:48:27 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  libgstgl: run a custom shader to convert YUV to RGB on mac and ios
+	  When GL_APPLE_ycbcr_422 is available, run a custom shader to convert
+	  GL_TEXTURE_RECTANGLE textures from YUV to RGB.
+	  See https://www.opengl.org/registry/specs/APPLE/ycbcr_422.txt
+
+2015-01-28 00:43:09 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/avfassetsrc.m:
+	* sys/applemedia/avfvideosrc.m:
+	* sys/applemedia/coremediabuffer.c:
+	* sys/applemedia/coremediabuffer.h:
+	* sys/applemedia/vtenc.c:
+	  applemedia: don't call CVPixelBufferLockBaseAddress when doing texture sharing
+	  When doing texture sharing we don't need to call CVPixelBufferLockBaseAddress to
+	  map the buffer in CPU. This cuts about 10% relative cpu time from a vtdec !
+	  glimagesink pipeline.
+
+2015-01-28 00:13:46 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstgldownload.c:
+	* gst-libs/gst/gl/gstgldownload.h:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	* gst-libs/gst/gl/gstgluploadmeta.c:
+	  gl: initial support for texture targets other than GL_TEXTURE_2D
+	  Make GstGLMemory hold the texture target (tex_target) the texture it represents
+	  (tex_id) is bound to. Modify gst_gl_memory_wrapped_texture and
+	  gst_gl_download_perform_with_data to take the texture target as an argument.
+	  This change is needed to support wrapping textures created outside libgstgl,
+	  which might be bound to a target other than GL_TEXTURE_2D. For example on OSX
+	  textures coming from VideoToolbox have target GL_TEXTURE_RECTANGLE.
+	  With this change we still keep (and sometimes imply) GL_TEXTURE_2D as the
+	  target of textures created with libgstgl.
+	  API: modify GstGLMemory
+	  API: modify gst_gl_memory_wrapped_texture
+	  API: gst_gl_download_perform_with_data
+
+2015-01-22 13:18:23 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  gstglcolorconvert: micro optimization
+	  Don't call glClear && glClearColor at each draw since we're going to draw the
+	  whole viewport anyway. Gets rid of a glFlush triggered by glClear on OSX.
+
+2015-01-22 13:17:11 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/corevideobuffer.c:
+	* sys/applemedia/corevideobuffer.h:
+	* sys/applemedia/qtkitvideosrc.m:
+	* sys/applemedia/vtdec.c:
+	* sys/applemedia/vtenc.c:
+	  applemedia: corevideobuffer: make mapping the CVPixelBuffer in CPU optional
+	  Mapping is not necessary and impacts performance when doing texture sharing with
+	  downstream
+
+2015-01-22 13:11:46 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  gstglcolorconvert: relax caps features check
+	  Require caps to have the GST_CAPS_FEATURE_MEMORY_GL_MEMORY feature but allow
+	  them to have more features.
+
+2015-01-28 16:43:59 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstopusenc.c:
+	* ext/opus/gstopusenc.h:
+	  opusenc: change audio property to audio-type
+	  This is now an enum with values generic (default) and voice.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740891
+
+2015-01-29 23:45:15 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	  gl/win32: fixup compilation
+
+2015-01-29 11:54:35 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstwavescope.c:
+	  audiovisualizer: remove double-setting of render function
+	  No need to set the audiovisualizer->render function twice. Once is enough.
+
+2015-01-29 22:25:00 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  glwindow: make showing a window explicit
+	  Also fixes the cgl context always displaying a window to render to for
+	  every GstGLContextCocoa created
+
+2015-01-26 17:06:29 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Cleanup locking around AggregatorPad flush related fields
+	  And document the locking
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-26 13:11:05 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: keep chain functions as dumb as possible.
+	  + A pad chain function has no business checking other pads,
+	  that's what the aggregate thread is for.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-26 11:32:47 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  aggregator: More fixes around locking when accessing protected private fields
+	  In some more places we were accessing GstAggregator->segment
+	  and GstAggregator->seqnum without holding the GST_OBJECT_LOCK
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-26 11:29:08 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst/audiomixer/gstaudiomixer.c:
+	  aggregator: Make the PAD_LOCK private
+	  Instead of using the GST_OBJECT_LOCK we should have
+	  a dedicated mutex for the pad as it is also associated
+	  with the mutex on the EVENT_MUTEX on which we wait
+	  in the _chain function of the pad.
+	  The GstAggregatorPad.segment is still protected with the
+	  GST_OBJECT_LOCK.
+	  Remove the gst_aggregator_pad_peak_unlocked method as it does not make
+	  sense anymore with a private lock.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-26 11:25:54 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst/audiomixer/gstaudiomixer.c:
+	* tests/check/libs/aggregator.c:
+	  aggregator: Hide GstAggregatorPad buffer and EOS fileds
+	  And add a getter for the EOS.
+	  The user should always use the various getters to access
+	  those fields
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 19:09:13 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* tests/check/elements/audiomixer.c:
+	  audiomixer: Make flush start/stop test non-racy
+	  The flush stop could have happened between the source trying
+	  to push the segment event and the buffer, this would cause a warning.
+	  Prevent that by taking the source's stream lock while flushing.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-22 17:41:24 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* tests/check/elements/audiomixer.c:
+	  audiomixer: Replace racy timeout based tested with drain query
+	  Using the drain query, we can be certain that the buffer has done going
+	  through the aggregator by taking the stream locks.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 18:41:43 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Document locking of GstAggregatorPrivate members
+	  Most of them are protected by the object lock, specify
+	  which ones use a different lock.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 18:47:09 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: Document how the segment is protected
+	  Document that it can only be accessed with the object lock.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 19:44:57 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Protect all latency related members with the object lock
+	  The locking was not consistent, now consistently use the object lock.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 19:43:12 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  aggregator: Document locking for gst_aggregator_get_latency_unlocked()
+	  Renamed it to _unlocked() to make it clear.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 19:35:25 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Protect the srcpad caps negotiation with the stream lock
+	  Instead of adding another lock, use the srcpad stream lock, which is already
+	  taken anyway to push out the new caps if needed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 19:33:18 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Protect the tags with the object lock
+	  The tags related variables were sometimes protected, sometimes not and
+	  sometimes atomic. Put them all under the object lock.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 19:32:34 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* tests/check/elements/audiomixer.c:
+	  audiomixer: Avoid race in caps negotiation
+	  With the current audiomixer, the input caps need to be the same,
+	  otherwise there is an unavoidable race in the caps negotiation. So
+	  enforce that using capsfilters
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 18:53:20 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Consistenly lock the flow_return state
+	  Use the object's lock to protect it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 18:47:40 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Clear GstAudioInfo the the caps
+	  When clearing the caps, also clear the matching GstAudioInfo
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 18:45:36 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Consistently lock some members
+	  Some members sometimes used atomic access, sometimes where not locked at
+	  all. Instead consistently use a mutex to protect them, also document
+	  that.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 18:39:24 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Don't reset caps on flush
+	  A flush event doesn't invalidate the previous caps event.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-14 14:45:06 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Lock access to members of GstAggregatorPad
+	  Take the pad's object lock before accessing members of the
+	  GstAggregatorPad structure.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-14 14:38:09 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: Protect exported pad members with the pad's object lock
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-14 14:35:15 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst/audiomixer/gstaudiomixer.c:
+	  aggregator: Replace event lock with pad's object lock
+	  Reduce the number of locks simplify code, what is protects
+	  is exposed, but the lock was not.
+	  Also means adding an _unlocked version of gst_aggregator_pad_steal_buffer().
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-09 22:01:00 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Protect data with the same mutex as GCond
+	  Whenever a GCond is used, the safest paradigm is to protect
+	  the variable which change is signalled by the GCond with the same
+	  mutex that the GCond depends on.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-29 02:28:38 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: If getting a timeout before having caps, just advance our position
+	  This can happen if this is a live pipeline and no source produced any buffer
+	  and sent no caps until an output buffer should've been produced according to the
+	  latency.
+	  This fix is similar in spirit to commit be7034d1 by Sebastian for audiomixer.
+
+2015-01-29 17:31:09 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/calayer: add resize callback based on the bounds rectangle
+
+2015-01-29 15:26:21 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  gl/caopengllayer: draw asynchronously
+	  This essentially makes the CAOpenGLLayer draw every refresh cycle.
+
+2015-01-28 17:59:42 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: don't segfault if we have a NULL draw/resize/close callback
+
+2015-01-28 17:16:14 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  cgl/calayer: use a callback instead of hardcoding the draw functionality
+
+2015-01-28 17:13:05 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/Makefile.am:
+	  cgl: install the gl context and gl layer headers
+
+2015-01-28 17:05:14 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  cgl: add a header for the CAOpenGLLayer support
+
+2015-01-28 17:02:59 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Always lock the mutex before starting the streams
+
+2015-01-28 16:58:27 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Fix deadlock
+
+2015-01-28 15:48:26 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink{audio,video}sink: Only start scheduled playback once both sources are ready and we are in PLAYING
+	  Otherwise we might start the scheduled playback before the audio or video streams are
+	  actually enabled, and then error out later because they are enabled to late.
+	  We enable the streams when getting the caps, which might be *after* we were
+	  set to PLAYING state.
+
+2015-01-28 15:26:17 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink{audio,video}src: Only start the streams once both sources are ready and we are in PLAYING
+	  Otherwise we might start the streams before the audio or video streams are
+	  actually enabled, and then error out later because they are enabled to late.
+	  We enable the streams when getting the caps, which might be *after* we were
+	  set to PLAYING state.
+
+2015-01-28 14:21:40 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink: Make sure our clock never returns NONE, always advances and does not jump when going from PAUSED to PLAYING
+	  It basically behaves the same as the audio clocks.
+
+2015-01-28 12:20:05 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Handle the clock returning GST_CLOCK_TIME_NONE properly
+
+2015-01-28 11:41:17 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideo{sink,src}: Make elements more similar to the audio elements by enabling the video input/output only when getting the actual caps
+	  This will also make it easier later to support caps changes and support
+	  selecting the mode based on the caps if that should ever be implemented.
+
+2015-01-26 19:02:04 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Properly report caps if mode!=auto and handle caps changes properly for mode=auto
+
+2015-01-26 18:27:10 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklinkaudiosrc: Don't release input device twice on errors in set_caps()
+
+2015-01-27 11:25:53 +0100  Philippe Normand <philn@igalia.com>
+
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+	  gl/dispmanx: fix build
+	  Commit ab48bb6f0f55091662e595a001e178154ce60cdb changed the API of
+	  GstGLWindow.
+
+2015-01-27 14:52:47 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: more compatibility defines for gles2 systems
+
+2015-01-27 12:15:43 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	  glmemory: add some thread safety for gl operations
+
+2015-01-27 11:53:51 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstgldownload.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	  glmemory: use pbo's for download
+	  In order to use pbo's efficiently, the transfer operation has to
+	  be separated from the use of the downloaded data which requires some
+	  rearchitecturing around glcolorconvert/gldownload and elements
+
+2015-01-27 11:04:07 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/glprototypes/base.h:
+	  glprototypes: add some (un)map buffer variants for GL/GLES
+
+2015-01-26 17:51:22 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: use audio_%02u and video_%02u names for pads
+	  Instead of using the default ghostpad%u naming. The audio_/video_
+	  names are more common in demuxers
+
+2015-01-26 15:33:23 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklinkaudiosrc: Release the audio input on errors, not the video input
+
+2015-01-26 13:46:44 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/aiff/aiffparse.c:
+	  aiffparse: remove unnecessary variable
+	  The bps variable is declared with value aiff->bps, read once and never written.
+	  aiff->bps can be used directly instead.
+
+2015-01-26 12:49:45 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/aiff/aiffparse.c:
+	  aiffparse: fix which stop variable is used in assignment
+	  Assignment is done to variable segment.stop when the intention was to assign to
+	  local variable stop. Instead of overwriting it, the value is now clamped and
+	  segment.stop is set to it soon after.
+	  CID #1265772
+
+2015-01-26 09:22:23 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: fix crash when receiving buffer without timestamps
+	  Unset out buffer in clip function when we unref the buffer to be
+	  clipped, otherwise aggregator will continue to use the already-
+	  freed buffer. Fixes crash when buffers without timestamps are
+	  being fed to aggregator. Partly because aggregator ignores the
+	  error flow return.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743334
+
+2015-01-18 18:05:31 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* docs/plugins/Makefile.am:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* sys/Makefile.am:
+	* sys/directdraw/Makefile.am:
+	* sys/directdraw/gstdirectdrawplugin.c:
+	* sys/directdraw/gstdirectdrawsink.c:
+	* sys/directdraw/gstdirectdrawsink.h:
+	* win32/MANIFEST:
+	* win32/vs6/libgstdirectdraw.dsp:
+	* win32/vs8/libgstdirectdraw.vcproj:
+	  Remove unported directdraw plugin
+	  This API has been deprecated for eternities and microsoft
+	  stopped shipping the headers in 2010 accoding to wikipedia,
+	  so let's just remove it and focus on bringing the plugins
+	  based on the newer APIs up to snuff.
+
+2014-03-26 17:43:33 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* gst/aiff/aiffmux.c:
+	  aiffmux: write padding byte at end of SSND chunk if needed
+	  AIFF chunks are supposed to be even aligned.
+	  Aligning the SSND chunk will allow the aiff muxer to properly write
+	  chunks (like the ID3 one) at the end of the file.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=727402
+
+2015-01-23 12:44:22 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* ext/wayland/gstwaylandsink.c:
+	  waylandsink: Free leaked GstStructure
+	  Coverity CID : 1256565
+
+2015-01-23 12:41:29 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* ext/gl/gstgltestsrc.c:
+	  gltestsrc: Ensure variable is initialized before usage
+	  Coverity CID: 1256569
+
+2015-01-23 12:26:16 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/codecparsers/dboolhuff.c:
+	  codecparsers: Indent file
+	  Someone's been commiting without using gst-indent :)
+
+2015-01-23 12:24:52 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	* gst-libs/gst/codecparsers/nalutils.h:
+	  codecparsers: Add READ_UE_MAX macro
+	  READ_UE_ALLOWED was almost exclusively used with min == 0, which doesn't
+	  make much point for unsigned integers.
+	  Add a READ_UE_MAX variant and use that instead. Also replaced two usages
+	  of CHECK_ALLOWED (a,0,something) by CHECK_ALLOWED_MAX (a, something)
+
+2015-01-23 12:28:42 +0530  Arun Raghavan <arun@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Fix GAP flag setting on non-black frames
+	  The previous commit fixed setting the GAP flag on black frames, but
+	  incorrectly dropped the flag on repeated pushes of the same video
+	  buffer.
+
+2015-01-23 17:27:42 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/libs/gstglcontext.c:
+	* tests/check/libs/gstglupload.c:
+	  gl/tests: update glwindow api change
+
+2015-01-23 16:52:25 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	  gl/window/eagl: fix a couple of typos
+
+2015-01-23 16:39:44 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglwindow.h:
+	  glwindow: cleanup/reorganize functions/members into logical groups
+
+2015-01-23 15:02:55 +1100  Matthew Waters <matthew@centricular.com>
+
+	* sys/applemedia/corevideotexturecache.m:
+	  applemedia: update for gstgl cocoa -> cgl change
+
+2015-01-23 14:18:12 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/qt/qglwtextureshare/cocoa_utils.mm:
+	  gl/qt/examples: update for NSOpenGL -> CGL change
+
+2015-01-23 14:11:48 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  glwindow: remove width/height from _draw()
+	  Depending on the platform, it was only ever implemented to 1) set a
+	  default surface size, 2) resize based on the video frame or 3) nothing.
+	  Instead, provide a set_preferred_size () that elements/applications
+	  can use to request a certain size which may be ignored for
+	  videooverlay/other cases.
+
+2015-01-22 21:43:51 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  glcontext/cocoa: avoid destroying a possibly 0 GSource id
+
+2015-01-20 22:01:39 +1100  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* gst-libs/gst/gl/cocoa/Makefile.am:
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: move to CGL and CAOpenGLLayer for rendering
+	  Removes the use of NSOpenGL* variety and functions.  Any Cocoa
+	  specific functions that took/returned a NSOpenGL* object now
+	  take/return the CGL equivalents.
+
+2015-01-22 16:08:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  glcontext/cocoa: add debug category
+
+2015-01-22 10:50:23 +0530  Arun Raghavan <arun@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Fix GAP flag setting on black frames correctly
+	  This did not actually work since the video_buffer was set to NULL after
+	  the first black frame.
+	  Reported by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
+
+2015-01-21 23:37:10 +0530  Arun Raghavan <arun@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Fix max value of the timeout property
+	  Reported by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
+
+2015-01-21 23:35:55 +0530  Arun Raghavan <arun@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264: Implement the preset interface
+	  Will be useful when we want to set presets on the encoder via encodebin
+	  or such.
+
+2015-01-21 15:31:21 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  audiovisualizer: sync with base class in -base
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742875
+
+2015-01-21 15:06:21 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  audiovisualizer: ensure default query/event handlers are used
+	  Sync audiovisualizer class implementation to the one in gst-plugins-base. This
+	  commit matches 9dd0e6cccc971d8a6bcca4e9e4d2ee1dbb20fffa in that module.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742875
+
+2015-01-21 10:18:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/siren/decoder.c:
+	* gst/siren/encoder.c:
+	  siren: Make some local variables non-static for thread-safety
+	  Otherwise we will override values from another thread if we encode
+	  or decode frames at the same time in different threads.
+
+2015-01-21 10:17:04 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/apexsink/gstapexsink.c:
+	* ext/audiofile/gstafsink.c:
+	* ext/audiofile/gstafsrc.c:
+	* ext/bs2b/gstbs2b.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/faac/gstfaac.c:
+	* ext/gl/gstglfilterreflectedscreen.c:
+	* ext/openh264/gstopenh264enc.cpp:
+	* ext/voamrwbenc/gstvoamrwbenc.c:
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	* gst-libs/gst/codecparsers/gstvc1parser.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst/adpcmenc/adpcmenc.c:
+	* gst/freeverb/gstfreeverb.c:
+	* gst/librfb/d3des.c:
+	* gst/mpeg1sys/buffer.c:
+	* gst/mpegpsmux/crc.h:
+	* gst/patchdetect/gstpatchdetect.c:
+	* gst/tta/filters.h:
+	* gst/vbidec/gstvbidec.c:
+	* gst/vbidec/vbidata.c:
+	* sys/dvb/camapplication.c:
+	* sys/dvb/camtransport.c:
+	* sys/dvb/dvbbasebin.c:
+	* sys/dvb/gstdvbsrc.c:
+	* sys/dxr3/dxr3videosink.c:
+	* sys/linsys/gstlinsyssdisink.c:
+	* sys/qcam/gstqcamsrc.c:
+	  Constify some static arrays everywhere
+
+2015-01-21 08:49:23 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* po/POTFILES.in:
+	  po: Fix list of files tracked
+	  sfsink/sfsrc haven't been ported (and therefore dist'ed) in 1.x
+
+2014-12-09 09:58:03 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: minor debug update
+	  Only show PTS/DTS when they are valid, and include the stream id
+
+2015-01-20 14:55:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: do not skip the first fragment
+	  Avoid advancing fragment right after downloading the header. If it
+	  is the header, by default, don't advance to the next fragment.
+
+2015-01-20 16:57:15 +0100  Piotr Drąg <piotrdrag@gmail.com>
+
+	* po/POTFILES.in:
+	  po: update POTFILES
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743251
+
+2015-01-16 19:32:15 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: expose stereo-high profile
+	  Exposing stereo-high profile as a compatible profile of multiview-high
+	  if the maximum number of encoded views in the stream is two.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743174
+
+2015-01-19 17:31:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: parse SPS subset
+	  This patch calls gst_h264_parser_parse_subset_sps() when a
+	  SPS subset NAL type is found.
+	  All the bits required for parsing the SPS subset in NALs were
+	  already there, just we need to call them when the this NAL type
+	  is found.
+	  With this parsing, the number of views (minus 1) attribute is
+	  filled, which was a requirement for negotiating the stereo-high
+	  profile.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743174
+
+2013-03-19 14:23:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: add initial support for MVC NAL units.
+	  Initial support for MVC NAL units. It is only needed to propagate the
+	  complete set of NAL units downstream at this time.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=696135
+	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2015-01-20 09:23:02 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: add explicit cast to make clang happy
+	  Fixes compilation
+
+2015-01-15 17:44:45 -0300  Thiago Santos <thiagoss@osg.samsung.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: refactor chunk downloading flow
+	  Add more power to the chunk_received function (renamed to data_received)
+	  and also to the fragment_finish function.
+	  The data_received function must parse/decrypt the data if necessary and
+	  also push it using the new push_buffer function that is exposed now. The
+	  default implementation gets data from the stream adapter (all available)
+	  and pushes it.
+	  The fragment_finish function must also advance the fragment. The default
+	  implementation only advances the fragment.
+	  This allows the subsegment handling in dashdemux to continuously download
+	  the same file from the server instead of stopping at every subsegment
+	  boundary and starting a new request
+
+2015-01-19 12:37:23 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/compositor/blend.c:
+	  compositor: fix illegal memory access in blend function with negative ypos
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741115
+
+2015-01-19 08:37:59 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: add log message about segment time information
+	  For debugging purposes
+
+2015-01-19 08:36:42 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix multi-period playback
+	  If we say it is the first segment after a new period it will resync
+	  the segment.start value and all buffers will be late for the new period
+	  we are trying to play. Otherwise we want to keep the segment.start with
+	  the previous value to allow the running time to smoothly increase
+
+2015-01-19 11:23:52 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Fix compiler warning with clang
+	  gstdashdemux.c:1330:13: error: implicit conversion from enumeration type 'enum _GstAdaptiveDemuxFlowReturn' to different enumeration type
+	  'GstFlowReturn' [-Werror,-Wenum-conversion]
+	  ret = GST_ADAPTIVE_DEMUX_FLOW_SUBSEGMENT_END;
+	  ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+2015-01-18 21:05:44 +0100  Nicola Murino <nicola.murino@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: fix memleak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743142
+
+2015-01-18 17:25:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* gst/real/Makefile.am:
+	* gst/real/gstreal.c:
+	* gst/real/gstreal.h:
+	* gst/real/gstrealaudiodec.c:
+	* gst/real/gstrealaudiodec.h:
+	* gst/real/gstrealvideodec.c:
+	* gst/real/gstrealvideodec.h:
+	  Remove real plugin which is no longer needed and has never been ported
+	  Decoders for these formats exist in gst-libav, if anyone
+	  still has a need for them.
+
+2015-01-18 17:10:37 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* docs/plugins/Makefile.am:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* ext/Makefile.am:
+	* ext/mythtv/Makefile.am:
+	* ext/mythtv/gstmythtvsrc.c:
+	* ext/mythtv/gstmythtvsrc.h:
+	* gst-plugins-bad.spec.in:
+	  Remove libgmyth-based MythTV source element which was never ported
+	  gmyth seems to be unmaintained upstream, and no one has asked
+	  for this to be ported for a very long time, so let's just
+	  remove it. Neither debian nor Fedora seem to ship libgmyth
+	  any longer, and in any case it's most likely deprecated by
+	  the UPnP support in MythTV.
+
+2015-01-17 10:06:40 +1100  Lasse Laursen <lasse@lasselaursen.com>
+
+	* gst-libs/gst/gl/gstglapi.h:
+	  glapi: fix compilation with latest MSVC
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743041
+
+2015-01-15 12:57:59 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: use the correct size for the pbo
+	  It was missing the GstVideoAlignment padding which could cause GL
+	  errors related to overrunning the size of the pbo.
+
+2015-01-16 16:18:35 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: prevent early EOS when switching at last fragment
+	  Check if there is a next fragment before advancing to avoid causing
+	  a bitrate switch (and maybe exposing new pads) only to push EOS.
+	  This causes playback to stop with an error instead of properly
+	  finishing with EOS message.
+
+2015-01-13 14:22:02 +0000  David Waring <david.waring@rd.bbc.co.uk>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: Fix detection for the end of segment.
+	  The segment start time is calculated as the offset into the current segment.
+	  The old condition to detect the end of period (i.e. segment start time >
+	  period start + period duration) failed when the period start was not 0 since
+	  the segment start time does not take the period start time into account.
+	  Fix this detection by only comparing the segment start to the period duration.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733369
+
+2015-01-14 23:11:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: remove unused segment attribute
+	  It was never used, only initialized
+
+2015-01-12 17:40:47 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: implement ISOBMFF profile handling
+	  The ISOBMFF profile allows definind subsegments in a segment. At those
+	  subsegment boundaries the client can switch from one representation to
+	  another as they have aligned indexes.
+	  To handle those the 'sidx' index is parsed from the stream and the
+	  entries point to pts/offset of the samples in the stream. Knowing that
+	  the entries are aligned in the different representation allows the client
+	  to switch mid fragment. In this profile a single fragment is used per
+	  representation and the subsegments are contained in this fragment.
+	  To notify the superclass about the subsegment boundary the chunk_received
+	  function returns a special flow return that indicates that. In this case,
+	  the super class will check if a more suitable bitrate is available and will
+	  change to the same subsegment in this new representation.
+	  It also requires special handling of the position in the stream as the
+	  fragment advancing is now done by incrementing the index of the subsegment.
+	  It will only advance to the next fragment once all subsegments have been
+	  downloaded.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741248
+
+2015-01-12 11:57:02 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/Makefile.am:
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	* ext/dash/gstisoff.c:
+	* ext/dash/gstisoff.h:
+	  dashdemux: parse the sidx index from isobmff streams
+	  Allows dashdemux to identify the subsegments in the stream and
+	  switch bitrates when needed
+
+2015-01-09 16:43:03 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: check for profiles
+	  Check for available profiles to enable certain features for
+	  dash playback. For now we check for the ISOFF On Demand 2011 profile.
+
+2015-01-13 10:16:22 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: add a special return to signal subsegment boundary
+	  The subsegment boundary return tells the adaptivedemux that it can
+	  try to switch to another representation as the stream is at a suitable
+	  position for starting from another bitrate.
+
+2015-01-13 10:15:21 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Actually use the byte range for the fragment url
+	  Otherwise we would always download the full fragment. This would
+	  make handling subsegments in DASH impossible.
+
+2015-01-13 10:13:47 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: allow downloads of headers only
+	  In order to get some subsegment information, subclasses might want
+	  to download only the headers to have enough data (the index)
+	  to decide where to start downloading from the subsegment.
+
+2015-01-12 18:22:14 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: refactor common code to function
+	  Reuse the same function when finishing downloading and signaling to
+	  the download loop thread to get the next fragment or abort
+
+2015-01-09 17:19:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: inform subclass when headers/index are being downloaded
+	  This allows the subclasses to know if the chunks that are downloaded are
+	  part of the header or of the index and will parse the parts that are
+	  of their interest.
+
+2015-01-15 16:11:24 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst-libs/gst/uridownloader/gsturidownloader.c:
+	  uridownloader: a few leak fixes
+
+2015-01-15 13:16:07 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst-libs/gst/uridownloader/gstfragment.c:
+	  fragment: fix caps and buffer leaks in get_property
+
+2015-01-14 17:43:51 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: remove unused fragments_cache field
+
+2015-01-14 16:42:25 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: a few leak fixes
+
+2015-01-12 21:22:06 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/bs2b/gstbs2b.c:
+	  bs2b: implement the preset interface
+	  Instead of a preset property implement the preset interface in a read-only
+	  fashion.
+
+2015-01-12 12:11:01 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* docs/plugins/gst-plugins-bad-plugins.hierarchy:
+	* docs/plugins/gst-plugins-bad-plugins.interfaces:
+	* docs/plugins/inspect/plugin-bs2b.xml:
+	  docs: add new bs2b plugin and element
+
+2015-01-10 21:41:12 +0100  Christoph Reiter <reiter.christoph@gmail.com>
+
+	* configure.ac:
+	* ext/Makefile.am:
+	* ext/bs2b/Makefile.am:
+	* ext/bs2b/gstbs2b.c:
+	* ext/bs2b/gstbs2b.h:
+	  bs2b: add new plugin (Effect/Audio, crossfeed)
+	  https://bugzilla.gnome.org/show_bug.cgi?id=611689
+
+2015-01-15 13:13:51 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	  interaudiosink: Make sure that buffer time is always bigger than period time
+
+2015-01-15 12:49:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Also consider max-lateness property value before dropping late frames
+
+2015-01-15 14:09:43 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/corevideotexturecache.m:
+	* sys/applemedia/vtdec.c:
+	* sys/applemedia/vtdec.h:
+	  vtdec: implement the GL texture upload meta
+
+2015-01-09 00:16:17 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/Makefile.am:
+	* sys/applemedia/avfvideosrc.m:
+	* sys/applemedia/coremediabuffer.c:
+	* sys/applemedia/corevideotexturecache.h:
+	* sys/applemedia/corevideotexturecache.m:
+	  avfvideosrc: implement the GL texture upload meta
+
+2015-01-15 09:47:45 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixerpad.h:
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: don't upload if alpha <= 0
+	  Implemented using a upload_buffer vfunc within GstGLMixer allowing
+	  NULL uploaded buffers.
+
+2015-01-15 09:45:21 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: remove spurious gst_video_info_align
+	  That will be taken care of by the calling code (typically a bufferpool).
+	  The GstVideoAlignment is purely informational to compute plane data sizes.
+
+2015-01-14 23:48:16 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Document the zorder pad property from gstvideoaggregator
+
+2015-01-14 23:47:19 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Nitpick spacing/punctuation in debug logging
+
+2015-01-14 16:33:53 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Stop scheduled playback shortly in PAUSED->PLAYING if it was running already
+	  This fixes handling of flushing seeks, where we will get a PAUSED->PLAYING
+	  state transition after the previous one without actually going to PAUSED
+	  first.
+
+2015-01-14 16:01:07 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.h:
+	  decklinkvideosink: Don't schedule too late frames in prepare()
+	  Otherwise we will overflow the internal buffer of the hardware
+	  with useless frames and run into an error. This is necessary until
+	  this bug in basesink is fixed:
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742916
+
+2015-01-14 15:54:28 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.h:
+	  decklinkvideosink: Keep track of the time when we went to PLAYING for the external clock too
+	  Otherwise we're adding an offset of the time the pipeline was in PLAYING
+	  already to the running time when converting it to our internal clock.
+
+2015-01-14 13:32:51 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Enable QoS and set max-lateness to 20ms
+
+2015-01-12 17:24:52 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	  h264parser: fix stack smashing
+	  Ensure that we do not trust the bitstream when filling a table
+	  with a fixed max size.
+	  Additionally, the code was not quite matching what the spec says:
+	  - a value of 3 broke from the loop before adding an entry
+	  - an unhandled value did not add an entry
+	  The reference algorithm does these things differently (7.3.3.1
+	  in ITU-T Rec. H.264 (05/2003)).
+	  This plays (apparently correctly) the original repro file, with
+	  no stack smashing.
+	  Based on a patch and bug report by André Draszik <git@andred.net>
+
+2015-01-14 22:08:43 +1100  Matthew Waters <matthew@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixerpad.h:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcolorconvert.h:
+	* gst-libs/gst/gl/gstgldownload.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstglupload.h:
+	* tests/check/libs/gstglcolorconvert.c:
+	  gl: split glcolorconvert usage from glupload
+	  the separation allows the transfer operation to occur in a separate
+	  thread/time which may increase performance in specific circumstances.
+
+2015-01-14 12:39:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: offset the data pointer for upload for GstVideoAlignment
+	  otherwise we attempt to read from the padding data
+
+2015-01-14 00:08:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	  glmemory: use pbo's for upload
+
+2015-01-13 23:47:06 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: relax the GLMemory uploader check for input caps features
+	  As there may be a sysmem caps features with GLMemory filled buffers.
+	  e.g.
+	  videotestsrc ! glimagesink
+
+2015-01-13 11:32:03 -0800  Zaheer Abbas Merali <zaheermerali@gmail.com>
+
+	* configure.ac:
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264enc.cpp:
+	  Revert "Revert "openh264: fix to work with released versions and master of upstream""
+	  This reverts commit 329f0ccba1aa604da1bd80293fd1fe717447df5d.
+
+2014-12-17 09:19:52 -0800  Zaheer Abbas Merali <zaheermerali@gmail.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264: remove all trace output to console from encoder
+
+2015-01-13 19:56:24 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	  decklink: Use BT2020 colorspace for UltraHD resolutions
+
+2015-01-13 19:55:37 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklink: Fix indention once again
+
+2015-01-13 16:49:07 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  audiovisualizer: handle the return of the setup function
+	  Make the class future proof by handling the gboolean return of the setup
+	  function. So if/when a child class uses this the base class is ready.
+
+2015-01-13 16:46:10 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  Revert "audiovisualizer: remove unused value"
+	  This reverts commit 25c97570834d6de1c14424e71221d19eb0d33ee3.
+	  It is preferable to handle the retun of the setup function.
+
+2015-01-13 17:44:17 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Get our own "start time" instead of the one of the pipeline
+	  decklinkvideosink might be added later to the pipeline, or its state might
+	  be handled separately from the pipeline. In which case the running time when
+	  we (last) went into PLAYING state will be different from the pipeline's.
+	  However we need our own start time to tell the Decklink API, which running
+	  time should be displayed at the moment we go to PLAYING and start scheduled
+	  rendering.
+
+2015-01-13 17:00:51 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstintersubsink.c:
+	* gst/inter/gstintersubsrc.c:
+	* gst/inter/gstintervideosink.c:
+	  inter: Use a #define for the default value of the channel property
+
+2015-01-13 16:58:50 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	* gst/inter/gstintervideosrc.h:
+	  intervideosrc: Make the timeout configurable after which we start showing a black frame
+
+2015-01-13 15:42:26 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  audiovisualizer: remove unused value
+	  klass->setup (scope) will always return TRUE since all children of this class
+	  do so, no need to store the return. Besides, the value is overwritten a few
+	  lines down before it is used.
+	  Change helps keep files in sync after:
+	  -base commit a91d521a3602f33083405467db9454d422b9da1b
+
+2015-01-13 14:54:26 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Don't do any conversions if the pad is completely transparent anyway
+
+2015-01-12 12:58:27 +0100  Branislav Katreniak <bkatreniak@nuvotechnologies.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstintervideosrc.c:
+	  inter: silence messages for flushed / created samples
+	  These messages are logged periodically and polute the log
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741592
+
+2014-12-25 23:10:19 +0100  Nicola Murino <nicola.murino@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: fix memleak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741943
+
+2014-12-25 22:59:42 +0100  Nicola Murino <nicola.murino@gmail.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: fix some memory leaks
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741943
+
+2014-12-31 17:45:53 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	* tests/check/libs/gstglcontext.c:
+	  glcontext: allow wrapped contexts to be utilised like non-wrapped contexts
+	  Fill in the missing pieces like get_proc_address, the gl function vtable
+
+2015-01-12 21:25:14 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst-libs/gst/video/.gitignore:
+	* gst/compositor/.gitignore:
+	* tests/check/pipelines/.gitignore:
+	  gitignore: ignore more files
+
+2015-01-12 15:33:09 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  visual: use unused value
+	  ret is assigned but not used and in the next cycle of the loop it is overwritten
+	  with default_prepare_output_buffer (). If there is a flow error the function
+	  should return instead.
+	  CID #1226475
+
+2015-01-12 16:10:31 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* common:
+	  Automatic update of common submodule
+	  From f2c6b95 to bc76a8b
+
+2015-01-12 15:57:53 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklink: Initialize refcount of our C++ classes in the constructor
+	  CID 1262288
+	  CID 1262287
+	  CID 1262289
+
+2015-01-12 14:22:47 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstdilate.c:
+	  gaudieffects: stored value is overwritten
+	  Value from left_luminance is assigned to out_luminance here, but that stored
+	  value is not used before it is overwritten in the next cycle of the loop.
+	  Removing assignation.
+	  CID #1226473
+
+2015-01-12 12:50:33 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: fix dead code
+	  found is initialized to FALSE to then only be used in two conditional statements
+	  that will always be false, making the blocks inside them dead code. Looking back
+	  in the file's history the setting of the variable's value before it is checked
+	  was dropped as part of the port to 0.11, bringing that value setting back.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742638
+
+2015-01-11 20:40:34 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: minor optimisation when scanning for SCRs
+	  Bail out early when we're scanning for SCR, no need to
+	  parse stuff we're not going to use nor interested in.
+
+2015-01-11 01:08:08 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/mpg123/gstmpg123audiodec.c:
+	  mpg123: fix compiler warning and simplify checks in set_caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740195
+
+2015-01-03 13:06:45 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* ext/mpg123/gstmpg123audiodec.c:
+	  mpg123: rework set_format code so mpg123audiodec works with decodebin/playbin
+	  The old code was using gst_caps_normalize() and was generally overly
+	  complex. Simplify by picking sample rate and number of channels from
+	  upstream and the sample format from the allowed caps. If the format caps
+	  is a list of strins, just pick the first one. And if the srcpad isn't
+	  linked yet, use the default format (S16).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740195
+
+2015-01-10 15:34:57 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: Disable hack for NSApp iteration with a special #define
+	  The hack causes deadlocks and other interesting problems and it really
+	  can only be fixed properly inside GLib. We will include a patch for
+	  GLib in our builds for now that handles this, and hopefully at some
+	  point GLib will also merge a proper solution.
+	  A proper solution would first require to refactor the polling in
+	  GMainContext to only provide a single fd, e.g. via epoll/kqueue
+	  or a thread like the one added by our patch. Then this single
+	  fd could be retrieved from the GMainContext and directly integrated
+	  into a NSRunLoop.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741450
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704374
+
+2015-01-10 15:40:30 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	  inter: interaudiosrc - fixate layout for default caps
+	  Makes interaudiosrc produce valid audio caps in the absence of any other
+	  guidance by adding to the pad template and fixate function
+
+2015-01-09 21:51:40 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Remove pointless atomic
+	  It is only modified from the streaming thread
+
+2015-01-09 21:30:36 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Fix query leak
+
+2015-01-09 17:56:09 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstwavescope.c:
+	  audiovisualizer: remove check for below zero for unsigned value
+	  CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
+	  number since it is an unsigned integer. Removing that check and only checking if
+	  it is bigger than max and setting it appropriately.
+	  Also converting the previous instance of this into MIN() for consistency.
+	  CID 1139793
+
+2014-12-02 10:10:39 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: expose compatible profiles to downstream
+	  Some video bitstreams report a too restrictive set of profiles. If a video
+	  decoder was to strictly follow the indicated profile, it wouldn't support that
+	  stream, whereas it could in theory and in practice. So we should relax the
+	  profile restriction for allowing the decoder to get connected with parser.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739992
+
+2015-01-09 16:43:39 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Print jitter from clock waiting in the debug logs
+
+2015-01-09 14:42:34 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstwavescope.c:
+	  audiovisualizer: remove check if below zero for unsigned value
+	  CLAMP checks both if y is '< 0' and '> h1'. y will never be a negative number
+	  since it is an unsigned integer. Removing that check and only checking if it
+	  bigger than h1 and setting it to that max approprietaly.
+	  CID 1139792
+
+2015-01-08 16:24:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	  hlsdemux: cache current file position in the list
+	  Avoids iterating the list everytime to look for the next segment
+	  to be used (or to advance to the next one).
+
+2015-01-08 15:46:49 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: simplify next segment checking functions
+	  Optimize loop by moving condition outside of it and reuse the
+	  find_next_fragment function to check if there is next instead of
+	  replicating the same loop
+
+2015-01-08 13:03:11 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	  hlsdemux: cache total duration to avoid iterating at every query
+	  Duration queries can be done a few times per second and would cause
+	  the segment list to be traversed for every one. Caching the duration
+	  prevents that.
+
+2015-01-08 18:15:27 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Post LATENCY message when the mode changes
+	  Different modes have different framerates, and thus different latencies. We
+	  might need to reconfigure the latency of the pipeline.
+
+2015-01-08 18:14:38 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Fix compiler warning
+
+2015-01-08 16:42:31 +0100  Florian Langlois <florian.langlois@fr.thalesgroup.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.h:
+	  decklinkvideosrc: Add automatic mode detection
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739284
+
+2015-01-08 15:54:18 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: g_return_if_fail in function with return type
+	  Need to use g_return_val_if_fail() when the function returns a type, in this
+	  case a gboolean
+
+2015-01-08 15:36:04 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/rtp/gstrtph265pay.c:
+	  rtp: value truncated too short creates dead code
+	  type is truncated to 0-31 with "& 0x1f", but right after that it is checks if
+	  the value is equivalent to GST_H265_NAL_VPS, GST_H265_NAL_SPS, and
+	  GST_H265_NAL_PPS (which are 32, 33, and 34 respectively). Obviously, this will
+	  never be True if the value is maximum 31 after the truncation.
+	  The intention of the code was to truncate to 0-63.
+
+2015-01-08 15:27:44 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/rtp/gstrtph265depay.c:
+	  rtp: fix nal unit type check
+	  After further investigation the previous commit is wrong. The code intended to
+	  check if the type is 39 or the ranges 41-44 and 48-55. Just like gsth265parse.c
+	  does. Type 40 would not be complete.
+
+2015-01-08 13:47:09 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/rtp/gstrtph265depay.c:
+	  rtp: fix dead code and check for impossible values
+	  nal_type is the index for a GstH265NalUnitType enum. There are two types of dead
+	  code here:
+	  First, after checking if nal_type is >= 39 there are two OR conditionals that
+	  check if the value is in ranges higher than that number, so if nal_type >= 39
+	  falls in the True branch those other conditions aren't checked and if it falls
+	  in the False branch and they are checked, they will always also be False. They
+	  are redundant.
+	  Second, the enum has a range of 0 to 40. So the checks for ranges higher than 41
+	  should never be True.
+	  Removing this redundant checks.
+	  CID 1249684
+
+2015-01-08 14:47:16 +0100  Florian Zwoch <fzwoch@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Unlock the stream lock while waiting for pending frames to be completed in finish()
+	  We might otherwise deadlock because gst_vtenc_enqueue_buffer() can be
+	  called again and will take the stream lock again from another thread.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742174
+
+2015-01-08 08:46:48 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	  hlsdemux: implement _has_next_fragment to avoid busy looping
+	  It will allow the demuxer to wait for a fragment to be available instead
+	  of busy looping polling the playlist for a new fragment
+
+2015-01-08 12:55:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: Add a dummy value to the video connection mapping table for auto
+
+2015-01-08 12:48:22 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.h:
+	  decklinkaudiosrc: Add property to select the audio input connection
+
+2015-01-08 12:23:53 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	  decklink: Add XLR and RCA audio connection enums
+
+2015-01-08 12:17:45 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Add auto value for the connection property
+	  This will use the default/auto connection for video capturing, and can
+	  be set via the Decklink configuration tools.
+
+2015-01-08 12:13:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink: Fix indention once again
+
+2015-01-06 14:02:38 +0100  Florian Langlois <florian.langlois@fr.thalesgroup.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.h:
+	  decklink: Add property for configuring the input connection of the video sources
+
+2015-01-08 09:35:23 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: Don't init and clear static GMutex / GCond
+	  We would potentially use it from the main loop later in
+	  gst_gl_window_cocoa_init_nsapp() if it timed out before.
+
+2015-01-07 16:53:41 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: remove logically dead code
+	  Soon after setting two variables to 1, the code checks if their values are
+	  different from each other. This would never be true. Removing this.
+	  CID 1226443
+
+2015-01-07 16:40:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/videoparsers/gstpngparse.c:
+	* gst/videoparsers/gstpngparse.h:
+	  Revert "pngparse: improve parsing of the image"
+	  This reverts commit 59e7f0597d1cc524174e847de7b91407922304c8.
+	  This patch should not have been pushed, see
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740058#c3
+
+2015-01-07 16:26:57 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/opencv/gsthanddetect.c:
+	  handdetect: remove unneeded check
+	  Variable hands is already checked to contain a value previously at the beginning
+	  of the current block (in line 504). There is no need to check again. This is
+	  logically dead code.
+	  CID 1197693
+
+2014-11-13 15:56:07 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/videoparsers/gstpngparse.c:
+	* gst/videoparsers/gstpngparse.h:
+	  pngparse: improve parsing of the image
+	  Everytime a buffer is being provided from baseparse, we are parsing all the data from the beginning.
+	  But since we would have already parsed some of the data in the previous iterations,
+	  it doesnt make much sense to keep parsing the same everytime.
+	  Hence skipping the data which is already read in previous iterations to improve the parsing performance.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740058
+
+2015-01-07 15:32:05 +0100  Florian Langlois <florian.langlois@fr.thalesgroup.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink: Fix latency values for sources
+
+2015-01-07 10:23:31 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: remove duplicate call to uri_join
+
+2015-01-07 09:30:00 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: skip checking '#EXT-X-' token for all entries
+	  Put this common check before to avoid repeating it for all possible
+	  entries to save some cycles
+
+2015-01-07 09:21:33 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: avoid using g_list_append for creating segments list
+	  Use g_list_prepend and reverse it at the end to skip traversing the
+	  same list for every new segment
+
+2014-06-20 12:38:59 -0600  Thomas Bluemel <tbluemel@control4.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: Don't use approximate duration for fragment buffer pts
+	  The duration values in playlists are approximate only, and for
+	  playlist versions 2 and older they are only rounded integer values.
+	  They cannot be used to timestamp buffers.  This resulted in playback
+	  gaps and skips because the actual duration of fragments is slightly
+	  different.  The solution is to only set the pts of the very first
+	  buffer processed, not for each fragment.
+
+2015-01-06 18:44:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: only update segment if we have a valid PTS
+	  Otherwise we set the position to GST_CLOCK_TIME_NONE and it disrupts
+	  bitrate switching
+
+2015-01-07 11:31:30 +0530  Rajat Verma <rajat.verma@st.com>
+
+	* ext/smoothstreaming/gstmssmanifest.c:
+	  mssdemux: fix crash while setting bitrate in caps structure
+	  q->bitrate is a guint64, but G_TYPE_INT may read fewer bits
+	  off the stack, and if we pass more then the NULL sentinel
+	  may not be found at the right place, which in turn might
+	  lead to crashes.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741751
+
+2015-01-02 00:59:00 +0000  Duncan Palmer <dpalmer@digisoft.tv>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: Fix periodic SPS/PPS sending work after a seek
+	  Reset the interval variable to have SPS/PPS sending work after
+	  a (backwards) seek.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742212
+
+2015-01-05 21:26:22 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: fix deadlock with pad object lock
+	  The image capture mutex and the pad object lock would cause a race
+	  if the pad query was made right when the image probe was running.
+	  The image probe needs the capture mutex and the querying would need
+	  the pad object lock.
+
+2015-01-05 15:16:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: simplify weird if/else clause
+	  It is not an if/else situation but an if error abort otherwise
+	  just continue. Remove else to make it more readable
+
+2014-04-04 16:45:51 +0100  Alex Ashley <bugzilla@ashley-family.net>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	  hlsdemux: Implement live seeking
+	  hlsdemux assumes that seeking is not allowed for live streams,
+	  however seek is possible if there are sufficient fragments in the
+	  manifest. For example the BBC have live streams that contain 2 hours
+	  of fragments.
+	  The seek code for both live and on-demand is common code. The
+	  difference between them is that an offset has to be calculated
+	  for the timecode of the first fragment in the live playlist.
+	  When hlsdemux starts to play a live stream, the possible seek range
+	  is between 0 and A seconds. After some time has passed, the beginning of
+	  the stream will no longer be available in the playlist and the seek
+	  range is between B and C seconds.
+	  Seek range:
+	  start          0 ........... A
+	  later               B ........... C
+	  This commit adds code to keep a note of the B and C values
+	  and the highest sequence number it has seen. Every time it updates the
+	  media playlist, it walks the list of fragments, seeing if there is a
+	  fragment with sequence number > highest_seen_sequence. If so, the values
+	  of B and C are updated. The value of B is used when timestamping
+	  buffers.
+	  It also makes sure the seek range is never closer than three fragments
+	  from the end of the playlist - see 6.3.3. "Playing the Playlist file"
+	  of the HLS draft.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725435
+
+2015-01-05 17:58:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: prepare for supporting seeks in live streams
+	  Add function to allow subclasses to specify seeking range for
+	  live streams
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725435
+
+2015-01-04 17:15:37 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: don't use iterator when setting flush pending on pads
+
+2015-01-04 16:57:05 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: check if pads are ready more efficiently
+	  No need to use an iterator for this which creates a temporary
+	  structure every time and also involves taking and releasing the
+	  object lock many times in the course of iterating. Not to mention
+	  all that GList handling in gst_aggregator_iterate_sinkpads().
+
+2015-01-04 12:59:19 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: name vfunc arguments consistently
+
+2014-12-31 20:47:24 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+	* tests/check/Makefile.am:
+	  tests: nodist for orc generated code
+
+2015-01-01 15:46:00 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: add g-i transfer and scope annotations
+
+2015-01-01 14:10:05 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: register names of iterate_sinkpads functions with debug system
+
+2015-01-01 14:03:02 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: reduce debug messages for taking/releasing logs to TRACE level
+	  Don't spam debug log with this stuff.
+
+2014-12-31 18:16:21 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: move property member into private structure
+	  Our locking (or lack thereof) while accessing this also
+	  looks generally quite dodgy.
+
+2014-12-31 14:50:58 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: remove empty dispose function
+
+2014-12-30 23:58:34 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: give private functions namespace prefix
+	  Especially the GST_DEBUG_FUNCPTR ones.
+
+2014-12-31 12:35:06 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: fix up some docs comments in header
+
+2014-12-30 23:44:46 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: remove now-unused system clock member
+
+2014-12-30 19:43:43 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglvideomixer.c:
+	  glmixer, glvideomixer: update for GstAggregatorPadForeachFunc change
+
+2014-12-30 19:26:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: update for aggregator start/stop vfunc change
+
+2014-12-30 19:22:01 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: make GstAggregatorPadForeachFunc take an GstAggregatorPad
+
+2014-12-30 18:01:34 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: update for aggregator start/stop vfunc change
+
+2014-12-30 17:56:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: update for aggregator start/stop vfunc change
+
+2014-12-30 17:50:17 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: bring start/stop vfunc semantics in line with other baseclasses
+	  Sub-class should not have to chain up to GstAggregator's start/stop
+	  vfuncs, same as in GstBaseSrc, GstBaseSink, GstBaseTransform etc.
+
+2014-12-30 15:29:36 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: fix output-block-size property description
+
+2014-12-30 08:07:18 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: only typefind when we have a minimum amount of data
+	  For small amounts some data might be mistyped and it would cause
+	  the pipeline to fail. For example if you have AAC inside mpegts,
+	  for small amounts, the AAC samples would cause the typefinder to
+	  think it is AAC and not mpegts.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736061
+
+2014-12-29 11:49:51 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	  decklink: Add support for 4K / UHD modes
+
+2014-12-29 11:49:42 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: Fix indention
+
+2014-12-29 10:44:53 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: do not try to ref null pointer
+	  Playlists might be missing the availability start time, so check for
+	  it before trying to ref the object
+
+2014-12-29 10:44:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: run gst-indent on mpdparser
+	  Run gst-indent on mpdparser to have it stop complaining on every
+	  commit
+
+2014-12-28 18:26:49 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: remove pointless GST_DEBUG_FUNCPTR
+	  Not useful for GObject vfuncs.
+
+2014-12-28 18:24:21 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: remove duplicate pad parent_class variable
+	  G_DEFINE_TYPE already provides one, just need to use it.
+
+2014-12-28 18:22:57 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: add _CAST() variants for cast macros
+
+2014-12-28 01:13:33 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregatorpad.h:
+	  aggregator: make padding larger
+	  Esp. the class structures, can't have enough
+	  spare space for virtual functions.
+
+2014-12-28 00:58:04 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/siren/gstsiren.h:
+	* gst/siren/gstsirendec.h:
+	* gst/siren/gstsirenenc.h:
+	  siren: remove unneeded structure padding
+	  Public headers are private and not installed.
+
+2014-12-27 16:15:41 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Log to the pad instead of the element
+	  More correct way of doing the same thing as before
+
+2014-12-27 15:50:17 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: Point to compositor for the pad properties documentation
+
+2014-12-27 15:49:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Document the pad properties
+
+2014-12-27 15:49:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Document the pad properties
+
+2014-12-27 09:49:43 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Make sure that the minimum latencies are never GST_CLOCK_TIME_NONE
+
+2014-12-27 09:42:57 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Wait for the minimum latency, not the maximum
+	  The minimum latency is the latency we have to wait at least
+	  to guarantee that all upstreams have produced data. The maximum
+	  latency has no meaning like that and shouldn't be used for waiting.
+
+2014-12-27 04:21:36 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Clamp the min latency at the max if it's greater
+
+2014-12-27 04:21:26 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Print the sinkpad name while logging latency queries
+	  Very useful while debugging.
+
+2014-12-27 04:19:52 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Take the stream lock when iterating sink pads
+	  When iterating sink pads to collect some data, we should take the stream lock so
+	  we don't get stale data and possibly deadlock because of that. This fixes
+	  a definitive deadlock in _wait_and_check() that manifests with high max
+	  latencies in a live pipeline, and fixes other possible race conditions.
+
+2014-12-26 23:05:43 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: do not set source state with lock
+	  It might be racy with the image probe thread as it uses the capture
+	  mutex just like the start-capture handler from camerabin. The
+	  start-capture would be waiting for the source's streaming thread
+	  to stop to be able to set the source state to ready while the
+	  probe would be blocked waiting to acquire the capture mutex.
+	  It causes a deadlock.
+
+2014-12-26 10:17:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: use the drain query instead of flush
+	  The flush might clear any pending captures that are still in
+	  queues being processed while the drain query will wait for those
+	  to be properly done
+
+2014-12-26 22:45:41 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: improve timestamp code
+	  Use a combination of the running time and CMClockGetTime from AVF to compute
+	  timestamps.
+
+2014-12-26 11:48:56 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gdp/gstgdppay.c:
+	  gdppay: use public API for accessing stream header arrays in caps
+	  Don't rely on core implementation details, which are private and
+	  may change. It's also not needed here, the performance impact is
+	  close to none. Also copy buffer before changing its metadata.
+
+2014-12-26 11:29:12 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/gdpdepay.c:
+	  tests: gdpdepay: update for internal gdp refactoring
+	  This test uses some internal/private API, so needs to
+	  be updated for recent changes.
+
+2014-12-26 11:27:38 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gdp/dataprotocol.c:
+	* gst/gdp/dataprotocol.h:
+	* gst/gdp/gstgdppay.c:
+	  gdppay: refactor payloading code a little
+	  Get rid of some indirections and inefficiencies,
+	  just payload things directly which gives us more
+	  control over what memory is allocated where and
+	  how and makes things much simpler. In particular,
+	  we can now allocate the payload header plus the
+	  GstMemory to represent it in one go.
+
+2014-12-15 00:41:22 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gdp/dataprotocol.c:
+	* gst/gdp/dataprotocol.h:
+	* gst/gdp/gstgdppay.c:
+	* gst/gdp/gstgdppay.h:
+	* tests/check/elements/gdpdepay.c:
+	  gdppay: refactor a little
+	  Get rid of now-useless packetizer struct and just
+	  call internal functions directly. Also remove
+	  version property which is now defunct, not least
+	  because we create the packetizer with the
+	  version in the init function before a version
+	  can be set.
+
+2014-12-13 16:46:07 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/gdppay.c:
+	  tests: gdppay: initialise memory of buffers used in unit test
+
+2014-12-13 15:23:48 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gdp/dataprotocol.c:
+	* gst/gdp/dataprotocol.h:
+	  gdppay: optimise payloading of buffers with multiple memories
+	  Add function to calculate a payload CRC across multiple memories
+	  so we don't have to merge buffers with multiple memories just to
+	  calculate the CRC. Also make CRC calculation function static,
+	  since it's not used outside dataprotocol.h and move special-casing
+	  of length = 0 -> CRC = 0 into CRC function (from caller).
+	  Perhaps more importantly, since payload CRC is off by default:
+	  don't map buffer (and possibly merge memories in the process)
+	  if we are not going to use it to calculate a CRC anyway.
+
+2014-12-13 15:19:16 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gdp/dataprotocol.c:
+	* gst/gdp/dataprotocol.h:
+	  gdppay: dataprotocol: drop bogus const
+	  Doesn't really make sense given that we map
+	  it and possibly merge memories and such.
+
+2014-11-24 12:18:36 -0700  Vijay Jayaraman <Vijay.Jayaraman@echostar.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: typefind might fail if first buffer is too short
+	  If typefind fails, check to see if the buffer is too short for typefind. If this is the case,
+	  prepend the decrypted buffer to the pending buffer and try again the next time around.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740458
+
+2014-08-27 16:26:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/Makefile.am:
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: port to adaptive base class
+	  Conflicts:
+	  ext/hls/gsthlsdemux.c
+	  ext/hls/gsthlsdemux.h
+
+2014-12-23 01:51:50 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: check if element exists before setting it to null
+	  Under certain error conditions it might happen that the element
+	  has been freed already and trying to set it to NULL causes an
+	  assertion
+
+2014-12-23 01:51:10 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: make sure task has stopped before freeing it
+	  Otherwise the thread will be running and its memory will get freed.
+	  This leads to memory corruption
+
+2014-12-23 01:48:41 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix segment start when exposing new streams
+	  Segment start needs only to be updated when starting the streams
+	  or after a seek, doing it during bitrate changes will cause the
+	  running time to go discontinuous (jump back to a previous ts)
+	  and QOS will drop buffers
+
+2014-12-19 02:22:47 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: allow subclass to use new pads group when switching bitrate
+	  Fix pad groups switching when bitrate changes to allow HLS to use this feature
+
+2014-12-23 12:24:48 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: If getting a timeout before having caps, just advance our position
+	  This can happen if this is a live pipeline and no source produced any buffer
+	  and sent no caps until the an output buffer should've been produced according
+	  to the latency.
+
+2014-12-23 12:15:50 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Make sure to release the current buffer in reset()
+	  If we didn't output the last one in aggregate because we were shutting down
+	  earlier we might otherwise leak it.
+
+2014-12-23 11:45:50 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/audiomixer/gstaudiomixer.h:
+	* tests/check/elements/audiomixer.c:
+	  audiomixer: Change blocksize property to output-buffer-duration in time format
+	  This makes the interface of audiomixer independent of the actual caps.
+
+2014-12-23 11:45:05 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Don't leak flush-start events
+
+2014-12-23 10:24:27 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Also change the default latency to 0, not just the minimum
+
+2014-12-23 09:52:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Fix docs and default value of the latency property
+
+2014-12-22 22:19:52 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Also include the subclass latency in the result of the latency query
+
+2014-12-22 22:11:30 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Use the src query implementation of aggregator as the default case
+
+2014-12-22 22:11:13 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Use the src query implementation of aggregator as the default case
+
+2014-12-22 16:45:05 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/bayer/gstbayer2rgb.c:
+	  bayer2rgb: take into account filter in transform_caps function
+	  Fixes criticals when filter caps are passed.
+	  Also fix wrong GST_DEBUG_OBJECT use.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741863
+
+2014-12-22 15:26:37 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Post a latency message if the value of the latency property changes
+
+2014-12-22 15:03:59 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Wake up the src thread after handling a latency query
+	  Due to changed latencies or changed live-ness we might have to
+	  adjust if we wait on a deadline at all and how long.
+
+2014-12-22 15:00:36 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Don't count the number of times we need to wake up but instead check all conditions for waiting again
+	  This simplifies the code and also makes sure that we don't forget to check all
+	  conditions for waiting.
+	  Also fix a potential deadlock caused by not checking if we're actually still
+	  running before starting to wait.
+
+2014-12-22 11:49:08 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Instead of crashing if no corresponding frame is found, ignore this
+	  ... and hope that everything will be fine. This shouldn't really happen but
+	  previously happened during shutdown. It should be fixed in videoencoder now,
+	  but better be on the safe side here.
+
+2014-12-22 11:46:05 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* MAINTAINERS:
+	  MAINTAINERS: Update my mail address
+
+2014-12-21 07:47:25 -0500  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/audiomixer/Makefile.am:
+	  audiomixer: fix build flag order
+	  Have the libraries/inlcudes from plugins-bad first to avoid picking up the installed version.
+	  Fixes the build when the local api changed.
+
+2014-12-20 12:24:53 -0500  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/freeverb/GstFreeverb.prs:
+	* gst/freeverb/Makefile.am:
+	  freeverb: add a few presets
+
+2014-12-19 13:18:50 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* tests/check/libs/gstglcolorconvert.c:
+	* tests/check/libs/gstglmemory.c:
+	* tests/check/libs/gstglupload.c:
+	  gltest: Port to new API
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740900
+
+2014-12-19 12:22:12 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	  glbufferpool: Always recalculate buffer size
+	  Actually we should always recalculate buffer size since our buffer size
+	  even when not-padded is smaller for many sub-sampled formats. This is
+	  because we don't add padding between the planes.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740900
+
+2014-12-19 12:12:08 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/gl/gstglmemory.h:
+	  glmemory: No need for padding
+	  A memory object cannot be put on stack, so no need for padding.
+
+2014-12-19 12:11:08 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/gstgloverlay.c:
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstgldownload.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstgluploadmeta.c:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  gl: Add support for GstVideoAlignment
+	  This allow saving a copy with libav video decoders or decoders with
+	  similar padding requirement.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740900
+
+2014-11-22 11:25:23 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	  glmemory: Handle upload/download flags from map
+	  Problem was that if buffer was mapped READWRITE (state of buffers from
+	  libav right now), mapping it READ/GL will not upload. This is because the
+	  flag is only set when the buffer is unmapped. We can fix this by setting
+	  the flags in map. This result in already mapped buffer that get mapped
+	  to be read in GL will be uploaded. The problem is that if the write
+	  mapper makes modification afterward, the modification will never get
+	  uploaded.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740900
+
+2014-12-13 21:47:38 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: Handle custom stride with OPENGL3
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740900
+
+2014-12-19 15:05:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.h:
+	  decklink: Fix various compiler warnings with gcc
+
+2014-12-19 14:50:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: Re-add the COM initialization code for Windows
+	  Untested, and we will never deinitialize COM again.
+
+2014-12-19 14:38:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklink: Remove in-same-pipeline detection code for audio/video elements of the same device
+	  This causes deadlocks sometimes for some reason.
+
+2014-12-19 14:35:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.h:
+	  decklinkvideosink: Implement clock slaving
+
+2014-12-19 13:52:08 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Add some more debug output for when frames are scheduled
+
+2014-12-19 13:28:29 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.h:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.h:
+	  decklink: Add property for configuring the buffer size of the sources
+
+2014-12-19 13:24:10 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.h:
+	  decklinkaudiosrc: Implement timestamp jitter and discont handling
+
+2014-12-19 12:37:30 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink: Our capture time is the end timestamp of the buffer, subtract the duration
+
+2014-12-19 12:30:04 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.h:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.h:
+	  decklink: Allow for a maximum of 5 packets to be queued up
+	  In case downstream is a bit slow with consuming packets at times.
+
+2014-12-19 12:03:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink: Implement latency query in sources and remember selected mode
+
+2014-12-18 18:30:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/capture.cpp:
+	* sys/decklink/capture.h:
+	* sys/decklink/gstdecklinksink.cpp:
+	* sys/decklink/gstdecklinksink.h:
+	* sys/decklink/gstdecklinksrc.cpp:
+	* sys/decklink/gstdecklinksrc.h:
+	  decklink: Remove obsolete files
+
+2014-12-18 17:31:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/Makefile.am:
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.h:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.h:
+	  decklink: Add initial version of audio and video sources
+
+2014-12-13 17:23:31 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/Makefile.am:
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkaudiosink.h:
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.h:
+	  decklink: Initial version of the audio/video sink rewrite
+
+2014-12-19 13:04:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/audiomixer/gstaudiomixer.h:
+	  audiomixer: Track discont-time per pad instead of globally
+	  We do discont handling per pad, not per element!
+
+2014-12-15 16:27:16 +0100  Branko Subasic <branko@axis.com>
+
+	* ext/curl/gstcurlsmtpsink.c:
+	* ext/curl/gstcurlsmtpsink.h:
+	  curlsmtpsink: add final boundary to all multipart emails
+	  Corrected the final boundary mechanism so that a final boundary is
+	  added to each mail with multipart content that is sent,
+	  not just to the last one.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741553
+
+2014-12-18 23:33:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: We're only EOS if all our pads are actually EOS
+	  Having a buffer or not on the pad is irrelevant.
+
+2014-12-18 22:42:14 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: The pad's size is always supposed to be the whole buffer size
+	  And the offset the offset into that buffer. Changing the size will
+	  cause all kinds of assumptions to fail and cause crashes.
+
+2014-12-18 22:04:38 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Don't try to map NULL buffers
+
+2014-12-18 22:03:04 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Make sure to always update the pad's videoinfo together with buffers
+	  Otherwise the videoinfo and the buffer content can go out of sync.
+
+2014-12-18 11:48:37 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Fix memory leak when no buffer is available for a pad currently
+	  CID 1258718
+
+2014-12-18 10:54:05 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From ef1ffdc to f2c6b95
+
+2014-12-17 22:01:23 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/x265/gstx265enc.c:
+	  x265enc: reuse the gstvideo proxy getcaps
+	  The caps query is implementing the same logic as the default
+	  handler from the base class. Reuse it to simplify code.
+
+2014-12-17 21:52:13 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/opus/gstopusenc.c:
+	  opusenc: plug ref leak of template caps
+	  the pad template caps is already a new ref. No need to copy.
+
+2014-12-17 19:51:32 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst/audiomixer/gstaudiomixer.c:
+	  aggregator: Add function to allow subclasses to set their own latency
+	  For audiomixer this is one blocksize, for videoaggregator this should
+	  be the duration of one output frame.
+
+2014-12-17 19:37:22 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Make sure to not have pads being behind the current offset
+	  We would break sync between the different streams then.
+
+2014-12-17 17:54:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/compositor/compositor.c:
+	* tests/check/libs/aggregator.c:
+	  aggregator: Add a timeout parameter to ::aggregate()
+	  When this is TRUE, we really have to produce output. This happens
+	  in live mixing mode when we have to output something for the current
+	  time, no matter if we have enough input or not.
+
+2014-12-17 18:20:15 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/elements/audiomixer.c:
+	  audiomixer: Add queues after the (live) sources in the unit test
+
+2014-12-17 12:20:54 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: improve timestamping and latency reporting
+	  Use AVF provided timings to timestamp output buffers. Use the running time at
+	  the time the first buffer is produced to base timestamps on. Report 1-frame
+	  latency based on the negotiated framerate instead of hardcoding 4ms latency.
+
+2014-12-15 22:24:26 -0500  Raimo Järvi <raimo.jarvi@gmail.com>
+
+	* sys/dshowdecwrapper/gstdshowaudiodec.cpp:
+	* sys/dshowdecwrapper/gstdshowaudiodec.h:
+	* sys/dshowdecwrapper/gstdshowutil.cpp:
+	* sys/dshowdecwrapper/gstdshowutil.h:
+	* sys/dshowdecwrapper/gstdshowvideodec.cpp:
+	  dshowdecwrapper: Remove dependency on ATL
+	  This fixes compiling with Visual C++ Express
+	  that doesn't include ATL.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=677223
+
+2014-12-04 23:30:23 -0500  Matthew Bader <matt@hyperlobic.net>
+
+	* sys/dshowsrcwrapper/gstdshow.cpp:
+	* sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
+	  dshowsrcwrapper: Added support for image/jpeg and h264
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741188
+
+2014-12-16 19:49:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/libs/aggregator.c:
+	  tests: fix aggregator unit test after property renaming
+
+2014-12-16 17:37:12 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Implement get_next_time()
+
+2014-12-16 17:33:01 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Some minor cleanup
+
+2014-12-05 18:19:54 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  aggregator: make the src pad task drive the pipeline for live pipelines
+	  This removes the uses of GAsyncQueue and replaces it with explicit
+	  GMutex, GCond and wakeup count which is used for the non-live case.
+	  For live pipelines, the aggregator waits on the clock until either
+	  data arrives on all sink pads or the expected output buffer time
+	  arrives plus the timeout/latency at which time, the subclass
+	  produces a buffer.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741146
+
+2014-12-08 15:18:25 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: always try to use newer buffers
+	  instead of dropping them for being too old.  This ensures that
+	  the newest buffer is always used for rendering
+
+2014-12-16 13:35:14 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* ext/directfb/dfbvideosink.c:
+	* ext/sdl/sdlvideosink.c:
+	* ext/wayland/wlwindow.c:
+	* sys/directdraw/gstdirectdrawsink.c:
+	* sys/pvr2d/gstpvrvideosink.c:
+	* sys/vdpau/gstvdpvideopostprocess.c:
+	  rectangle: clear rectangle struct before use
+
+2014-12-15 15:21:50 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstopusparse.c:
+	  opusparse: fix frame size determination
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741321
+
+2014-06-19 21:32:09 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst/mxf/mxfdemux.c:
+	* gst/mxf/mxfdemux.h:
+	* gst/mxf/mxftypes.h:
+	  mxfdemux: Use IndexTableSegments.
+	  This speeds up seeking drastically.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732294
+
+2014-12-14 01:29:26 +0100  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* tests/check/libs/aggregator.c:
+	  tests/aggregator: Use correct type when setting property
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741495
+
+2014-05-08 10:41:03 +0530  Sudip Jain <sudip.jain@linaro.org>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	  mpegtsbase: scan more bytes to find initial PCRs
+	  Fixes playback of Samsung-Colorful-Variety-1080i.ts.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=729768
+
+2014-12-12 20:57:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264enc.cpp:
+	  Revert "openh264: fix to work with released versions and master of upstream"
+	  This reverts commit 15394aa70543f55c54fa8a474805224f4138f76c.
+	  The latest release (v1.1) does not have pkg-config support
+	  yet, so this plugin won't be built with the latest release.
+	  Cerbero uses the latest release, so this makes cerbero
+	  builds fail, which expect the plugin to be built.
+	  We can re-commit this once there's a release that includes
+	  pkg-config support.
+
+2014-12-12 10:05:23 -0800  Zaheer Abbas Merali <zaheermerali@gmail.com>
+
+	* configure.ac:
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264: fix to work with released versions and master of upstream
+
+2014-12-12 11:21:27 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/debugutils/gstwatchdog.c:
+	  watchdog: GstElement->state is protected with the OBJECT_LOCK
+	  Not the STATE_LOCK.
+	  gst_watchdog_feed was already always called with the OBJECT_LOCK taken.
+
+2014-11-27 20:48:24 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregatorpad.h:
+	  videoaggregator: Hide some more fields from the API
+	  + Add some documentation
+
+2014-12-12 00:30:21 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/onvif/Makefile.am:
+	  onvif: fix 'make dist'
+
+2014-12-11 21:01:48 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix seek event handling
+	  Properly do seeking and avoid only seeking when the segment was updated.
+	  It would cause seeks after the stream was EOS to fail, for example.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738920
+
+2014-11-17 19:26:53 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/onvif/gstrtponviftimestamp.c:
+	* gst/onvif/gstrtponviftimestamp.h:
+	* tests/check/elements/rtponvif.c:
+	  rtponviftimestamp: Automatically discover the ntp-offset by default.
+	  This only works if no packets are pushed in before the pipeline goes
+	  to playing. So it helps to have a live source.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731769
+
+2014-06-05 15:06:33 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst/onvif/Makefile.am:
+	* gst/onvif/gstrtponvif.c:
+	* gst/onvif/gstrtponvifparse.c:
+	* gst/onvif/gstrtponvifparse.h:
+	* tests/check/elements/rtponvif.c:
+	  add rtponvifextract element
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731769
+
+2014-04-28 11:07:17 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* configure.ac:
+	* gst/onvif/Makefile.am:
+	* gst/onvif/gstrtponvif.c:
+	* gst/onvif/gstrtponviftimestamp.c:
+	* gst/onvif/gstrtponviftimestamp.h:
+	* tests/check/Makefile.am:
+	* tests/check/elements/.gitignore:
+	* tests/check/elements/rtponvif.c:
+	  add rtponviftimestamp element
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731769
+
+2014-12-08 11:02:51 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: fix position/texcoord attrib index usage
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741231
+
+2014-12-11 18:17:02 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfiltercube.c:
+	  glfiltercube: use a shader everywhere
+
+2014-12-11 18:15:02 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstglvideomixer.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: fixup vao and vbo usage for legacy GL
+
+2014-12-11 14:57:18 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgleffects.c:
+	  gleffects: don't abort when setting the effect to 0,1,2
+
+2014-12-10 12:48:33 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/sdl/sdlshare.c:
+	  gl/examples: fixup sdl example for gluPerspective removal
+
+2014-12-09 08:38:55 -0800  Nick Stoughton <nstoughton@aether.com>
+
+	* configure.ac:
+	* sys/bluez/gstavdtputil.c:
+	  bluez: support compile-time distinction between bluez4 and bluez5
+	  Signed-off-by: Nick Stoughton <nstoughton@aether.com>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738626
+
+2014-12-10 18:23:02 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: check the return from update_manifest correctly
+	  It is a GstFlowReturn and not a boolean
+
+2014-12-10 09:24:17 +0000  David Waring <david.waring@rd.bbc.co.uk>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: Change period when setting by period id.
+	  Make gst_mpd_client_set_period_id set the current period index when it finds a
+	  period with a matching period id.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741322
+
+2014-12-10 15:27:49 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/gstmssmanifest.c:
+	  mssdemux: fix reverse playback fragment tracking
+	  Rework reverse fragment traversing with repetition fields to prevent
+	  NULL pointer deref and avoid never advancing a fragment as the variable
+	  is unsigned and would always be non-negative.
+	  CID #1257627
+	  CID #1257628
+
+2014-12-11 00:02:26 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: bump rank to PRIMARY
+
+2014-12-10 22:36:53 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: negotiate profile and level with downstream
+
+2014-12-10 19:44:01 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: report latency
+
+2014-12-05 16:20:08 +0000  David Waring <david.waring@rd.bbc.co.uk>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Find current segment in the streams that have just been setup
+	  Using demux->streams will just skip the whole loop as demux->streams will
+	  always be NULL at that point
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741285
+
+2014-12-09 05:03:11 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst/geometrictransform/gstmirror.c:
+	  mirror: Needs remap when the mode changes.
+	  This caused the user to think the mode wasn't taken into account.
+
+2014-12-09 04:28:17 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  Revert "h264parse: expose compatible profiles to downstream"
+	  This reverts commit 3910cbe7ce1a67ed5506f87e4c5a005c168d0e6c.
+
+2014-12-08 08:53:00 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: do not try to unlock not locked mutex
+	  A misplaced unlock was causing an assertion for playback with a
+	  set stop time
+
+2014-12-08 08:24:17 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/Makefile.am:
+	  gst-libs: build order: uridownloader before adaptivedemux
+	  Otherwise make install fails
+
+2014-12-05 16:33:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: Add properties to specify the maximum keyframe interval in frames and seconds
+
+2014-12-05 16:15:23 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Fix conversion of the bitrate property and our internal bitrate storage
+	  The property is in kbit/s and we store it in bit/s, so just multiply and
+	  divide by 1000. No need to put a factor of 8 in there.
+	  kVTCompressionPropertyKey_AverageBitRate is also in bit/s according to
+	  its documentation.
+
+2014-12-05 13:12:59 +0530  Arun Raghavan <git@arunraghavan.net>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Fix a memory leak
+	  Frees the source ARGB black frame that we use to create the black frame
+	  in our target format.
+
+2014-12-02 10:10:39 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: expose compatible profiles to downstream
+	  Some video bitstreams report a too restrictive set of profiles. If a video
+	  decoder was to strictly follow the indicated profile, it wouldn't support that
+	  stream, whereas it could in theory and in practice. So we should relax the
+	  profile restriction for allowing the decoder to get connected with parser.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739992
+
+2013-05-01 11:17:02 +0800  Chun-wei Fan <fanchunwei@src.gnome.org>
+
+	* sys/dshowvideosink/dshowvideofakesrc.cpp:
+	* sys/dshowvideosink/dshowvideosink.cpp:
+	* sys/dshowvideosink/dshowvideosink.h:
+	  dshowvideosink: Port to 1.0 and new GLib threading API
+	  This updates the dshowvideosink to work with the GStreamer 1.0.x APIs, and
+	  avoids the use of deprecated GLib threading API that are now used since
+	  GLib 2.32+
+	  https://bugzilla.gnome.org/show_bug.cgi?id=699364
+
+2014-12-04 01:46:43 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/smoothstreaming/gstmssmanifest.c:
+	* ext/smoothstreaming/gstmssmanifest.h:
+	  mssdemux: add live support
+	  Implement the functions of adaptivedemux to have live support
+	  enabled. This allows mssdemux to refresh the Manifest periodically
+
+2014-12-04 15:52:44 -0500  Matthew Bader <matt@hyperlobic.net>
+
+	* sys/dshowdecwrapper/CMakeLists.txt:
+	* sys/dshowdecwrapper/gstdshowaudiodec.cpp:
+	* sys/dshowdecwrapper/gstdshowaudiodec.h:
+	* sys/dshowdecwrapper/gstdshowdecwrapper.h:
+	* sys/dshowdecwrapper/gstdshowvideodec.cpp:
+	* sys/dshowdecwrapper/gstdshowvideodec.h:
+	  dshowdecwrapper: Port to 1.x
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740945
+
+2014-12-01 16:40:24 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* configure.ac:
+	* sys/vcd/vcdsrc.c:
+	  vcdsrc: port to 1.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=547661
+
+2014-12-04 12:21:04 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/gstmssmanifest.c:
+	  mssdemux: fix getting current position in segments when after last one
+	  For live streams this makes a difference when resyncing after a
+	  Manifest refresh, otherwise it doesn't know where to restart
+
+2014-12-02 23:27:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/gstmssmanifest.c:
+	  mssdemux: support manifests with repetition fragments
+	  Read the "r" attribute from fragments to support fragments nodes
+	  that use repetition to have a shorter Manifest xml.
+	  Instead of doing:
+	  <c d="100" />
+	  <c d="100" />
+	  You can use:
+	  <c d="100" r="2" />
+
+2014-11-22 01:01:50 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/Makefile.am:
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/smoothstreaming/gstmssdemux.h:
+	* ext/smoothstreaming/gstmssmanifest.c:
+	* ext/smoothstreaming/gstmssmanifest.h:
+	  mssdemux: port to adaptivedemux base class
+
+2014-12-03 16:13:17 -0500  Matthew Bader <matt@hyperlobic.net>
+
+	* sys/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+	* sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
+	  dshowsrcwrapper: Fixed null caps comparison
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741086
+
+2014-12-04 02:12:08 -0200  Flávio Ribeiro <email@flavioribeiro.com>
+
+	* ext/hls/gsthlssink.c:
+	* ext/hls/gstm3u8playlist.c:
+	  hlssink: remove unnecessary title on EXTINF tag
+	  According to the HLS spec the remainder of the line following
+	  the comma on EXTINF tag is not required. This patch removes
+	  the fake title and saves some bytes on the playlist.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741096
+
+2014-12-04 20:37:51 +0530  Ramprakash Jelari <ramprakash.jelari@e-consystems.com>
+
+	* ext/gl/gstopengl.c:
+	  gl: Rename gst-launch-0.10 to gst-launch-1.0 in docs
+
+2014-12-04 15:42:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/Makefile.am:
+	  decklink: Fix make distcheck
+	  And properly dist all headers and source files.
+
+2014-12-03 18:31:06 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: release threads waiting for manifest update on shutdown
+	  For live streams, also unblock threads that might be waiting for a manifest
+	  update when stopping the pipeline.
+	  Also add some more debug messages
+
+2014-12-03 13:52:07 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: use gst_task_stop instead of gst_task_pause
+	  To avoid race conditions with gst_task_stop(); gst_task_join() with
+	  another thread doing gst_task_pause(), the joining thread would be
+	  waiting for the task to stop but it would never happen. So just
+	  use gst_task_stop() everywhere to prevent more mutexes
+
+2014-12-03 12:48:42 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix deadlock when stopping streams
+	  Remember to unlock the manifest's lock when leaving the download task.
+
+2014-12-03 16:01:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/linux/DeckLinkAPIDispatch.cpp:
+	  decklink: Fix compiler warnings with gcc in the dispatcher
+
+2014-12-03 15:30:43 +0100  Philippe Normand <philn@igalia.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.h:
+	  glsyncmeta: add G_END_DECLS
+
+2014-12-03 15:07:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/win/DeckLinkAPI.h:
+	* sys/decklink/win/DeckLinkAPI_i.c:
+	  decklink: Update Windows SDK headers to 10.3.1
+	  No idea where the DecklinkAPIDispatch.cpp comes from on Windows,
+	  but this should still work. Will just become a problem once we
+	  use other parts of the API.
+
+2014-12-03 14:42:43 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/Makefile.am:
+	* sys/decklink/osx/DeckLinkAPI.h:
+	* sys/decklink/osx/DeckLinkAPIConfiguration.h:
+	* sys/decklink/osx/DeckLinkAPIDeckControl.h:
+	* sys/decklink/osx/DeckLinkAPIDiscovery.h:
+	* sys/decklink/osx/DeckLinkAPIDispatch-osx.cpp:
+	* sys/decklink/osx/DeckLinkAPIDispatch.cpp:
+	* sys/decklink/osx/DeckLinkAPIModes.h:
+	* sys/decklink/osx/DeckLinkAPIStreaming.h:
+	* sys/decklink/osx/DeckLinkAPITypes.h:
+	* sys/decklink/osx/DeckLinkAPIVersion.h:
+	  decklink: Update OS X SDK headers to 10.3.1
+
+2014-12-03 14:39:13 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/linux/DeckLinkAPI.h:
+	* sys/decklink/linux/DeckLinkAPIConfiguration.h:
+	* sys/decklink/linux/DeckLinkAPIDeckControl.h:
+	* sys/decklink/linux/DeckLinkAPIDiscovery.h:
+	* sys/decklink/linux/DeckLinkAPIDispatch.cpp:
+	* sys/decklink/linux/DeckLinkAPIModes.h:
+	* sys/decklink/linux/DeckLinkAPITypes.h:
+	  decklink: Update Linux SDK headers to 10.3.1
+
+2014-12-03 10:06:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: remove unused error variable
+	  CID #1256556
+
+2014-12-03 09:45:58 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: remove more get_duration checks
+	  Subclasses must implement get_duration function. If they do not know
+	  the duration they can return GST_CLOCK_TIME_NONE
+
+2014-12-03 09:40:34 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: all subclasses must implement get_duration
+	  CID #1256557
+
+2014-12-02 23:29:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: make sure to always stop the stream on EOS
+	  For On-Demand streams, always stop the tasks for streams that reached
+	  EOS
+
+2014-12-03 08:02:58 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: try cgl before glx
+	  It was already done by commit
+	  f506e80686eedc66912583db11914ec3f713b478
+	  but it has been broken by commit
+	  45ec777cea0e69b2597d1ec02b18ec31d618c920
+
+2014-12-03 07:46:50 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* tests/check/elements/.gitignore:
+	  tests: add glimagesink unit test to .gitignore
+
+2014-12-02 15:52:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: fix double unref of object
+	  the datetime is already released by the end of the function
+
+2014-10-10 11:24:08 +0100  David Waring <david.waring@rd.bbc.co.uk>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: Find the current period in a live stream
+	  Start from the correct period on a live stream
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737421
+
+2014-12-02 10:06:00 +0000  David Waring <david.waring@rd.bbc.co.uk>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Fix period selection for live streams
+	  Fix period selection and properly error out when update cannot be done
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725298
+
+2014-07-09 10:11:40 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	  mpegtbase: Improve last PCR detection
+	  When dealing with random-access content (such as files), we initially
+	  search for the last PCR in order to figure out duration and to handle
+	  other position estimation such as those used in seeking.
+	  Previously, the code looking for that last PCR would search in the last
+	  640kB of the file going forward, and stop at the first PCR encountered.
+	  The problem with that was two-fold:
+	  * It wouldn't really be the last PCR (it would be the first one within
+	  those last 640kB. In case of VBR files, this would put off duration
+	  and seek code slightly.
+	  * It would fail on files with bitrates higher than 52Mbit/s (not common)
+	  Instead this patch modifies that code by:
+	  * Scanning over the last 2048kB (allows to cope with streams up to 160Mbit/s)
+	  * Starts by the end of the file, going over chunks of 300 MPEG-TS packets
+	  * Doesn't stop at the first PCR detected in a chunk, but instead records all
+	  of them, and only stop searching if there was "at least" one PCR within
+	  that chunk
+	  This should improve duration reporting and seeking operations on VBR files
+	  https://bugzilla.gnome.org/show_bug.cgi?id=708532
+
+2014-12-01 11:47:29 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: Only activate warning for real streams
+	  streams with stream_type 0xff are PCR-only streams, it's normal not
+	  to have a pad for them.
+
+2014-12-01 12:14:20 +0100  Jürgen Slowack <jurgen.slowack@barco.com>
+
+	* ext/x265/gstx265enc.c:
+	* ext/x265/gstx265enc.h:
+	  x265enc: add qp property
+	  QP property enables CQP mode and sets the QP for P slices.
+
+2014-12-01 10:59:32 +0100  Thijs Vermeir <thijs.vermeir@barco.com>
+
+	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
+	  gl/cocoa: Fix example on Mac OS X 10.10
+	  Using NSApp directly seems to confuse something, as the compiler
+	  was expecting an id<NSFileManagerDelegate>. Switched to using
+	  [NSApplication sharedApplication], and specified the delegate
+	  protocol on the window class as well.
+	  Similar to https://bugzilla.gnome.org/show_bug.cgi?id=738740
+
+2014-12-01 10:27:43 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/Makefile.am:
+	* gst-libs/gst/adaptivedemux/Makefile.am:
+	  gst-libs: Fix dependency build
+	  adaptivedemux depends on uridownloader and video depends on base
+
+2014-12-01 09:48:41 +0100  Thomas Klausner <wiz@danbala.tuwien.ac.at>
+
+	* configure.ac:
+	  configure: Do comparisons in a portable way with = instead of ==
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740953
+
+2014-11-30 21:54:38 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: reworking live manifest update wait
+	  Check if the stream is live before checking if it is EOS as a live
+	  stream might be considered EOS when it just needs to wait for a manifest
+	  update to proceed with the next fragments
+
+2014-11-29 10:28:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix manifest update locking
+	  To avoid unlocking a not locked mutex
+
+2014-11-29 10:27:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Fix segment for manifests that won't start at 0
+	  For live streams, the manifest might start at an advanced position. Avoid
+	  using segment start=0 to have playback start immediately
+
+2014-11-29 10:26:31 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: replace the streams with the new mpd client's streams
+	  Otherwise it won't update with the new segment info from the playlist
+	  update
+
+2014-11-29 10:25:45 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: when updating the manifest, set the uri
+	  This will allow dashdemux to create the correct full path URIs to
+	  continue downloading fragments
+
+2014-08-26 16:45:46 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/Makefile.am:
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: port to adaptive demux
+
+2014-11-22 17:27:03 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: also clear flushing state on pads before restarting
+	  During flushing seeks the flushing flow return will propagate up to the
+	  source element and all pads are going to have the flushing flag set.
+	  So before restarting also remove that flag together with the EOS one.
+	  We don't do that when pushing the flush stop event because our event
+	  handler for the proxypad will drop all events.
+
+2014-11-21 20:42:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* configure.ac:
+	* gst-libs/gst/Makefile.am:
+	* gst-libs/gst/adaptivedemux/Makefile.am:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: add adaptivedemux base class
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735848
+
+2014-11-29 13:16:56 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gdp/gstgdppay.c:
+	  gdppay: minor caps event payloading optimisation
+	  Avoid creation of buffer we're just going to throw
+	  away two lines later anyway.
+
+2014-11-29 13:15:36 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gdp/gstgdppay.c:
+	  gdppay: fix some memory leaks
+
+2014-11-30 00:42:17 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: require GL_ARB_ES2_compatibility for opengl3
+	  until we generate gl3 compliant shaders
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740012
+
+2014-11-30 00:18:55 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: properly handle the !opengl3 case
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740012
+
+2014-11-28 17:31:07 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	  decklinksink: Drop too late frames and start scheduled playback at the correct time
+
+2014-11-28 16:04:54 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/gl/gstglfilterapp.c:
+	  glfilterapp: fix unused variable compiler warning
+	  When GST_GL_HAVE_OPENGL is 0 or unset.
+
+2014-11-28 15:06:42 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksrc.cpp:
+	  decklinksrc: For the source, unsetting the callback already deletes it
+
+2014-11-14 11:19:45 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	  decklinksink: Wait for the pipeline clock instead of the decklink clock
+	  Otherwise we're going to starve other elements if the decklink clock
+	  is slower than the pipeline clock, or starts much later.
+	  Of course this will still cause problems if the decklink clock and ours are
+	  completely out of sync, or running at a very different rate. But this at least
+	  works better now.
+
+2014-11-14 10:58:53 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	* sys/decklink/gstdecklinksink.h:
+	  decklinksink: Schedule video frames according to their timestamps, not according to a frame counter
+
+2014-11-14 11:02:01 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	  decklinksink: Add some FIXME comments about synchronization
+
+2014-11-14 10:38:33 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/capture.cpp:
+	* sys/decklink/gstdecklinksrc.cpp:
+	* sys/decklink/gstdecklinksrc.h:
+	  decklinksrc: Sample the pipeline clock for the timestamps instead of coming up with our own
+	  If we just count the frames and calculate timestamps from that, all frames
+	  will arrive late in the sink as we have a live source here. Instead take
+	  the pipeline clock at capture time as reference.
+
+2014-11-28 14:50:18 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/capture.h:
+	* sys/decklink/gstdecklinksrc.cpp:
+	* sys/decklink/gstdecklinksrc.h:
+	  decklinksrc: Handle callback/delegate object the same way as in the sink
+	  Potentially fixes crashes.
+
+2014-11-28 14:46:06 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	* sys/decklink/gstdecklinksink.h:
+	  decklinksink: Don't crash when going to READY another time
+	  We have to handle the callback object a bit different:
+	  a) it needs a virtual destructor
+	  b) we need to set the callback to NULL when we're done with the output
+	  c) create a new one every time
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740616
+
+2014-11-28 10:23:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Failure to map a video frame is not just a warning
+	  Also add some warning debug output if mapping a output buffer fails
+
+2014-11-28 10:22:44 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Failure to map a video frame is not just a warning
+
+2014-11-28 14:08:40 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	  glfilterapp is now available on gles2 as well so build it
+
+2014-11-28 13:04:21 +1100  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
+	  gl: fixup compat definition for GLuint64 for OS X
+
+2014-11-28 11:56:10 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
+	  gl: add compat definition for GLuint64 for android
+	  ../../../../gst-libs/gst/gl/glprototypes/sync.h:41:23: error: unknown type name 'GLuint64'
+	  GLuint64 timeout))
+
+2014-11-28 02:21:49 +0900  Danny Song <danny.song.ga@gmail.com>
+
+	* gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+	  basecamerasrc: fix typo in docs
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740815
+
+2014-11-28 11:11:43 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsync: fix build with desktop gl
+
+2014-11-28 11:04:22 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglcolorscale.c:
+	  gl: fix typo in #if
+	  GST_GL_API_HAVE_OPENGL doesn't exist
+
+2014-11-28 10:59:46 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/effects/gstgleffectssources.h:
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstgleffects.c:
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  gl: fix various build errors without desktop gl
+
+2014-11-28 10:03:18 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gldisplay: fix build error
+	  gstgldisplay.c:234:541: error: 'return' with no value, in function returning non-void [-Werror]
+	  g_return_if_fail (GST_IS_GL_DISPLAY (display));
+
+2014-11-27 21:05:45 +1100  Matthew Waters <matthew@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* ext/gl/gstglbumper.c:
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstgldeinterlace.c:
+	* ext/gl/gstgldifferencematte.c:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstglfilterapp.c:
+	* ext/gl/gstglfilterblur.c:
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfilterglass.c:
+	* ext/gl/gstglfilterlaplacian.c:
+	* ext/gl/gstglfilterreflectedscreen.c:
+	* ext/gl/gstglfiltershader.c:
+	* ext/gl/gstglfiltersobel.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstglmosaic.c:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstglvideomixer.c:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstgldisplay.h:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  gldisplay: implement runtime GL api filtering
+	  Needed so that the pipeline/application can limit the choice of GL api
+	  to what it supports
+
+2014-11-27 16:17:50 +1100  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* ext/gl/Makefile.am:
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfiltercube.h:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstopengl.c:
+	* gst-libs/gst/gl/gstglapi.h:
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	* gst-libs/gst/gl/gstglframebuffer.h:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	* tests/examples/gl/generic/cube/main.cpp:
+	* tests/examples/gl/generic/cubeyuv/main.cpp:
+	* tests/examples/gl/generic/doublecube/main.cpp:
+	* tests/examples/gl/generic/recordgraphic/main.cpp:
+	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
+	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
+	* tests/examples/gl/sdl/sdlshare.c:
+	  gl: remove the use of glu
+
+2014-10-17 15:22:24 +0200  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/Makefile.am:
+	* gst-libs/gst/gl/gl.h:
+	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
+	* gst-libs/gst/gl/glprototypes/sync.h:
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	* gst-libs/gst/gl/gstglsyncmeta.h:
+	  gl: add a sync meta for synchronizing across GL contexts
+	  A context can create a GLsync object that can be waited on in order
+	  to ensure that GL resources created in one context are able to be
+	  used in another shared context without any chance of reading invalid
+	  data.
+	  This meta would be placed on buffers that are known to cross from
+	  one context to another.  The receiving element would then wait
+	  on the sync object to ensure that the data to be used is complete.
+
+2014-10-17 15:08:29 +0200  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/glprototypes/Makefile.am:
+	* gst-libs/gst/gl/glprototypes/all_functions.h:
+	* gst-libs/gst/gl/glprototypes/sync.h:
+	  glprototypes: add sync function definitions
+
+2014-11-17 18:06:20 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfilterapp.c:
+	* ext/gl/gstopengl.c:
+	  glfilterapp: port to gles2 and gl3
+
+2014-11-14 23:24:48 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgloverlay.h:
+	  gloverlay: support gl3
+
+2014-11-14 00:20:10 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	* ext/gl/gstglvideomixer.h:
+	  glvideomixer: add support for gl3
+
+2014-11-13 21:30:38 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfiltercube.h:
+	  glfiltercube: add a gl3 code path
+
+2014-11-13 15:09:04 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfiltershader.c:
+	  glfiltershader: support gl3
+
+2014-11-13 12:12:46 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstgltransformation.h:
+	  gltransformation: support gl3
+
+2014-11-12 23:48:32 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/effects/gstgleffectidentity.c:
+	* ext/gl/effects/gstgleffectmirror.c:
+	* ext/gl/effects/gstgleffectsqueeze.c:
+	* ext/gl/effects/gstgleffectssources.c:
+	  gleffects: support gl3 whereever gles2 is supported
+
+2014-11-12 23:47:13 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstglcolorscale.h:
+	  glcolorscale: support gl3
+
+2014-11-12 22:49:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  glfilter: add a gl3 code path using vao's and vbo's
+
+2014-11-12 22:48:04 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	  glframebuffer: add support for gl3
+
+2014-10-23 22:35:20 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcolorconvert.h:
+	  glcolorconvert: add support for gl3
+
+2014-10-21 22:18:51 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: use vbo's and vao's for gl3
+
+2014-10-21 19:30:38 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglshader.c:
+	* gst-libs/gst/gl/gstglshader.h:
+	  glshader add support for gl3
+
+2014-10-19 08:09:37 +0400  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
+	  glx: ask for a GL3 core context
+
+2014-11-27 21:22:44 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Minor cleanup
+
+2014-11-26 15:02:14 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	* gst/compositor/compositorpad.h:
+	  compositor: Implement rescaling of the input via pad properties
+	  compositor has now the same interface as glvideomixer.
+
+2014-11-27 20:34:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Copy over more fields from the relevant video-info
+	  gst_video_info_set_format() will reset the complete video-info, but
+	  we want to keep values like the PAR, colorimetry and chroma site.
+	  Otherwise we risk setting different values on the srcpad caps than
+	  what is actually inside the buffers.
+
+2014-11-27 20:25:29 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Directly use the converters video-info instead of recalculating it
+
+2014-11-27 19:52:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Do source pad negotiation only from the aggregated function
+	  Otherwise we might negotiate from the sinkpad streaming threads at
+	  the same time as on the srcpad streaming thread, and then all kinds
+	  of crazy bugs happen that don't make any sense at all.
+
+2014-11-27 18:46:03 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregatorpad.h:
+	  videoconvert: Hide all conversion related fields
+	  And do not delay the setting of the conversion_info
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740768
+
+2014-11-27 16:43:39 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Do not try to resize a buffer to a negative size on EOS
+
+2014-11-26 18:24:05 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* ext/gl/gstglmixer.c:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregatorpad.h:
+	  videoaggregator: Expose vmethods to set converters and prepare/clean frames
+	  This gives more flexibility to the subclasses and permits to remove the
+	  GstVideoAggregatorClass->disable_frame_conversion ugly API.
+	  WARNING: This breaks the API as it removes the disable_frame_conversion
+	  field
+	  API:
+	  + GstVideoAggregatorClass->find_best_format
+	  + GstVideoAggregatorPadClass->set_format
+	  + GstVideoAggregatorPadClass->prepare_frame
+	  + GstVideoAggregatorPadClass->clean_frame
+	  - GstVideoAggregatorClass->disable_frame_conversion
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740768
+
+2014-11-26 15:41:37 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/debugutils/gstwatchdog.c:
+	* gst/debugutils/gstwatchdog.h:
+	  watchdog: Handle FLUSHING seek events even in PAUSED state
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740757
+
+2014-11-26 15:43:12 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/debugutils/gstwatchdog.c:
+	* gst/debugutils/gstwatchdog.h:
+	  watchdog: Properly handle PAUSED state
+	  In PAUSED state we should just preroll, so get one buffer
+	  and stop monitoring.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740757
+
+2014-10-31 11:01:47 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Let a full renegotiation happen after removing the last pad
+	  With the current code, we will end up setting the preferred downstream
+	  format as the srcpad format, and it might not be accepted by the next
+	  sinkpad to be added. We should instead let the next sinkpad reconfigure
+	  everything.
+
+2014-11-27 13:40:56 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: add quality property
+
+2014-11-27 13:33:07 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/Makefile.am:
+	* sys/applemedia/vtenc.c:
+	  vtenc: set profile and level in caps
+
+2014-11-27 18:09:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: Unref buffer with the correct function
+
+2014-11-27 18:09:14 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: Handle failure of memory allocation gracefully
+
+2014-11-27 18:04:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: Use g_try_malloc() in the appropriate places
+	  g_malloc() aborts if allocation fails, it's pointless to check against NULL
+	  afterwards. That's why g_try_malloc() exists.
+
+2014-11-27 17:11:13 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From f32cfcd to ef1ffdc
+
+2014-11-27 10:48:43 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: support RGB16/BGR16 video format download
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740801
+
+2014-11-27 13:01:19 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: only attempt a resize when the window has already resized
+	  fixes a black startup screen on wayland
+
+2014-11-27 11:47:38 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+	  gl/wayland: implement resizing the window using the right mouse button
+
+2014-11-26 22:05:10 +0530  Arun Raghavan <git@arunraghavan.net>
+
+	* common:
+	* configure.ac:
+	  build: Use newer AX_PTHREAD instead of ACX_PTHREAD
+
+2014-11-26 14:36:42 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* sys/Makefile.am:
+	* sys/qtwrapper/Makefile.am:
+	* sys/qtwrapper/audiodecoders.c:
+	* sys/qtwrapper/codecmapping.c:
+	* sys/qtwrapper/codecmapping.h:
+	* sys/qtwrapper/imagedescription.c:
+	* sys/qtwrapper/imagedescription.h:
+	* sys/qtwrapper/qtutils.c:
+	* sys/qtwrapper/qtutils.h:
+	* sys/qtwrapper/qtwrapper.c:
+	* sys/qtwrapper/qtwrapper.h:
+	* sys/qtwrapper/videodecoders.c:
+	  Remove unported and obsolete qtwrapper plugin code
+	  QuickTime is deprecated, we want new plugins based
+	  on avfoundation (osx) or dxva/mediafoundation (windows).
+
+2014-11-27 01:27:19 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: support fixed dimensions on both sides of the element
+	  Fixes:
+	  width=320,height=240 ! glfilter ! width=800,height=600
+	  width=230,height=240 ! glfilter ! width=600
+	  ... ! glfilter ! width=800
+
+2014-11-25 13:33:07 +1100  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	  gl: fix automagic disabling of desktop GL
+	  If configure finds GL + GLES2 but the user passes --enable-gles2 and
+	  the two GL API's cannot be built against together, configure was still
+	  allowing the desktop GL stack to be built.
+
+2014-11-26 13:06:21 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Also sync pad properties to the controller if conversion is disabled
+
+2014-11-26 12:35:52 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	* gst/compositor/compositorpad.h:
+	  compositor: Remove unused zorder pad property
+	  It's handled in videoaggregator already.
+
+2014-11-23 23:49:50 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	* gst-libs/gst/codecparsers/nalutils.h:
+	  codecparsers: fix some compiler warnings
+	  i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1
+	  "warning: comparison is always true due to limited
+	  range of data type"
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740673
+
+2014-11-25 18:53:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: GstVideoMeta is supported just fine, tell upstream about that
+	  Also provide a GstVideoBufferPool to upstream just in case.
+
+2014-11-24 13:25:55 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/winks/gstksvideodevice.c:
+	* sys/winks/ksvideohelpers.c:
+	  winks: fix debug message format issues
+	  And print last bits of GUID properly instead
+	  of printing nonsense.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733055
+
+2014-11-25 08:24:16 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/mpegts/gst-dvb-descriptor.c:
+	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+	  mpegts: fix some compiler warnings
+	  i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1
+	  "warning: comparison is always true due to limited
+	  range of data type"
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740674
+
+2014-11-24 19:53:56 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: use pkg-config to detect X11
+	  Like we do in -base and -good now.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731047
+
+2014-11-24 19:21:29 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Use a fixed number of slices by default
+
+2014-11-24 19:16:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Add some more encoding properties
+	  Merged from https://github.com/EricssonResearch/openwebrtc-gst-plugins
+	  based on a patchset by Robert Swain <robert.swain@ericsson.com>
+
+2014-11-24 18:40:53 +0530  Ramprakash Jelari <ramprakash.jelari@e-consystems.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: Fix unused variable warning by moving declaration where it is actually used
+
+2014-11-24 14:07:19 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	  decklink: Add support for 2k modes
+
+2014-11-24 13:56:56 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: HD1080i50 is 50 frames per second
+
+2014-11-24 17:58:42 +0530  Ramprakash Jelari <ramprakash.jelari@e-consystems.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  mpegtspacketizer: Fix format string compiler warning
+
+2014-11-24 17:18:44 +0530  Ramprakash Jelari <ramprakash.jelari@e-consystems.com>
+
+	* gst-libs/gst/mpegts/gst-dvb-section.c:
+	  dvbsection: Fix format string compiler warning
+
+2014-11-24 16:54:42 +0530  Ramprakash Jelari <ramprakash.jelari@e-consystems.com>
+
+	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+	  mpegtsdescriptor: Fix format string compiler warning
+	  gstmpegtsdescriptor.c:778:16: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat]
+
+2014-11-24 11:32:33 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: Fix valid compiler warning
+	  gstglupload.c:442:32: error: if statement has empty body [-Werror,-Wempty-body]
+	  if (upload->texture_ids[i]);
+	  ^
+
+2014-11-24 10:43:23 +0100  Philippe Normand <philn@igalia.com>
+
+	* gst-libs/gst/gl/egl/Makefile.am:
+	  gl: ship the gstglcontext_egl.h header
+	  It is required by gsteglimagememory.h.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740611
+
+2014-11-23 21:43:20 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/gl/gstglshadervariables.c:
+	  gl: shadervariables: make parsing of floats locale-independent
+	  Floating point numbers are written differently in different
+	  locales, e.g. in many countries 1/2 = 0,5 instead of 0.5, and
+	  strtod will not be able to parse "0.5" correctly in such a
+	  locale.
+
+2014-11-24 02:52:24 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglshadervariables.c:
+	  glshadervariables: also trim \r as well as \n
+
+2014-11-05 20:18:06 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstglmixer.c:
+	* gst-libs/gst/gl/egl/gsteglimagememory.c:
+	* gst-libs/gst/gl/egl/gsteglimagememory.h:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstglupload.h:
+	* tests/check/libs/gstglupload.c:
+	  glupload: rearchitecture for non GLMemory inputs/outputs
+	  Allows other memory types to be implemented/returned/used by the caller.
+
+2014-11-14 10:55:14 +0900  Wonchul Lee <wonchul86.lee@lge.com>
+
+	* gst/rawparse/gstrawparse.c:
+	  rawparse: send SEEKING query upstream first
+	  Sometimes rawparse does not handle the seeking query
+	  properly, the rawparse should send the query upstream
+	  first. For example, upstream could support seeking in
+	  TIME format (but not in BYTE format), so the BYTE format
+	  seeking query that rawparse sends in push mode would
+	  fail.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=722764
+
+2014-11-21 15:46:49 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: let VT pick the bitrate by default
+
+2014-11-20 10:23:30 -0800  Aleix Conchillo Flaqué <aleix@oblong.com>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: fix rtp/rtcp sink event memory leak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740451
+
+2014-11-20 16:04:34 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: set H264_Baseline_AutoLevel on OSX as well
+
+2014-11-20 15:50:18 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: disable the reorder queue for baseline streams
+
+2014-11-20 09:41:43 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Fix divide by zero in the picture buffer length calculation
+
+2014-11-20 09:13:58 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: critical error while seek playback-test(stop state)
+	  If we seek when media is in stop state, playback-test gives
+	  critical error, since context of glimagesink is destroyed during stop.
+	  But since context is not present, we need not handle send_event in glimagesink
+	  Hence adding a condition to check if context is valid.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740305
+
+2014-11-19 17:17:06 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Unblock events/queries immediately if the pad is flushing
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740376
+
+2014-11-19 17:15:02 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Drop serialized events/queries if the pad is flushing
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740376
+
+2014-11-19 17:03:41 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Block serialized events/queries until the pad has consumed all buffers
+	  Otherwise the caps of the pad might change while the subclass still works with
+	  a buffer of the old caps, assuming the the current pad caps apply to that
+	  buffer. Which then leads to crashes and other nice effects.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740376
+
+2014-11-19 17:02:40 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Don't output 0-duration buffers at the segment end
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740376
+
+2014-11-19 17:03:33 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Fix typo in debug output
+
+2014-11-17 14:05:01 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: fix up QoS handling for live sources
+	  Only attempt adaptive drop when we are not live
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739996
+
+2014-11-17 14:00:10 +1100  Matthew Waters <matthew@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: add _get_latency() for subclass usage
+	  API: gst_aggregator_get_latency
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739996
+
+2014-11-17 09:36:52 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: build errors when GST_GL_HAVE_OPENGL is 0
+	  Moving variables within #if GST_GL_HAVE_OPENGL, which are not going to be used otherwise.
+	  and which are needed only when OpenGl is present
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740235
+
+2014-11-17 11:10:35 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* tests/examples/opencv/gsthanddetect_test.c:
+	  examples: relicense opencv gsthanddetect_test to LGPLv2+
+	  The GPL3 license header was copy'n'pasted from a
+	  neighbouring source file by mistake, the original
+	  code was not GPL3 licensed, but fell under the
+	  default GStreamer license, which is LGPLv2+.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=685655
+
+2014-11-17 18:50:28 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: add read-only context property
+
+2014-11-17 18:50:04 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: add read-only context property
+
+2014-11-11 17:08:25 +0900  Hyunjun Ko <zzoonis@gmail.com>
+
+	* tests/examples/opencv/gst_element_print_properties.c:
+	  opencv-example: Use g_snprintf instead of sprintf
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739846
+
+2014-11-16 20:32:56 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@sisa.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: drop explicit comparisons against 0 for true/false
+
+2014-11-16 11:00:14 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Only use convertRectToBacking on OSX >= 10.7
+	  It does not exist before and older versions also don't have
+	  support for HiDPI displays anyway.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740201
+
+2014-11-16 10:57:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* gst-libs/gst/gl/gstglapi.h:
+	  gl: Use numeric OSX version instead of the macro
+	  The macro is not defined on older OSX versions and evaluates to 0.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740201
+
+2014-11-15 21:59:48 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/dvb/dvbbasebin.c:
+	  dvbbasebin: fix possible crash by passing 64 bits for 64-bit queue property
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740191
+
+2014-11-14 10:40:31 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/capture.cpp:
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklinksrc.cpp:
+	  decklink: Fix indention
+
+2014-11-10 10:01:24 +0100  Gwenole Beauchesne <gb.devel@gmail.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	  codecparsers: h264: fix derivation of MaxPicNum variable.
+	  The logic to compute the MaxPicNum variable was reversed. In paricular,
+	  MaxPicNum is double MaxFrameNum only if field_pic_flag is set to 1.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739291
+
+2014-11-13 12:01:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Don't override the application delegate
+	  Otherwise interesting things will happen in Cocoa applications, like
+	  infinite event loops that block the NSApplication loop forever.
+	  This was only needed for GNUStep and thus can safely be removed now.
+
+2014-11-13 11:58:07 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
+	  gl/cocoa: Remove GNUStep support
+	  Until gcc and GNUStep properly support Objective-C blocks and other
+	  "new" features of Objective-C we can't properly support them without
+	  making the code much more ugly.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739152
+
+2014-11-12 18:06:45 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosink.h:
+	  interaudiosink: Make sure to store at least period-time samples at once in the adapter
+	  It's better to create some more silence than having the source pull multiple
+	  short buffers out of the adapter and insert silence between them.
+
+2014-11-12 16:45:12 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: fix build on iOS
+
+2014-11-12 15:35:36 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/coremediabuffer.c:
+	  coremediabuffer: set ->pixel_buf for CVPixelBuffer buffers
+	  Fix a bug for which we never actually set ->pixel_buf to non-NULL for
+	  CVPixelBuffer buffers.
+
+2014-06-06 13:57:30 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/faad/gstfaad.c:
+	  faad: set channel positions using the appropriate API
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731038
+
+2014-11-12 13:58:56 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Stop showing the current frame after 1 second, not after 30 frames
+
+2014-11-12 09:41:53 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* tests/check/Makefile.am:
+	  tests: add CFLAGS and LADD for glimagesink unit test
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732694
+
+2014-11-12 11:52:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Add new enable-frame-skip property and disable it by default
+	  Otherwise e.g. videotestsrc ! openh264enc ! ... will drop every second frame
+	  because otherwise the target bitrate can't be reached without loosing too
+	  much quality.
+
+2014-11-12 09:59:53 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: fix compilation on < 10.9
+
+2014-11-12 11:44:07 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: don't set the upload to NULL on the drain query
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732694
+
+2014-11-11 17:04:48 +0900  Hyunjun Ko <zzoonis@gmail.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  gl: Correct invalid comment text
+
+2014-11-11 23:54:44 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/glimagesink.c:
+	  gl: add unit test that checks for glimagesink drain query handling
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732694
+
+2014-11-11 23:49:59 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: release stored buffers on drain query
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732694
+
+2014-11-11 23:43:42 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  gl: do not raise a critical msg if the backend does not handle window events
+	  Fix "assertion 'window_class->handle_events != NULL' failed"
+	  if not using a X11 window.
+
+2014-11-11 18:01:54 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: enable the hw encoder on OSX
+
+2014-11-11 12:00:30 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	  decklinksink: Check the correct variable for failure
+	  If we can't get an output, we would otherwise just use it later and crash.
+
+2014-11-11 11:18:19 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudiosrc: Make sure we have a writable buffer before we start changing metadata
+
+2014-11-11 11:15:35 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Set the GAP flag on repeated buffers
+	  videorate does the same and it allows optimizations downstream.
+
+2014-11-11 11:12:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudiosrc: Set the GAP flag on buffers that only contain silence
+
+2014-11-11 14:23:55 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: remove the width/height fields from the caps to support frame resizing
+	  It was previously only occuring with sysmem caps features
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739334
+
+2014-11-10 17:42:20 +0100  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	  h264parser: fix GstH264ParserResult documentation typo
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739906
+
+2014-11-10 16:01:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/elements/.gitignore:
+	  tests: Add x265enc unit test to .gitignore
+
+2014-11-09 20:53:34 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/videoparsers/gstpngparse.c:
+	  pngparse: optimise reading of png files
+	  Read PNG data chunk in one go by letting the parser
+	  base class know the size we need, so that it doesn't
+	  drip-feed us small chunks of data (causing a lot of
+	  reallocs and memcpy in the process) until we have
+	  everything.
+	  Improves parsing performance of very large PNG files
+	  (65MB) from ~13 seconds to a couple of millisecs.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736176
+
+2014-11-09 19:23:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/examples/mpegtsmux/mpts_test2.c:
+	  examples: remove pointless mpegtsmux example
+	  Serves no purpose, is not even hooked up to the
+	  build system, has hard coded file names and paths,
+	  and can easily be replaced with a gst-launch line.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739844
+
+2014-11-09 10:25:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: Don't pretend to support reconfiguration
+	  We will run into an assertion in set_caps() if we try to change
+	  caps while the source is already running. Don't try to find new
+	  caps in GstBaseSrc::negotiate() to prevent caps changes.
+
+2014-10-09 13:11:48 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: set seq_layer_sent to FALSE on reset()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738526
+
+2014-10-09 13:03:56 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	* gst/videoparsers/gstvc1parse.h:
+	  vc1parse: implement asf to *-frame-layer stream-format
+	  This commit add an helper to convert a frame to frame-layer format and
+	  use it to implement these two stream-format conversion:
+	  - asf --> sequence-layer-frame-layer
+	  - asf --> frame-layer
+	  In simple/main profile, we basically have a raw frame, so building a
+	  frame layer isn't too complicated. But in advanced profile, the first
+	  frame-layer should contain sequence-header, entrypoint, and frame and
+	  each keyframe should contain entrypoint, so we have to handle these
+	  carefully.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738526
+
+2014-10-09 10:38:40 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: check output format at negotiation time
+	  Add an helper to check that output stream-format is coherent with
+	  profile and header-format. It also check if we know how to do the
+	  conversion if the input stream-format differs from selected
+	  output-format.
+	  So, in case output stream-format is not allowed, it will now fail at
+	  negotiation rather than in pre_push_frame.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738526
+
+2014-09-30 15:35:38 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: add some asf related stream-format conversions
+	  This commit introduces an helper to convert an ASF frame to BDUs format with
+	  startcodes and use this helper to implements following stream-format
+	  conversions:
+	  - asf --> bdu
+	  - asf --> sequence-layer-bdu
+	  - asf --> sequence-layer-raw-frame
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738526
+
+2014-09-30 15:28:55 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	* gst/videoparsers/gstvc1parse.h:
+	  vc1parse: add some simple stream-format conversion
+	  It add the support of following stream-format conversion:
+	  - bdu --> sequence-layer-bdu
+	  - bdu-frame --> sequence-layer-bdu-frame
+	  - frame-layer --> sequence-layer-frame-layer
+	  For these conversion, the only requirements is to push a sequence-layer
+	  buffer prior to data.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738526
+
+2014-09-30 14:53:25 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: prepare the stream-format conversion code and add the simplest ones
+	  It prepares the template for stream-format conversion and it implements
+	  the following conversion:
+	  - sequence-layer-bdu --> bdu
+	  - sequence-layer-bdu-frame --> bdu-frame
+	  - sequence-layer-frame-layer --> frame-layer
+	  Work is done in the pre_push_frame() method.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738526
+
+2014-09-05 17:57:47 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: do not override last known stream error
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736141
+
+2014-11-07 19:30:18 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/smoothstreaming/gstmssmanifest.c:
+	* ext/smoothstreaming/gstmssmanifest.h:
+	  mssdemux: seeks in the manifest never fail
+	  Set void as the return and remove error handling as it could
+	  never fail
+
+2014-11-07 19:16:47 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: make sure flushes have the same seqnum as the seek event
+	  They are part of the same operation and should preserve the seqnum
+
+2014-11-07 19:09:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: simplify seek to eos handling
+	  Remove redundant flush stop pushing and remove a goto to make
+	  the code flow simpler
+
+2014-09-17 15:22:59 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: send missing FLUSH_STOP/EOS when no seeking period is found
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736800
+
+2014-11-07 15:50:51 +0100  Josep Torra <n770galaxy@gmail.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	* gst/videoparsers/gsth264parse.h:
+	  h264parse: set the HEADER flag on buffers containing SPS or PPS
+
+2014-11-07 15:41:15 +0100  Josep Torra <n770galaxy@gmail.com>
+
+	* gst/videoparsers/gsth265parse.c:
+	* gst/videoparsers/gsth265parse.h:
+	  h265parse: set the HEADER flag on buffers containing VPS, SPS or PPS
+
+2014-11-07 11:41:01 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/Makefile.am:
+	* pkgconfig/gstreamer-gl.pc.in:
+	  gstglconfig: Put gstglconfig.h into $(libdir)/gstreamer-1.0/include
+	  It's architecture dependent and should not be placed into the include
+	  directory as the assumption is that all those headers are architecture
+	  independent.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739767
+
+2014-11-07 00:16:12 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/smoothstreaming/gstmssmanifest.c:
+	  smoothstreaming: initialise new GstH264NalUnit fields
+	  CID #1251107.
+
+2014-11-06 23:58:06 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: don't make gst_glimage_sink_handle_events call _ensure_gl_setup
+	  gst_glimage_sink_handle_events can be called from the overlay interface and from
+	  the main thread before GL is setup. Before this change, that would call
+	  _ensure_gl_setup() and deadlock on OSX.
+	  Change things so that it's always safe to call gst_glimage_sink_handle_events()
+	  without stuff deadlocking.
+
+2014-11-06 23:55:20 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: fix possible deadlock on osx
+	  Remove gst_glimage_sink_handle_events call in gst_glimage_sink_init. It was
+	  unnecessary and when the element was instantiated from the main thread, caused a
+	  deadlock in OSX creating the context (thread).
+
+2014-11-06 13:22:17 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: add realtime and allow-frame-reordering properties
+
+2014-11-07 10:01:59 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: clamp the resize width/height to >= 1 to avoid a GL error
+
+2014-11-06 17:36:15 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Print a warning into the debug log on generating black frames
+
+2014-11-06 17:21:39 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintervideosink.c:
+	  intervideosink: Add some debug output in the render function
+
+2014-11-06 11:53:04 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/videoparsers/gsth265parse.c:
+	  h265parse: don't unnecesarily set src_caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739374
+
+2014-10-29 22:55:47 +0100  Matej Knopp <matej.knopp@gmail.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: don't unnecesarily set src_caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739374
+
+2014-11-06 18:43:01 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	  glutils: only attempt getting the app context when we don't already have a display
+	  avoids querying/messaging the world on each frame
+
+2014-11-06 18:37:23 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: fail context creation if glGetString returns NULL
+
+2014-10-29 12:24:16 +0100  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  glimagesink: implement gst_video_overlay_handle_events
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736035
+
+2014-11-04 15:16:33 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudiosrc: Fix compiler warning about unused variables
+	  gstinteraudiosrc.c: In function 'gst_inter_audio_src_create':
+	  gstinteraudiosrc.c:339:27: error: variable 'buffer_samples' set but not used [-Werror=unused-but-set-variable]
+	  guint64 period_samples, buffer_samples;
+	  ^
+
+2014-11-04 14:56:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstinteraudiosrc.h:
+	* gst/inter/gstintersurface.c:
+	* gst/inter/gstintersurface.h:
+	  interaudio: Make buffer size and latency handling more explicit and add properties for them
+	  This now makes audio work more reliable without disconts.
+
+2014-11-04 13:59:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	  interaudiosink: Use the bpf from the audio info instead of hardcoding 4
+
+2014-11-04 13:58:44 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudio: Only flush the ringbuffer on the sink side
+
+2014-11-04 13:46:46 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	  interaudiosink: Flush the adapter when we get new caps
+	  Ideally we would drain the source but that would require more coordination
+	  between sink and source than what we currently have.
+
+2014-11-04 09:52:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  gl/cocoa: include gl3.h in configure too for consistency with gstglapi.h
+
+2014-11-03 20:45:03 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/insertbin/gstinsertbin.c:
+	  insertbin: Add doc for the ignored user-data in action signals
+
+2014-11-03 23:24:33 +0000  Julien Isorce <julien.isorce@gmail.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: use NSAutoreleasePool to free resize data
+	  Otherwise when resizing the window you will also get messages like:
+	  class NSConcreteMapTable autoreleased with no pool in place - just leaking
+	  class NSConcreteValue autoreleased with no pool in place - just leaking
+	  class NSConcreteValue autoreleased with no pool in place - just leaking
+	  class __NSCFDictionary autoreleased with no pool in place - just leaking
+
+2014-11-03 23:08:09 +0000  Julien Isorce <julien.isorce@gmail.com>
+
+	* gst-libs/gst/gl/gstglapi.h:
+	  gl/cocoa: include gl3.h to have GL_CONTEXT_PROFILE_MASK
+
+2014-11-03 23:07:34 +0000  Julien Isorce <julien.isorce@gmail.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: make sure to turn on frame rectangle changes notifications
+	  Default value of property postsFrameChangedNotifications is YES
+	  but it is worth to explicitly enable it.
+
+2014-11-03 23:02:17 +0000  Julien Isorce <julien.isorce@gmail.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: fix uncaught exception 'unrecognized selector sent to instance'
+	  Need to set the ':' as the reshape method now takes one parameter.
+	  For the story, the GstGLNSView was previously inheriting from
+	  NSOpenGLView which has a reshape function without any parameter.
+	  Now the GstGLNSView inherits from NSView and we re-use the reshape
+	  function manually.
+
+2014-11-03 22:59:41 +0000  Julien Isorce <julien.isorce@gmail.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: fix compiler warning
+	  Use the reshape function after being defined. The other way
+	  would have been to declare the reshape function in the header.
+	  gstglwindow_cocoa.m: In function '-[GstGLNSView drawRect:]':
+	  gstglwindow_cocoa.m:555: warning: 'GstGLNSView' may not respond to '-reshape'
+	  gstglwindow_cocoa.m:555: warning: (Messages without a matching method signature
+	  gstglwindow_cocoa.m:555: warning: will be assumed to return 'id' and accept
+	  gstglwindow_cocoa.m:555: warning: '...' as arguments.)
+
+2014-11-03 16:54:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Negotiate framerate with downstream
+	  Prefer the closest framerate to the input framerate though.
+
+2014-11-03 16:24:33 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstintervideosrc.c:
+	  inter*src: No need to set caps manually on the pad
+	  basesrc does that for us already.
+
+2014-11-03 16:13:23 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Swap source/destination parameters of gst_video_converter_frame()
+
+2014-11-03 15:19:48 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  inter: fix order of arguments
+
+2014-11-03 10:05:59 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudio: Set all required fields on the template caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739542
+
+2014-11-03 00:17:41 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  gl: fix Since marker for gst_gl_window_run_navigation()
+
+2014-11-02 23:24:39 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/inter/gstintersurface.c:
+	  inter: don't leak surface name
+
+2013-09-03 11:11:54 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: start pushing data again when a pad gets linked later
+	  The whole not_linked optimisation is really a bit dodgy here, but
+	  let's leave it in place for now and at least start pushing data
+	  again when a pad got linked later, in which case we should get a
+	  RECONFIGURE event.
+
+2013-09-02 23:36:43 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	* gst/mpegdemux/gstmpegdemux.h:
+	* gst/mpegdemux/plugin.c:
+	  mpegdemux: namespace fixes
+
+2014-11-02 19:26:20 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  audiovisualizer: post QoS messages when dropping frames due to QoS
+
+2014-11-02 19:12:56 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.h:
+	  audiovisualizer: fix boilerplate macros
+
+2014-11-02 17:18:12 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/hls/gsthlsdemux.c:
+	* ext/smoothstreaming/gstmssdemux.c:
+	* sys/dvb/dvbbasebin.c:
+	* sys/dvb/gstdvbsrc.c:
+	  Sprinkle some G_PARAM_DEPRECATED and #ifndef GST_REMOVE_DEPRECATED
+
+2014-11-02 17:17:46 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hls: fix indentation
+
+2014-10-29 18:18:07 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/gl/gstglshadervariables.c:
+	  glshader: Fix memory leak
+	  Memory is only freed in the TRUE clause of the if conditional. Free in the else
+	  clause as well.
+	  Also, consolidate g_malloc + sprintf into a g_strdup_printf().
+	  CID #1212171
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739368
+
+2014-11-01 10:10:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* ext/opus/gstrtpopusdepay.c:
+	* ext/opus/gstrtpopuspay.c:
+	  rtpopus: Use OPUS encoding name
+	  Both Firefox and Chrome uses OPUS as the encoding in their SDP.
+	  Adding this now defacto standard name remove the need for special
+	  case in SDP parsing code.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737810
+
+2014-10-31 17:32:56 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+	* ext/smoothstreaming/gstmssmanifest.c:
+	  mssdemux: add type of stream to debug log
+	  Makes it faster to debug why certain streams are not showing
+
+2014-10-31 17:32:39 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	  mssdemux: do not unlock not locked mutex
+
+2014-10-31 10:45:19 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: fix comments that confuse gtk-doc
+	  GTK-Doc uses a special syntax for code documentation. A multiline comment that
+	  starts with an additional '*' marks a documentation block that will be processed
+	  by the GTK-Doc tools. So GTK-Doc is confused if a comment block starts with that
+	  additional '*' but isn't meant to be processed. Removing this additional '*'.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739444
+
+2014-10-31 12:52:50 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: resize the viewport correctly on a caps change
+	  with force-aspect-ratio=true, if the width or height changed, the
+	  viewport wasn't being updated to respect the new video width and height
+	  until a resize occured.
+
+2014-10-31 12:52:07 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: advertise support for changing input caps mid-stream
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739334
+
+2014-10-31 12:30:53 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstglwindow.c:
+	  gl: sprinkle some Since markers
+
+2014-10-30 14:27:38 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/mpegts/gst-atsc-section.c:
+	  mpegts: remove storage of never used values
+	  Both _parse_atsc_mgt() and  _parse_atsc_vct () change the value of the variable
+	  data just before returning. The new value is never used since data is a pointer
+	  declared at the beginning of the function and going out of scope just after the
+	  new value is stored.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739404
+
+2014-10-30 17:06:01 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstsolarize.c:
+	  gaudieffects: remove < 0 comparison on guint32
+	  Current CLAMP checks both if the value is below 0 or above 255. Considering it
+	  is an unsigned value it can never be less than zero, so that comparison is
+	  unnecessary. Switching to using if just for the upper bound.
+	  CID #1139796
+
+2014-10-30 16:05:14 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstsolarize.c:
+	  gaudieffects: declare floor and ceiling as constants
+
+2014-10-30 15:49:01 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstdilate.c:
+	  gaudieffects: stored value is overwritten
+	  Value from left_luminance is assigned to out_luminance here, but that stored
+	  value is not used before it is overwritten in the next cycle of the loop.
+	  Removing assignation.
+	  CID #1226473
+
+2014-10-24 16:52:42 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	  mpegtsbase: do not remove programs on EOS
+	  As a consequence, tsdemux won't remove its pads anymore on EOS.
+	  Fixes the case when mpegtsbase is not able to process new packets
+	  after EOS as the corresponding pids aren't known anymore because
+	  the programs were removed and the pes/psi were kept, preventing the
+	  PAT to be parsed again.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738695
+
+2014-04-21 11:48:22 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/siren/common.c:
+	  siren: fix sample rate list
+	  It was using a 24000/24000/48000, but I think it meant to use
+	  24000/32000/48000. Not 100% sure...
+	  https://en.wikipedia.org/wiki/G.722.1 has the list of supported
+	  bitrates. It's not clear whether the "flag" code maps to this,
+	  however.
+	  Coverity 206072
+
+2014-10-30 14:49:05 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: remove storage of never used values
+	  These two values are stored just before the function returns and they go out of
+	  scope.
+
+2014-06-10 09:33:40 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstopusenc.c:
+	* ext/opus/gstopusenc.h:
+	  opusenc: update output segment stop time to match clipped samples
+	  This will let oggmux generate a granpos on the last page that properly
+	  represents the clipped samples at the end of the stream.
+
+2014-10-30 18:45:04 +0530  Arun Raghavan <arun@accosted.net>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: Trivial documentation fix
+
+2014-10-30 23:08:00 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: don't get the current caps from GstVideoInfo for the srcpad
+	  It's missing the caps features needed.
+
+2014-10-30 18:57:59 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	* tests/examples/gl/qt/qglwtextureshare/pipeline.cpp:
+	* tests/examples/gl/sdl/sdlshare.c:
+	  gl/examples: update for other-context property removal
+
+2014-10-30 16:48:00 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
+	* gst-libs/gst/gl/win32/gstglcontext_wgl.h:
+	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
+	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
+	  glcontext: add more functionality to wrapped contexts
+	  Implements get_current_context() and get_proc_address() for wrapped
+	  contexts.
+
+2014-10-30 12:43:09 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglshader.c:
+	* gst-libs/gst/gl/gstglshader.h:
+	  glshader: advertise the default vertex and fragment shaders on desktop GL
+
+2014-05-22 13:13:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	  codecparsers: h264: recognize SVC NAL units.
+	  Identify SVC NAL units and tag them as such. This is necessary for
+	  gst_h264_parser_parse_slice_hdr() to fail gracefully, if the user
+	  did not perform the check himself.
+	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2014-10-29 14:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	  codecparsers: h264: fix number of list0 {,non-}anchor refs.
+	  Fix copy-paste error in gst_h264_sps_mvc_copy() where num_anchor_refs_l0
+	  and num_non_anchor_refs_l0 were incorrectly initialized from list1.
+	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2014-10-29 13:51:40 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/libgstcodecparsers.def:
+	  Update .def for new API
+
+2014-10-29 13:15:51 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	  codecparsers: sprinkle some gtk-doc Since: markers for new API
+
+2014-10-29 12:22:14 +0100  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  satisfy gst-indent
+
+2014-10-29 22:23:13 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/gl/gstglfiltercube.c:
+	  glfiltercube: Fix typo in property description
+
+2014-10-29 22:23:02 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	  codecparsers: Initialise nalu extension type to NONE
+	  Always set a default NALU extension type, and override it
+	  when we find a supported extension, to avoid having it unset/random
+	  for unsupported NALU extensions
+
+2014-10-07 16:28:03 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	  h264parser: Fix frame packing SEI parsing
+
+2014-03-25 14:08:44 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	* gst/videoparsers/gsth264parse.c:
+	  codecparsers: h264: add support for Frame Packing Arrangement SEI message.
+	  This parses the frame_packing_arragement() payload in SEI message.
+	  This information can be used by decoders to appropriately rearrange the
+	  samples which belong to Stereoscopic and Multiview High profiles.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=685215
+	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2013-03-08 18:17:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	* gst/videoparsers/gsth264parse.c:
+	  codecparsers: h264: add support for Stereo Video Information SEI message.
+	  Add the necessary payload parsing support for stereo_video_info.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=685215
+	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+2012-10-01 13:36:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	  codecparsers: h264: parse seq_parameter_set_mvc_extension().
+	  https://bugzilla.gnome.org/show_bug.cgi?id=685215
+	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2012-09-26 18:46:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	  codecparsers: h264: parse MVC syntax elements.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=685215
+	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2014-10-29 22:58:37 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	* gst/mpegtsdemux/mpegtspacketizer.h:
+	* gst/mpegtsdemux/mpegtsparse.c:
+	  tsparse: Handle backward and discont timestamps better.
+	  Assume that small backward PCR jumps are just from upstream packet
+	  mis-ordering and don't reset timestamp tracking state - assuming that
+	  things will be OK again shortly.
+	  Make the threshold for detecting discont between sequential buffers
+	  configurable and match the smoothing-latency setting on tsparse
+	  to better cope with data bursts.
+
+2014-10-29 22:58:37 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	* gst/mpegtsdemux/mpegtsbase.h:
+	* gst/mpegtsdemux/mpegtsparse.c:
+	* gst/mpegtsdemux/mpegtsparse.h:
+	  tsparse: Implement timestamp/retimestamping of output buffers
+	  When the set-timestamps property is set, use PCRs on the provided
+	  (or autodetected) pcr-pid to apply (or replace) timestamps on the
+	  output buffers, using piece-wise linear interpolation.
+	  This allows tsparse to be used to stream an arbitrary mpeg-ts file,
+	  or to smooth jittery reception timestamps from a network stream.
+	  The reported latency is increased to match the smoothing latency if
+	  necessary.
+
+2014-10-29 10:09:35 +0100  Vincent Abriou <vincent.abriou@st.com>
+
+	* configure.ac:
+	  configure.ac: auto decision to include GL library fails
+	  The part of the configure.ac that consist to check if we
+	  can include both GL and GLES2 at the same time is failing.
+	  Indeed, in the case NEED_GLES2=yes and NEED_OPENGL=auto,
+	  HAVE_OPENGL variable is updated whereas it should be HAVE_GL
+	  variable that has to be updated (HAVE_OPENGL variable is not
+	  used in the rest of the configure.ac).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739348
+	  Signed-off-by: Vincent Abriou <vincent.abriou@st.com>
+	  Reviewed-by: Benjamin GAIGNARD <benjamin.gaignard@linaro.org>
+
+2014-10-29 10:37:38 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/codecparsers/gstmpeg4parser.c:
+	  codecparsers: remove ignored increment of return
+	  'return val++;' returns the value before it is incremented because the post
+	  increment happens after the statement. Removing the unused increment.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739345
+
+2014-10-29 08:27:57 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer:fix incorrect parameter passed to handle_set_context
+
+2014-10-28 21:42:31 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/webp/gstwebpdec.h:
+	* gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h:
+	* gst/camerabin2/gstwrappercamerabinsrc.h:
+	* sys/uvch264/gstuvch264_src.h:
+	  Add some missing G_END_DECLS
+
+2014-10-28 17:44:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/faad/gstfaad.c:
+	  faad: fix wrong unrefs in set_format error code path
+
+2014-10-28 18:27:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: get the config from the correct pool
+
+2014-10-28 18:01:27 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: avoid uninitialized variable size when chaining multiple glfilters
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739277
+
+2014-10-28 18:01:01 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: gst-indent file
+
+2014-10-28 17:31:37 +1100  Matthew Waters <matthew@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
+	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
+	* gst-libs/gst/gl/win32/gstglcontext_wgl.h:
+	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
+	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
+	* tests/check/libs/gstglcontext.c:
+	  glcontext: add api for retreiving the current context and api
+	  that is current in the calling thread.
+
+2014-10-21 19:03:08 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/glprototypes/Makefile.am:
+	* gst-libs/gst/gl/glprototypes/all_functions.h:
+	* gst-libs/gst/gl/glprototypes/vao.h:
+	  glprototypes: add vertex attribute array definitions
+
+2014-10-27 17:57:46 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From 84d06cd to 7bb2bce
+
+2014-10-27 15:34:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstintervideosrc.c:
+	  inter: Use 64-bit safe scaling functions
+
+2014-10-27 12:43:53 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: reflow switch case statement a bit
+	  Make it clear there's no 'break' missing at the end
+	  of the case SYS_DVBT, and pacify coverity (CID 1249689).
+
+2014-06-12 16:59:46 +0200  L. Sorin <sorin@axis.com>
+
+	* ext/curl/gstcurlsshsink.c:
+	* ext/curl/gstcurlsshsink.h:
+	  curlsshsink: use the locally defined types
+	  Just a matter of coding style, makes the code a bit tidier...
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731581
+
+2014-10-26 15:45:20 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* Makefile.am:
+	  Parallelise 'make check-valgrind'
+
+2014-10-26 15:44:05 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: check for more openh264 API that we need
+
+2014-10-25 18:50:42 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/audiomixer.c:
+	  tests: fix audiomixer test on big endian systems
+
+2014-10-24 21:42:58 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: correctly capitalize DiSEqC
+
+2014-10-24 20:12:23 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: rework _output_frontend_stats()
+	  Retry stat reporting ioctls on EINTR
+
+2014-10-24 19:30:25 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add checks on allowed DVB-T bandwidths
+
+2014-10-24 19:12:33 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add fixme note on DTV_LNA setting
+	  Rephrase another comment while at it
+
+2014-10-24 18:57:40 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add missing logic for additional bandwidths
+	  New 1.712, 5 and 10 MHz bandwidths were been ignored
+	  at set/get prop.
+
+2014-10-24 15:53:59 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* configure.ac:
+	  configure.ac: Use libsrtp.pc if present
+
+2014-10-23 17:42:27 +0300  Vootele Vesterblom <vov@bang-olufsen.dk>
+
+	* gst/rawparse/gstrawparse.c:
+	  rawparse: fix handling of segment event in sink event handler
+
+2014-10-24 00:35:22 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: override the caps query in order to 'convert' capsfeatures
+	  Otherwise, it is only possible for the sink pads and the src pads to
+	  have the exact same caps features.  We can convert from any feature
+	  to another feature so support that.
+
+2014-10-23 23:55:48 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: override the accept caps query in order to 'convert' capsfeatures
+	  Otherwise, it is only possible for the sink pads and the src pads to
+	  have the exact same caps features.  We can convert from any feature
+	  to another feature so support that.
+
+2014-08-14 23:29:00 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  gl: propogate other-context using GstContext
+
+2014-10-20 03:07:08 -0600  Brendan Long <self@brendanlong.com>
+
+	* ext/dash/README:
+	  dash: Remove obsolete README.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738848
+
+2014-10-22 19:34:17 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudio: Add support for arbitrary raw audio formats
+
+2014-10-22 19:31:31 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintervideosink.c:
+	* gst/inter/gstintervideosrc.c:
+	* gst/inter/gstintervideosrc.h:
+	  intervideo: Add support for arbitrary video formats
+
+2014-10-22 19:28:48 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstintervideosrc.c:
+	  inter: Truncate the caps as part of the fixating
+
+2014-10-22 19:08:39 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudio: Fix timestamp, latency and period handling
+
+2014-10-22 18:41:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudio: Use GST_DEBUG_OBJECT() instead of GST_DEBUG()
+
+2014-10-22 18:40:01 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosink.h:
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstinteraudiosrc.h:
+	* gst/inter/gstintersurface.h:
+	  interaudio: Properly pass through caps from the sink to the source
+	  Otherwise a magic capsfilter after the source is required with
+	  exactly the same caps as the input.
+
+2014-10-22 18:13:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintersurface.c:
+	* gst/inter/gstintersurface.h:
+	  inter: Clean up surfaces after the last user is gone
+
+2014-10-22 18:07:00 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstintersubsink.c:
+	* gst/inter/gstintersubsrc.c:
+	* gst/inter/gstintersurface.c:
+	* gst/inter/gstintervideosink.c:
+	* gst/inter/gstintervideosrc.c:
+	  inter: Whitespace cleanup
+
+2014-10-22 18:03:13 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintersurface.h:
+	* gst/inter/gstintervideosink.c:
+	* gst/inter/gstintervideosink.h:
+	* gst/inter/gstintervideosrc.c:
+	* gst/inter/gstintervideosrc.h:
+	  intervideo: Properly pass through caps from the sink to the source
+	  Otherwise a magic capsfilter after the source is required with
+	  exactly the same caps as the input.
+	  This would've failed before with invalid buffer sizes:
+	  gst-launch-1.0 videotestsrc ! intervideosink  intervideosrc ! "video/x-raw,width=640,height=480" ! xvimagesink
+
+2014-10-22 15:07:04 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/rawparse/gstrawparse.c:
+	  rawparse: Check for 0-size after adjusting the size for the frame size
+	  If we don't have a complete raw audio frame we would otherwise still
+	  ask for a 0 sized buffer from the adapter.
+
+2014-10-22 14:43:50 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/rawparse/gstrawparse.c:
+	  rawparse: Don't try to retrieve 0 byte buffers from the adapter in multi-frame mode
+
+2014-10-22 13:03:30 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: improve openh264 check
+	  The openh264 API is still unstable, so check for
+	  structure member that we need to prevent building
+	  against an older incompatible version.
+
+2014-10-22 12:36:36 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: simplify openh264 check
+	  Of course PTHREADS_CFLAGS is not used anywhere now
+	  for the check, but that was the case before as well.
+
+2014-10-21 16:21:08 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Fix compiler warning
+	  gstglwindow_cocoa.m: In function '-[GstGLNSView drawRect:]':
+	  gstglwindow_cocoa.m:555: warning: 'GstGLNSView' may not respond to '-reshape'
+	  gstglwindow_cocoa.m:555: warning: (Messages without a matching method signature
+	  gstglwindow_cocoa.m:555: warning: will be assumed to return 'id' and accept
+	  gstglwindow_cocoa.m:555: warning: '...' as arguments.)
+
+2014-10-21 15:42:32 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Fix locking
+	  The object lock only protects the session, as we modify
+	  the session from other threads when the bitrate property
+	  is changed. Don't hold it much longer than for session
+	  related things.
+	  And we need to release the video decoder stream lock before
+	  enqueueing a frames. It might wait for our callback to dequeue
+	  a frame from another thread, which will then take the stream
+	  lock too and deadlock.
+
+2014-10-21 13:01:45 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From a8c8939 to 84d06cd
+
+2014-10-21 13:28:50 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* configure.ac:
+	  configure: use a macro to check for pthread
+	  Replace the hardcoded -lpthread in most of the places with $PTHREAD_LIBS. For
+	  openh264 also add $PTHREAD_LIBS to OPENH264_LIBS until upstream ships a .pc
+	  file.
+
+2014-10-21 12:58:39 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* README:
+	* common:
+	  Automatic update of common submodule
+	  From 36388a1 to a8c8939
+
+2014-10-21 12:39:14 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: reset end_of_playlist attribute when we receive a seek
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738696
+
+2014-10-20 18:25:08 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: critical error for blocksize, timeout min/max values
+	  Audiomixer blocksize, cant be 0, hence adjusting the minimum value to 1
+	  timeout value of aggregator is defined with MAX of MAXINT64,
+	  but it cannot cross G_MAXLONG * GST_SECOND - 1
+	  Hence changed the max value of the same
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738845
+
+2014-10-21 06:04:10 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: fixup eglimage include path
+
+2014-10-21 02:52:05 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: fixate the parts of the caps we don't know how to deal with
+	  fixes glvideomixer with video/x-raw,width=foo i.e. no format field.
+
+2014-10-18 10:03:43 +0200  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glbufferpool: add the GstVideoGLTextureUploadMeta buffer pool option
+
+2014-10-20 10:34:27 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstglvideomixer.c:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.h:
+	* gst/compositor/compositor.c:
+	  videoaggregator: operate on caps rather than video info
+	  Otherwise the CapsFeatures will be lost along with the possibility
+	  of multiple output types and formats.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738129
+
+2014-09-19 11:37:56 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: introduce a helper to make sequence-layer
+	  It will be useful to implement stream-format conversion.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738526
+
+2014-10-20 02:27:15 -0600  Brendan Long <self@brendanlong.com>
+
+	* configure.ac:
+	  gl: Check for GLU before trying to use it in configure.ac
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738816
+
+2014-10-20 15:02:28 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcolorconvert.h:
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glcolorconvert: support RGB16/BGR16 video format upload
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738842
+
+2014-10-09 15:12:01 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* tests/check/libs/vc1parser.c:
+	  vc1parser: fix expected level in sequence-layer parsing unit test
+	  Sequence-layer used for unit test have a level set to 2 which should
+	  match the medium level, not the high.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738230
+
+2014-10-09 15:05:55 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst-libs/gst/codecparsers/gstvc1parser.h:
+	  vc1parser: fix level values for simple/main profile
+	  In simple profile, level set to 0 or 2 indicate low and medium level
+	  respectively. In main profile, level set to 0, 2 or 4 indicate low,
+	  medium and high level respectively.
+	  Level values are defined in Annex J.1.2 of the SMPTE 421M.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738230
+
+2014-08-02 11:29:37 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: send initial GAP event on sparse streams for faster startup with playbin
+	  Signal sparse streams properly in stream-start event and force sending
+	  of pending sticky events which have been stored on the pad already and
+	  which otherwise would only be sent on the first buffer or serialized
+	  event (which means very late in case of subtitle streams). Playsink in
+	  playbin waits for stream-start or another serialized event, and if we
+	  don't do this it will wait for the multiqueue to run full before
+	  starting playback, which might take a couple of seconds.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734040
+
+2014-10-20 12:30:50 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	* gst/mpegtsdemux/mpegtspacketizer.h:
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: GAP detection
+	  All pads of a stream are now added at the beginning. In order to cope with
+	  streams that don't get any data (forever or for a long time) we detect gaps
+	  and push out GAP events when needed.
+	  Cleanups and commenting by Jan Schmidt <jan@centricular.com>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734040
+
+2014-10-01 16:17:46 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	* gst/videoparsers/gstvc1parse.h:
+	  vc1parse: select caps according to wmv format at negotiation
+	  Some VC1 decoder can have different caps according to wmv format, ie
+	  WMV3 or WVC1.
+	  So instead of keeping the first available caps, we interserct with
+	  current WMV format.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738532
+
+2014-10-20 11:22:54 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* configure.ac:
+	  configure: add pthread to the configure check for openh264
+
+2014-10-20 09:47:27 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/rtmp/gstrtmpsink.c:
+	  rtmpsink: Declare sink variable that was forgotten in last commit
+
+2014-10-19 20:35:41 +0200  Havard Graff <havard.graff@gmail.com>
+
+	* ext/rtmp/gstrtmpsink.c:
+	  rtmpsink: Free URI string in finalize()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738674
+
+2014-10-17 21:26:52 -0700  Brion Vibber <brion@pobox.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Fix for building on Mac OS X 10.10
+	  Using NSApp directly seems to confuse something, as the compiler
+	  was expecting an id<NSFileManagerDelegate>. Switched to using
+	  [NSApplication sharedApplication], and specified the delegate
+	  protocol on the window class as well.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738740
+
+2014-10-19 14:57:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Use kVTProfileLevel_H264_Baseline_AutoLevel only on iOS
+	  It is not required on OSX apparently and was only added in 10.9.6 there.
+	  Calculating the correct level from the configuration is not trivial, so let's
+	  just not set a level at all here.
+
+2014-10-19 14:51:40 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* sys/applemedia/vtenc.c:
+	  vtenc: VTCompressionSessionPrepareToEncodeFrames only exists since 10.9.6
+	  Check with configure for it instead of using one of the availability macros
+	  as those wouldn't work as expected with minor versions.
+
+2014-10-19 14:32:31 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Remove unused #define
+
+2014-10-19 13:44:38 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/rtp/Makefile.am:
+	  rtpbad: Fix make dist by removing non-existing file from EXTRA_DIST
+	  It's used by the rtp plugin in gst-plugins-good for VP8 but not needed
+	  or used here.
+
+2014-10-17 16:51:27 +0200  Thijs Vermeir <thijsvermeir@gmail.com>
+
+	* gst/rtp/Makefile.am:
+	  rtpbad: include plugins base cflags (fix build on jenkins)
+
+2014-10-16 10:34:01 +0200  Thijs Vermeir <thijsvermeir@gmail.com>
+
+	* configure.ac:
+	* gst/rtp/Makefile.am:
+	* gst/rtp/gstrtp.c:
+	* gst/rtp/gstrtph265depay.c:
+	* gst/rtp/gstrtph265depay.h:
+	* gst/rtp/gstrtph265pay.c:
+	* gst/rtp/gstrtph265pay.h:
+	  rtp: add h265 RTP payloader + depayloader
+
+2014-10-15 15:25:55 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/curl/gstcurlbasesink.c:
+	  curlbasesink: strip newlines from curl debug messages
+	  The messages we receive in the custom log handler might end with a newline and
+	  are not \0 terminated. Copy the messages, trim and terminate them.
+
+2014-10-15 15:24:12 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/curl/gstcurlbasesink.c:
+	  curlbasesink: small code cleanup
+	  Use a local var and save a local var.
+
+2014-10-15 16:52:09 +0200  Thijs Vermeir <thijsvermeir@gmail.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/x265enc.c:
+	  tests/x265enc: add simple unit test
+
+2014-03-05 16:39:30 +0100  Thijs Vermeir <thijsvermeir@gmail.com>
+
+	* configure.ac:
+	* ext/Makefile.am:
+	* ext/x265/Makefile.am:
+	* ext/x265/gstx265enc.c:
+	* ext/x265/gstx265enc.h:
+	  x265enc: add x265 encoder element
+
+2014-10-14 14:00:11 +0200  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgldeinterlace.c:
+	  gldeinterlace: ref the uploaded buffer
+	  Instead of the possibly non-GL input buffer.
+
+2014-10-14 16:41:51 +0200  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  glfilter: add uploaded_buffer field
+
+2014-09-22 09:44:14 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: parse frame header when stream format is ASF/raw for simple/main profile
+	  When stream-format is ASF or sequence-layer-raw-frame, we basically have
+	  a raw frame so we can parse it to extract some information such the
+	  keyframe flag. The only requirement is to have a valid sequence-header.
+	  This commit parse the frame header and set the DELTA_UNIT buffer flag in
+	  case the frame is not a keyframe.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738519
+
+2014-10-14 10:51:22 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/libde265/libde265-dec.c:
+	  libde265: Change rank to SECONDARY, gst-libav has PRIMARY rank
+
+2014-09-17 10:38:44 +0200  Joachim Bauch <bauch@struktur.de>
+
+	* configure.ac:
+	* ext/Makefile.am:
+	* ext/libde265/Makefile.am:
+	* ext/libde265/gstlibde265.c:
+	* ext/libde265/libde265-dec.c:
+	* ext/libde265/libde265-dec.h:
+	* gst-plugins-bad.spec.in:
+	  Integrate libde265 into gst-plugins-bad.
+
+2014-10-13 14:05:24 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: just assume none header-format when no codec_data is present
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738449
+
+2014-10-14 09:19:59 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Set reorder length to 0 if we can't calculate it
+	  Instead of leaving it at whatever value it had before.
+
+2014-10-13 13:28:57 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Only finalize the other context in finalize()
+	  Otherwise we change a value of a property when going to READY state,
+	  which is unexpected behaviour.
+
+2014-10-13 13:27:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: Call the pad's parent class finalize method
+
+2014-10-13 13:27:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: Only finalize the other context in finalize()
+	  Otherwise we change a value of a property when going to READY state,
+	  which is unexpected behaviour.
+
+2014-10-13 13:25:42 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgltestsrc.h:
+	  gltestsrc: Add other-context property
+
+2014-10-13 11:56:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Don't leak other-context
+
+2014-10-13 11:53:47 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	  glmixer: Add other-context property
+
+2014-10-12 21:25:16 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/dvbbasebin.c:
+	* sys/dvb/gstdvbsrc.c:
+	* sys/dvb/gstdvbsrc.h:
+	  dvb: make interleaving a prop and proxy on dvbbasebin
+	  DTV_INTERLEAVING is currently used only for DTBM. This is
+	  congruent with the v4l dvb API where the different interleaving
+	  modes where added for v5.7
+
+2014-10-12 18:30:38 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add transmission mode checks for DVB-T/T2
+	  These and every sanity check leading to a warning
+	  (we have a few in place) should come handy when
+	  debuging failed tunning scenarios.
+
+2014-10-12 13:34:09 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: docs, drop v5 API change history comments < .5
+	  We only support from minor 5 and up now. Also add a
+	  note about the recently added preliminar DTMB support.
+
+2014-10-12 13:08:13 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add missing DVB-T2 bandwidth types
+	  DVB-T2 supports 5, 10 and 1.712 MHz
+	  Order of the enum values (new values after _AUTO)
+	  has been kept congruent with the one in the v4l
+	  API for consistency
+
+2014-10-07 10:37:33 +0200  Benjamin Gaignard <benjamin.gaignard@linaro.org>
+
+	* ext/wayland/gstwaylandsink.c:
+	  waylandsink: do not render twice the same buffer
+	  Do not try to render a buffer that is already being rendered.
+	  This happens typically during the initial rendering stage as the first
+	  buffer is rendered twice: first by preroll(), then by render().
+	  This commit avoids this assertion failure:
+	  CRITICAL: gst_wayland_compositor_acquire_buffer: assertion
+	  'meta->used_by_compositor == FALSE' failed
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738069
+	  Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
+	  Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
+
+2014-07-24 16:53:53 +0200  Tifaine Inguere <tifaine.inguere@st.com>
+
+	* ext/wayland/wlwindow.c:
+	  waylandsink : Allow surface to catch input events
+	  If waylandsink is the owner of the display then it is in charge
+	  of catching input events on the surface.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733682
+	  Signed-off-by: Tifaine Inguere <tifaine.inguere@st.com>
+	  Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
+
+2014-07-02 13:29:55 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/wayland/wlbuffer.c:
+	* ext/wayland/wldisplay.c:
+	* ext/wayland/wldisplay.h:
+	  waylandsink: take into account the case where a pool may be destroyed together with GstWlDisplay
+	  There are two cases covered here:
+	  1) The GstWlDisplay forces the release of the last buffer and the pool
+	  gets destroyed in this context, which means it unregisters all the
+	  other buffers from the GstWlDisplay as well and the display->buffers
+	  hash table gets corrupted because it is iterating.
+	  2) The pool and its buffers get destroyed concurrently from another
+	  thread while GstWlDisplay is finalizing and many things get corrupted.
+
+2014-07-01 11:43:20 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/wayland/gstwaylandsink.c:
+	* ext/wayland/wlbuffer.c:
+	* ext/wayland/wlbuffer.h:
+	* ext/wayland/wlvideoformat.h:
+	* ext/wayland/wlwindow.c:
+	* ext/wayland/wlwindow.h:
+	  waylandsink: stack the video subsurface into another subsurface that covers the whole render rectangle
+	  The main reason behind this is that when the video caps change and the video
+	  subsurface needs to resize and change position, the wl_subsurface.set_position
+	  call needs a commit in its parent in order to take effect. Previously,
+	  the parent was the application's surface, over which there is no control.
+	  Now, the parent is inside the sink, so we can commit it and change size smoothly.
+	  As a side effect, this also allows the sink to draw its black borders on
+	  its own, without the need for the application to do that. And another side
+	  effect is that this can now allow resizing the sink when it is in top-level
+	  mode and have it respect the aspect ratio.
+
+2014-06-20 16:24:36 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/wayland/gstwaylandsink.c:
+	* ext/wayland/wlshmallocator.c:
+	* ext/wayland/wlvideoformat.c:
+	* ext/wayland/wlvideoformat.h:
+	  waylandsink: rename video format conversion functions to indicate they are about wl_shm
+	  Needed to add linux_dmabuf format conversion functions later
+
+2014-06-23 17:27:01 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/wayland/gstwaylandsink.c:
+	* ext/wayland/wlbuffer.c:
+	* ext/wayland/wldisplay.c:
+	* ext/wayland/wldisplay.h:
+	  waylandsink: remove the ugly gst_wl_display_stop() now that this mechanism is not needed anymore
+	  Because we no longer have a custom buffer pool that holds a reference
+	  to the display, there is no way for a cyclic reference to happen like
+	  before, so we no longer need to explicitly call a function from the
+	  display to release the wl_buffers.
+	  However, the general mechanism of registering buffers to the display
+	  and forcibly releasing them when the display is destroyed is still
+	  needed to avoid potential memory leaks. The comment in wlbuffer.c
+	  is updated to reflect the current situation.
+
+2014-06-23 16:40:02 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/wayland/Makefile.am:
+	* ext/wayland/gstwaylandsink.c:
+	* ext/wayland/waylandpool.c:
+	* ext/wayland/waylandpool.h:
+	* ext/wayland/wlshmallocator.c:
+	* ext/wayland/wlshmallocator.h:
+	  waylandsink: replace the custom buffer pool with an allocator
+	  This reduces the complexity of having a custom buffer pool, as
+	  we don't really need it. We only need the custom allocation part.
+	  And since the wl_buffer is no longer saved in a GstMeta, we can
+	  create it and add it on the buffers in the sink's render()
+	  function, which removes the reference cycle caused by the pool
+	  holding a reference to the display and also allows more generic
+	  scenarios (the allocator being used in another pool, or buffers
+	  being allocated without a pool [if anything stupid does that]).
+	  This commit also simplifies the propose_allocation() function,
+	  which doesn't really need to do all these complicated checks,
+	  since there is always a correct buffer pool available, created
+	  in set_caps().
+	  The other side effect of this commit is that a new wl_shm_pool
+	  is now created for every GstMemory, which means that we use
+	  as much shm memory as we actually need and no more. Previously,
+	  the created wl_shm_pool would allocate space for 15 buffers, no
+	  matter if they were being used or not.
+
+2014-06-20 14:47:57 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/wayland/Makefile.am:
+	* ext/wayland/gstwaylandsink.c:
+	* ext/wayland/waylandpool.c:
+	* ext/wayland/waylandpool.h:
+	* ext/wayland/wlbuffer.c:
+	* ext/wayland/wlbuffer.h:
+	* ext/wayland/wldisplay.c:
+	* ext/wayland/wldisplay.h:
+	  waylandsink: rework the mechanism for keeping buffers out of the pool until wl_buffer::release
+	  This also removes the GstWlMeta and adds a wrapper class for wl_buffer
+	  which is saved in the GstBuffer qdata instead of being a GstMeta.
+	  The motivation behind this is mainly to allow attaching wl_buffers on
+	  GstBuffers that have not been allocated inside the GstWaylandBufferPool,
+	  so that if for example an upstream element is sending us a buffer
+	  from a different pool, which however does not need to be copied
+	  to a buffer from our pool because it may be a hardware buffer
+	  (hello dmabuf!), we can create a wl_buffer directly from it and first,
+	  attach it on it so that we don't have to re-create a wl_buffer every
+	  time the same GstBuffer arrives and second, force the whole mechanism
+	  for keeping the buffer out of the pool until there is a wl_buffer::release
+	  on that foreign GstBuffer.
+
+2014-10-09 08:20:15 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* ext/schroedinger/gstschrodec.c:
+	  schrodec: optimize parse logic
+	  Header will be read each and everytime parse function will be called
+	  which is not necessary since until we have complete data,
+	  we need not parse the header again.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737984
+
+2014-10-10 13:05:49 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/fluidsynth/gstfluiddec.c:
+	  fluiddec: don't leak incoming caps event
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738291
+
+2014-10-09 18:18:02 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: fix framesize when input is frame-layer
+	  frame-layer header is represented as a sequence of 32 bit unsigned
+	  integer serialized in little-endian byte order, so framesize is on the
+	  first 3 bytes.
+	  SMPTE 421M Annex L.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738243
+
+2014-10-07 17:05:04 +0200  Antonio Ospite <ao2@ao2.it>
+
+	* gst/midi/midiparse.c:
+	  midiparse: mention fluiddec instead of fluidsynth
+	  The element name is actually fluiddec even if it uses fluidsynth.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738223
+
+2014-10-09 11:51:16 +0200  Antonio Ospite <ao2@ao2.it>
+
+	* ext/fluidsynth/gstfluiddec.c:
+	  fluiddec: fix some memory leaks
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738223
+
+2014-10-09 04:11:00 -0400  David Woodhouse <dwmw2@infradead.org>
+
+	* gst/pcapparse/gstpcapparse.c:
+	* gst/pcapparse/gstpcapparse.h:
+	  pcapparse: Add support for LINKTYPE_RAW
+	  Also, strictly speaking, these numbers aren't DLT_*; they are LINKTYPE_* because
+	  libpcap translates from internal OS-specific DLT_ numbering to the portable
+	  LINKTYPE_ number space when writing files.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738206
+
+2014-10-09 14:51:56 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* tests/check/elements/audiomixer.c:
+	  test: use G_GSIZE_FORMAT in audiomixer test
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738227
+
+2014-10-07 16:57:27 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/libs/aggregator.c:
+	  tests/aggregator: add timeout handling test for the timeout parameter
+
+2014-10-06 21:46:24 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst/audiomixer/gstaudiomixer.c:
+	  aggregator: add latency query handling
+
+2014-10-06 18:33:52 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: support unresponsive pads
+	  Render unresponsive pads with the last video frame received.
+
+2014-10-06 18:23:03 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: add a timeout property determining buffer wait time
+	  Determines the amount of time that a pad will wait for a buffer before
+	  being marked unresponsive.
+	  Network sources may fail to produce buffers for an extended period of time,
+	  currently causing the pipeline to stall possibly indefinitely, waiting for
+	  these buffers to appear.
+	  Subclasses should render unresponsive pads with either silence (audio), the
+	  last (video) frame or what makes the most sense in the given context.
+
+2014-10-06 18:10:38 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregatorpad.h:
+	  videoaggregator: remove the use of the queued buffer on sink pads
+	  That data is now held by the aggregator class
+
+2014-10-09 11:46:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/videoparsers/gsth265parse.c:
+	  h265parse: expose parsed profile, tier and level to downstream
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732239
+
+2014-10-09 01:18:16 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: expose parsed profile and level to downstream
+	  Set parsed profile and level in src caps.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732239
+
+2014-10-09 10:54:35 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Add support for HiDPI displays
+	  Without this our GL surface would be upscaled after rendering
+	  by Cocoa, which would reduce image quality.
+
+2014-10-09 12:28:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: output why we cannot convert a buffer
+
+2014-10-09 12:25:55 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: fix planar YUV download
+	  - sample the u and v planes properly
+	  - output the correctly scaled u and v planes for different chroma block sizes
+
+2014-10-08 21:51:12 +0300  Vivia Nikolaidou <n.vivia@gmail.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: And fix another unused variable compiler warning
+
+2014-10-08 21:49:25 +0300  Vivia Nikolaidou <n.vivia@gmail.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: Fix unused variable compiler warning when compiling without desktop GL
+
+2014-09-26 13:55:20 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>
+
+	* ext/zbar/gstzbar.c:
+	  zbar: Add YVU9 and YUV9 to ZBAR_YUV_CAPS
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737407
+
+2014-09-28 10:51:09 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* ext/gl/gltestsrc.c:
+	* ext/gl/gstgltestsrc.c:
+	  gltestsrc: implement checkers pattern with GLSL
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737505
+
+2014-10-07 15:24:10 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/elements/hlsdemux_m3u8.c:
+	  hlsdemux: Fix M3U8 parsing unit test after API changes
+
+2014-10-02 10:37:57 -0600  Thomas Bluemel <tbluemel@control4.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	  hlsdemux: Fix accessing invalidated memory
+	  In gst_hls_demux_get_next_fragment() the next fragment URI gets
+	  stored in next_fragment_uri, but the gst_hls_demux_updates_loop()
+	  can at any time update the playlist, rendering this string invalid.
+	  Therefore, any data (like key, iv, URIs) that is taken from a
+	  GstM3U8Client needs to be copied. In addition, accessing the
+	  internals of a GstM3U8Client requires locking.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737793
+
+2014-10-07 12:12:04 +0200  Felix Schwarz <felix.schwarz@oss.schwarz.eu>
+
+	* gst-libs/gst/mpegts/gst-dvb-section.c:
+	* gst-libs/gst/mpegts/gstmpegts-private.h:
+	* gst-libs/gst/mpegts/gstmpegtssection.c:
+	* gst-libs/gst/mpegts/mpegts.h:
+	  mpegts: fix typos in comments
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738072
+
+2014-10-07 23:04:30 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: fix UYVY download green screen
+
+2014-10-07 22:50:22 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolrconvert: fix YUY2 download
+	  - The shader was outputing the wrong values compared with raw
+	  videotestsrc.
+	  - deal with the texture edge properly.
+	  - properly sample the 2x1 rectangle for the u and v values
+	  - don't double sample the y value
+
+2014-10-06 21:25:30 +0300  Vivia Nikolaidou <n.vivia@gmail.com>
+
+	* ext/curl/gstcurlsmtpsink.c:
+	  curlsmtpsink: Set CURLOPT_UPLOAD to 1 to not use VRFY and other unneeded commands
+	  Fixes the sink with SMTP servers that disable VRFY for spam protection.
+	  http://sourceforge.net/p/curl/bugs/1389/
+
+2014-09-17 16:48:02 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Replace GMainContext with GAsyncQueue (v2)
+	  The previous implementation kept accumulating GSources,
+	  slowing down the iteration and leaking memory.
+	  Instead of trying to fix the main context flushing, replace
+	  it with a GAsyncQueue which is simple to flush and has
+	  less overhead.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736782
+
+2014-10-06 13:09:00 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Handle seek event in READY state
+
+2014-07-21 11:07:19 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/audiomixer/gstaudiomixer.h:
+	  audiomixer: Set the sinkpad segments basetime after seeking
+	  Otherwise stream offset and running time comparison will not be
+	  correct, leading to segfaults after seeks
+
+2014-05-28 16:29:37 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/audiomixer/Makefile.am:
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/audiomixer/gstaudiomixer.h:
+	* tests/check/elements/audiomixer.c:
+	  audiomixer: Port to GstAggregator
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737183
+	  Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+2014-09-23 15:59:10 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Do not wrongly set the aggregator.segment
+	  The aggregator.segment is not to be initialized by the subclasses but
+	  by the aggregator itself. Moreover, initializing it on start would make
+	  us loose the information coming from the initial seek.
+
+2014-07-30 11:57:46 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Make sure not to unref a NULL pointer
+
+2014-08-05 15:36:30 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Set seqnum only when segments are received.
+
+2014-08-02 18:25:01 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Add a streaming lock so to secure flush start action
+	  Without a lock that is taken in FLUSH_START we had a rare race where we
+	  end up aggregating a buffer that was before the whole FLUSH_START/STOP
+	  dance. That could lead to very wrong behaviour in subclasses.
+
+2014-07-18 13:58:55 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Query seeking when a seek failed to see if it was expected
+	  And do not worry if seeking failed on a stream that is not seekable
+
+2014-07-18 01:41:26 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: set future seqnum before propagating the seek event.
+	  So the seqnum is properly set for the following events.
+
+2014-07-08 16:16:55 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Store segment when seeked in READY for later use
+
+2014-10-06 16:44:51 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264plugin.c:
+	  openh264: Use a MARGINAL rank for the encoder and decoder
+	  They work but for now we prefer others until these are extensively tested.
+
+2014-10-01 10:57:26 +0200  Lihua Liu <lihual@axis.com>
+
+	* ext/curl/gstcurlsmtpsink.c:
+	  curlsmtpsink: Email with multipart content-type should end with a final boundary
+	  Add final boundary for each of the sending out emails from smtpsink.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736134
+
+2014-10-06 11:44:12 +0100  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/videoparsers/gstmpegvideoparse.c:
+	* gst/videoparsers/gstvc1parse.h:
+	  videoparser: comment unused GST_BASE_PARSE_FRAME_FLAG_PARSING
+	  GST_BASE_PARSE_FRAME_FLAG_PARSING value is wrong, and the same flag is
+	  not being used presently. Hence changing the value and commenting it out.
+	  This needs to be included in baseparse.h later on
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737411
+
+2014-10-04 20:55:08 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: make denoise work
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737894
+
+2014-10-06 10:11:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Unmap and free GstVideoFrames as needed after conversion and errors
+
+2014-10-06 10:11:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Unref the taglist in GstAggregator::stop()
+
+2014-10-03 20:42:58 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add preliminary support for DTMB
+	  Previously known as DMB-T/H, this is the
+	  terrestial DTV broadcast standard currently
+	  used by the People's Republic of China,
+	  Hong Kong, Laos and Macau (officially),
+	  and by Malaysia, Iraq, Jordan, Syria and
+	  Lebanon (experimentally).
+
+2014-10-03 20:20:30 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add missing standard transmission modes
+	  These apply to ISDB-T, DVB-T2 and DTMB
+	  Order of the enum values (new rates after _AUTO)
+	  has been kept congruent with the one in the v4l
+	  API for consistency.
+
+2014-10-03 20:03:27 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add missing DTMB guard intervals
+
+2014-10-03 19:55:02 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add missing DVB-T2 guard intervals
+	  According to the v4l-dvb API docs, these are only
+	  used for DVB-T2 at the moment.
+	  Order of the enum values (new rates after _AUTO)
+	  has been kept congruent with the one in the v4l
+	  API for consistency.
+
+2014-10-03 19:20:03 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* gst-libs/gst/mpegts/gst-dvb-descriptor.h:
+	  mpegts: fix typo in GstMpegtsExtendedEventDescriptor doc
+
+2014-10-03 19:06:21 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add _MUTABLE_PLAYING to tuning props
+	  The element can (re)tune while playing so basically
+	  every property used at set_fe_params() can be set
+	  in state <= PLAYING.
+
+2014-10-03 17:22:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: The codec can only do baseline so simplify the code a bit
+	  and declare this also on the srcpad caps.
+	  With baseline profile there are no B-frames or frame reordering.
+
+2014-10-03 17:20:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: On ::finish() stop trying if the decoder returned that no output is available
+
+2014-10-03 13:54:22 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264enc.cpp:
+	* ext/openh264/gstopenh264plugin.c:
+	  openh264: Run gst-indent over everything
+
+2014-10-03 13:52:32 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/Makefile.am:
+	  openh264: Remove unused codecparsers lib
+
+2014-10-02 16:46:25 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264: Add FIXME comment about missing API in openh264
+
+2014-10-02 16:33:30 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Try to handle frame reordering
+	  As openh264 has no way to attach any IDs to input frames that we then get on
+	  the output frames, we have to assume that the input has valid PTS. We just
+	  take the frame with the oldest PTS, and if there is no PTS information we take
+	  the one with the oldest DTS.
+
+2014-10-02 16:23:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Don't drop videocodec frames if we can't decode them *yet*
+	  Fixes jittery playback of streams with B frames.
+
+2014-10-02 16:21:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: GstVideoDecoder works on frames, not sub-frames (e.g. NALs)
+	  And we can just pass complete AUs to the decoder without problems.
+
+2014-10-02 16:19:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: As we require NAL alignment from upstream we don't need to parse anything
+
+2014-10-02 15:48:51 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Properly drain codec on ::finish()
+
+2014-10-02 15:22:14 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Properly drain the encoder on ::finish()
+
+2014-10-02 14:36:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: We always get a single frame as output, not a NAL
+	  No need to accumulate NALs.
+
+2014-10-02 14:20:21 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Fix up caps and stride handling
+
+2014-10-02 14:15:49 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Add support for GstVideoMeta
+	  This will allow upstream elements to work more efficiently.
+
+2014-10-02 14:12:11 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Add support for GstVideoMeta
+	  This will make operation with various sinks faster for free.
+
+2014-10-02 14:08:49 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Optimize frame copying a bit
+
+2014-10-02 14:06:58 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Don't forget to unref the input state
+
+2014-10-02 14:03:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Fix various crashes on ::stop()
+
+2014-10-02 14:00:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Remove invalid sprops-parameter-set handling
+	  This only exists on RTP caps, not H264 caps.
+
+2014-10-02 13:53:01 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Don't set caps manually
+	  This will break the order of events in GStreamer.
+
+2014-10-02 13:49:14 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Fix input state handling and propagation of upstream caps fields
+
+2014-10-03 13:45:26 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* ext/Makefile.am:
+	* ext/openh264/Makefile.am:
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264dec.h:
+	* ext/openh264/gstopenh264enc.cpp:
+	* ext/openh264/gstopenh264enc.h:
+	* ext/openh264/gstopenh264plugin.c:
+	  openh264: Add OpenH264 based encoder/decoder elements
+	  These are the openh264 elements released under the BSD-2 license
+	  by Ericsson as part of the OpenWebRTC project.
+	  https://github.com/EricssonResearch/openwebrtc-gst-plugins
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737788
+
+2014-09-18 17:14:22 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Do not to release VIDEO_AGGREGATOR_LOCK while setting format info
+	  We should be able to always keep the VIDEO_AGGREGATOR_LOCK while
+	  negotiating caps, this patch introduce that change.
+	  That also implies that we do not need the SETCAPS_LOCK anymore because
+	  now VIDEO_AGGREGATOR_LOCK guarantees that setcaps is not called from
+	  several threads and the gst_aggregator_set_caps method is now
+	  protected.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735042
+
+2014-10-03 12:34:15 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Take lock to ensure set_caps is not called concurently
+	  Avoiding to be in an inconsistent state where we do not have
+	  actual negotiate caps set as srccaps and leading to point where we
+	  try to unref ->srccaps when they have already been set to NULL.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735042
+
+2014-09-29 10:15:39 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/aiff/aiffparse.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	* gst/coloreffects/gstchromahold.c:
+	* gst/dvdspu/gstdvdspu.c:
+	* gst/mpegtsmux/mpegtsmux.c:
+	* gst/mxf/mxfdemux.c:
+	* gst/rawparse/gstrawparse.c:
+	* gst/sdp/gstsdpdemux.c:
+	  gst: remove unnecessary GLIB_DISABLE_DEPRECATION_WARNINGS
+	  There are unnecessary definitions for disabling deprecation warnings.
+	  Since GLIB_DISABLE_DEPRECATION_WARNINGS is not needed anymore in these files,
+	  removing the same.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737559
+
+2014-10-01 16:19:02 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: unref caps when it is empty in renegotiate()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737724
+
+2014-10-02 10:26:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	  androidmedia: Fix calculation of the frame size for COLOR_FormatYUV420Planar
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734156
+
+2014-10-01 17:22:59 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Also copy over the chroma siting and colorimetry when deciding on a conversion
+
+2014-10-01 17:18:05 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Revert the last commit and handle resolutions differences properly
+	  This is about converting the format, not about converting any widths and
+	  heights. Subclasses are expected to handler different resolutions themselves,
+	  like the videomixers already do properly.
+
+2014-10-01 17:11:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: GstVideoConverter currently can't rescale and will assert
+	  Leads to ugly assertions instead of properly erroring out:
+	  CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed
+
+2014-10-01 16:04:36 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Always update our viewport if Cocoa tells us something has changed
+	  The visible rect and bounds might be the same as before, but Cocoa
+	  might've changed our viewport without us nothing. This happens if
+	  you hide the view and show it again.
+
+2014-10-01 11:55:13 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Handle NSView::renewGState() properly
+	  Don't update the screen until we redraw, this prevents flickering during
+	  scrolling, clipping, resizing, etc
+
+2014-10-01 00:53:59 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/fluidsynth/gstfluiddec.c:
+	  fluiddec: don't crash on 0-sized input buffers
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737658
+
+2014-09-30 14:58:06 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* configure.ac:
+	  gltransformation: requires graphene 1.0.0
+
+2014-09-25 17:01:31 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* ext/gl/gstgltransformation.c:
+	  gltransformation: graphene multiplication order has changed
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733510
+
+2014-09-30 20:39:36 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: update element documentation
+
+2014-09-30 18:26:34 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/libs/.gitignore:
+	* tests/check/libs/gstglcolorconvert.c:
+	  tests/glcolorconvert: do reorder checking for rgba formats
+
+2014-09-30 14:46:14 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: convert xRGB into ARGB properly
+	  The alpha channel might not be the last component so check which one
+	  it is in and clobber that one instead.
+
+2014-09-30 01:45:20 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/libs/gstglmemory.c:
+	  tests/glmemory: add simple transfer test
+	  tests transferring to/from the GL with a 1x1 RGBA pixel.
+
+2014-09-30 01:38:05 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: unset the opposite corresponding transfer flags when mapped with write
+	  fixes consistency with consecutive gst_memory_map()'s with
+	  flags & GST_MAP_WRITE
+
+2014-09-29 09:33:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Update viewport according to the current clipping
+	  We have to update the GL viewport if the NSView is only partially
+	  visible. Otherwise the content of the frame will be visibly offset.
+
+2014-09-29 10:01:27 +0200  Jesper Larsen <knorr.jesper@gmail.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: do not discard on discont if PES start
+	  If a discontinuity in the stream is detected, data is discarded until
+	  a new PES starts. If the first packet after the discontinuity is also
+	  the start of a PES, there is no reason to discard the packets.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737569
+
+2014-07-31 22:57:40 +0100  David Waring <davidjw@rd.bbc.co.uk>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	  dash: Use GstUri to join URIs
+
+2014-09-29 10:49:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: Improve the NSApplication initialization
+	  This is only for non-Cocoa apps but previously caused a 2 second
+	  waiting during startup for Cocoa apps. This is unacceptable.
+	  Instead we now check a bit more extensive if something actually
+	  runs on the GLib default main context, and if not don't even
+	  bother waiting for something to happen from there.
+
+2014-09-29 09:24:49 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: NSView::drawRect() should call into reshape too
+	  We a) need to render again because part of the window was
+	  obscured and b) might need to reshape because of clipping
+	  changes.
+
+2014-09-26 14:21:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Call UI related API from the application main thread
+
+2014-09-26 13:05:27 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Switch to a plain NSView subclass instead of NSOpenGLView
+	  We don't and can't use NSOpenGLView as it's supposed to be used and
+	  it gets into our way by being to clever in various situations.
+
+2014-09-29 08:54:29 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: Initialize variable
+	  Avoids the following warning:
+	  gstglcontext.c:647:58: error: 'prev' may be used uninitialized in
+	  this function [-Werror=maybe-uninitialized]
+
+2014-09-28 18:03:09 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* gst-libs/gst/video/Makefile.am:
+	  video: fix build in gst-uninstalled setup
+	  Include the base video lib appropriately and resort all of them as
+	  thaytan suggested.
+
+2014-09-29 00:23:57 +1000  Jan Schmidt <jan@centricular.com>
+
+	* tests/examples/gl/qt/qglwtextureshare/README:
+	* tests/examples/gl/qt/qglwtextureshare/gstthread.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/gstthread.h:
+	* tests/examples/gl/qt/qglwtextureshare/pipeline.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/pipeline.h:
+	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro:
+	  examples: Fix Qt/GL qglwtextureshare example for X11
+	  We need to pass the X11 display to GstGL or else it will
+	  use its own X11 Display pointer, and the GL Context won't get shared
+	  correctly on newer X servers
+
+2014-09-28 20:21:50 +1000  Jan Schmidt <jan@centricular.com>
+
+	* tests/examples/gl/qt/.gitignore:
+	* tests/examples/gl/qt/README:
+	* tests/examples/gl/qt/mousevideooverlay/main.cpp:
+	* tests/examples/gl/qt/mousevideooverlay/mousevideooverlay.pro:
+	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
+	* tests/examples/gl/qt/mousevideooverlay/pipeline.h:
+	* tests/examples/gl/qt/mousevideooverlay/qrenderer.cpp:
+	* tests/examples/gl/qt/mousevideooverlay/qrenderer.h:
+	* tests/examples/gl/qt/qglwidgetvideooverlay/main.cpp:
+	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
+	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.h:
+	* tests/examples/gl/qt/qglwidgetvideooverlay/qglwidgetvideooverlay.pro:
+	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro:
+	* tests/examples/gl/qt/videooverlay/Debug/videooverlay:
+	* tests/examples/gl/qt/videooverlay/videooverlay.pro:
+	* tests/examples/gl/qt/videooverlay/videovideooverlay.pro:
+	  examples: port GL/Qt examples to Qt5
+	  Update the GL Qt integration examples for Qt5 changes and for GstGL
+	  signal signature changes.
+
+2014-09-29 00:32:05 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: fixup error in sharegroup comment
+
+2014-09-29 00:27:30 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gltestsrc.c:
+	* ext/gl/gstgltestsrc.c:
+	  Revert accidental push: "gltestsrc: implement checkers pattern with GLSL"
+	  This reverts commit eae09179f0b4eb584c8fc7b6560d8fc8e86eed4c.
+
+2014-09-29 00:24:28 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: detect the sharegroup case where the context are in different chains
+	  In the end they will lead to the same root context in the tree so check that
+	  for equality.
+
+2014-09-28 10:51:09 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* ext/gl/gltestsrc.c:
+	* ext/gl/gstgltestsrc.c:
+	  gltestsrc: implement checkers pattern with GLSL
+
+2014-09-28 21:18:32 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: silence a warning with empty input caps
+	  discovered with the doublecube example
+	  gst_caps_get_features: assertion 'index < GST_CAPS_LEN (caps)' failed
+
+2014-09-28 20:37:04 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/generic/cube/main.cpp:
+	* tests/examples/gl/generic/cubeyuv/main.cpp:
+	* tests/examples/gl/generic/doublecube/main.cpp:
+	* tests/examples/gl/generic/recordgraphic/main.cpp:
+	  examples/gl: update for signal signature change
+
+2014-09-28 16:58:42 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: don't create converters when the subclass doesn't want them
+	  fixes a critical with glvideomixer after
+	  35bd1969f912cecda0fb5df9595a005e6ddf4e7a
+	  CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed
+
+2014-09-26 22:29:56 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: fix zero output frames with YUY2/UYVY
+	  also, be nice and disable blending for other elements
+
+2014-09-26 22:22:06 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: protect desktop gl specific tokens with #if
+
+2014-09-26 12:28:10 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: free the image memory every time the location changes
+	  fixes a memory leak
+
+2014-09-25 20:48:59 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/Makefile.am:
+	  gloverlay: Include into the build with GLES2 only too
+
+2014-09-26 01:45:22 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgltestsrc.c:
+	  gltestsrc: free the shader on stop
+
+2014-09-26 01:34:54 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: fix blending with low-alpha sources
+	  We also need to apply the blend paramaters to the alpha channel otherwise
+	  the output of the blend will appear black at low alpha values (< 0.2).
+
+2014-09-26 01:14:35 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgloverlay.h:
+	* ext/gl/gstopengl.c:
+	  gloverlay: reimplement everything
+	  - update for shaders
+	  - add alpha property
+	  - image placement properties shamelessly borrowed from gdkpixbufoverlay
+	  - image placement properties are GstController able
+	  - use GstGLMemory for the overlay image data
+	  - add support for gles2
+
+2014-09-25 16:04:33 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/dvdspu/gstdvdspu.c:
+	* gst/jp2kdecimator/jp2kcodestream.c:
+	* gst/jpegformat/gstjifmux.c:
+	* gst/nuvdemux/gstnuvdemux.c:
+	* gst/videoparsers/gsth265parse.c:
+	* gst/videoparsers/gstmpeg4videoparse.c:
+	  style: remove unnecessary break statements
+	  Code flow never arrives to these break statements due to the gotos preceding
+	  them. So the breaks are unnecessary, as discussed in bug 736942.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737370
+
+2014-09-25 15:45:57 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/mpeg2enc/gstmpeg2enc.cc:
+	  mpeg2enc: break statement unnecessary
+	  Code flow never arrives to the break statements due to the goto's. So the
+	  breaks are unnecessary.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736942
+
+2014-09-25 16:13:19 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Switch from our custom main loop to a GMainLoop
+	  Simplifies code a lot and makes it more similar to the other backends.
+
+2014-09-25 16:12:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: Clear the current GL context when it should happen
+
+2014-09-24 12:42:23 +0200  Lihua Liu <lihual@axis.com>
+
+	* ext/curl/gstcurlsmtpsink.c:
+	  curlsmtpsink: Email with multipart content-type should end with a final boundary
+	  Add final boundary for each of the sending out emails from smtpsink.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736134
+
+2014-09-25 10:14:41 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/curl/gstcurlbasesink.c:
+	* ext/curl/gstcurlhttpsink.c:
+	  curl*sink: add more logging
+
+2014-09-25 08:05:50 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/curl/gstcurlbasesink.c:
+	  curlbasesink: add a debug function
+	  If gstreamer is build with logging enabled, add a debug function and output
+	  verbose messages to the log instead of stderr.
+
+2014-09-24 22:24:49 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/curl/gstcurlhttpsink.c:
+	  curlhttpsink: only add content-disposition header if a filename is set
+	  The header is optional and therefore we better omit it if we don't have a filename.
+
+2014-09-24 22:06:21 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/curl/gstcurlbasesink.c:
+	  curlbasesink: don't replace specific error messages with a generic one
+	  Only set an error if we haven't set one already.
+
+2014-09-24 21:07:20 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/curl/gstcurltlssink.c:
+	  curltlssink: swap check
+	  Lets check for NULL first, as that is the default anyway.
+
+2014-07-29 16:12:26 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: Return flushing if we get chained while being set to READY
+	  Or not negotiated in the case we would be actually not negotiated
+	  Currently we are getting assertions from
+	  gst_pb_utils_add_codec_description_to_tag_list because of NULL
+	  caps.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737186
+
+2014-09-09 13:12:31 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: mark first buffer as discont after restarting a download task
+	  Mark first buffer as discont after restarting a download task, so
+	  downstream can reset its state to properly handle the new fragment.
+	  Related issue: https://bugzilla.gnome.org/show_bug.cgi?id=736318
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736319
+
+2014-09-19 22:32:39 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: push a time segment when restarting streaming
+	  This should inform demuxers/decoders downstream that the stream is
+	  about to start from a new position and they should flush accordingly
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736319
+
+2014-09-24 16:55:49 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/video/Makefile.am:
+	* gst-libs/gst/video/bad-video-orc-dist.c:
+	* gst-libs/gst/video/bad-video-orc-dist.h:
+	* gst-libs/gst/video/bad-video-orc.orc:
+	* gst-libs/gst/video/gstcms.c:
+	* gst-libs/gst/video/gstcms.h:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/videoconvert.c:
+	* gst-libs/gst/video/videoconvert.h:
+	  video: use video lib conversion code instead of copy
+
+2014-09-18 17:26:37 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>
+
+	* ext/mplex/gstmplex.cc:
+	  mplex: break statement unnecessary
+	  One more code flow issue where it never arrives to the break statement due to
+	  the goto. So the break is unnecessary.
+	  Plus two coding style fixes.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736895
+
+2014-09-24 22:42:58 +1000  Jan Schmidt <thaytan@noraisin.net>
+
+	* gst/debugutils/gstchopmydata.c:
+	  chopmydata: Transfer timestamps to output buffers
+	  Allows using chopmydata as a simple repacketizer
+
+2014-09-19 09:51:48 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>
+
+	* sys/androidmedia/gstamcaudiodec.c:
+	  androidmedia: break statements unnecessary
+	  Code flow never arrives to the break statements due to the goto's. So the
+	  breaks are unecessary. Second part to commit a3958ae65b
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736940
+
+2014-09-19 09:59:41 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>
+
+	* sys/androidmedia/gstamcvideodec.c:
+	  androidmedia: break statement unnecessary
+	  Code flow never arrives to the break statements due to the goto's. So the
+	  breaks are unecessary.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736942
+
+2014-09-18 16:13:58 -0400  Joshua M. Doe <oss@nvl.army.mil>
+
+	* sys/dshowsrcwrapper/gstdshow.cpp:
+	* sys/dshowsrcwrapper/gstdshow.h:
+	* sys/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+	* sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
+	  dshowsrcwrapper: avoid error when set_caps called twice
+	  If set_caps is called in a running state, return immediately if the caps
+	  haven't changed. If the pins are already connected, disconnect them.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736926
+
+2014-09-24 14:29:37 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: skip input frames with an alpha of 0
+
+2014-09-24 13:13:19 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgltestsrc.h:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  gl: download whenever we have sysmem capsfeatures
+	  Otherwise we could pass on a RGBA formatted buffer and downstream would
+	  misinterpret that as some other video format.
+	  Fixes pipelines of the form
+	  gleffects ! tee ! xvimagesink
+
+2014-09-19 01:22:14 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:
+	  gsettings: Fix typo in description
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=736933
+
+2014-09-23 17:32:59 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegpsmux/psmuxstream.c:
+	  mpegpsmux: refactor duplicate else branches
+	  Unknown case should assert if reached instead of just assuming the max buffer
+	  size.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736460
+
+2014-09-19 09:54:11 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: initialize sent_codec_tag before using it
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736951
+
+2014-09-22 17:14:29 +0530  Sanjay NM <sanjay.nm@samsung.com>
+
+	* gst/videofilters/gstzebrastripe.c:
+	  videofilters: Add support for more YUV formats
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737111
+
+2014-08-21 02:14:40 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgltestsrc.h:
+	  gltestsrc: add Mandelbrot fractal pattern.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735131
+
+2014-08-21 02:13:58 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* ext/gl/gltestsrc.c:
+	* ext/gl/gltestsrc.h:
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgltestsrc.h:
+	  gltestsrc: implement snow pattern with GLSL.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735131
+
+2014-09-23 12:02:18 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: fallback to upload if contexts cannot share GL resources
+	  Fixes pipelines of the form
+	  gleffects ! tee ! glimagesink
+	  as tee does not pass on the allocation query.
+
+2014-09-23 12:01:04 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	  glcontext: add gst_gl_context_can_share
+	  Which determines whether two GstGLContext's can share sharable
+	  OpenGL resources.
+
+2014-09-22 20:01:27 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* tests/check/libs/gstglupload.c:
+	  gl/tests: update for upload API changes
+
+2014-09-22 10:08:17 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  gl: Let gst_gl_context_get_thread() return a new reference to the GThread
+	  Otherwise it might go away in the meantime and the caller has some random pointer.
+
+2014-09-22 11:10:42 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: consecutive return, break statement
+	  Signed-off-by: Anuj Jaiswal <anuj.jaiswal@samsung.com>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736939
+
+2014-09-22 12:21:22 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/glprototypes/debug.h:
+	  gl/debug: desktop GL does not have the KHR suffixes
+
+2014-09-22 11:59:30 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* tests/examples/gl/gtk/fxtest/fxtest.c:
+	* tests/examples/gl/gtk/gtkvideooverlay/main.cpp:
+	  examples/gl/gtk: use the sync bus callback to set the window handle
+	  And output error messages.
+
+2014-09-19 18:59:01 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add missing FEC rates
+	  Order of the enum values (new rates after _AUTO)
+	  has been kept congruent with the one in the v4l
+	  API for consistency.
+
+2014-09-21 13:32:29 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  gl: add since markers for new API
+
+2014-09-21 21:42:41 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: add debug line for freeing textures
+
+2014-09-21 21:36:49 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstglmixer.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstglupload.h:
+	  glupload: provide the output buffer that is rendered into
+	  Allows callers to properly reference count the buffers used for
+	  rendering.
+	  Fixes a redraw race in glimagesink where the previous buffer
+	  (the one used for redraw operations) is freed as soon as the next
+	  buffer is uploaded.
+	  1. glimagesink uploads in _prepare() to texture n
+	  1.1 glupload holds buffer n
+	  2. glimagesink _render()s texture n
+	  3. glimagesink uploads texture n+1
+	  3.1 glupload free previous buffer which deletes texture n
+	  3.2 glupload holds buffer n+1
+	  4. glwindow resize/expose
+	  5. glimagesink redraws with texture n
+	  The race is that the buffer n (the one used for redrawing) is freed as soon as
+	  the buffer n+1 arrives.  There could be any amount of time and number of
+	  redraws between this event and when buffer n+1 is actually rendered and thus
+	  replaces buffer n as the redraw source.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736740
+
+2014-09-21 21:30:58 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	  glcontext: add API to retreive the thread that context is active in
+
+2014-09-19 15:32:33 +0530  Sanjay NM <sanjay.nm@samsung.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	  gl: Removed unreachable break, unused variable
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736957
+
+2014-09-19 14:36:39 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Fix encoder to work on iOS
+	  iOS has special stride requirements that we don't know yet, so copy
+	  input buffers into buffers allocated by iOS for now.
+	  Later we should check the stride and probably provide a buffer pool for these
+	  buffers so upstream can directly write in there.
+
+2014-09-19 14:32:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/coremediabuffer.c:
+	* sys/applemedia/corevideobuffer.c:
+	  applemedia: We need to map the coremedia buffers in non-readonly mode
+	  Our buffers claim to be writable so other elements expect to be able
+	  to write there without losing their changes.
+
+2014-09-18 18:16:59 +0200  Philippe Normand <philn@igalia.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: lock client mutex before entering the retry_failover block
+	  This is consistent with the case where the block execution is
+	  triggered by the goto invoked after the current_variant update.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736919
+
+2014-09-12 02:36:47 -0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/smoothstreaming/gstmssdemux.h:
+	  mssdemux: synchronize with the download loop thread to signal it to continue
+	  If EOS or ERROR happens before the download loop thread has reached its
+	  g_cond_wait() call, then the g_cond_signal doesn't have any effect and
+	  the download loop thread stucks later.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735663
+
+2014-09-12 02:35:44 -0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: synchronize with the download loop thread to signal it to continue
+	  If EOS or ERROR happens before the download loop thread has reached its
+	  g_cond_wait() call, then the g_cond_signal doesn't have any effect and
+	  the download loop thread stucks later.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735663
+
+2014-08-29 12:38:12 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: synchronize with the download loop thread to signal it to continue
+	  If EOS or ERROR happens before the download loop thread has reached its
+	  g_cond_wait() call, then the g_cond_signal doesn't have any effect and
+	  the download loop thread stucks later.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735663
+
+2014-09-17 17:27:53 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	  mssdemux: fix clearing of eos state in pads
+	  The internal pad still keeps its EOS flag and event as it can be assigned
+	  after the flush-start/stop pair is sent. The EOS is assigned from the streaming
+	  thread so this is racy.
+	  To be sure to clear it, it has to be done after setting the source to READY to
+	  be sure that its streaming thread isn't running.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736012
+
+2014-09-17 17:27:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: fix clearing of eos state in pads
+	  The internal pad still keeps its EOS flag and event as it can be assigned
+	  after the flush-start/stop pair is sent. The EOS is assigned from the streaming
+	  thread so this is racy.
+	  To be sure to clear it, it has to be done after setting the source to READY to
+	  be sure that its streaming thread isn't running.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736012
+
+2014-09-17 14:51:53 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: fix clearing of eos state in pads
+	  The internal pad still keeps its EOS flag and event as it can be assigned
+	  after the flush-start/stop pair is sent. The EOS is assigned from the streaming
+	  thread so this is racy.
+	  To be sure to clear it, it has to be done after setting the source to READY to
+	  be sure that its streaming thread isn't running.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736012
+
+2014-09-18 17:49:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Let the encoder automatically choose a h264 level
+	  We should negotiate these things via caps...
+
+2014-09-18 13:45:33 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Use 0 instead of G_MAXDOUBLE as the max keyframe interval
+	  0 means no limit, which was meant here with G_MAXDOUBLE probably.
+
+2014-09-18 13:42:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Expected duration is supposed to be the duration of the stream, not a frame
+	  Just don't set it for now, it isn't really needed.
+
+2014-09-18 11:39:53 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* tests/check/libs/vc1parser.c:
+	  vc1parser: add unit test for sequence-layer parsing
+	  Check that a sequence-layer header is successfully parsed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736871
+
+2014-09-18 11:49:13 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst-libs/gst/codecparsers/gstvc1parser.c:
+	  vc1parser: take care of endianness when parsing sequence-layer
+	  sequence-layer is serialized in little-endian byte order except for
+	  STRUCT_C which is serialized in big-endian byte order.
+	  But since STRUCT_A and STRUCT_B fields are defined as unsigned int msb
+	  first, we have to pass them as big-endian to their parsing function. So
+	  we basically use temporary buffers to convert them in big-endian.
+	  See SMPTE 421M Annex J and L.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736871
+
+2014-09-18 13:11:05 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: Properly handle keyframes
+	  Especially set the SYNC_POINT flag on keyframes.
+
+2014-09-18 14:24:13 +0530  Sanjay NM <sanjay.nm@samsung.com>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: removed an unwanted initialization and a variable
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736863
+
+2014-09-17 12:24:39 +0200  Jerome Laheurte <jlaheurte@quividi.com>
+
+	* sys/dshowsrcwrapper/BUILD.txt:
+	* sys/dshowsrcwrapper/CMakeLists.txt:
+	* sys/dshowsrcwrapper/gstdshow.cpp:
+	* sys/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+	* sys/dshowsrcwrapper/gstdshowaudiosrc.h:
+	* sys/dshowsrcwrapper/gstdshowfakesink.cpp:
+	* sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
+	* sys/dshowsrcwrapper/gstdshowvideosrc.h:
+	  dshowsrcwrapper: Port to 1.0
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732283
+
+2014-09-18 12:53:11 +0530  Sanjay NM <sanjay.nm@samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  camerabin2: removed redundant initialization
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736853
+
+2014-09-17 15:50:23 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>
+
+	* ext/faad/gstfaad.c:
+	  faad: logical disjunction consecutive return, break unnecessary
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736790
+
+2014-09-17 11:49:22 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: enable header-format conversion
+	  In fact we support header-format conversion which is done in
+	  update_caps() method.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736786
+
+2014-09-18 10:30:04 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Fix compilation
+
+2014-09-18 09:47:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Handle 0/1 framerates correctly by not calculating their frame duration
+
+2014-09-17 17:37:12 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/atdec.c:
+	  atdec: Fix some compiler warnings with newer clang
+
+2014-09-17 17:10:58 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Prepare encoder after setup
+	  This will allow encoding to happen faster on the first frame.
+
+2014-09-17 17:08:57 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: Only drain the encoder in ::finish(), not on every frame
+	  Otherwise quality and bitrate will be bad.
+
+2014-09-17 15:39:26 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Error out if encoding returned an error
+	  Otherwise we will just continue consuming frames until all memory is filled
+	  up and the app crashes.
+
+2014-09-17 14:56:05 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Check for errors from VTCompressionSessionCompleteFrames()
+
+2014-09-17 14:55:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Properly scale timestamps for the API and set invalid values
+
+2014-09-17 14:54:39 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Properly scale timestamps for the API and set invalid values
+
+2014-09-17 13:19:04 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/Makefile.am:
+	* sys/applemedia/plugin.m:
+	* sys/applemedia/vth264decbin.c:
+	* sys/applemedia/vth264decbin.h:
+	* sys/applemedia/vth264encbin.c:
+	* sys/applemedia/vth264encbin.h:
+	  applemedia: Remove old code that is of no use anymore
+
+2014-09-16 17:38:53 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: forge sequence-layer from seq_hdr instead of seq_layer
+	  If we don't have a seq_layer_buffer, we also don't have a valid
+	  seq_layer because there are set together in
+	  gst_vc1_parse_handle_seq_layer().
+	  So when output header format is sequence-layer and when we don't have a
+	  seq_layer_buffer, we forge one from seq_hdr.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736781
+
+2014-09-17 10:39:26 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  applemedia: Unconditionally use VideoToolbox on iOS if available
+	  Because we do weak linking now we can always compile it in and check at
+	  runtime if it is actually available or not.
+
+2014-09-17 10:38:20 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/Makefile.am:
+	* sys/applemedia/plugin.m:
+	  applemedia: Do weak linking with the VideoToolbox framework
+	  It does not exist on older OSX and iOS but we still want to
+	  be able to use it when it's available.
+
+2014-09-16 12:06:35 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* ext/wayland/gstwaylandsink.c:
+	  waylandsink: do not leak buffer pool in error case
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736735
+
+2014-09-16 15:59:58 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: fix sequence-layer/frame-layer endianness
+	  Sequence-layer and frame-layer are serialized in little-endian byte
+	  order except for STRUCT_C and framedata fields as described in SMPTE 421M Annex
+	  L.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736750
+
+2014-09-16 16:51:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: Port to GstVideoEncoder base class
+
+2014-09-16 16:13:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Use correct instance struct size
+
+2014-09-16 15:48:11 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Fix compiler warnings
+	  values of type 'OSStatus' should not be used as format arguments; add an explicit cast to 'int' instead [-Wformat]
+
+2014-09-16 15:02:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/Makefile.am:
+	* sys/applemedia/coremediactx.c:
+	* sys/applemedia/coremediactx.h:
+	* sys/applemedia/dynapi-internal.h:
+	* sys/applemedia/dynapi.c:
+	* sys/applemedia/dynapi.h:
+	* sys/applemedia/mtapi.c:
+	* sys/applemedia/mtapi.h:
+	* sys/applemedia/vtapi.c:
+	* sys/applemedia/vtapi.h:
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: Port to the real VideoToolbox API instead of using our dlopen() wrapper
+	  It's a public framework since a long time.
+
+2014-09-16 11:42:34 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: do not leak pool in error cases
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736732
+
+2014-09-16 11:43:02 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* sys/vdpau/gstvdpdecoder.c:
+	  vdpdecoder: do not leak pool
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736733
+
+2014-09-16 11:41:43 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* ext/gl/gstgltestsrc.c:
+	  gltestsrc: do not leak pool in error cases
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736730
+
+2014-09-16 11:42:13 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* ext/openni2/gstopenni2src.cpp:
+	  openni2src: do not leak pool
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736731
+
+2014-09-16 11:41:16 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: do not leak pool in error cases
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736729
+
+2014-09-16 13:21:22 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/vmnc/vmncdec.c:
+	  vmncdec: modify wrong packetized mode logic
+	  packetized mode is being set when framerate is being set
+	  which is not correct. Changing the same by checking the
+	  input segement format. If input segment is in TIME it is
+	  Packetized, and if it is in BYTES it is not.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736252
+
+2014-09-16 11:24:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/webp/gstwebpdec.c:
+	  webpdec: Remove unused variable
+
+2014-09-16 13:19:25 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* ext/webp/gstwebpdec.c:
+	  webpdec: modify wrong packetized mode logic
+	  packetized mode is being set when framerate is being set
+	  which is not correct. Changing the same by checking the
+	  input segement format. If input segment is in TIME it is
+	  Packetized, and if it is in BYTES it is not.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736252
+
+2014-09-16 01:15:31 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/elements/templatematch.c:
+	  templatematch: Compare the correct loop variables
+
+2014-09-15 15:42:41 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: No need to set kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder on iOS
+
+2014-09-15 15:36:44 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  configure: And make the preprocessor check work properly
+
+2014-09-15 15:25:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  configure: Do the AM_CONDITIONAL() after finally setting the variable
+
+2014-09-15 15:12:31 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* sys/applemedia/vtdec.c:
+	  applemedia: Don't include VideoToolbox on iOS < 8.0
+	  It's private API and does not work without a jailbroken device.
+
+2014-09-15 13:33:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Also refetch the playlist after the first fragment failure
+	  Previously we only refetched the playlist if downloading a fragment
+	  has failed once. We should also do that if it failed a second or third time,
+	  chances are that the playlist was updated now and contains new URIs.
+
+2014-09-15 11:59:32 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dash: Actually retry 3 times as advertised instead of 2
+
+2014-09-15 11:59:19 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hls: Actually retry 3 times as advertised instead of 2
+
+2014-09-13 20:49:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Fix compilation on iOS 8.0
+
+2014-09-11 14:36:31 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: fix malformed sequence layer header and STRUCT_C
+	  This commit fix several issues with sequence layer header forging on
+	  update_caps():
+	  - 0x00000004 unsigned integer is before STRUCT_C.
+	  - Set reserved bits of STRUCT_C to their values for simple/main
+	  profiles in sequence layer header format and ASF header format.
+	  - Sequence layer shall be represented as a sequence of 32 bits unsigned
+	  integers and shall be serialized in little-endian byte order except
+	  for STRUCT_C which shall be serialized in big-endian byte-order.
+	  See SMPTE 421M Annex L for more details about sequence layer format.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736474
+
+2014-09-12 14:49:44 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: Use proper variable for delivery system
+	  We want to check the delivery system is ISDBT (and not the modulation
+	  which we check later in that case).
+	  CID #1238439
+
+2014-09-12 09:30:04 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: fix trivial coding style issue
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736531
+
+2014-09-11 18:33:20 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/mpegtsdemux/pesparse.h:
+	  tsdemux: fix overflow of packet_length field of PESHeader
+	  packet_length is defined as a guint16 in the PESHeader structure. This
+	  definition match the specification. But since we add 6 bytes to the
+	  packet_length value (length of start_code + stream_id + packet_length),
+	  we can overflow the guint16 when the value in the PES header is greater
+	  than 65529.
+	  So use a guint32 instead of a guint16 to avoid overflow.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736490
+
+2014-09-10 15:39:44 -0300  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	  mssdemux: improve position detection when a download restart
+	  Query other src pads before falling back to the position of the last
+	  known pushed segment (which can be far ahead in time).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736421
+
+2014-09-10 15:43:05 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: improve position detection when a download restart
+	  Query other src pads before falling back to the position of the last
+	  known pushed segment (which can be far ahead in time).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736421
+
+2014-09-11 16:21:30 +0400  Belozorov Semen <skiminokD@gmail.com>
+
+	* gst/mpegpsmux/mpegpsmux_h264.c:
+	  mpegpsmux: fix memory leak when converting H.264 avc to byte-stream format
+	  Fix memory leak for input stream with caps "video/x-h264,stream-format=avc".
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736426
+
+2014-09-10 19:27:27 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/aiff/aiffmux.c:
+	  aiffmux: allocate byte writer on stack
+
+2014-09-10 19:19:32 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/asfmux/gstasfobjects.c:
+	* gst/asfmux/gstasfparse.c:
+	  asfmux: allocate byte readers on the stack
+
+2014-09-10 10:58:03 +0200  Jesper Larsen <knorr.jesper@gmail.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  tsdemux: clear mutex resources in dispose
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736390
+
+2014-09-10 17:24:39 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/mpg123/gstmpg123audiodec.c:
+	* ext/opus/gstopusdec.c:
+	* gst/adpcmenc/adpcmenc.c:
+	* sys/opensles/openslessrc.c:
+	* sys/uvch264/gstuvch264_src.c:
+	  Fix up one-element lists in template caps
+
+2014-09-10 16:38:52 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: fix bogus BGRA caps
+	  Remove 0.10-style endianness/*_mask/bpp/depth fields.
+
+2014-09-10 19:16:53 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* configure.ac:
+	  build: don't AC_SUBST intermediate values
+
+2014-09-09 12:01:47 +0200  Vasilis Liaskovitis <vliaskov@gmail.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
+	  GstGLWindow: Introduce navigation thread
+	  This thread dispatches navigation events. It is needed to avoid deadlocks
+	  between window backend threads that emit navigation events (e.g. X11/GMainLoop
+	  thread) and consumers of navigation events such as glimagesink, see
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733661
+	  GstGlWindow_x11 thread is changed to invoke the navigation thread for navigation
+	  dispatching, instead of emiting the event itself. Othe backends beside X11 do
+	  not dispatch navigation events yet, but should use this thread when dispatching
+	  these events in the future.
+	  The navigation thread is currently part of GstGLWindow and not implemented in
+	  separate subclasses / backends. This will be needed in the future.
+	  gst_gl_window_x11_get_surface_dimensions is also changed to use a cached value
+	  of the window's width, height. These values are now retrieved in the X11
+	  thread, function gst_gl_window_x11_handle_event. This change is needed because
+	  otherwise the XGetWindowAttributes gets called from the navigation thread,
+	  leading to xlib aborting due to multithreaded access (if XInitThreads is not
+	  called before, as is the case for gst-launch)
+
+2014-09-05 13:58:19 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: retry opening the frontend on EINTR
+
+2014-09-05 13:32:09 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: assorted doc & spelling fixes
+
+2014-09-07 01:30:16 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/dataurisrc/gstdataurisrc.c:
+	  Revert "dataurisrc: Remove unnecessary else if condition"
+	  This reverts commit 3024ae9c38490817a76c83feab3c8472989cafad.
+	  The *buf can be NULL or not depending if the caller of gst_pad_get_range
+	  function provided or not a buffer.
+
+2014-09-05 16:11:08 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/hlsdemux_m3u8.c:
+	  tests: hlsdemux: fix compilation
+	  In file included from /home/thiagoss/gst/head/gstreamer/gst/gst.h:54:0,
+	  from /home/thiagoss/gst/head/gstreamer/libs/gst/check/gstcheck.h:34,
+	  from elements/hlsdemux_m3u8.c:27:
+	  ../../ext/hls/gstfragmented.h:8:28: error: redundant redeclaration of ‘fragmented_debug’ [-Werror=redundant-decls]
+	  GST_DEBUG_CATEGORY_EXTERN (fragmented_debug);
+	  Move the definition of the category to after the declaration.
+
+2014-09-05 12:56:13 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	  hlsdemux: And fix Makefile yet again
+
+2014-09-05 12:25:01 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/hlsdemux_m3u8.c:
+	  hlsdemux: Include the m3u8.c file directly in the test because of an automake bug
+	  $(top_srcdir) doesn't seem to work with _SOURCES because that would be too
+	  obvious.
+	  http://lists.gnu.org/archive/html/automake/2013-09/msg00005.html
+
+2014-09-05 09:53:15 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/aiff/aiffparse.c:
+	  aiffparse: Fix handling of 64 bit floating point data
+	  In gst_aiff_parse_create_caps if and else-if conditions
+	  are duplicated.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736090
+
+2014-09-05 08:51:30 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+	* ext/opencv/gstfacedetect.c:
+	* ext/opencv/gstfacedetect.h:
+	  facedetect: Add new property min-stddev
+	  face detection will be performed only if image standard deviation is
+	  greater that min-stddev. Default min-stddev is 0 for backward
+	  compatibility. This property will avoid to perform face detection on
+	  images with little changes improving cpu usage and reducing false
+	  positives
+	  https://bugzilla.gnome.org/show_bug.cgi?id=730510
+
+2014-07-07 10:52:57 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstgltransformation.h:
+	  gltransformation: fix issues and expose mvp matrix
+	  * aspect should not be 0 on init
+	  * rename fovy to fov
+	  * add mvp to properties as boxed graphene type
+	  * fix transformation order. scale first
+	  * clear color with 1.0 alpha
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734223
+
+2014-09-04 21:41:54 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	  hlsdemux: Also get the m3u8.c source file from the $(top_srcdir) for the test
+	  Should fix make distcheck for real now.
+
+2014-09-04 19:01:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	  hlsdemux: Use $(top_srcdir) instead of $(top_builddir) for the include path
+
+2014-09-04 18:21:38 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	  mssdemux: Don't send flush events to deactivated pads
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736012
+
+2014-09-04 18:21:25 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Don't send flush events to deactivated pads
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736012
+
+2014-09-04 18:20:58 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Don't send flush events to deactivated pads
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736012
+
+2014-09-04 17:52:35 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	  hlsdemux: Compile the m3u8.c directly instead of re-using the .o file
+
+2014-09-04 17:50:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/.gitignore:
+	* tests/check/elements/hlsdemux_m3u8.c:
+	  hlsdemux: Add unit test for parsing of M3U8 playlists
+	  Ported from https://github.com/ylatuya/gst-plugins-bad
+	  This still has some unit tests for alternative renditions and
+	  seeking, which are commented out for the time being until we
+	  support them properly.
+
+2014-09-04 17:49:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: Properly assign offsets to the files if we accumulate them instead of reading from the playlist
+
+2014-09-04 13:38:21 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/dataurisrc/gstdataurisrc.c:
+	  dataurisrc: Remove unnecessary else if condition
+	  In gst_data_uri_src_create(), buf cannot be NULL, hence
+	  else if (*buf != NULL) will be invalid so removing the
+	  else if condition and adding a check to unreference buf
+	  in else condition, just in case
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735861
+
+2014-09-02 18:06:53 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: simplify ISDB-T launch line example
+
+2014-09-02 12:13:01 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: delay locking till actually needed
+	  Get rid of unneeded locking at prop setting by doing
+	  it only when tuning the frontend at _tune_fe()
+
+2014-09-02 12:11:44 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/dataurisrc/gstdataurisrc.c:
+	  dataurisrc: Make get_uri() threadsafe
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735861
+
+2014-09-01 17:41:50 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamcaudiodec.c:
+	* sys/androidmedia/gstamcaudiodec.h:
+	  amcaudiodec: Remove hack for Google MP3 decoder
+	  The first buffer does not contain more garbage than any other MP3 decoder
+	  outputs and we don't really know how much we have to drop or not.
+	  After this change the output has the same duration as with mad.
+
+2014-09-01 08:24:57 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/videofilters/gstzebrastripe.c:
+	  zebrastripe: Refactor to remove duplicate code
+	  gst_zebra_stripe_transform_frame_ip_planarY
+	  gst_zebra_stripe_transform_frame_ip_YUY2
+	  gst_zebra_stripe_transform_frame_ip_AYUV
+	  all above 3 functions do the same functionality except for offset and pixel stride.
+	  Hence moving the functionality to a single funtion.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735032
+
+2014-08-29 18:55:32 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: fix description for modulation prop
+
+2014-08-29 17:16:09 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add basic checks on ISDB-T parameters
+	  Also add a routine for checking wrong delsys/modulation
+	  combinations right before tuning (only implemented for
+	  ISDB-T for now).
+
+2014-08-29 18:09:07 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add support for additional modulation types
+
+2014-08-29 13:26:12 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: drop FIXME on _ISDBT_LAYER_ENABLED prop
+	  Valid values range from 1 to 7 as stated.
+	  DTV_ISDBT_LAYER_ENABLED bitmask is built from
+	  OR-ing 0x1 0x2 0x4. If all bits are set
+	  (0x00000111 = 7) it means all layers should be
+	  demodulated.
+
+2014-08-29 19:26:40 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/assrender/gstassrender.c:
+	  assrender: remove code that can't be reached
+	  If this code could ever be reached, it would leak
+	  memory (CID 1231979), but gst_caps_get_features()
+	  never returns NULL, so that can't happen.
+
+2014-08-29 19:24:52 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
+	  dvbsuboverlay: remove code that can't be reached
+	  If this code could ever be reached, it would leak
+	  memory (CID 1231977), but gst_caps_get_features()
+	  never returns NULL, so that can't happen.
+
+2014-08-28 20:12:07 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: fix up handling of input caps corner cases
+	  Do more elaborate validation of the input caps: what fields
+	  are required and/or not allowed. Don't assume AVC3 format
+	  input without codec_data field is byte-stream format. Fix
+	  up some now-unreachable code (CID 1232800).
+
+2014-08-28 16:42:30 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Add missing break to switch
+	  CID 1232801
+
+2014-08-28 11:37:56 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/rawparse/gstrawparse.c:
+	  rawparse: Reset negotiation state when going back to READY
+	  After going back to READY we can accept new format settings again.
+
+2014-08-22 15:18:59 -0600  Thomas Bluemel <tbluemel@control4.com>
+
+	* configure.ac:
+	* ext/hls/Makefile.am:
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: Support OpenSSL for AES decryption of HLS fragments
+	  https://bugzilla.gnome.org//show_bug.cgi?id=735248
+
+2014-08-26 16:21:42 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* tests/examples/gl/qt/qglwtextureshare/glcontextid.h:
+	* tests/examples/gl/qt/qglwtextureshare/gstthread.h:
+	* tests/examples/gl/qt/qglwtextureshare/main.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/pipeline.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/pipeline.h:
+	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro:
+	  gl: qglwtextureshare demo fixes and cleanup
+	  1. glcontextid function is replaced by gstreamer gst_gl_context_new_wrapped .
+	  2. call gst_init before gst_gl_display_new , seems gst_gl_display_new depends
+	  on gst_allocator_register , which only worked after gst_init called
+	  3. flush gstreamer OpenGL context before using shared texture, fix
+	  flicker problem.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735566
+
+2014-08-27 13:40:42 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  gl: Add GSTGLAPI macro to the debug callback function
+	  Fixes the Windows build.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735565
+
+2014-08-28 09:53:17 +0300  Blake Tregre <blake.tregre@gmail.com>
+
+	* gst/librfb/rfbdecoder.c:
+	  rfbsrc: Clamp out of bounds resolutions to prevent segfaults
+	  https://bugzilla.gnome.org/show_bug.cgi?id=726801
+
+2014-08-27 14:47:25 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* configure.ac:
+	  gl: do not check for GL/GLU/EGL/GLES2 libs if disabled in configuration
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735522
+
+2014-08-26 12:38:52 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	  egl: Wrap KHR_create_context flags in an ifdef
+	  EGL_CONTEXT_FLAGS_KHR and EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR
+	  don't exist in the Android NDK. Wrap their usage in an #ifdef
+	  EGL_KHR_create_context to fix the build there.
+
+2014-08-21 12:32:10 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: don't consider unknown stream-format as avc
+	  It should try to use bytestream in these cases that the format
+	  is set to _FORMAT_NONE as it seems that is what the 'else' clause
+	  for bytestream can handle (by defaulting to _FORMAT_BYTESTREAM).
+
+2014-08-25 13:33:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/h264parse.c:
+	  h264parse: tests: fix caps for avc format
+	  If it has a codec_data field, it should also use the stream-format=avc as
+	  codec_data doesn't make sense otherwise and the default should
+	  be bytestream
+
+2014-08-25 15:21:39 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* docs/plugins/inspect/plugin-mpegpsmux.xml:
+	  docs: add mpegpsmux and mpegtsmux
+
+2014-08-25 15:20:59 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* docs/plugins/inspect/plugin-audiomixer.xml:
+	  docs: add audiomixer to docs
+
+2014-08-25 15:20:16 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/inspect/plugin-aiff.xml:
+	  docs: add aiff elements to docs
+
+2014-08-25 14:56:15 +0100  Tim-Philipp Müller <tim@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/gst-plugins-bad-plugins.prerequisites:
+	* docs/plugins/gst-plugins-bad-plugins.signals:
+	  docs: plugins: misc updates
+
+2014-08-25 14:43:49 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-docs.sgml:
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* 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.types:
+	  docs: move GstPhotography interface docs into the library docs
+	  Now that we have docs for the libs.
+
+2014-08-25 12:21:36 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/sndfile/gstsf.c:
+	  sndfile: don't decode formats that are better handled by other elements
+	  In particular: flac, ogg, pcm, au, aiff, wav.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=722316
+
+2014-08-22 16:49:10 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	  egl: fallback to a non-debug context if a debug one fails
+	  The text for EGL_KHR_create_context added the possiblity for ES
+	  contexts to ask for a debug context however that has not been
+	  fully realized by all implementations.  Fallback to a non-debug
+	  context when the implementation errors.
+
+2014-08-05 14:06:07 -0400  Youness Alaoui <kakaroto@kakaroto.homelinux.net>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: Add support for RTP/RTCP mixing if data arrives on RTCP pad
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734321
+
+2014-08-21 16:24:06 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: fix abort in error code path with newer glib
+	  Don't forget to unlock mpd client again when erroring out.
+	  Fixes abort when g_mutex_clear() is called on a locked mutex.
+
+2014-07-02 12:49:44 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* gst-libs/gst/gl/Makefile.am:
+	  gstopengl: add introspection support
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734482
+
+2014-08-05 12:07:08 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* tests/examples/gl/gtk/switchvideooverlay/main.cpp:
+	  examples: fix gtk+ 3.14 deprecation error
+	  https://developer.gnome.org/gtk3/3.13/GtkWidget.html#gtk-widget-set-double-buffered
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734482
+
+2014-07-07 10:52:06 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: expose context
+	  * expose context in draw / reshape callbacks
+	  * add context property
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734482
+
+2014-07-07 10:51:28 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* gst-libs/gst/gl/gstglshader.c:
+	* gst-libs/gst/gl/gstglshader.h:
+	  glshader: expose opengl handle in getter
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734482
+
+2014-08-20 09:37:01 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	  gl: check null before unref GstGLDisplay
+
+2014-08-21 10:03:07 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/glprototypes/debug.h:
+	  gl: add prototype definition for KHR_debug
+
+2014-08-20 23:24:12 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
+	  glcontext: implement the debug callback
+	  For both GL_KHR_debug and ARB_debug_output.  This allows us to
+	  receive errors and other hints from the GL instead of querying after
+	  every GL operation.
+
+2014-08-20 23:23:06 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/glprototypes/Makefile.am:
+	* gst-libs/gst/gl/glprototypes/all_functions.h:
+	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
+	* gst-libs/gst/gl/gstglapi.h:
+	  gl: add prototypes for KHR_debug/ARB_debug_output
+
+2014-08-19 17:17:33 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: unref pad reference when removing internal source in error
+	  Avoids leaking the pad in error situations
+
+2014-08-19 16:01:58 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: read language from ContentComponent node as a fallback
+	  If the language is not specified in the AdaptationSet, use the ContentComponent
+	  node to get it. We only get it if there is only a single ContentComponent as
+	  it doesn't seem clear on what to do if there are multiple entries
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732237
+
+2014-06-25 15:55:32 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/dash/Makefile.am:
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: push language code tag
+	  Language code tag is retrieved from the AdaptationSet language
+	  property.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732237
+
+2014-08-19 20:14:22 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	  gl: don't take an extra ref on the display on set_context
+	  gst_context_get_gl_display() returns a ref.  Don't take another in
+	  gst_object_replace().
+
+2014-08-19 17:01:36 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: unref the GstGLUpload in the pad if freed while running
+	  Dynamic pipelines that get and release the sink pads will finalize
+	  the pad without going through gst_gl_mixer_stop() which is where the
+	  upload object is usually freed.  Don't leak objects in such case.
+
+2014-08-14 23:51:21 -0400  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* ext/gl/gstglmixer.c:
+	  glvideomixer: avoid gl resource race condition between different thread
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734830
+
+2014-08-19 14:44:29 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: don't clobber unnecessary GstVideoInfo fields
+	  otherwise we might clobber other important fields such as the frame rate.
+
+2014-08-19 14:43:42 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: get the attribute from the correct shader
+
+2014-08-19 14:23:21 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: unref the window on navigation event
+	  plugs a memory leak
+
+2014-08-19 00:01:28 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: remove pads when resetting the element
+	  Otherwise the pads will be there if it is restarted and the stream
+	  can be a completely different one.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734394
+
+2014-08-17 01:42:05 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	  codecparser: h264: Use proper bit_reader api while parsing buffering_period SEI
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734970
+
+2014-08-14 10:19:13 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/videofilters/gstscenechange.c:
+	  scenechange: fix crash on startup
+	  gst_video_frame_map() was using the oldinfo GstVideoInfo
+	  before it's been populated, resulting in a crash right
+	  at the start.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734763
+
+2014-08-14 15:26:53 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamcaudiodec.c:
+	* sys/androidmedia/gstamcvideodec.c:
+	* sys/androidmedia/gstamcvideoenc.c:
+	  androidmedia: Make sure to unblock any thread waiting on the drain condition variable when errors happen
+
+2014-08-14 15:24:21 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamcaudiodec.c:
+	* sys/androidmedia/gstamcaudiodec.h:
+	* sys/androidmedia/gstamcvideodec.c:
+	* sys/androidmedia/gstamcvideodec.h:
+	* sys/androidmedia/gstamcvideoenc.c:
+	* sys/androidmedia/gstamcvideoenc.h:
+	  androidmedia: Fix draining logic to let the base class handle EOS events
+	  https://bugzilla.gnome.org//show_bug.cgi?id=734775
+
+2014-08-11 21:25:41 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/parsechannels.c:
+	  dvbbasebin: fix parsing of freqs in some ZAP files
+	  Change avoids attempting to convert to kHz if unneeded.
+	  There are quite some ZAP format variants out there. Among
+	  their subtle little differences, some store transponder
+	  frequencies in Mhz and others in kHz. The latter been the
+	  most common variant.
+
+2014-08-07 19:37:01 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: get rid of remaining trailing whitespace
+
+2014-08-07 19:19:36 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: wrap around known-interruptible ioctls
+	  Also get rid of the asumption that some requests like
+	  FE_SET_TONE or FE_SET_VOLTAGE only error out with -1
+
+2014-08-07 14:00:40 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: drop gst_dvbsrc_retry_ioctl for retry macro
+	  LOOP_WHILE_EINTR macro makes it easier to handle
+	  assorted ioctl argp types. Functionality is otherwise
+	  equivalent.
+
+2014-08-12 12:35:00 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/dvbbasebin.c:
+	* sys/dvb/dvbbasebin.h:
+	* sys/dvb/gstdvbsrc.c:
+	* sys/dvb/gstdvbsrc.h:
+	  dvbsrc: dvbbasebin: add 'tune' signal
+	  It works the same as the 'tune' property that is used only to signal
+	  the element that it should tune, but it is more natural to be used
+	  as a signal rather than a property.
+	  It is also proxied at the dvbbasebin element
+
+2014-08-07 15:25:32 +0200  Thibault Saunier <thibault.saunier@collabora.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Do not switch playlist on trick modes
+	  Instead always use the low bandwith playlist making things go smoother
+	  as the current heuristic is rather set for normal playback, and
+	  currently it does not behave properly.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734445
+
+2014-07-21 14:42:47 +0200  Thibault Saunier <thibault.saunier@collabora.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: No need to have a I-Frame list to do trick modes
+	  It just works cleanly without any index and there is no real reason for
+	  that limitation. Also, there are very few stream with that feature.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734445
+
+2014-08-05 17:13:13 +0200  Thibault Saunier <thibault.saunier@collabora.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: Do not tweak segments on reverse playback
+	  We can't compare the first buffer start and the segment start in that
+	  case... playback is going backward!
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734445
+
+2014-08-13 16:57:15 +0200  Valentin PONS <valx76@gmail.com>
+
+	* ext/opencv/gstfacedetect.c:
+	  facedetect: Use NULL to disable eyes/nose/mouth
+	  Without printing a warning about it
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734623
+
+2014-08-10 22:58:22 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	  glbufferpool: fix allocator leak in some cases
+	  Spotted by Sebastian Rasmussen.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734523
+
+2014-08-11 12:32:04 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/assrender/gstassrender.c:
+	  assrender: save a few ref/unref pairs
+	  The event/query functions already have a reference to the element, avoid
+	  ref/unref in the functions handling caps queries and events.
+
+2014-08-11 12:31:17 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/assrender/gstassrender.c:
+	  assrender: remove obsolete fixme
+
+2014-08-11 12:22:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/assrender/gstassrender.c:
+	  assrender: improve negotiation
+	  Check if downstream supports overlay meta, if possible use it and
+	  if not fallback to no-overlay caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733916
+
+2014-08-11 12:21:28 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/assrender/gstassrender.c:
+	  assrender: always intersect with the filter caps
+	  Avoids returning values that peers can't use
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733916
+
+2014-08-11 11:35:01 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
+	  dvbsuboverlay: improve negotiation
+	  Check if downstream supports overlay meta, if possible use it and
+	  if not fallback to no-overlay caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733916
+
+2014-08-11 11:33:28 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
+	  dvbsuboverlay: always intersect with the filter in getcaps
+	  Avoids returning unsupported caps to peers
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733916
+
+2014-08-11 23:38:40 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: fix up doc comment for set_src_caps
+	  It does not occur 'later' anymore
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732662
+
+2014-08-07 19:54:36 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: push the caps event as soon as we receive it
+	  Along with the required mandatory dependent events.
+	  Some elements need to perform an allocation query inside
+	  ::negotiated_caps().  Without the caps event being sent prior,
+	  downstream elements will be unable to answer and will return
+	  an error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732662
+
+2014-08-11 16:01:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* ext/webp/Makefile.am:
+	* ext/webp/gstwebp.c:
+	* ext/webp/gstwebpenc.c:
+	* ext/webp/gstwebpenc.h:
+	  webenc: Add WebP image encoder
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733087
+
+2014-08-09 01:29:30 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/sbc/gstsbcenc.c:
+	  sbcenc: Unref output caps in error cases
+	  gst_caps_intersect() returns a reference to a caps object which in
+	  the normal case is consumed, but in error cases must be unreferenced.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734521
+
+2014-08-08 14:08:19 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/opus/gstopusenc.c:
+	  opusenc: Unref pad template caps after usage
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734517
+
+2014-08-09 11:41:17 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* gst/inter/gstintertest.c:
+	  inter: Unref bus after usage
+	  gst_pipeline_get_bus() returns a reference to a bus that needs to
+	  be unreferenced after usage.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734525
+
+2014-08-09 11:45:41 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* tests/examples/gl/clutter/clutteractor.c:
+	* tests/examples/gl/clutter/clutteractortee.c:
+	* tests/examples/gl/gtk/fxtest/fxtest.c:
+	  examples/gl: unref bus and element after usage
+	  gst_pipeline_get_bus() and gst_bin_get_by_interface() both
+	  return references that need to be unreferenced after usage.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734527
+
+2014-08-10 19:12:01 +0100  Tim-Philipp Müller <tim@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-asfmux.xml:
+	* docs/plugins/inspect/plugin-assrender.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-fragmented.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-id3tag.xml:
+	* docs/plugins/inspect/plugin-inter.xml:
+	* docs/plugins/inspect/plugin-interlace.xml:
+	* docs/plugins/inspect/plugin-jpegformat.xml:
+	* docs/plugins/inspect/plugin-liveadder.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-mpegtsdemux.xml:
+	* docs/plugins/inspect/plugin-mpegtsmux.xml:
+	* docs/plugins/inspect/plugin-mpg123.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-opus.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:
+	  docs: update for git master
+
+2014-08-10 19:05:43 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/inspect/plugin-rtpvp8.xml:
+	  docs: remove rtpvp8 plugin docs, the elements are now in -good
+
+2014-08-10 18:07:28 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfilterglass.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmosaic.c:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstglvideomixer.c:
+	  opengl: update element docs for 1.x
+
+2014-08-10 17:48:50 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* docs/plugins/inspect/plugin-eglglessink.xml:
+	  docs: remove eglglessink from docs as it no longer exists
+
+2014-08-09 11:36:38 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: Unref elements after usage
+	  gst_bin_get_by_name() and gst_bin_get_by_interface() both return
+	  references to elements that need to be unreferenced after usage.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734524
+
+2014-08-09 01:27:53 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/openal/gstopenalsink.c:
+	* ext/openal/gstopenalsrc.c:
+	  openal: Unref pad template caps after usage
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734520
+
+2014-08-10 12:29:04 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/ladspa/gstladspafilter.c:
+	  ladspa: fix up broken patch merge
+	  Sorry, should've been commit --amend
+
+2014-08-09 13:24:00 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* sys/pvr2d/gstpvrvideosink.c:
+	  pvrvideosink: Avoid leaking bufferpool configuration
+	  gst_buffer_pool_get_config() returns a copy to the bufferpool's
+	  configuration, which must be passed to gst_structure_free() after
+	  use if not given away to gst_buffer_pool_set_config().
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734537
+
+2014-08-09 13:22:42 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* sys/directsound/gstdirectsoundsrc.c:
+	  directsoundsrc: Avoid leaking copy of caps object
+	  gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
+	  so creating a copy using gst_caps_copy() results in a reference leak.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734536
+
+2014-08-09 13:20:41 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Avoid leaking caps object and its copy
+	  gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
+	  so creating a copy using gst_caps_copy() results in a reference leak. Also
+	  the caps are pushed as an event downstream, but this doesn't consume the
+	  caps so it must still be unreferenced.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734534
+
+2014-08-09 13:17:17 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* sys/androidmedia/gstamcvideoenc.c:
+	  amcvideoenc: Avoid leaking copy of caps object
+	  gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
+	  so creating a copy using gst_caps_copy() results in a reference leak.
+	  Also remove the incorrect comment to avoid confusion in the future.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734533
+
+2014-08-09 13:12:14 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* gst/interlace/gstinterlace.c:
+	  interlace: fix caps refcounting
+	  tcaps was unrefed when it shouldn't have been unrefed
+	  in some cases.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734531
+
+2014-08-09 13:09:52 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
+	  dvbsuboverlay: Avoid leaking copy of caps object
+	  gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
+	  so creating a copy using gst_caps_copy() results in a reference leak.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734528
+
+2014-08-09 11:17:44 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Unref allowed caps after usage
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734522
+
+2014-08-09 01:25:21 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/ladspa/gstladspafilter.c:
+	  ladspa: Unref pad template caps after usage
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734519
+
+2014-08-09 01:25:21 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/ladspa/gstladspafilter.c:
+	  ladspa: Unref pad template caps after usage
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734519
+
+2014-08-09 01:23:50 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/directfb/dfbvideosink.c:
+	  dfbvideosink: Unref pad template caps after usage
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734518
+
+2014-08-10 11:35:41 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/pipelines/.gitignore:
+	* tests/check/pipelines/colorspace.c:
+	  tests: remove defunct test code for old colorspace element
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734538
+
+2014-08-09 13:27:00 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* tools/element-templates/srcpad:
+	  element-maker: Avoid leaking copy of caps object
+	  gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
+	  so creating a copy using gst_caps_copy() results in a reference leak.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734539
+
+2014-08-09 14:27:34 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/gsm/gstgsmenc.c:
+	  gstgsmenc: Unref caps object after usage
+	  gst_audio_encoder_set_output_format() does not consume caps, so
+	  unreference that object instead.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734544
+
+2014-08-09 14:24:59 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/opus/gstopusheader.c:
+	  opus: Improve annotation of internal function
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734543
+
+2014-08-06 18:11:20 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: support downloading segments in reverse order
+	  When a seek with a negative rate is requested, find the target
+	  segment where gstsegment.stop belongs in and then download from
+	  this segment backwards until the first segment.
+	  This allows proper reverse playback.
+
+2014-08-07 19:18:49 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglvideomixer.c:
+	* ext/gl/gstglvideomixer.h:
+	  glvideomixer: add a background property
+	  That's compatible with the compositor/videomixer property
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731954
+
+2014-08-06 13:27:04 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* ext/faad/gstfaad.c:
+	  ext:faad: Set rank to SECONDARY as the libav decoder is concidered better
+	  https://bugzilla.gnome.org/show_bug.cgi?id=676131
+
+2014-08-06 16:48:03 +0300  Vasilis Liaskovitis <vliaskov@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  GstGLWindow, GstGLImagesink, x11: Scale navigation events on resized windows
+	  If window is resized, GstStructure pointer values have to be rescaled to
+	  original geometry. A get_surface_dimensions GLWindow class method is added for
+	  this purpose and used in the navigation send_event function.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=703486
+
+2014-08-06 08:15:38 -0400  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: don't determine if frame needs upload by pointer compare
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734269
+
+2014-08-05 11:45:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	* gst/mpegtsdemux/mpegtspacketizer.h:
+	  mpegtspacketizer: Store PCR time/byte offsets in 64 bit integers
+	  32 bit integers are going to overflow, especially the PCR offset to
+	  the first PCR will overflow after about 159 seconds. This makes playback
+	  of streams stop at 159 seconds as suddenly the timestamps are starting
+	  again from 0. Now we have a few more years time until it happens again
+	  and 64 bits are too small.
+
+2014-08-05 10:42:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  Revert "mpegtspacketizer: Convert PCR times to GStreamer times before comparing them against 500 * GST_MSECOND"
+	  This reverts commit 9f186c6ab32c1e949916d385186b2d400190add6.
+	  That commit was actually completely wrong, nevermind.
+
+2014-08-05 10:36:17 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  mpegtspacketizer: Convert PCR times to GStreamer times before comparing them against 500 * GST_MSECOND
+	  Otherwise it will believe to detect PCR gaps already when there's a very small
+	  gap of a few milliseconds, breaking playback of some files.
+
+2014-07-31 17:40:30 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.h:
+	  dvbsrc: remove srcpad leftover
+	  The element is inheriting its srcpad from basesrc
+
+2014-08-01 18:02:10 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	  decklinksink: Initialize pixel format to bmdFormat8BitYUV
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725871
+
+2014-08-01 16:40:49 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	  codecparsers_h264: initialize some fields of pic_timing structure
+	  Otherwise pic timing structure can have invalid cpb_removal_delay,
+	  dpb_output_delay or pic_struct_present_flag which are blindly retrieved
+	  in h264parse.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734124
+
+2014-08-01 16:58:23 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	  decklinksink: Catch errors during data flow and error out properly
+	  Otherwise we will just deadlock the thread if e.g. scheduling a video
+	  frame fails for whatever reason.
+
+2014-07-31 20:52:39 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: return the error to the source immediately to stop faster
+	  When flushing, this will prevent dashdemux from trying to download more
+	  fragments or more chunks of the same fragment before stopping.
+	  Also improves the error handling to not transform everything non-ok into
+	  an error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734014
+
+2014-07-29 02:11:54 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  mpegtspacketizer: avoid timestamp overflows
+	  Cause timing to break in the pipeline that can lead to a stall
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733837
+
+2014-08-01 13:14:03 +0200  Edward Hervey <edward@collabora.com>
+
+	* po/POTFILES.in:
+	  po: Remove files no longer present
+	  They were removed when sndfile was ported to 1.x
+
+2014-08-01 12:38:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: 59.94fps is 60000/1001, not 30000/1001
+	  And also change 30/1 to 60/1 for one 60fps mode.
+
+2014-08-01 17:51:08 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gl/docs: remove superflous 'the'
+
+2014-08-01 16:41:13 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gl: document GST_GL_* environment variables
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733245
+
+2014-08-01 10:01:18 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* tests/check/libs/gstglmemory.c:
+	* tests/check/libs/gstglupload.c:
+	  gl/tests: update for API changes
+
+2014-07-31 18:55:33 +0200  Edward Hervey <edward@collabora.com>
+
+	* Makefile.am:
+	* common:
+	  Makefile: Add usage of build-checks step
+	  Allows building checks without running them
+
+2014-07-31 18:46:33 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	  glcontext: add a destroy function
+	  that just calls the subclass
+
+2014-07-31 18:36:58 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  gl/x11: silence runtime warning
+	  g_main_loop_quit: assertion 'loop != NULL' failed
+
+2014-07-31 15:18:04 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: use the plane offsets to compute the size of the data pointer
+	  Certain elements expect that there be a certain number of lines
+	  that they can write into.  e.g. for odd heights, I420, YV12, NV12,
+	  NV21 (and others) Y lines are expected to have exactly twice the
+	  number of U/UV lines.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733717
+
+2014-07-31 14:07:29 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstgldownload.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstgluploadmeta.c:
+	  glmemory: use GstVideoInfo everywhere
+	  Simplifies a lot of the calling code
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733717
+
+2014-07-30 16:32:01 -0300  Robert Jobbagy <jobbagy.robert@gmail.com>
+
+	* ext/opencv/gstfaceblur.c:
+	* ext/opencv/gstfaceblur.h:
+	* ext/opencv/gstfacedetect.c:
+	* ext/opencv/gstfacedetect.h:
+	  faceblur: facedetect: add properties to faceblur
+	  Makes faceblur have the same properties as facedetect. Also improves
+	  the standard defaults and makes them the same in the 2 elements
+
+2014-07-30 16:30:39 -0300  Robert Jobbagy <jobbagy.robert@gmail.com>
+
+	* ext/opencv/gstfaceblur.c:
+	* ext/opencv/gstfaceblur.h:
+	  faceblur: post message when profile loading fails
+
+2014-07-30 16:07:17 -0300  Robert Jobbagy <jobbagy.robert@gmail.com>
+
+	* ext/opencv/gstfaceblur.c:
+	* ext/opencv/gstfacedetect.c:
+	  facedetect: faceblur: update launch line examples
+	  Reflect 1.0 and more useful examples
+
+2014-07-29 13:25:22 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: keep the uploaded buffer around on successful redisplay
+	  We might need it later to perform a redisplay.  GstGLUpload will take
+	  of releasing the previous buffer when it receives a new buffer.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733726
+
+2014-07-29 11:47:55 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: reenable the texture_rg support for !eagl
+	  The GST_GL_HAVE_PLATFORM_EAGL is always defined we need to compare
+	  against the value instead.
+
+2014-07-28 19:11:41 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* tests/check/elements/.gitignore:
+	* tests/check/libs/.gitignore:
+	  tests: gitignore: update with new tests
+
+2014-07-28 16:55:15 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* tests/files/blue-square.png:
+	  tests: files: adds missing file from previous commit
+	  This is required for the templatematch test to work
+
+2014-07-28 15:45:09 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/templatematch.c:
+	* tests/files/Makefile.am:
+	  tests: templatematch: add test to check that we use the correct rgb format
+	  templatematch should use the same RGB format that opencv uses (BGR), make sure
+	  we keep it that way with this test.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=678485
+
+2012-06-15 13:19:06 +0100  David Rothlisberger <david.rothlisberger@youview.com>
+
+	* ext/opencv/gsttemplatematch.c:
+	  opencv templatematch: Set caps to BGR order
+	  templatematch operates on BGR data. In fact, OpenCV's IplImage always
+	  stores color image data in BGR order -- this isn't documented at all in
+	  the OpenCV source code, but there are hints around the web (see for
+	  example
+	  http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv-intro.html#SECTION00041000000000000000
+	  and http://www.comp.leeds.ac.uk/vision/opencv/iplimage.html ).
+	  gst_templatematch_load_template loads the template (the image to find)
+	  from disk using OpenCV's cvLoadImage, so it is stored in an IplImage in
+	  BGR order. But in gst_templatematch_chain, no OpenCV conversion
+	  functions are used: the imageData pointer of the IplImage for the video
+	  frame (the image to search in) is just set to point to the raw buffer
+	  data. Without this fix, that raw data is in RGB order, so the call to
+	  cvMatchTemplate ends up comparing the template's Blue channel against
+	  the frame's Red channel, producing very poor results.
+
+2014-07-28 13:10:35 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* ext/opencv/gsttemplatematch.c:
+	  templatematch: mark pads as proxy caps
+	  Allows negotiation to happen properly
+
+2012-06-25 20:37:01 +0100  William Manley <william.manley@youview.com>
+
+	* ext/opencv/gsttemplatematch.c:
+	  templatematch: Produce a warning message if we can't load a template image
+
+2012-06-20 15:22:52 +0100  William Manley <william.manley@youview.com>
+
+	* ext/opencv/gsttemplatematch.c:
+	  templatematch: Match rectangle grows redder with increased match certainty
+	  This is useful for debugging your matches as it indicates how certain the
+	  match was in addition to its position.
+
+2012-06-20 15:05:40 +0100  William Manley <william.manley@youview.com>
+
+	  templatematch: Allow changing template property on the fly
+	  Previously changing the template property resulted in an exception
+	  thrown from cvMatchTemplate, because "dist_image" (the intermediate
+	  match-certainty-distribution) was the wrong size (because the
+	  template image size had changed).
+	  Locking has also been added to allow changing the properties (e.g. the
+	  pattern to match) while the pipeline is playing.
+	  * gst_element_post_message is moved outside of the lock, because it will
+	  call into arbitrary user code (otherwise, if that user code calls into
+	  gst_templatematch_set_property on this same thread it would deadlock).
+	  * gst_template_match_load_template: If we fail to load the new template
+	  we still unload the previous template, so this element becomes a no-op
+	  in the pipeline. The alternative would be to keep the previous template;
+	  I believe unloading the previous template is a better choice, because it
+	  is consistent with the state this element would be in if it fails to
+	  load the very first template at start-up.
+	  Thanks to Will Manley for the bulk of this work; any errors are probably
+	  mine.
+
+2012-06-01 16:07:34 +0100  David Rothlisberger <david.rothlisberger@youview.com>
+
+	* ext/opencv/gsttemplatematch.c:
+	  templatematch: Pass video through when nothing to match against
+	  The early return was bypassing the call to gst_pad_push. With no
+	  filter->template (and thus no filter->cvTemplateImage) the rest of this
+	  function is essentially a no-op (except for the call to gst_pad_push).
+	  This (plus the previous commit) allows templatematch to be
+	  enabled/disabled without removing it entirely from the pipeline, by
+	  setting/unsetting the template property.
+
+2012-06-20 15:05:06 +0100  William Manley <william.manley@youview.com>
+
+	* ext/opencv/gsttemplatematch.c:
+	  templatematch: Remove no-op call to gst_templatematch_load_template
+	  We have just set filter->template to NULL, so
+	  gst_templatematch_load_template did nothing.
+
+2014-07-08 19:18:48 -0400  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: clarify units for freq and symbol-rate
+
+2014-07-07 18:52:20 -0400  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
+
+	* sys/dvb/dvbbasebin.c:
+	* sys/dvb/gstdvbsrc.c:
+	* sys/dvb/gstdvbsrc.h:
+	  dvbsrc: add preliminary  support for ISDB-T/Tb
+	  ISDB-T and ISDB-Tb (the Brazilian variant) are the
+	  terrestial DTV standards used by Japan, Philippines,
+	  Maldives, Thailand, most South American countries
+	  and Botswana. Changeset adds the set of previously
+	  missing (and required) ISDB-T parameters, adapter
+	  and frontend setup logic and proxies the new
+	  properties on dvbbasebin.
+	  Tested to work with the live aerial broadcast by
+	  Tv Paraíba HD in Campina Grande (Brazil).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732875
+
+2014-07-05 03:08:00 -0400  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
+
+	* sys/dvb/dvbbasebin.c:
+	* sys/dvb/gstdvbsrc.c:
+	* sys/dvb/gstdvbsrc.h:
+	  dvbsrc: make slof/lof1/lof2 settable properties
+	  Allows proper tuning around high/low band boundaries when using
+	  non "standard" LNBs.
+	  Not all LNBs (Low noise block down converters) are made equal.
+	  This is particularly true for universal LNBFs, where, even though
+	  there are seemingly standard values for the local oscillator
+	  frequencies, these can vary from manufacturer to manufacturer
+	  and LNB model. Change also proxies the new LNB properties in
+	  dvbbasebin.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732818
+
+2014-07-27 13:26:00 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: silence gsignal warning
+	  instance '0xblah' has no handler with id '13'
+
+2014-07-26 13:27:51 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: do not give references to probes
+	  They are kept until the probes are removed but they will never be
+	  removed as the refcount of the element won't get to 0 because the
+	  probes own references (cyclic refs). As the probes should only be
+	  running as long as the element is running there is no need to
+	  secure a ref for them.
+	  Removes 3 leaked refs of wrappercamerabinsrc
+
+2014-07-26 12:46:01 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* gst/camerabin2/gstcamerabin2.c:
+	  camerabin: use gst_object_ref to make it easier to track refs
+	  Helps debugging
+
+2014-07-26 12:38:42 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: unref request pads
+	  Do not forget to unref output-selector requested pads
+
+2014-04-21 23:05:48 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* gst/jpegformat/gstjpegparse.c:
+	* gst/jpegformat/gstjpegparse.h:
+	  jpegparse: port to baseparse
+	  https://bugzilla.gnome.org/show_bug.cgi?id=728356
+
+2014-07-24 12:25:36 +0300  Vasilis Liaskovitis <vliaskov@gmail.com>
+
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  glwindow/11: Emit signals for mouse and key navigation events
+	  https://bugzilla.gnome.org/show_bug.cgi?id=703486
+
+2014-07-24 12:23:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	  glwindow: Constify string parameters to the send_*_event() functions
+
+2014-07-24 13:05:00 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: remove extra argument from debug call
+
+2014-07-07 00:20:01 +0300  Vasilis Liaskovitis <vliaskov@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: Add navigation interface and callbacks for GstGLWindow mouse/key signals
+	  https://bugzilla.gnome.org/show_bug.cgi?id=703486
+
+2014-07-06 23:39:47 +0300  Vasilis Liaskovitis <vliaskov@gmail.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	  GstGLWindow : Add mouse-event and key-event signals for navigation
+	  https://bugzilla.gnome.org/show_bug.cgi?id=703486
+
+2014-07-23 10:25:31 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstglmixer.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	  gl: fix multi gl object leaks
+	  1. fix FBO leaks in decide_allocation
+	  2. fix texture leaks in decide_allocation and reset
+	  3. fix texture leaks in FBO incomplete error path
+
+2014-07-23 13:55:06 -0300  Thiago Santos <ts.santos@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: only flush buffers if renegotiation is needed
+	  This avoid extra overhead when taking sequential pictures that woudln't
+	  need renegotiation
+
+2014-07-23 13:37:05 -0300  Thiago Santos <ts.santos@osg.samsung.com>
+
+	* gst/camerabin2/gstcamerabin2.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  camerabin: handle EOS on the pipeline
+	  Make camerabin handle EOS to the pipeline to allow standard pipeline
+	  close where an EOS is sent to the whole pipeline before setting it to NULL.
+
+2014-07-21 18:22:18 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: Do not scan for keyframe when in push mode.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733490
+
+2014-07-21 18:21:41 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: Do not scan for a keyframe in non-accurate mode.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733490
+
+2014-07-01 10:24:44 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* gst/gdp/gstgdppay.c:
+	  gdppay: remove obsolete code
+	  Buffers have no caps in 1.0
+
+2014-07-01 10:07:40 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* gst/gdp/gstgdppay.c:
+	* gst/gdp/gstgdppay.h:
+	* tests/check/elements/gdppay.c:
+	  gdppay: put all sticky events in streamheader
+	  Use the sticky events to compose the streamheader as they are the
+	  ones that are persisted to config new pads linked. Instead of storing
+	  them ourselves rely on the pad storage that already orders it for us
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732596
+
+2014-07-21 21:03:26 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+	* ext/opencv/gstfacedetect.c:
+	  facedetect: improve enum GstFaceDetectUpdates descriptions
+	  https://bugzilla.gnome.org/show_bug.cgi?id=730509
+
+2014-05-21 12:59:57 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+	* ext/opencv/gstfacedetect.c:
+	  facedetect: make updates on_change works as expected
+	  https://bugzilla.gnome.org/show_bug.cgi?id=730509
+
+2014-07-22 12:42:36 +0530  Sanjay NM <sanjay.nm@samsung.com>
+
+	* gst/pnm/gstpnmenc.c:
+	* gst/pnm/gstpnmenc.h:
+	  pnmenc: Port PNM Encoder to use GstVideoEncoder Class
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731943
+
+2014-06-18 11:44:54 +0530  Sanjay NM <sanjay.nm@samsung.com>
+
+	* gst/pnm/gstpnmdec.c:
+	* gst/pnm/gstpnmutils.c:
+	  pnmdec: Patch to handle max value
+	  Convert the image values from 0-maxvalue to 0-255 when
+	  'decoding' the pnm image
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731773
+
+2014-07-15 16:42:57 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* ext/kate/gstkatedec.c:
+	* ext/kate/gstkateutil.c:
+	  katedec: handle segment event earlier
+	  Delaying the segment event to when caps are decided can cause issues as
+	  the first thing katedec does on its chain function it doing a segment clip.
+	  It will lead to an assertion if the segment format is undefined
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733226
+
+2014-07-15 16:41:51 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* ext/kate/gstkatedec.c:
+	  katedec: handle streamheaders in caps
+	  Properly handle the caps event by configuring the kate decoding lib using the
+	  available streamheaders. This makes it possible to decode kate subtitles when
+	  the stream is seeked before katedec gets the initial buffers that are usually
+	  the streamheaders.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733226
+
+2014-07-21 17:34:52 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  openjpeg: Don't remember -lopenjp2 as libs when falling back to openjpeg1
+
+2014-07-21 11:07:28 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* tests/examples/gl/sdl/Makefile.am:
+	  gl: Reorder CFLAGS to include in-source dirs first in examples
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733426
+
+2014-05-06 09:28:14 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* configure.ac:
+	  openjpeg: Win32-compatible OpenJPEG-2.0 detection
+	  OpenJPEG 2.0 API uses stdcall on W32 by default. This prevents normal
+	  autoconf library macros from finding its functions.
+	  A more compatible check is to acutally link a program that includes a
+	  real header.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733487
+
+2014-07-21 10:14:17 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openni2/gstopenni2src.cpp:
+	  openni2src: Fix unitialized variable compiler warning
+	  gstopenni2src.cpp:721:14: error: variable 'oni_ts' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
+	  } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) {
+	  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	  gstopenni2src.cpp:752:26: note: uninitialized use occurs here
+	  GST_BUFFER_PTS (buf) = oni_ts - src->oni_start_ts;
+	  ^~~~~~
+	  gstopenni2src.cpp:721:10: note: remove the 'if' if its condition is always true
+	  } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) {
+	  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	  gstopenni2src.cpp:721:14: error: variable 'oni_ts' is used uninitialized whenever '&&' condition is false [-Werror,-Wsometimes-uninitialized]
+	  } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) {
+	  ^~~~~~~~~~~~~~~~~~~~~~
+	  gstopenni2src.cpp:752:26: note: uninitialized use occurs here
+	  GST_BUFFER_PTS (buf) = oni_ts - src->oni_start_ts;
+	  ^~~~~~
+	  gstopenni2src.cpp:721:14: note: remove the '&&' if its condition is always true
+	  } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) {
+	  ^~~~~~~~~~~~~~~~~~~~~~~~~
+	  gstopenni2src.cpp:642:18: note: initialize the variable 'oni_ts' to silence this warning
+	  uint64_t oni_ts;
+	  ^
+	  = 0
+
+2014-07-17 16:25:54 +0200  Fabrice Bellet <fabrice@bellet.info>
+
+	* gst-libs/gst/codecparsers/gstmpeg4parser.c:
+	  parser: mpeg4: fix vlc table used for sprite trajectory
+	  The vlc table members cbits, cword and values were assigned in the wrong
+	  order, causing the mpeg4 parser to fail when handling sprite
+	  trajectories.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733322
+
+2014-07-18 15:09:54 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Make statistics message more generic for other adaptive streaming demuxers to reuse
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725828
+
+2014-02-25 11:58:57 +0100  Alexander Zallesov <zallesov@gmail.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Provide statistics about time to download playlists and fragments
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725828
+
+2014-07-19 18:04:42 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  Back to development
+
+=== release 1.4.0 ===
+
+2014-07-19 17:27:11 +0200  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-asfmux.xml:
+	* docs/plugins/inspect/plugin-assrender.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-fragmented.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-id3tag.xml:
+	* docs/plugins/inspect/plugin-inter.xml:
+	* docs/plugins/inspect/plugin-interlace.xml:
+	* docs/plugins/inspect/plugin-jpegformat.xml:
+	* docs/plugins/inspect/plugin-liveadder.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-mpegtsdemux.xml:
+	* docs/plugins/inspect/plugin-mpegtsmux.xml:
+	* docs/plugins/inspect/plugin-mpg123.xml:
+	* docs/plugins/inspect/plugin-mplex.xml:
+	* docs/plugins/inspect/plugin-ofa.xml:
+	* docs/plugins/inspect/plugin-openal.xml:
+	* docs/plugins/inspect/plugin-opencv.xml:
+	* docs/plugins/inspect/plugin-opus.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-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.4.0
+
+2014-07-19 16:45:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/af.po:
+	* po/az.po:
+	* po/bg.po:
+	* po/ca.po:
+	* po/cs.po:
+	* po/da.po:
+	* po/de.po:
+	* po/el.po:
+	* po/en_GB.po:
+	* po/eo.po:
+	* po/es.po:
+	* po/eu.po:
+	* po/fi.po:
+	* po/fr.po:
+	* po/gl.po:
+	* po/hr.po:
+	* po/hu.po:
+	* po/id.po:
+	* po/it.po:
+	* po/ja.po:
+	* po/ky.po:
+	* po/lt.po:
+	* po/lv.po:
+	* po/mt.po:
+	* po/nb.po:
+	* po/nl.po:
+	* po/or.po:
+	* po/pl.po:
+	* po/pt_BR.po:
+	* po/ro.po:
+	* po/ru.po:
+	* po/sk.po:
+	* po/sl.po:
+	* po/sq.po:
+	* po/sr.po:
+	* po/sv.po:
+	* po/tr.po:
+	* po/uk.po:
+	* po/vi.po:
+	* po/zh_CN.po:
+	  Update .po files
 
 2014-07-19 12:47:43 +0200  Sebastian Dröge <sebastian@centricular.com>
 
@@ -100740,6 +116776,8 @@
 	  every file but apart from that no changes compared to the latest
 	  SVN versions happened.
 
+=== release 0.10.21 ===
+
 2008-09-01 16:05:45 +0000  Edward Hervey <bilboed@bilboed.com>
 
 	  tests/check/elements/audioresample.c: Now that GstBaseTransform is 'fixed' ... remove cruft from tests.
@@ -104244,6 +120282,8 @@
 	  (deinterleave_suite):
 	  Add some more deinterleave unit test bits I had locally.
 
+=== release 0.10.20 ===
+
 2008-05-14 13:57:41 +0000  Tim-Philipp Müller <tim@centricular.net>
 
 	  gst/audioresample/gstaudioresample.c: Revert previous change which made basetransform handle buffer_alloc and which b...
@@ -105800,6 +121840,8 @@
 	  Use AG_GST_CHECK_PLUGIN and AG_GST_DISABLE_PLUGIN to simplify which
 	  plug-ins are included/excluded. (#498222)
 
+=== release 0.10.19 ===
+
 2008-03-03 06:04:02 +0000  Sebastian Dröge <slomo@circular-chaos.org>
 
 	  Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
@@ -109989,6 +126031,8 @@
 	  (gst_speex_resample_update_state):
 	  Only post the latency message if we have a resampler state already.
 
+=== release 0.10.17 ===
+
 2007-11-23 10:21:11 +0000  Sebastian Dröge <slomo@circular-chaos.org>
 
 	  gst/audioresample/gstaudioresample.c: Implement latency query.
@@ -114956,6 +131000,8 @@
 	  work with earlier versions due to GstChildProxy brokeness).
 	  Also up requirements to last released core/base.
 
+=== release 0.10.15 ===
+
 2007-04-27 15:33:46 +0000  Julien Moutte <julien@moutte.net>
 
 	  ext/theora/theoradec.c: Calculate buffer duration correctly to generate a perfect stream (#433888).
@@ -117285,6 +133331,8 @@
 	  Original commit message from CVS:
 	  move amrwb code
 
+=== release 0.10.12 ===
+
 2007-01-04 12:49:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
 
 	  configure.ac: split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS so that GST_BASE_CFLAGS can go inbetwe...
diff --git a/NEWS b/NEWS
index 0edcf34..242a1f6 100644
--- a/NEWS
+++ b/NEWS
@@ -1,145 +1,2 @@
-This is GStreamer Bad Plugins 1.4.0
+This is GStreamer Bad Plugins 1.5.1
 
-Changes since 1.2:
-
-New API:
- • GstMessageType has GST_MESSAGE_EXTENDED added. All types before
-   that can be used together as a flags type as before, but from
-   that message onwards the types are just counted incrementally.
-   This was necessary to be able to add more message types.
-   In 2.0 GstMessageType will just become an enum and not a flags
-   type anymore.
- • GstDeviceMonitor for device probing, e.g. to list all available
-   audio or video capture devices. This is the replacement for
-   GstPropertyProbe from 0.10.
- • Events accumulate the running-time offset now when travelling
-   through pads, as set by the gst_pad_set_offset() function. This
-   allows to compensate for this in the QOS event for example.
- • GstBuffer has a new flag "tag-memory" that is set automatically
-   when memory is added or removed to a buffer. This allows buffer
-   pools to detect if they can recycle a buffer or need to reset
-   it first.
- • GstToc has new API to mark GstTocEntries as loops.
- • A not-authorized resource error has been defined to notify
-   applications that accessing the resource has failed because
-   of missing authorization and to distinguish this case from others.
-   This change is actually already in 1.2.4.
- • GstPad has a new flag "accept-intersect", that will let the default
-   ACCEPT_CAPS query handler do an intersection instead of subset check.
-   This is interesting for parser elements that can handle incomplete
-   caps.
- • GstCollectPads has support for flushing and a default handler for
-   SEEK events now.
- • New GstFlowAggregator helper object that simplifies handling of
-   flow returns in elements with multiple source pads. Additionally
-   GstPad now always stores the last flow return and provides an
-   API to retrieve it.
- • GstSegment has new API to offset the running time by a specific
-   value and this is used in GstPad to allow positive and negative
-   offsets in gst_pad_set_offset() in all situations.
- • Support for h265/HEVC and VP8 has been added to the codec utils and codec
-   parsers library, and was integrated into various elements.
- • API for adjusting the TLS validation of RTSP connection has been added.
- • The RTSP and SDP library has MIKEY (RFC 3830) support now, and
-   there is API to distinguish between the different RTSP profiles.
- • API to access RTP time information and statistics.
- • Support for auxiliary streams was added to rtpbin.
- • Support for tiled, raw video formats has been added.
- • GstVideoDecoder and GstAudioDecoder have API to help aggregating tag
-   events and merge custom tags into them consistently.
- • GstBufferPool has support for flushing now.
- • playbin/playsink has support for application provided audio and video
-   filters.
- • GstDiscoverer has new and simplified API to get details about missing
-   plugins and information to pass to the plugin installer.
- • The GL library was merged from gst-plugins-gl to gst-plugins-bad,
-   providing a generic infrastructure for handling GL inside GStreamer
-   pipelines and a plugin with some elements using these, especially
-   a video sink. Supported platforms currently are Android, Cocoa (OS X),
-   DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) and generic X11,
-   Wayland and EGL platforms.
-   This replaces eglglessink and also is supposed to replace osxvideosink.
- • New GstAggregator base class in gst-plugins-bad. This is supposed to
-   replace GstCollectPads in the future and fix long-known shortcomings
-   in its API. Together with the base class some elements are provided
-   already, like a videomixer (compositor).
-
-
-Major changes:
- • New plugins and elements:
-   ∘ v4l2videodec element for accessing hardware codecs on
-     platforms that make them accessible via V4L2, e.g.
-     Samsung Exynos. This comes together with major refactoring
-     of the existing V4L2 elements and the corresponding
-     infrastructure.
-     The v4l2videodec element replaces the mfcdec element.
-   ∘ New downloadbuffer element that replaces the download
-     buffering feature of queue2. Compared to queue2's code
-     it is much simpler and only for this single use case.
-     A noteworthy new feature is that it's downloading gaps
-     in the already downloaded stream parts when nothing else
-     is to be downloaded.
-     This is now used by playbin when download buffering is
-     enabled.
-   ∘ rtpstreampay and rtpstreamdepay elements for transmitting
-     RTP packets over a stream API (e.g. TCP) according to
-     RFC 4571.
-   ∘ rtprtx elements for standard compliant implementation of
-     retransmissions, integrated into the rtpmanager plugin.
-   ∘ audiomixer element that mixes multiple audio streams together
-     into a single one while keeping synchronization. This is
-     planned to become the replacement of the adder element.
-   ∘ OpenNI2 plugin for 3D cameras like the Kinect camera.
-   ∘ OpenEXR plugin for decoding high-dynamic-range EXR images.
-   ∘ curlsshsink and curlsftpsink to write files via SSH/SFTP.
-   ∘ videosignal, ivfparse and sndfile plugins ported from 0.10.
-   ∘ avfvideosrc, vtdec and other elements were ported from 0.10 and
-     are available on OS X and iOS now.
-
- • Other changes:
-   ∘ gst-libav now uses libav 10.2, and gained support for H265/HEVC.
-   ∘ Support for hardware codecs and special memory types has been
-     improved with bugfixes and feature additions in various plugins
-     and base classes.
-   ∘ Various bugfixes and improvements to buffering in queue2 and
-     multiqueue elements.
-   ∘ dvbsrc supports more delivery mechanisms and other features
-     now, including DVB S2 and T2 support.
-   ∘ The MPEGTS library has support for many more descriptors.
-   ∘ Major improvements to tsdemux and tsparse, especially time and
-     seeking related.
-   ∘ souphttpsrc now has support for keep-alive connections,
-     compression, configurable number of retries and configuration
-     for SSL certificate validation.
-   ∘ hlsdemux has undergone major refactoring and works more
-     reliable now and supports more HLS features like trick modes.
-     Also fragments are pushed downstream while they're downloaded
-     now instead of waiting for each fragment to finish.
-   ∘ dashdemux and mssdemux are now also pushing fragments downstream
-     while they're downloaded instead of waiting for each fragment to
-     finish.
-   ∘ videoflip can automatically flip based on the orientation tag.
-   ∘ openjpeg supports the OpenJPEG2 API.
-   ∘ waylandsink was refactored and should be more useful now. It also
-     includes a small library which most likely is going to be removed
-     in the future and will result in extensions to the GstVideoOverlay
-     interface.
-   ∘ gst-rtsp-server supports SRTP and MIKEY now.
-   ∘ gst-libav encoders are now negotiating any profile/level settings
-     with downstream via caps.
-   ∘ Lots of fixes for coverity warnings all over the place.
-   ∘ Negotiation related performance improvements.
-   ∘ 800+ fixed bug reports, and many other bug fixes and other
-     improvements everywhere that had no bug report.
-
-Things to look out for:
- • The eglglessink element was removed and replaced by the glimagesink
-   element.
- • The mfcdec element was removed and replaced by v4l2videodec.
- • osxvideosink is only available in OS X 10.6 or newer.
- • On Android the namespace of the automatically generated Java class
-   for initialization of GStreamer has changed from com.gstreamer to
-   org.freedesktop.gstreamer to prevent namespace pollution.
- • On iOS you have to update your gst_ios_init.h and gst_ios_init.m in
-   your projects from the one included in the binaries if you used the
-   GnuTLS GIO module before. The loading mechanism has slightly changed.
diff --git a/RELEASE b/RELEASE
index 4893735..53e5755 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,23 +1,17 @@
 
-Release notes for GStreamer Bad Plugins 1.4.0
+Release notes for GStreamer Bad Plugins 1.5.1
 
 
-The GStreamer team is pleased to announce the first release of
-the stable 1.4 release series. The 1.4 release series is adding new
-features on top of the 1.0 and 1.2 series and is part of the API and
-ABI-stable 1.x release series of the GStreamer multimedia framework.
+The GStreamer team is pleased to announce the first release of the unstable
+1.5 release series. The 1.5 release series is adding new features on top of
+the 1.0, 1.2 and 1.4 series and is part of the API and ABI-stable 1.x release
+series of the GStreamer multimedia framework. The unstable 1.5 release series
+will lead to the stable 1.6 release series in the next weeks, and newly added
+API can still change until that point.
 
 
-
-Binaries for Android, iOS, Mac OS X and Windows are provided together
-with this release.
-
-
-
-The stable 1.4 release series is API and ABI compatible with 1.0.x,
-1.2.x and any other 1.x release series in the future. Compared to 1.2.x
-it contains some new features and more intrusive changes that were
-considered too risky as a bugfix.
+Binaries for Android, iOS, Mac OS X and Windows will be provided separately
+during the unstable 1.5 release series.
 
 
 
@@ -69,12 +63,336 @@
 
 Bugs fixed in this release
      
-      * 726555 : POTFILES.in is out of date
-      * 733052 : Include windsock header for Windows targets
-      * 733063 : examples: gl fxtest example fails to build on win32 with gtk+ 3.0
-      * 733072 : camerabin: Taking a picture in cheese leads to all sort of race
-      * 733123 : mxfmux: Avoid taking unnecessary ref
-      * 733248 : gl: GLintptr/GLsizeiptr/etc typechecks ignore GL_CFLAGS, potentially causing typedef redefinition errors from gst-libs/gst/gl/glprototypes/gstgl_compat.h at buildtime
+      * 739345 : codecparsers: remove ignored increment of return
+      * 750185 : gl: Not showing any video on Android (skip glDrawElements)
+      * 743974 : gl: rethink glfilter, glmixer, glupload, glcolorconvert, gldownload
+      * 746617 : opusenc: headers are never sent
+      * 749601 : win32: glimagesink always popup a new window
+      * 745881 : Apply gst-indent for code convention
+      * 748497 : spandsp: Fails to build, uses a private field missing_samples
+      * 739992 : h264parse: expose compatible profiles to downstream
+      * 740236 : New audiointerleave based on GstAggregator and create GstAudioAggregator from audiomixer
+      * 611689 : [NEW PLUGIN] crossfeed plugin
+      * 643252 : Improve opencv facedetect performance
+      * 672610 : camerabin2: check negotiated caps avoid reseting of the pipe
+      * 675134 : shmsrc: add an shm-area-name property
+      * 677223 : dshowdecwrapper: Remove dependency to ATL
+      * 678990 : camerabin2: Not showing anything
+      * 685215 : codecparsers: h264: Add initial MVC parser
+      * 696032 : mpegtsmux: Downstream force-key-unit events are being assigned the wrong " count " 
+      * 699364 : dshowvideosink: port to 1.0
+      * 706872 : mpegtsmux does not flag key frames properly for tcpserversink
+      * 708532 : tsdemux: skips too much when scanning for last PCR
+      * 709532 : testsuite has failures
+      * 722129 : mpegtsmux: alignment property does not work as expected for UDP streaming
+      * 724868 : Setting Image Size in camerabin causes pipeline to fail with Not Negotiated
+      * 725047 : tsdemux offsetting timestamp
+      * 725145 : libde265 based HEVC/H.265 decoder plugin
+      * 725163 : opencv extension is using the deprecated cv.h header
+      * 725298 : dashdemux: fails after MPD refresh
+      * 725435 : hlsdemux: enable seek for live streams
+      * 725828 : hlsdemux: reporting playlist and fragment download time stat
+      * 726376 : x265enc: Add x265 encoder element
+      * 726801 : rfbsrc: specifying out-of-bounds resolution leads to segfault
+      * 727402 : aiffmux: write padding byte at end of SSND chunk if needed
+      * 727731 : tsdemux: add support for chinese AVS video codec
+      * 727742 : hlsdemux: selects incorrect starting position for live streams
+      * 727946 : decklinksrc: failure to switch states: PLAYING < - > NULL
+      * 728646 : siren: fix sample list rate
+      * 730225 : hlsdemux switch to higher quality don't connect all pads right
+      * 730510 : facedetect: improve performance
+      * 731263 : rtph265pay, rtph265depay: add rtp elements for H.265
+      * 731404 : hlsdemux memmory leak
+      * 731581 : curlsshsink: use the locally defined types instead of libcurl's
+      * 731769 : onvif: add element implementing the ONVIF RTP extension
+      * 731773 : pnmdec: unsupported bit depth is not checked
+      * 731782 : waylandsink: video position is wrong when caps change and the sink is embedded in another window
+      * 731943 : pnmenc: PNM Encoder needs to use gstVideoEncoder as base class
+      * 731954 : glvideomixer: Add a background property
+      * 731982 : hlsdemux: Don't use approximate duration for fragment buffer pts
+      * 732237 : dashdemux: expose language tags
+      * 732283 : dshowvideosrc: Port to 1.0
+      * 732294 : mxfdemux: Use IndexTableSegments
+      * 732507 : gl: R/RG textures don't work on iOS
+      * 732596 : gdppay: put all sticky events in streamheader
+      * 732662 : glmixer didn't receive the GstGLContext from downstream basetransform
+      * 732664 : add other-context support to GstGLMixer
+      * 732694 : glimagesink: handle drain query
+      * 732875 : dvbsrc: add preliminary  support for ISDB-T/Tb
+      * 733055 : winks: debug message printf format warnings
+      * 733087 : Add WebP Image encoder
+      * 733226 : katedec: properly handle segment and caps events
+      * 733322 : parser: mpeg4:  problem with mpeg4_dmv_size_vlc_table values
+      * 733347 : mpegtsmux: Fix naming prefix of internal functions
+      * 733369 : dashdemux fails to detect end of period
+      * 733661 : glimagesink navigation interface causes hangs with X11/GMainLoop event thread
+      * 733682 : waylandsink: allow catching input events
+      * 733717 : glmemory allocate size didn't match video_orc_pack_I420 needs if height is odd
+      * 734040 : tsdemux: Handle sparse streams
+      * 734264 : ksvideosrc gives GStreamer-CRITICAL **: write map requested on non-writable buffer continuously
+      * 734321 : srtpdec doesn't support RTP on the RTCP sink pad
+      * 734445 : hlsdemux:tsdemux: Improve trick modes support
+      * 734482 : Make OpenGL plugins more accessible for application programmers
+      * 734518 : dfbvideosink: Unref pad template caps after usage
+      * 734523 : glbufferpool: Unref allocator after usage
+      * 734525 : inter: Unref bus after usage
+      * 734527 : gl/examples: Unref bus and element after usage
+      * 734543 : opus: Improve annotation of internal function
+      * 734623 : facedetect: fix NULL error when disable eyes/nose/mouth
+      * 734775 : androidmedia: Should not send EOS when drained
+      * 734970 : codecparser: h264: Use proper bit_reader api while parsing  buffering_period SEI
+      * 735032 : zebrastripe: Refactoring of common code
+      * 735042 : videoaggregator: race of vagg- > info on pad removal
+      * 735131 : gltestsrc: Add new patterns
+      * 735248 : hlsdemux: Support OpenSSL for AES decryption of HLS fragments
+      * 735522 : gl: fix for configure.ac to prevent unnecessary checks and linkage
+      * 735565 : gl: Add GSTGLAPI to _gst_gl_debug_callback
+      * 735566 : gl: some cleanup and fixes to qglwtextureshare
+      * 735663 : dashdemux: synchronize with the download loop thread before signalling it
+      * 735790 : GstGLMixer  random create none-RGBA output buffer pool for GstGLFilter
+      * 735848 : adaptivedemux: new base class
+      * 736008 : applemedia: Enable vtdec/vtenc on iOS 8
+      * 736035 : glimagesink: Regression: Gtk+ cannot get glimagesink input
+      * 736061 : typefind: detects AAC instead of mpegts when input buffer is small
+      * 736132 : glimagesink: iOS: Does not rescale the video if the window size changes
+      * 736134 : curlsmtpsink: Adding final boundary for every sending out email
+      * 736141 : dashdemux: do not override last known stream error
+      * 736176 : pngparse: re-assembling image from small blocks may be optimized
+      * 736421 : dashdemux: improve detection of the position on download restart
+      * 736460 : mpegpsmux: refactor duplicate else branches
+      * 736531 : tsdemux: fix trivial coding style issue
+      * 736740 : glimagesink: racy redraw with raw data upload accesses deleted texture
+      * 736781 : vc1parse: forge sequence-layer from seq_hdr instead of seq_layer
+      * 736786 : vc1parse: enable header-format conversion
+      * 736790 : faad: logical disjunction consecutive return, break statement unnecessary.
+      * 736800 : dashdemux: send missing FLUSH_STOP/EOS when no seeking period is found
+      * 736853 : camerabin2: Removed redundant initialization
+      * 736863 : mpegdemux: removed an unwanted initialization and an unwanted variable and assignment
+      * 736895 : mplex: logical disjunction consecutive goto, break statements
+      * 736926 : dshowvideosrc: error if set_caps is called while running
+      * 736933 : gsettings: Fix typo in description
+      * 736939 : gl: logical disjunction consecutive return, break statements
+      * 736940 : androidmedia: logical disjunction consecutive goto, break statements
+      * 736942 : androidmedia: logical disjunction consecutive goto, break statements
+      * 736957 : gl: Removed unreachable break, unused variable
+      * 737111 : videofilters: Added 3 more YUV formats
+      * 737183 : audiomixer: Port to GstAggregator
+      * 737370 : Unnecessary break statements following a goto
+      * 737407 : zbar: fixed FIXME and added 2 formats for YUV.
+      * 737411 : videoparser: comment out unused custom baseparse flag (with duplicate value)
+      * 737412 : h264: playing a certain broken stream causes a crash (stack corruption caused by codec parser)
+      * 737421 : dashdemux: Playback may attempt to start in wrong period for a live stream
+      * 737505 : gltestsrc: implement checkers pattern in GLSL
+      * 737559 : plugins-bad: remove unnecessary GLIB_DISABLE_DEPRECATION_WARNINGS
+      * 737568 : video lib conversion in gstvideoaggregator.c leads  glvideomixer problem
+      * 737788 : open264: Decoder and encoder element
+      * 737793 : hlsdemux: Fix accessing invalidated memory.
+      * 737892 : openh264: update to latest openh264 release and use pkg-config
+      * 737894 : openh264enc: make denoise work
+      * 737984 : schrodec: optimize parse logic
+      * 738069 : waylandsink: avoid render twice the same buffer
+      * 738072 : mpegts: typos in mpegts comments
+      * 738129 : GstGLMixer download texture even if sink element is gl based
+      * 738166 : docs: Update GstQOSType documentation a bit
+      * 738206 : pcapparse can't handle LINKTYPE_RAW
+      * 738227 : test: use G_GSIZE_FORMAT in audiomixer test
+      * 738526 : vc1parse: implement some stream-format conversion
+      * 738626 : bluez: Does not support bluez5 yet
+      * 738740 : gl/cocoa: Fails to build on Mac OS X 10.10
+      * 738816 : gl: gst-plugins-bad won't build without --with-opengl=yes
+      * 738842 : add RGB16/BGR16 video format upload support to glcolorconvert
+      * 738845 : audiomixer: critical error for blocksize, timeout min/max values
+      * 738848 : dash: README is out-of-date
+      * 738920 : dashdemux: allow seek to be performed if all streams are EOS
+      * 739284 : decklinksrc: add automatic mode detection and timeout property
+      * 739328 : GstGLMixer pass incorrect parameter to gst_gl_handle_set_context
+      * 739334 : GstGLVideoMixer input caps can not be dynamically changed
+      * 739385 : GstGLMixer link with  capsfilter  not-negotiated
+      * 739404 : mpegts: value stored is never used
+      * 739444 : glcolorconvert: fix comments that confuse gtk-doc
+      * 739542 : interaudiosrc: racy caps negotiation/fixation
+      * 739844 : examples: use snprintf instead of sprintf which is vulnerable
+      * 739846 : opencv-example: Use snprintf instead of sprintf
+      * 739906 : h264parser: fix documentation typo
+      * 739941 : gl: Correct invalid comment text
+      * 740009 : dashdemux: gst_dash_demux_download_wait causes abort for dynamic MPD
+      * 740012 : gl: support opengl3+ core contexts
+      * 740195 : mpg123: Handle setting caps if the srcpad is not linked yet, making it work with decodebin/playbin
+      * 740235 : glcontext: build errors when GST_GL_HAVE_OPENGL is 0
+      * 740305 : glimagesink: critical error while seeking using playback-test
+      * 740376 : aggregator: Serialized events are deserialized
+      * 740458 : hlsdemux: typefind might fail if first buffer is too short, causing the whole pipeline to abort
+      * 740530 : gstglapi.h:42:21: fatal error: EGL/egl.h: No such file or directory
+      * 740611 : gl: the gstglcontext_egl.h header is not installed
+      * 740616 : decklinksink: crash on recreation
+      * 740673 : codecparsers: some compiler warnings with apple-gcc42
+      * 740674 : mpegts: some compiler warnings with apple-gcc42
+      * 740744 : Caps negotiation between matroskademux and rtpopuspay fails
+      * 740757 : watchdog: Handle playback and seeking cases
+      * 740768 : videoaggregator: Expose vmethods to set converters and prepare frames
+      * 740801 : glcolorconvert: add RGB16/BGR16 video format download support
+      * 740815 : gstbasecamerasrc : fix typo
+      * 740867 : dashdemux not flushing stream on pipeline stop for live content
+      * 740891 : opusenc: replace " audio " property with new " audio-type " property
+      * 740945 : directshowdec: Port decoder plugin to 1.x
+      * 741086 : dshowsrcwrapper: Patch to fix comparison of null caps
+      * 741096 : hlssink: remove unnecessary title on EXTINF tag
+      * 741146 : aggregator: deadline based aggregation
+      * 741231 : glfilter: position/texcoord attrib index usage
+      * 741248 : dashdemux cannot switch representations in ISOBMFF OnDemand profile
+      * 741285 : dashdemux: gst_dash_demux_setup_streams fails to initialise the segment numbers for live streams
+      * 741322 : dashdemux: Change period when setting by period id.
+      * 741495 : tests/aggregator: Use correct type when setting property
+      * 741553 : curlsmtpsink: final boundary only added to last mail
+      * 741592 : inter: silence messages for flushed / created samples
+      * 741751 : mssdemux: pass correct type through vararg function to avoid potential crash
+      * 741943 : glimagesink (or intel_dri) memleak
+      * 742174 : vtenc_h264: potential deadlock upon EOS
+      * 742212 : h264parse: periodic SPS/PPS insertion stops after a seek backwards
+      * 742638 : mpegpsdemux: dead code
+      * 742684 : aggregator: Locking logic should be reviewed, cleaned up, and documented
+      * 742979 : adaptivedemux: Adaptive bitrate algorithm does not react fast enough to declining bitrate
+      * 743142 : glimagesink memleak
+      * 743155 : applemedia: new AVSampleBufferLayerSink
+      * 743174 : h264parse: expose stereo-high profile
+      * 743251 : POTFILES.in is out of date
+      * 743334 : videoaggregator crash when work with filesrc
+      * 743352 : po: update POTFILES.skip
+      * 743677 : gl: new element caopengllayersink
+      * 743907 : exclusion: crash with factor=0
+      * 743908 : simplevideomark: crash when launch with max property values
+      * 743914 : glimagesink: doesn't work on Raspberry Pi with EGLImages
+      * 744020 : Auto-disabling of Desktop OpenGL when it can't be used doesn't work
+      * 744096 : compositor, videoaggregator: ignores input timestamps if input buffers have no duration
+      * 744219 : camerabin examples: Memory leak in camerabin examples code
+      * 744246 : gl: Broken VideoAlignment handling?
+      * 744338 : opusdec: LATENCY query handling looks wrong
+      * 744362 : dashdemux: Add support for live stream seeking
+      * 744371 : simplevideomark: move offset calculations out of inner loops
+      * 744383 : directsoundsrc: volume and mute control
+      * 744386 : decklink: incorrect frame rate values for interlaced modes
+      * 744582 : dtls: Move Ericsson DTLS plugin to gst-plugins-bad
+      * 744585 : vtenc: Crash when going to background
+      * 744689 : hlssink: EXT-X-VERSION set to 6 while not using any features > 3
+      * 744778 : simplevideomarkdetect: move offset calculations out of inner loops
+      * 744839 : gl: Flickering when libav direct rendering doing playbin playback
+      * 744909 : opusenc: cbr and constrained-vbr are confusing
+      * 744977 : glvideomixer: severe memory leak
+      * 745054 : glimagesink: Segfault with webm/vp8 files that has odd height
+      * 745090 : android: Fix changing GL window handle
+      * 745105 : glimagesink: cosmetic cleanup
+      * 745109 : gloverlay: image is upside down
+      * 745161 : avfvideosrc: allow " capture-screen " mode to select which  screen to capture via the " device-index " option
+      * 745251 : glvideomixer: corrupt video frames
+      * 745409 : h264parse: broken output when caps change and stream-format=byte-stream
+      * 745455 : dashdemux: doesn't take the presentationTimeOffset into account.
+      * 745495 : dvbsuboverlay: Set query ALLOCATION need_pool to FALSE
+      * 745506 : mpegtsmux: duplicate code
+      * 745549 : glfilter: does not set new caps on its uploader
+      * 745633 : glimagesink: X11: Race where it creates an external window even if the XID was set
+      * 745705 : glfilter: GLBuffer pool may have two owners
+      * 745740 : camerabin: update zoom param spec if video source changes its max-zoom
+      * 745755 : pngparse prints too much info messages
+      * 745780 : gl: Accepts downloading in RGB with BT709 colorspace (wrong colors)
+      * 745875 : glcontext: remove unnecessary semicolon
+      * 745877 : y4mdec: remove unnecessary semicolon
+      * 745905 : hlsdemux: General Stream error due to bitrate change before last segment
+      * 745955 : gleffects: port all effects to GLES2
+      * 746032 : audiomixer: doesn't handle buffers with repeating pts properly (broken discont detection)
+      * 746147 : compositor: Don't convert or aggregate pads that are completely obscured by a higher zorder pad
+      * 746168 : [glshader] OSX crashes when trying to get vertex attribute without vertex shader
+      * 746173 : new glimagesink (as glimagesinkbin) cannot copy metadata
+      * 746209 : Merge glfiltersobel, glfilterblur and glfilterlaplacian into gleffects
+      * 746251 : android/egl: changing window handle breaks video playback
+      * 746347 : dashdemux: set defaultstartNumber and also avoid wrong overwrite
+      * 746356 : srtpenc: Improvement to avoid memory copy
+      * 746399 : glupload: get_caps vfunc incomplete
+      * 746541 : glimagesink memleak
+      * 746632 : dispmanx: surfaceless EGL context support broken
+      * 746803 : mxfdemux: fix segment- > delta_entries memory leak
+      * 746906 : hlssink: creates a single segment
+      * 747000 : multifilesink: doesn't post file message for last file
+      * 747038 : tsparse/tsdemux: incorrect timestamps on PMT change in mpeg TS stream
+      * 747124 : glbasefilter: avoid segfault when gl platform is not available
+      * 747126 : androidmedia: add support for more color formats
+      * 747220 : aggregator: Does not unlock sink pads on downstream error
+      * 747319 : hlssink: Doesn't write ENDLIST marker on EOS
+      * 747525 : dashdemux: playback failed when trying to play a content that has subtitles
+      * 747697 : Documentation fails to build because of mismatching libraries
+      * 747722 : winks: buffer is too late
+      * 747911 : glcolorconvertelement: GstGLColorConvert is leaked
+      * 747913 : glmixer: pass the proper free function to frames and buffers array
+      * 747915 : glmixer: fix caps leaks
+      * 747993 : videoaggregator: fix caps leak when early returning
+      * 748033 : gstglupload: Fix GstGLUpload leak
+      * 748037 : openh264enc: Add complexity property to configure speed / quality tradeoff
+      * 748110 : vtdec: fix build error with clang
+      * 748122 : applemedia: miscellaneous fixes
+      * 748128 : avfvideosrc: fix build failure with clang
+      * 748141 : videoconvert, glcolorconvert: keep colorimetry/chroma-site fields if passthrough
+      * 748287 : glmixer: Possible null pointer dereference
+      * 748369 : dashdemux: Excessive (96GB on 32-bit machines) memory usage on some dash streams
+      * 748371 : glupload: Release glupload buffer when caps are changed
+      * 748393 : gleffects_laplacian: error when testing the element
+      * 748405 : glimagesink: balance change_state bufferpool/other_context ref/unref
+      * 748407 : gltransformation: don't initialize multiple shaders on renegotiation
+      * 748412 : tsdemux: possible refcount bug in applying PMT
+      * 748425 : GL context on android has 16bits colors
+      * 748467 : vtenc: fix keyframe request race condition
+      * 748495 : libde265: No code to detect the number of CPUs on W32
+      * 748496 : libde265: Fails to build due to werrors about wrong format
+      * 748527 : mpegtspacketizer: Change return value in find_subtable
+      * 748529 : adaptivedemux: only update stream position if query success
+      * 748576 : tsdemux: fix tag list leak
+      * 748580 : mxf: fix leak in mxfmetadata
+      * 748585 : opus: don't use deprecated gst_buffer_new_and_alloc()
+      * 748588 : glvideomixer: segfaulting when inspecting
+      * 748594 : opus: fix includes and compilation against opus in non-standard prefix
+      * 748723 : dtlssrtpdec: Merges RTP and RTCP into the same stream
+      * 748867 : androidmedia: Fix slice-height for Tegra3 devices
+      * 748875 : opusparse: Generates caps with a rate=0
+      * 749218 : Decklink 4k 3184p50 has wrong name and uses wrong framerate
+      * 749237 : gltestsrc: Assert and failed with not-neg when not linked
+      * 749253 : h263parse: fix picture format parsing
+      * 749304 : srtpenc: fix over unlocking
+      * 749318 : dtlsenc: Memory leak
+      * 749322 : dtlsdec: Memory leak
+      * 749325 : dtlsconnection: Memory leak
+      * 749335 : glimagesink and videooverlay on windows
+      * 749380 : dtls[enc|dec]: Memory leak on keys
+      * 749411 : glcontext_egl should call eglTerminate to free resources for non EGL DISPLAY types
+      * 749430 : gltestsrc ! glimagesink crash on windows
+      * 749523 : cvsmooth: Wrong assignment of prop leads to crash
+      * 749525 : pyramidsegment: wrong value of level property
+      * 749534 : dashdemux: Some suspicious compiler warnings about checking if the unsigned segment index is smaller than 0
+      * 749634 : compositor: Strange behaviour mixing streams
+      * 749655 : vtdec: Require width and height field for H264
+      * 749684 : dashdemux: Segfault when playback starts after refactor for segments iteration
+      * 749691 : dashdemux: remove unnecessary semicolon
+      * 749728 : glimagesink doesn't work on nvidia OSX
+      * 749734 : black screen when using gltransformation
+      * 749809 : dashdemux: Incorrect example launch line in the dash demux description.
+      * 749815 : curlsink: handle socket callback for active FTP connections as well
+      * 749846 : gloverlay crash on missing file
+      * 750028 : hlsdemux: Search more when advancing fragment
+      * 750036 : dtls: wrong management of pads in releasing operation
+      * 750104 : rtmpsink: Do not crash when receiving buffers after GST_FLOW_ERROR
+      * 750143 : hlsdemux: Fix wrong gst-launch command in the description
+      * 750199 : glimagesink: crashes in gst_gl_window_x11_set_window_handle()
+      * 750252 : audiointerleave: Crash when channel-positions-from-input=1 and channel-positions unset
+      * 750279 : Copying glsyncmeta causes errors
+      * 750326 : srtp: Allow getting ssrc of more package types than RR and SR
+      * 750337 : [REGRESSION] glimagesink fails to initialize the shader
+      * 750348 : dtlsdec: 'Got data flow before stream-start event' warnings
+      * 750381 : ksvideosrc: buffers have no timestamp
+      * 747352 : applemedia: texture cache negotiation doesn't work
+      * 747936 : osxaudio: spelling fix
+      * 748054 : avfvideosrc: starting capture session too early, sending buffers with PTS=NONE
+      * 740900 : glbufferpool: Add support for GstVideoAlignement
+      * 732818 : dvbsrc: make slof/lof1/lof2 settable properties
+      * 746249 : aggregator: Add gap event support
+      * 747557 : zbar: Get an image along with the barcode
+      * 696135 : h264parse: Add mvc stream parsing support
 
 ==== Download ====
 
@@ -111,28 +429,136 @@
         
 Contributors to this release
     
+      * Aleix Conchillo Flaqué
       * Alessandro Decina
-      * Alexey Pavlov
+      * Alex Ashley
+      * Alexander Zallesov
+      * Andoni Morales Alastruey
+      * Anton Gritsay
+      * Anton Obzhirov
+      * Antonio Ospite
+      * Anuj Jaiswal
       * Arun Raghavan
+      * Aurélien Zanelli
+      * Belozorov Semen
+      * Benjamin Gaignard
+      * Blake Tregre
+      * Branislav Katreniak
+      * Branko Subasic
+      * Brendan Long
+      * Brion Vibber
+      * Carlos Rafael Giani
+      * Christoph Reiter
+      * Chun-wei Fan
+      * DanielD10
+      * Danny Song
+      * David Rothlisberger
+      * David Waring
+      * David Woodhouse
+      * Duncan Palmer
       * Edward Hervey
+      * Fabrice Bellet
+      * Felix Schwarz
+      * Florian Langlois
+      * Florian Zwoch
+      * Flávio Ribeiro
+      * George Kiagiadakis
+      * Guillaume Desmottes
+      * Guillaume Emont
+      * Guillaume Seguin
       * Gwenole Beauchesne
-      * Göran Jönsson
+      * Havard Graff
+      * Heinrich Fink
+      * Hyunjun Ko
+      * Ilya Averyanov
+      * Ilya Konstantinov
       * Jan Alexander Steffens (heftig)
       * Jan Schmidt
+      * Jerome Laheurte
+      * Jesper Larsen
+      * Jimmy Ohn
+      * Joachim Bauch
+      * Jose Antonio Santos Cadenas
+      * Josep Torra
+      * Joshua M. Doe
       * Julien Isorce
-      * Mart Raudsepp
+      * Jun Xie
+      * Jürgen Slowack
+      * L. Sorin
+      * Lasse Laursen
+      * Lihua Liu
+      * Lubosz Sarnecki
+      * Luis de Bethencourt
+      * Lyon Wang
+      * Mark Nauwelaerts
+      * Matej Knopp
       * Mathieu Duponchelle
+      * Matthew Bader
       * Matthew Waters
       * Matthieu Bouron
+      * Mersad Jelacic
+      * Michał Dębski
+      * Miguel París Díaz
+      * Mohammed Hassan
+      * Neos3452
+      * Nick Stoughton
+      * Nicola Murino
       * Nicolas Dufresne
-      * Philip Withnall
+      * Nirbheek Chauhan
+      * Ognyan Tonchev
+      * Oleksij Rempel
+      * Olivier Crete
+      * Olivier Crête
+      * Patricia Muscalu
+      * Patrik Oldsberg
+      * Philippe Normand
       * Piotr Drąg
+      * Raimo Järvi
+      * Rajat Verma
+      * Ramiro Polla
+      * Ramprakash Jelari
+      * Reynaldo H. Verdejo Pinochet
+      * Rob Clark
+      * Robert Jobbagy
+      * Robert Swain
+      * Roman Nowicki
+      * Sanjay NM
+      * Santiago Carot-Nemesio
       * Sebastian Dröge
       * Sebastian Rasmussen
-      * Stefan Ringel
+      * Song Bing
+      * Sreerenj Balachandran
+      * Stefan Sauer
+      * Sudip Jain
+      * Suhwang Kim
       * Thiago Santos
       * Thibault Saunier
+      * Thijs Vermeir
+      * Thomas Bluemel
+      * Thomas Klausner
+      * Tifaine Inguere
       * Tim-Philipp Müller
+      * Valentin PONS
+      * Vasilis Liaskovitis
+      * Victor Toso
+      * Vijay Jayaraman
+      * Vincent Abriou
       * Vincent Penquerc'h
+      * Vineeth T M
+      * Vineeth TM
+      * Vivia Nikolaidou
+      * Vootele Vesterblom
+      * Víctor Manuel Jáquez Leal
       * Wang Xin-yu (王昕宇)
+      * William Manley
+      * Wim Taymans
+      * Wonchul Lee
+      * Xavier Claessens
+      * Youness Alaoui
+      * Yujin Lee
+      * Zaheer Abbas Merali
+      * hoonhee.lee
+      * ijsf
+      * xixi
+      * Руслан Ижбулатов
  
\ No newline at end of file
diff --git a/configure b/configure
index 3c13b3c..bc8c723 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.5.0.1.
+# Generated by GNU Autoconf 2.69 for GStreamer Bad Plug-ins 1.5.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.5.0.1'
-PACKAGE_STRING='GStreamer Bad Plug-ins 1.5.0.1'
+PACKAGE_VERSION='1.5.1'
+PACKAGE_STRING='GStreamer Bad Plug-ins 1.5.1'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -2559,7 +2559,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.5.0.1 to adapt to many kinds of systems.
+\`configure' configures GStreamer Bad Plug-ins 1.5.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2630,7 +2630,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer Bad Plug-ins 1.5.0.1:";;
+     short | recursive ) echo "Configuration of GStreamer Bad Plug-ins 1.5.1:";;
    esac
   cat <<\_ACEOF
 
@@ -3266,7 +3266,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer Bad Plug-ins configure 1.5.0.1
+GStreamer Bad Plug-ins configure 1.5.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -4239,7 +4239,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.5.0.1, which was
+It was created by GStreamer Bad Plug-ins $as_me 1.5.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -5221,7 +5221,7 @@
 
 # Define the identity of the package.
  PACKAGE='gst-plugins-bad'
- VERSION='1.5.0.1'
+ VERSION='1.5.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5432,9 +5432,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.5.0.1 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.5.0.1 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.5.0.1 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.5.1 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.5.1 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.5.1 | cut -d'.' -f3)
 
 
 
@@ -5445,7 +5445,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.5.0.1 | cut -d'.' -f4)
+  NANO=$(echo 1.5.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
@@ -14430,8 +14430,8 @@
 
 
 
-GST_REQ=1.5.0.1
-GSTPB_REQ=1.5.0.1
+GST_REQ=1.5.1
+GSTPB_REQ=1.5.1
 
 
 
@@ -37963,12 +37963,12 @@
         pkg_cv_CURL_CFLAGS="$CURL_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl >= 7.21.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libcurl >= 7.21.0") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl >= 7.35.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libcurl >= 7.35.0") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_CURL_CFLAGS=`$PKG_CONFIG --cflags "libcurl >= 7.21.0" 2>/dev/null`
+  pkg_cv_CURL_CFLAGS=`$PKG_CONFIG --cflags "libcurl >= 7.35.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -37981,12 +37981,12 @@
         pkg_cv_CURL_LIBS="$CURL_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl >= 7.21.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libcurl >= 7.21.0") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl >= 7.35.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libcurl >= 7.35.0") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_CURL_LIBS=`$PKG_CONFIG --libs "libcurl >= 7.21.0" 2>/dev/null`
+  pkg_cv_CURL_LIBS=`$PKG_CONFIG --libs "libcurl >= 7.35.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -38005,9 +38005,9 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libcurl >= 7.21.0"`
+	        CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libcurl >= 7.35.0"`
         else
-	        CURL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libcurl >= 7.21.0"`
+	        CURL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libcurl >= 7.35.0"`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$CURL_PKG_ERRORS" >&5
@@ -40207,11 +40207,11 @@
 /* end confdefs.h.  */
 
               #include <$faad_hdr>
-              GST_CHECK_FAAD_VERSION FAAD2_VERSION
+              FAAD2_VERSION
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "GST_CHECK_FAAD_VERSION \"2\.$minor\"" >/dev/null 2>&1; then :
+  $EGREP "\"2\.$minor\"$" >/dev/null 2>&1; then :
 
               faad2_minor_version=$minor
 
@@ -54550,7 +54550,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/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/liveadder/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/nuvdemux/Makefile gst/onvif/Makefile gst/patchdetect/Makefile gst/pcapparse/Makefile gst/pnm/Makefile gst/rawparse/Makefile gst/removesilence/Makefile gst/rtp/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/video/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/opensles/Makefile sys/shm/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/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/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/mpegts/Makefile tests/examples/mxf/Makefile tests/examples/opencv/Makefile tests/examples/uvch264/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/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/mpg123/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/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/gsettings/Makefile ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml ext/spc/Makefile ext/timidity/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-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 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/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/liveadder/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/nuvdemux/Makefile gst/onvif/Makefile gst/patchdetect/Makefile gst/pcapparse/Makefile gst/pnm/Makefile gst/rawparse/Makefile gst/removesilence/Makefile gst/rtp/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/gpuprocess/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/video/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/opensles/Makefile sys/shm/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/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/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/mpegts/Makefile tests/examples/mxf/Makefile tests/examples/opencv/Makefile tests/examples/uvch264/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/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/mpg123/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/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/gsettings/Makefile ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml ext/spc/Makefile ext/timidity/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-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 tools/Makefile m4/Makefile"
 
 
 sed \
@@ -56366,7 +56366,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.5.0.1, which was
+This file was extended by GStreamer Bad Plug-ins $as_me 1.5.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -56432,7 +56432,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.5.0.1
+GStreamer Bad Plug-ins config.status 1.5.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -57057,6 +57057,7 @@
     "gst-libs/gst/gl/glprototypes/Makefile") CONFIG_FILES="$CONFIG_FILES gst-libs/gst/gl/glprototypes/Makefile" ;;
     "gst-libs/gst/gl/eagl/Makefile") CONFIG_FILES="$CONFIG_FILES gst-libs/gst/gl/eagl/Makefile" ;;
     "gst-libs/gst/gl/egl/Makefile") CONFIG_FILES="$CONFIG_FILES gst-libs/gst/gl/egl/Makefile" ;;
+    "gst-libs/gst/gl/gpuprocess/Makefile") CONFIG_FILES="$CONFIG_FILES gst-libs/gst/gl/gpuprocess/Makefile" ;;
     "gst-libs/gst/gl/wayland/Makefile") CONFIG_FILES="$CONFIG_FILES gst-libs/gst/gl/wayland/Makefile" ;;
     "gst-libs/gst/gl/win32/Makefile") CONFIG_FILES="$CONFIG_FILES gst-libs/gst/gl/win32/Makefile" ;;
     "gst-libs/gst/gl/x11/Makefile") CONFIG_FILES="$CONFIG_FILES gst-libs/gst/gl/x11/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index f5ce28c..3bbbaf7 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, cvs and prerelease does Werror too
-AC_INIT([GStreamer Bad Plug-ins],[1.5.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad])
+AC_INIT([GStreamer Bad Plug-ins],[1.5.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad])
 
 AG_GST_INIT
 
@@ -51,8 +51,8 @@
 AS_LIBTOOL(GST, 501, 0, 501)
 
 dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.5.0.1
-GSTPB_REQ=1.5.0.1
+GST_REQ=1.5.1
+GSTPB_REQ=1.5.1
 
 dnl *** autotools stuff ****
 
@@ -1812,7 +1812,7 @@
 dnl *** Curl ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
 AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
-  PKG_CHECK_MODULES(CURL, libcurl >= 7.21.0, [
+  PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [
     HAVE_CURL="yes"
     AC_CHECK_HEADERS([unistd.h sys/socket.h sys/types.h netinet/in.h netinet/ip.h netinet/tcp.h fcntl.h], [ ], [
       AC_CHECK_HEADERS([unistd.h sys/types.h winsock2.h ws2tcpip.h fcntl.h], [ ], [HAVE_CURL="no"])
@@ -2008,9 +2008,9 @@
       AC_MSG_CHECKING([Checking FAAD2 version in $faad_hdr])
       for minor in 10 9 8 7 6 5 0; do
         if test x$faad2_minor_version = "x"; then
-          AC_EGREP_CPP([GST_CHECK_FAAD_VERSION \"2\.$minor\"], [
+          AC_EGREP_CPP([\"2\.$minor\"$], [
               #include <$faad_hdr>
-              GST_CHECK_FAAD_VERSION FAAD2_VERSION
+              FAAD2_VERSION
             ], [
               faad2_minor_version=$minor
             ])
@@ -3206,6 +3206,7 @@
 gst-libs/gst/gl/glprototypes/Makefile
 gst-libs/gst/gl/eagl/Makefile
 gst-libs/gst/gl/egl/Makefile
+gst-libs/gst/gl/gpuprocess/Makefile
 gst-libs/gst/gl/wayland/Makefile
 gst-libs/gst/gl/win32/Makefile
 gst-libs/gst/gl/x11/Makefile
diff --git a/docs/libs/html/GstGLBaseFilter.html b/docs/libs/html/GstGLBaseFilter.html
index a807ba4..8cc430b 100644
--- a/docs/libs/html/GstGLBaseFilter.html
+++ b/docs/libs/html/GstGLBaseFilter.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLBaseFilter</title>
+<title>GstGLBaseFilter: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstEGLImageMemory.html" title="GstEGLImageMemory">
 <link rel="next" href="GstGLFilter.html" title="GstGLFilter">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -84,6 +84,7 @@
 </div>
 <div class="refsect1">
 <a name="GstGLBaseFilter.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="GstGLBaseFilter.other_details"></a><h2>Types and Values</h2>
@@ -167,7 +168,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstGLBufferPool.html b/docs/libs/html/GstGLBufferPool.html
index ab0041d..84a96f3 100644
--- a/docs/libs/html/GstGLBufferPool.html
+++ b/docs/libs/html/GstGLBufferPool.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLBufferPool</title>
+<title>GstGLBufferPool: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstGLAPI.html" title="GstGLAPI">
 <link rel="next" href="GstGLColorConvert.html" title="GstGLColorConvert">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -108,7 +108,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.3.7.2.5"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBufferPool.html"><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>
-<p></p>
 </div>
 </div>
 </div>
@@ -135,7 +134,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstGLColorConvert.html b/docs/libs/html/GstGLColorConvert.html
index 707852a..9fd6ad0 100644
--- a/docs/libs/html/GstGLColorConvert.html
+++ b/docs/libs/html/GstGLColorConvert.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLColorConvert</title>
+<title>GstGLColorConvert: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="GstGLBufferPool.html" title="GstGLBufferPool">
 <link rel="next" href="GstGLContext.html" title="GstGLContext">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -142,7 +142,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.4.7.2.5"></a><h4>Returns</h4>
 <p> a new <a class="link" href="GstGLColorConvert.html" title="GstGLColorConvert"><span class="type">GstGLColorConvert</span></a> object</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -225,7 +224,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.4.7.5.6"></a><h4>Returns</h4>
 <p> a converted <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html"><span class="type">GstBuffer</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>%</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -264,7 +262,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstGLContext.html b/docs/libs/html/GstGLContext.html
index 45187b2..aee4eaa 100644
--- a/docs/libs/html/GstGLContext.html
+++ b/docs/libs/html/GstGLContext.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLContext</title>
+<title>GstGLContext: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="GstGLColorConvert.html" title="GstGLColorConvert">
 <link rel="next" href="gst-plugins-bad-libs-GstGLContextCocoa.html" title="GstGLContextCocoa">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -350,9 +350,8 @@
 <div class="refsect3">
 <a name="id-1.2.9.5.7.5.6"></a><h4>Returns</h4>
 <p> a new <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -401,9 +400,8 @@
 <a name="id-1.2.9.5.7.6.6"></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>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -450,9 +448,8 @@
 <div class="refsect3">
 <a name="id-1.2.9.5.7.7.8"></a><h4>Returns</h4>
 <p> whether the context could successfully be created</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -477,7 +474,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -514,9 +511,8 @@
 <div class="refsect3">
 <a name="id-1.2.9.5.7.9.7"></a><h4>Returns</h4>
 <p> Whether the activation succeeded</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -536,7 +532,7 @@
 .  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 retreived using this method.</p>
+be retrieved using this method.</p>
 <div class="refsect3">
 <a name="id-1.2.9.5.7.11.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
@@ -562,9 +558,8 @@
 <div class="refsect3">
 <a name="id-1.2.9.5.7.11.7"></a><h4>Returns</h4>
 <p> a function pointer or NULL</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -589,9 +584,8 @@
 <div class="refsect3">
 <a name="id-1.2.9.5.7.12.5"></a><h4>Returns</h4>
 <p> the currently set window</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -630,9 +624,8 @@
 <div class="refsect3">
 <a name="id-1.2.9.5.7.13.6"></a><h4>Returns</h4>
 <p> Whether the window was successfully updated</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -674,7 +667,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -700,9 +693,8 @@
 <a name="id-1.2.9.5.7.15.5"></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>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -730,9 +722,8 @@
 <div class="refsect3">
 <a name="id-1.2.9.5.7.16.7"></a><h4>Returns</h4>
 <p> the available OpenGL api</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -759,9 +750,8 @@
 <div class="refsect3">
 <a name="id-1.2.9.5.7.17.6"></a><h4>Returns</h4>
 <p> The platform specific backing OpenGL context</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -788,9 +778,8 @@
 <div class="refsect3">
 <a name="id-1.2.9.5.7.18.6"></a><h4>Returns</h4>
 <p> The platform specific backing OpenGL context</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -807,7 +796,7 @@
 </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 retreive</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>
@@ -815,9 +804,8 @@
 <div class="refsect3">
 <a name="id-1.2.9.5.7.19.5"></a><h4>Returns</h4>
 <p> The OpenGL context handle current in the calling thread or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -855,9 +843,8 @@
 <a name="id-1.2.9.5.7.20.6"></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>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -885,7 +872,7 @@
 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>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -921,9 +908,8 @@
 and <em class="parameter"><code>other_context</code></em>
 are able to share OpenGL
 resources.</p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -960,9 +946,8 @@
 <p> Whether <em class="parameter"><code>feature</code></em>
 is supported by <em class="parameter"><code>context</code></em>
 </p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1008,9 +993,8 @@
 <a name="id-1.2.9.5.7.24.5"></a><h4>Returns</h4>
 <p> whether OpenGL context implements the required api and specified
 version.</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1051,7 +1035,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1078,7 +1062,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1089,9 +1073,8 @@
 <div class="refsect3">
 <a name="id-1.2.9.5.7.27.5"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 </div>
 <div class="refsect1">
@@ -1154,7 +1137,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstGLDisplay.html b/docs/libs/html/GstGLDisplay.html
index 1a38293..41cfdd5 100644
--- a/docs/libs/html/GstGLDisplay.html
+++ b/docs/libs/html/GstGLDisplay.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLDisplay</title>
+<title>GstGLDisplay: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstGLContextWGL.html" title="GstGLContextWGL">
 <link rel="next" href="GstGLDownload.html" title="GstGLDownload">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -180,7 +180,7 @@
 <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>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -206,9 +206,8 @@
 <a name="id-1.2.9.11.7.3.5"></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>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -269,7 +268,6 @@
 <a name="id-1.2.9.11.7.5.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -307,9 +305,8 @@
 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>
-<p></p>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -347,7 +344,7 @@
 <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>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -388,9 +385,8 @@
 <p> Whether <em class="parameter"><code>display</code></em>
 was in <em class="parameter"><code>context</code></em>
 </p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -423,7 +419,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -503,7 +499,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstGLDownload.html b/docs/libs/html/GstGLDownload.html
index 0e2fce7..b357375 100644
--- a/docs/libs/html/GstGLDownload.html
+++ b/docs/libs/html/GstGLDownload.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLDownload</title>
+<title>GstGLDownload: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="GstGLDisplay.html" title="GstGLDisplay">
 <link rel="next" href="gst-plugins-bad-libs-GstEGLImageMemory.html" title="GstEGLImageMemory">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -125,7 +125,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.12.7.2.5"></a><h4>Returns</h4>
 <p> a new <a class="link" href="GstGLDownload.html" title="GstGLDownload"><span class="type">GstGLDownload</span></a> object</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -216,7 +215,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.12.7.5.6"></a><h4>Returns</h4>
 <p> whether the download was successful</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -234,7 +232,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstGLFilter.html b/docs/libs/html/GstGLFilter.html
index 3c96b06..29f3018 100644
--- a/docs/libs/html/GstGLFilter.html
+++ b/docs/libs/html/GstGLFilter.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLFilter</title>
+<title>GstGLFilter: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="GstGLBaseFilter.html" title="GstGLBaseFilter">
 <link rel="next" href="GstGLFramebuffer.html" title="GstGLFramebuffer">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -318,7 +318,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.15.7.5.6"></a><h4>Returns</h4>
 <p> whether the transformation succeeded</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -353,6 +352,9 @@
   gboolean (*filter_texture)    (GstGLFilter *filter, guint in_tex, guint out_tex);
   gboolean (*init_fbo)          (GstGLFilter *filter);
 
+  GstCaps *(*transform_internal_caps) (GstGLFilter *filter,
+    GstPadDirection direction, GstCaps * caps, GstCaps * filter_caps);
+
   /* useful to init and cleanup custom gl resources */
   void (*display_init_cb)       (GstGLFilter *filter);
   void (*display_reset_cb)      (GstGLFilter *filter);
@@ -402,6 +404,12 @@
 <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>
@@ -418,7 +426,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstGLFramebuffer.html b/docs/libs/html/GstGLFramebuffer.html
index 708abd4..607c8c4 100644
--- a/docs/libs/html/GstGLFramebuffer.html
+++ b/docs/libs/html/GstGLFramebuffer.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLFramebuffer</title>
+<title>GstGLFramebuffer: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="GstGLFilter.html" title="GstGLFilter">
 <link rel="next" href="gst-plugins-bad-libs-gstglmemory.html" title="GstGLMemory">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -159,7 +159,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstGLUpload.html b/docs/libs/html/GstGLUpload.html
index f7bcfa9..4700a58 100644
--- a/docs/libs/html/GstGLUpload.html
+++ b/docs/libs/html/GstGLUpload.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLUpload</title>
+<title>GstGLUpload: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstGLSyncMeta.html" title="GstGLSyncMeta">
 <link rel="next" href="GstGLUploadMeta.html" title="GstGLUploadMeta">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -149,7 +149,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.20.7.2.5"></a><h4>Returns</h4>
 <p> a new <a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a> object</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -234,7 +233,6 @@
 and <em class="parameter"><code>out_caps</code></em>
 could be set on <em class="parameter"><code>upload</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -324,7 +322,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.20.7.7.6"></a><h4>Returns</h4>
 <p> whether the upload was successful</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -365,7 +362,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstGLUploadMeta.html b/docs/libs/html/GstGLUploadMeta.html
index 470765f..b412b10 100644
--- a/docs/libs/html/GstGLUploadMeta.html
+++ b/docs/libs/html/GstGLUploadMeta.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLUploadMeta</title>
+<title>GstGLUploadMeta: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="GstGLUpload.html" title="GstGLUpload">
 <link rel="next" href="gst-plugins-bad-libs-Utilities.html" title="Utilities">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -125,7 +125,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.21.7.2.5"></a><h4>Returns</h4>
 <p> a new <a class="link" href="GstGLUploadMeta.html" title="GstGLUploadMeta"><span class="type">GstGLUploadMeta</span></a> object</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -220,7 +219,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.21.7.5.6"></a><h4>Returns</h4>
 <p> whether it was successful</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -238,7 +236,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/GstGLWindow.html b/docs/libs/html/GstGLWindow.html
index 8e91a14..5df756d 100644
--- a/docs/libs/html/GstGLWindow.html
+++ b/docs/libs/html/GstGLWindow.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLWindow</title>
+<title>GstGLWindow: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-Utilities.html" title="Utilities">
 <link rel="next" href="gst-plugins-bad-libs-GstGLWindowAndroid.html" title="GstGLWindowAndroid">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -369,7 +369,7 @@
 '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>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -392,7 +392,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -415,7 +415,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -438,7 +438,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -461,7 +461,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -484,7 +484,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -512,7 +512,7 @@
 . </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>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -538,9 +538,8 @@
 <a name="id-1.2.9.23.8.15.5"></a><h4>Returns</h4>
 <p> the windowing system display handle for this <em class="parameter"><code>window</code></em>
 </p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -581,7 +580,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -629,7 +628,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -674,7 +673,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -719,7 +718,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -764,7 +763,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -797,7 +796,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -822,9 +821,8 @@
 <div class="refsect3">
 <a name="id-1.2.9.23.8.22.5"></a><h4>Returns</h4>
 <p> the window handle we are currently rendering into</p>
-<p></p>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -862,7 +860,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -885,7 +883,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -921,7 +919,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1021,6 +1019,7 @@
   void     (*handle_events)      (GstGLWindow *window, gboolean handle_events);
   void     (*set_preferred_size) (GstGLWindow *window, gint width, gint height);
   void     (*show)               (GstGLWindow *window);
+  gboolean (*set_render_rectangle)(GstGLWindow *window, gint x, gint y, gint width, gint height);
 } GstGLWindowClass;
 </pre>
 <div class="refsect3">
@@ -1119,6 +1118,11 @@
 <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>
 </tbody>
 </table></div>
 </div>
@@ -1167,7 +1171,7 @@
 </table></div>
 </div>
 <p>Flags: Run Last</p>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1223,7 +1227,7 @@
 </table></div>
 </div>
 <p>Flags: Run Last</p>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1267,7 +1271,7 @@
 </table></div>
 </div>
 <p>Flags: Run Last</p>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1323,7 +1327,7 @@
 </table></div>
 </div>
 <p>Flags: Run Last</p>
-<p class="since">Since 1.6</p>
+<p class="since">Since: 1.6</p>
 </div>
 </div>
 <div class="refsect1">
@@ -1332,7 +1336,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/annotation-glossary.html b/docs/libs/html/annotation-glossary.html
index 754d76c..f49fb27 100644
--- a/docs/libs/html/annotation-glossary.html
+++ b/docs/libs/html/annotation-glossary.html
@@ -2,12 +2,12 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Annotation Glossary</title>
+<title>Annotation Glossary: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -82,7 +82,6 @@
 </p></dd>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</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 db3a9fc..1bb359a 100644
--- a/docs/libs/html/api-index-deprecated.html
+++ b/docs/libs/html/api-index-deprecated.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Index of deprecated API</title>
+<title>Index of deprecated API: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-full.html" title="Index">
 <link rel="next" href="annotation-glossary.html" title="Annotation Glossary">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -53,7 +53,6 @@
 <dd></dd>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
index bcac363..2a0e3aa 100644
--- a/docs/libs/html/api-index-full.html
+++ b/docs/libs/html/api-index-full.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Index</title>
+<title>Index: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="gstreamer-libs-hierarchy.html" title="Part II. Object Hierarchy">
 <link rel="next" href="api-index-deprecated.html" title="Index of deprecated API">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -2857,7 +2857,6 @@
 <dd></dd>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/base.html b/docs/libs/html/base.html
index 3d9578b..4e4f768 100644
--- a/docs/libs/html/base.html
+++ b/docs/libs/html/base.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GStreamer Base classes from gst-plugins-bad</title>
+<title>GStreamer Base classes from gst-plugins-bad: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstInsertbin.html" title="GstInsertbin">
 <link rel="next" href="gst-plugins-bad-libs-GstAggregator.html" title="GstAggregator">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -33,7 +33,6 @@
 </dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/ch07.html b/docs/libs/html/ch07.html
index d0e4f95..b6170a0 100644
--- a/docs/libs/html/ch07.html
+++ b/docs/libs/html/ch07.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Interfaces</title>
+<title>Interfaces: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstGLWindowX11.html" title="GstGLWindowX11">
 <link rel="next" href="gst-plugins-bad-libs-GstPhotography.html" title="GstPhotography">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -27,7 +27,6 @@
 </dt></dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/codecparsers.html b/docs/libs/html/codecparsers.html
index 0ba5b7a..e3106eb 100644
--- a/docs/libs/html/codecparsers.html
+++ b/docs/libs/html/codecparsers.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Bitstream parsing Library</title>
+<title>Bitstream parsing Library: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="compiling.html" title="Compiling">
 <link rel="next" href="gst-plugins-bad-libs-h264parser.html" title="h264parser">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -50,7 +50,6 @@
       </p>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/compiling.html b/docs/libs/html/compiling.html
index 3f5f07c..be3610f 100644
--- a/docs/libs/html/compiling.html
+++ b/docs/libs/html/compiling.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Compiling</title>
+<title>Compiling: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
 <link rel="next" href="codecparsers.html" title="Bitstream parsing Library">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -58,7 +58,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gl.html b/docs/libs/html/gl.html
index 2e1e7b7..039616a 100644
--- a/docs/libs/html/gl.html
+++ b/docs/libs/html/gl.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: OpenGL Helper Library</title>
+<title>OpenGL Helper Library: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstVideoAggregatorPad.html" title="GstVideoAggregatorPad">
 <link rel="next" href="gst-plugins-bad-libs-GstGLAPI.html" title="GstGLAPI">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -27,7 +27,7 @@
 <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="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"> — buffer pool for <span class="type">GstGLMemory</span> objects</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"> — an object that converts between color spaces/formats</span>
@@ -81,7 +81,7 @@
 <span class="refentrytitle"><a href="GstGLUpload.html">GstGLUpload</a></span><span class="refpurpose"> — an object that uploads to GL textures</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLUploadMeta.html">GstGLUploadMeta</a></span><span class="refpurpose">an object that provides <span class="type">GstVideoGLTextureUploadMeta</span></span>
+<span class="refentrytitle"><a href="GstGLUploadMeta.html">GstGLUploadMeta</a></span><span class="refpurpose"> — an object that provides <span class="type">GstVideoGLTextureUploadMeta</span></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-Utilities.html">Utilities</a></span><span class="refpurpose"></span>
@@ -110,7 +110,6 @@
 </dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 a197a40..6a484a8 100644
--- a/docs/libs/html/gst-plugins-bad-libs-1.0.devhelp2
+++ b/docs/libs/html/gst-plugins-bad-libs-1.0.devhelp2
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
 <book xmlns="http://www.devhelp.net/book" title="GStreamer Bad Plugins 1.0 Library Reference Manual" link="index.html" author="" name="gst-plugins-bad-libs-1.0" version="2" language="c">
   <chapters>
     <sub name="GStreamer Bad Plugins Libraries" link="gstreamer-plugins-bad.html">
@@ -115,7 +114,6 @@
     <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="" name="" link="gst-plugins-bad-libs-mpegvideoparser.html#id-1.2.4.4.6.2"/>
     <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."/>
@@ -743,5 +741,802 @@
     <keyword type="macro" name="GST_PHOTOGRAPHY_PROP_FLICKER_MODE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-PROP-FLICKER-MODE:CAPS"/>
     <keyword type="macro" name="GST_PHOTOGRAPHY_PROP_FOCUS_MODE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-PROP-FOCUS-MODE:CAPS"/>
     <keyword type="macro" name="GST_PHOTOGRAPHY_PROP_ZOOM" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-PROP-ZOOM:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_UNKNOWN" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-UNKNOWN:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_SLICE" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_SLICE_DPA" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE-DPA:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_SLICE_DPB" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE-DPB:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_SLICE_DPC" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE-DPC:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_SLICE_IDR" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE-IDR:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_SEI" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SEI:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_SPS" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SPS:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_PPS" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-PPS:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_AU_DELIMITER" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-AU-DELIMITER:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_SEQ_END" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SEQ-END:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_STREAM_END" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-STREAM-END:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_FILLER_DATA" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-FILLER-DATA:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_SPS_EXT" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SPS-EXT:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_PREFIX_UNIT" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-PREFIX-UNIT:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_SUBSET_SPS" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SUBSET-SPS:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_SLICE_AUX" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE-AUX:CAPS"/>
+    <keyword type="constant" name="GST_H264_NAL_SLICE_EXT" link="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE-EXT:CAPS"/>
+    <keyword type="constant" name="GST_H264_PARSER_OK" link="gst-plugins-bad-libs-h264parser.html#GST-H264-PARSER-OK:CAPS"/>
+    <keyword type="constant" name="GST_H264_PARSER_BROKEN_DATA" link="gst-plugins-bad-libs-h264parser.html#GST-H264-PARSER-BROKEN-DATA:CAPS"/>
+    <keyword type="constant" name="GST_H264_PARSER_BROKEN_LINK" link="gst-plugins-bad-libs-h264parser.html#GST-H264-PARSER-BROKEN-LINK:CAPS"/>
+    <keyword type="constant" name="GST_H264_PARSER_ERROR" link="gst-plugins-bad-libs-h264parser.html#GST-H264-PARSER-ERROR:CAPS"/>
+    <keyword type="constant" name="GST_H264_PARSER_NO_NAL" link="gst-plugins-bad-libs-h264parser.html#GST-H264-PARSER-NO-NAL:CAPS"/>
+    <keyword type="constant" name="GST_H264_PARSER_NO_NAL_END" link="gst-plugins-bad-libs-h264parser.html#GST-H264-PARSER-NO-NAL-END:CAPS"/>
+    <keyword type="constant" name="GST_H264_SEI_BUF_PERIOD" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-BUF-PERIOD:CAPS"/>
+    <keyword type="constant" name="GST_H264_SEI_PIC_TIMING" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-TIMING:CAPS"/>
+    <keyword type="constant" name="GST_H264_SEI_RECOVERY_POINT" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-RECOVERY-POINT:CAPS"/>
+    <keyword type="constant" name="GST_H264_SEI_STEREO_VIDEO_INFO" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-STEREO-VIDEO-INFO:CAPS"/>
+    <keyword type="constant" name="GST_H264_SEI_FRAME_PACKING" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-FRAME-PACKING:CAPS"/>
+    <keyword type="constant" name="GST_H264_SEI_PIC_STRUCT_FRAME" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-FRAME:CAPS"/>
+    <keyword type="constant" name="GST_H264_SEI_PIC_STRUCT_TOP_FIELD" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-TOP-FIELD:CAPS"/>
+    <keyword type="constant" name="GST_H264_SEI_PIC_STRUCT_BOTTOM_FIELD" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-BOTTOM-FIELD:CAPS"/>
+    <keyword type="constant" name="GST_H264_SEI_PIC_STRUCT_TOP_BOTTOM" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-TOP-BOTTOM:CAPS"/>
+    <keyword type="constant" name="GST_H264_SEI_PIC_STRUCT_BOTTOM_TOP" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-BOTTOM-TOP:CAPS"/>
+    <keyword type="constant" name="GST_H264_SEI_PIC_STRUCT_TOP_BOTTOM_TOP" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-TOP-BOTTOM-TOP:CAPS"/>
+    <keyword type="constant" name="GST_H264_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-BOTTOM-TOP-BOTTOM:CAPS"/>
+    <keyword type="constant" name="GST_H264_SEI_PIC_STRUCT_FRAME_DOUBLING" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-FRAME-DOUBLING:CAPS"/>
+    <keyword type="constant" name="GST_H264_SEI_PIC_STRUCT_FRAME_TRIPLING" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-FRAME-TRIPLING:CAPS"/>
+    <keyword type="constant" name="GST_H264_P_SLICE" link="gst-plugins-bad-libs-h264parser.html#GST-H264-P-SLICE:CAPS"/>
+    <keyword type="constant" name="GST_H264_B_SLICE" link="gst-plugins-bad-libs-h264parser.html#GST-H264-B-SLICE:CAPS"/>
+    <keyword type="constant" name="GST_H264_I_SLICE" link="gst-plugins-bad-libs-h264parser.html#GST-H264-I-SLICE:CAPS"/>
+    <keyword type="constant" name="GST_H264_SP_SLICE" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SP-SLICE:CAPS"/>
+    <keyword type="constant" name="GST_H264_SI_SLICE" link="gst-plugins-bad-libs-h264parser.html#GST-H264-SI-SLICE:CAPS"/>
+    <keyword type="constant" name="GST_H264_S_P_SLICE" link="gst-plugins-bad-libs-h264parser.html#GST-H264-S-P-SLICE:CAPS"/>
+    <keyword type="constant" name="GST_H264_S_B_SLICE" link="gst-plugins-bad-libs-h264parser.html#GST-H264-S-B-SLICE:CAPS"/>
+    <keyword type="constant" name="GST_H264_S_I_SLICE" link="gst-plugins-bad-libs-h264parser.html#GST-H264-S-I-SLICE:CAPS"/>
+    <keyword type="constant" name="GST_H264_S_SP_SLICE" link="gst-plugins-bad-libs-h264parser.html#GST-H264-S-SP-SLICE:CAPS"/>
+    <keyword type="constant" name="GST_H264_S_SI_SLICE" link="gst-plugins-bad-libs-h264parser.html#GST-H264-S-SI-SLICE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PACKET_PICTURE" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-PICTURE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PACKET_SLICE_MIN" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-SLICE-MIN:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PACKET_SLICE_MAX" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-SLICE-MAX:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PACKET_USER_DATA" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-USER-DATA:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PACKET_SEQUENCE" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-SEQUENCE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PACKET_EXTENSION" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-EXTENSION:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PACKET_SEQUENCE_END" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-SEQUENCE-END:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PACKET_GOP" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-GOP:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PACKET_NONE" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-NONE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-EXT-SEQUENCE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_DISPLAY" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-EXT-SEQUENCE-DISPLAY:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PACKET_EXT_QUANT_MATRIX" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-EXT-QUANT-MATRIX:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_SCALABLE" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-EXT-SEQUENCE-SCALABLE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PACKET_EXT_PICTURE" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-EXT-PICTURE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_LEVEL_HIGH" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-LEVEL-HIGH:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_LEVEL_HIGH_1440" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-LEVEL-HIGH-1440:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_LEVEL_MAIN" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-LEVEL-MAIN:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_LEVEL_LOW" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-LEVEL-LOW:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PROFILE_422" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PROFILE-422:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PROFILE_HIGH" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PROFILE-HIGH:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PROFILE_SPATIALLY_SCALABLE" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PROFILE-SPATIALLY-SCALABLE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PROFILE_SNR_SCALABLE" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PROFILE-SNR-SCALABLE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PROFILE_MAIN" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PROFILE-MAIN:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PROFILE_SIMPLE" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PROFILE-SIMPLE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PICTURE_TYPE_I" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PICTURE-TYPE-I:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PICTURE_TYPE_P" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PICTURE-TYPE-P:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PICTURE_TYPE_B" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PICTURE-TYPE-B:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PICTURE_TYPE_D" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PICTURE-TYPE-D:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PICTURE_STRUCTURE_TOP_FIELD" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PICTURE-STRUCTURE-TOP-FIELD:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PICTURE_STRUCTURE_BOTTOM_FIELD" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PICTURE-STRUCTURE-BOTTOM-FIELD:CAPS"/>
+    <keyword type="constant" name="GST_MPEG_VIDEO_PICTURE_STRUCTURE_FRAME" link="gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PICTURE-STRUCTURE-FRAME:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_VIDEO_OBJ_FIRST" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VIDEO-OBJ-FIRST:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_VIDEO_OBJ_LAST" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VIDEO-OBJ-LAST:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_VIDEO_LAYER_FIRST" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VIDEO-LAYER-FIRST:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_VIDEO_LAYER_LAST" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VIDEO-LAYER-LAST:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_VISUAL_OBJ_SEQ_START" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VISUAL-OBJ-SEQ-START:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_VISUAL_OBJ_SEQ_END" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VISUAL-OBJ-SEQ-END:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_USER_DATA" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-USER-DATA:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_GROUP_OF_VOP" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-GROUP-OF-VOP:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_VIDEO_SESSION_ERR" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VIDEO-SESSION-ERR:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_VISUAL_OBJ" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VISUAL-OBJ:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_VIDEO_OBJ_PLANE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VIDEO-OBJ-PLANE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_FBA" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-FBA:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_FBA_PLAN" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-FBA-PLAN:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_MESH" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-MESH:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_MESH_PLAN" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-MESH-PLAN:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_STILL_TEXTURE_OBJ" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-STILL-TEXTURE-OBJ:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_TEXTURE_SPATIAL" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-TEXTURE-SPATIAL:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_TEXTURE_SNR_LAYER" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-TEXTURE-SNR-LAYER:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_TEXTURE_TILE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-TEXTURE-TILE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_SHAPE_LAYER" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-SHAPE-LAYER:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_STUFFING" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-STUFFING:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_SYSTEM_FIRST" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-SYSTEM-FIRST:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_SYSTEM_LAST" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-SYSTEM-LAST:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_RESYNC" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-RESYNC:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_VIDEO_ID" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VIDEO-ID:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_STILL_TEXTURE_ID" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-STILL-TEXTURE-ID:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_STILL_MESH_ID" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-STILL-MESH-ID:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_STILL_FBA_ID" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-STILL-FBA-ID:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_STILL_3D_MESH_ID" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-STILL-3D-MESH-ID:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_SQUARE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-SQUARE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_625_TYPE_4_3" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-625-TYPE-4-3:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_525_TYPE_4_3" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-525-TYPE-4-3:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_625_TYPE_16_9" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-625-TYPE-16-9:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_525_TYPE_16_9" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-525-TYPE-16-9:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_EXTENDED_PAR" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-EXTENDED-PAR:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PARSER_OK" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PARSER-OK:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PARSER_BROKEN_DATA" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PARSER-BROKEN-DATA:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PARSER_NO_PACKET" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PARSER-NO-PACKET:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PARSER_NO_PACKET_END" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PARSER-NO-PACKET-END:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PARSER_ERROR" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PARSER-ERROR:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_I_VOP" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-I-VOP:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_P_VOP" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-P-VOP:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_B_VOP" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-B-VOP:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_S_VOP" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-S-VOP:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_CHROMA_4_2_0" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-CHROMA-4-2-0:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_RECTANGULAR" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-RECTANGULAR:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_BINARY" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-BINARY:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_BINARY_ONLY" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-BINARY-ONLY:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_GRAYSCALE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-GRAYSCALE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_SPRITE_UNUSED" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-SPRITE-UNUSED:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_SPRITE_STATIC" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-SPRITE-STATIC:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_SPRITE_GMG" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-SPRITE-GMG:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_CORE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-CORE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_MAIN" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-MAIN:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_N_BIT" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-N-BIT:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_SIMPLE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-SIMPLE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_HYBRID" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-HYBRID:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_RESERVED" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-RESERVED:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_SIMPLE_FBA" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-SIMPLE-FBA:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_CORE_STUDIO" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-CORE-STUDIO:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_SIMPLE_STUDIO" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-SIMPLE-STUDIO:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_CORE_SCALABLE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-CORE-SCALABLE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_ADVANCED_CORE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-ADVANCED-CORE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_ADVANCED_SIMPLE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-ADVANCED-SIMPLE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_SIMPLE_SCALABLE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-SIMPLE-SCALABLE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_SCALABLE_TEXTURE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-SCALABLE-TEXTURE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_SIMPLE_FACE_ANIMATION" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-SIMPLE-FACE-ANIMATION:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_BASIC_ANIMATED_TEXTURE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-BASIC-ANIMATED-TEXTURE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_ADVANCED_REALTIME_SIMPLE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-ADVANCED-REALTIME-SIMPLE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_ADVANCED_SCALABLE_TEXTURE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-ADVANCED-SCALABLE-TEXTURE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_FINE_GRANULARITY_SCALABLE" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-FINE-GRANULARITY-SCALABLE:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-ADVANCED-CODING-EFFICIENCY:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_LEVEL0" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL0:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_LEVEL1" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL1:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_LEVEL2" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL2:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_LEVEL3" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL3:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_LEVEL3b" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL3b"/>
+    <keyword type="constant" name="GST_MPEG4_LEVEL4" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL4:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_LEVEL5" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL5:CAPS"/>
+    <keyword type="constant" name="GST_MPEG4_LEVEL_RESERVED" link="gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL-RESERVED:CAPS"/>
+    <keyword type="constant" name="GST_VC1_END_OF_SEQ" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-END-OF-SEQ:CAPS"/>
+    <keyword type="constant" name="GST_VC1_SLICE" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-SLICE:CAPS"/>
+    <keyword type="constant" name="GST_VC1_FIELD" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-FIELD:CAPS"/>
+    <keyword type="constant" name="GST_VC1_FRAME" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-FRAME:CAPS"/>
+    <keyword type="constant" name="GST_VC1_ENTRYPOINT" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-ENTRYPOINT:CAPS"/>
+    <keyword type="constant" name="GST_VC1_SEQUENCE" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-SEQUENCE:CAPS"/>
+    <keyword type="constant" name="GST_VC1_SLICE_USER" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-SLICE-USER:CAPS"/>
+    <keyword type="constant" name="GST_VC1_FIELD_USER" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-FIELD-USER:CAPS"/>
+    <keyword type="constant" name="GST_VC1_FRAME_USER" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-FRAME-USER:CAPS"/>
+    <keyword type="constant" name="GST_VC1_ENTRY_POINT_USER" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-ENTRY-POINT-USER:CAPS"/>
+    <keyword type="constant" name="GST_VC1_SEQUENCE_USER" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-SEQUENCE-USER:CAPS"/>
+    <keyword type="constant" name="GST_VC1_PROFILE_SIMPLE" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-PROFILE-SIMPLE:CAPS"/>
+    <keyword type="constant" name="GST_VC1_PROFILE_MAIN" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-PROFILE-MAIN:CAPS"/>
+    <keyword type="constant" name="GST_VC1_PROFILE_RESERVED" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-PROFILE-RESERVED:CAPS"/>
+    <keyword type="constant" name="GST_VC1_PROFILE_ADVANCED" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-PROFILE-ADVANCED:CAPS"/>
+    <keyword type="constant" name="GST_VC1_PARSER_OK" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-PARSER-OK:CAPS"/>
+    <keyword type="constant" name="GST_VC1_PARSER_BROKEN_DATA" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-PARSER-BROKEN-DATA:CAPS"/>
+    <keyword type="constant" name="GST_VC1_PARSER_NO_BDU" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-PARSER-NO-BDU:CAPS"/>
+    <keyword type="constant" name="GST_VC1_PARSER_NO_BDU_END" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-PARSER-NO-BDU-END:CAPS"/>
+    <keyword type="constant" name="GST_VC1_PARSER_ERROR" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-PARSER-ERROR:CAPS"/>
+    <keyword type="constant" name="GST_VC1_PICTURE_TYPE_P" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-PICTURE-TYPE-P:CAPS"/>
+    <keyword type="constant" name="GST_VC1_PICTURE_TYPE_B" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-PICTURE-TYPE-B:CAPS"/>
+    <keyword type="constant" name="GST_VC1_PICTURE_TYPE_I" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-PICTURE-TYPE-I:CAPS"/>
+    <keyword type="constant" name="GST_VC1_PICTURE_TYPE_BI" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-PICTURE-TYPE-BI:CAPS"/>
+    <keyword type="constant" name="GST_VC1_PICTURE_TYPE_SKIPPED" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-PICTURE-TYPE-SKIPPED:CAPS"/>
+    <keyword type="constant" name="GST_VC1_LEVEL_LOW" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-LOW:CAPS"/>
+    <keyword type="constant" name="GST_VC1_LEVEL_MEDIUM" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-MEDIUM:CAPS"/>
+    <keyword type="constant" name="GST_VC1_LEVEL_HIGH" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-HIGH:CAPS"/>
+    <keyword type="constant" name="GST_VC1_LEVEL_L0" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-L0:CAPS"/>
+    <keyword type="constant" name="GST_VC1_LEVEL_L1" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-L1:CAPS"/>
+    <keyword type="constant" name="GST_VC1_LEVEL_L2" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-L2:CAPS"/>
+    <keyword type="constant" name="GST_VC1_LEVEL_L3" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-L3:CAPS"/>
+    <keyword type="constant" name="GST_VC1_LEVEL_L4" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-L4:CAPS"/>
+    <keyword type="constant" name="GST_VC1_LEVEL_UNKNOWN" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-UNKNOWN:CAPS"/>
+    <keyword type="constant" name="GST_VC1_QUANTIZER_IMPLICITLY" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-QUANTIZER-IMPLICITLY:CAPS"/>
+    <keyword type="constant" name="GST_VC1_QUANTIZER_EXPLICITLY" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-QUANTIZER-EXPLICITLY:CAPS"/>
+    <keyword type="constant" name="GST_VC1_QUANTIZER_NON_UNIFORM" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-QUANTIZER-NON-UNIFORM:CAPS"/>
+    <keyword type="constant" name="GST_VC1_QUANTIZER_UNIFORM" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-QUANTIZER-UNIFORM:CAPS"/>
+    <keyword type="constant" name="GST_VC1_DQPROFILE_FOUR_EDGES" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-DQPROFILE-FOUR-EDGES:CAPS"/>
+    <keyword type="constant" name="GST_VC1_DQPROFILE_DOUBLE_EDGES" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-DQPROFILE-DOUBLE-EDGES:CAPS"/>
+    <keyword type="constant" name="GST_VC1_DQPROFILE_SINGLE_EDGE" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-DQPROFILE-SINGLE-EDGE:CAPS"/>
+    <keyword type="constant" name="GST_VC1_DQPROFILE_ALL_MBS" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-DQPROFILE-ALL-MBS:CAPS"/>
+    <keyword type="constant" name="GST_VC1_CONDOVER_NONE" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-CONDOVER-NONE:CAPS"/>
+    <keyword type="constant" name="GST_VC1_CONDOVER_ALL" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-CONDOVER-ALL:CAPS"/>
+    <keyword type="constant" name="GST_VC1_CONDOVER_SELECT" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-CONDOVER-SELECT:CAPS"/>
+    <keyword type="constant" name="GST_VC1_MVMODE_1MV_HPEL_BILINEAR" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-MVMODE-1MV-HPEL-BILINEAR:CAPS"/>
+    <keyword type="constant" name="GST_VC1_MVMODE_1MV" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-MVMODE-1MV:CAPS"/>
+    <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_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"/>
+    <keyword type="constant" name="GST_GL_API_GLES1" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-GLES1:CAPS"/>
+    <keyword type="constant" name="GST_GL_API_GLES2" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-GLES2:CAPS"/>
+    <keyword type="constant" name="GST_GL_API_ANY" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-ANY:CAPS"/>
+    <keyword type="constant" name="GST_GL_PLATFORM_NONE" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-NONE:CAPS"/>
+    <keyword type="constant" name="GST_GL_PLATFORM_EGL" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-EGL:CAPS"/>
+    <keyword type="constant" name="GST_GL_PLATFORM_GLX" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-GLX:CAPS"/>
+    <keyword type="constant" name="GST_GL_PLATFORM_WGL" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-WGL:CAPS"/>
+    <keyword type="constant" name="GST_GL_PLATFORM_CGL" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-CGL:CAPS"/>
+    <keyword type="constant" name="GST_GL_PLATFORM_EAGL" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-EAGL:CAPS"/>
+    <keyword type="constant" name="GST_GL_PLATFORM_GPU_PROCESS" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-GPU-PROCESS:CAPS"/>
+    <keyword type="constant" name="GST_GL_PLATFORM_ANY" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-ANY:CAPS"/>
+    <keyword type="constant" name="GST_GL_CONTEXT_ERROR_FAILED" link="GstGLContext.html#GST-GL-CONTEXT-ERROR-FAILED:CAPS"/>
+    <keyword type="constant" name="GST_GL_CONTEXT_ERROR_WRONG_CONFIG" link="GstGLContext.html#GST-GL-CONTEXT-ERROR-WRONG-CONFIG:CAPS"/>
+    <keyword type="constant" name="GST_GL_CONTEXT_ERROR_WRONG_API" link="GstGLContext.html#GST-GL-CONTEXT-ERROR-WRONG-API:CAPS"/>
+    <keyword type="constant" name="GST_GL_CONTEXT_ERROR_OLD_LIBS" link="GstGLContext.html#GST-GL-CONTEXT-ERROR-OLD-LIBS:CAPS"/>
+    <keyword type="constant" name="GST_GL_CONTEXT_ERROR_CREATE_CONTEXT" link="GstGLContext.html#GST-GL-CONTEXT-ERROR-CREATE-CONTEXT:CAPS"/>
+    <keyword type="constant" name="GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE" link="GstGLContext.html#GST-GL-CONTEXT-ERROR-RESOURCE-UNAVAILABLE:CAPS"/>
+    <keyword type="constant" name="GST_GL_DISPLAY_TYPE_NONE" link="GstGLDisplay.html#GST-GL-DISPLAY-TYPE-NONE:CAPS"/>
+    <keyword type="constant" name="GST_GL_DISPLAY_TYPE_X11" link="GstGLDisplay.html#GST-GL-DISPLAY-TYPE-X11:CAPS"/>
+    <keyword type="constant" name="GST_GL_DISPLAY_TYPE_WAYLAND" link="GstGLDisplay.html#GST-GL-DISPLAY-TYPE-WAYLAND:CAPS"/>
+    <keyword type="constant" name="GST_GL_DISPLAY_TYPE_COCOA" link="GstGLDisplay.html#GST-GL-DISPLAY-TYPE-COCOA:CAPS"/>
+    <keyword type="constant" name="GST_GL_DISPLAY_TYPE_WIN32" link="GstGLDisplay.html#GST-GL-DISPLAY-TYPE-WIN32:CAPS"/>
+    <keyword type="constant" name="GST_GL_DISPLAY_TYPE_DISPMANX" link="GstGLDisplay.html#GST-GL-DISPLAY-TYPE-DISPMANX:CAPS"/>
+    <keyword type="constant" name="GST_GL_DISPLAY_TYPE_EGL" link="GstGLDisplay.html#GST-GL-DISPLAY-TYPE-EGL:CAPS"/>
+    <keyword type="constant" name="GST_GL_DISPLAY_TYPE_ANY" link="GstGLDisplay.html#GST-GL-DISPLAY-TYPE-ANY:CAPS"/>
+    <keyword type="constant" name="GST_GL_MEMORY_FLAG_DOWNLOAD_INITTED" link="gst-plugins-bad-libs-gstglmemory.html#GST-GL-MEMORY-FLAG-DOWNLOAD-INITTED:CAPS"/>
+    <keyword type="constant" name="GST_GL_MEMORY_FLAG_UPLOAD_INITTED" link="gst-plugins-bad-libs-gstglmemory.html#GST-GL-MEMORY-FLAG-UPLOAD-INITTED:CAPS"/>
+    <keyword type="constant" name="GST_GL_MEMORY_FLAG_NEED_DOWNLOAD" link="gst-plugins-bad-libs-gstglmemory.html#GST-GL-MEMORY-FLAG-NEED-DOWNLOAD:CAPS"/>
+    <keyword type="constant" name="GST_GL_MEMORY_FLAG_NEED_UPLOAD" link="gst-plugins-bad-libs-gstglmemory.html#GST-GL-MEMORY-FLAG-NEED-UPLOAD:CAPS"/>
+    <keyword type="constant" name="GST_GL_SHADER_ERROR_COMPILE" link="gst-plugins-bad-libs-gstglshader.html#GST-GL-SHADER-ERROR-COMPILE:CAPS"/>
+    <keyword type="constant" name="GST_GL_SHADER_ERROR_LINK" link="gst-plugins-bad-libs-gstglshader.html#GST-GL-SHADER-ERROR-LINK:CAPS"/>
+    <keyword type="constant" name="GST_GL_SHADER_ERROR_PROGRAM" link="gst-plugins-bad-libs-gstglshader.html#GST-GL-SHADER-ERROR-PROGRAM:CAPS"/>
+    <keyword type="constant" name="GST_GL_SHADER_FRAGMENT_SOURCE" link="gst-plugins-bad-libs-gstglshader.html#GST-GL-SHADER-FRAGMENT-SOURCE:CAPS"/>
+    <keyword type="constant" name="GST_GL_SHADER_VERTEX_SOURCE" link="gst-plugins-bad-libs-gstglshader.html#GST-GL-SHADER-VERTEX-SOURCE:CAPS"/>
+    <keyword type="constant" name="GST_GL_DISPLAY_PROJECTION_ORTHO2D" link="gst-plugins-bad-libs-Utilities.html#GST-GL-DISPLAY-PROJECTION-ORTHO2D:CAPS"/>
+    <keyword type="constant" name="GST_GL_DISPLAY_PROJECTION_PERSPECTIVE" link="gst-plugins-bad-libs-Utilities.html#GST-GL-DISPLAY-PROJECTION-PERSPECTIVE:CAPS"/>
+    <keyword type="constant" name="GST_GL_WINDOW_ERROR_FAILED" link="GstGLWindow.html#GST-GL-WINDOW-ERROR-FAILED:CAPS"/>
+    <keyword type="constant" name="GST_GL_WINDOW_ERROR_OLD_LIBS" link="GstGLWindow.html#GST-GL-WINDOW-ERROR-OLD-LIBS:CAPS"/>
+    <keyword type="constant" name="GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE" link="GstGLWindow.html#GST-GL-WINDOW-ERROR-RESOURCE-UNAVAILABLE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_NOISE_REDUCTION_BAYER" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-NOISE-REDUCTION-BAYER:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_NOISE_REDUCTION_YCC" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-NOISE-REDUCTION-YCC:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_NOISE_REDUCTION_TEMPORAL" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-NOISE-REDUCTION-TEMPORAL:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_NOISE_REDUCTION_FIXED" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-NOISE-REDUCTION-FIXED:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_NOISE_REDUCTION_EXTRA" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-NOISE-REDUCTION-EXTRA:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_WB_MODE_AUTO" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-AUTO:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_WB_MODE_DAYLIGHT" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-DAYLIGHT:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_WB_MODE_CLOUDY" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-CLOUDY:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_WB_MODE_SUNSET" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-SUNSET:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_WB_MODE_TUNGSTEN" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-TUNGSTEN:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_WB_MODE_FLUORESCENT" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-FLUORESCENT:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_WB_MODE_MANUAL" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-MANUAL:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_WB_MODE_WARM_FLUORESCENT" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-WARM-FLUORESCENT:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_WB_MODE_SHADE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-SHADE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_NORMAL" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-NORMAL:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_SEPIA" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-SEPIA:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_NEGATIVE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-NEGATIVE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRAYSCALE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-GRAYSCALE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_NATURAL" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-NATURAL:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_VIVID" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-VIVID:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_COLORSWAP" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-COLORSWAP:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_SOLARIZE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-SOLARIZE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_OUT_OF_FOCUS" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-OUT-OF-FOCUS:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKY_BLUE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-SKY-BLUE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRASS_GREEN" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-GRASS-GREEN:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKIN_WHITEN" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-SKIN-WHITEN:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_POSTERIZE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-POSTERIZE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_WHITEBOARD" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-WHITEBOARD:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_BLACKBOARD" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-BLACKBOARD:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_AQUA" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-AQUA:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_MANUAL" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-MANUAL:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_CLOSEUP" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-CLOSEUP:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_PORTRAIT" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-PORTRAIT:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_LANDSCAPE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-LANDSCAPE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_SPORT" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-SPORT:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_NIGHT" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-NIGHT:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_AUTO" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-AUTO:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_ACTION" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-ACTION:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_NIGHT_PORTRAIT" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-NIGHT-PORTRAIT:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_THEATRE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-THEATRE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_BEACH" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-BEACH:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_SNOW" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-SNOW:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_SUNSET" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-SUNSET:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_STEADY_PHOTO" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-STEADY-PHOTO:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_FIREWORKS" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-FIREWORKS:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_PARTY" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-PARTY:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_CANDLELIGHT" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-CANDLELIGHT:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_SCENE_MODE_BARCODE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-BARCODE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FLASH_MODE_AUTO" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLASH-MODE-AUTO:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FLASH_MODE_OFF" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLASH-MODE-OFF:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FLASH_MODE_ON" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLASH-MODE-ON:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FLASH_MODE_FILL_IN" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLASH-MODE-FILL-IN:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FLASH_MODE_RED_EYE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLASH-MODE-RED-EYE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FLICKER_REDUCTION_OFF" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLICKER-REDUCTION-OFF:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FLICKER_REDUCTION_50HZ" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLICKER-REDUCTION-50HZ:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FLICKER_REDUCTION_60HZ" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLICKER-REDUCTION-60HZ:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FLICKER_REDUCTION_AUTO" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLICKER-REDUCTION-AUTO:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FOCUS_MODE_AUTO" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-AUTO:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FOCUS_MODE_MACRO" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-MACRO:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-PORTRAIT:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-INFINITY:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-HYPERFOCAL:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FOCUS_MODE_EXTENDED" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-EXTENDED:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-CONTINUOUS-NORMAL:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-CONTINUOUS-EXTENDED:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FOCUS_MODE_MANUAL" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-MANUAL:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FOCUS_STATUS_NONE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-STATUS-NONE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FOCUS_STATUS_RUNNING" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-STATUS-RUNNING:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FOCUS_STATUS_FAIL" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-STATUS-FAIL:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_FOCUS_STATUS_SUCCESS" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-STATUS-SUCCESS:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_NONE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-NONE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_EV_COMP" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-EV-COMP:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_ISO_SPEED" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-ISO-SPEED:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_WB_MODE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-WB-MODE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_TONE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-TONE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_SCENE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-SCENE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_FLASH" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-FLASH:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_ZOOM" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-ZOOM:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_FOCUS" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-FOCUS:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_APERTURE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-APERTURE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_EXPOSURE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-EXPOSURE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_SHAKE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-SHAKE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_WHITE_BALANCE" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-WHITE-BALANCE:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_NOISE_REDUCTION" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-NOISE-REDUCTION:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_FLICKER_REDUCTION" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-FLICKER-REDUCTION:CAPS"/>
+    <keyword type="constant" name="GST_PHOTOGRAPHY_CAPS_ALL" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-ALL:CAPS"/>
+    <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"/>
   </functions>
 </book>
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-ATSC-variants-of-MPEG-TS-descriptors.html
index 259ffa5..cb6b969 100644
--- a/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html
+++ b/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: ATSC variants of MPEG-TS descriptors</title>
+<title>ATSC variants of MPEG-TS descriptors: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -54,6 +54,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.other_details"></a><h2>Types and Values</h2>
@@ -183,7 +184,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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
index 6318b70..c3a7fbd 100644
--- 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
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: ATSC variants of MPEG-TS sections</title>
+<title>ATSC variants of MPEG-TS sections: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -189,7 +189,6 @@
 <a name="id-1.2.5.6.7.2.6"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
 happened.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -218,7 +217,6 @@
 <a name="id-1.2.5.6.7.3.6"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
 happened.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -247,7 +245,6 @@
 <a name="id-1.2.5.6.7.4.6"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
 happened.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -283,7 +280,6 @@
 <a name="id-1.2.5.6.7.6.6"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
 happened.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -312,7 +308,6 @@
 <a name="id-1.2.5.6.7.7.6"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
 happened.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -341,7 +336,6 @@
 <a name="id-1.2.5.6.7.8.6"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
 happened.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -776,8 +770,8 @@
 </tr>
 <tr>
 <td class="struct_member_name"><p><a href="https://developer.gnome.org/glib/unstable/glib-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>(element-type GstMpegtsAtscStringSegment)</p></td>
-<td class="struct_member_annotations"> </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>
@@ -996,7 +990,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</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
index 0b230a0..3e1d349 100644
--- 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
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Base MPEG-TS descriptors</title>
+<title>Base MPEG-TS descriptors: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -297,7 +297,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.5.9.4.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -375,7 +374,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.5.9.6.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if parsing succeeded, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -426,7 +424,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.5.9.7.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if parsing succeeded, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -454,7 +451,6 @@
 <a name="id-1.2.5.5.9.8.5"></a><h4>Returns</h4>
 <p> The number of languages in <em class="parameter"><code>descriptor</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -498,7 +494,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.5.9.10.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if parsing succeeded, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -938,7 +933,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</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
index 7c2c876..aee2518 100644
--- 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
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Base MPEG-TS sections</title>
+<title>Base MPEG-TS sections: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -353,7 +353,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.4.9.5.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event is sent</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -604,7 +603,6 @@
 <a name="id-1.2.5.4.9.15.6"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
 happened.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1472,7 +1470,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</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
index 2eb335c..37680ca 100644
--- 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
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: DVB variants of MPEG-TS descriptors</title>
+<title>DVB variants of MPEG-TS descriptors: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -577,7 +577,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.2.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -621,7 +620,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.4.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if parsing succeeded, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -665,7 +663,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.6.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if parsing succeeded, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -702,7 +699,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.7.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if parsing succeeded, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -739,7 +735,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.8.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if parsing succeeded, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -776,7 +771,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.9.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -820,7 +814,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.11.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -869,7 +862,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.12.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if parsing succeeded, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -906,7 +898,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.13.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -986,7 +977,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.15.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if parsing succeeded, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1092,7 +1082,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.17.6"></a><h4>Returns</h4>
 <p> FALSE on out-of-bounds and errors</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1121,7 +1110,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.18.6"></a><h4>Returns</h4>
 <p> Number of teletext entries</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1184,7 +1172,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.19.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if parsing succeeded, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1212,7 +1199,6 @@
 <a name="id-1.2.5.9.8.20.5"></a><h4>Returns</h4>
 <p> The number of entries in <em class="parameter"><code>descriptor</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1288,7 +1274,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.23.5"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error happened</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1315,7 +1300,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.24.5"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error happened</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1379,7 +1363,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.26.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if parsing succeeded, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1429,7 +1412,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.27.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1473,7 +1455,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.28.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1517,7 +1498,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.30.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1558,7 +1538,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.31.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1607,7 +1586,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.32.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1644,7 +1622,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.33.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1681,7 +1658,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.34.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happended correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1720,7 +1696,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.35.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1757,7 +1732,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.36.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1794,7 +1768,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.37.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1824,7 +1797,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.38.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if parsing succeeded, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1862,7 +1834,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.39.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1900,7 +1871,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.40.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1938,7 +1908,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.41.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1982,7 +1951,6 @@
 <div class="refsect3">
 <a name="id-1.2.5.9.8.42.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parsing happened correctly, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -4060,7 +4028,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</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
index 03f2d11..921fc53 100644
--- 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
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: DVB variants of MPEG-TS sections</title>
+<title>DVB variants of MPEG-TS sections: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -230,7 +230,6 @@
 <a name="id-1.2.5.7.8.2.6"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
 happened.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -312,7 +311,6 @@
 <a name="id-1.2.5.7.8.6.6"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
 happened.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -341,7 +339,6 @@
 <a name="id-1.2.5.7.8.7.6"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
 happened.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -423,7 +420,6 @@
 <a name="id-1.2.5.7.8.11.6"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
 happened.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -451,7 +447,6 @@
 <a name="id-1.2.5.7.8.12.6"></a><h4>Returns</h4>
 <p> The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstDateTime.html"><span class="type">GstDateTime</span></a> contained in the section, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 if an error happened. Release with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstDateTime.html#gst-date-time-unref"><span class="type">gst_date_time_unref</span></a> when done.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -480,7 +475,6 @@
 <a name="id-1.2.5.7.8.13.6"></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="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
 happened.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -1132,7 +1126,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</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 d3de038..769873b 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstAggregator.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstAggregator.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstAggregator</title>
+<title>GstAggregator: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="base.html" title="GStreamer Base classes from gst-plugins-bad">
 <link rel="prev" href="base.html" title="GStreamer Base classes from gst-plugins-bad">
 <link rel="next" href="gst-plugins-bad-libs-GstAggregatorPad.html" title="GstAggregatorPad">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -264,7 +264,6 @@
 <div class="refsect3">
 <a name="id-1.2.7.2.6.5.7"></a><h4>Returns</h4>
 <p> The latency or <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-TIME-NONE:CAPS"><code class="literal">GST_CLOCK_TIME_NONE</code></a> if the element does not sync</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -482,7 +481,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstAggregatorPad.html b/docs/libs/html/gst-plugins-bad-libs-GstAggregatorPad.html
index 9c7335d..c51a323 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstAggregatorPad.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstAggregatorPad.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstAggregatorPad</title>
+<title>GstAggregatorPad: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="base.html" title="GStreamer Base classes from gst-plugins-bad">
 <link rel="prev" href="gst-plugins-bad-libs-GstAggregator.html" title="GstAggregator">
 <link rel="next" href="video.html" title="Video helpers and baseclasses">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -182,7 +182,6 @@
 <a name="id-1.2.7.3.6.4.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -280,7 +279,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstEGLImageMemory.html b/docs/libs/html/gst-plugins-bad-libs-GstEGLImageMemory.html
index 0e7507b..24f8f03 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstEGLImageMemory.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstEGLImageMemory.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstEGLImageMemory</title>
+<title>GstEGLImageMemory: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="GstGLDownload.html" title="GstGLDownload">
 <link rel="next" href="GstGLBaseFilter.html" title="GstGLBaseFilter">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -183,7 +183,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html b/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html
index 8fc8a98..b4ec49a 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLAPI</title>
+<title>GstGLAPI: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="gl.html" title="OpenGL Helper Library">
 <link rel="next" href="GstGLBufferPool.html" title="GstGLBufferPool">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -145,7 +145,6 @@
 <a name="id-1.2.9.2.6.2.5"></a><h4>Returns</h4>
 <p> A space seperated string of the OpenGL api's enabled in <em class="parameter"><code>api</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -172,7 +171,6 @@
 <a name="id-1.2.9.2.6.3.5"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -199,7 +197,6 @@
 <a name="id-1.2.9.2.6.4.5"></a><h4>Returns</h4>
 <p> A space seperated string of the OpenGL platforms enabled in <em class="parameter"><code>api</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -226,7 +223,6 @@
 <a name="id-1.2.9.2.6.5.5"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -327,6 +323,11 @@
 <td> </td>
 </tr>
 <tr>
+<td class="enum_member_name"><p><a name="GST-GL-PLATFORM-GPU-PROCESS:CAPS"></a>GST_GL_PLATFORM_GPU_PROCESS</p></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> </td>
 <td> </td>
@@ -362,7 +363,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLContextCocoa.html b/docs/libs/html/gst-plugins-bad-libs-GstGLContextCocoa.html
index 47a8ca4..f94c47c 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLContextCocoa.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLContextCocoa.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLContextCocoa</title>
+<title>GstGLContextCocoa: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="GstGLContext.html" title="GstGLContext">
 <link rel="next" href="gst-plugins-bad-libs-GstGLContextEGL.html" title="GstGLContextEGL">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -114,7 +114,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLContextEGL.html b/docs/libs/html/gst-plugins-bad-libs-GstGLContextEGL.html
index 88694b7..f3d7847 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLContextEGL.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLContextEGL.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLContextEGL</title>
+<title>GstGLContextEGL: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstGLContextCocoa.html" title="GstGLContextCocoa">
 <link rel="next" href="gst-plugins-bad-libs-GstGLContextEagl.html" title="GstGLContextEagl">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -130,7 +130,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLContextEagl.html b/docs/libs/html/gst-plugins-bad-libs-GstGLContextEagl.html
index e137dce..387c870 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLContextEagl.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLContextEagl.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLContextEagl</title>
+<title>GstGLContextEagl: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstGLContextEGL.html" title="GstGLContextEGL">
 <link rel="next" href="gst-plugins-bad-libs-GstGLContextGLX.html" title="GstGLContextGLX">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -100,7 +100,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLContextGLX.html b/docs/libs/html/gst-plugins-bad-libs-GstGLContextGLX.html
index 6cf6f22..89021c4 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLContextGLX.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLContextGLX.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLContextGLX</title>
+<title>GstGLContextGLX: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstGLContextEagl.html" title="GstGLContextEagl">
 <link rel="next" href="gst-plugins-bad-libs-GstGLContextWGL.html" title="GstGLContextWGL">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -115,7 +115,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLContextWGL.html b/docs/libs/html/gst-plugins-bad-libs-GstGLContextWGL.html
index 5613681..8cc0345 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLContextWGL.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLContextWGL.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLContextWGL</title>
+<title>GstGLContextWGL: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstGLContextGLX.html" title="GstGLContextGLX">
 <link rel="next" href="GstGLDisplay.html" title="GstGLDisplay">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -115,7 +115,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLSyncMeta.html b/docs/libs/html/gst-plugins-bad-libs-GstGLSyncMeta.html
index 0ab2d43..ebe4c7c 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLSyncMeta.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLSyncMeta.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLSyncMeta</title>
+<title>GstGLSyncMeta: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-gstglshader.html" title="GstGLShader">
 <link rel="next" href="GstGLUpload.html" title="GstGLUpload">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -167,7 +167,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowAndroid.html b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowAndroid.html
index 635e171..d779895 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowAndroid.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowAndroid.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLWindowAndroid</title>
+<title>GstGLWindowAndroid: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="GstGLWindow.html" title="GstGLWindow">
 <link rel="next" href="gst-plugins-bad-libs-GstGLWindowCocoa.html" title="GstGLWindowCocoa">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -96,7 +96,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowCocoa.html b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowCocoa.html
index 62ff5ef..c31c637 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowCocoa.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowCocoa.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLWindowCocoa</title>
+<title>GstGLWindowCocoa: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstGLWindowAndroid.html" title="GstGLWindowAndroid">
 <link rel="next" href="gst-plugins-bad-libs-GstGLWindowDispmanx.html" title="GstGLWindowDispmanx">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -112,7 +112,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowDispmanx.html b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowDispmanx.html
index 64f9563..23fb35b 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowDispmanx.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowDispmanx.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLWindowDispmanx</title>
+<title>GstGLWindowDispmanx: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstGLWindowCocoa.html" title="GstGLWindowCocoa">
 <link rel="next" href="gst-plugins-bad-libs-GstGLWindowWayland.html" title="GstGLWindowWayland">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -96,7 +96,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWayland.html b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWayland.html
index 816f163..ad6e12e 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWayland.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWayland.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLWindowWayland</title>
+<title>GstGLWindowWayland: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstGLWindowDispmanx.html" title="GstGLWindowDispmanx">
 <link rel="next" href="gst-plugins-bad-libs-GstGLWindowWin32.html" title="GstGLWindowWin32">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -96,7 +96,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWin32.html b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWin32.html
index c5f3159..0716184 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWin32.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWin32.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLWindowWin32</title>
+<title>GstGLWindowWin32: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstGLWindowWayland.html" title="GstGLWindowWayland">
 <link rel="next" href="gst-plugins-bad-libs-GstGLWindowX11.html" title="GstGLWindowX11">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -113,7 +113,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowX11.html b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowX11.html
index 970ea70..cc12f80 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowX11.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowX11.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLWindowX11</title>
+<title>GstGLWindowX11: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstGLWindowWin32.html" title="GstGLWindowWin32">
 <link rel="next" href="ch07.html" title="Interfaces">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -125,7 +125,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.29.6.5.5"></a><h4>Returns</h4>
 <p> the trapped error code, or 0 for success</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -149,7 +148,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstInsertbin.html b/docs/libs/html/gst-plugins-bad-libs-GstInsertbin.html
index cf2c31a..53be3b9 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstInsertbin.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstInsertbin.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstInsertbin</title>
+<title>GstInsertbin: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="tools.html" title="Useful elements">
 <link rel="prev" href="tools.html" title="Useful elements">
 <link rel="next" href="base.html" title="GStreamer Base classes from gst-plugins-bad">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -255,9 +255,8 @@
 <div class="refsect3">
 <a name="id-1.2.6.2.10.3.6"></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>
-<p></p>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -298,7 +297,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -339,7 +338,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -388,7 +387,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -437,7 +436,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -477,7 +476,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
@@ -777,7 +776,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstPhotography.html b/docs/libs/html/gst-plugins-bad-libs-GstPhotography.html
index 5dab020..1f00d2e 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstPhotography.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstPhotography.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstPhotography</title>
+<title>GstPhotography: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="ch07.html" title="Interfaces">
 <link rel="prev" href="ch07.html" title="Interfaces">
 <link rel="next" href="gstreamer-libs-hierarchy.html" title="Part II. Object Hierarchy">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -498,7 +498,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.3.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if getting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -533,7 +532,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.4.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if getting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -568,7 +566,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.5.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if getting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -603,7 +600,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.6.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if getting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -639,7 +635,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.7.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if getting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -674,7 +669,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.8.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if getting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -709,7 +703,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.9.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if getting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -744,7 +737,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.10.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if getting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -779,7 +771,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.11.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if getting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -814,7 +805,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.12.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if getting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -849,9 +839,8 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.13.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if getting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
-<p class="since">Since 0.10.21</p>
+<p class="since">Since: 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -885,7 +874,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.14.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if getting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -920,7 +908,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.15.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -955,7 +942,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.16.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -990,7 +976,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.17.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1025,7 +1010,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.18.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1061,7 +1045,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.19.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1096,7 +1079,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.20.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1131,7 +1113,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.21.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1166,7 +1147,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.22.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1201,7 +1181,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.23.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1236,7 +1215,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.24.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1271,9 +1249,8 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.25.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
-<p class="since">Since 0.10.21</p>
+<p class="since">Since: 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1308,7 +1285,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.26.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1336,7 +1312,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.27.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1387,7 +1362,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.28.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if preparations were started (caps were OK), otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1453,7 +1427,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.30.6"></a><h4>Returns</h4>
 <p> TRUE if configuration was set successfully, otherwise FALSE.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1488,7 +1461,6 @@
 <div class="refsect3">
 <a name="id-1.2.10.2.7.31.6"></a><h4>Returns</h4>
 <p> TRUE if configuration was got successfully, otherwise FALSE.</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -1557,7 +1529,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 0.10.21</p>
+<p class="since">Since: 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2424,7 +2396,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregator.html b/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregator.html
index e5b8610..79e1aae 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregator.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregator.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstVideoAggregator</title>
+<title>GstVideoAggregator: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="video.html" title="Video helpers and baseclasses">
 <link rel="prev" href="video.html" title="Video helpers and baseclasses">
 <link rel="next" href="gst-plugins-bad-libs-GstVideoAggregatorPad.html" title="GstVideoAggregatorPad">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -62,6 +62,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstVideoAggregator.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstVideoAggregator.other_details"></a><h2>Types and Values</h2>
@@ -114,6 +115,8 @@
                                                    GstCaps            *  downstream_caps,
                                                    GstVideoInfo       *  best_info,
                                                    gboolean           *  at_least_one_alpha);
+
+  gboolean           preserve_update_caps_result;
 };
 </pre>
 <div class="refsect3">
@@ -163,6 +166,13 @@
 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="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstVideoAggregatorClass.preserve-update-caps-result"></a>preserve_update_caps_result</code></em>;</p></td>
+<td class="struct_member_description"><p>Sub-classes should set this to true if the return result
+of the <code class="function">update_caps()</code> method should not be further modified
+by GstVideoAggregator by removing fields.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -170,7 +180,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregatorPad.html b/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregatorPad.html
index d30038b..cc0912b 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregatorPad.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregatorPad.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstVideoAggregatorPad</title>
+<title>GstVideoAggregatorPad: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="video.html" title="Video helpers and baseclasses">
 <link rel="prev" href="gst-plugins-bad-libs-GstVideoAggregator.html" title="GstVideoAggregator">
 <link rel="next" href="gl.html" title="OpenGL Helper Library">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -55,6 +55,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstVideoAggregatorPad.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstVideoAggregatorPad.other_details"></a><h2>Types and Values</h2>
@@ -158,7 +159,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</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-ISDB-variants-of-MPEG-TS-descriptors.html
index 77b4e3c..2e0bfae 100644
--- a/docs/libs/html/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html
+++ b/docs/libs/html/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: ISDB variants of MPEG-TS descriptors</title>
+<title>ISDB variants of MPEG-TS descriptors: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="next" href="tools.html" title="Useful elements">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -54,6 +54,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.other_details"></a><h2>Types and Values</h2>
@@ -238,7 +239,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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
index 05ccd7e..f96b8b9 100644
--- 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
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Mpeg-ts helper library</title>
+<title>Mpeg-ts helper library: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -71,7 +71,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-Utilities.html b/docs/libs/html/gst-plugins-bad-libs-Utilities.html
index 26957de..43d42fb 100644
--- a/docs/libs/html/gst-plugins-bad-libs-Utilities.html
+++ b/docs/libs/html/gst-plugins-bad-libs-Utilities.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Utilities</title>
+<title>Utilities: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="GstGLUploadMeta.html" title="GstGLUploadMeta">
 <link rel="next" href="GstGLWindow.html" title="GstGLWindow">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -516,7 +516,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstglmemory.html b/docs/libs/html/gst-plugins-bad-libs-gstglmemory.html
index 42e3417..b1a98d7 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstglmemory.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstglmemory.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLMemory</title>
+<title>GstGLMemory: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="GstGLFramebuffer.html" title="GstGLFramebuffer">
 <link rel="next" href="gst-plugins-bad-libs-gstglshader.html" title="GstGLShader">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -369,7 +369,6 @@
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMemory.html"><span class="type">GstMemory</span></a> object with a GL texture specified by <em class="parameter"><code>vinfo</code></em>
 from <em class="parameter"><code>context</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -444,7 +443,6 @@
 from <em class="parameter"><code>context</code></em>
 and contents specified by <em class="parameter"><code>data</code></em>
 </p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -510,7 +508,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.17.8.9.6"></a><h4>Returns</h4>
 <p> a newly allocated <a class="link" href="gst-plugins-bad-libs-gstglmemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -595,7 +592,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.17.8.10.8"></a><h4>Returns</h4>
 <p> Whether the copy suceeded</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -653,7 +649,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.17.8.11.6"></a><h4>Returns</h4>
 <p> whether the memory's were sucessfully added.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -711,7 +706,6 @@
 <div class="refsect3">
 <a name="id-1.2.9.17.8.12.6"></a><h4>Returns</h4>
 <p> whether the memory's were sucessfully created.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -746,7 +740,6 @@
 <a name="id-1.2.9.17.8.14.5"></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>
-<p></p>
 </div>
 </div>
 </div>
@@ -772,9 +765,9 @@
 <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-gstglmemory.html#GST-MAP-GL:CAPS" title="GST_MAP_GL"><span class="type">GST_MAP_GL</span></a> with <span class="type">GST_MAP_WRITE</span> has the same semantics as though
+<p>Combining <a class="link" href="gst-plugins-bad-libs-gstglmemory.html#GST-MAP-GL:CAPS" title="GST_MAP_GL"><span class="type">GST_MAP_GL</span></a> with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMemory.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-gstglmemory.html#GST-MAP-GL:CAPS" title="GST_MAP_GL"><span class="type">GST_MAP_GL</span></a> with
-<span class="type">GST_MAP_READ</span> has the same semantics as though you are reading from OpenGL.</p>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMemory.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">
@@ -902,7 +895,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstglshader.html b/docs/libs/html/gst-plugins-bad-libs-gstglshader.html
index dbfeb00..04283ef 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstglshader.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstglshader.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GstGLShader</title>
+<title>GstGLShader: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-gstglmemory.html" title="GstGLMemory">
 <link rel="next" href="gst-plugins-bad-libs-GstGLSyncMeta.html" title="GstGLSyncMeta">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -1000,7 +1000,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</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 3ada32e..99b23a4 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstmpegvideometa.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstmpegvideometa.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: gstmpegvideometa</title>
+<title>gstmpegvideometa: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="codecparsers.html" title="Bitstream parsing Library">
 <link rel="prev" href="gst-plugins-bad-libs-vc1parser.html" title="vc1parser">
 <link rel="next" href="mpegts.html" title="Mpeg TS helper library">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -139,7 +139,7 @@
 <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>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -235,12 +235,11 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-h264parser.html b/docs/libs/html/gst-plugins-bad-libs-h264parser.html
index df8900b..01ac204 100644
--- a/docs/libs/html/gst-plugins-bad-libs-h264parser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-h264parser.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: h264parser</title>
+<title>h264parser: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="codecparsers.html" title="Bitstream parsing Library">
 <link rel="prev" href="codecparsers.html" title="Bitstream parsing Library">
 <link rel="next" href="gst-plugins-bad-libs-mpegvideoparser.html" title="mpegvideoparser">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -440,7 +440,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.3.7.7.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -503,7 +502,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.3.7.8.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -541,7 +539,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.3.7.9.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -596,7 +593,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.3.7.10.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -645,7 +641,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.3.7.11.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -692,7 +687,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.3.7.12.7"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -735,7 +729,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.3.7.13.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -748,7 +741,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.3.7.14.5"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -814,7 +806,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.3.7.16.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -861,7 +852,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.3.7.17.7"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -886,7 +876,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -925,7 +915,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -964,7 +954,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1003,7 +993,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1042,7 +1032,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.4</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2584,7 +2574,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-mpeg4parser.html b/docs/libs/html/gst-plugins-bad-libs-mpeg4parser.html
index 8eea864..9be8d5d 100644
--- a/docs/libs/html/gst-plugins-bad-libs-mpeg4parser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-mpeg4parser.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: mpeg4parser</title>
+<title>mpeg4parser: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="codecparsers.html" title="Bitstream parsing Library">
 <link rel="prev" href="gst-plugins-bad-libs-mpegvideoparser.html" title="mpegvideoparser">
 <link rel="next" href="gst-plugins-bad-libs-vc1parser.html" title="vc1parser">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -262,7 +262,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.7.2.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -319,7 +318,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.7.3.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -364,7 +362,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.7.4.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -415,7 +412,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.7.5.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -467,7 +463,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.7.6.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -514,7 +509,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.5.7.7.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -1555,7 +1549,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html b/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html
index 068a2ef..3ca4119 100644
--- a/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: mpegvideoparser</title>
+<title>mpegvideoparser: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="codecparsers.html" title="Bitstream parsing Library">
 <link rel="prev" href="gst-plugins-bad-libs-h264parser.html" title="h264parser">
 <link rel="next" href="gst-plugins-bad-libs-mpeg4parser.html" title="mpeg4parser">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -254,7 +254,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.4.7.2.6"></a><h4>Returns</h4>
 <p> TRUE if a packet start code was found, otherwise FALSE.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -309,7 +308,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.4.7.3.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the seqhdr could be parsed correctly, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwize.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -364,7 +362,6 @@
 <a name="id-1.2.4.4.7.4.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the picture sequence could be parsed correctly, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
 otherwize.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -420,7 +417,6 @@
 <a name="id-1.2.4.4.7.5.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the picture extension could be parsed correctly,
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwize.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -474,7 +470,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.4.7.6.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the gop could be parsed correctly, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwize.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -530,7 +525,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.4.7.7.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the seqext could be parsed correctly, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwize.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -598,7 +592,6 @@
 <a name="id-1.2.4.4.7.9.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the quant matrix extension could be parsed correctly,
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwize.</p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -647,7 +640,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -686,7 +679,7 @@
 </tbody>
 </table></div>
 </div>
-<p class="since">Since 1.2</p>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
@@ -1470,7 +1463,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gst-plugins-bad-libs-vc1parser.html b/docs/libs/html/gst-plugins-bad-libs-vc1parser.html
index 5aa796e..cf26b63 100644
--- a/docs/libs/html/gst-plugins-bad-libs-vc1parser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-vc1parser.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: vc1parser</title>
+<title>vc1parser: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="codecparsers.html" title="Bitstream parsing Library">
 <link rel="prev" href="gst-plugins-bad-libs-mpeg4parser.html" title="mpeg4parser">
 <link rel="next" href="gst-plugins-bad-libs-gstmpegvideometa.html" title="gstmpegvideometa">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -302,7 +302,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.6.7.2.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -346,7 +345,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.6.7.3.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -390,7 +388,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.6.7.4.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -435,7 +432,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.6.7.5.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -480,7 +476,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.6.7.6.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -525,7 +520,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.6.7.7.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -575,7 +569,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.6.7.8.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -631,7 +624,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.6.7.9.6"></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>
-<p></p>
 </div>
 </div>
 <hr>
@@ -644,7 +636,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.6.7.10.5"></a><h4>Returns</h4>
 <p> a new <span class="type">GstVC1BitPlanes</span></p>
-<p></p>
 </div>
 </div>
 <hr>
@@ -697,7 +688,6 @@
 <div class="refsect3">
 <a name="id-1.2.4.6.7.13.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if everything went fine, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwize</p>
-<p></p>
 </div>
 </div>
 </div>
@@ -1853,7 +1843,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-hierarchy.html b/docs/libs/html/gstreamer-libs-hierarchy.html
index 0e9498e..d6e2bce 100644
--- a/docs/libs/html/gstreamer-libs-hierarchy.html
+++ b/docs/libs/html/gstreamer-libs-hierarchy.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Part II. Object Hierarchy</title>
+<title>Part II. Object Hierarchy: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="gst-plugins-bad-libs-GstPhotography.html" title="GstPhotography">
 <link rel="next" href="api-index-full.html" title="Index">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -64,7 +64,6 @@
 </pre>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/gstreamer-plugins-bad.html b/docs/libs/html/gstreamer-plugins-bad.html
index 8478a20..00206a2 100644
--- a/docs/libs/html/gstreamer-plugins-bad.html
+++ b/docs/libs/html/gstreamer-plugins-bad.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Part I. GStreamer Bad Plugins Libraries</title>
+<title>Part I. GStreamer Bad Plugins Libraries: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="next" href="compiling.html" title="Compiling">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -81,7 +81,7 @@
 </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"> — A <span class="type">GstBin</span> to insertally link filter-like elements.</span>
 </dt></dl></dd>
 <dt><span class="chapter"><a href="base.html">GStreamer Base classes from gst-plugins-bad</a></span></dt>
 <dd><dl>
@@ -108,7 +108,7 @@
 <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="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"> — buffer pool for <span class="type">GstGLMemory</span> objects</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"> — an object that converts between color spaces/formats</span>
@@ -162,7 +162,7 @@
 <span class="refentrytitle"><a href="GstGLUpload.html">GstGLUpload</a></span><span class="refpurpose"> — an object that uploads to GL textures</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLUploadMeta.html">GstGLUploadMeta</a></span><span class="refpurpose">an object that provides <span class="type">GstVideoGLTextureUploadMeta</span></span>
+<span class="refentrytitle"><a href="GstGLUploadMeta.html">GstGLUploadMeta</a></span><span class="refpurpose"> — an object that provides <span class="type">GstVideoGLTextureUploadMeta</span></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-Utilities.html">Utilities</a></span><span class="refpurpose"></span>
@@ -201,7 +201,6 @@
     </p>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index 568131e..2b48828 100644
--- a/docs/libs/html/index.html
+++ b/docs/libs/html/index.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="next" href="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -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.5.0.1)
+      for GStreamer Bad Library 1.0 (1.5.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>
@@ -80,7 +80,7 @@
 </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"> — A <span class="type">GstBin</span> to insertally link filter-like elements.</span>
 </dt></dl></dd>
 <dt><span class="chapter"><a href="base.html">GStreamer Base classes from gst-plugins-bad</a></span></dt>
 <dd><dl>
@@ -107,7 +107,7 @@
 <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="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"> — buffer pool for <span class="type">GstGLMemory</span> objects</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"> — an object that converts between color spaces/formats</span>
@@ -161,7 +161,7 @@
 <span class="refentrytitle"><a href="GstGLUpload.html">GstGLUpload</a></span><span class="refpurpose"> — an object that uploads to GL textures</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLUploadMeta.html">GstGLUploadMeta</a></span><span class="refpurpose">an object that provides <span class="type">GstVideoGLTextureUploadMeta</span></span>
+<span class="refentrytitle"><a href="GstGLUploadMeta.html">GstGLUploadMeta</a></span><span class="refpurpose"> — an object that provides <span class="type">GstVideoGLTextureUploadMeta</span></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-Utilities.html">Utilities</a></span><span class="refpurpose"></span>
@@ -200,7 +200,6 @@
 </dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/index.sgml b/docs/libs/html/index.sgml
index 53e6bf4..f9e5a74 100644
--- a/docs/libs/html/index.sgml
+++ b/docs/libs/html/index.sgml
@@ -32,10 +32,58 @@
 <ANCHOR id="GST-H264-MAX-SPS-COUNT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-MAX-SPS-COUNT:CAPS">
 <ANCHOR id="GST-H264-MAX-PPS-COUNT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-MAX-PPS-COUNT:CAPS">
 <ANCHOR id="GstH264NalUnitType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GstH264NalUnitType">
+<ANCHOR id="GST-H264-NAL-UNKNOWN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-UNKNOWN:CAPS">
+<ANCHOR id="GST-H264-NAL-SLICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE:CAPS">
+<ANCHOR id="GST-H264-NAL-SLICE-DPA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE-DPA:CAPS">
+<ANCHOR id="GST-H264-NAL-SLICE-DPB:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE-DPB:CAPS">
+<ANCHOR id="GST-H264-NAL-SLICE-DPC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE-DPC:CAPS">
+<ANCHOR id="GST-H264-NAL-SLICE-IDR:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE-IDR:CAPS">
+<ANCHOR id="GST-H264-NAL-SEI:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SEI:CAPS">
+<ANCHOR id="GST-H264-NAL-SPS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SPS:CAPS">
+<ANCHOR id="GST-H264-NAL-PPS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-PPS:CAPS">
+<ANCHOR id="GST-H264-NAL-AU-DELIMITER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-AU-DELIMITER:CAPS">
+<ANCHOR id="GST-H264-NAL-SEQ-END:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SEQ-END:CAPS">
+<ANCHOR id="GST-H264-NAL-STREAM-END:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-STREAM-END:CAPS">
+<ANCHOR id="GST-H264-NAL-FILLER-DATA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-FILLER-DATA:CAPS">
+<ANCHOR id="GST-H264-NAL-SPS-EXT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SPS-EXT:CAPS">
+<ANCHOR id="GST-H264-NAL-PREFIX-UNIT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-PREFIX-UNIT:CAPS">
+<ANCHOR id="GST-H264-NAL-SUBSET-SPS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SUBSET-SPS:CAPS">
+<ANCHOR id="GST-H264-NAL-SLICE-AUX:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE-AUX:CAPS">
+<ANCHOR id="GST-H264-NAL-SLICE-EXT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE-EXT:CAPS">
 <ANCHOR id="GstH264ParserResult" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GstH264ParserResult">
+<ANCHOR id="GST-H264-PARSER-OK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-PARSER-OK:CAPS">
+<ANCHOR id="GST-H264-PARSER-BROKEN-DATA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-PARSER-BROKEN-DATA:CAPS">
+<ANCHOR id="GST-H264-PARSER-BROKEN-LINK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-PARSER-BROKEN-LINK:CAPS">
+<ANCHOR id="GST-H264-PARSER-ERROR:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-PARSER-ERROR:CAPS">
+<ANCHOR id="GST-H264-PARSER-NO-NAL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-PARSER-NO-NAL:CAPS">
+<ANCHOR id="GST-H264-PARSER-NO-NAL-END:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-PARSER-NO-NAL-END:CAPS">
 <ANCHOR id="GstH264SEIPayloadType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GstH264SEIPayloadType">
+<ANCHOR id="GST-H264-SEI-BUF-PERIOD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-BUF-PERIOD:CAPS">
+<ANCHOR id="GST-H264-SEI-PIC-TIMING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-TIMING:CAPS">
+<ANCHOR id="GST-H264-SEI-RECOVERY-POINT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-RECOVERY-POINT:CAPS">
+<ANCHOR id="GST-H264-SEI-STEREO-VIDEO-INFO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-STEREO-VIDEO-INFO:CAPS">
+<ANCHOR id="GST-H264-SEI-FRAME-PACKING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-FRAME-PACKING:CAPS">
 <ANCHOR id="GstH264SEIPicStructType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GstH264SEIPicStructType">
+<ANCHOR id="GST-H264-SEI-PIC-STRUCT-FRAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-FRAME:CAPS">
+<ANCHOR id="GST-H264-SEI-PIC-STRUCT-TOP-FIELD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-TOP-FIELD:CAPS">
+<ANCHOR id="GST-H264-SEI-PIC-STRUCT-BOTTOM-FIELD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-BOTTOM-FIELD:CAPS">
+<ANCHOR id="GST-H264-SEI-PIC-STRUCT-TOP-BOTTOM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-TOP-BOTTOM:CAPS">
+<ANCHOR id="GST-H264-SEI-PIC-STRUCT-BOTTOM-TOP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-BOTTOM-TOP:CAPS">
+<ANCHOR id="GST-H264-SEI-PIC-STRUCT-TOP-BOTTOM-TOP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-TOP-BOTTOM-TOP:CAPS">
+<ANCHOR id="GST-H264-SEI-PIC-STRUCT-BOTTOM-TOP-BOTTOM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-BOTTOM-TOP-BOTTOM:CAPS">
+<ANCHOR id="GST-H264-SEI-PIC-STRUCT-FRAME-DOUBLING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-FRAME-DOUBLING:CAPS">
+<ANCHOR id="GST-H264-SEI-PIC-STRUCT-FRAME-TRIPLING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SEI-PIC-STRUCT-FRAME-TRIPLING:CAPS">
 <ANCHOR id="GstH264SliceType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GstH264SliceType">
+<ANCHOR id="GST-H264-P-SLICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-P-SLICE:CAPS">
+<ANCHOR id="GST-H264-B-SLICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-B-SLICE:CAPS">
+<ANCHOR id="GST-H264-I-SLICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-I-SLICE:CAPS">
+<ANCHOR id="GST-H264-SP-SLICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SP-SLICE:CAPS">
+<ANCHOR id="GST-H264-SI-SLICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-SI-SLICE:CAPS">
+<ANCHOR id="GST-H264-S-P-SLICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-S-P-SLICE:CAPS">
+<ANCHOR id="GST-H264-S-B-SLICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-S-B-SLICE:CAPS">
+<ANCHOR id="GST-H264-S-I-SLICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-S-I-SLICE:CAPS">
+<ANCHOR id="GST-H264-S-SP-SLICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-S-SP-SLICE:CAPS">
+<ANCHOR id="GST-H264-S-SI-SLICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GST-H264-S-SI-SLICE:CAPS">
 <ANCHOR id="GstH264NalParser" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GstH264NalParser">
 <ANCHOR id="GstH264NalUnit" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GstH264NalUnit">
 <ANCHOR id="GstH264SPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-h264parser.html#GstH264SPS">
@@ -69,11 +117,42 @@
 <ANCHOR id="gst-mpeg-video-quant-matrix-get-zigzag-from-raster" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-quant-matrix-get-zigzag-from-raster">
 <ANCHOR id="gst-plugins-bad-libs-mpegvideoparser.other_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#gst-plugins-bad-libs-mpegvideoparser.other_details">
 <ANCHOR id="GstMpegVideoPacketTypeCode" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPacketTypeCode">
+<ANCHOR id="GST-MPEG-VIDEO-PACKET-PICTURE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-PICTURE:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PACKET-SLICE-MIN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-SLICE-MIN:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PACKET-SLICE-MAX:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-SLICE-MAX:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PACKET-USER-DATA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-USER-DATA:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PACKET-SEQUENCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-SEQUENCE:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PACKET-EXTENSION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-EXTENSION:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PACKET-SEQUENCE-END:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-SEQUENCE-END:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PACKET-GOP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-GOP:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PACKET-NONE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-NONE:CAPS">
 <ANCHOR id="GstMpegVideoPacketExtensionCode" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPacketExtensionCode">
+<ANCHOR id="GST-MPEG-VIDEO-PACKET-EXT-SEQUENCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-EXT-SEQUENCE:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PACKET-EXT-SEQUENCE-DISPLAY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-EXT-SEQUENCE-DISPLAY:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PACKET-EXT-QUANT-MATRIX:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-EXT-QUANT-MATRIX:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PACKET-EXT-SEQUENCE-SCALABLE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-EXT-SEQUENCE-SCALABLE:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PACKET-EXT-PICTURE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PACKET-EXT-PICTURE:CAPS">
 <ANCHOR id="GstMpegVideoLevel" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoLevel">
+<ANCHOR id="GST-MPEG-VIDEO-LEVEL-HIGH:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-LEVEL-HIGH:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-LEVEL-HIGH-1440:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-LEVEL-HIGH-1440:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-LEVEL-MAIN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-LEVEL-MAIN:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-LEVEL-LOW:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-LEVEL-LOW:CAPS">
 <ANCHOR id="GstMpegVideoProfile" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoProfile">
+<ANCHOR id="GST-MPEG-VIDEO-PROFILE-422:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PROFILE-422:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PROFILE-HIGH:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PROFILE-HIGH:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PROFILE-SPATIALLY-SCALABLE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PROFILE-SPATIALLY-SCALABLE:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PROFILE-SNR-SCALABLE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PROFILE-SNR-SCALABLE:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PROFILE-MAIN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PROFILE-MAIN:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PROFILE-SIMPLE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PROFILE-SIMPLE:CAPS">
 <ANCHOR id="GstMpegVideoPictureType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureType">
+<ANCHOR id="GST-MPEG-VIDEO-PICTURE-TYPE-I:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PICTURE-TYPE-I:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PICTURE-TYPE-P:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PICTURE-TYPE-P:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PICTURE-TYPE-B:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PICTURE-TYPE-B:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PICTURE-TYPE-D:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PICTURE-TYPE-D:CAPS">
 <ANCHOR id="GstMpegVideoPictureStructure" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureStructure">
+<ANCHOR id="GST-MPEG-VIDEO-PICTURE-STRUCTURE-TOP-FIELD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PICTURE-STRUCTURE-TOP-FIELD:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PICTURE-STRUCTURE-BOTTOM-FIELD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PICTURE-STRUCTURE-BOTTOM-FIELD:CAPS">
+<ANCHOR id="GST-MPEG-VIDEO-PICTURE-STRUCTURE-FRAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GST-MPEG-VIDEO-PICTURE-STRUCTURE-FRAME:CAPS">
 <ANCHOR id="GstMpegVideoSequenceHdr" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr">
 <ANCHOR id="GstMpegVideoSequenceExt" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt">
 <ANCHOR id="GstMpegVideoPictureHdr" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureHdr">
@@ -95,15 +174,95 @@
 <ANCHOR id="gst-mpeg4-parse-video-packet-header" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#gst-mpeg4-parse-video-packet-header">
 <ANCHOR id="gst-plugins-bad-libs-mpeg4parser.other_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#gst-plugins-bad-libs-mpeg4parser.other_details">
 <ANCHOR id="GstMpeg4StartCode" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4StartCode">
+<ANCHOR id="GST-MPEG4-VIDEO-OBJ-FIRST:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VIDEO-OBJ-FIRST:CAPS">
+<ANCHOR id="GST-MPEG4-VIDEO-OBJ-LAST:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VIDEO-OBJ-LAST:CAPS">
+<ANCHOR id="GST-MPEG4-VIDEO-LAYER-FIRST:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VIDEO-LAYER-FIRST:CAPS">
+<ANCHOR id="GST-MPEG4-VIDEO-LAYER-LAST:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VIDEO-LAYER-LAST:CAPS">
+<ANCHOR id="GST-MPEG4-VISUAL-OBJ-SEQ-START:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VISUAL-OBJ-SEQ-START:CAPS">
+<ANCHOR id="GST-MPEG4-VISUAL-OBJ-SEQ-END:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VISUAL-OBJ-SEQ-END:CAPS">
+<ANCHOR id="GST-MPEG4-USER-DATA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-USER-DATA:CAPS">
+<ANCHOR id="GST-MPEG4-GROUP-OF-VOP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-GROUP-OF-VOP:CAPS">
+<ANCHOR id="GST-MPEG4-VIDEO-SESSION-ERR:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VIDEO-SESSION-ERR:CAPS">
+<ANCHOR id="GST-MPEG4-VISUAL-OBJ:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VISUAL-OBJ:CAPS">
+<ANCHOR id="GST-MPEG4-VIDEO-OBJ-PLANE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VIDEO-OBJ-PLANE:CAPS">
+<ANCHOR id="GST-MPEG4-FBA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-FBA:CAPS">
+<ANCHOR id="GST-MPEG4-FBA-PLAN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-FBA-PLAN:CAPS">
+<ANCHOR id="GST-MPEG4-MESH:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-MESH:CAPS">
+<ANCHOR id="GST-MPEG4-MESH-PLAN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-MESH-PLAN:CAPS">
+<ANCHOR id="GST-MPEG4-STILL-TEXTURE-OBJ:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-STILL-TEXTURE-OBJ:CAPS">
+<ANCHOR id="GST-MPEG4-TEXTURE-SPATIAL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-TEXTURE-SPATIAL:CAPS">
+<ANCHOR id="GST-MPEG4-TEXTURE-SNR-LAYER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-TEXTURE-SNR-LAYER:CAPS">
+<ANCHOR id="GST-MPEG4-TEXTURE-TILE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-TEXTURE-TILE:CAPS">
+<ANCHOR id="GST-MPEG4-SHAPE-LAYER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-SHAPE-LAYER:CAPS">
+<ANCHOR id="GST-MPEG4-STUFFING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-STUFFING:CAPS">
+<ANCHOR id="GST-MPEG4-SYSTEM-FIRST:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-SYSTEM-FIRST:CAPS">
+<ANCHOR id="GST-MPEG4-SYSTEM-LAST:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-SYSTEM-LAST:CAPS">
+<ANCHOR id="GST-MPEG4-RESYNC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-RESYNC:CAPS">
 <ANCHOR id="GstMpeg4VisualObjectType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VisualObjectType">
+<ANCHOR id="GST-MPEG4-VIDEO-ID:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-VIDEO-ID:CAPS">
+<ANCHOR id="GST-MPEG4-STILL-TEXTURE-ID:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-STILL-TEXTURE-ID:CAPS">
+<ANCHOR id="GST-MPEG4-STILL-MESH-ID:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-STILL-MESH-ID:CAPS">
+<ANCHOR id="GST-MPEG4-STILL-FBA-ID:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-STILL-FBA-ID:CAPS">
+<ANCHOR id="GST-MPEG4-STILL-3D-MESH-ID:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-STILL-3D-MESH-ID:CAPS">
 <ANCHOR id="GstMpeg4AspectRatioInfo" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4AspectRatioInfo">
+<ANCHOR id="GST-MPEG4-SQUARE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-SQUARE:CAPS">
+<ANCHOR id="GST-MPEG4-625-TYPE-4-3:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-625-TYPE-4-3:CAPS">
+<ANCHOR id="GST-MPEG4-525-TYPE-4-3:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-525-TYPE-4-3:CAPS">
+<ANCHOR id="GST-MPEG4-625-TYPE-16-9:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-625-TYPE-16-9:CAPS">
+<ANCHOR id="GST-MPEG4-525-TYPE-16-9:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-525-TYPE-16-9:CAPS">
+<ANCHOR id="GST-MPEG4-EXTENDED-PAR:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-EXTENDED-PAR:CAPS">
 <ANCHOR id="GstMpeg4ParseResult" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4ParseResult">
+<ANCHOR id="GST-MPEG4-PARSER-OK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PARSER-OK:CAPS">
+<ANCHOR id="GST-MPEG4-PARSER-BROKEN-DATA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PARSER-BROKEN-DATA:CAPS">
+<ANCHOR id="GST-MPEG4-PARSER-NO-PACKET:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PARSER-NO-PACKET:CAPS">
+<ANCHOR id="GST-MPEG4-PARSER-NO-PACKET-END:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PARSER-NO-PACKET-END:CAPS">
+<ANCHOR id="GST-MPEG4-PARSER-ERROR:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PARSER-ERROR:CAPS">
 <ANCHOR id="GstMpeg4VideoObjectCodingType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoObjectCodingType">
+<ANCHOR id="GST-MPEG4-I-VOP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-I-VOP:CAPS">
+<ANCHOR id="GST-MPEG4-P-VOP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-P-VOP:CAPS">
+<ANCHOR id="GST-MPEG4-B-VOP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-B-VOP:CAPS">
+<ANCHOR id="GST-MPEG4-S-VOP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-S-VOP:CAPS">
 <ANCHOR id="GstMpeg4ChromaFormat" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4ChromaFormat">
+<ANCHOR id="GST-MPEG4-CHROMA-4-2-0:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-CHROMA-4-2-0:CAPS">
 <ANCHOR id="GstMpeg4VideoObjectLayerShape" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoObjectLayerShape">
+<ANCHOR id="GST-MPEG4-RECTANGULAR:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-RECTANGULAR:CAPS">
+<ANCHOR id="GST-MPEG4-BINARY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-BINARY:CAPS">
+<ANCHOR id="GST-MPEG4-BINARY-ONLY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-BINARY-ONLY:CAPS">
+<ANCHOR id="GST-MPEG4-GRAYSCALE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-GRAYSCALE:CAPS">
 <ANCHOR id="GstMpeg4SpriteEnable" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4SpriteEnable">
+<ANCHOR id="GST-MPEG4-SPRITE-UNUSED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-SPRITE-UNUSED:CAPS">
+<ANCHOR id="GST-MPEG4-SPRITE-STATIC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-SPRITE-STATIC:CAPS">
+<ANCHOR id="GST-MPEG4-SPRITE-GMG:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-SPRITE-GMG:CAPS">
 <ANCHOR id="GstMpeg4Profile" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4Profile">
+<ANCHOR id="GST-MPEG4-PROFILE-CORE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-CORE:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-MAIN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-MAIN:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-N-BIT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-N-BIT:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-SIMPLE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-SIMPLE:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-HYBRID:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-HYBRID:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-RESERVED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-RESERVED:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-SIMPLE-FBA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-SIMPLE-FBA:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-CORE-STUDIO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-CORE-STUDIO:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-SIMPLE-STUDIO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-SIMPLE-STUDIO:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-CORE-SCALABLE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-CORE-SCALABLE:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-ADVANCED-CORE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-ADVANCED-CORE:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-ADVANCED-SIMPLE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-ADVANCED-SIMPLE:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-SIMPLE-SCALABLE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-SIMPLE-SCALABLE:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-SCALABLE-TEXTURE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-SCALABLE-TEXTURE:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-SIMPLE-FACE-ANIMATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-SIMPLE-FACE-ANIMATION:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-BASIC-ANIMATED-TEXTURE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-BASIC-ANIMATED-TEXTURE:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-ADVANCED-REALTIME-SIMPLE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-ADVANCED-REALTIME-SIMPLE:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-ADVANCED-SCALABLE-TEXTURE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-ADVANCED-SCALABLE-TEXTURE:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-FINE-GRANULARITY-SCALABLE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-FINE-GRANULARITY-SCALABLE:CAPS">
+<ANCHOR id="GST-MPEG4-PROFILE-ADVANCED-CODING-EFFICIENCY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-PROFILE-ADVANCED-CODING-EFFICIENCY:CAPS">
 <ANCHOR id="GstMpeg4Level" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4Level">
+<ANCHOR id="GST-MPEG4-LEVEL0:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL0:CAPS">
+<ANCHOR id="GST-MPEG4-LEVEL1:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL1:CAPS">
+<ANCHOR id="GST-MPEG4-LEVEL2:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL2:CAPS">
+<ANCHOR id="GST-MPEG4-LEVEL3:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL3:CAPS">
+<ANCHOR id="GST-MPEG4-LEVEL3b" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL3b">
+<ANCHOR id="GST-MPEG4-LEVEL4:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL4:CAPS">
+<ANCHOR id="GST-MPEG4-LEVEL5:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL5:CAPS">
+<ANCHOR id="GST-MPEG4-LEVEL-RESERVED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GST-MPEG4-LEVEL-RESERVED:CAPS">
 <ANCHOR id="GstMpeg4VisualObjectSequence" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VisualObjectSequence">
 <ANCHOR id="GstMpeg4VisualObject" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VisualObject">
 <ANCHOR id="GstMpeg4VideoSignalType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoSignalType">
@@ -136,14 +295,64 @@
 <ANCHOR id="MAX-HRD-NUM-LEAKY-BUCKETS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#MAX-HRD-NUM-LEAKY-BUCKETS:CAPS">
 <ANCHOR id="GST-VC1-BFRACTION-BASIS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-BFRACTION-BASIS:CAPS">
 <ANCHOR id="GstVC1StartCode" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GstVC1StartCode">
+<ANCHOR id="GST-VC1-END-OF-SEQ:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-END-OF-SEQ:CAPS">
+<ANCHOR id="GST-VC1-SLICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-SLICE:CAPS">
+<ANCHOR id="GST-VC1-FIELD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-FIELD:CAPS">
+<ANCHOR id="GST-VC1-FRAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-FRAME:CAPS">
+<ANCHOR id="GST-VC1-ENTRYPOINT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-ENTRYPOINT:CAPS">
+<ANCHOR id="GST-VC1-SEQUENCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-SEQUENCE:CAPS">
+<ANCHOR id="GST-VC1-SLICE-USER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-SLICE-USER:CAPS">
+<ANCHOR id="GST-VC1-FIELD-USER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-FIELD-USER:CAPS">
+<ANCHOR id="GST-VC1-FRAME-USER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-FRAME-USER:CAPS">
+<ANCHOR id="GST-VC1-ENTRY-POINT-USER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-ENTRY-POINT-USER:CAPS">
+<ANCHOR id="GST-VC1-SEQUENCE-USER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-SEQUENCE-USER:CAPS">
 <ANCHOR id="GstVC1Profile" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GstVC1Profile">
+<ANCHOR id="GST-VC1-PROFILE-SIMPLE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-PROFILE-SIMPLE:CAPS">
+<ANCHOR id="GST-VC1-PROFILE-MAIN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-PROFILE-MAIN:CAPS">
+<ANCHOR id="GST-VC1-PROFILE-RESERVED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-PROFILE-RESERVED:CAPS">
+<ANCHOR id="GST-VC1-PROFILE-ADVANCED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-PROFILE-ADVANCED:CAPS">
 <ANCHOR id="GstVC1ParserResult" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GstVC1ParserResult">
+<ANCHOR id="GST-VC1-PARSER-OK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-PARSER-OK:CAPS">
+<ANCHOR id="GST-VC1-PARSER-BROKEN-DATA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-PARSER-BROKEN-DATA:CAPS">
+<ANCHOR id="GST-VC1-PARSER-NO-BDU:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-PARSER-NO-BDU:CAPS">
+<ANCHOR id="GST-VC1-PARSER-NO-BDU-END:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-PARSER-NO-BDU-END:CAPS">
+<ANCHOR id="GST-VC1-PARSER-ERROR:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-PARSER-ERROR:CAPS">
 <ANCHOR id="GstVC1PictureType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GstVC1PictureType">
+<ANCHOR id="GST-VC1-PICTURE-TYPE-P:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-PICTURE-TYPE-P:CAPS">
+<ANCHOR id="GST-VC1-PICTURE-TYPE-B:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-PICTURE-TYPE-B:CAPS">
+<ANCHOR id="GST-VC1-PICTURE-TYPE-I:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-PICTURE-TYPE-I:CAPS">
+<ANCHOR id="GST-VC1-PICTURE-TYPE-BI:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-PICTURE-TYPE-BI:CAPS">
+<ANCHOR id="GST-VC1-PICTURE-TYPE-SKIPPED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-PICTURE-TYPE-SKIPPED:CAPS">
 <ANCHOR id="GstVC1Level" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GstVC1Level">
+<ANCHOR id="GST-VC1-LEVEL-LOW:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-LOW:CAPS">
+<ANCHOR id="GST-VC1-LEVEL-MEDIUM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-MEDIUM:CAPS">
+<ANCHOR id="GST-VC1-LEVEL-HIGH:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-HIGH:CAPS">
+<ANCHOR id="GST-VC1-LEVEL-L0:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-L0:CAPS">
+<ANCHOR id="GST-VC1-LEVEL-L1:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-L1:CAPS">
+<ANCHOR id="GST-VC1-LEVEL-L2:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-L2:CAPS">
+<ANCHOR id="GST-VC1-LEVEL-L3:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-L3:CAPS">
+<ANCHOR id="GST-VC1-LEVEL-L4:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-L4:CAPS">
+<ANCHOR id="GST-VC1-LEVEL-UNKNOWN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-LEVEL-UNKNOWN:CAPS">
 <ANCHOR id="GstVC1QuantizerSpec" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GstVC1QuantizerSpec">
+<ANCHOR id="GST-VC1-QUANTIZER-IMPLICITLY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-QUANTIZER-IMPLICITLY:CAPS">
+<ANCHOR id="GST-VC1-QUANTIZER-EXPLICITLY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-QUANTIZER-EXPLICITLY:CAPS">
+<ANCHOR id="GST-VC1-QUANTIZER-NON-UNIFORM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-QUANTIZER-NON-UNIFORM:CAPS">
+<ANCHOR id="GST-VC1-QUANTIZER-UNIFORM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-QUANTIZER-UNIFORM:CAPS">
 <ANCHOR id="GstVC1DQProfile" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GstVC1DQProfile">
+<ANCHOR id="GST-VC1-DQPROFILE-FOUR-EDGES:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-DQPROFILE-FOUR-EDGES:CAPS">
+<ANCHOR id="GST-VC1-DQPROFILE-DOUBLE-EDGES:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-DQPROFILE-DOUBLE-EDGES:CAPS">
+<ANCHOR id="GST-VC1-DQPROFILE-SINGLE-EDGE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-DQPROFILE-SINGLE-EDGE:CAPS">
+<ANCHOR id="GST-VC1-DQPROFILE-ALL-MBS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-DQPROFILE-ALL-MBS:CAPS">
 <ANCHOR id="GstVC1Condover" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GstVC1Condover">
+<ANCHOR id="GST-VC1-CONDOVER-NONE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-CONDOVER-NONE:CAPS">
+<ANCHOR id="GST-VC1-CONDOVER-ALL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-CONDOVER-ALL:CAPS">
+<ANCHOR id="GST-VC1-CONDOVER-SELECT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-CONDOVER-SELECT:CAPS">
 <ANCHOR id="GstVC1MvMode" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GstVC1MvMode">
+<ANCHOR id="GST-VC1-MVMODE-1MV-HPEL-BILINEAR:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-MVMODE-1MV-HPEL-BILINEAR:CAPS">
+<ANCHOR id="GST-VC1-MVMODE-1MV:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-MVMODE-1MV:CAPS">
+<ANCHOR id="GST-VC1-MVMODE-1MV-HPEL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-MVMODE-1MV-HPEL:CAPS">
+<ANCHOR id="GST-VC1-MVMODE-MIXED-MV:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-MVMODE-MIXED-MV:CAPS">
+<ANCHOR id="GST-VC1-MVMODE-INTENSITY-COMP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GST-VC1-MVMODE-INTENSITY-COMP:CAPS">
 <ANCHOR id="GstVC1SeqHdr" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GstVC1SeqHdr">
 <ANCHOR id="GstVC1AdvancedSeqHdr" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GstVC1AdvancedSeqHdr">
 <ANCHOR id="GstVC1SeqLayer" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-vc1parser.html#GstVC1SeqLayer">
@@ -208,11 +417,81 @@
 <ANCHOR id="gst-plugins-bad-libs-Base-MPEG-TS-sections.other_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-plugins-bad-libs-Base-MPEG-TS-sections.other_details">
 <ANCHOR id="GstMpegtsSection-struct" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection-struct">
 <ANCHOR id="GstMpegtsSectionTableID" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionTableID">
+<ANCHOR id="GST-MTS-TABLE-ID-PROGRAM-ASSOCIATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-PROGRAM-ASSOCIATION:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-CONDITIONAL-ACCESS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CONDITIONAL-ACCESS:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-TS-PROGRAM-MAP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TS-PROGRAM-MAP:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-TS-DESCRIPTION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TS-DESCRIPTION:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-14496-SCENE-DESCRIPTION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-14496-SCENE-DESCRIPTION:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-14496-OBJET-DESCRIPTOR:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-14496-OBJET-DESCRIPTOR:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-METADATA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-METADATA:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-IPMP-CONTROL-INFORMATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-IPMP-CONTROL-INFORMATION:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-DSM-CC-MULTIPROTO-ENCAPSULATED-DATA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-DSM-CC-MULTIPROTO-ENCAPSULATED-DATA:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-DSM-CC-U-N-MESSAGES:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-DSM-CC-U-N-MESSAGES:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-DSM-CC-DOWNLOAD-DATA-MESSAGES:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-DSM-CC-DOWNLOAD-DATA-MESSAGES:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-DSM-CC-STREAM-DESCRIPTORS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-DSM-CC-STREAM-DESCRIPTORS:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-DSM-CC-PRIVATE-DATA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-DSM-CC-PRIVATE-DATA:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-DSM-CC-ADDRESSABLE-SECTIONS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-DSM-CC-ADDRESSABLE-SECTIONS:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-UNSET:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-UNSET:CAPS">
 <ANCHOR id="GstMpegtsSectionType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionType">
+<ANCHOR id="GST-MPEGTS-SECTION-UNKNOWN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-UNKNOWN:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-PAT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-PAT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-PMT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-PMT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-CAT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-CAT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-TSDT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-TSDT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-EIT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-EIT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-NIT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-NIT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-BAT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-BAT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-SDT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-SDT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-TDT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-TDT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-TOT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-TOT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-ATSC-TVCT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-TVCT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-ATSC-CVCT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-CVCT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-ATSC-MGT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-MGT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-ATSC-ETT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-ETT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-ATSC-EIT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-EIT:CAPS">
+<ANCHOR id="GST-MPEGTS-SECTION-ATSC-STT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-STT:CAPS">
 <ANCHOR id="GstMpegtsPatProgram" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram">
 <ANCHOR id="GstMpegtsPMT" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT">
 <ANCHOR id="GstMpegtsPMTStream" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMTStream">
 <ANCHOR id="GstMpegtsStreamType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsStreamType">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-RESERVED-00:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-RESERVED-00:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG1:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG1:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG2:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG2:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-AUDIO-MPEG1:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-AUDIO-MPEG1:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-AUDIO-MPEG2:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-AUDIO-MPEG2:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-PRIVATE-SECTIONS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-PRIVATE-SECTIONS:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-PRIVATE-PES-PACKETS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-PRIVATE-PES-PACKETS:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-MHEG:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-MHEG:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-DSM-CC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-DSM-CC:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-H-222-1:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-H-222-1:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-DSMCC-A:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-DSMCC-A:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-DSMCC-B:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-DSMCC-B:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-DSMCC-C:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-DSMCC-C:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-DSMCC-D:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-DSMCC-D:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-AUXILIARY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-AUXILIARY:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-ADTS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-ADTS:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG4:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG4:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-LATM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-LATM:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-SL-FLEXMUX-PES-PACKETS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-SL-FLEXMUX-PES-PACKETS:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-SL-FLEXMUX-SECTIONS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-SL-FLEXMUX-SECTIONS:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-SYNCHRONIZED-DOWNLOAD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-SYNCHRONIZED-DOWNLOAD:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-METADATA-PES-PACKETS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-METADATA-PES-PACKETS:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-METADATA-SECTIONS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-METADATA-SECTIONS:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-METADATA-DATA-CAROUSEL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-METADATA-DATA-CAROUSEL:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-METADATA-OBJECT-CAROUSEL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-METADATA-OBJECT-CAROUSEL:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-METADATA-SYNCHRONIZED-DOWNLOAD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-METADATA-SYNCHRONIZED-DOWNLOAD:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-MPEG2-IPMP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-MPEG2-IPMP:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-VIDEO-H264:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-H264:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-CLEAN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-CLEAN:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-MPEG4-TIMED-TEXT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-MPEG4-TIMED-TEXT:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-VIDEO-RVC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-RVC:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-VIDEO-H264-SVC-SUB-BITSTREAM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-H264-SVC-SUB-BITSTREAM:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-VIDEO-H264-MVC-SUB-BITSTREAM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-H264-MVC-SUB-BITSTREAM:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-VIDEO-JP2K:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-JP2K:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG2-STEREO-ADDITIONAL-VIEW:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG2-STEREO-ADDITIONAL-VIEW:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-VIDEO-H264-STEREO-ADDITIONAL-VIEW:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-H264-STEREO-ADDITIONAL-VIEW:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-VIDEO-HEVC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-HEVC:CAPS">
+<ANCHOR id="GST-MPEGTS-STREAM-TYPE-IPMP-STREAM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-IPMP-STREAM:CAPS">
 <ANCHOR id="gst-plugins-bad-libs-Base-MPEG-TS-descriptors" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html">
 <ANCHOR id="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.functions" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-plugins-bad-libs-Base-MPEG-TS-descriptors.functions">
 <ANCHOR id="GstMpegtsDescriptor" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor">
@@ -233,9 +512,69 @@
 <ANCHOR id="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.other_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-plugins-bad-libs-Base-MPEG-TS-descriptors.other_details">
 <ANCHOR id="GstMpegtsDescriptor-struct" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor-struct">
 <ANCHOR id="GstMpegtsDescriptorType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptorType">
+<ANCHOR id="GST-MTS-DESC-RESERVED-00:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-RESERVED-00:CAPS">
+<ANCHOR id="GST-MTS-DESC-RESERVED-01:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-RESERVED-01:CAPS">
+<ANCHOR id="GST-MTS-DESC-VIDEO-STREAM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-VIDEO-STREAM:CAPS">
+<ANCHOR id="GST-MTS-DESC-AUDIO-STREAM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-AUDIO-STREAM:CAPS">
+<ANCHOR id="GST-MTS-DESC-HIERARCHY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-HIERARCHY:CAPS">
+<ANCHOR id="GST-MTS-DESC-REGISTRATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-REGISTRATION:CAPS">
+<ANCHOR id="GST-MTS-DESC-DATA-STREAM-ALIGNMENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DATA-STREAM-ALIGNMENT:CAPS">
+<ANCHOR id="GST-MTS-DESC-TARGET-BACKGROUND-GRID:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-TARGET-BACKGROUND-GRID:CAPS">
+<ANCHOR id="GST-MTS-DESC-VIDEO-WINDOW:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-VIDEO-WINDOW:CAPS">
+<ANCHOR id="GST-MTS-DESC-CA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-CA:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISO-639-LANGUAGE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-ISO-639-LANGUAGE:CAPS">
+<ANCHOR id="GST-MTS-DESC-SYSTEM-CLOCK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-SYSTEM-CLOCK:CAPS">
+<ANCHOR id="GST-MTS-DESC-MULTIPLEX-BUFFER-UTILISATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MULTIPLEX-BUFFER-UTILISATION:CAPS">
+<ANCHOR id="GST-MTS-DESC-COPYRIGHT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-COPYRIGHT:CAPS">
+<ANCHOR id="GST-MTS-DESC-MAXIMUM-BITRATE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MAXIMUM-BITRATE:CAPS">
+<ANCHOR id="GST-MTS-DESC-PRIVATE-DATA-INDICATOR:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-PRIVATE-DATA-INDICATOR:CAPS">
+<ANCHOR id="GST-MTS-DESC-SMOOTHING-BUFFER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-SMOOTHING-BUFFER:CAPS">
+<ANCHOR id="GST-MTS-DESC-STD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-STD:CAPS">
+<ANCHOR id="GST-MTS-DESC-IBP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-IBP:CAPS">
+<ANCHOR id="GST-MTS-DESC-DSMCC-CAROUSEL-IDENTIFIER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DSMCC-CAROUSEL-IDENTIFIER:CAPS">
+<ANCHOR id="GST-MTS-DESC-DSMCC-ASSOCIATION-TAG:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DSMCC-ASSOCIATION-TAG:CAPS">
+<ANCHOR id="GST-MTS-DESC-DSMCC-DEFERRED-ASSOCIATION-TAG:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DSMCC-DEFERRED-ASSOCIATION-TAG:CAPS">
+<ANCHOR id="GST-MTS-DESC-DSMCC-NPT-REFERENCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DSMCC-NPT-REFERENCE:CAPS">
+<ANCHOR id="GST-MTS-DESC-DSMCC-NPT-ENDPOINT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DSMCC-NPT-ENDPOINT:CAPS">
+<ANCHOR id="GST-MTS-DESC-DSMCC-STREAM-MODE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DSMCC-STREAM-MODE:CAPS">
+<ANCHOR id="GST-MTS-DESC-DSMCC-STREAM-EVENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DSMCC-STREAM-EVENT:CAPS">
+<ANCHOR id="GST-MTS-DESC-MPEG4-VIDEO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MPEG4-VIDEO:CAPS">
+<ANCHOR id="GST-MTS-DESC-MPEG4-AUDIO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MPEG4-AUDIO:CAPS">
+<ANCHOR id="GST-MTS-DESC-IOD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-IOD:CAPS">
+<ANCHOR id="GST-MTS-DESC-SL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-SL:CAPS">
+<ANCHOR id="GST-MTS-DESC-FMC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-FMC:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXTERNAL-ES-ID:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-EXTERNAL-ES-ID:CAPS">
+<ANCHOR id="GST-MTS-DESC-MUX-CODE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MUX-CODE:CAPS">
+<ANCHOR id="GST-MTS-DESC-FMX-BUFFER-SIZE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-FMX-BUFFER-SIZE:CAPS">
+<ANCHOR id="GST-MTS-DESC-MULTIPLEX-BUFFER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MULTIPLEX-BUFFER:CAPS">
+<ANCHOR id="GST-MTS-DESC-CONTENT-LABELING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-CONTENT-LABELING:CAPS">
+<ANCHOR id="GST-MTS-DESC-METADATA-POINTER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-METADATA-POINTER:CAPS">
+<ANCHOR id="GST-MTS-DESC-METADATA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-METADATA:CAPS">
+<ANCHOR id="GST-MTS-DESC-METADATA-STD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-METADATA-STD:CAPS">
+<ANCHOR id="GST-MTS-DESC-AVC-VIDEO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-AVC-VIDEO:CAPS">
+<ANCHOR id="GST-MTS-DESC-IPMP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-IPMP:CAPS">
+<ANCHOR id="GST-MTS-DESC-AVC-TIMING-AND-HRD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-AVC-TIMING-AND-HRD:CAPS">
+<ANCHOR id="GST-MTS-DESC-MPEG2-AAC-AUDIO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MPEG2-AAC-AUDIO:CAPS">
+<ANCHOR id="GST-MTS-DESC-FLEX-MUX-TIMING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-FLEX-MUX-TIMING:CAPS">
+<ANCHOR id="GST-MTS-DESC-MPEG4-TEXT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MPEG4-TEXT:CAPS">
+<ANCHOR id="GST-MTS-DESC-MPEG4-AUDIO-EXTENSION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MPEG4-AUDIO-EXTENSION:CAPS">
+<ANCHOR id="GST-MTS-DESC-AUXILIARY-VIDEO-STREAM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-AUXILIARY-VIDEO-STREAM:CAPS">
+<ANCHOR id="GST-MTS-DESC-SVC-EXTENSION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-SVC-EXTENSION:CAPS">
+<ANCHOR id="GST-MTS-DESC-MVC-EXTENSION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MVC-EXTENSION:CAPS">
+<ANCHOR id="GST-MTS-DESC-J2K-VIDEO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-J2K-VIDEO:CAPS">
+<ANCHOR id="GST-MTS-DESC-MVC-OPERATION-POINT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MVC-OPERATION-POINT:CAPS">
+<ANCHOR id="GST-MTS-DESC-MPEG2-STEREOSCOPIC-VIDEO-FORMAT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MPEG2-STEREOSCOPIC-VIDEO-FORMAT:CAPS">
+<ANCHOR id="GST-MTS-DESC-STEREOSCOPIC-PROGRAM-INFO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-STEREOSCOPIC-PROGRAM-INFO:CAPS">
+<ANCHOR id="GST-MTS-DESC-STEREOSCOPIC-VIDEO-INFO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-STEREOSCOPIC-VIDEO-INFO:CAPS">
 <ANCHOR id="GstMpegtsMiscDescriptorType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsMiscDescriptorType">
+<ANCHOR id="GST-MTS-DESC-AC3-AUDIO-STREAM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-AC3-AUDIO-STREAM:CAPS">
+<ANCHOR id="GST-MTS-DESC-DTG-LOGICAL-CHANNEL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DTG-LOGICAL-CHANNEL:CAPS">
 <ANCHOR id="GstMpegtsISO639LanguageDescriptor" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsISO639LanguageDescriptor">
 <ANCHOR id="GstMpegtsIso639AudioType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsIso639AudioType">
+<ANCHOR id="GST-MPEGTS-AUDIO-TYPE-UNDEFINED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MPEGTS-AUDIO-TYPE-UNDEFINED:CAPS">
+<ANCHOR id="GST-MPEGTS-AUDIO-TYPE-CLEAN-EFFECTS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MPEGTS-AUDIO-TYPE-CLEAN-EFFECTS:CAPS">
+<ANCHOR id="GST-MPEGTS-AUDIO-TYPE-HEARING-IMPAIRED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MPEGTS-AUDIO-TYPE-HEARING-IMPAIRED:CAPS">
+<ANCHOR id="GST-MPEGTS-AUDIO-TYPE-VISUAL-IMPAIRED-COMMENTARY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MPEGTS-AUDIO-TYPE-VISUAL-IMPAIRED-COMMENTARY:CAPS">
 <ANCHOR id="GstMpegtsLogicalChannel" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsLogicalChannel">
 <ANCHOR id="GstMpegtsLogicalChannelDescriptor" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsLogicalChannelDescriptor">
 <ANCHOR id="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html">
@@ -254,9 +593,30 @@
 <ANCHOR id="gst-mpegts-atsc-stt-get-datetime-utc" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-atsc-stt-get-datetime-utc">
 <ANCHOR id="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.other_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.other_details">
 <ANCHOR id="GstMpegtsSectionATSCTableID" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsSectionATSCTableID">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-MASTER-GUIDE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-MASTER-GUIDE:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-TERRESTRIAL-VIRTUAL-CHANNEL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-TERRESTRIAL-VIRTUAL-CHANNEL:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-CABLE-VIRTUAL-CHANNEL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-CABLE-VIRTUAL-CHANNEL:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-RATING-REGION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-RATING-REGION:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-EVENT-INFORMATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-EVENT-INFORMATION:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-CHANNEL-OR-EVENT-EXTENDED-TEXT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-CHANNEL-OR-EVENT-EXTENDED-TEXT:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-SYSTEM-TIME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-SYSTEM-TIME:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-DATA-EVENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-DATA-EVENT:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-DATA-SERVICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-DATA-SERVICE:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-NETWORK-RESOURCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-NETWORK-RESOURCE:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-LONG-TERM-SERVICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-LONG-TERM-SERVICE:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-DIRECTED-CHANNEL-CHANGE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-DIRECTED-CHANNEL-CHANGE:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-DIRECTED-CHANNEL-CHANGE-SECTION-CODE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-DIRECTED-CHANNEL-CHANGE-SECTION-CODE:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-AGGREGATE-EVENT-INFORMATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-AGGREGATE-EVENT-INFORMATION:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-AGGREGATE-EXTENDED-TEXT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-AGGREGATE-EXTENDED-TEXT:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-AGGREGATE-DATA-EVENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-AGGREGATE-DATA-EVENT:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-ATSC-SATELLITE-VIRTUAL-CHANNEL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-SATELLITE-VIRTUAL-CHANNEL:CAPS">
 <ANCHOR id="GstMpegtsAtscVCTSource" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource">
 <ANCHOR id="GstMpegtsAtscVCT" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT">
 <ANCHOR id="GstMpegtsAtscMGTTableType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGTTableType">
+<ANCHOR id="GST-MPEGTS-ATSC-MGT-TABLE-TYPE-EIT0:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MPEGTS-ATSC-MGT-TABLE-TYPE-EIT0:CAPS">
+<ANCHOR id="GST-MPEGTS-ATSC-MGT-TABLE-TYPE-EIT127:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MPEGTS-ATSC-MGT-TABLE-TYPE-EIT127:CAPS">
+<ANCHOR id="GST-MPEGTS-ATSC-MGT-TABLE-TYPE-ETT0:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MPEGTS-ATSC-MGT-TABLE-TYPE-ETT0:CAPS">
+<ANCHOR id="GST-MPEGTS-ATSC-MGT-TABLE-TYPE-ETT127:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MPEGTS-ATSC-MGT-TABLE-TYPE-ETT127:CAPS">
 <ANCHOR id="GstMpegtsAtscMGTTable" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGTTable">
 <ANCHOR id="GstMpegtsAtscMGT" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGT">
 <ANCHOR id="GstMpegtsAtscMultString" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMultString">
@@ -285,6 +645,44 @@
 <ANCHOR id="gst-mpegts-section-get-tot" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-tot">
 <ANCHOR id="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.other_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.other_details">
 <ANCHOR id="GstMpegtsSectionDVBTableID" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSectionDVBTableID">
+<ANCHOR id="GST-MTS-TABLE-ID-NETWORK-INFORMATION-ACTUAL-NETWORK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-NETWORK-INFORMATION-ACTUAL-NETWORK:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-NETWORK-INFORMATION-OTHER-NETWORK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-NETWORK-INFORMATION-OTHER-NETWORK:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-SERVICE-DESCRIPTION-ACTUAL-TS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-SERVICE-DESCRIPTION-ACTUAL-TS:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-SERVICE-DESCRIPTION-OTHER-TS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-SERVICE-DESCRIPTION-OTHER-TS:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-BOUQUET-ASSOCIATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-BOUQUET-ASSOCIATION:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-PRESENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-PRESENT:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-PRESENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-PRESENT:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-SCHEDULE-1:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-SCHEDULE-1:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-SCHEDULE-N:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-SCHEDULE-N:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-SCHEDULE-1:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-SCHEDULE-1:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-SCHEDULE-N:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-SCHEDULE-N:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-TIME-DATE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TIME-DATE:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-RUNNING-STATUS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-RUNNING-STATUS:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-STUFFING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-STUFFING:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-TIME-OFFSET:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TIME-OFFSET:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-APPLICATION-INFORMATION-TABLE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-APPLICATION-INFORMATION-TABLE:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-CONTAINER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CONTAINER:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-RELATED-CONTENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-RELATED-CONTENT:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-CONTENT-IDENTIFIER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CONTENT-IDENTIFIER:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-MPE-FEC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-MPE-FEC:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-RESOLUTION-NOTIFICATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-RESOLUTION-NOTIFICATION:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-MPE-IFEC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-MPE-IFEC:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-DISCONTINUITY-INFORMATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-DISCONTINUITY-INFORMATION:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-SELECTION-INFORMATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-SELECTION-INFORMATION:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-CA-MESSAGE-ECM-0:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CA-MESSAGE-ECM-0:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-CA-MESSAGE-ECM-1:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CA-MESSAGE-ECM-1:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-CA-MESSAGE-SYSTEM-PRIVATE-1:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CA-MESSAGE-SYSTEM-PRIVATE-1:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-CA-MESSAGE-SYSTEM-PRIVATE-N:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CA-MESSAGE-SYSTEM-PRIVATE-N:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-SCT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-SCT:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-FCT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-FCT:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-TCT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TCT:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-SPT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-SPT:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-CMT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CMT:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-TBTP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TBTP:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-PCR-PACKET-PAYLOAD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-PCR-PACKET-PAYLOAD:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-TRANSMISSION-MODE-SUPPORT-PAYLOAD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TRANSMISSION-MODE-SUPPORT-PAYLOAD:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-TIM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TIM:CAPS">
+<ANCHOR id="GST-MTS-TABLE-ID-LL-FEC-PARITY-DATA-TABLE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-LL-FEC-PARITY-DATA-TABLE:CAPS">
 <ANCHOR id="GstMpegtsNIT" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT">
 <ANCHOR id="GstMpegtsNITStream" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNITStream">
 <ANCHOR id="GstMpegtsBAT" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsBAT">
@@ -294,6 +692,12 @@
 <ANCHOR id="GstMpegtsEIT" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT">
 <ANCHOR id="GstMpegtsEITEvent" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEITEvent">
 <ANCHOR id="GstMpegtsRunningStatus" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsRunningStatus">
+<ANCHOR id="GST-MPEGTS-RUNNING-STATUS-UNDEFINED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MPEGTS-RUNNING-STATUS-UNDEFINED:CAPS">
+<ANCHOR id="GST-MPEGTS-RUNNING-STATUS-NOT-RUNNING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MPEGTS-RUNNING-STATUS-NOT-RUNNING:CAPS">
+<ANCHOR id="GST-MPEGTS-RUNNING-STATUS-STARTS-IN-FEW-SECONDS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MPEGTS-RUNNING-STATUS-STARTS-IN-FEW-SECONDS:CAPS">
+<ANCHOR id="GST-MPEGTS-RUNNING-STATUS-PAUSING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MPEGTS-RUNNING-STATUS-PAUSING:CAPS">
+<ANCHOR id="GST-MPEGTS-RUNNING-STATUS-RUNNING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MPEGTS-RUNNING-STATUS-RUNNING:CAPS">
+<ANCHOR id="GST-MPEGTS-RUNNING-STATUS-OFF-AIR:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MPEGTS-RUNNING-STATUS-OFF-AIR:CAPS">
 <ANCHOR id="GstMpegtsTOT" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsTOT">
 <ANCHOR id="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html">
 <ANCHOR id="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.other" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.other">
@@ -302,6 +706,27 @@
 <ANCHOR id="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.functions_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.functions_details">
 <ANCHOR id="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.other_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.other_details">
 <ANCHOR id="GstMpegtsATSCDescriptorType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GstMpegtsATSCDescriptorType">
+<ANCHOR id="GST-MTS-DESC-ATSC-STUFFING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-STUFFING:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-AC3:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-AC3:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-CAPTION-SERVICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-CAPTION-SERVICE:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-CONTENT-ADVISORY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-CONTENT-ADVISORY:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-EXTENDED-CHANNEL-NAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-EXTENDED-CHANNEL-NAME:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-SERVICE-LOCATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-SERVICE-LOCATION:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-TIME-SHIFTED-SERVICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-TIME-SHIFTED-SERVICE:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-COMPONENT-NAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-COMPONENT-NAME:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-DCC-DEPARTING-REQUEST:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-DCC-DEPARTING-REQUEST:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-DCC-ARRIVING-REQUEST:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-DCC-ARRIVING-REQUEST:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-REDISTRIBUTION-CONTROL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-REDISTRIBUTION-CONTROL:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-GENRE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-GENRE:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-PRIVATE-INFORMATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-PRIVATE-INFORMATION:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-ENHANCED-SIGNALING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-ENHANCED-SIGNALING:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-DATA-SERVICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-DATA-SERVICE:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-PID-COUNT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-PID-COUNT:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-DOWNLOAD-DESCRIPTOR:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-DOWNLOAD-DESCRIPTOR:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-MULTIPROTOCOL-ENCAPSULATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-MULTIPROTOCOL-ENCAPSULATION:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-MODULE-LINK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-MODULE-LINK:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-CRC32:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-CRC32:CAPS">
+<ANCHOR id="GST-MTS-DESC-ATSC-GROUP-LINK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-GROUP-LINK:CAPS">
 <ANCHOR id="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html">
 <ANCHOR id="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.functions" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.functions">
 <ANCHOR id="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.other" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.other">
@@ -352,35 +777,244 @@
 <ANCHOR id="gst-mpegts-descriptor-parse-dvb-multilingual-component" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-multilingual-component">
 <ANCHOR id="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.other_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.other_details">
 <ANCHOR id="GstMpegtsDVBDescriptorType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBDescriptorType">
+<ANCHOR id="GST-MTS-DESC-DVB-NETWORK-NAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-NETWORK-NAME:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-SERVICE-LIST:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SERVICE-LIST:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-STUFFING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-STUFFING:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-SATELLITE-DELIVERY-SYSTEM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SATELLITE-DELIVERY-SYSTEM:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-CABLE-DELIVERY-SYSTEM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CABLE-DELIVERY-SYSTEM:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-VBI-DATA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-VBI-DATA:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-VBI-TELETEXT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-VBI-TELETEXT:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-BOUQUET-NAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-BOUQUET-NAME:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-SERVICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SERVICE:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-COUNTRY-AVAILABILITY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-COUNTRY-AVAILABILITY:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-LINKAGE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-LINKAGE:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-NVOD-REFERENCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-NVOD-REFERENCE:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-TIME-SHIFTED-SERVICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TIME-SHIFTED-SERVICE:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-SHORT-EVENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SHORT-EVENT:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-EXTENDED-EVENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-EXTENDED-EVENT:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-TIME-SHIFTED-EVENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TIME-SHIFTED-EVENT:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-COMPONENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-COMPONENT:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-MOSAIC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-MOSAIC:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-STREAM-IDENTIFIER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-STREAM-IDENTIFIER:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-CA-IDENTIFIER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CA-IDENTIFIER:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-CONTENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CONTENT:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-PARENTAL-RATING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-PARENTAL-RATING:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-TELETEXT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TELETEXT:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-TELEPHONE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TELEPHONE:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-LOCAL-TIME-OFFSET:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-LOCAL-TIME-OFFSET:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-SUBTITLING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SUBTITLING:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-TERRESTRIAL-DELIVERY-SYSTEM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TERRESTRIAL-DELIVERY-SYSTEM:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-MULTILINGUAL-NETWORK-NAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-MULTILINGUAL-NETWORK-NAME:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-MULTILINGUAL-BOUQUET-NAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-MULTILINGUAL-BOUQUET-NAME:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-MULTILINGUAL-SERVICE-NAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-MULTILINGUAL-SERVICE-NAME:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-MULTILINGUAL-COMPONENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-MULTILINGUAL-COMPONENT:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-PRIVATE-DATA-SPECIFIER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-PRIVATE-DATA-SPECIFIER:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-SERVICE-MOVE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SERVICE-MOVE:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-SHORT-SMOOTHING-BUFFER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SHORT-SMOOTHING-BUFFER:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-FREQUENCY-LIST:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-FREQUENCY-LIST:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-PARTIAL-TRANSPORT-STREAM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-PARTIAL-TRANSPORT-STREAM:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-DATA-BROADCAST:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-DATA-BROADCAST:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-SCRAMBLING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SCRAMBLING:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-DATA-BROADCAST-ID:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-DATA-BROADCAST-ID:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-TRANSPORT-STREAM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TRANSPORT-STREAM:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-DSNG:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-DSNG:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-PDC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-PDC:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-AC3:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-AC3:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-ANCILLARY-DATA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-ANCILLARY-DATA:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-CELL-LIST:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CELL-LIST:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-CELL-FREQUENCY-LINK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CELL-FREQUENCY-LINK:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-ANNOUNCEMENT-SUPPORT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-ANNOUNCEMENT-SUPPORT:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-APPLICATION-SIGNALLING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-APPLICATION-SIGNALLING:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-ADAPTATION-FIELD-DATA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-ADAPTATION-FIELD-DATA:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-SERVICE-IDENTIFIER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SERVICE-IDENTIFIER:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-SERVICE-AVAILABILITY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SERVICE-AVAILABILITY:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-DEFAULT-AUTHORITY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-DEFAULT-AUTHORITY:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-RELATED-CONTENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-RELATED-CONTENT:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-TVA-ID:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TVA-ID:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-CONTENT-IDENTIFIER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CONTENT-IDENTIFIER:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-TIMESLICE-FEC-IDENTIFIER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TIMESLICE-FEC-IDENTIFIER:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-ECM-REPETITION-RATE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-ECM-REPETITION-RATE:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-S2-SATELLITE-DELIVERY-SYSTEM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-S2-SATELLITE-DELIVERY-SYSTEM:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-ENHANCED-AC3:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-ENHANCED-AC3:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-DTS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-DTS:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-AAC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-AAC:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-XAIT-LOCATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-XAIT-LOCATION:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-FTA-CONTENT-MANAGEMENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-FTA-CONTENT-MANAGEMENT:CAPS">
+<ANCHOR id="GST-MTS-DESC-DVB-EXTENSION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-EXTENSION:CAPS">
 <ANCHOR id="GstMpegtsDVBExtendedDescriptorType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBExtendedDescriptorType">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-IMAGE-ICON:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-IMAGE-ICON:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-CPCM-DELIVERY-SIGNALLING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-CPCM-DELIVERY-SIGNALLING:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-CP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-CP:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-CP-IDENTIFIER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-CP-IDENTIFIER:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-T2-DELIVERY-SYSTEM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-T2-DELIVERY-SYSTEM:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-SH-DELIVERY-SYSTEM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-SH-DELIVERY-SYSTEM:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-SUPPLEMENTARY-AUDIO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-SUPPLEMENTARY-AUDIO:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-NETWORK-CHANGE-NOTIFY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-NETWORK-CHANGE-NOTIFY:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-MESSAGE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-MESSAGE:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-TARGET-REGION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-TARGET-REGION:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-TARGET-REGION-NAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-TARGET-REGION-NAME:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-SERVICE-RELOCATED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-SERVICE-RELOCATED:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-XAIT-PID:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-XAIT-PID:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-C2-DELIVERY-SYSTEM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-C2-DELIVERY-SYSTEM:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-DTS-HD-AUDIO-STREAM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-DTS-HD-AUDIO-STREAM:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-DTS-NEUTRAL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-DTS-NEUTRAL:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-VIDEO-DEPTH-RANGE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-VIDEO-DEPTH-RANGE:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-T2MI:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-T2MI:CAPS">
+<ANCHOR id="GST-MTS-DESC-EXT-DVB-URI-LINKAGE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-URI-LINKAGE:CAPS">
 <ANCHOR id="GstMpegtsContent" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsContent">
 <ANCHOR id="GstMpegtsComponentDescriptor" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsComponentDescriptor">
 <ANCHOR id="GstMpegtsExtendedEventItem" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventItem">
 <ANCHOR id="GstMpegtsExtendedEventDescriptor" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventDescriptor">
 <ANCHOR id="GstMpegtsSatelliteDeliverySystemDescriptor" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor">
 <ANCHOR id="GstMpegtsDVBCodeRate" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBCodeRate">
+<ANCHOR id="GST-MPEGTS-FEC-NONE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-NONE:CAPS">
+<ANCHOR id="GST-MPEGTS-FEC-1-2:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-1-2:CAPS">
+<ANCHOR id="GST-MPEGTS-FEC-2-3:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-2-3:CAPS">
+<ANCHOR id="GST-MPEGTS-FEC-3-4:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-3-4:CAPS">
+<ANCHOR id="GST-MPEGTS-FEC-4-5:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-4-5:CAPS">
+<ANCHOR id="GST-MPEGTS-FEC-5-6:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-5-6:CAPS">
+<ANCHOR id="GST-MPEGTS-FEC-6-7:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-6-7:CAPS">
+<ANCHOR id="GST-MPEGTS-FEC-7-8:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-7-8:CAPS">
+<ANCHOR id="GST-MPEGTS-FEC-8-9:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-8-9:CAPS">
+<ANCHOR id="GST-MPEGTS-FEC-AUTO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-AUTO:CAPS">
+<ANCHOR id="GST-MPEGTS-FEC-3-5:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-3-5:CAPS">
+<ANCHOR id="GST-MPEGTS-FEC-9-10:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-9-10:CAPS">
+<ANCHOR id="GST-MPEGTS-FEC-2-5:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-2-5:CAPS">
 <ANCHOR id="GstMpegtsModulationType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsModulationType">
+<ANCHOR id="GST-MPEGTS-MODULATION-QPSK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QPSK:CAPS">
+<ANCHOR id="GST-MPEGTS-MODULATION-QAM-16:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QAM-16:CAPS">
+<ANCHOR id="GST-MPEGTS-MODULATION-QAM-32:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QAM-32:CAPS">
+<ANCHOR id="GST-MPEGTS-MODULATION-QAM-64:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QAM-64:CAPS">
+<ANCHOR id="GST-MPEGTS-MODULATION-QAM-128:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QAM-128:CAPS">
+<ANCHOR id="GST-MPEGTS-MODULATION-QAM-256:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QAM-256:CAPS">
+<ANCHOR id="GST-MPEGTS-MODULATION-QAM-AUTO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QAM-AUTO:CAPS">
+<ANCHOR id="GST-MPEGTS-MODULATION-VSB-8:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-VSB-8:CAPS">
+<ANCHOR id="GST-MPEGTS-MODULATION-VSB-16:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-VSB-16:CAPS">
+<ANCHOR id="GST-MPEGTS-MODULATION-PSK-8:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-PSK-8:CAPS">
+<ANCHOR id="GST-MPEGTS-MODULATION-APSK-16:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-APSK-16:CAPS">
+<ANCHOR id="GST-MPEGTS-MODULATION-APSK-32:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-APSK-32:CAPS">
+<ANCHOR id="GST-MPEGTS-MODULATION-DQPSK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-DQPSK:CAPS">
+<ANCHOR id="GST-MPEGTS-MODULATION-QAM-4-NR-:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QAM-4-NR-:CAPS">
+<ANCHOR id="GST-MPEGTS-MODULATION-NONE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-NONE:CAPS">
 <ANCHOR id="GstMpegtsSatellitePolarizationType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatellitePolarizationType">
+<ANCHOR id="GST-MPEGTS-POLARIZATION-LINEAR-HORIZONTAL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-POLARIZATION-LINEAR-HORIZONTAL:CAPS">
+<ANCHOR id="GST-MPEGTS-POLARIZATION-LINEAR-VERTICAL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-POLARIZATION-LINEAR-VERTICAL:CAPS">
+<ANCHOR id="GST-MPEGTS-POLARIZATION-CIRCULAR-LEFT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-POLARIZATION-CIRCULAR-LEFT:CAPS">
+<ANCHOR id="GST-MPEGTS-POLARIZATION-CIRCULAR-RIGHT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-POLARIZATION-CIRCULAR-RIGHT:CAPS">
 <ANCHOR id="GstMpegtsSatelliteRolloff" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteRolloff">
+<ANCHOR id="GST-MPEGTS-ROLLOFF-35:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-ROLLOFF-35:CAPS">
+<ANCHOR id="GST-MPEGTS-ROLLOFF-20:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-ROLLOFF-20:CAPS">
+<ANCHOR id="GST-MPEGTS-ROLLOFF-25:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-ROLLOFF-25:CAPS">
+<ANCHOR id="GST-MPEGTS-ROLLOFF-RESERVED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-ROLLOFF-RESERVED:CAPS">
+<ANCHOR id="GST-MPEGTS-ROLLOFF-AUTO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-ROLLOFF-AUTO:CAPS">
 <ANCHOR id="GstMpegtsCableDeliverySystemDescriptor" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableDeliverySystemDescriptor">
 <ANCHOR id="GstMpegtsCableOuterFECScheme" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableOuterFECScheme">
+<ANCHOR id="GST-MPEGTS-CABLE-OUTER-FEC-UNDEFINED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-CABLE-OUTER-FEC-UNDEFINED:CAPS">
+<ANCHOR id="GST-MPEGTS-CABLE-OUTER-FEC-NONE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-CABLE-OUTER-FEC-NONE:CAPS">
+<ANCHOR id="GST-MPEGTS-CABLE-OUTER-FEC-RS-204-188:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-CABLE-OUTER-FEC-RS-204-188:CAPS">
 <ANCHOR id="GstMpegtsTerrestrialDeliverySystemDescriptor" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor">
 <ANCHOR id="GstMpegtsTerrestrialTransmissionMode" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialTransmissionMode">
+<ANCHOR id="GST-MPEGTS-TRANSMISSION-MODE-2K:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-2K:CAPS">
+<ANCHOR id="GST-MPEGTS-TRANSMISSION-MODE-8K:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-8K:CAPS">
+<ANCHOR id="GST-MPEGTS-TRANSMISSION-MODE-AUTO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-AUTO:CAPS">
+<ANCHOR id="GST-MPEGTS-TRANSMISSION-MODE-4K:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-4K:CAPS">
+<ANCHOR id="GST-MPEGTS-TRANSMISSION-MODE-1K:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-1K:CAPS">
+<ANCHOR id="GST-MPEGTS-TRANSMISSION-MODE-16K:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-16K:CAPS">
+<ANCHOR id="GST-MPEGTS-TRANSMISSION-MODE-32K:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-32K:CAPS">
+<ANCHOR id="GST-MPEGTS-TRANSMISSION-MODE-C1:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-C1:CAPS">
+<ANCHOR id="GST-MPEGTS-TRANSMISSION-MODE-C3780:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-C3780:CAPS">
 <ANCHOR id="GstMpegtsTerrestrialGuardInterval" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialGuardInterval">
+<ANCHOR id="GST-MPEGTS-GUARD-INTERVAL-1-32:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-1-32:CAPS">
+<ANCHOR id="GST-MPEGTS-GUARD-INTERVAL-1-16:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-1-16:CAPS">
+<ANCHOR id="GST-MPEGTS-GUARD-INTERVAL-1-8:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-1-8:CAPS">
+<ANCHOR id="GST-MPEGTS-GUARD-INTERVAL-1-4:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-1-4:CAPS">
+<ANCHOR id="GST-MPEGTS-GUARD-INTERVAL-AUTO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-AUTO:CAPS">
+<ANCHOR id="GST-MPEGTS-GUARD-INTERVAL-1-128:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-1-128:CAPS">
+<ANCHOR id="GST-MPEGTS-GUARD-INTERVAL-19-128:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-19-128:CAPS">
+<ANCHOR id="GST-MPEGTS-GUARD-INTERVAL-19-256:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-19-256:CAPS">
+<ANCHOR id="GST-MPEGTS-GUARD-INTERVAL-PN420:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-PN420:CAPS">
+<ANCHOR id="GST-MPEGTS-GUARD-INTERVAL-PN595:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-PN595:CAPS">
+<ANCHOR id="GST-MPEGTS-GUARD-INTERVAL-PN945:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-PN945:CAPS">
 <ANCHOR id="GstMpegtsTerrestrialHierarchy" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialHierarchy">
+<ANCHOR id="GST-MPEGTS-HIERARCHY-NONE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-HIERARCHY-NONE:CAPS">
+<ANCHOR id="GST-MPEGTS-HIERARCHY-1:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-HIERARCHY-1:CAPS">
+<ANCHOR id="GST-MPEGTS-HIERARCHY-2:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-HIERARCHY-2:CAPS">
+<ANCHOR id="GST-MPEGTS-HIERARCHY-4:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-HIERARCHY-4:CAPS">
+<ANCHOR id="GST-MPEGTS-HIERARCHY-AUTO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-HIERARCHY-AUTO:CAPS">
 <ANCHOR id="GstMpegtsT2DeliverySystemCellExtension" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemCellExtension">
 <ANCHOR id="GstMpegtsT2DeliverySystemCell" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemCell">
 <ANCHOR id="GstMpegtsT2DeliverySystemDescriptor" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor">
 <ANCHOR id="GstMpegtsDVBServiceType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceType">
+<ANCHOR id="GST-DVB-SERVICE-RESERVED-00:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-RESERVED-00:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-DIGITAL-TELEVISION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-DIGITAL-TELEVISION:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-DIGITAL-RADIO-SOUND:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-DIGITAL-RADIO-SOUND:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-TELETEXT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-TELETEXT:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-NVOD-REFERENCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-NVOD-REFERENCE:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-NVOD-TIME-SHIFTED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-NVOD-TIME-SHIFTED:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-MOSAIC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-MOSAIC:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-FM-RADIO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-FM-RADIO:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-DVB-SRM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-DVB-SRM:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-RESERVED-09:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-RESERVED-09:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-ADVANCED-CODEC-DIGITAL-RADIO-SOUND:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-DIGITAL-RADIO-SOUND:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-ADVANCED-CODEC-MOSAIC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-MOSAIC:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-DATA-BROADCAST:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-DATA-BROADCAST:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-RESERVED-0D-COMMON-INTERFACE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-RESERVED-0D-COMMON-INTERFACE:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-RCS-MAP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-RCS-MAP:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-RCS-FLS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-RCS-FLS:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-DVB-MHP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-DVB-MHP:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-MPEG2-HD-DIGITAL-TELEVISION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-MPEG2-HD-DIGITAL-TELEVISION:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-ADVANCED-CODEC-SD-DIGITAL-TELEVISION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-SD-DIGITAL-TELEVISION:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-ADVANCED-CODEC-SD-NVOD-TIME-SHIFTED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-SD-NVOD-TIME-SHIFTED:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-ADVANCED-CODEC-SD-NVOD-REFERENCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-SD-NVOD-REFERENCE:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-ADVANCED-CODEC-HD-DIGITAL-TELEVISION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-HD-DIGITAL-TELEVISION:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-ADVANCED-CODEC-HD-NVOD-TIME-SHIFTED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-HD-NVOD-TIME-SHIFTED:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-ADVANCED-CODEC-HD-NVOD-REFERENCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-HD-NVOD-REFERENCE:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-DIGITAL-TELEVISION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-DIGITAL-TELEVISION:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-NVOD-TIME-SHIFTED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-NVOD-TIME-SHIFTED:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-NVOD-REFERENCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-NVOD-REFERENCE:CAPS">
+<ANCHOR id="GST-DVB-SERVICE-RESERVED-FF:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-RESERVED-FF:CAPS">
 <ANCHOR id="GstMpegtsDVBTeletextType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBTeletextType">
+<ANCHOR id="INITIAL-PAGE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#INITIAL-PAGE:CAPS">
+<ANCHOR id="SUBTITLE-PAGE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#SUBTITLE-PAGE:CAPS">
+<ANCHOR id="ADDITIONAL-INFO-PAGE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#ADDITIONAL-INFO-PAGE:CAPS">
+<ANCHOR id="PROGRAMME-SCHEDULE-PAGE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#PROGRAMME-SCHEDULE-PAGE:CAPS">
+<ANCHOR id="HEARING-IMPAIRED-PAGE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#HEARING-IMPAIRED-PAGE:CAPS">
 <ANCHOR id="GstMpegtsDVBLinkageType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageType">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-RESERVED-00:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-RESERVED-00:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-INFORMATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-INFORMATION:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-EPG:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-EPG:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-CA-REPLACEMENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-CA-REPLACEMENT:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-COMPLETE-SI:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-COMPLETE-SI:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-SERVICE-REPLACEMENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-SERVICE-REPLACEMENT:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-DATA-BROADCAST:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-DATA-BROADCAST:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-RCS-MAP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-RCS-MAP:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-MOBILE-HAND-OVER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-MOBILE-HAND-OVER:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-SYSTEM-SOFTWARE-UPDATE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-SYSTEM-SOFTWARE-UPDATE:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-SSU:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-SSU:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-IP-MAC-NOTIFICATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-IP-MAC-NOTIFICATION:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-INT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-INT:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-EVENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-EVENT:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-EXTENDED-EVENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-EXTENDED-EVENT:CAPS">
 <ANCHOR id="GstMpegtsDVBLinkageHandOverType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageHandOverType">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-HAND-OVER-RESERVED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-HAND-OVER-RESERVED:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-HAND-OVER-IDENTICAL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-HAND-OVER-IDENTICAL:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-HAND-OVER-LOCAL-VARIATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-HAND-OVER-LOCAL-VARIATION:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-LINKAGE-HAND-OVER-ASSOCIATED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-HAND-OVER-ASSOCIATED:CAPS">
 <ANCHOR id="GstMpegtsDVBLinkageMobileHandOver" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageMobileHandOver">
 <ANCHOR id="GstMpegtsDVBLinkageEvent" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageEvent">
 <ANCHOR id="GstMpegtsDVBLinkageExtendedEvent" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageExtendedEvent">
 <ANCHOR id="GstMpegtsDVBLinkageDescriptor" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor">
 <ANCHOR id="GstMpegtsDataBroadcastDescriptor" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDataBroadcastDescriptor">
 <ANCHOR id="GstMpegtsDVBScramblingModeType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBScramblingModeType">
+<ANCHOR id="GST-MPEGTS-DVB-SCRAMBLING-MODE-RESERVED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-RESERVED:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA1:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA1:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA2:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA2:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-STANDARD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-STANDARD:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-MINIMAL-ENHANCED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-MINIMAL-ENHANCED:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-FULL-ENHANCED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-FULL-ENHANCED:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-SCRAMBLING-MODE-CISSA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CISSA:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-SCRAMBLING-MODE-ATIS-0:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-ATIS-0:CAPS">
+<ANCHOR id="GST-MPEGTS-DVB-SCRAMBLING-MODE-ATIS-F:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-ATIS-F:CAPS">
 <ANCHOR id="GstMpegtsDVBParentalRatingItem" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBParentalRatingItem">
 <ANCHOR id="GstMpegtsDVBServiceListItem" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceListItem">
 <ANCHOR id="GstMpegtsDvbMultilingualNetworkNameItem" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualNetworkNameItem">
@@ -394,6 +1028,38 @@
 <ANCHOR id="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.functions_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.functions_details">
 <ANCHOR id="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.other_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.other_details">
 <ANCHOR id="GstMpegtsISDBDescriptorType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GstMpegtsISDBDescriptorType">
+<ANCHOR id="GST-MTS-DESC-ISDB-HIERARCHICAL-TRANSMISSION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-HIERARCHICAL-TRANSMISSION:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-DIGITAL-COPY-CONTROL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-DIGITAL-COPY-CONTROL:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-NETWORK-IDENTIFICATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-NETWORK-IDENTIFICATION:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-PARTIAL-TS-TIME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-PARTIAL-TS-TIME:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-AUDIO-COMPONENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-AUDIO-COMPONENT:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-HYPERLINK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-HYPERLINK:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-TARGET-REGION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-TARGET-REGION:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-DATA-CONTENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-DATA-CONTENT:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-VIDEO-DECODE-CONTROL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-VIDEO-DECODE-CONTROL:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-DOWNLOAD-CONTENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-DOWNLOAD-CONTENT:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-CA-EMM-TS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-CA-EMM-TS:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-CA-CONTRACT-INFORMATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-CA-CONTRACT-INFORMATION:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-CA-SERVICE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-CA-SERVICE:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-TS-INFORMATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-TS-INFORMATION:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-EXTENDED-BROADCASTER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-EXTENDED-BROADCASTER:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-LOGO-TRANSMISSION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-LOGO-TRANSMISSION:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-BASIC-LOCAL-EVENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-BASIC-LOCAL-EVENT:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-REFERENCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-REFERENCE:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-NODE-RELATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-NODE-RELATION:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-SHORT-NODE-INFORMATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-SHORT-NODE-INFORMATION:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-STC-REFERENCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-STC-REFERENCE:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-SERIES:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-SERIES:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-EVENT-GROUP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-EVENT-GROUP:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-SI-PARAMETER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-SI-PARAMETER:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-BROADCASTER-NAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-BROADCASTER-NAME:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-COMPONENT-GROUP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-COMPONENT-GROUP:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-SI-PRIME-TS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-SI-PRIME-TS:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-BOARD-INFORMATION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-BOARD-INFORMATION:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-LDT-LINKAGE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-LDT-LINKAGE:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-CONNECTED-TRANSMISSION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-CONNECTED-TRANSMISSION:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-CONTENT-AVAILABILITY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-CONTENT-AVAILABILITY:CAPS">
+<ANCHOR id="GST-MTS-DESC-ISDB-SERVICE-GROUP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-SERVICE-GROUP:CAPS">
 <ANCHOR id="gst-plugins-bad-libs-GstInsertbin" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstInsertbin.html">
 <ANCHOR id="gst-plugins-bad-libs-GstInsertbin.functions" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstInsertbin.html#gst-plugins-bad-libs-GstInsertbin.functions">
 <ANCHOR id="gst-plugins-bad-libs-GstInsertbin.signals" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstInsertbin.html#gst-plugins-bad-libs-GstInsertbin.signals">
@@ -470,7 +1136,21 @@
 <ANCHOR id="gst-gl-check-extension" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#gst-gl-check-extension">
 <ANCHOR id="gst-plugins-bad-libs-GstGLAPI.other_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#gst-plugins-bad-libs-GstGLAPI.other_details">
 <ANCHOR id="GstGLAPI" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI">
+<ANCHOR id="GST-GL-API-NONE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-NONE:CAPS">
+<ANCHOR id="GST-GL-API-OPENGL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-OPENGL:CAPS">
+<ANCHOR id="GST-GL-API-OPENGL3:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-OPENGL3:CAPS">
+<ANCHOR id="GST-GL-API-GLES1:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-GLES1:CAPS">
+<ANCHOR id="GST-GL-API-GLES2:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-GLES2:CAPS">
+<ANCHOR id="GST-GL-API-ANY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-ANY:CAPS">
 <ANCHOR id="GstGLPlatform" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GstGLPlatform">
+<ANCHOR id="GST-GL-PLATFORM-NONE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-NONE:CAPS">
+<ANCHOR id="GST-GL-PLATFORM-EGL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-EGL:CAPS">
+<ANCHOR id="GST-GL-PLATFORM-GLX:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-GLX:CAPS">
+<ANCHOR id="GST-GL-PLATFORM-WGL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-WGL:CAPS">
+<ANCHOR id="GST-GL-PLATFORM-CGL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-CGL:CAPS">
+<ANCHOR id="GST-GL-PLATFORM-EAGL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-EAGL:CAPS">
+<ANCHOR id="GST-GL-PLATFORM-GPU-PROCESS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-GPU-PROCESS:CAPS">
+<ANCHOR id="GST-GL-PLATFORM-ANY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-PLATFORM-ANY:CAPS">
 <ANCHOR id="GST-GL-API-GLES1-NAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-GLES1-NAME:CAPS">
 <ANCHOR id="GST-GL-API-GLES2-NAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-GLES2-NAME:CAPS">
 <ANCHOR id="GST-GL-API-OPENGL3-NAME:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-OPENGL3-NAME:CAPS">
@@ -536,6 +1216,12 @@
 <ANCHOR id="gst-gl-context-get-current" href="gst-plugins-bad-libs-1.0/GstGLContext.html#gst-gl-context-get-current">
 <ANCHOR id="GstGLContext.other_details" href="gst-plugins-bad-libs-1.0/GstGLContext.html#GstGLContext.other_details">
 <ANCHOR id="GstGLContextError" href="gst-plugins-bad-libs-1.0/GstGLContext.html#GstGLContextError">
+<ANCHOR id="GST-GL-CONTEXT-ERROR-FAILED:CAPS" href="gst-plugins-bad-libs-1.0/GstGLContext.html#GST-GL-CONTEXT-ERROR-FAILED:CAPS">
+<ANCHOR id="GST-GL-CONTEXT-ERROR-WRONG-CONFIG:CAPS" href="gst-plugins-bad-libs-1.0/GstGLContext.html#GST-GL-CONTEXT-ERROR-WRONG-CONFIG:CAPS">
+<ANCHOR id="GST-GL-CONTEXT-ERROR-WRONG-API:CAPS" href="gst-plugins-bad-libs-1.0/GstGLContext.html#GST-GL-CONTEXT-ERROR-WRONG-API:CAPS">
+<ANCHOR id="GST-GL-CONTEXT-ERROR-OLD-LIBS:CAPS" href="gst-plugins-bad-libs-1.0/GstGLContext.html#GST-GL-CONTEXT-ERROR-OLD-LIBS:CAPS">
+<ANCHOR id="GST-GL-CONTEXT-ERROR-CREATE-CONTEXT:CAPS" href="gst-plugins-bad-libs-1.0/GstGLContext.html#GST-GL-CONTEXT-ERROR-CREATE-CONTEXT:CAPS">
+<ANCHOR id="GST-GL-CONTEXT-ERROR-RESOURCE-UNAVAILABLE:CAPS" href="gst-plugins-bad-libs-1.0/GstGLContext.html#GST-GL-CONTEXT-ERROR-RESOURCE-UNAVAILABLE:CAPS">
 <ANCHOR id="GstGLContext-struct" href="gst-plugins-bad-libs-1.0/GstGLContext.html#GstGLContext-struct">
 <ANCHOR id="GstGLContext.see-also" href="gst-plugins-bad-libs-1.0/GstGLContext.html#GstGLContext.see-also">
 <ANCHOR id="gst-plugins-bad-libs-GstGLContextCocoa" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstGLContextCocoa.html">
@@ -605,6 +1291,14 @@
 <ANCHOR id="GstGLDisplay.other_details" href="gst-plugins-bad-libs-1.0/GstGLDisplay.html#GstGLDisplay.other_details">
 <ANCHOR id="GST-GL-DISPLAY-CONTEXT-TYPE:CAPS" href="gst-plugins-bad-libs-1.0/GstGLDisplay.html#GST-GL-DISPLAY-CONTEXT-TYPE:CAPS">
 <ANCHOR id="GstGLDisplayType" href="gst-plugins-bad-libs-1.0/GstGLDisplay.html#GstGLDisplayType">
+<ANCHOR id="GST-GL-DISPLAY-TYPE-NONE:CAPS" href="gst-plugins-bad-libs-1.0/GstGLDisplay.html#GST-GL-DISPLAY-TYPE-NONE:CAPS">
+<ANCHOR id="GST-GL-DISPLAY-TYPE-X11:CAPS" href="gst-plugins-bad-libs-1.0/GstGLDisplay.html#GST-GL-DISPLAY-TYPE-X11:CAPS">
+<ANCHOR id="GST-GL-DISPLAY-TYPE-WAYLAND:CAPS" href="gst-plugins-bad-libs-1.0/GstGLDisplay.html#GST-GL-DISPLAY-TYPE-WAYLAND:CAPS">
+<ANCHOR id="GST-GL-DISPLAY-TYPE-COCOA:CAPS" href="gst-plugins-bad-libs-1.0/GstGLDisplay.html#GST-GL-DISPLAY-TYPE-COCOA:CAPS">
+<ANCHOR id="GST-GL-DISPLAY-TYPE-WIN32:CAPS" href="gst-plugins-bad-libs-1.0/GstGLDisplay.html#GST-GL-DISPLAY-TYPE-WIN32:CAPS">
+<ANCHOR id="GST-GL-DISPLAY-TYPE-DISPMANX:CAPS" href="gst-plugins-bad-libs-1.0/GstGLDisplay.html#GST-GL-DISPLAY-TYPE-DISPMANX:CAPS">
+<ANCHOR id="GST-GL-DISPLAY-TYPE-EGL:CAPS" href="gst-plugins-bad-libs-1.0/GstGLDisplay.html#GST-GL-DISPLAY-TYPE-EGL:CAPS">
+<ANCHOR id="GST-GL-DISPLAY-TYPE-ANY:CAPS" href="gst-plugins-bad-libs-1.0/GstGLDisplay.html#GST-GL-DISPLAY-TYPE-ANY:CAPS">
 <ANCHOR id="GstGLDisplay-struct" href="gst-plugins-bad-libs-1.0/GstGLDisplay.html#GstGLDisplay-struct">
 <ANCHOR id="GstGLDisplay.see-also" href="gst-plugins-bad-libs-1.0/GstGLDisplay.html#GstGLDisplay.see-also">
 <ANCHOR id="GstGLDownload" href="gst-plugins-bad-libs-1.0/GstGLDownload.html">
@@ -698,6 +1392,10 @@
 <ANCHOR id="GST-MAP-GL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglmemory.html#GST-MAP-GL:CAPS">
 <ANCHOR id="GST-GL-MEMORY-ALLOCATOR:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglmemory.html#GST-GL-MEMORY-ALLOCATOR:CAPS">
 <ANCHOR id="GstGLMemoryFlags" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglmemory.html#GstGLMemoryFlags">
+<ANCHOR id="GST-GL-MEMORY-FLAG-DOWNLOAD-INITTED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglmemory.html#GST-GL-MEMORY-FLAG-DOWNLOAD-INITTED:CAPS">
+<ANCHOR id="GST-GL-MEMORY-FLAG-UPLOAD-INITTED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglmemory.html#GST-GL-MEMORY-FLAG-UPLOAD-INITTED:CAPS">
+<ANCHOR id="GST-GL-MEMORY-FLAG-NEED-DOWNLOAD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglmemory.html#GST-GL-MEMORY-FLAG-NEED-DOWNLOAD:CAPS">
+<ANCHOR id="GST-GL-MEMORY-FLAG-NEED-UPLOAD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglmemory.html#GST-GL-MEMORY-FLAG-NEED-UPLOAD:CAPS">
 <ANCHOR id="GstGLMemory" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglmemory.html#GstGLMemory">
 <ANCHOR id="gst-plugins-bad-libs-gstglmemory.see-also" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglmemory.html#gst-plugins-bad-libs-gstglmemory.see-also">
 <ANCHOR id="gst-plugins-bad-libs-gstglshader" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglshader.html">
@@ -757,7 +1455,12 @@
 <ANCHOR id="gst-gl-shader-bind-attribute-location" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglshader.html#gst-gl-shader-bind-attribute-location">
 <ANCHOR id="gst-plugins-bad-libs-gstglshader.other_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglshader.html#gst-plugins-bad-libs-gstglshader.other_details">
 <ANCHOR id="GstGLShaderError" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglshader.html#GstGLShaderError">
+<ANCHOR id="GST-GL-SHADER-ERROR-COMPILE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglshader.html#GST-GL-SHADER-ERROR-COMPILE:CAPS">
+<ANCHOR id="GST-GL-SHADER-ERROR-LINK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglshader.html#GST-GL-SHADER-ERROR-LINK:CAPS">
+<ANCHOR id="GST-GL-SHADER-ERROR-PROGRAM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglshader.html#GST-GL-SHADER-ERROR-PROGRAM:CAPS">
 <ANCHOR id="GstGLShaderSourceType" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglshader.html#GstGLShaderSourceType">
+<ANCHOR id="GST-GL-SHADER-FRAGMENT-SOURCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglshader.html#GST-GL-SHADER-FRAGMENT-SOURCE:CAPS">
+<ANCHOR id="GST-GL-SHADER-VERTEX-SOURCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglshader.html#GST-GL-SHADER-VERTEX-SOURCE:CAPS">
 <ANCHOR id="gst-gl-shadervariable-desc" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglshader.html#gst-gl-shadervariable-desc">
 <ANCHOR id="GstGLShader-struct" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglshader.html#GstGLShader-struct">
 <ANCHOR id="gst-plugins-bad-libs-gstglshader.property-details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstglshader.html#gst-plugins-bad-libs-gstglshader.property-details">
@@ -836,6 +1539,8 @@
 <ANCHOR id="gst-gl-run-query" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Utilities.html#gst-gl-run-query">
 <ANCHOR id="gst-plugins-bad-libs-Utilities.other_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Utilities.html#gst-plugins-bad-libs-Utilities.other_details">
 <ANCHOR id="GstGLDisplayProjection" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Utilities.html#GstGLDisplayProjection">
+<ANCHOR id="GST-GL-DISPLAY-PROJECTION-ORTHO2D:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Utilities.html#GST-GL-DISPLAY-PROJECTION-ORTHO2D:CAPS">
+<ANCHOR id="GST-GL-DISPLAY-PROJECTION-PERSPECTIVE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-Utilities.html#GST-GL-DISPLAY-PROJECTION-PERSPECTIVE:CAPS">
 <ANCHOR id="GstGLWindow" href="gst-plugins-bad-libs-1.0/GstGLWindow.html">
 <ANCHOR id="GstGLWindow.functions" href="gst-plugins-bad-libs-1.0/GstGLWindow.html#GstGLWindow.functions">
 <ANCHOR id="GstGLWindow.signals" href="gst-plugins-bad-libs-1.0/GstGLWindow.html#GstGLWindow.signals">
@@ -870,6 +1575,9 @@
 <ANCHOR id="gst-gl-window-handle-events" href="gst-plugins-bad-libs-1.0/GstGLWindow.html#gst-gl-window-handle-events">
 <ANCHOR id="GstGLWindow.other_details" href="gst-plugins-bad-libs-1.0/GstGLWindow.html#GstGLWindow.other_details">
 <ANCHOR id="GstGLWindowError" href="gst-plugins-bad-libs-1.0/GstGLWindow.html#GstGLWindowError">
+<ANCHOR id="GST-GL-WINDOW-ERROR-FAILED:CAPS" href="gst-plugins-bad-libs-1.0/GstGLWindow.html#GST-GL-WINDOW-ERROR-FAILED:CAPS">
+<ANCHOR id="GST-GL-WINDOW-ERROR-OLD-LIBS:CAPS" href="gst-plugins-bad-libs-1.0/GstGLWindow.html#GST-GL-WINDOW-ERROR-OLD-LIBS:CAPS">
+<ANCHOR id="GST-GL-WINDOW-ERROR-RESOURCE-UNAVAILABLE:CAPS" href="gst-plugins-bad-libs-1.0/GstGLWindow.html#GST-GL-WINDOW-ERROR-RESOURCE-UNAVAILABLE:CAPS">
 <ANCHOR id="GstGLWindow-struct" href="gst-plugins-bad-libs-1.0/GstGLWindow.html#GstGLWindow-struct">
 <ANCHOR id="GstGLWindowClass" href="gst-plugins-bad-libs-1.0/GstGLWindow.html#GstGLWindowClass">
 <ANCHOR id="GstGLWindow.signal-details" href="gst-plugins-bad-libs-1.0/GstGLWindow.html#GstGLWindow.signal-details">
@@ -976,15 +1684,104 @@
 <ANCHOR id="gst-plugins-bad-libs-GstPhotography.other_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#gst-plugins-bad-libs-GstPhotography.other_details">
 <ANCHOR id="GstPhotography" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GstPhotography">
 <ANCHOR id="GstPhotographyNoiseReduction" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GstPhotographyNoiseReduction">
+<ANCHOR id="GST-PHOTOGRAPHY-NOISE-REDUCTION-BAYER:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-NOISE-REDUCTION-BAYER:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-NOISE-REDUCTION-YCC:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-NOISE-REDUCTION-YCC:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-NOISE-REDUCTION-TEMPORAL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-NOISE-REDUCTION-TEMPORAL:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-NOISE-REDUCTION-FIXED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-NOISE-REDUCTION-FIXED:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-NOISE-REDUCTION-EXTRA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-NOISE-REDUCTION-EXTRA:CAPS">
 <ANCHOR id="GstPhotographyWhiteBalanceMode" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GstPhotographyWhiteBalanceMode">
+<ANCHOR id="GST-PHOTOGRAPHY-WB-MODE-AUTO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-AUTO:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-WB-MODE-DAYLIGHT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-DAYLIGHT:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-WB-MODE-CLOUDY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-CLOUDY:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-WB-MODE-SUNSET:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-SUNSET:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-WB-MODE-TUNGSTEN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-TUNGSTEN:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-WB-MODE-FLUORESCENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-FLUORESCENT:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-WB-MODE-MANUAL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-MANUAL:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-WB-MODE-WARM-FLUORESCENT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-WARM-FLUORESCENT:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-WB-MODE-SHADE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-WB-MODE-SHADE:CAPS">
 <ANCHOR id="GstPhotographyColorToneMode" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GstPhotographyColorToneMode">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-NORMAL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-NORMAL:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-SEPIA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-SEPIA:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-NEGATIVE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-NEGATIVE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-GRAYSCALE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-GRAYSCALE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-NATURAL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-NATURAL:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-VIVID:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-VIVID:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-COLORSWAP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-COLORSWAP:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-SOLARIZE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-SOLARIZE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-OUT-OF-FOCUS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-OUT-OF-FOCUS:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-SKY-BLUE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-SKY-BLUE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-GRASS-GREEN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-GRASS-GREEN:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-SKIN-WHITEN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-SKIN-WHITEN:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-POSTERIZE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-POSTERIZE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-WHITEBOARD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-WHITEBOARD:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-BLACKBOARD:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-BLACKBOARD:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-COLOR-TONE-MODE-AQUA:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-COLOR-TONE-MODE-AQUA:CAPS">
 <ANCHOR id="GstPhotographySceneMode" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GstPhotographySceneMode">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-MANUAL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-MANUAL:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-CLOSEUP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-CLOSEUP:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-PORTRAIT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-PORTRAIT:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-LANDSCAPE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-LANDSCAPE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-SPORT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-SPORT:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-NIGHT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-NIGHT:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-AUTO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-AUTO:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-ACTION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-ACTION:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-NIGHT-PORTRAIT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-NIGHT-PORTRAIT:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-THEATRE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-THEATRE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-BEACH:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-BEACH:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-SNOW:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-SNOW:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-SUNSET:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-SUNSET:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-STEADY-PHOTO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-STEADY-PHOTO:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-FIREWORKS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-FIREWORKS:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-PARTY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-PARTY:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-CANDLELIGHT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-CANDLELIGHT:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SCENE-MODE-BARCODE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SCENE-MODE-BARCODE:CAPS">
 <ANCHOR id="GstPhotographyFlashMode" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GstPhotographyFlashMode">
+<ANCHOR id="GST-PHOTOGRAPHY-FLASH-MODE-AUTO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLASH-MODE-AUTO:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FLASH-MODE-OFF:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLASH-MODE-OFF:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FLASH-MODE-ON:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLASH-MODE-ON:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FLASH-MODE-FILL-IN:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLASH-MODE-FILL-IN:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FLASH-MODE-RED-EYE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLASH-MODE-RED-EYE:CAPS">
 <ANCHOR id="GstPhotographyFlickerReductionMode" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GstPhotographyFlickerReductionMode">
+<ANCHOR id="GST-PHOTOGRAPHY-FLICKER-REDUCTION-OFF:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLICKER-REDUCTION-OFF:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FLICKER-REDUCTION-50HZ:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLICKER-REDUCTION-50HZ:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FLICKER-REDUCTION-60HZ:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLICKER-REDUCTION-60HZ:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FLICKER-REDUCTION-AUTO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FLICKER-REDUCTION-AUTO:CAPS">
 <ANCHOR id="GstPhotographyFocusMode" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GstPhotographyFocusMode">
+<ANCHOR id="GST-PHOTOGRAPHY-FOCUS-MODE-AUTO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-AUTO:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FOCUS-MODE-MACRO:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-MACRO:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FOCUS-MODE-PORTRAIT:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-PORTRAIT:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FOCUS-MODE-INFINITY:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-INFINITY:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FOCUS-MODE-HYPERFOCAL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-HYPERFOCAL:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FOCUS-MODE-EXTENDED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-EXTENDED:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FOCUS-MODE-CONTINUOUS-NORMAL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-CONTINUOUS-NORMAL:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FOCUS-MODE-CONTINUOUS-EXTENDED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-CONTINUOUS-EXTENDED:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FOCUS-MODE-MANUAL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-MODE-MANUAL:CAPS">
 <ANCHOR id="GstPhotographyFocusStatus" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GstPhotographyFocusStatus">
+<ANCHOR id="GST-PHOTOGRAPHY-FOCUS-STATUS-NONE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-STATUS-NONE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FOCUS-STATUS-RUNNING:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-STATUS-RUNNING:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FOCUS-STATUS-FAIL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-STATUS-FAIL:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-FOCUS-STATUS-SUCCESS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-FOCUS-STATUS-SUCCESS:CAPS">
 <ANCHOR id="GstPhotographyCaps" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GstPhotographyCaps">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-NONE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-NONE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-EV-COMP:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-EV-COMP:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-ISO-SPEED:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-ISO-SPEED:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-WB-MODE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-WB-MODE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-TONE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-TONE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-SCENE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-SCENE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-FLASH:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-FLASH:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-ZOOM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-ZOOM:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-FOCUS:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-FOCUS:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-APERTURE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-APERTURE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-EXPOSURE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-EXPOSURE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-SHAKE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-SHAKE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-WHITE-BALANCE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-WHITE-BALANCE:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-NOISE-REDUCTION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-NOISE-REDUCTION:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-FLICKER-REDUCTION:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-FLICKER-REDUCTION:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-CAPS-ALL:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-CAPS-ALL:CAPS">
 <ANCHOR id="GstPhotographyShakeRisk" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GstPhotographyShakeRisk">
+<ANCHOR id="GST-PHOTOGRAPHY-SHAKE-RISK-LOW:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SHAKE-RISK-LOW:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SHAKE-RISK-MEDIUM:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SHAKE-RISK-MEDIUM:CAPS">
+<ANCHOR id="GST-PHOTOGRAPHY-SHAKE-RISK-HIGH:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SHAKE-RISK-HIGH:CAPS">
 <ANCHOR id="GST-PHOTOGRAPHY-AUTOFOCUS-DONE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-AUTOFOCUS-DONE:CAPS">
 <ANCHOR id="GST-PHOTOGRAPHY-SHAKE-RISK:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SHAKE-RISK:CAPS">
 <ANCHOR id="GST-PHOTOGRAPHY-PROP-WB-MODE:CAPS" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-PROP-WB-MODE:CAPS">
diff --git a/docs/libs/html/mpegts.html b/docs/libs/html/mpegts.html
index e4e8b9e..27dce1b 100644
--- a/docs/libs/html/mpegts.html
+++ b/docs/libs/html/mpegts.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Mpeg TS helper library</title>
+<title>Mpeg TS helper library: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-gstmpegvideometa.html" title="gstmpegvideometa">
 <link rel="next" href="gst-plugins-bad-libs-Mpeg-ts-helper-library.html" title="Mpeg-ts helper library">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -55,7 +55,6 @@
       </p>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/style.css b/docs/libs/html/style.css
index c141ddd..3675420 100644
--- a/docs/libs/html/style.css
+++ b/docs/libs/html/style.css
@@ -60,7 +60,7 @@
 div.informaltable table
 {
   border-collapse: separate;
-  border-spacing: 1em 0.5em;
+  border-spacing: 1em 0.3em;
   border: none;
 }
 
@@ -148,6 +148,8 @@
 h4
 {
   color: #555753;
+  margin-top: 1em;
+  margin-bottom: 1em;
 }
 
 hr
@@ -166,17 +168,16 @@
   padding-bottom: 0.25em;
 }
 
-dl.toc > dd > dl > dt
+dl.toc > dt
 {
   padding-top: 0.25em;
   padding-bottom: 0.25em;
+  font-weight: bold;
 }
 
-dl.toc > dt
+dl.toc > dl
 {
-  padding-top: 1em;
   padding-bottom: 0.5em;
-  font-weight: bold;
 }
 
 .parameter
@@ -346,7 +347,9 @@
 }
 
 @media screen {
-  sup a.footnote
+  /* these have a <sup> as a first child, but since there are no parent selectors
+   * we can't use that. */
+  a.footnote
   {
     position: relative;
     top: 0em ! important;
diff --git a/docs/libs/html/tools.html b/docs/libs/html/tools.html
index 6e05b4f..7e5a3d0 100644
--- a/docs/libs/html/tools.html
+++ b/docs/libs/html/tools.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Useful elements</title>
+<title>Useful elements: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="next" href="gst-plugins-bad-libs-GstInsertbin.html" title="GstInsertbin">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -23,11 +23,10 @@
 <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"> — A <span class="type">GstBin</span> to insertally link filter-like elements.</span>
 </dt></dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/libs/html/video.html b/docs/libs/html/video.html
index 64766b6..d10d709 100644
--- a/docs/libs/html/video.html
+++ b/docs/libs/html/video.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Library Reference Manual: Video helpers and baseclasses</title>
+<title>Video helpers and baseclasses: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-GstAggregatorPad.html" title="GstAggregatorPad">
 <link rel="next" href="gst-plugins-bad-libs-GstVideoAggregator.html" title="GstVideoAggregator">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -32,7 +32,6 @@
 </dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/gst-plugins-bad-plugins.args b/docs/plugins/gst-plugins-bad-plugins.args
index 82ccb51..6baf35e 100644
--- a/docs/plugins/gst-plugins-bad-plugins.args
+++ b/docs/plugins/gst-plugins-bad-plugins.args
@@ -22694,7 +22694,7 @@
 <RANGE>>= G_MAXULONG</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>packet alignment</NICK>
-<BLURB>Number of packets per buffer (padded with dummy packets on EOS) (-1 = auto, 0 = all available packets).</BLURB>
+<BLURB>Number of packets per buffer (padded with dummy packets on EOS) (-1 = auto, 0 = all available packets, 7 for UDP streaming).</BLURB>
 <DEFAULT>-1</DEFAULT>
 </ARG>
 
@@ -46264,7 +46264,17 @@
 <RANGE></RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Path to the control socket</NICK>
-<BLURB>The path to the control socket used to control the shared memory transport.</BLURB>
+<BLURB>The path to the control socket used to control the shared memory.</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstShmSrc::shm-area-name</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Name of the shared memory area</NICK>
+<BLURB>The name of the shared memory area used to get buffers.</BLURB>
 <DEFAULT>NULL</DEFAULT>
 </ARG>
 
@@ -46461,7 +46471,7 @@
 <ARG>
 <NAME>GstExclusion::factor</NAME>
 <TYPE>guint</TYPE>
-<RANGE><= 175</RANGE>
+<RANGE>[1,175]</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Factor</NICK>
 <BLURB>Exclusion factor parameter.</BLURB>
@@ -47641,7 +47651,7 @@
 <ARG>
 <NAME>GstFieldAnalysis::block-width</NAME>
 <TYPE>guint64</TYPE>
-<RANGE></RANGE>
+<RANGE>>= 1</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Block width</NICK>
 <BLURB>Block width for windowed comb detection.</BLURB>
@@ -68010,3 +68020,263 @@
 <DEFAULT></DEFAULT>
 </ARG>
 
+<ARG>
+<NAME>GstAudioInterleave::channel-positions</NAME>
+<TYPE>GValueArray*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Channel positions</NICK>
+<BLURB>Channel positions used on the output.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstAudioInterleave::channel-positions-from-input</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Channel positions from input</NICK>
+<BLURB>Take channel positions from the input.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_xray::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_xpro::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_twirl::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_tunnel::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_stretch::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_squeeze::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_square::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_sobel::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_sobel::invert</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Invert the colors for sobel effect</NICK>
+<BLURB>Invert colors to get dark edges on bright background when using sobel effect.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_sin::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_sepia::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_mirror::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_lumaxpro::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_laplacian::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_laplacian::invert</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Invert the colors for sobel effect</NICK>
+<BLURB>Invert colors to get dark edges on bright background when using sobel effect.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_identity::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_heat::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_glow::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_fisheye::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_bulge::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_blur::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLEffectsGeneric::effect</NAME>
+<TYPE>GstGLEffectsEffect</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Effect</NICK>
+<BLURB>Select which effect apply to GL video texture.</BLURB>
+<DEFAULT>Do nothing Effect</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLEffectsGeneric::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLEffectsGeneric::invert</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Invert the colors for sobel effect</NICK>
+<BLURB>Invert colors to get dark edges on bright background when using sobel effect.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
diff --git a/docs/plugins/gst-plugins-bad-plugins.hierarchy b/docs/plugins/gst-plugins-bad-plugins.hierarchy
index 90776fc..e61a754 100644
--- a/docs/plugins/gst-plugins-bad-plugins.hierarchy
+++ b/docs/plugins/gst-plugins-bad-plugins.hierarchy
@@ -3,11 +3,8 @@
     GstObject
       GstAllocator
         GstAllocatorSysmem
-        GstVdpVideoAllocator
         GstWlShmAllocator
       GstAudioRingBuffer
-        GstAudioSinkRingBuffer
-        GstAudioSrcRingBuffer
       GstBus
       GstClock
         GstSystemClock
@@ -16,12 +13,15 @@
       GstControlSource
       GstElement
         GstAggregator
-          GstAudioMixer
+          GstAudioAggregator
+            GstAudioInterleave
+            GstAudioMixer
           GstVideoAggregator
             GstCompositor
             GstGLBaseMixer
               GstGLMixer
                 GstGLMosaic
+                GstGLVideoMixer
         GstAiffMux
         GstAiffParse
         GstAsfMux
@@ -32,15 +32,10 @@
           GstFaad
           GstGSMDec
           GstMpg123AudioDec
-          GstOpusDec
-          GstSbcDec
           GstSirenDec
         GstAudioEncoder
           ADPCMEnc
-          GstFaac
           GstGSMEnc
-          GstOpusEnc
-          GstSbcEnc
           GstSirenEnc
           GstVoAacEnc
           GstVoAmrWbEnc
@@ -60,20 +55,14 @@
           GstJpegParse
           GstMpeg4VParse
           GstMpegvParse
-          GstOpusParse
           GstPngParse
           GstVC1Parse
         GstBaseSink
           GstAudioBaseSink
-            GstAudioSink
-              GstOpenALSink
             GstDecklinkAudioSink
-          GstAvdtpSink
           GstChecksumSink
           GstCurlBaseSink
             GstCurlFileSink
-            GstCurlSshSink
-              GstCurlSftpSink
             GstCurlTlsSink
               GstCurlFtpSink
               GstCurlHttpSink
@@ -82,13 +71,13 @@
           GstInterAudioSink
           GstInterSubSink
           GstInterVideoSink
-          GstRTMPSink
           GstShmSink
           GstVideoSink
+            GstDfbVideoSink
             GstFBDEVSink
+            GstGLImageSink
             GstWaylandSink
         GstBaseSrc
-          GstAvdtpSrc
           GstDataURISrc
           GstFliteTestSrc
           GstInterAudioSrc
@@ -98,16 +87,11 @@
             ladspasrc-noise-so-noise-white
             ladspasrc-sine-so-sine-fcac
           GstPushSrc
-            GstAudioBaseSrc
-              GstAudioSrc
-                GstOpenalSrc
             GstDecklinkAudioSrc
             GstDecklinkVideoSrc
             GstDvbSrc
             GstGLTestSrc
             GstMMS
-            GstNeonhttpSrc
-            GstRTMPSrc
             GstRfbSrc
             GstShmSrc
             GstVCDSrc
@@ -115,7 +99,6 @@
           GstAudioFilter
             GstAccurip
             GstAudioChannelMix
-            GstBPMDetect
             GstChromaprint
             GstLADSPAFilter
               ladspa-amp-so-amp-mono
@@ -139,13 +122,30 @@
               GstGLDeinterlace
               GstGLDifferenceMatte
               GstGLEffects
+                GstGLEffectsGeneric
+                gleffects_blur
+                gleffects_bulge
+                gleffects_fisheye
+                gleffects_glow
+                gleffects_heat
+                gleffects_identity
+                gleffects_laplacian
+                gleffects_lumaxpro
+                gleffects_mirror
+                gleffects_sepia
+                gleffects_sin
+                gleffects_sobel
+                gleffects_square
+                gleffects_squeeze
+                gleffects_stretch
+                gleffects_tunnel
+                gleffects_twirl
+                gleffects_xpro
+                gleffects_xray
               GstGLFilterApp
-              GstGLFilterBlur
               GstGLFilterCube
               GstGLFilterGlass
-              GstGLFilterLaplacian
               GstGLFilterShader
-              GstGLFilterSobel
               GstGLOverlay
             GstGLUploadElement
           GstIvtc
@@ -179,23 +179,7 @@
               GstPerspective
               GstRotate
               GstSquare
-            GstGrabcut
-            GstOpencvVideoFilter
-              GstCvDilateErode
-                GstCvDilate
-                GstCvErode
-              GstCvEqualizeHist
-              GstCvLaplace
-              GstCvSmooth
-              GstCvSobel
-              GstFaceBlur
-              GstFaceDetect
-              GstHanddetect
-              GstSkinDetect
-            GstRetinex
-            GstRsvgOverlay
             GstSceneChange
-            GstSegmentation
             GstSimpleVideoMark
             GstSimpleVideoMarkDetect
             GstSmooth
@@ -207,11 +191,8 @@
           GstYadif
         GstBin
           DvbBaseBin
-          GstA2dpSink
           GstAdaptiveDemux
             GstDashDemux
-            GstHLSDemux
-            GstMssDemux
           GstAutoConvert
           GstAutoVideoConvert
           GstBaseCameraSrc
@@ -224,7 +205,6 @@
           GstGLSinkBin
             GstGLImageSinkBin
           GstGLSrcBin
-          GstHlsSink
           GstPipeline
             GstCameraBin
           GstSDPDemux
@@ -236,14 +216,11 @@
         GstCompare
         GstDVBSubOverlay
         GstDVDSpu
-        GstDisparity
-        GstEdgeDetect
         GstFestival
         GstFieldAnalysis
         GstFluidDec
         GstGDPDepay
         GstGDPPay
-        GstGmeDec
         GstInterlace
         GstJP2kDecimator
         GstJifMux
@@ -257,58 +234,36 @@
         GstMimDec
         GstMimEnc
         GstModPlug
-        GstMotioncells
-        GstMpeg2enc
         GstMpegPSDemux
         GstMplex
-        GstOpencvTextOverlay
         GstPcapParse
-        GstPitch
-        GstPyramidSegment
         GstRTPBaseDepayload
-          GstRTPOpusDepay
           GstRtpH265Depay
         GstRTPBasePayload
           GstRtpAsfPay
           GstRtpH265Pay
-          GstRtpOPUSPay
         GstRawParse
           GstAudioParse
           GstVideoParse
         GstRtpOnvifParse
         GstRtpOnvifTimestamp
-        GstSFDec
         GstSegmentClip
           GstAudioSegmentClip
           GstVideoSegmentClip
         GstSpeed
         GstSrtEnc
-        GstSrtpDec
-        GstSrtpEnc
         GstTagMux
           GstId3Mux
-        GstTemplateMatch
         GstUvcH264MjpgDemux
         GstVideoDecoder
           GstLibde265Dec
-          GstOpenEXRDec
-          GstOpenJPEGDec
           GstOpenh264Dec
           GstPnmdec
-          GstRsvgDec
-          GstSchroDec
           GstVMncDec
-          GstVdpDecoder
-            GstVdpMpegDec
-          GstWebPDec
         GstVideoEncoder
-          GstOpenJPEGEnc
           GstOpenh264Enc
           GstPnmenc
-          GstSchroEnc
-          GstWebpEnc
         GstWebvttEnc
-        GstWildmidi
         GstY4mDec
         MpegPsMux
         MpegTSBase
@@ -318,11 +273,14 @@
       GstGLContext
       GstPad
         GstAggregatorPad
-          GstAudioMixerPad
+          GstAudioAggregatorPad
+            GstAudioInterleavePad
+            GstAudioMixerPad
           GstVideoAggregatorPad
             GstCompositorPad
             GstGLBaseMixerPad
               GstGLMixerPad
+                GstGLVideoMixerPad
       GstPadTemplate
       GstPlugin
       GstPluginFeature
@@ -332,8 +290,8 @@
       GstRegistry
       GstTask
       GstTaskPool
+  GstColorBalanceChannel
   GstEncodingProfile
-  GstVdpDevice
   MXFMetadataBase
     MXFDescriptiveMetadata
       MXFDMS1
@@ -410,6 +368,7 @@
 GInterface
   GTypePlugin
   GstChildProxy
+  GstColorBalance
   GstNavigation
   GstPreset
   GstTagSetter
diff --git a/docs/plugins/gst-plugins-bad-plugins.interfaces b/docs/plugins/gst-plugins-bad-plugins.interfaces
index b2425c6..ca961ce 100644
--- a/docs/plugins/gst-plugins-bad-plugins.interfaces
+++ b/docs/plugins/gst-plugins-bad-plugins.interfaces
@@ -6,6 +6,7 @@
 GstApExSink GstImplementsInterface GstMixer
 GstAsfMux GstTagSetter
 GstAudioEncoder GstPreset
+GstAudioInterleave GstChildProxy
 GstAudioMixer GstChildProxy
 GstAutoConvert GstChildProxy
 GstAutoVideoConvert GstChildProxy
diff --git a/docs/plugins/gst-plugins-bad-plugins.signals b/docs/plugins/gst-plugins-bad-plugins.signals
index 7c57afa..24d27ab 100644
--- a/docs/plugins/gst-plugins-bad-plugins.signals
+++ b/docs/plugins/gst-plugins-bad-plugins.signals
@@ -659,9 +659,7 @@
 <FLAGS>l</FLAGS>
 GstGLImageSink *gstglimagesink
 GstGLContext *arg1
-guint  arg2
-guint  arg3
-guint  arg4
+GstSample *arg2
 </SIGNAL>
 
 <SIGNAL>
@@ -711,9 +709,7 @@
 <FLAGS>l</FLAGS>
 GstGLImageSinkBin *gstglimagesinkbin
 GstGLContext *arg1
-guint  arg2
-guint  arg3
-guint  arg4
+GstSample *arg2
 </SIGNAL>
 
 <SIGNAL>
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index a124fa2..4229654 100644
--- a/docs/plugins/html/ch01.html
+++ b/docs/plugins/html/ch01.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: gst-plugins-bad Elements</title>
+<title>gst-plugins-bad Elements: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="next" href="gst-plugins-bad-plugins-accurip.html" title="accurip">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -63,7 +63,7 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-coloreffects.html">coloreffects</a></span><span class="refpurpose"> — Color Look-up Table filter</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-compositor.html">compositor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-compositor.html">compositor</a></span><span class="refpurpose"> — Composite multiple video streams</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-cvdilate.html">cvdilate</a></span><span class="refpurpose"> — Applies cvDilate OpenCV function to the image</span>
@@ -287,7 +287,6 @@
 </dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/ch02.html b/docs/plugins/html/ch02.html
index c3ade9b..2467873 100644
--- a/docs/plugins/html/ch02.html
+++ b/docs/plugins/html/ch02.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: gst-plugins-bad Plugins</title>
+<title>gst-plugins-bad Plugins: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="next" href="gst-plugins-bad-plugins-plugin-aiff.html" title="aiff">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -24,150 +24,149 @@
 <a name="id-1.3"></a>gst-plugins-bad Plugins</h1></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-aiff.html">aiff</a></span><span class="refpurpose">Create and parse Audio Interchange File Format (AIFF) files</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-aiff.html">aiff</a></span><span class="refpurpose"> — Create and parse Audio Interchange File Format (AIFF) files</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-audiomixer.html">audiomixer</a></span><span class="refpurpose">Mixes multiple audio streams</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-audiomixer.html">audiomixer</a></span><span class="refpurpose"> — Mixes multiple audio streams</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-audiovisualizers.html">audiovisualizers</a></span><span class="refpurpose">Creates video visualizations of audio input</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-audiovisualizers.html">audiovisualizers</a></span><span class="refpurpose"> — Creates video visualizations of audio input</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-autoconvert.html">autoconvert</a></span><span class="refpurpose">Selects convertor element based on caps</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-autoconvert.html">autoconvert</a></span><span class="refpurpose"> — Selects convertor element based on caps</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-assrender.html">assrender</a></span><span class="refpurpose">ASS/SSA subtitle renderer</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-assrender.html">assrender</a></span><span class="refpurpose"> — ASS/SSA subtitle renderer</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-bayer.html">bayer</a></span><span class="refpurpose">Elements to convert Bayer images</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-bayer.html">bayer</a></span><span class="refpurpose"> — Elements to convert Bayer images</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-bs2b.html">bs2b</a></span><span class="refpurpose">Improve headphone listening of stereo audio recordsusing the bs2b library.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-bs2b.html">bs2b</a></span><span class="refpurpose"> — Improve headphone listening of stereo audio recordsusing the bs2b library.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-bz2.html">bz2</a></span><span class="refpurpose">Compress or decompress streams</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-bz2.html">bz2</a></span><span class="refpurpose"> — Compress or decompress streams</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-camerabin.html">camerabin</a></span><span class="refpurpose">Take image snapshots and record movies from camera</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-camerabin.html">camerabin</a></span><span class="refpurpose"> — Take image snapshots and record movies from camera</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-coloreffects.html">coloreffects</a></span><span class="refpurpose">Color Look-up Table filters</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-coloreffects.html">coloreffects</a></span><span class="refpurpose"> — Color Look-up Table filters</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-curl.html">curl</a></span><span class="refpurpose">libcurl-based elements</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-curl.html">curl</a></span><span class="refpurpose"> — libcurl-based elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dataurisrc.html">dataurisrc</a></span><span class="refpurpose">data: URI source</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dataurisrc.html">dataurisrc</a></span><span class="refpurpose"> — data: URI source</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-debugutilsbad.html">debugutilsbad</a></span><span class="refpurpose">Collection of elements that may or may not be useful for debugging</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-debugutilsbad.html">debugutilsbad</a></span><span class="refpurpose"> — Collection of elements that may or may not be useful for debugging</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dtsdec.html">dtsdec</a></span><span class="refpurpose">Decodes DTS audio streams</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dtsdec.html">dtsdec</a></span><span class="refpurpose"> — Decodes DTS audio streams</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dvb.html">dvb</a></span><span class="refpurpose">DVB elements</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dvb.html">dvb</a></span><span class="refpurpose"> — DVB elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dvdspu.html">dvdspu</a></span><span class="refpurpose">DVD Sub-picture Overlay element</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dvdspu.html">dvdspu</a></span><span class="refpurpose"> — DVD Sub-picture Overlay element</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-faac.html">faac</a></span><span class="refpurpose">Free AAC Encoder (FAAC)</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-faac.html">faac</a></span><span class="refpurpose"> — Free AAC Encoder (FAAC)</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-faad.html">faad</a></span><span class="refpurpose">Free AAC Decoder (FAAD)</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-faad.html">faad</a></span><span class="refpurpose"> — Free AAC Decoder (FAAD)</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-festival.html">festival</a></span><span class="refpurpose">Synthesizes plain text into audio</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-festival.html">festival</a></span><span class="refpurpose"> — Synthesizes plain text into audio</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-gaudieffects.html">gaudieffects</a></span><span class="refpurpose">Gaudi video effects.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-gaudieffects.html">gaudieffects</a></span><span class="refpurpose"> — Gaudi video effects.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-geometrictransform.html">geometrictransform</a></span><span class="refpurpose">Various geometric image transform elements</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-geometrictransform.html">geometrictransform</a></span><span class="refpurpose"> — Various geometric image transform elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-gsm.html">gsm</a></span><span class="refpurpose">GSM encoder/decoder</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-gsm.html">gsm</a></span><span class="refpurpose"> — GSM encoder/decoder</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-jpegformat.html">jpegformat</a></span><span class="refpurpose">JPEG interchange format plugin</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-jpegformat.html">jpegformat</a></span><span class="refpurpose"> — JPEG interchange format plugin</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-liveadder.html">liveadder</a></span><span class="refpurpose">Adds multiple live discontinuous streams</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-liveadder.html">liveadder</a></span><span class="refpurpose"> — Adds multiple live discontinuous streams</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mimic.html">mimic</a></span><span class="refpurpose">Mimic codec</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mimic.html">mimic</a></span><span class="refpurpose"> — Mimic codec</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mms.html">mms</a></span><span class="refpurpose">Microsoft Multi Media Server streaming protocol support</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mms.html">mms</a></span><span class="refpurpose"> — Microsoft Multi Media Server streaming protocol support</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-modplug.html">modplug</a></span><span class="refpurpose">.MOD audio decoding</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-modplug.html">modplug</a></span><span class="refpurpose"> — .MOD audio decoding</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mpeg2enc.html">mpeg2enc</a></span><span class="refpurpose">High-quality MPEG-1/2 video encoder</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mpeg2enc.html">mpeg2enc</a></span><span class="refpurpose"> — High-quality MPEG-1/2 video encoder</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mpegpsmux.html">mpegpsmux</a></span><span class="refpurpose">MPEG-PS muxer</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mpegpsmux.html">mpegpsmux</a></span><span class="refpurpose"> — MPEG-PS muxer</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mpegtsmux.html">mpegtsmux</a></span><span class="refpurpose">MPEG-TS muxer</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mpegtsmux.html">mpegtsmux</a></span><span class="refpurpose"> — MPEG-TS muxer</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mplex.html">mplex</a></span><span class="refpurpose">High-quality MPEG/DVD/SVCD/VCD video/audio multiplexer</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mplex.html">mplex</a></span><span class="refpurpose"> — High-quality MPEG/DVD/SVCD/VCD video/audio multiplexer</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-neon.html">neon</a></span><span class="refpurpose">lib neon http client src</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-neon.html">neon</a></span><span class="refpurpose"> — lib neon http client src</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-ofa.html">ofa</a></span><span class="refpurpose">Calculate MusicIP fingerprint from audio files</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-ofa.html">ofa</a></span><span class="refpurpose"> — Calculate MusicIP fingerprint from audio files</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-openal.html">openal</a></span><span class="refpurpose">OpenAL plugin library</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-openal.html">openal</a></span><span class="refpurpose"> — OpenAL plugin library</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-opencv.html">opencv</a></span><span class="refpurpose">GStreamer OpenCV Plugins</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-opencv.html">opencv</a></span><span class="refpurpose"> — GStreamer OpenCV Plugins</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-opus.html">opus</a></span><span class="refpurpose">OPUS plugin library</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-opus.html">opus</a></span><span class="refpurpose"> — OPUS plugin library</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-pcapparse.html">pcapparse</a></span><span class="refpurpose">Element parsing raw pcap streams</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-pcapparse.html">pcapparse</a></span><span class="refpurpose"> — Element parsing raw pcap streams</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-rawparse.html">rawparse</a></span><span class="refpurpose">Parses byte streams into raw frames</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-rawparse.html">rawparse</a></span><span class="refpurpose"> — Parses byte streams into raw frames</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-rfbsrc.html">rfbsrc</a></span><span class="refpurpose">Connects to a VNC server and decodes RFB stream</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-rfbsrc.html">rfbsrc</a></span><span class="refpurpose"> — Connects to a VNC server and decodes RFB stream</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-rtmp.html">rtmp</a></span><span class="refpurpose">RTMP source and sink</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-rtmp.html">rtmp</a></span><span class="refpurpose"> — RTMP source and sink</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-sdp.html">sdp</a></span><span class="refpurpose">configure streaming sessions using SDP</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-sdp.html">sdp</a></span><span class="refpurpose"> — configure streaming sessions using SDP</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-shm.html">shm</a></span><span class="refpurpose">shared memory sink source</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-shm.html">shm</a></span><span class="refpurpose"> — shared memory sink source</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-soundtouch.html">soundtouch</a></span><span class="refpurpose">Audio Pitch Controller &amp; BPM Detection</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-soundtouch.html">soundtouch</a></span><span class="refpurpose"> — Audio Pitch Controller &amp; BPM Detection</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-speed.html">speed</a></span><span class="refpurpose">Set speed/pitch on audio/raw streams (resampler)</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-speed.html">speed</a></span><span class="refpurpose"> — Set speed/pitch on audio/raw streams (resampler)</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-voaacenc.html">voaacenc</a></span><span class="refpurpose">AAC audio encoder</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-voaacenc.html">voaacenc</a></span><span class="refpurpose"> — AAC audio encoder</span>
 </dt>
 <dt>
-<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>
+<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-zbar.html">zbar</a></span><span class="refpurpose">zbar barcode scanner</span>
+<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>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 6b1e10d..1c851cd 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-1.0.devhelp2
+++ b/docs/plugins/html/gst-plugins-bad-plugins-1.0.devhelp2
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
 <book xmlns="http://www.devhelp.net/book" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual" link="index.html" author="" name="gst-plugins-bad-plugins-1.0" version="2" language="c">
   <chapters>
     <sub name="gst-plugins-bad Elements" link="ch01.html">
@@ -142,129 +141,67 @@
     </sub>
   </chapters>
   <functions>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-accurip.html#id-1.2.2.7.5"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-accurip.html#id-1.2.2.7.6.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-accurip.html#id-1.2.2.7.6.2"/>
     <keyword type="struct" name="struct GstAccurip" link="gst-plugins-bad-plugins-accurip.html#GstAccurip-struct"/>
     <keyword type="property" name="The “first-track” property" link="gst-plugins-bad-plugins-accurip.html#GstAccurip--first-track"/>
     <keyword type="property" name="The “last-track” property" link="gst-plugins-bad-plugins-accurip.html#GstAccurip--last-track"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-aiffparse.html#id-1.2.3.6.2"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-aiffparse.html#id-1.2.3.6.3.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-aiffparse.html#id-1.2.3.6.3.2"/>
     <keyword type="struct" name="struct GstAiffParse" link="gst-plugins-bad-plugins-aiffparse.html#GstAiffParse-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-aiffmux.html#id-1.2.4.6.2.1.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-aiffmux.html#id-1.2.4.6.2.1.2"/>
     <keyword type="struct" name="struct GstAiffMux" link="gst-plugins-bad-plugins-aiffmux.html#GstAiffMux-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-assrender.html#id-1.2.5.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-assrender.html#id-1.2.5.7.2.2"/>
     <keyword type="struct" name="struct GstAssRender" link="gst-plugins-bad-plugins-assrender.html#GstAssRender-struct"/>
     <keyword type="property" name="The “embeddedfonts” property" link="gst-plugins-bad-plugins-assrender.html#GstAssRender--embeddedfonts"/>
     <keyword type="property" name="The “enable” property" link="gst-plugins-bad-plugins-assrender.html#GstAssRender--enable"/>
     <keyword type="property" name="The “wait-text” property" link="gst-plugins-bad-plugins-assrender.html#GstAssRender--wait-text"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-audiomixer.html#id-1.2.6.8.6"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-audiomixer.html#id-1.2.6.8.7.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-audiomixer.html#id-1.2.6.8.7.2"/>
     <keyword type="struct" name="struct GstAudioMixer" link="gst-plugins-bad-plugins-audiomixer.html#GstAudioMixer-struct"/>
     <keyword type="property" name="The “alignment-threshold” property" link="gst-plugins-bad-plugins-audiomixer.html#GstAudioMixer--alignment-threshold"/>
     <keyword type="property" name="The “caps” property" link="gst-plugins-bad-plugins-audiomixer.html#GstAudioMixer--caps"/>
     <keyword type="property" name="The “discont-wait” property" link="gst-plugins-bad-plugins-audiomixer.html#GstAudioMixer--discont-wait"/>
     <keyword type="property" name="The “blocksize” property" link="gst-plugins-bad-plugins-audiomixer.html#GstAudioMixer--blocksize"/>
     <keyword type="property" name="The “output-buffer-duration” property" link="gst-plugins-bad-plugins-audiomixer.html#GstAudioMixer--output-buffer-duration"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-autoconvert.html#id-1.2.7.8.3.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-autoconvert.html#id-1.2.7.8.3.2.2"/>
     <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="" name="Element Information" link="gst-plugins-bad-plugins-bs2b.html#id-1.2.8.4.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-bs2b.html#id-1.2.8.4.2.2"/>
     <keyword type="struct" name="struct GstBs2b" link="gst-plugins-bad-plugins-bs2b.html#GstBs2b"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-bulge.html#id-1.2.9.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-bulge.html#id-1.2.9.7.2.2"/>
     <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="" name="Example launch line" link="gst-plugins-bad-plugins-burn.html#id-1.2.10.7.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-burn.html#id-1.2.10.7.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-burn.html#id-1.2.10.7.4.2"/>
     <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="" name="Element Information" link="gst-plugins-bad-plugins-camerabin.html#id-1.2.11.3.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-camerabin.html#id-1.2.11.3.2.2"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-chromium.html#id-1.2.12.6.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-chromium.html#id-1.2.12.6.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-chromium.html#id-1.2.12.6.4.2"/>
     <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"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-circle.html#id-1.2.13.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-circle.html#id-1.2.13.7.2.2"/>
     <keyword type="struct" name="struct GstCircle" link="gst-plugins-bad-plugins-circle.html#GstCircle-struct"/>
     <keyword type="property" name="The “angle” property" link="gst-plugins-bad-plugins-circle.html#GstCircle--angle"/>
     <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="" name="Example launch line" link="gst-plugins-bad-plugins-coloreffects.html#id-1.2.14.7.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-coloreffects.html#id-1.2.14.7.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-coloreffects.html#id-1.2.14.7.4.2"/>
     <keyword type="struct" name="struct GstColorEffects" link="gst-plugins-bad-plugins-coloreffects.html#GstColorEffects-struct"/>
     <keyword type="property" name="The “preset” property" link="gst-plugins-bad-plugins-coloreffects.html#GstColorEffects--preset"/>
-    <keyword type="" name="Sample pipelines" link="gst-plugins-bad-plugins-compositor.html#id-1.2.15.7.6"/>
     <keyword type="property" name="The “background” property" link="gst-plugins-bad-plugins-compositor.html#GstCompositor--background"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvdilate.html#id-1.2.16.6.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvdilate.html#id-1.2.16.6.2.2"/>
-    <keyword type="struct" name="struct GstCvDilate" link="gst-plugins-bad-plugins-cvdilate.html#GstCvDilate-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cverode.html#id-1.2.17.6.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cverode.html#id-1.2.17.6.2.2"/>
-    <keyword type="struct" name="struct GstCvErode" link="gst-plugins-bad-plugins-cverode.html#GstCvErode-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvequalizehist.html#id-1.2.18.6.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvequalizehist.html#id-1.2.18.6.2.2"/>
-    <keyword type="struct" name="struct GstCvEqualizeHist" link="gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvlaplace.html#id-1.2.19.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvlaplace.html#id-1.2.19.7.2.2"/>
-    <keyword type="struct" name="struct GstCvLaplace" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace-struct"/>
+    <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="property" name="The “aperture-size” property" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--aperture-size"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvsmooth.html#id-1.2.20.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvsmooth.html#id-1.2.20.7.2.2"/>
-    <keyword type="struct" name="struct GstCvSmooth" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth-struct"/>
+    <keyword type="struct" name="struct GstCvSmooth" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth"/>
     <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"/>
     <keyword type="property" name="The “param4” property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param4"/>
     <keyword type="property" name="The “type” property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--type"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvsobel.html#id-1.2.21.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvsobel.html#id-1.2.21.7.2.2"/>
-    <keyword type="struct" name="struct GstCvSobel" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel-struct"/>
+    <keyword type="struct" name="struct GstCvSobel" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel"/>
     <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"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-dataurisrc.html#id-1.2.22.8.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dataurisrc.html#id-1.2.22.8.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dataurisrc.html#id-1.2.22.8.4.2"/>
     <keyword type="struct" name="struct GstDataURISrc" link="gst-plugins-bad-plugins-dataurisrc.html#GstDataURISrc-struct"/>
     <keyword type="property" name="The “uri” property" link="gst-plugins-bad-plugins-dataurisrc.html#GstDataURISrc--uri"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-diffuse.html#id-1.2.23.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-diffuse.html#id-1.2.23.7.2.2"/>
     <keyword type="struct" name="struct GstDiffuse" link="gst-plugins-bad-plugins-diffuse.html#GstDiffuse-struct"/>
     <keyword type="property" name="The “scale” property" link="gst-plugins-bad-plugins-diffuse.html#GstDiffuse--scale"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-dilate.html#id-1.2.24.7.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dilate.html#id-1.2.24.7.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dilate.html#id-1.2.24.7.4.2"/>
     <keyword type="struct" name="struct GstDilate" link="gst-plugins-bad-plugins-dilate.html#GstDilate-struct"/>
     <keyword type="property" name="The “silent” property" link="gst-plugins-bad-plugins-dilate.html#GstDilate--silent"/>
     <keyword type="property" name="The “erode” property" link="gst-plugins-bad-plugins-dilate.html#GstDilate--erode"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-dodge.html#id-1.2.25.7.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dodge.html#id-1.2.25.7.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dodge.html#id-1.2.25.7.4.2"/>
     <keyword type="struct" name="struct GstDodge" link="gst-plugins-bad-plugins-dodge.html#GstDodge-struct"/>
     <keyword type="property" name="The “silent” property" link="gst-plugins-bad-plugins-dodge.html#GstDodge--silent"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dtmfdetect.html#id-1.2.26.4.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dtmfdetect.html#id-1.2.26.4.2.2"/>
     <keyword type="struct" name="struct GstDtmfDetect" link="gst-plugins-bad-plugins-dtmfdetect.html#GstDtmfDetect"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dtsdec.html#id-1.2.27.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dtsdec.html#id-1.2.27.7.2.2"/>
     <keyword type="struct" name="struct GstDtsDec" link="gst-plugins-bad-plugins-dtsdec.html#GstDtsDec-struct"/>
     <keyword type="property" name="The “drc” property" link="gst-plugins-bad-plugins-dtsdec.html#GstDtsDec--drc"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dvbsrc.html#id-1.2.28.8.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dvbsrc.html#id-1.2.28.8.2.2"/>
     <keyword type="struct" name="struct GstDvbSrc" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc-struct"/>
     <keyword type="property" name="The “bandwidth-hz” property" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc--bandwidth-hz"/>
     <keyword type="property" name="The “bandwidth” property" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc--bandwidth"/>
@@ -322,21 +259,11 @@
     <keyword type="signal" name="The “tuning-fail” signal" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc-tuning-fail"/>
     <keyword type="signal" name="The “tuning-start” signal" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc-tuning-start"/>
     <keyword type="signal" name="The “tune” signal" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc-tune"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-dvdspu.html#id-1.2.29.6.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dvdspu.html#id-1.2.29.6.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dvdspu.html#id-1.2.29.6.4.2"/>
     <keyword type="struct" name="GstDVDSpu" link="gst-plugins-bad-plugins-dvdspu.html#GstDVDSpu-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-exclusion.html#id-1.2.30.7.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-exclusion.html#id-1.2.30.7.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-exclusion.html#id-1.2.30.7.4.2"/>
     <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="" name="Element Information" link="gst-plugins-bad-plugins-edgedetect.html#id-1.2.31.3.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-edgedetect.html#id-1.2.31.3.2.2"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-faac.html#id-1.2.32.8.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-faac.html#id-1.2.32.8.2.2"/>
-    <keyword type="struct" name="struct GstFaac" link="gst-plugins-bad-plugins-faac.html#GstFaac-struct"/>
+    <keyword type="struct" name="struct GstFaac" link="gst-plugins-bad-plugins-faac.html#GstFaac"/>
     <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"/>
     <keyword type="property" name="The “outputformat” property" link="gst-plugins-bad-plugins-faac.html#GstFaac--outputformat"/>
@@ -345,23 +272,9 @@
     <keyword type="property" name="The “tns” property" link="gst-plugins-bad-plugins-faac.html#GstFaac--tns"/>
     <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="" name="Element Information" link="gst-plugins-bad-plugins-faad.html#id-1.2.33.6.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-faad.html#id-1.2.33.6.2.2"/>
     <keyword type="struct" name="GstFaad" link="gst-plugins-bad-plugins-faad.html#GstFaad-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-faceblur.html#id-1.2.34.3.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-faceblur.html#id-1.2.34.3.2.2"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-facedetect.html#id-1.2.35.3.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-facedetect.html#id-1.2.35.3.2.2"/>
-    <keyword type="" name="Example pipeline" link="gst-plugins-bad-plugins-festival.html#id-1.2.36.6.5"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-festival.html#id-1.2.36.6.6.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-festival.html#id-1.2.36.6.6.2"/>
     <keyword type="struct" name="struct GstFestival" link="gst-plugins-bad-plugins-festival.html#GstFestival-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-fisheye.html#id-1.2.37.6.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-fisheye.html#id-1.2.37.6.2.2"/>
     <keyword type="struct" name="struct GstFisheye" link="gst-plugins-bad-plugins-fisheye.html#GstFisheye-struct"/>
-    <keyword type="" name="Example launch lines" link="gst-plugins-bad-plugins-fpsdisplaysink.html#id-1.2.38.9.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-fpsdisplaysink.html#id-1.2.38.9.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-fpsdisplaysink.html#id-1.2.38.9.4.2"/>
     <keyword type="struct" name="struct GstFPSDisplaySink" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink-struct"/>
     <keyword type="property" name="The “sync” property" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink--sync"/>
     <keyword type="property" name="The “text-overlay” property" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink--text-overlay"/>
@@ -375,12 +288,6 @@
     <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="" name="Example launch line" link="gst-plugins-bad-plugins-gaussianblur.html#id-1.2.39.3.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-gaussianblur.html#id-1.2.39.3.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-gaussianblur.html#id-1.2.39.3.4.2"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-jpegparse.html#id-1.2.40.7.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-jpegparse.html#id-1.2.40.7.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-jpegparse.html#id-1.2.40.7.4.2"/>
     <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"/>
@@ -389,36 +296,22 @@
     <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="" name="Element Information" link="gst-plugins-bad-plugins-kaleidoscope.html#id-1.2.41.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-kaleidoscope.html#id-1.2.41.7.2.2"/>
     <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"/>
     <keyword type="property" name="The “sides” property" link="gst-plugins-bad-plugins-kaleidoscope.html#GstKaleidoscope--sides"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-liveadder.html#id-1.2.42.7.3.1.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-liveadder.html#id-1.2.42.7.3.1.2"/>
     <keyword type="struct" name="struct GstLiveAdder" link="gst-plugins-bad-plugins-liveadder.html#GstLiveAdder-struct"/>
     <keyword type="property" name="The “latency” property" link="gst-plugins-bad-plugins-liveadder.html#GstLiveAdder--latency"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-marble.html#id-1.2.43.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-marble.html#id-1.2.43.7.2.2"/>
     <keyword type="struct" name="struct GstMarble" link="gst-plugins-bad-plugins-marble.html#GstMarble-struct"/>
     <keyword type="property" name="The “amount” property" link="gst-plugins-bad-plugins-marble.html#GstMarble--amount"/>
     <keyword type="property" name="The “turbulence” property" link="gst-plugins-bad-plugins-marble.html#GstMarble--turbulence"/>
     <keyword type="property" name="The “x-scale” property" link="gst-plugins-bad-plugins-marble.html#GstMarble--x-scale"/>
     <keyword type="property" name="The “y-scale” property" link="gst-plugins-bad-plugins-marble.html#GstMarble--y-scale"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mimenc.html#id-1.2.44.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mimenc.html#id-1.2.44.7.2.2"/>
     <keyword type="struct" name="struct GstMimEnc" link="gst-plugins-bad-plugins-mimenc.html#GstMimEnc-struct"/>
     <keyword type="property" name="The “paused-mode” property" link="gst-plugins-bad-plugins-mimenc.html#GstMimEnc--paused-mode"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mimdec.html#id-1.2.45.6.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mimdec.html#id-1.2.45.6.2.2"/>
     <keyword type="struct" name="struct GstMimDec" link="gst-plugins-bad-plugins-mimdec.html#GstMimDec-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mirror.html#id-1.2.46.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mirror.html#id-1.2.46.7.2.2"/>
     <keyword type="struct" name="struct GstMirror" link="gst-plugins-bad-plugins-mirror.html#GstMirror-struct"/>
     <keyword type="property" name="The “mode” property" link="gst-plugins-bad-plugins-mirror.html#GstMirror--mode"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-modplug.html#id-1.2.47.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-modplug.html#id-1.2.47.7.2.2"/>
     <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"/>
     <keyword type="property" name="The “megabass-amount” property" link="gst-plugins-bad-plugins-modplug.html#GstModPlug--megabass-amount"/>
@@ -432,9 +325,7 @@
     <keyword type="property" name="The “surround” property" link="gst-plugins-bad-plugins-modplug.html#GstModPlug--surround"/>
     <keyword type="property" name="The “surround-delay” property" link="gst-plugins-bad-plugins-modplug.html#GstModPlug--surround-delay"/>
     <keyword type="property" name="The “surround-depth” property" link="gst-plugins-bad-plugins-modplug.html#GstModPlug--surround-depth"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mpeg2enc.html#id-1.2.48.8.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mpeg2enc.html#id-1.2.48.8.2.2"/>
-    <keyword type="struct" name="GstMpeg2enc" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc-struct"/>
+    <keyword type="struct" name="GstMpeg2enc" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc"/>
     <keyword type="property" name="The “altscan-mpeg2” property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--altscan-mpeg2"/>
     <keyword type="property" name="The “aspect” property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--aspect"/>
     <keyword type="property" name="The “b-per-refframe” property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--b-per-refframe"/>
@@ -469,19 +360,13 @@
     <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="" name="Element Information" link="gst-plugins-bad-plugins-mpegpsmux.html#id-1.2.49.6.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mpegpsmux.html#id-1.2.49.6.2.2"/>
     <keyword type="property" name="The “aggregate-gops” property" link="gst-plugins-bad-plugins-mpegpsmux.html#MpegPsMux--aggregate-gops"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mpegtsmux.html#id-1.2.50.6.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mpegtsmux.html#id-1.2.50.6.2.2"/>
     <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="" name="Element Information" link="gst-plugins-bad-plugins-mplex.html#id-1.2.51.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mplex.html#id-1.2.51.7.2.2"/>
     <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"/>
@@ -490,12 +375,8 @@
     <keyword type="property" name="The “sector-size” property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--sector-size"/>
     <keyword type="property" name="The “system-headers” property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--system-headers"/>
     <keyword type="property" name="The “vbr” property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--vbr"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mpg123audiodec.html#id-1.2.52.6.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mpg123audiodec.html#id-1.2.52.6.2.2"/>
     <keyword type="struct" name="struct GstMpg123AudioDec" link="gst-plugins-bad-plugins-mpg123audiodec.html#GstMpg123AudioDec-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-neonhttpsrc.html#id-1.2.53.8.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-neonhttpsrc.html#id-1.2.53.8.2.2"/>
-    <keyword type="struct" name="struct GstNeonhttpSrc" link="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc-struct"/>
+    <keyword type="struct" name="struct GstNeonhttpSrc" link="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc"/>
     <keyword type="property" name="The “location” property" link="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc--location"/>
     <keyword type="property" name="The “proxy” property" link="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc--proxy"/>
     <keyword type="property" name="The “uri” property" link="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc--uri"/>
@@ -510,25 +391,15 @@
     <keyword type="property" name="The “connect-timeout” property" link="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc--connect-timeout"/>
     <keyword type="property" name="The “cookies” property" link="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc--cookies"/>
     <keyword type="property" name="The “read-timeout” property" link="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc--read-timeout"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-ofa.html#id-1.2.54.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-ofa.html#id-1.2.54.7.2.2"/>
     <keyword type="struct" name="struct GstOFA" link="gst-plugins-bad-plugins-ofa.html#GstOFA-struct"/>
     <keyword type="property" name="The “fingerprint” property" link="gst-plugins-bad-plugins-ofa.html#GstOFA--fingerprint"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-openalsrc.html#id-1.2.55.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-openalsrc.html#id-1.2.55.7.2.2"/>
-    <keyword type="struct" name="struct GstOpenalSrc" link="gst-plugins-bad-plugins-openalsrc.html#GstOpenalSrc-struct"/>
+    <keyword type="struct" name="struct GstOpenalSrc" link="gst-plugins-bad-plugins-openalsrc.html#GstOpenalSrc"/>
     <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="" name="Element Information" link="gst-plugins-bad-plugins-openalsink.html#id-1.2.56.3.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-openalsink.html#id-1.2.56.3.2.2"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-opusdec.html#id-1.2.57.9.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-opusdec.html#id-1.2.57.9.2.2"/>
-    <keyword type="struct" name="struct GstOpusDec" link="gst-plugins-bad-plugins-opusdec.html#GstOpusDec-struct"/>
+    <keyword type="struct" name="struct GstOpusDec" link="gst-plugins-bad-plugins-opusdec.html#GstOpusDec"/>
     <keyword type="property" name="The “apply-gain” property" link="gst-plugins-bad-plugins-opusdec.html#GstOpusDec--apply-gain"/>
     <keyword type="property" name="The “use-inband-fec” property" link="gst-plugins-bad-plugins-opusdec.html#GstOpusDec--use-inband-fec"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-opusenc.html#id-1.2.58.10.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-opusenc.html#id-1.2.58.10.2.2"/>
-    <keyword type="struct" name="struct GstOpusEnc" link="gst-plugins-bad-plugins-opusenc.html#GstOpusEnc-struct"/>
+    <keyword type="struct" name="struct GstOpusEnc" link="gst-plugins-bad-plugins-opusenc.html#GstOpusEnc"/>
     <keyword type="property" name="The “audio” property" link="gst-plugins-bad-plugins-opusenc.html#GstOpusEnc--audio"/>
     <keyword type="property" name="The “bandwidth” property" link="gst-plugins-bad-plugins-opusenc.html#GstOpusEnc--bandwidth"/>
     <keyword type="property" name="The “bitrate” property" link="gst-plugins-bad-plugins-opusenc.html#GstOpusEnc--bitrate"/>
@@ -542,18 +413,9 @@
     <keyword type="property" name="The “packet-loss-percentage” property" link="gst-plugins-bad-plugins-opusenc.html#GstOpusEnc--packet-loss-percentage"/>
     <keyword type="property" name="The “audio-type” property" link="gst-plugins-bad-plugins-opusenc.html#GstOpusEnc--audio-type"/>
     <keyword type="property" name="The “bitrate-type” property" link="gst-plugins-bad-plugins-opusenc.html#GstOpusEnc--bitrate-type"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-opusparse.html#id-1.2.59.10.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-opusparse.html#id-1.2.59.10.2.2"/>
-    <keyword type="struct" name="struct GstOpusParse" link="gst-plugins-bad-plugins-opusparse.html#GstOpusParse-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtpopuspay.html#id-1.2.60.12.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtpopuspay.html#id-1.2.60.12.2.2"/>
-    <keyword type="struct" name="struct GstRtpOPUSPay" link="gst-plugins-bad-plugins-rtpopuspay.html#GstRtpOPUSPay-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtpopusdepay.html#id-1.2.61.11.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtpopusdepay.html#id-1.2.61.11.2.2"/>
-    <keyword type="struct" name="struct GstRTPOpusDepay" link="gst-plugins-bad-plugins-rtpopusdepay.html#GstRTPOpusDepay-struct"/>
-    <keyword type="" name="Example pipelines" link="gst-plugins-bad-plugins-pcapparse.html#id-1.2.62.7.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-pcapparse.html#id-1.2.62.7.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-pcapparse.html#id-1.2.62.7.4.2"/>
+    <keyword type="struct" name="struct GstOpusParse" link="gst-plugins-bad-plugins-opusparse.html#GstOpusParse"/>
+    <keyword type="struct" name="struct GstRtpOPUSPay" link="gst-plugins-bad-plugins-rtpopuspay.html#GstRtpOPUSPay"/>
+    <keyword type="struct" name="struct GstRTPOpusDepay" link="gst-plugins-bad-plugins-rtpopusdepay.html#GstRTPOpusDepay"/>
     <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"/>
@@ -561,14 +423,8 @@
     <keyword type="property" name="The “src-port” property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--src-port"/>
     <keyword type="property" name="The “caps” property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--caps"/>
     <keyword type="property" name="The “ts-offset” property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--ts-offset"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-pinch.html#id-1.2.63.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-pinch.html#id-1.2.63.7.2.2"/>
     <keyword type="struct" name="struct GstPinch" link="gst-plugins-bad-plugins-pinch.html#GstPinch-struct"/>
     <keyword type="property" name="The “intensity” property" link="gst-plugins-bad-plugins-pinch.html#GstPinch--intensity"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-pyramidsegment.html#id-1.2.64.4.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-pyramidsegment.html#id-1.2.64.4.2.2"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rfbsrc.html#id-1.2.65.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rfbsrc.html#id-1.2.65.7.2.2"/>
     <keyword type="struct" name="struct GstRfbSrc" link="gst-plugins-bad-plugins-rfbsrc.html#GstRfbSrc-struct"/>
     <keyword type="property" name="The “host” property" link="gst-plugins-bad-plugins-rfbsrc.html#GstRfbSrc--host"/>
     <keyword type="property" name="The “port” property" link="gst-plugins-bad-plugins-rfbsrc.html#GstRfbSrc--port"/>
@@ -582,16 +438,10 @@
     <keyword type="property" name="The “use-copyrect” property" link="gst-plugins-bad-plugins-rfbsrc.html#GstRfbSrc--use-copyrect"/>
     <keyword type="property" name="The “shared” property" link="gst-plugins-bad-plugins-rfbsrc.html#GstRfbSrc--shared"/>
     <keyword type="property" name="The “view-only” property" link="gst-plugins-bad-plugins-rfbsrc.html#GstRfbSrc--view-only"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtmpsink.html#id-1.2.66.8.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtmpsink.html#id-1.2.66.8.2.2"/>
-    <keyword type="struct" name="struct GstRTMPSink" link="gst-plugins-bad-plugins-rtmpsink.html#GstRTMPSink-struct"/>
+    <keyword type="struct" name="struct GstRTMPSink" link="gst-plugins-bad-plugins-rtmpsink.html#GstRTMPSink"/>
     <keyword type="property" name="The “location” property" link="gst-plugins-bad-plugins-rtmpsink.html#GstRTMPSink--location"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtmpsrc.html#id-1.2.67.8.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtmpsrc.html#id-1.2.67.8.2.2"/>
-    <keyword type="struct" name="struct GstRTMPSrc" link="gst-plugins-bad-plugins-rtmpsrc.html#GstRTMPSrc-struct"/>
+    <keyword type="struct" name="struct GstRTMPSrc" link="gst-plugins-bad-plugins-rtmpsrc.html#GstRTMPSrc"/>
     <keyword type="property" name="The “location” property" link="gst-plugins-bad-plugins-rtmpsrc.html#GstRTMPSrc--location"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-shmsink.html#id-1.2.68.8.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-shmsink.html#id-1.2.68.8.2.2"/>
     <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"/>
@@ -600,68 +450,39 @@
     <keyword type="property" name="The “buffer-time” property" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink--buffer-time"/>
     <keyword type="signal" name="The “client-connected” signal" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink-client-connected"/>
     <keyword type="signal" name="The “client-disconnected” signal" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink-client-disconnected"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-shmsrc.html#id-1.2.69.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-shmsrc.html#id-1.2.69.7.2.2"/>
     <keyword type="struct" name="struct GstShmSrc" link="gst-plugins-bad-plugins-shmsrc.html#GstShmSrc-struct"/>
     <keyword type="property" name="The “is-live” property" link="gst-plugins-bad-plugins-shmsrc.html#GstShmSrc--is-live"/>
     <keyword type="property" name="The “socket-path” property" link="gst-plugins-bad-plugins-shmsrc.html#GstShmSrc--socket-path"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-sdpdemux.html#id-1.2.70.8.5"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-sdpdemux.html#id-1.2.70.8.6.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-sdpdemux.html#id-1.2.70.8.6.2"/>
+    <keyword type="property" name="The “shm-area-name” property" link="gst-plugins-bad-plugins-shmsrc.html#GstShmSrc--shm-area-name"/>
     <keyword type="struct" name="struct GstSDPDemux" link="gst-plugins-bad-plugins-sdpdemux.html#GstSDPDemux-struct"/>
     <keyword type="property" name="The “debug” property" link="gst-plugins-bad-plugins-sdpdemux.html#GstSDPDemux--debug"/>
     <keyword type="property" name="The “latency” property" link="gst-plugins-bad-plugins-sdpdemux.html#GstSDPDemux--latency"/>
     <keyword type="property" name="The “timeout” property" link="gst-plugins-bad-plugins-sdpdemux.html#GstSDPDemux--timeout"/>
     <keyword type="property" name="The “redirect” property" link="gst-plugins-bad-plugins-sdpdemux.html#GstSDPDemux--redirect"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-solarize.html#id-1.2.71.7.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-solarize.html#id-1.2.71.7.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-solarize.html#id-1.2.71.7.4.2"/>
     <keyword type="struct" name="struct GstSolarize" link="gst-plugins-bad-plugins-solarize.html#GstSolarize-struct"/>
     <keyword type="property" name="The “silent” property" link="gst-plugins-bad-plugins-solarize.html#GstSolarize--silent"/>
     <keyword type="property" name="The “end” property" link="gst-plugins-bad-plugins-solarize.html#GstSolarize--end"/>
     <keyword type="property" name="The “start” property" link="gst-plugins-bad-plugins-solarize.html#GstSolarize--start"/>
     <keyword type="property" name="The “threshold” property" link="gst-plugins-bad-plugins-solarize.html#GstSolarize--threshold"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-spacescope.html#id-1.2.72.7.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-spacescope.html#id-1.2.72.7.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-spacescope.html#id-1.2.72.7.4.2"/>
     <keyword type="struct" name="struct GstSpaceScope" link="gst-plugins-bad-plugins-spacescope.html#GstSpaceScope-struct"/>
     <keyword type="property" name="The “style” property" link="gst-plugins-bad-plugins-spacescope.html#GstSpaceScope--style"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-spectrascope.html#id-1.2.73.6.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-spectrascope.html#id-1.2.73.6.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-spectrascope.html#id-1.2.73.6.4.2"/>
     <keyword type="struct" name="struct GstSpectraScope" link="gst-plugins-bad-plugins-spectrascope.html#GstSpectraScope-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-synaescope.html#id-1.2.74.6.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-synaescope.html#id-1.2.74.6.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-synaescope.html#id-1.2.74.6.4.2"/>
     <keyword type="struct" name="struct GstSynaeScope" link="gst-plugins-bad-plugins-synaescope.html#GstSynaeScope-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-speed.html#id-1.2.75.7.4"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-speed.html#id-1.2.75.7.5.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-speed.html#id-1.2.75.7.5.2"/>
     <keyword type="struct" name="struct GstSpeed" link="gst-plugins-bad-plugins-speed.html#GstSpeed-struct"/>
     <keyword type="property" name="The “speed” property" link="gst-plugins-bad-plugins-speed.html#GstSpeed--speed"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-sphere.html#id-1.2.76.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-sphere.html#id-1.2.76.7.2.2"/>
     <keyword type="struct" name="struct GstSphere" link="gst-plugins-bad-plugins-sphere.html#GstSphere-struct"/>
     <keyword type="property" name="The “refraction” property" link="gst-plugins-bad-plugins-sphere.html#GstSphere--refraction"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-square.html#id-1.2.77.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-square.html#id-1.2.77.7.2.2"/>
     <keyword type="struct" name="struct GstSquare" link="gst-plugins-bad-plugins-square.html#GstSquare-struct"/>
     <keyword type="property" name="The “height” property" link="gst-plugins-bad-plugins-square.html#GstSquare--height"/>
     <keyword type="property" name="The “width” property" link="gst-plugins-bad-plugins-square.html#GstSquare--width"/>
     <keyword type="property" name="The “zoom” property" link="gst-plugins-bad-plugins-square.html#GstSquare--zoom"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-stretch.html#id-1.2.78.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-stretch.html#id-1.2.78.7.2.2"/>
     <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="" name="Element Information" link="gst-plugins-bad-plugins-templatematch.html#id-1.2.79.8.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-templatematch.html#id-1.2.79.8.2.2"/>
-    <keyword type="struct" name="struct GstTemplateMatch" link="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch-struct"/>
+    <keyword type="struct" name="struct GstTemplateMatch" link="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch"/>
     <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="" name="Element Information" link="gst-plugins-bad-plugins-opencvtextoverlay.html#id-1.2.80.8.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-opencvtextoverlay.html#id-1.2.80.8.2.2"/>
-    <keyword type="struct" name="struct GstOpencvTextOverlay" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay-struct"/>
+    <keyword type="struct" name="struct GstOpencvTextOverlay" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay"/>
     <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"/>
@@ -671,15 +492,9 @@
     <keyword type="property" name="The “width” property" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--width"/>
     <keyword type="property" name="The “xpos” property" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--xpos"/>
     <keyword type="property" name="The “ypos” property" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--ypos"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-tunnel.html#id-1.2.81.6.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-tunnel.html#id-1.2.81.6.2.2"/>
     <keyword type="struct" name="struct GstTunnel" link="gst-plugins-bad-plugins-tunnel.html#GstTunnel-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-twirl.html#id-1.2.82.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-twirl.html#id-1.2.82.7.2.2"/>
     <keyword type="struct" name="struct GstTwirl" link="gst-plugins-bad-plugins-twirl.html#GstTwirl-struct"/>
     <keyword type="property" name="The “angle” property" link="gst-plugins-bad-plugins-twirl.html#GstTwirl--angle"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-videoparse.html#id-1.2.83.7.2.1.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-videoparse.html#id-1.2.83.7.2.1.2"/>
     <keyword type="struct" name="struct GstVideoParse" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse-struct"/>
     <keyword type="property" name="The “alpha-mask” property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--alpha-mask"/>
     <keyword type="property" name="The “blue-mask” property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--blue-mask"/>
@@ -695,26 +510,15 @@
     <keyword type="property" name="The “width” property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--width"/>
     <keyword type="property" name="The “interlaced” property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--interlaced"/>
     <keyword type="property" name="The “top-field-first” property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--top-field-first"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-waterripple.html#id-1.2.84.7.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-waterripple.html#id-1.2.84.7.2.2"/>
     <keyword type="struct" name="struct GstWaterRipple" link="gst-plugins-bad-plugins-waterripple.html#GstWaterRipple-struct"/>
     <keyword type="property" name="The “amplitude” property" link="gst-plugins-bad-plugins-waterripple.html#GstWaterRipple--amplitude"/>
     <keyword type="property" name="The “phase” property" link="gst-plugins-bad-plugins-waterripple.html#GstWaterRipple--phase"/>
     <keyword type="property" name="The “wavelength” property" link="gst-plugins-bad-plugins-waterripple.html#GstWaterRipple--wavelength"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-zbar.html#id-1.2.85.5.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-zbar.html#id-1.2.85.5.2.2"/>
     <keyword type="struct" name="struct GstZBar" link="gst-plugins-bad-plugins-zbar.html#GstZBar"/>
     <keyword type="property" name="The “message” property" link="gst-plugins-bad-plugins-zbar.html#GstZBar--message"/>
     <keyword type="property" name="The “cache” property" link="gst-plugins-bad-plugins-zbar.html#GstZBar--cache"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-voaacenc.html#id-1.2.86.8.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-voaacenc.html#id-1.2.86.8.2.2"/>
     <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="" name="Element Information" link="gst-plugins-bad-plugins-voamrwbenc.html#id-1.2.87.3.2.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-voamrwbenc.html#id-1.2.87.3.2.2"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-wavescope.html#id-1.2.88.7.3"/>
-    <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-wavescope.html#id-1.2.88.7.4.1"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-wavescope.html#id-1.2.88.7.4.2"/>
     <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"/>
   </functions>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-accurip.html b/docs/plugins/html/gst-plugins-bad-plugins-accurip.html
index e9ec83b..d7c35f0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-accurip.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-accurip.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: accurip</title>
+<title>accurip: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="ch01.html" title="gst-plugins-bad Elements">
 <link rel="next" href="gst-plugins-bad-plugins-aiffparse.html" title="aiffparse">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -184,6 +184,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-accurip.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-accurip.other_details"></a><h2>Types and Values</h2>
@@ -213,7 +214,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-aiffmux.html b/docs/plugins/html/gst-plugins-bad-plugins-aiffmux.html
index a5dff7a..92169ab 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-aiffmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-aiffmux.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: aiffmux</title>
+<title>aiffmux: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-aiffparse.html" title="aiffparse">
 <link rel="next" href="gst-plugins-bad-plugins-assrender.html" title="assrender">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -142,6 +142,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-aiffmux.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-aiffmux.other_details"></a><h2>Types and Values</h2>
@@ -153,7 +154,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-aiffparse.html b/docs/plugins/html/gst-plugins-bad-plugins-aiffparse.html
index d32c8d7..0433bc0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-aiffparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-aiffparse.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: aiffparse</title>
+<title>aiffparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-accurip.html" title="accurip">
 <link rel="next" href="gst-plugins-bad-plugins-aiffmux.html" title="aiffmux">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -168,6 +168,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-aiffparse.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-aiffparse.other_details"></a><h2>Types and Values</h2>
@@ -179,7 +180,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-assrender.html b/docs/plugins/html/gst-plugins-bad-plugins-assrender.html
index 7e1c6bc..bccbfdc 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-assrender.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-assrender.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: assrender</title>
+<title>assrender: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-aiffmux.html" title="aiffmux">
 <link rel="next" href="gst-plugins-bad-plugins-audiomixer.html" title="audiomixer">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -166,7 +166,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, 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, 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>
 </tr>
 </tbody>
 </table></div>
@@ -194,7 +194,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, 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, 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>
 </tr>
 </tbody>
 </table></div>
@@ -205,6 +205,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-assrender.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-assrender.other_details"></a><h2>Types and Values</h2>
@@ -243,7 +244,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-audiomixer.html b/docs/plugins/html/gst-plugins-bad-plugins-audiomixer.html
index 5bd0b3f..335bcec 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-audiomixer.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-audiomixer.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: audiomixer</title>
+<title>audiomixer: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-assrender.html" title="assrender">
 <link rel="next" href="gst-plugins-bad-plugins-autoconvert.html" title="autoconvert">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -92,7 +92,8 @@
         <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
             <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                 <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-GstAggregator.html#GstAggregator">GstAggregator</a>
-                    <span class="lineart">╰──</span> GstAudioMixer
+                    <span class="lineart">╰──</span> GstAudioAggregator
+                        <span class="lineart">╰──</span> GstAudioMixer
 </pre>
 </div>
 <div class="refsect1">
@@ -216,6 +217,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-audiomixer.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-audiomixer.other_details"></a><h2>Types and Values</h2>
@@ -271,7 +273,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html b/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html
index 62dc4c2..f4f8a6f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: autoconvert</title>
+<title>autoconvert: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
 <link rel="prev" href="gst-plugins-bad-plugins-audiomixer.html" title="audiomixer">
 <link rel="next" href="gst-plugins-bad-plugins-bs2b.html" title="bs2b">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -180,6 +180,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-autoconvert.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-autoconvert.other_details"></a><h2>Types and Values</h2>
@@ -209,7 +210,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html b/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html
index 0622337..a20da25 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: bs2b</title>
+<title>bs2b: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-autoconvert.html" title="autoconvert">
 <link rel="next" href="gst-plugins-bad-plugins-bulge.html" title="bulge">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -139,6 +139,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-bs2b.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-bs2b.other_details"></a><h2>Types and Values</h2>
@@ -154,7 +155,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-bulge.html b/docs/plugins/html/gst-plugins-bad-plugins-bulge.html
index 2b1e622..cc798c6 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-bulge.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-bulge.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: bulge</title>
+<title>bulge: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-bs2b.html" title="bs2b">
 <link rel="next" href="gst-plugins-bad-plugins-burn.html" title="burn">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -161,6 +161,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-bulge.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-bulge.other_details"></a><h2>Types and Values</h2>
@@ -184,7 +185,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-burn.html b/docs/plugins/html/gst-plugins-bad-plugins-burn.html
index e4e79ce..7ac09f8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-burn.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-burn.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: burn</title>
+<title>burn: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-bulge.html" title="bulge">
 <link rel="next" href="gst-plugins-bad-plugins-camerabin.html" title="camerabin">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -181,6 +181,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-burn.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-burn.other_details"></a><h2>Types and Values</h2>
@@ -212,7 +213,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html b/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html
index 361dfa8..12675ee 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: camerabin</title>
+<title>camerabin: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-burn.html" title="burn">
 <link rel="next" href="gst-plugins-bad-plugins-chromium.html" title="chromium">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -70,13 +70,13 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-camerabin.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-camerabin.other_details"></a><h2>Types and Values</h2>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-chromium.html b/docs/plugins/html/gst-plugins-bad-plugins-chromium.html
index 5c53396..8312dd7 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-chromium.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-chromium.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: chromium</title>
+<title>chromium: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-camerabin.html" title="camerabin">
 <link rel="next" href="gst-plugins-bad-plugins-circle.html" title="circle">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -173,6 +173,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-chromium.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-chromium.other_details"></a><h2>Types and Values</h2>
@@ -207,7 +208,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-circle.html b/docs/plugins/html/gst-plugins-bad-plugins-circle.html
index b8d0db5..b84ebfa 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-circle.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-circle.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: circle</title>
+<title>circle: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-chromium.html" title="chromium">
 <link rel="next" href="gst-plugins-bad-plugins-coloreffects.html" title="coloreffects">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -173,6 +173,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-circle.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-circle.other_details"></a><h2>Types and Values</h2>
@@ -212,7 +213,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html b/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
index 18e0931..fd6e2a6 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: coloreffects</title>
+<title>coloreffects: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-circle.html" title="circle">
 <link rel="next" href="gst-plugins-bad-plugins-compositor.html" title="compositor">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -176,6 +176,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-coloreffects.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-coloreffects.other_details"></a><h2>Types and Values</h2>
@@ -197,7 +198,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-compositor.html b/docs/plugins/html/gst-plugins-bad-plugins-compositor.html
index f3c1c3f..d6f0272 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-compositor.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-compositor.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: compositor</title>
+<title>compositor: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-coloreffects.html" title="coloreffects">
 <link rel="next" href="gst-plugins-bad-plugins-cvdilate.html" title="cvdilate">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-compositor.top_of_page"></a>compositor</span></h2>
-<p>compositor</p>
+<p>compositor — Composite multiple video streams</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -196,11 +196,92 @@
 </div>
  A pipeline to demonstrate synchronized compositing (the second stream starts after 3 seconds)
 </div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.15.7.7.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            compositor
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Wim Taymans &lt;wim@fluendo.com&gt;, Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Editor/Video/Compositor</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.15.7.7.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink_%u</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>request</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw, format=(string){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B, YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx, BGRx }, 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){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B, YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx, BGRx }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
 <p>
 </p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-compositor.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-compositor.other_details"></a><h2>Types and Values</h2>
@@ -217,7 +298,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html b/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html
index a43cccb..db2c4de 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: cvdilate</title>
+<title>cvdilate: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-compositor.html" title="compositor">
 <link rel="next" href="gst-plugins-bad-plugins-cverode.html" title="cverode">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-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>
+                  <a href="#gst-plugins-bad-plugins-cvdilate.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>
@@ -32,7 +31,7 @@
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
-<a name="GstCvDilate"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvdilate.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -41,29 +40,16 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvdilate.html#GstCvDilate-struct" title="struct GstCvDilate">GstCvDilate</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvdilate.html#GstCvDilate" 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="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
-                    <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">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>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.16.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.16.4.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -89,7 +75,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.16.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.16.4.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -241,19 +227,22 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvdilate.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvdilate.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstCvDilate-struct"></a><h3>struct GstCvDilate</h3>
-<pre class="programlisting">struct GstCvDilate;</pre>
+<a name="GstCvDilate"></a><h3>struct GstCvDilate</h3>
+<pre class="programlisting">struct GstCvDilate {
+  GstCvDilateErode element;
+};
+</pre>
 <p>
 </p>
 </div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html b/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html
index bb65c14..0678fad 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: cvequalizehist</title>
+<title>cvequalizehist: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-cverode.html" title="cverode">
 <link rel="next" href="gst-plugins-bad-plugins-cvlaplace.html" title="cvlaplace">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-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>
+                  <a href="#gst-plugins-bad-plugins-cvequalizehist.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>
@@ -32,7 +31,7 @@
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
-<a name="GstCvEqualizeHist"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvequalizehist.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -41,28 +40,16 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist-struct" title="struct GstCvEqualizeHist">GstCvEqualizeHist</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist" 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="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
-                    <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">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>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.18.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.18.4.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -88,7 +75,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.18.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.18.4.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -144,19 +131,22 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvequalizehist.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvequalizehist.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstCvEqualizeHist-struct"></a><h3>struct GstCvEqualizeHist</h3>
-<pre class="programlisting">struct GstCvEqualizeHist;</pre>
+<a name="GstCvEqualizeHist"></a><h3>struct GstCvEqualizeHist</h3>
+<pre class="programlisting">struct GstCvEqualizeHist {
+  GstOpencvVideoFilter element;
+};
+</pre>
 <p>
 </p>
 </div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cverode.html b/docs/plugins/html/gst-plugins-bad-plugins-cverode.html
index cb82a2f..b167692 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cverode.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cverode.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: cverode</title>
+<title>cverode: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-cvdilate.html" title="cvdilate">
 <link rel="next" href="gst-plugins-bad-plugins-cvequalizehist.html" title="cvequalizehist">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-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>
+                  <a href="#gst-plugins-bad-plugins-cverode.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>
@@ -32,7 +31,7 @@
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
-<a name="GstCvErode"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-cverode.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -41,29 +40,16 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cverode.html#GstCvErode-struct" title="struct GstCvErode">GstCvErode</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cverode.html#GstCvErode" 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="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
-                    <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">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>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.17.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.17.4.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -89,7 +75,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.17.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.17.4.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -241,19 +227,22 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cverode.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cverode.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstCvErode-struct"></a><h3>struct GstCvErode</h3>
-<pre class="programlisting">struct GstCvErode;</pre>
+<a name="GstCvErode"></a><h3>struct GstCvErode</h3>
+<pre class="programlisting">struct GstCvErode {
+  GstCvDilateErode element;
+};
+</pre>
 <p>
 </p>
 </div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html b/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html
index 5db420c..9bda2ef 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: cvlaplace</title>
+<title>cvlaplace: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-cvequalizehist.html" title="cvequalizehist">
 <link rel="next" href="gst-plugins-bad-plugins-cvsmooth.html" title="cvsmooth">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-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.description" class="shortcut">Description</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>
@@ -48,7 +47,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<a name="GstCvLaplace"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvlaplace.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -57,28 +56,16 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace-struct" title="struct GstCvLaplace">GstCvLaplace</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace" 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="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
-                    <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">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>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.19.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.19.5.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -104,7 +91,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.19.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.19.5.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -160,12 +147,20 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvlaplace.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvlaplace.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstCvLaplace-struct"></a><h3>struct GstCvLaplace</h3>
-<pre class="programlisting">struct GstCvLaplace;</pre>
+<a name="GstCvLaplace"></a><h3>struct GstCvLaplace</h3>
+<pre class="programlisting">struct GstCvLaplace {
+  GstOpencvVideoFilter element;
+
+  gint aperture_size;
+
+  IplImage *intermediary_img;
+};
+</pre>
 <p>
 </p>
 </div>
@@ -183,7 +178,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html b/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html
index 412e49c..5c897f2 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: cvsmooth</title>
+<title>cvsmooth: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-cvlaplace.html" title="cvlaplace">
 <link rel="next" href="gst-plugins-bad-plugins-cvsobel.html" title="cvsobel">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-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.description" class="shortcut">Description</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>
@@ -70,7 +69,7 @@
 </tbody>
 </table></div>
 </div>
-<a name="GstCvSmooth"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvsmooth.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -79,28 +78,16 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth-struct" title="struct GstCvSmooth">GstCvSmooth</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth" 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="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
-                    <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">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>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.20.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.20.5.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -126,7 +113,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.20.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.20.5.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -198,12 +185,23 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvsmooth.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvsmooth.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstCvSmooth-struct"></a><h3>struct GstCvSmooth</h3>
-<pre class="programlisting">struct GstCvSmooth;</pre>
+<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>
 <p>
 </p>
 </div>
@@ -256,7 +254,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html b/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html
index eb85569..3b21469 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: cvsobel</title>
+<title>cvsobel: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-cvsmooth.html" title="cvsmooth">
 <link rel="next" href="gst-plugins-bad-plugins-dataurisrc.html" title="dataurisrc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-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.description" class="shortcut">Description</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>
@@ -60,7 +59,7 @@
 </tbody>
 </table></div>
 </div>
-<a name="GstCvSobel"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvsobel.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -69,28 +68,16 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel-struct" title="struct GstCvSobel">GstCvSobel</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel" 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="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
-                    <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">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>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.21.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.21.5.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -116,7 +103,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.21.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.21.5.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -172,12 +159,20 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvsobel.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-cvsobel.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstCvSobel-struct"></a><h3>struct GstCvSobel</h3>
-<pre class="programlisting">struct GstCvSobel;</pre>
+<a name="GstCvSobel"></a><h3>struct GstCvSobel</h3>
+<pre class="programlisting">struct GstCvSobel {
+  GstOpencvVideoFilter element;
+
+  gint x_order;
+  gint y_order;
+  gint aperture_size;
+};
+</pre>
 <p>
 </p>
 </div>
@@ -213,7 +208,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html b/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html
index e91e56d..92ca012 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: dataurisrc</title>
+<title>dataurisrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-cvsobel.html" title="cvsobel">
 <link rel="next" href="gst-plugins-bad-plugins-diffuse.html" title="diffuse">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -157,6 +157,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dataurisrc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dataurisrc.other_details"></a><h2>Types and Values</h2>
@@ -179,7 +180,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html b/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html
index 8b1bd73..7ccefc4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: diffuse</title>
+<title>diffuse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-dataurisrc.html" title="dataurisrc">
 <link rel="next" href="gst-plugins-bad-plugins-dilate.html" title="dilate">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -160,6 +160,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-diffuse.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-diffuse.other_details"></a><h2>Types and Values</h2>
@@ -183,7 +184,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dilate.html b/docs/plugins/html/gst-plugins-bad-plugins-dilate.html
index cb44deb..09bda7c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dilate.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dilate.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: dilate</title>
+<title>dilate: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-diffuse.html" title="diffuse">
 <link rel="next" href="gst-plugins-bad-plugins-dodge.html" title="dodge">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -181,6 +181,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dilate.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dilate.other_details"></a><h2>Types and Values</h2>
@@ -211,7 +212,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dodge.html b/docs/plugins/html/gst-plugins-bad-plugins-dodge.html
index 86e88bf..2184441 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dodge.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dodge.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: dodge</title>
+<title>dodge: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-dilate.html" title="dilate">
 <link rel="next" href="gst-plugins-bad-plugins-dtmfdetect.html" title="dtmfdetect">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -174,6 +174,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dodge.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dodge.other_details"></a><h2>Types and Values</h2>
@@ -196,7 +197,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html b/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
index 9ba81a7..18e8271 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: dtmfdetect</title>
+<title>dtmfdetect: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-dodge.html" title="dodge">
 <link rel="next" href="gst-plugins-bad-plugins-dtsdec.html" title="dtsdec">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -131,6 +131,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dtmfdetect.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dtmfdetect.other_details"></a><h2>Types and Values</h2>
@@ -148,7 +149,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html b/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html
index e97b4d4..5991a9c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: dtsdec</title>
+<title>dtsdec: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-dtmfdetect.html" title="dtmfdetect">
 <link rel="next" href="gst-plugins-bad-plugins-dvbsrc.html" title="dvbsrc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -162,6 +162,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dtsdec.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dtsdec.other_details"></a><h2>Types and Values</h2>
@@ -184,7 +185,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
index 75263ad..f9ba4bf 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: dvbsrc</title>
+<title>dvbsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-dtsdec.html" title="dtsdec">
 <link rel="next" href="gst-plugins-bad-plugins-dvdspu.html" title="dvdspu">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -428,6 +428,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dvbsrc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dvbsrc.other_details"></a><h2>Types and Values</h2>
@@ -1006,7 +1007,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html b/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html
index ac6e017..d889bba 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: dvdspu</title>
+<title>dvdspu: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-dvbsrc.html" title="dvbsrc">
 <link rel="next" href="gst-plugins-bad-plugins-exclusion.html" title="exclusion">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -184,6 +184,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dvdspu.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-dvdspu.other_details"></a><h2>Types and Values</h2>
@@ -196,7 +197,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html b/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
index 74c9310..27e978b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: edgedetect</title>
+<title>edgedetect: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-exclusion.html" title="exclusion">
 <link rel="next" href="gst-plugins-bad-plugins-faac.html" title="faac">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -118,13 +118,13 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-edgedetect.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-edgedetect.other_details"></a><h2>Types and Values</h2>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html b/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html
index 90075ff..82efe76 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: exclusion</title>
+<title>exclusion: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-dvdspu.html" title="dvdspu">
 <link rel="next" href="gst-plugins-bad-plugins-edgedetect.html" title="edgedetect">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -181,6 +181,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-exclusion.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-exclusion.other_details"></a><h2>Types and Values</h2>
@@ -206,13 +207,12 @@
 <pre class="programlisting">  “factor”                   <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
 <p>Exclusion factor parameter.</p>
 <p>Flags: Read / Write</p>
-<p>Allowed values: &lt;= 175</p>
+<p>Allowed values: [1,175]</p>
 <p>Default value: 175</p>
 </div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-faac.html b/docs/plugins/html/gst-plugins-bad-plugins-faac.html
index 6aad547..b016b06 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faac.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faac.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: faac</title>
+<title>faac: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-edgedetect.html" title="edgedetect">
 <link rel="next" href="gst-plugins-bad-plugins-faad.html" title="faad">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-faac.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-faac.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-faac.description" class="shortcut">Description</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-faac.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-faac.properties" class="shortcut">Properties</a></span>
 </td>
@@ -86,7 +85,7 @@
 </tbody>
 </table></div>
 </div>
-<a name="GstFaac"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-faac.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -95,21 +94,11 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-faac.html#GstFaac-struct" title="struct GstFaac">GstFaac</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-faac.html#GstFaac" title="struct GstFaac">GstFaac</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-plugins-faac.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder">GstAudioEncoder</a>
-                    <span class="lineart">╰──</span> GstFaac
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-faac.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
 <p>
 GstFaac implements
@@ -120,7 +109,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.32.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.32.6.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -146,7 +135,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.32.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.32.6.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -206,12 +195,38 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-faac.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-faac.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstFaac-struct"></a><h3>struct GstFaac</h3>
-<pre class="programlisting">struct GstFaac;</pre>
+<a name="GstFaac"></a><h3>struct GstFaac</h3>
+<pre class="programlisting">struct GstFaac {
+  GstAudioEncoder element;
+
+  /* input format */
+  gint format;
+  /* input frame size */
+  gint samples;
+  /* required output buffer size */
+  gint bytes;
+
+  /* negotiated */
+  gint mpegversion, outputformat;
+
+  /* properties */
+  gint bitrate,
+       profile,
+       quality,
+       brtype,
+       shortctl;
+  gboolean tns,
+           midside;
+
+  /* FAAC object */
+  faacEncHandle handle;
+};
+</pre>
 <p>
 </p>
 </div>
@@ -286,7 +301,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-faad.html b/docs/plugins/html/gst-plugins-bad-plugins-faad.html
index 40e47da..3c85fea 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faad.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: faad</title>
+<title>faad: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-faac.html" title="faac">
 <link rel="next" href="gst-plugins-bad-plugins-faceblur.html" title="faceblur">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -146,6 +146,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-faad.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-faad.other_details"></a><h2>Types and Values</h2>
@@ -158,7 +159,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html b/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html
index 52d4736..1740be4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: faceblur</title>
+<title>faceblur: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-faad.html" title="faad">
 <link rel="next" href="gst-plugins-bad-plugins-facedetect.html" title="facedetect">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -118,13 +118,13 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-faceblur.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-faceblur.other_details"></a><h2>Types and Values</h2>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html b/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
index 78aaa45..be95e6b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: facedetect</title>
+<title>facedetect: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-faceblur.html" title="faceblur">
 <link rel="next" href="gst-plugins-bad-plugins-festival.html" title="festival">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -118,13 +118,13 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-facedetect.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-facedetect.other_details"></a><h2>Types and Values</h2>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-festival.html b/docs/plugins/html/gst-plugins-bad-plugins-festival.html
index 58be981..a0ac67f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-festival.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-festival.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: festival</title>
+<title>festival: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-facedetect.html" title="facedetect">
 <link rel="next" href="gst-plugins-bad-plugins-fisheye.html" title="fisheye">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -159,6 +159,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-festival.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-festival.other_details"></a><h2>Types and Values</h2>
@@ -171,7 +172,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html b/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html
index ef59658..cfea9cd 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: fisheye</title>
+<title>fisheye: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-festival.html" title="festival">
 <link rel="next" href="gst-plugins-bad-plugins-fpsdisplaysink.html" title="fpsdisplaysink">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -144,6 +144,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-fisheye.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-fisheye.other_details"></a><h2>Types and Values</h2>
@@ -156,7 +157,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html b/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html
index d32bd8e..cc18825 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: fpsdisplaysink</title>
+<title>fpsdisplaysink: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-fisheye.html" title="fisheye">
 <link rel="next" href="gst-plugins-bad-plugins-gaussianblur.html" title="gaussianblur">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -232,6 +232,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-fpsdisplaysink.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-fpsdisplaysink.other_details"></a><h2>Types and Values</h2>
@@ -383,12 +384,11 @@
 </table></div>
 </div>
 <p>Flags: Run Last</p>
-<p class="since">Since 0.10.20</p>
+<p class="since">Since: 0.10.20</p>
 </div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html b/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
index 5825009..45ddb9c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: gaussianblur</title>
+<title>gaussianblur: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-fpsdisplaysink.html" title="fpsdisplaysink">
 <link rel="next" href="gst-plugins-bad-plugins-jpegparse.html" title="jpegparse">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -133,13 +133,13 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-gaussianblur.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-gaussianblur.other_details"></a><h2>Types and Values</h2>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html b/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
index 761f8a3..3a7877f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: jpegparse</title>
+<title>jpegparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
 <link rel="prev" href="gst-plugins-bad-plugins-gaussianblur.html" title="gaussianblur">
 <link rel="next" href="gst-plugins-bad-plugins-kaleidoscope.html" title="kaleidoscope">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -249,10 +249,6 @@
 gst_jpeg_parse_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <p>
 </p>
-<div class="refsect3">
-<a name="id-1.2.40.8.6.5"></a><h4>Returns</h4>
-<p></p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -283,7 +279,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html b/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html
index a242bb0..921881e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: kaleidoscope</title>
+<title>kaleidoscope: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-jpegparse.html" title="jpegparse">
 <link rel="next" href="gst-plugins-bad-plugins-liveadder.html" title="liveadder">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -173,6 +173,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-kaleidoscope.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-kaleidoscope.other_details"></a><h2>Types and Values</h2>
@@ -212,7 +213,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html b/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html
index 7e5fc5b..09cfe79 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: liveadder</title>
+<title>liveadder: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-kaleidoscope.html" title="kaleidoscope">
 <link rel="next" href="gst-plugins-bad-plugins-marble.html" title="marble">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -161,6 +161,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-liveadder.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-liveadder.other_details"></a><h2>Types and Values</h2>
@@ -186,7 +187,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-marble.html b/docs/plugins/html/gst-plugins-bad-plugins-marble.html
index a0f87be..92d8485 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-marble.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-marble.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: marble</title>
+<title>marble: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-liveadder.html" title="liveadder">
 <link rel="next" href="gst-plugins-bad-plugins-mimenc.html" title="mimenc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -177,6 +177,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-marble.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-marble.other_details"></a><h2>Types and Values</h2>
@@ -227,7 +228,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html b/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
index d07e429..b777f82 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: mimdec</title>
+<title>mimdec: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-mimenc.html" title="mimenc">
 <link rel="next" href="gst-plugins-bad-plugins-mirror.html" title="mirror">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -145,6 +145,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mimdec.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mimdec.other_details"></a><h2>Types and Values</h2>
@@ -157,7 +158,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html b/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
index 0fa3e8d..24762ff 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: mimenc</title>
+<title>mimenc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-marble.html" title="marble">
 <link rel="next" href="gst-plugins-bad-plugins-mimdec.html" title="mimdec">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -161,6 +161,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mimenc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mimenc.other_details"></a><h2>Types and Values</h2>
@@ -183,7 +184,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mirror.html b/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
index d9a4a0b..892b28b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: mirror</title>
+<title>mirror: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-mimdec.html" title="mimdec">
 <link rel="next" href="gst-plugins-bad-plugins-modplug.html" title="modplug">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -160,6 +160,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mirror.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mirror.other_details"></a><h2>Types and Values</h2>
@@ -182,7 +183,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-modplug.html b/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
index f1a63c6..cb3ec53 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: modplug</title>
+<title>modplug: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-mirror.html" title="mirror">
 <link rel="next" href="gst-plugins-bad-plugins-mpeg2enc.html" title="mpeg2enc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -231,6 +231,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-modplug.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-modplug.other_details"></a><h2>Types and Values</h2>
@@ -347,7 +348,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html b/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html
index 00573d6..bd97b47 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: mpeg2enc</title>
+<title>mpeg2enc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-modplug.html" title="modplug">
 <link rel="next" href="gst-plugins-bad-plugins-mpegpsmux.html" title="mpegpsmux">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-mpeg2enc.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-mpeg2enc.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-mpeg2enc.description" class="shortcut">Description</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-mpeg2enc.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-mpeg2enc.properties" class="shortcut">Properties</a></span>
 </td>
@@ -216,7 +215,7 @@
 </tbody>
 </table></div>
 </div>
-<a name="GstMpeg2enc"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpeg2enc.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -225,20 +224,11 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc-struct" title="GstMpeg2enc">GstMpeg2enc</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc" title="GstMpeg2enc">GstMpeg2enc</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-plugins-mpeg2enc.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> GstMpeg2enc
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpeg2enc.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
 <p>
 GstMpeg2enc implements
@@ -249,7 +239,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.48.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.48.6.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -276,7 +266,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.48.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.48.6.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -332,12 +322,43 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpeg2enc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpeg2enc.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstMpeg2enc-struct"></a><h3>GstMpeg2enc</h3>
-<pre class="programlisting">typedef struct _GstMpeg2enc GstMpeg2enc;</pre>
+<a name="GstMpeg2enc"></a><h3>GstMpeg2enc</h3>
+<pre class="programlisting">typedef struct {
+  GstElement parent;
+
+  /* pads */
+  GstPad *sinkpad, *srcpad;
+
+  /* video info for in caps */
+  GstVideoInfo vinfo;
+
+  /* options wrapper */
+  GstMpeg2EncOptions *options;
+
+  /* general encoding object (contains rest) */
+  GstMpeg2Encoder *encoder;
+
+  /* lock for syncing with encoding task */
+  GMutex tlock;
+  /* with TLOCK */
+  /* signals counterpart thread that something changed;
+   * buffer ready for task or buffer has been processed */
+  GCond cond;
+  /* seen eos */
+  gboolean eos;
+  /* flowreturn obtained by encoding task */
+  GstFlowReturn srcresult;
+  /* buffer for encoding task */
+  GstBuffer *buffer;
+  /* timestamps for output */
+  GQueue *time;
+} GstMpeg2enc;
+</pre>
 <p>
 </p>
 </div>
@@ -635,7 +656,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html b/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html
index 14945b8..19f94f1 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: mpegpsmux</title>
+<title>mpegpsmux: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-mpeg2enc.html" title="mpeg2enc">
 <link rel="next" href="gst-plugins-bad-plugins-mpegtsmux.html" title="mpegtsmux">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -164,6 +164,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpegpsmux.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpegpsmux.other_details"></a><h2>Types and Values</h2>
@@ -180,7 +181,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html b/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html
index 1652647..3c6f7ae 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: mpegtsmux</title>
+<title>mpegtsmux: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-mpegpsmux.html" title="mpegpsmux">
 <link rel="next" href="gst-plugins-bad-plugins-mplex.html" title="mplex">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -208,6 +208,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpegtsmux.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpegtsmux.other_details"></a><h2>Types and Values</h2>
@@ -250,7 +251,7 @@
 <div class="refsect2">
 <a name="MpegTsMux--alignment"></a><h3>The <code class="literal">“alignment”</code> property</h3>
 <pre class="programlisting">  “alignment”                <a href="https://developer.gnome.org/glib/unstable/glib-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).</p>
+<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>
@@ -267,7 +268,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mpg123audiodec.html b/docs/plugins/html/gst-plugins-bad-plugins-mpg123audiodec.html
index f6d25df..b6fa3ff 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpg123audiodec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpg123audiodec.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: mpg123audiodec</title>
+<title>mpg123audiodec: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-mplex.html" title="mplex">
 <link rel="next" href="gst-plugins-bad-plugins-neonhttpsrc.html" title="neonhttpsrc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -142,6 +142,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpg123audiodec.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mpg123audiodec.other_details"></a><h2>Types and Values</h2>
@@ -154,7 +155,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mplex.html b/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
index a11735c..206c98d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: mplex</title>
+<title>mplex: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-mpegtsmux.html" title="mpegtsmux">
 <link rel="next" href="gst-plugins-bad-plugins-mpg123audiodec.html" title="mpg123audiodec">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -227,6 +227,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mplex.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-mplex.other_details"></a><h2>Types and Values</h2>
@@ -301,7 +302,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html
index 6b57483..cab618d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: neonhttpsrc</title>
+<title>neonhttpsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-mpg123audiodec.html" title="mpg123audiodec">
 <link rel="next" href="gst-plugins-bad-plugins-ofa.html" title="ofa">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-neonhttpsrc.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-neonhttpsrc.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-neonhttpsrc.description" class="shortcut">Description</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-neonhttpsrc.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-neonhttpsrc.properties" class="shortcut">Properties</a></span>
 </td>
@@ -122,7 +121,7 @@
 </tbody>
 </table></div>
 </div>
-<a name="GstNeonhttpSrc"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-neonhttpsrc.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -131,22 +130,11 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc-struct" title="struct GstNeonhttpSrc">GstNeonhttpSrc</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc" title="struct GstNeonhttpSrc">GstNeonhttpSrc</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-plugins-neonhttpsrc.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSrc.html">GstBaseSrc</a>
-                    <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstPushSrc.html">GstPushSrc</a>
-                        <span class="lineart">╰──</span> GstNeonhttpSrc
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-neonhttpsrc.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
 <p>
 GstNeonhttpSrc implements
@@ -157,7 +145,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.53.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.53.6.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -183,7 +171,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.53.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.53.6.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -215,12 +203,49 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-neonhttpsrc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-neonhttpsrc.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstNeonhttpSrc-struct"></a><h3>struct GstNeonhttpSrc</h3>
-<pre class="programlisting">struct GstNeonhttpSrc;</pre>
+<a name="GstNeonhttpSrc"></a><h3>struct GstNeonhttpSrc</h3>
+<pre class="programlisting">struct GstNeonhttpSrc {
+  GstPushSrc element;
+
+  /* socket */
+  ne_session *session;
+  ne_request *request;
+  ne_uri uri;
+  gchar *location;
+  gchar *query_string;
+  ne_uri proxy;
+  gchar *user_agent;
+  gchar **cookies;
+
+  guint64 content_size;
+
+  gboolean eos;
+
+  /* whether to request icecast metadata */
+  gboolean iradio_mode;
+
+  /* enable Neon HTTP redirects (HTTP 302 status code) */
+  gboolean automatic_redirect;
+
+  /* enable Neon HTTP debug messages */
+  gboolean neon_http_debug;
+
+  /* accept self-signed certificates */
+  gboolean accept_self_signed;
+
+  gint64 read_position;
+  gboolean seekable;
+
+  /* seconds before timing out when connecting or reading to/from a socket */
+  guint connect_timeout;
+  guint read_timeout;
+};
+</pre>
 <p>
 </p>
 </div>
@@ -342,7 +367,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-ofa.html b/docs/plugins/html/gst-plugins-bad-plugins-ofa.html
index 6ba6d84..09532ca 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-ofa.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-ofa.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: ofa</title>
+<title>ofa: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-neonhttpsrc.html" title="neonhttpsrc">
 <link rel="next" href="gst-plugins-bad-plugins-openalsrc.html" title="openalsrc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -160,6 +160,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-ofa.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-ofa.other_details"></a><h2>Types and Values</h2>
@@ -182,7 +183,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html b/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html
index 0ee1050..533ace7 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: openalsink</title>
+<title>openalsink: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-openalsrc.html" title="openalsrc">
 <link rel="next" href="gst-plugins-bad-plugins-opusdec.html" title="opusdec">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -106,13 +106,13 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-openalsink.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-openalsink.other_details"></a><h2>Types and Values</h2>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html
index 376fb12..950e7f1 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: openalsrc</title>
+<title>openalsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-ofa.html" title="ofa">
 <link rel="next" href="gst-plugins-bad-plugins-openalsink.html" title="openalsink">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-openalsrc.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-openalsrc.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-openalsrc.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-openalsrc.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>
@@ -57,7 +56,7 @@
 </tbody>
 </table></div>
 </div>
-<a name="GstOpenalSrc"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-openalsrc.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -66,29 +65,16 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-openalsrc.html#GstOpenalSrc-struct" title="struct GstOpenalSrc">GstOpenalSrc</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-openalsrc.html#GstOpenalSrc" title="struct GstOpenalSrc">GstOpenalSrc</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-plugins-openalsrc.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSrc.html">GstBaseSrc</a>
-                    <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstPushSrc.html">GstPushSrc</a>
-                        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc">GstAudioBaseSrc</a>
-                            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrc">GstAudioSrc</a>
-                                <span class="lineart">╰──</span> GstOpenalSrc
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-openalsrc.description"></a><h2>Description</h2>
 <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.5.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -114,7 +100,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.5.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -150,12 +136,33 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-openalsrc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-openalsrc.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstOpenalSrc-struct"></a><h3>struct GstOpenalSrc</h3>
-<pre class="programlisting">struct GstOpenalSrc;</pre>
+<a name="GstOpenalSrc"></a><h3>struct GstOpenalSrc</h3>
+<pre class="programlisting">struct GstOpenalSrc {
+  GstAudioSrc element;
+  GstPad *srcpad;
+  gboolean silent;
+
+  /* readable name of device */
+  gchar *default_device_name;
+  /* name of device to open, default is a NULL pointer to get default device */
+  gchar *default_device;
+  /* OpenAL device handle */
+  ALCdevice *device;
+
+  guint64 buffer_length;
+
+  ALenum format;
+  ALuint rate;
+  ALuint bytes_per_sample;
+
+  GstCaps *probed_caps;
+};
+</pre>
 <p>
 </p>
 </div>
@@ -180,7 +187,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html b/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html
index a2a96f1..311c47a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: opencvtextoverlay</title>
+<title>opencvtextoverlay: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-templatematch.html" title="templatematch">
 <link rel="next" href="gst-plugins-bad-plugins-tunnel.html" title="tunnel">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-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.description" class="shortcut">Description</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>
@@ -91,7 +90,7 @@
 </tbody>
 </table></div>
 </div>
-<a name="GstOpenalSrc"></a><a name="GstOpencvTextOverlay"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-opencvtextoverlay.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -100,25 +99,16 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay-struct" title="struct GstOpencvTextOverlay">GstOpencvTextOverlay</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay" 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="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> GstOpencvTextOverlay
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-opencvtextoverlay.description"></a><h2>Description</h2>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.80.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.80.5.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -144,7 +134,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.80.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.80.5.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -200,12 +190,30 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-opencvtextoverlay.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-opencvtextoverlay.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstOpencvTextOverlay-struct"></a><h3>struct GstOpencvTextOverlay</h3>
-<pre class="programlisting">struct GstOpencvTextOverlay;</pre>
+<a name="GstOpencvTextOverlay"></a><h3>struct GstOpencvTextOverlay</h3>
+<pre class="programlisting">struct GstOpencvTextOverlay {
+  GstElement element;
+
+  GstPad *sinkpad, *srcpad;
+
+  IplImage *cvImage;
+  CvMemStorage *cvStorage;
+  CvFont font;  
+
+  gint xpos;
+  gint ypos;
+  gint thickness;
+  gint colorR,colorG,colorB;
+  gdouble height;
+  gdouble width;
+  gchar *textbuf;
+};
+</pre>
 <p>
 </p>
 </div>
@@ -294,7 +302,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-opusdec.html b/docs/plugins/html/gst-plugins-bad-plugins-opusdec.html
index 53953c7..1215a53 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-opusdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-opusdec.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: opusdec</title>
+<title>opusdec: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-openalsink.html" title="openalsink">
 <link rel="next" href="gst-plugins-bad-plugins-opusenc.html" title="opusenc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-opusdec.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-opusdec.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-opusdec.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-opusdec.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>
@@ -55,7 +54,7 @@
 </tbody>
 </table></div>
 </div>
-<a name="GstOpenalSrc"></a><a name="GstOpencvTextOverlay"></a><a name="GstOpusDec"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-opusdec.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -64,26 +63,16 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-opusdec.html#GstOpusDec-struct" title="struct GstOpusDec">GstOpusDec</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-opusdec.html#GstOpusDec" title="struct GstOpusDec">GstOpusDec</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-plugins-opusdec.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder">GstAudioDecoder</a>
-                    <span class="lineart">╰──</span> GstOpusDec
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-opusdec.description"></a><h2>Description</h2>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.57.9.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.57.5.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -109,7 +98,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.57.9.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.57.5.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -165,12 +154,43 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-opusdec.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-opusdec.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstOpusDec-struct"></a><h3>struct GstOpusDec</h3>
-<pre class="programlisting">struct GstOpusDec;</pre>
+<a name="GstOpusDec"></a><h3>struct GstOpusDec</h3>
+<pre class="programlisting">struct GstOpusDec {
+  GstAudioDecoder       element;
+
+  OpusMSDecoder        *state;
+
+  guint64               packetno;
+
+  GstBuffer            *streamheader;
+  GstBuffer            *vorbiscomment;
+
+  int sample_rate;
+  int n_channels;
+  guint32 pre_skip;
+  gint16 r128_gain;
+
+  GstAudioChannelPosition opus_pos[64];
+  GstAudioInfo info;
+
+  guint8 n_streams;
+  guint8 n_stereo_streams;
+  guint8 channel_mapping_family;
+  guint8 channel_mapping[256];
+
+  gboolean apply_gain;
+  double r128_gain_volume;
+
+  gboolean use_inband_fec;
+  GstBuffer *last_buffer;
+  gboolean primed;
+};
+</pre>
 <p>
 </p>
 </div>
@@ -195,7 +215,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-opusenc.html b/docs/plugins/html/gst-plugins-bad-plugins-opusenc.html
index 1f729a9..a6a89de 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-opusenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-opusenc.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: opusenc</title>
+<title>opusenc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-opusdec.html" title="opusdec">
 <link rel="next" href="gst-plugins-bad-plugins-opusparse.html" title="opusparse">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-opusenc.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-opusenc.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-opusenc.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-opusenc.properties" class="shortcut">Properties</a></span>
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
@@ -110,7 +109,7 @@
 </tbody>
 </table></div>
 </div>
-<a name="GstOpenalSrc"></a><a name="GstOpencvTextOverlay"></a><a name="GstOpusDec"></a><a name="GstOpusEnc"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-opusenc.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -119,26 +118,16 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-opusenc.html#GstOpusEnc-struct" title="struct GstOpusEnc">GstOpusEnc</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-opusenc.html#GstOpusEnc" title="struct GstOpusEnc">GstOpusEnc</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-plugins-opusenc.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder">GstAudioEncoder</a>
-                    <span class="lineart">╰──</span> GstOpusEnc
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-opusenc.description"></a><h2>Description</h2>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.58.10.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.58.5.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -164,7 +153,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.58.10.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.58.5.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -220,12 +209,44 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-opusenc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-opusenc.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstOpusEnc-struct"></a><h3>struct GstOpusEnc</h3>
-<pre class="programlisting">struct GstOpusEnc;</pre>
+<a name="GstOpusEnc"></a><h3>struct GstOpusEnc</h3>
+<pre class="programlisting">struct GstOpusEnc {
+  GstAudioEncoder       element;
+
+  OpusMSEncoder        *state;
+
+  /* Locks those properties which may be changed at play time */
+  GMutex                property_lock;
+
+  /* properties */
+  gint                  audio_type;
+  gint                  bitrate;
+  gint                  bandwidth;
+  gint                  frame_size;
+  GstOpusEncBitrateType bitrate_type;
+  gint                  complexity;
+  gboolean              inband_fec;
+  gboolean              dtx;
+  gint                  packet_loss_percentage;
+  guint                 max_payload_size;
+
+  gint                  frame_samples;
+  gint                  n_channels;
+  gint                  sample_rate;
+
+  guint64               encoded_samples;
+
+  guint8                channel_mapping_family;
+  guint8                encoding_channel_mapping[256];
+  guint8                decoding_channel_mapping[256];
+  guint8                n_stereo_streams;
+};
+</pre>
 <p>
 </p>
 </div>
@@ -342,7 +363,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-opusparse.html b/docs/plugins/html/gst-plugins-bad-plugins-opusparse.html
index 443eae3..370f447 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-opusparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-opusparse.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: opusparse</title>
+<title>opusparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-opusenc.html" title="opusenc">
 <link rel="next" href="gst-plugins-bad-plugins-rtpopuspay.html" title="rtpopuspay">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-opusparse.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-opusparse.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+                  <a href="#gst-plugins-bad-plugins-opusparse.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>
@@ -32,7 +31,7 @@
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
-<a name="GstOpenalSrc"></a><a name="GstOpencvTextOverlay"></a><a name="GstOpusDec"></a><a name="GstOpusEnc"></a><a name="GstOpusParse"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-opusparse.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -41,26 +40,16 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-opusparse.html#GstOpusParse-struct" title="struct GstOpusParse">GstOpusParse</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-opusparse.html#GstOpusParse" title="struct GstOpusParse">GstOpusParse</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-plugins-opusparse.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseParse.html">GstBaseParse</a>
-                    <span class="lineart">╰──</span> GstOpusParse
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-opusparse.description"></a><h2>Description</h2>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.59.10.2.1"></a><h3>Element Information</h3>
+<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">
@@ -86,7 +75,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.59.10.2.2"></a><h3>Element Pads</h3>
+<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">
@@ -142,19 +131,28 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-opusparse.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-opusparse.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstOpusParse-struct"></a><h3>struct GstOpusParse</h3>
-<pre class="programlisting">struct GstOpusParse;</pre>
+<a name="GstOpusParse"></a><h3>struct GstOpusParse</h3>
+<pre class="programlisting">struct GstOpusParse {
+  GstBaseParse       element;
+
+  gboolean header_sent;
+  GSList *headers;
+  GstClockTime next_ts;
+  GstBuffer *id_header;
+  GstBuffer *comment_header;
+};
+</pre>
 <p>
 </p>
 </div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html b/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html
index d4d5da0..7be38f4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: pcapparse</title>
+<title>pcapparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-rtpopusdepay.html" title="rtpopusdepay">
 <link rel="next" href="gst-plugins-bad-plugins-pinch.html" title="pinch">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -208,6 +208,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-pcapparse.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-pcapparse.other_details"></a><h2>Types and Values</h2>
@@ -271,7 +272,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-pinch.html b/docs/plugins/html/gst-plugins-bad-plugins-pinch.html
index 9ad5b69..52f3ddb 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-pinch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-pinch.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: pinch</title>
+<title>pinch: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-pcapparse.html" title="pcapparse">
 <link rel="next" href="gst-plugins-bad-plugins-pyramidsegment.html" title="pyramidsegment">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -161,6 +161,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-pinch.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-pinch.other_details"></a><h2>Types and Values</h2>
@@ -184,7 +185,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 d0bbfc9..4cc9543 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-aiff.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-aiff.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: aiff</title>
+<title>aiff: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="ch02.html" title="gst-plugins-bad Plugins">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-audiomixer.html" title="audiomixer">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 a339d89..b8a79ad 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: assrender</title>
+<title>assrender: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-autoconvert.html" title="autoconvert">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-bayer.html" title="bayer">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 32e378a..14d12ff 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: audiomixer</title>
+<title>audiomixer: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-aiff.html" title="aiff">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-audiovisualizers.html" title="audiovisualizers">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -66,15 +66,20 @@
 <col align="left" valign="top">
 <col>
 </colgroup>
-<tbody><tr>
+<tbody>
+<tr>
+<td><p><span class="term">audiointerleave</span></p></td>
+<td>Mixes multiple audio streams</td>
+</tr>
+<tr>
 <td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-audiomixer.html" title="audiomixer">audiomixer</a></span></p></td>
 <td>Mixes multiple audio streams</td>
-</tr></tbody>
+</tr>
+</tbody>
 </table></div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 9e8e844..884d138 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: audiovisualizers</title>
+<title>audiovisualizers: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-audiomixer.html" title="audiomixer">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-autoconvert.html" title="autoconvert">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,15 +42,15 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
-<td>GPL</td>
+<td>LGPL</td>
 </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>
@@ -88,7 +88,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 4f3c6fa..020e02c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: autoconvert</title>
+<title>autoconvert: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-audiovisualizers.html" title="audiovisualizers">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-assrender.html" title="assrender">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 32d918c..17e037b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: bayer</title>
+<title>bayer: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-assrender.html" title="assrender">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-bs2b.html" title="bs2b">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 3c5faa9..3fb6ab2 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: bs2b</title>
+<title>bs2b: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-bayer.html" title="bayer">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-bz2.html" title="bz2">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 6111602..3663d4e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: bz2</title>
+<title>bz2: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-bs2b.html" title="bs2b">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-camerabin.html" title="camerabin">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 533a974..5a49edc 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: camerabin</title>
+<title>camerabin: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-bz2.html" title="bz2">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-coloreffects.html" title="coloreffects">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -84,7 +84,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 59e7501..227f333 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: coloreffects</title>
+<title>coloreffects: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-camerabin.html" title="camerabin">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-curl.html" title="curl">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 04069e9..84063a1 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: curl</title>
+<title>curl: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-coloreffects.html" title="coloreffects">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-dataurisrc.html" title="dataurisrc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -80,10 +80,6 @@
 <td>Upload data over HTTP/HTTPS protocol using libcurl</td>
 </tr>
 <tr>
-<td><p><span class="term">curlsftpsink</span></p></td>
-<td>Upload data over the SFTP protocol using libcurl</td>
-</tr>
-<tr>
 <td><p><span class="term">curlsmtpsink</span></p></td>
 <td>Upload data over SMTP protocol using libcurl</td>
 </tr>
@@ -92,7 +88,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 52d0fa7..c410c4f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: dataurisrc</title>
+<title>dataurisrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-curl.html" title="curl">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-debugutilsbad.html" title="debugutilsbad">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 9a13b53..dc9600d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: debugutilsbad</title>
+<title>debugutilsbad: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-dataurisrc.html" title="dataurisrc">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-dtsdec.html" title="dtsdec">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -96,7 +96,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 78a55c8..cce8d60 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: dtsdec</title>
+<title>dtsdec: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-debugutilsbad.html" title="debugutilsbad">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-dvb.html" title="dvb">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 6bc19b8..3ecc4b9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: dvb</title>
+<title>dvb: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-dtsdec.html" title="dtsdec">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-dvdspu.html" title="dvdspu">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 2bc20a0..a51f5c9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: dvdspu</title>
+<title>dvdspu: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-dvb.html" title="dvb">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-faac.html" title="faac">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 3892b06..de9bf31 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: faac</title>
+<title>faac: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-dvdspu.html" title="dvdspu">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-faad.html" title="faad">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 8a86da2..68e30a6 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: faad</title>
+<title>faad: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-faac.html" title="faac">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-festival.html" title="festival">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 964712e..f7731ea 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: festival</title>
+<title>festival: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-faad.html" title="faad">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-gaudieffects.html" title="gaudieffects">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 e411201..dd0aa01 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: gaudieffects</title>
+<title>gaudieffects: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-festival.html" title="festival">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-geometrictransform.html" title="geometrictransform">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -100,7 +100,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 b716539..be58f0d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: geometrictransform</title>
+<title>geometrictransform: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-gaudieffects.html" title="gaudieffects">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-gsm.html" title="gsm">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -136,7 +136,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 12e5c0b..6798e0b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: gsm</title>
+<title>gsm: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-geometrictransform.html" title="geometrictransform">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-jpegformat.html" title="jpegformat">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 3e31e6d..0950765 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: jpegformat</title>
+<title>jpegformat: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-gsm.html" title="gsm">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-liveadder.html" title="liveadder">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-liveadder.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-liveadder.html
index 6af933f..27b5494 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-liveadder.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-liveadder.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: liveadder</title>
+<title>liveadder: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-jpegformat.html" title="jpegformat">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-mimic.html" title="mimic">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 de2723a..f8b1f4c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: mimic</title>
+<title>mimic: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-liveadder.html" title="liveadder">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-mms.html" title="mms">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 fa2edba..905680d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: mms</title>
+<title>mms: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-mimic.html" title="mimic">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-modplug.html" title="modplug">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 d203d7d..41b50ec 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: modplug</title>
+<title>modplug: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-mms.html" title="mms">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-mpeg2enc.html" title="mpeg2enc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 f9adf70..802707b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: mpeg2enc</title>
+<title>mpeg2enc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-modplug.html" title="modplug">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-mpegpsmux.html" title="mpegpsmux">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 bf3b282..70aa829 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: mpegpsmux</title>
+<title>mpegpsmux: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-mpeg2enc.html" title="mpeg2enc">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-mpegtsmux.html" title="mpegtsmux">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 3c72d9b..221e0c1 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: mpegtsmux</title>
+<title>mpegtsmux: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-mpegpsmux.html" title="mpegpsmux">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-mplex.html" title="mplex">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 23ced08..083c776 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: mplex</title>
+<title>mplex: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-mpegtsmux.html" title="mpegtsmux">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-neon.html" title="neon">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 9fd2291..09f07a2 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-neon.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-neon.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: neon</title>
+<title>neon: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-mplex.html" title="mplex">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-ofa.html" title="ofa">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 8924f6f..f2334ea 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: ofa</title>
+<title>ofa: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-neon.html" title="neon">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-openal.html" title="openal">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 b8162f1..0a887f5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: openal</title>
+<title>openal: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-ofa.html" title="ofa">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-opencv.html" title="opencv">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 62e3229..eead50f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: opencv</title>
+<title>opencv: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
 <link rel="prev" href="gst-plugins-bad-plugins-plugin-openal.html" title="openal">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-opus.html" title="opus">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -150,7 +150,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opus.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opus.html
index a515bc9..69585b0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opus.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opus.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: opus</title>
+<title>opus: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-opencv.html" title="opencv">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-pcapparse.html" title="pcapparse">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -92,7 +92,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
index 6860019..eedd4b5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: pcapparse</title>
+<title>pcapparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-opus.html" title="opus">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-rawparse.html" title="rawparse">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 37cf546..9892f9a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: rawparse</title>
+<title>rawparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-pcapparse.html" title="pcapparse">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-rfbsrc.html" title="rfbsrc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 9c37c5f..711fd69 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: rfbsrc</title>
+<title>rfbsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-rawparse.html" title="rawparse">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-rtmp.html" title="rtmp">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 4311f6b..7205bdd 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: rtmp</title>
+<title>rtmp: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-rfbsrc.html" title="rfbsrc">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-sdp.html" title="sdp">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 c120aad..cde30a0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: sdp</title>
+<title>sdp: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-rtmp.html" title="rtmp">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-shm.html" title="shm">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 d33a375..7da7dfb 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: shm</title>
+<title>shm: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-sdp.html" title="sdp">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-soundtouch.html" title="soundtouch">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 5cbf163..045509b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: soundtouch</title>
+<title>soundtouch: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-shm.html" title="shm">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-speed.html" title="speed">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -80,7 +80,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 ebea1db..458a0c6 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: speed</title>
+<title>speed: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-soundtouch.html" title="soundtouch">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-voaacenc.html" title="voaacenc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 d8db377..bb7224f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: voaacenc</title>
+<title>voaacenc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-speed.html" title="speed">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-voamrwbenc.html" title="voamrwbenc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
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 0b9a60f..2cea642 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: voamrwbenc</title>
+<title>voamrwbenc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-voaacenc.html" title="voaacenc">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-zbar.html" title="zbar">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.0.1</td>
+<td>1.5.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>
@@ -74,7 +74,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</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 6186f40..079eef6 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
@@ -2,12 +2,12 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: zbar</title>
+<title>zbar: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -73,7 +73,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html b/docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html
index e80ea42..8a63747 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: pyramidsegment</title>
+<title>pyramidsegment: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -118,13 +118,13 @@
 </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.21</div>
+<hr>Generated by GTK-Doc V1.24</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 e748cc5..bef4d04 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rfbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rfbsrc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: rfbsrc</title>
+<title>rfbsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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="next" href="gst-plugins-bad-plugins-rtmpsink.html" title="rtmpsink">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -215,6 +215,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-rfbsrc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-rfbsrc.other_details"></a><h2>Types and Values</h2>
@@ -330,7 +331,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html
index c73a626..d8be887 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: rtmpsink</title>
+<title>rtmpsink: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-rfbsrc.html" title="rfbsrc">
 <link rel="next" href="gst-plugins-bad-plugins-rtmpsrc.html" title="rtmpsrc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-rtmpsink.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-rtmpsink.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-rtmpsink.description" class="shortcut">Description</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-rtmpsink.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-rtmpsink.properties" class="shortcut">Properties</a></span>
 </td>
@@ -50,7 +49,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<a name="GstRTMPSink"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtmpsink.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -59,21 +58,11 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-rtmpsink.html#GstRTMPSink-struct" title="struct GstRTMPSink">GstRTMPSink</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-rtmpsink.html#GstRTMPSink" title="struct GstRTMPSink">GstRTMPSink</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-plugins-rtmpsink.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSink.html">GstBaseSink</a>
-                    <span class="lineart">╰──</span> GstRTMPSink
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtmpsink.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
 <p>
 GstRTMPSink implements
@@ -84,7 +73,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.66.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.66.6.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -110,7 +99,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.66.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.66.6.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -142,12 +131,16 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtmpsink.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtmpsink.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstRTMPSink-struct"></a><h3>struct GstRTMPSink</h3>
-<pre class="programlisting">struct GstRTMPSink;</pre>
+<a name="GstRTMPSink"></a><h3>struct GstRTMPSink</h3>
+<pre class="programlisting">struct GstRTMPSink {
+  GstBaseSink parent;
+};
+</pre>
 <p>
 </p>
 </div>
@@ -164,7 +157,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html
index 5b575f0..0a7f041 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: rtmpsrc</title>
+<title>rtmpsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-rtmpsink.html" title="rtmpsink">
 <link rel="next" href="gst-plugins-bad-plugins-shmsink.html" title="shmsink">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-rtmpsrc.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-rtmpsrc.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-rtmpsrc.description" class="shortcut">Description</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-rtmpsrc.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-rtmpsrc.properties" class="shortcut">Properties</a></span>
 </td>
@@ -50,7 +49,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<a name="GstRTMPSrc"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtmpsrc.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -59,22 +58,11 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-rtmpsrc.html#GstRTMPSrc-struct" title="struct GstRTMPSrc">GstRTMPSrc</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-rtmpsrc.html#GstRTMPSrc" title="struct GstRTMPSrc">GstRTMPSrc</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-plugins-rtmpsrc.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSrc.html">GstBaseSrc</a>
-                    <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstPushSrc.html">GstPushSrc</a>
-                        <span class="lineart">╰──</span> GstRTMPSrc
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtmpsrc.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
 <p>
 GstRTMPSrc implements
@@ -85,7 +73,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.67.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.67.6.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -111,7 +99,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.67.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.67.6.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -143,12 +131,16 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtmpsrc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtmpsrc.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstRTMPSrc-struct"></a><h3>struct GstRTMPSrc</h3>
-<pre class="programlisting">struct GstRTMPSrc;</pre>
+<a name="GstRTMPSrc"></a><h3>struct GstRTMPSrc</h3>
+<pre class="programlisting">struct GstRTMPSrc {
+  GstPushSrc parent;
+};
+</pre>
 <p>
 </p>
 </div>
@@ -165,7 +157,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtpopusdepay.html b/docs/plugins/html/gst-plugins-bad-plugins-rtpopusdepay.html
index fb9503b..e395ae9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtpopusdepay.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtpopusdepay.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: rtpopusdepay</title>
+<title>rtpopusdepay: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-rtpopuspay.html" title="rtpopuspay">
 <link rel="next" href="gst-plugins-bad-plugins-pcapparse.html" title="pcapparse">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-rtpopusdepay.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-rtpopusdepay.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+                  <a href="#gst-plugins-bad-plugins-rtpopusdepay.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>
@@ -32,7 +31,7 @@
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
-<a name="GstOpenalSrc"></a><a name="GstOpencvTextOverlay"></a><a name="GstOpusDec"></a><a name="GstOpusEnc"></a><a name="GstOpusParse"></a><a name="GstRTPOpusDepay"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtpopusdepay.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -41,26 +40,16 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-rtpopusdepay.html#GstRTPOpusDepay-struct" title="struct GstRTPOpusDepay">GstRTPOpusDepay</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-rtpopusdepay.html#GstRTPOpusDepay" title="struct GstRTPOpusDepay">GstRTPOpusDepay</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-plugins-rtpopusdepay.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstrtpbasedepayload.html#GstRTPBaseDepayload">GstRTPBaseDepayload</a>
-                    <span class="lineart">╰──</span> GstRTPOpusDepay
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtpopusdepay.description"></a><h2>Description</h2>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.61.11.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.61.4.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -86,7 +75,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.61.11.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.61.4.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -142,19 +131,22 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtpopusdepay.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtpopusdepay.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstRTPOpusDepay-struct"></a><h3>struct GstRTPOpusDepay</h3>
-<pre class="programlisting">struct GstRTPOpusDepay;</pre>
+<a name="GstRTPOpusDepay"></a><h3>struct GstRTPOpusDepay</h3>
+<pre class="programlisting">struct GstRTPOpusDepay {
+  GstRTPBaseDepayload depayload;
+};
+</pre>
 <p>
 </p>
 </div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtpopuspay.html b/docs/plugins/html/gst-plugins-bad-plugins-rtpopuspay.html
index a3f3744..d9c1e6c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtpopuspay.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtpopuspay.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: rtpopuspay</title>
+<title>rtpopuspay: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-opusparse.html" title="opusparse">
 <link rel="next" href="gst-plugins-bad-plugins-rtpopusdepay.html" title="rtpopusdepay">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-rtpopuspay.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-rtpopuspay.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+                  <a href="#gst-plugins-bad-plugins-rtpopuspay.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>
@@ -32,7 +31,7 @@
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
-<a name="GstOpenalSrc"></a><a name="GstOpencvTextOverlay"></a><a name="GstOpusDec"></a><a name="GstOpusEnc"></a><a name="GstOpusParse"></a><a name="GstRTPOpusDepay"></a><a name="GstRtpOPUSPay"></a><div class="refsect1">
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtpopuspay.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -41,26 +40,16 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-rtpopuspay.html#GstRtpOPUSPay-struct" title="struct GstRtpOPUSPay">GstRtpOPUSPay</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-rtpopuspay.html#GstRtpOPUSPay" title="struct GstRtpOPUSPay">GstRtpOPUSPay</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-plugins-rtpopuspay.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload">GstRTPBasePayload</a>
-                    <span class="lineart">╰──</span> GstRtpOPUSPay
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtpopuspay.description"></a><h2>Description</h2>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.60.12.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.60.4.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -86,7 +75,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.60.12.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.60.4.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -142,19 +131,22 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtpopuspay.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-rtpopuspay.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstRtpOPUSPay-struct"></a><h3>struct GstRtpOPUSPay</h3>
-<pre class="programlisting">struct GstRtpOPUSPay;</pre>
+<a name="GstRtpOPUSPay"></a><h3>struct GstRtpOPUSPay</h3>
+<pre class="programlisting">struct GstRtpOPUSPay {
+  GstRTPBasePayload payload;
+};
+</pre>
 <p>
 </p>
 </div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html b/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html
index f2f6a9a..7b78946 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: sdpdemux</title>
+<title>sdpdemux: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-shmsrc.html" title="shmsrc">
 <link rel="next" href="gst-plugins-bad-plugins-solarize.html" title="solarize">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -207,6 +207,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-sdpdemux.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-sdpdemux.other_details"></a><h2>Types and Values</h2>
@@ -253,7 +254,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html b/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html
index 3cf5440..806249d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: shmsink</title>
+<title>shmsink: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-rtmpsrc.html" title="rtmpsrc">
 <link rel="next" href="gst-plugins-bad-plugins-shmsrc.html" title="shmsrc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -180,6 +180,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-shmsink.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-shmsink.other_details"></a><h2>Types and Values</h2>
@@ -304,7 +305,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html
index 78a4cb7..1ac485b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: shmsrc</title>
+<title>shmsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-shmsink.html" title="shmsink">
 <link rel="next" href="gst-plugins-bad-plugins-sdpdemux.html" title="sdpdemux">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -53,6 +53,12 @@
 <td class="property_name"><a class="link" href="gst-plugins-bad-plugins-shmsrc.html#GstShmSrc--socket-path" title="The “socket-path” property">socket-path</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-shmsrc.html#GstShmSrc--shm-area-name" title="The “shm-area-name” property">shm-area-name</a></td>
+<td class="property_flags">Read</td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -143,6 +149,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-shmsrc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-shmsrc.other_details"></a><h2>Types and Values</h2>
@@ -166,14 +173,21 @@
 <div class="refsect2">
 <a name="GstShmSrc--socket-path"></a><h3>The <code class="literal">“socket-path”</code> property</h3>
 <pre class="programlisting">  “socket-path”              <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
-<p>The path to the control socket used to control the shared memory transport.</p>
+<p>The path to the control socket used to control the shared memory.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: NULL</p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstShmSrc--shm-area-name"></a><h3>The <code class="literal">“shm-area-name”</code> property</h3>
+<pre class="programlisting">  “shm-area-name”            <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>The name of the shared memory area used to get buffers.</p>
+<p>Flags: Read</p>
+<p>Default value: NULL</p>
+</div>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-solarize.html b/docs/plugins/html/gst-plugins-bad-plugins-solarize.html
index 166e012..56b9188 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-solarize.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-solarize.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: solarize</title>
+<title>solarize: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-sdpdemux.html" title="sdpdemux">
 <link rel="next" href="gst-plugins-bad-plugins-spacescope.html" title="spacescope">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -191,6 +191,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-solarize.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-solarize.other_details"></a><h2>Types and Values</h2>
@@ -240,7 +241,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html b/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html
index 14748a1..851edd3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: spacescope</title>
+<title>spacescope: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-solarize.html" title="solarize">
 <link rel="next" href="gst-plugins-bad-plugins-spectrascope.html" title="spectrascope">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -174,6 +174,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-spacescope.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-spacescope.other_details"></a><h2>Types and Values</h2>
@@ -200,7 +201,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html b/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html
index b183c72..5a0778f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: spectrascope</title>
+<title>spectrascope: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-spacescope.html" title="spacescope">
 <link rel="next" href="gst-plugins-bad-plugins-synaescope.html" title="synaescope">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -158,6 +158,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-spectrascope.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-spectrascope.other_details"></a><h2>Types and Values</h2>
@@ -174,7 +175,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-speed.html b/docs/plugins/html/gst-plugins-bad-plugins-speed.html
index 0324835..f8065d3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-speed.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-speed.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: speed</title>
+<title>speed: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-synaescope.html" title="synaescope">
 <link rel="next" href="gst-plugins-bad-plugins-sphere.html" title="sphere">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -176,6 +176,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-speed.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-speed.other_details"></a><h2>Types and Values</h2>
@@ -199,7 +200,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-sphere.html b/docs/plugins/html/gst-plugins-bad-plugins-sphere.html
index 728ac79..00e69b5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-sphere.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-sphere.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: sphere</title>
+<title>sphere: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-speed.html" title="speed">
 <link rel="next" href="gst-plugins-bad-plugins-square.html" title="square">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -161,6 +161,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-sphere.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-sphere.other_details"></a><h2>Types and Values</h2>
@@ -183,7 +184,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-square.html b/docs/plugins/html/gst-plugins-bad-plugins-square.html
index dc4a53f..694f423 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-square.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-square.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: square</title>
+<title>square: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-sphere.html" title="sphere">
 <link rel="next" href="gst-plugins-bad-plugins-stretch.html" title="stretch">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -172,6 +172,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-square.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-square.other_details"></a><h2>Types and Values</h2>
@@ -213,7 +214,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-stretch.html b/docs/plugins/html/gst-plugins-bad-plugins-stretch.html
index da3a58b..caa07c9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-stretch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-stretch.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: stretch</title>
+<title>stretch: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-square.html" title="square">
 <link rel="next" href="gst-plugins-bad-plugins-templatematch.html" title="templatematch">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -161,6 +161,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-stretch.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-stretch.other_details"></a><h2>Types and Values</h2>
@@ -184,7 +185,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html b/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html
index 92a93f1..59711cd 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: synaescope</title>
+<title>synaescope: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-spectrascope.html" title="spectrascope">
 <link rel="next" href="gst-plugins-bad-plugins-speed.html" title="speed">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -158,6 +158,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-synaescope.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-synaescope.other_details"></a><h2>Types and Values</h2>
@@ -174,7 +175,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html b/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html
index eee35de..e17d78b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html
@@ -2,21 +2,20 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: templatematch</title>
+<title>templatematch: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-stretch.html" title="stretch">
 <link rel="next" href="gst-plugins-bad-plugins-opencvtextoverlay.html" title="opencvtextoverlay">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (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-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.description" class="shortcut">Description</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>
@@ -61,7 +60,7 @@
 </tbody>
 </table></div>
 </div>
-<a name="GstSynaeScope"></a><a name="GstTemplateMatch"></a><div class="refsect1">
+<a name="GstSynaeScope"></a><div class="refsect1">
 <a name="gst-plugins-bad-plugins-templatematch.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
@@ -70,25 +69,16 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch-struct" title="struct GstTemplateMatch">GstTemplateMatch</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch" 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="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                <span class="lineart">╰──</span> GstTemplateMatch
-</pre>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-plugins-templatematch.description"></a><h2>Description</h2>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.79.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.79.6.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -114,7 +104,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.79.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.79.6.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -170,12 +160,25 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-templatematch.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-templatematch.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstTemplateMatch-struct"></a><h3>struct GstTemplateMatch</h3>
-<pre class="programlisting">struct GstTemplateMatch;</pre>
+<a name="GstTemplateMatch"></a><h3>struct GstTemplateMatch</h3>
+<pre class="programlisting">struct GstTemplateMatch {
+  GstElement element;
+
+  GstPad *sinkpad, *srcpad;
+
+  gint method;
+  gboolean display;
+
+  gchar *template;
+
+  IplImage *cvImage, *cvGray, *cvTemplateImage, *cvDistImage;
+};
+</pre>
 <p>
 </p>
 </div>
@@ -209,7 +212,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html b/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html
index 169b056..590bbdf 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: tunnel</title>
+<title>tunnel: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-opencvtextoverlay.html" title="opencvtextoverlay">
 <link rel="next" href="gst-plugins-bad-plugins-twirl.html" title="twirl">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -145,6 +145,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-tunnel.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-tunnel.other_details"></a><h2>Types and Values</h2>
@@ -157,7 +158,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-twirl.html b/docs/plugins/html/gst-plugins-bad-plugins-twirl.html
index 528de2f..59b72b1 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-twirl.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-twirl.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: twirl</title>
+<title>twirl: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-tunnel.html" title="tunnel">
 <link rel="next" href="gst-plugins-bad-plugins-videoparse.html" title="videoparse">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -161,6 +161,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-twirl.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-twirl.other_details"></a><h2>Types and Values</h2>
@@ -183,7 +184,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html b/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
index 7c0ee87..3eaa97c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: videoparse</title>
+<title>videoparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
 <link rel="prev" href="gst-plugins-bad-plugins-twirl.html" title="twirl">
 <link rel="next" href="gst-plugins-bad-plugins-waterripple.html" title="waterripple">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -230,6 +230,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-videoparse.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-videoparse.other_details"></a><h2>Types and Values</h2>
@@ -358,7 +359,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html b/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
index 17b51dc..98f4839 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: voaacenc</title>
+<title>voaacenc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-zbar.html" title="zbar">
 <link rel="next" href="gst-plugins-bad-plugins-voamrwbenc.html" title="voamrwbenc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -165,6 +165,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-voaacenc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-voaacenc.other_details"></a><h2>Types and Values</h2>
@@ -188,7 +189,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html b/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html
index 1242645..b43b439 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: voamrwbenc</title>
+<title>voamrwbenc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-voaacenc.html" title="voaacenc">
 <link rel="next" href="gst-plugins-bad-plugins-wavescope.html" title="wavescope">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -118,13 +118,13 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-voamrwbenc.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-voamrwbenc.other_details"></a><h2>Types and Values</h2>
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html b/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html
index 3382f96..2c1fcac 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: waterripple</title>
+<title>waterripple: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-videoparse.html" title="videoparse">
 <link rel="next" href="gst-plugins-bad-plugins-zbar.html" title="zbar">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -173,6 +173,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-waterripple.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-waterripple.other_details"></a><h2>Types and Values</h2>
@@ -211,7 +212,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html b/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html
index bedb2e6..423579f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: wavescope</title>
+<title>wavescope: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-voamrwbenc.html" title="voamrwbenc">
 <link rel="next" href="ch02.html" title="gst-plugins-bad Plugins">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -174,6 +174,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-wavescope.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-wavescope.other_details"></a><h2>Types and Values</h2>
@@ -200,7 +201,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</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 b404b4b..a2c4f04 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-zbar.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-zbar.html
@@ -2,13 +2,13 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: zbar</title>
+<title>zbar: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.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-waterripple.html" title="waterripple">
 <link rel="next" href="gst-plugins-bad-plugins-voaacenc.html" title="voaacenc">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -154,6 +154,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-zbar.functions_details"></a><h2>Functions</h2>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-zbar.other_details"></a><h2>Types and Values</h2>
@@ -186,7 +187,6 @@
 </div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index c232ee4..10d724c 100644
--- a/docs/plugins/html/index.html
+++ b/docs/plugins/html/index.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="next" href="ch01.html" title="gst-plugins-bad Elements">
-<meta name="generator" content="GTK-Doc V1.21 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -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.5.0.1)
+      for GStreamer Bad Plugins 1.0 (1.5.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>
@@ -65,7 +65,7 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-coloreffects.html">coloreffects</a></span><span class="refpurpose"> — Color Look-up Table filter</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-compositor.html">compositor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-compositor.html">compositor</a></span><span class="refpurpose"> — Composite multiple video streams</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-cvdilate.html">cvdilate</a></span><span class="refpurpose"> — Applies cvDilate OpenCV function to the image</span>
@@ -290,151 +290,150 @@
 <dt><span class="chapter"><a href="ch02.html">gst-plugins-bad Plugins</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-aiff.html">aiff</a></span><span class="refpurpose">Create and parse Audio Interchange File Format (AIFF) files</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-aiff.html">aiff</a></span><span class="refpurpose"> — Create and parse Audio Interchange File Format (AIFF) files</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-audiomixer.html">audiomixer</a></span><span class="refpurpose">Mixes multiple audio streams</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-audiomixer.html">audiomixer</a></span><span class="refpurpose"> — Mixes multiple audio streams</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-audiovisualizers.html">audiovisualizers</a></span><span class="refpurpose">Creates video visualizations of audio input</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-audiovisualizers.html">audiovisualizers</a></span><span class="refpurpose"> — Creates video visualizations of audio input</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-autoconvert.html">autoconvert</a></span><span class="refpurpose">Selects convertor element based on caps</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-autoconvert.html">autoconvert</a></span><span class="refpurpose"> — Selects convertor element based on caps</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-assrender.html">assrender</a></span><span class="refpurpose">ASS/SSA subtitle renderer</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-assrender.html">assrender</a></span><span class="refpurpose"> — ASS/SSA subtitle renderer</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-bayer.html">bayer</a></span><span class="refpurpose">Elements to convert Bayer images</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-bayer.html">bayer</a></span><span class="refpurpose"> — Elements to convert Bayer images</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-bs2b.html">bs2b</a></span><span class="refpurpose">Improve headphone listening of stereo audio recordsusing the bs2b library.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-bs2b.html">bs2b</a></span><span class="refpurpose"> — Improve headphone listening of stereo audio recordsusing the bs2b library.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-bz2.html">bz2</a></span><span class="refpurpose">Compress or decompress streams</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-bz2.html">bz2</a></span><span class="refpurpose"> — Compress or decompress streams</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-camerabin.html">camerabin</a></span><span class="refpurpose">Take image snapshots and record movies from camera</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-camerabin.html">camerabin</a></span><span class="refpurpose"> — Take image snapshots and record movies from camera</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-coloreffects.html">coloreffects</a></span><span class="refpurpose">Color Look-up Table filters</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-coloreffects.html">coloreffects</a></span><span class="refpurpose"> — Color Look-up Table filters</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-curl.html">curl</a></span><span class="refpurpose">libcurl-based elements</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-curl.html">curl</a></span><span class="refpurpose"> — libcurl-based elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dataurisrc.html">dataurisrc</a></span><span class="refpurpose">data: URI source</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dataurisrc.html">dataurisrc</a></span><span class="refpurpose"> — data: URI source</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-debugutilsbad.html">debugutilsbad</a></span><span class="refpurpose">Collection of elements that may or may not be useful for debugging</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-debugutilsbad.html">debugutilsbad</a></span><span class="refpurpose"> — Collection of elements that may or may not be useful for debugging</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dtsdec.html">dtsdec</a></span><span class="refpurpose">Decodes DTS audio streams</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dtsdec.html">dtsdec</a></span><span class="refpurpose"> — Decodes DTS audio streams</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dvb.html">dvb</a></span><span class="refpurpose">DVB elements</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dvb.html">dvb</a></span><span class="refpurpose"> — DVB elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dvdspu.html">dvdspu</a></span><span class="refpurpose">DVD Sub-picture Overlay element</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-dvdspu.html">dvdspu</a></span><span class="refpurpose"> — DVD Sub-picture Overlay element</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-faac.html">faac</a></span><span class="refpurpose">Free AAC Encoder (FAAC)</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-faac.html">faac</a></span><span class="refpurpose"> — Free AAC Encoder (FAAC)</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-faad.html">faad</a></span><span class="refpurpose">Free AAC Decoder (FAAD)</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-faad.html">faad</a></span><span class="refpurpose"> — Free AAC Decoder (FAAD)</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-festival.html">festival</a></span><span class="refpurpose">Synthesizes plain text into audio</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-festival.html">festival</a></span><span class="refpurpose"> — Synthesizes plain text into audio</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-gaudieffects.html">gaudieffects</a></span><span class="refpurpose">Gaudi video effects.</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-gaudieffects.html">gaudieffects</a></span><span class="refpurpose"> — Gaudi video effects.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-geometrictransform.html">geometrictransform</a></span><span class="refpurpose">Various geometric image transform elements</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-geometrictransform.html">geometrictransform</a></span><span class="refpurpose"> — Various geometric image transform elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-gsm.html">gsm</a></span><span class="refpurpose">GSM encoder/decoder</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-gsm.html">gsm</a></span><span class="refpurpose"> — GSM encoder/decoder</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-jpegformat.html">jpegformat</a></span><span class="refpurpose">JPEG interchange format plugin</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-jpegformat.html">jpegformat</a></span><span class="refpurpose"> — JPEG interchange format plugin</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-liveadder.html">liveadder</a></span><span class="refpurpose">Adds multiple live discontinuous streams</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-liveadder.html">liveadder</a></span><span class="refpurpose"> — Adds multiple live discontinuous streams</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mimic.html">mimic</a></span><span class="refpurpose">Mimic codec</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mimic.html">mimic</a></span><span class="refpurpose"> — Mimic codec</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mms.html">mms</a></span><span class="refpurpose">Microsoft Multi Media Server streaming protocol support</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mms.html">mms</a></span><span class="refpurpose"> — Microsoft Multi Media Server streaming protocol support</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-modplug.html">modplug</a></span><span class="refpurpose">.MOD audio decoding</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-modplug.html">modplug</a></span><span class="refpurpose"> — .MOD audio decoding</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mpeg2enc.html">mpeg2enc</a></span><span class="refpurpose">High-quality MPEG-1/2 video encoder</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mpeg2enc.html">mpeg2enc</a></span><span class="refpurpose"> — High-quality MPEG-1/2 video encoder</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mpegpsmux.html">mpegpsmux</a></span><span class="refpurpose">MPEG-PS muxer</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mpegpsmux.html">mpegpsmux</a></span><span class="refpurpose"> — MPEG-PS muxer</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mpegtsmux.html">mpegtsmux</a></span><span class="refpurpose">MPEG-TS muxer</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mpegtsmux.html">mpegtsmux</a></span><span class="refpurpose"> — MPEG-TS muxer</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mplex.html">mplex</a></span><span class="refpurpose">High-quality MPEG/DVD/SVCD/VCD video/audio multiplexer</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-mplex.html">mplex</a></span><span class="refpurpose"> — High-quality MPEG/DVD/SVCD/VCD video/audio multiplexer</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-neon.html">neon</a></span><span class="refpurpose">lib neon http client src</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-neon.html">neon</a></span><span class="refpurpose"> — lib neon http client src</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-ofa.html">ofa</a></span><span class="refpurpose">Calculate MusicIP fingerprint from audio files</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-ofa.html">ofa</a></span><span class="refpurpose"> — Calculate MusicIP fingerprint from audio files</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-openal.html">openal</a></span><span class="refpurpose">OpenAL plugin library</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-openal.html">openal</a></span><span class="refpurpose"> — OpenAL plugin library</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-opencv.html">opencv</a></span><span class="refpurpose">GStreamer OpenCV Plugins</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-opencv.html">opencv</a></span><span class="refpurpose"> — GStreamer OpenCV Plugins</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-opus.html">opus</a></span><span class="refpurpose">OPUS plugin library</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-opus.html">opus</a></span><span class="refpurpose"> — OPUS plugin library</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-pcapparse.html">pcapparse</a></span><span class="refpurpose">Element parsing raw pcap streams</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-pcapparse.html">pcapparse</a></span><span class="refpurpose"> — Element parsing raw pcap streams</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-rawparse.html">rawparse</a></span><span class="refpurpose">Parses byte streams into raw frames</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-rawparse.html">rawparse</a></span><span class="refpurpose"> — Parses byte streams into raw frames</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-rfbsrc.html">rfbsrc</a></span><span class="refpurpose">Connects to a VNC server and decodes RFB stream</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-rfbsrc.html">rfbsrc</a></span><span class="refpurpose"> — Connects to a VNC server and decodes RFB stream</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-rtmp.html">rtmp</a></span><span class="refpurpose">RTMP source and sink</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-rtmp.html">rtmp</a></span><span class="refpurpose"> — RTMP source and sink</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-sdp.html">sdp</a></span><span class="refpurpose">configure streaming sessions using SDP</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-sdp.html">sdp</a></span><span class="refpurpose"> — configure streaming sessions using SDP</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-shm.html">shm</a></span><span class="refpurpose">shared memory sink source</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-shm.html">shm</a></span><span class="refpurpose"> — shared memory sink source</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-soundtouch.html">soundtouch</a></span><span class="refpurpose">Audio Pitch Controller &amp; BPM Detection</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-soundtouch.html">soundtouch</a></span><span class="refpurpose"> — Audio Pitch Controller &amp; BPM Detection</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-speed.html">speed</a></span><span class="refpurpose">Set speed/pitch on audio/raw streams (resampler)</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-speed.html">speed</a></span><span class="refpurpose"> — Set speed/pitch on audio/raw streams (resampler)</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-voaacenc.html">voaacenc</a></span><span class="refpurpose">AAC audio encoder</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-voaacenc.html">voaacenc</a></span><span class="refpurpose"> — AAC audio encoder</span>
 </dt>
 <dt>
-<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>
+<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-zbar.html">zbar</a></span><span class="refpurpose">zbar barcode scanner</span>
+<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>
 </dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.21</div>
+<hr>Generated by GTK-Doc V1.24</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/plugins/html/index.sgml b/docs/plugins/html/index.sgml
index c3fef1a..dcb9677 100644
--- a/docs/plugins/html/index.sgml
+++ b/docs/plugins/html/index.sgml
@@ -148,49 +148,39 @@
 <ANCHOR id="gst-plugins-bad-plugins-compositor.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-compositor.html#gst-plugins-bad-plugins-compositor.property-details">
 <ANCHOR id="GstCompositor--background" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-compositor.html#GstCompositor--background">
 <ANCHOR id="gst-plugins-bad-plugins-cvdilate" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html">
-<ANCHOR id="GstCvDilate" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#GstCvDilate">
 <ANCHOR id="gst-plugins-bad-plugins-cvdilate.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#gst-plugins-bad-plugins-cvdilate.other">
-<ANCHOR id="gst-plugins-bad-plugins-cvdilate.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#gst-plugins-bad-plugins-cvdilate.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-cvdilate.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#gst-plugins-bad-plugins-cvdilate.description">
 <ANCHOR id="gst-plugins-bad-plugins-cvdilate.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#gst-plugins-bad-plugins-cvdilate.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-cvdilate.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#gst-plugins-bad-plugins-cvdilate.other_details">
-<ANCHOR id="GstCvDilate-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#GstCvDilate-struct">
+<ANCHOR id="GstCvDilate" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#GstCvDilate">
 <ANCHOR id="gst-plugins-bad-plugins-cverode" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html">
-<ANCHOR id="GstCvErode" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#GstCvErode">
 <ANCHOR id="gst-plugins-bad-plugins-cverode.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#gst-plugins-bad-plugins-cverode.other">
-<ANCHOR id="gst-plugins-bad-plugins-cverode.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#gst-plugins-bad-plugins-cverode.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-cverode.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#gst-plugins-bad-plugins-cverode.description">
 <ANCHOR id="gst-plugins-bad-plugins-cverode.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#gst-plugins-bad-plugins-cverode.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-cverode.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#gst-plugins-bad-plugins-cverode.other_details">
-<ANCHOR id="GstCvErode-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#GstCvErode-struct">
+<ANCHOR id="GstCvErode" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#GstCvErode">
 <ANCHOR id="gst-plugins-bad-plugins-cvequalizehist" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html">
-<ANCHOR id="GstCvEqualizeHist" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist">
 <ANCHOR id="gst-plugins-bad-plugins-cvequalizehist.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#gst-plugins-bad-plugins-cvequalizehist.other">
-<ANCHOR id="gst-plugins-bad-plugins-cvequalizehist.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#gst-plugins-bad-plugins-cvequalizehist.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-cvequalizehist.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#gst-plugins-bad-plugins-cvequalizehist.description">
 <ANCHOR id="gst-plugins-bad-plugins-cvequalizehist.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#gst-plugins-bad-plugins-cvequalizehist.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-cvequalizehist.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#gst-plugins-bad-plugins-cvequalizehist.other_details">
-<ANCHOR id="GstCvEqualizeHist-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist-struct">
+<ANCHOR id="GstCvEqualizeHist" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist">
 <ANCHOR id="gst-plugins-bad-plugins-cvlaplace" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html">
 <ANCHOR id="gst-plugins-bad-plugins-cvlaplace.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#gst-plugins-bad-plugins-cvlaplace.properties">
-<ANCHOR id="GstCvLaplace" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace">
 <ANCHOR id="gst-plugins-bad-plugins-cvlaplace.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#gst-plugins-bad-plugins-cvlaplace.other">
-<ANCHOR id="gst-plugins-bad-plugins-cvlaplace.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#gst-plugins-bad-plugins-cvlaplace.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-cvlaplace.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#gst-plugins-bad-plugins-cvlaplace.description">
 <ANCHOR id="gst-plugins-bad-plugins-cvlaplace.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#gst-plugins-bad-plugins-cvlaplace.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-cvlaplace.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#gst-plugins-bad-plugins-cvlaplace.other_details">
-<ANCHOR id="GstCvLaplace-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace-struct">
+<ANCHOR id="GstCvLaplace" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace">
 <ANCHOR id="gst-plugins-bad-plugins-cvlaplace.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#gst-plugins-bad-plugins-cvlaplace.property-details">
 <ANCHOR id="GstCvLaplace--aperture-size" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--aperture-size">
 <ANCHOR id="gst-plugins-bad-plugins-cvsmooth" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html">
 <ANCHOR id="gst-plugins-bad-plugins-cvsmooth.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#gst-plugins-bad-plugins-cvsmooth.properties">
-<ANCHOR id="GstCvSmooth" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth">
 <ANCHOR id="gst-plugins-bad-plugins-cvsmooth.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#gst-plugins-bad-plugins-cvsmooth.other">
-<ANCHOR id="gst-plugins-bad-plugins-cvsmooth.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#gst-plugins-bad-plugins-cvsmooth.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-cvsmooth.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#gst-plugins-bad-plugins-cvsmooth.description">
 <ANCHOR id="gst-plugins-bad-plugins-cvsmooth.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#gst-plugins-bad-plugins-cvsmooth.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-cvsmooth.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#gst-plugins-bad-plugins-cvsmooth.other_details">
-<ANCHOR id="GstCvSmooth-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth-struct">
+<ANCHOR id="GstCvSmooth" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth">
 <ANCHOR id="gst-plugins-bad-plugins-cvsmooth.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#gst-plugins-bad-plugins-cvsmooth.property-details">
 <ANCHOR id="GstCvSmooth--param1" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param1">
 <ANCHOR id="GstCvSmooth--param2" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param2">
@@ -199,13 +189,11 @@
 <ANCHOR id="GstCvSmooth--type" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--type">
 <ANCHOR id="gst-plugins-bad-plugins-cvsobel" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html">
 <ANCHOR id="gst-plugins-bad-plugins-cvsobel.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#gst-plugins-bad-plugins-cvsobel.properties">
-<ANCHOR id="GstCvSobel" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#GstCvSobel">
 <ANCHOR id="gst-plugins-bad-plugins-cvsobel.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#gst-plugins-bad-plugins-cvsobel.other">
-<ANCHOR id="gst-plugins-bad-plugins-cvsobel.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#gst-plugins-bad-plugins-cvsobel.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-cvsobel.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#gst-plugins-bad-plugins-cvsobel.description">
 <ANCHOR id="gst-plugins-bad-plugins-cvsobel.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#gst-plugins-bad-plugins-cvsobel.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-cvsobel.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#gst-plugins-bad-plugins-cvsobel.other_details">
-<ANCHOR id="GstCvSobel-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#GstCvSobel-struct">
+<ANCHOR id="GstCvSobel" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#GstCvSobel">
 <ANCHOR id="gst-plugins-bad-plugins-cvsobel.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#gst-plugins-bad-plugins-cvsobel.property-details">
 <ANCHOR id="GstCvSobel--aperture-size" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--aperture-size">
 <ANCHOR id="GstCvSobel--x-order" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--x-order">
@@ -367,14 +355,12 @@
 <ANCHOR id="gst-plugins-bad-plugins-edgedetect.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-edgedetect.html#gst-plugins-bad-plugins-edgedetect.other_details">
 <ANCHOR id="gst-plugins-bad-plugins-faac" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-faac.html">
 <ANCHOR id="gst-plugins-bad-plugins-faac.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-faac.html#gst-plugins-bad-plugins-faac.properties">
-<ANCHOR id="GstFaac" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-faac.html#GstFaac">
 <ANCHOR id="gst-plugins-bad-plugins-faac.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-faac.html#gst-plugins-bad-plugins-faac.other">
-<ANCHOR id="gst-plugins-bad-plugins-faac.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-faac.html#gst-plugins-bad-plugins-faac.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-faac.implemented-interfaces" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-faac.html#gst-plugins-bad-plugins-faac.implemented-interfaces">
 <ANCHOR id="gst-plugins-bad-plugins-faac.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-faac.html#gst-plugins-bad-plugins-faac.description">
 <ANCHOR id="gst-plugins-bad-plugins-faac.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-faac.html#gst-plugins-bad-plugins-faac.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-faac.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-faac.html#gst-plugins-bad-plugins-faac.other_details">
-<ANCHOR id="GstFaac-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-faac.html#GstFaac-struct">
+<ANCHOR id="GstFaac" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-faac.html#GstFaac">
 <ANCHOR id="gst-plugins-bad-plugins-faac.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-faac.html#gst-plugins-bad-plugins-faac.property-details">
 <ANCHOR id="GstFaac--bitrate" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-faac.html#GstFaac--bitrate">
 <ANCHOR id="GstFaac--midside" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-faac.html#GstFaac--midside">
@@ -554,14 +540,12 @@
 <ANCHOR id="GstModPlug--surround-depth" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-modplug.html#GstModPlug--surround-depth">
 <ANCHOR id="gst-plugins-bad-plugins-mpeg2enc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpeg2enc.html">
 <ANCHOR id="gst-plugins-bad-plugins-mpeg2enc.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpeg2enc.html#gst-plugins-bad-plugins-mpeg2enc.properties">
-<ANCHOR id="GstMpeg2enc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc">
 <ANCHOR id="gst-plugins-bad-plugins-mpeg2enc.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpeg2enc.html#gst-plugins-bad-plugins-mpeg2enc.other">
-<ANCHOR id="gst-plugins-bad-plugins-mpeg2enc.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpeg2enc.html#gst-plugins-bad-plugins-mpeg2enc.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-mpeg2enc.implemented-interfaces" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpeg2enc.html#gst-plugins-bad-plugins-mpeg2enc.implemented-interfaces">
 <ANCHOR id="gst-plugins-bad-plugins-mpeg2enc.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpeg2enc.html#gst-plugins-bad-plugins-mpeg2enc.description">
 <ANCHOR id="gst-plugins-bad-plugins-mpeg2enc.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpeg2enc.html#gst-plugins-bad-plugins-mpeg2enc.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-mpeg2enc.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpeg2enc.html#gst-plugins-bad-plugins-mpeg2enc.other_details">
-<ANCHOR id="GstMpeg2enc-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc-struct">
+<ANCHOR id="GstMpeg2enc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc">
 <ANCHOR id="gst-plugins-bad-plugins-mpeg2enc.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpeg2enc.html#gst-plugins-bad-plugins-mpeg2enc.property-details">
 <ANCHOR id="GstMpeg2enc--altscan-mpeg2" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--altscan-mpeg2">
 <ANCHOR id="GstMpeg2enc--aspect" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--aspect">
@@ -647,14 +631,12 @@
 <ANCHOR id="GstMpg123AudioDec-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpg123audiodec.html#GstMpg123AudioDec-struct">
 <ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html">
 <ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.properties">
-<ANCHOR id="GstNeonhttpSrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc">
 <ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.other">
-<ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.implemented-interfaces" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.implemented-interfaces">
 <ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.description">
 <ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.other_details">
-<ANCHOR id="GstNeonhttpSrc-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc-struct">
+<ANCHOR id="GstNeonhttpSrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc">
 <ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.property-details">
 <ANCHOR id="GstNeonhttpSrc--location" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc--location">
 <ANCHOR id="GstNeonhttpSrc--proxy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc--proxy">
@@ -683,13 +665,11 @@
 <ANCHOR id="GstOFA--fingerprint" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-ofa.html#GstOFA--fingerprint">
 <ANCHOR id="gst-plugins-bad-plugins-openalsrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-openalsrc.html">
 <ANCHOR id="gst-plugins-bad-plugins-openalsrc.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-openalsrc.html#gst-plugins-bad-plugins-openalsrc.properties">
-<ANCHOR id="GstOpenalSrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-openalsrc.html#GstOpenalSrc">
 <ANCHOR id="gst-plugins-bad-plugins-openalsrc.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-openalsrc.html#gst-plugins-bad-plugins-openalsrc.other">
-<ANCHOR id="gst-plugins-bad-plugins-openalsrc.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-openalsrc.html#gst-plugins-bad-plugins-openalsrc.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-openalsrc.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-openalsrc.html#gst-plugins-bad-plugins-openalsrc.description">
 <ANCHOR id="gst-plugins-bad-plugins-openalsrc.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-openalsrc.html#gst-plugins-bad-plugins-openalsrc.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-openalsrc.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-openalsrc.html#gst-plugins-bad-plugins-openalsrc.other_details">
-<ANCHOR id="GstOpenalSrc-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-openalsrc.html#GstOpenalSrc-struct">
+<ANCHOR id="GstOpenalSrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-openalsrc.html#GstOpenalSrc">
 <ANCHOR id="gst-plugins-bad-plugins-openalsrc.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-openalsrc.html#gst-plugins-bad-plugins-openalsrc.property-details">
 <ANCHOR id="GstOpenalSrc--device" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-openalsrc.html#GstOpenalSrc--device">
 <ANCHOR id="GstOpenalSrc--device-name" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-openalsrc.html#GstOpenalSrc--device-name">
@@ -699,30 +679,21 @@
 <ANCHOR id="gst-plugins-bad-plugins-openalsink.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-openalsink.html#gst-plugins-bad-plugins-openalsink.other_details">
 <ANCHOR id="gst-plugins-bad-plugins-opusdec" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html">
 <ANCHOR id="gst-plugins-bad-plugins-opusdec.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html#gst-plugins-bad-plugins-opusdec.properties">
-<ANCHOR id="GstOpenalSrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html#GstOpenalSrc">
-<ANCHOR id="GstOpencvTextOverlay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html#GstOpencvTextOverlay">
-<ANCHOR id="GstOpusDec" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html#GstOpusDec">
 <ANCHOR id="gst-plugins-bad-plugins-opusdec.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html#gst-plugins-bad-plugins-opusdec.other">
-<ANCHOR id="gst-plugins-bad-plugins-opusdec.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html#gst-plugins-bad-plugins-opusdec.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-opusdec.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html#gst-plugins-bad-plugins-opusdec.description">
 <ANCHOR id="gst-plugins-bad-plugins-opusdec.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html#gst-plugins-bad-plugins-opusdec.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-opusdec.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html#gst-plugins-bad-plugins-opusdec.other_details">
-<ANCHOR id="GstOpusDec-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html#GstOpusDec-struct">
+<ANCHOR id="GstOpusDec" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html#GstOpusDec">
 <ANCHOR id="gst-plugins-bad-plugins-opusdec.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html#gst-plugins-bad-plugins-opusdec.property-details">
 <ANCHOR id="GstOpusDec--apply-gain" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html#GstOpusDec--apply-gain">
 <ANCHOR id="GstOpusDec--use-inband-fec" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusdec.html#GstOpusDec--use-inband-fec">
 <ANCHOR id="gst-plugins-bad-plugins-opusenc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html">
 <ANCHOR id="gst-plugins-bad-plugins-opusenc.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#gst-plugins-bad-plugins-opusenc.properties">
-<ANCHOR id="GstOpenalSrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#GstOpenalSrc">
-<ANCHOR id="GstOpencvTextOverlay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#GstOpencvTextOverlay">
-<ANCHOR id="GstOpusDec" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#GstOpusDec">
-<ANCHOR id="GstOpusEnc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#GstOpusEnc">
 <ANCHOR id="gst-plugins-bad-plugins-opusenc.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#gst-plugins-bad-plugins-opusenc.other">
-<ANCHOR id="gst-plugins-bad-plugins-opusenc.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#gst-plugins-bad-plugins-opusenc.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-opusenc.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#gst-plugins-bad-plugins-opusenc.description">
 <ANCHOR id="gst-plugins-bad-plugins-opusenc.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#gst-plugins-bad-plugins-opusenc.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-opusenc.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#gst-plugins-bad-plugins-opusenc.other_details">
-<ANCHOR id="GstOpusEnc-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#GstOpusEnc-struct">
+<ANCHOR id="GstOpusEnc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#GstOpusEnc">
 <ANCHOR id="gst-plugins-bad-plugins-opusenc.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#gst-plugins-bad-plugins-opusenc.property-details">
 <ANCHOR id="GstOpusEnc--audio" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#GstOpusEnc--audio">
 <ANCHOR id="GstOpusEnc--bandwidth" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#GstOpusEnc--bandwidth">
@@ -738,44 +709,23 @@
 <ANCHOR id="GstOpusEnc--audio-type" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#GstOpusEnc--audio-type">
 <ANCHOR id="GstOpusEnc--bitrate-type" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusenc.html#GstOpusEnc--bitrate-type">
 <ANCHOR id="gst-plugins-bad-plugins-opusparse" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusparse.html">
-<ANCHOR id="GstOpenalSrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusparse.html#GstOpenalSrc">
-<ANCHOR id="GstOpencvTextOverlay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusparse.html#GstOpencvTextOverlay">
-<ANCHOR id="GstOpusDec" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusparse.html#GstOpusDec">
-<ANCHOR id="GstOpusEnc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusparse.html#GstOpusEnc">
-<ANCHOR id="GstOpusParse" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusparse.html#GstOpusParse">
 <ANCHOR id="gst-plugins-bad-plugins-opusparse.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusparse.html#gst-plugins-bad-plugins-opusparse.other">
-<ANCHOR id="gst-plugins-bad-plugins-opusparse.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusparse.html#gst-plugins-bad-plugins-opusparse.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-opusparse.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusparse.html#gst-plugins-bad-plugins-opusparse.description">
 <ANCHOR id="gst-plugins-bad-plugins-opusparse.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusparse.html#gst-plugins-bad-plugins-opusparse.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-opusparse.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusparse.html#gst-plugins-bad-plugins-opusparse.other_details">
-<ANCHOR id="GstOpusParse-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusparse.html#GstOpusParse-struct">
+<ANCHOR id="GstOpusParse" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opusparse.html#GstOpusParse">
 <ANCHOR id="gst-plugins-bad-plugins-rtpopuspay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html">
-<ANCHOR id="GstOpenalSrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html#GstOpenalSrc">
-<ANCHOR id="GstOpencvTextOverlay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html#GstOpencvTextOverlay">
-<ANCHOR id="GstOpusDec" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html#GstOpusDec">
-<ANCHOR id="GstOpusEnc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html#GstOpusEnc">
-<ANCHOR id="GstOpusParse" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html#GstOpusParse">
-<ANCHOR id="GstRTPOpusDepay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html#GstRTPOpusDepay">
-<ANCHOR id="GstRtpOPUSPay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html#GstRtpOPUSPay">
 <ANCHOR id="gst-plugins-bad-plugins-rtpopuspay.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html#gst-plugins-bad-plugins-rtpopuspay.other">
-<ANCHOR id="gst-plugins-bad-plugins-rtpopuspay.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html#gst-plugins-bad-plugins-rtpopuspay.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-rtpopuspay.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html#gst-plugins-bad-plugins-rtpopuspay.description">
 <ANCHOR id="gst-plugins-bad-plugins-rtpopuspay.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html#gst-plugins-bad-plugins-rtpopuspay.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-rtpopuspay.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html#gst-plugins-bad-plugins-rtpopuspay.other_details">
-<ANCHOR id="GstRtpOPUSPay-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html#GstRtpOPUSPay-struct">
+<ANCHOR id="GstRtpOPUSPay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopuspay.html#GstRtpOPUSPay">
 <ANCHOR id="gst-plugins-bad-plugins-rtpopusdepay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopusdepay.html">
-<ANCHOR id="GstOpenalSrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopusdepay.html#GstOpenalSrc">
-<ANCHOR id="GstOpencvTextOverlay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopusdepay.html#GstOpencvTextOverlay">
-<ANCHOR id="GstOpusDec" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopusdepay.html#GstOpusDec">
-<ANCHOR id="GstOpusEnc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopusdepay.html#GstOpusEnc">
-<ANCHOR id="GstOpusParse" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopusdepay.html#GstOpusParse">
-<ANCHOR id="GstRTPOpusDepay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopusdepay.html#GstRTPOpusDepay">
 <ANCHOR id="gst-plugins-bad-plugins-rtpopusdepay.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopusdepay.html#gst-plugins-bad-plugins-rtpopusdepay.other">
-<ANCHOR id="gst-plugins-bad-plugins-rtpopusdepay.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopusdepay.html#gst-plugins-bad-plugins-rtpopusdepay.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-rtpopusdepay.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopusdepay.html#gst-plugins-bad-plugins-rtpopusdepay.description">
 <ANCHOR id="gst-plugins-bad-plugins-rtpopusdepay.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopusdepay.html#gst-plugins-bad-plugins-rtpopusdepay.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-rtpopusdepay.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopusdepay.html#gst-plugins-bad-plugins-rtpopusdepay.other_details">
-<ANCHOR id="GstRTPOpusDepay-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopusdepay.html#GstRTPOpusDepay-struct">
+<ANCHOR id="GstRTPOpusDepay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtpopusdepay.html#GstRTPOpusDepay">
 <ANCHOR id="gst-plugins-bad-plugins-pcapparse" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-pcapparse.html">
 <ANCHOR id="gst-plugins-bad-plugins-pcapparse.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-pcapparse.html#gst-plugins-bad-plugins-pcapparse.properties">
 <ANCHOR id="GstPcapParse" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-pcapparse.html#GstPcapParse">
@@ -832,26 +782,22 @@
 <ANCHOR id="GstRfbSrc--view-only" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rfbsrc.html#GstRfbSrc--view-only">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsink" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsink.html">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsink.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsink.html#gst-plugins-bad-plugins-rtmpsink.properties">
-<ANCHOR id="GstRTMPSink" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsink.html#GstRTMPSink">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsink.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsink.html#gst-plugins-bad-plugins-rtmpsink.other">
-<ANCHOR id="gst-plugins-bad-plugins-rtmpsink.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsink.html#gst-plugins-bad-plugins-rtmpsink.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsink.implemented-interfaces" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsink.html#gst-plugins-bad-plugins-rtmpsink.implemented-interfaces">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsink.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsink.html#gst-plugins-bad-plugins-rtmpsink.description">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsink.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsink.html#gst-plugins-bad-plugins-rtmpsink.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsink.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsink.html#gst-plugins-bad-plugins-rtmpsink.other_details">
-<ANCHOR id="GstRTMPSink-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsink.html#GstRTMPSink-struct">
+<ANCHOR id="GstRTMPSink" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsink.html#GstRTMPSink">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsink.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsink.html#gst-plugins-bad-plugins-rtmpsink.property-details">
 <ANCHOR id="GstRTMPSink--location" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsink.html#GstRTMPSink--location">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsrc.html">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsrc.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsrc.html#gst-plugins-bad-plugins-rtmpsrc.properties">
-<ANCHOR id="GstRTMPSrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsrc.html#GstRTMPSrc">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsrc.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsrc.html#gst-plugins-bad-plugins-rtmpsrc.other">
-<ANCHOR id="gst-plugins-bad-plugins-rtmpsrc.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsrc.html#gst-plugins-bad-plugins-rtmpsrc.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsrc.implemented-interfaces" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsrc.html#gst-plugins-bad-plugins-rtmpsrc.implemented-interfaces">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsrc.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsrc.html#gst-plugins-bad-plugins-rtmpsrc.description">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsrc.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsrc.html#gst-plugins-bad-plugins-rtmpsrc.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsrc.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsrc.html#gst-plugins-bad-plugins-rtmpsrc.other_details">
-<ANCHOR id="GstRTMPSrc-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsrc.html#GstRTMPSrc-struct">
+<ANCHOR id="GstRTMPSrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsrc.html#GstRTMPSrc">
 <ANCHOR id="gst-plugins-bad-plugins-rtmpsrc.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsrc.html#gst-plugins-bad-plugins-rtmpsrc.property-details">
 <ANCHOR id="GstRTMPSrc--location" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-rtmpsrc.html#GstRTMPSrc--location">
 <ANCHOR id="gst-plugins-bad-plugins-shmsink" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-shmsink.html">
@@ -885,6 +831,7 @@
 <ANCHOR id="gst-plugins-bad-plugins-shmsrc.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-shmsrc.html#gst-plugins-bad-plugins-shmsrc.property-details">
 <ANCHOR id="GstShmSrc--is-live" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-shmsrc.html#GstShmSrc--is-live">
 <ANCHOR id="GstShmSrc--socket-path" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-shmsrc.html#GstShmSrc--socket-path">
+<ANCHOR id="GstShmSrc--shm-area-name" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-shmsrc.html#GstShmSrc--shm-area-name">
 <ANCHOR id="gst-plugins-bad-plugins-sdpdemux" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-sdpdemux.html">
 <ANCHOR id="gst-plugins-bad-plugins-sdpdemux.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-sdpdemux.html#gst-plugins-bad-plugins-sdpdemux.properties">
 <ANCHOR id="GstSDPDemux" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-sdpdemux.html#GstSDPDemux">
@@ -993,27 +940,22 @@
 <ANCHOR id="gst-plugins-bad-plugins-templatematch" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html">
 <ANCHOR id="gst-plugins-bad-plugins-templatematch.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html#gst-plugins-bad-plugins-templatematch.properties">
 <ANCHOR id="GstSynaeScope" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html#GstSynaeScope">
-<ANCHOR id="GstTemplateMatch" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch">
 <ANCHOR id="gst-plugins-bad-plugins-templatematch.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html#gst-plugins-bad-plugins-templatematch.other">
-<ANCHOR id="gst-plugins-bad-plugins-templatematch.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html#gst-plugins-bad-plugins-templatematch.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-templatematch.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html#gst-plugins-bad-plugins-templatematch.description">
 <ANCHOR id="gst-plugins-bad-plugins-templatematch.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html#gst-plugins-bad-plugins-templatematch.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-templatematch.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html#gst-plugins-bad-plugins-templatematch.other_details">
-<ANCHOR id="GstTemplateMatch-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch-struct">
+<ANCHOR id="GstTemplateMatch" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch">
 <ANCHOR id="gst-plugins-bad-plugins-templatematch.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html#gst-plugins-bad-plugins-templatematch.property-details">
 <ANCHOR id="GstTemplateMatch--display" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch--display">
 <ANCHOR id="GstTemplateMatch--method" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch--method">
 <ANCHOR id="GstTemplateMatch--template" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch--template">
 <ANCHOR id="gst-plugins-bad-plugins-opencvtextoverlay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opencvtextoverlay.html">
 <ANCHOR id="gst-plugins-bad-plugins-opencvtextoverlay.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opencvtextoverlay.html#gst-plugins-bad-plugins-opencvtextoverlay.properties">
-<ANCHOR id="GstOpenalSrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpenalSrc">
-<ANCHOR id="GstOpencvTextOverlay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay">
 <ANCHOR id="gst-plugins-bad-plugins-opencvtextoverlay.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opencvtextoverlay.html#gst-plugins-bad-plugins-opencvtextoverlay.other">
-<ANCHOR id="gst-plugins-bad-plugins-opencvtextoverlay.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opencvtextoverlay.html#gst-plugins-bad-plugins-opencvtextoverlay.object-hierarchy">
 <ANCHOR id="gst-plugins-bad-plugins-opencvtextoverlay.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opencvtextoverlay.html#gst-plugins-bad-plugins-opencvtextoverlay.description">
 <ANCHOR id="gst-plugins-bad-plugins-opencvtextoverlay.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opencvtextoverlay.html#gst-plugins-bad-plugins-opencvtextoverlay.functions_details">
 <ANCHOR id="gst-plugins-bad-plugins-opencvtextoverlay.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opencvtextoverlay.html#gst-plugins-bad-plugins-opencvtextoverlay.other_details">
-<ANCHOR id="GstOpencvTextOverlay-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay-struct">
+<ANCHOR id="GstOpencvTextOverlay" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay">
 <ANCHOR id="gst-plugins-bad-plugins-opencvtextoverlay.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opencvtextoverlay.html#gst-plugins-bad-plugins-opencvtextoverlay.property-details">
 <ANCHOR id="GstOpencvTextOverlay--colorB" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--colorB">
 <ANCHOR id="GstOpencvTextOverlay--colorG" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--colorG">
diff --git a/docs/plugins/html/style.css b/docs/plugins/html/style.css
index c141ddd..3675420 100644
--- a/docs/plugins/html/style.css
+++ b/docs/plugins/html/style.css
@@ -60,7 +60,7 @@
 div.informaltable table
 {
   border-collapse: separate;
-  border-spacing: 1em 0.5em;
+  border-spacing: 1em 0.3em;
   border: none;
 }
 
@@ -148,6 +148,8 @@
 h4
 {
   color: #555753;
+  margin-top: 1em;
+  margin-bottom: 1em;
 }
 
 hr
@@ -166,17 +168,16 @@
   padding-bottom: 0.25em;
 }
 
-dl.toc > dd > dl > dt
+dl.toc > dt
 {
   padding-top: 0.25em;
   padding-bottom: 0.25em;
+  font-weight: bold;
 }
 
-dl.toc > dt
+dl.toc > dl
 {
-  padding-top: 1em;
   padding-bottom: 0.5em;
-  font-weight: bold;
 }
 
 .parameter
@@ -346,7 +347,9 @@
 }
 
 @media screen {
-  sup a.footnote
+  /* these have a <sup> as a first child, but since there are no parent selectors
+   * we can't use that. */
+  a.footnote
   {
     position: relative;
     top: 0em ! important;
diff --git a/docs/plugins/inspect/plugin-accurip.xml b/docs/plugins/inspect/plugin-accurip.xml
index d99c398..f136b19 100644
--- a/docs/plugins/inspect/plugin-accurip.xml
+++ b/docs/plugins/inspect/plugin-accurip.xml
@@ -3,10 +3,10 @@
   <description>Computes an AccurateRip CRC</description>
   <filename>../../gst/accurip/.libs/libgstaccurip.so</filename>
   <basename>libgstaccurip.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-adpcmdec.xml b/docs/plugins/inspect/plugin-adpcmdec.xml
index a6c6d31..f325024 100644
--- a/docs/plugins/inspect/plugin-adpcmdec.xml
+++ b/docs/plugins/inspect/plugin-adpcmdec.xml
@@ -3,10 +3,10 @@
   <description>ADPCM decoder</description>
   <filename>../../gst/adpcmdec/.libs/libgstadpcmdec.so</filename>
   <basename>libgstadpcmdec.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-adpcmenc.xml b/docs/plugins/inspect/plugin-adpcmenc.xml
index d78aee2..02b6ba1 100644
--- a/docs/plugins/inspect/plugin-adpcmenc.xml
+++ b/docs/plugins/inspect/plugin-adpcmenc.xml
@@ -3,10 +3,10 @@
   <description>ADPCM encoder</description>
   <filename>../../gst/adpcmenc/.libs/libgstadpcmenc.so</filename>
   <basename>libgstadpcmenc.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-aiff.xml b/docs/plugins/inspect/plugin-aiff.xml
index 82523a1..5625413 100644
--- a/docs/plugins/inspect/plugin-aiff.xml
+++ b/docs/plugins/inspect/plugin-aiff.xml
@@ -3,10 +3,10 @@
   <description>Create and parse Audio Interchange File Format (AIFF) files</description>
   <filename>../../gst/aiff/.libs/libgstaiff.so</filename>
   <basename>libgstaiff.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-asfmux.xml b/docs/plugins/inspect/plugin-asfmux.xml
index 2ecfd4a..0b9c401 100644
--- a/docs/plugins/inspect/plugin-asfmux.xml
+++ b/docs/plugins/inspect/plugin-asfmux.xml
@@ -3,10 +3,10 @@
   <description>ASF Muxer Plugin</description>
   <filename>../../gst/asfmux/.libs/libgstasfmux.so</filename>
   <basename>libgstasfmux.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-assrender.xml b/docs/plugins/inspect/plugin-assrender.xml
index 539d4ef..10e8f4b 100644
--- a/docs/plugins/inspect/plugin-assrender.xml
+++ b/docs/plugins/inspect/plugin-assrender.xml
@@ -3,10 +3,10 @@
   <description>ASS/SSA subtitle renderer</description>
   <filename>../../ext/assrender/.libs/libgstassrender.so</filename>
   <basename>libgstassrender.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
@@ -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, 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, 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>
         </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, 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, 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>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-audiofxbad.xml b/docs/plugins/inspect/plugin-audiofxbad.xml
new file mode 100644
index 0000000..651d695
--- /dev/null
+++ b/docs/plugins/inspect/plugin-audiofxbad.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>audiofxbad</name>
+  <description>Audio filters from gst-plugins-bad</description>
+  <filename>../../gst/audiofxbad/.libs/libgstaudiofxbad.so</filename>
+  <basename>libgstaudiofxbad.so</basename>
+  <version>1.5.1</version>
+  <license>LGPL</license>
+  <source>gst-plugins-bad</source>
+  <package>GStreamer Bad Plug-ins</package>
+  <origin>Unknown package origin</origin>
+  <elements>
+    <element>
+      <name>audiochannelmix</name>
+      <longname>Simple stereo audio mixer</longname>
+      <class>Audio/Mixer</class>
+      <description>Mixes left/right channels of stereo audio</description>
+      <author>David Schleef &lt;ds@schleef.org&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S16LE, rate=(int)[ 1, 2147483647 ], channels=(int)2, layout=(string)interleaved</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S16LE, rate=(int)[ 1, 2147483647 ], channels=(int)2, layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-audiomixer.xml b/docs/plugins/inspect/plugin-audiomixer.xml
index bd441d2..531fe7d 100644
--- a/docs/plugins/inspect/plugin-audiomixer.xml
+++ b/docs/plugins/inspect/plugin-audiomixer.xml
@@ -3,13 +3,34 @@
   <description>Mixes multiple audio streams</description>
   <filename>../../gst/audiomixer/.libs/libgstaudiomixer.so</filename>
   <basename>libgstaudiomixer.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>audiointerleave</name>
+      <longname>AudioInterleave</longname>
+      <class>Generic/Audio</class>
+      <description>Mixes multiple audio streams</description>
+      <author>Olivier Crete &lt;olivier.crete@collabora.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink_%u</name>
+          <direction>sink</direction>
+          <presence>request</presence>
+          <details>audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)1, 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 }, layout=(string){ non-interleaved, interleaved }</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], 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 }, layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>audiomixer</name>
       <longname>AudioMixer</longname>
       <class>Generic/Audio</class>
diff --git a/docs/plugins/inspect/plugin-audiovisualizers.xml b/docs/plugins/inspect/plugin-audiovisualizers.xml
index 694b7da..a3e986e 100644
--- a/docs/plugins/inspect/plugin-audiovisualizers.xml
+++ b/docs/plugins/inspect/plugin-audiovisualizers.xml
@@ -3,10 +3,10 @@
   <description>Creates video visualizations of audio input</description>
   <filename>../../gst/audiovisualizers/.libs/libgstaudiovisualizers.so</filename>
   <basename>libgstaudiovisualizers.so</basename>
-  <version>1.5.0.1</version>
-  <license>GPL</license>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-autoconvert.xml b/docs/plugins/inspect/plugin-autoconvert.xml
index b2d3ff2..9dd08dc 100644
--- a/docs/plugins/inspect/plugin-autoconvert.xml
+++ b/docs/plugins/inspect/plugin-autoconvert.xml
@@ -3,10 +3,10 @@
   <description>Selects convertor element based on caps</description>
   <filename>../../gst/autoconvert/.libs/libgstautoconvert.so</filename>
   <basename>libgstautoconvert.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-bayer.xml b/docs/plugins/inspect/plugin-bayer.xml
index 1ca3144..51cc289 100644
--- a/docs/plugins/inspect/plugin-bayer.xml
+++ b/docs/plugins/inspect/plugin-bayer.xml
@@ -3,10 +3,10 @@
   <description>Elements to convert Bayer images</description>
   <filename>../../gst/bayer/.libs/libgstbayer.so</filename>
   <basename>libgstbayer.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-bz2.xml b/docs/plugins/inspect/plugin-bz2.xml
index c82731b..9f5c02a 100644
--- a/docs/plugins/inspect/plugin-bz2.xml
+++ b/docs/plugins/inspect/plugin-bz2.xml
@@ -3,10 +3,10 @@
   <description>Compress or decompress streams</description>
   <filename>../../ext/bz2/.libs/libgstbz2.so</filename>
   <basename>libgstbz2.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-camerabin.xml b/docs/plugins/inspect/plugin-camerabin.xml
index 67cdf51..d80733e 100644
--- a/docs/plugins/inspect/plugin-camerabin.xml
+++ b/docs/plugins/inspect/plugin-camerabin.xml
@@ -3,10 +3,10 @@
   <description>Take image snapshots and record movies from camera</description>
   <filename>../../gst/camerabin2/.libs/libgstcamerabin2.so</filename>
   <basename>libgstcamerabin2.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-chromaprint.xml b/docs/plugins/inspect/plugin-chromaprint.xml
index 433eecd..897ee57 100644
--- a/docs/plugins/inspect/plugin-chromaprint.xml
+++ b/docs/plugins/inspect/plugin-chromaprint.xml
@@ -3,10 +3,10 @@
   <description>Calculate Chromaprint fingerprint from audio files</description>
   <filename>../../ext/chromaprint/.libs/libgstchromaprint.so</filename>
   <basename>libgstchromaprint.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-coloreffects.xml b/docs/plugins/inspect/plugin-coloreffects.xml
index 748eb8f..a72d992 100644
--- a/docs/plugins/inspect/plugin-coloreffects.xml
+++ b/docs/plugins/inspect/plugin-coloreffects.xml
@@ -3,10 +3,10 @@
   <description>Color Look-up Table filters</description>
   <filename>../../gst/coloreffects/.libs/libgstcoloreffects.so</filename>
   <basename>libgstcoloreffects.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-compositor.xml b/docs/plugins/inspect/plugin-compositor.xml
new file mode 100644
index 0000000..257c8fd
--- /dev/null
+++ b/docs/plugins/inspect/plugin-compositor.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>compositor</name>
+  <description>Compositor</description>
+  <filename>../../gst/compositor/.libs/libgstcompositor.so</filename>
+  <basename>libgstcompositor.so</basename>
+  <version>1.5.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>compositor</name>
+      <longname>Compositor</longname>
+      <class>Filter/Editor/Video/Compositor</class>
+      <description>Composite multiple video streams</description>
+      <author>Wim Taymans &lt;wim@fluendo.com&gt;, Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;</author>
+      <pads>
+        <caps>
+          <name>sink_%u</name>
+          <direction>sink</direction>
+          <presence>request</presence>
+          <details>video/x-raw, format=(string){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B, YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx, BGRx }, 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){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B, YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx, BGRx }, 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-curl.xml b/docs/plugins/inspect/plugin-curl.xml
index fe81dd0..165b45a 100644
--- a/docs/plugins/inspect/plugin-curl.xml
+++ b/docs/plugins/inspect/plugin-curl.xml
@@ -3,10 +3,10 @@
   <description>libcurl-based elements</description>
   <filename>../../ext/curl/.libs/libgstcurl.so</filename>
   <basename>libgstcurl.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
@@ -55,21 +55,6 @@
       </pads>
     </element>
     <element>
-      <name>curlsftpsink</name>
-      <longname>Curl sftp sink</longname>
-      <class>Sink/Network</class>
-      <description>Upload data over the SFTP protocol using libcurl</description>
-      <author>Sorin L. &lt;sorin@axis.com&gt;</author>
-      <pads>
-        <caps>
-          <name>sink</name>
-          <direction>sink</direction>
-          <presence>always</presence>
-          <details>ANY</details>
-        </caps>
-      </pads>
-    </element>
-    <element>
       <name>curlsmtpsink</name>
       <longname>Curl smtp sink</longname>
       <class>Sink/Network</class>
diff --git a/docs/plugins/inspect/plugin-dashdemux.xml b/docs/plugins/inspect/plugin-dashdemux.xml
new file mode 100644
index 0000000..5fca82d
--- /dev/null
+++ b/docs/plugins/inspect/plugin-dashdemux.xml
@@ -0,0 +1,42 @@
+<plugin>
+  <name>dashdemux</name>
+  <description>DASH demuxer plugin</description>
+  <filename>../../ext/dash/.libs/libgstdashdemux.so</filename>
+  <basename>libgstdashdemux.so</basename>
+  <version>1.5.1</version>
+  <license>LGPL</license>
+  <source>gst-plugins-bad</source>
+  <package>GStreamer Bad Plug-ins</package>
+  <origin>http://www.gstreamer.org/</origin>
+  <elements>
+    <element>
+      <name>dashdemux</name>
+      <longname>DASH Demuxer</longname>
+      <class>Codec/Demuxer/Adaptive</class>
+      <description>Dynamic Adaptive Streaming over HTTP demuxer</description>
+      <author>David Corvoysier &lt;david.corvoysier@orange.com&gt;
+                Hamid Zakari &lt;hamid.zakari@gmail.com&gt;
+                Gianluca Gennari &lt;gennarone@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>application/dash+xml</details>
+        </caps>
+        <caps>
+          <name>audio_%02u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>ANY</details>
+        </caps>
+        <caps>
+          <name>video_%02u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>ANY</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-dataurisrc.xml b/docs/plugins/inspect/plugin-dataurisrc.xml
index 29001d6..725dd8e 100644
--- a/docs/plugins/inspect/plugin-dataurisrc.xml
+++ b/docs/plugins/inspect/plugin-dataurisrc.xml
@@ -3,10 +3,10 @@
   <description>data: URI source</description>
   <filename>../../gst/dataurisrc/.libs/libgstdataurisrc.so</filename>
   <basename>libgstdataurisrc.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-debugutilsbad.xml b/docs/plugins/inspect/plugin-debugutilsbad.xml
index 39f5d38..b951358 100644
--- a/docs/plugins/inspect/plugin-debugutilsbad.xml
+++ b/docs/plugins/inspect/plugin-debugutilsbad.xml
@@ -3,10 +3,10 @@
   <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.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-decklink.xml b/docs/plugins/inspect/plugin-decklink.xml
new file mode 100644
index 0000000..4ddd41e
--- /dev/null
+++ b/docs/plugins/inspect/plugin-decklink.xml
@@ -0,0 +1,73 @@
+<plugin>
+  <name>decklink</name>
+  <description>Blackmagic Decklink plugin</description>
+  <filename>../../sys/decklink/.libs/libgstdecklink.so</filename>
+  <basename>libgstdecklink.so</basename>
+  <version>1.5.1</version>
+  <license>LGPL</license>
+  <source>gst-plugins-bad</source>
+  <package>GStreamer Bad Plug-ins</package>
+  <origin>Unknown package origin</origin>
+  <elements>
+    <element>
+      <name>decklinkaudiosink</name>
+      <longname>Decklink Audio Sink</longname>
+      <class>Audio/Sink</class>
+      <description>Decklink Sink</description>
+      <author>David Schleef &lt;ds@entropywave.com&gt;, Sebastian Dröge &lt;sebastian@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string){ S16LE, S32LE }, channels=(int)2, rate=(int)48000, layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>decklinkaudiosrc</name>
+      <longname>Decklink Audio Source</longname>
+      <class>Audio/Src</class>
+      <description>Decklink Source</description>
+      <author>David Schleef &lt;ds@entropywave.com&gt;, Sebastian Dröge &lt;sebastian@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string){ S16LE, S32LE }, channels=(int)2, rate=(int)48000, layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>decklinkvideosink</name>
+      <longname>Decklink Video Sink</longname>
+      <class>Video/Sink</class>
+      <description>Decklink Sink</description>
+      <author>David Schleef &lt;ds@entropywave.com&gt;, Sebastian Dröge &lt;sebastian@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)30000/1001, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)24000/1001, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)576, framerate=(fraction)25/1, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)12/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)30000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)576, framerate=(fraction)25/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)12/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30000/1001, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)50/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)50/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)60/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)2048, height=(int)1556, framerate=(fraction)24000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)2048, height=(int)1556, framerate=(fraction)24/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)2048, height=(int)1556, framerate=(fraction)25/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)24000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)24/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)25/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)30000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)30/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)50/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)60/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>decklinkvideosrc</name>
+      <longname>Decklink Video Source</longname>
+      <class>Video/Src</class>
+      <description>Decklink Source</description>
+      <author>David Schleef &lt;ds@entropywave.com&gt;, Sebastian Dröge &lt;sebastian@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)30000/1001, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)24000/1001, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)576, framerate=(fraction)25/1, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)12/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)30000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)576, framerate=(fraction)25/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)12/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30000/1001, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)50/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)50/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)60/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)2048, height=(int)1556, framerate=(fraction)24000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)2048, height=(int)1556, framerate=(fraction)24/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)2048, height=(int)1556, framerate=(fraction)25/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)24000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)24/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)25/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)30000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)30/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)50/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)60/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-dfbvideosink.xml b/docs/plugins/inspect/plugin-dfbvideosink.xml
new file mode 100644
index 0000000..8134d20
--- /dev/null
+++ b/docs/plugins/inspect/plugin-dfbvideosink.xml
@@ -0,0 +1,28 @@
+<plugin>
+  <name>dfbvideosink</name>
+  <description>DirectFB video output plugin</description>
+  <filename>../../ext/directfb/.libs/libgstdfbvideosink.so</filename>
+  <basename>libgstdfbvideosink.so</basename>
+  <version>1.5.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>dfbvideosink</name>
+      <longname>DirectFB video sink</longname>
+      <class>Sink/Video</class>
+      <description>A DirectFB based videosink</description>
+      <author>Julien Moutte &lt;julien@moutte.net&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-dtsdec.xml b/docs/plugins/inspect/plugin-dtsdec.xml
index a5147bb..9b84566 100644
--- a/docs/plugins/inspect/plugin-dtsdec.xml
+++ b/docs/plugins/inspect/plugin-dtsdec.xml
@@ -3,10 +3,10 @@
   <description>Decodes DTS audio streams</description>
   <filename>../../ext/dts/.libs/libgstdtsdec.so</filename>
   <basename>libgstdtsdec.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>GPL</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>
diff --git a/docs/plugins/inspect/plugin-dvb.xml b/docs/plugins/inspect/plugin-dvb.xml
index d015b6f..c862cbb 100644
--- a/docs/plugins/inspect/plugin-dvb.xml
+++ b/docs/plugins/inspect/plugin-dvb.xml
@@ -3,10 +3,10 @@
   <description>DVB elements</description>
   <filename>../../sys/dvb/.libs/libgstdvb.so</filename>
   <basename>libgstdvb.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-dvbsuboverlay.xml b/docs/plugins/inspect/plugin-dvbsuboverlay.xml
index 5046c1b..151223b 100644
--- a/docs/plugins/inspect/plugin-dvbsuboverlay.xml
+++ b/docs/plugins/inspect/plugin-dvbsuboverlay.xml
@@ -3,10 +3,10 @@
   <description>DVB subtitle renderer</description>
   <filename>../../gst/dvbsuboverlay/.libs/libgstdvbsuboverlay.so</filename>
   <basename>libgstdvbsuboverlay.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
@@ -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, 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, 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>
         </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, 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, 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>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-dvdspu.xml b/docs/plugins/inspect/plugin-dvdspu.xml
index 61b9317..51956d2 100644
--- a/docs/plugins/inspect/plugin-dvdspu.xml
+++ b/docs/plugins/inspect/plugin-dvdspu.xml
@@ -3,10 +3,10 @@
   <description>DVD Sub-picture Overlay element</description>
   <filename>../../gst/dvdspu/.libs/libgstdvdspu.so</filename>
   <basename>libgstdvdspu.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-faad.xml b/docs/plugins/inspect/plugin-faad.xml
index 2bf8963..6d46a88 100644
--- a/docs/plugins/inspect/plugin-faad.xml
+++ b/docs/plugins/inspect/plugin-faad.xml
@@ -3,10 +3,10 @@
   <description>Free AAC Decoder (FAAD)</description>
   <filename>../../ext/faad/.libs/libgstfaad.so</filename>
   <basename>libgstfaad.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>GPL</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>
diff --git a/docs/plugins/inspect/plugin-fbdevsink.xml b/docs/plugins/inspect/plugin-fbdevsink.xml
new file mode 100644
index 0000000..a7bbb25
--- /dev/null
+++ b/docs/plugins/inspect/plugin-fbdevsink.xml
@@ -0,0 +1,28 @@
+<plugin>
+  <name>fbdevsink</name>
+  <description>Linux framebuffer video sink</description>
+  <filename>../../sys/fbdev/.libs/libgstfbdevsink.so</filename>
+  <basename>libgstfbdevsink.so</basename>
+  <version>1.5.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>fbdevsink</name>
+      <longname>fbdev video sink</longname>
+      <class>Sink/Video</class>
+      <description>Linux framebuffer videosink</description>
+      <author>Sean D&apos;Epagnier &lt;sean@depagnier.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ RGB, BGR, BGRx, xBGR, RGB, RGBx, xRGB, RGB15, RGB16 }, 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-festival.xml b/docs/plugins/inspect/plugin-festival.xml
index d63ce62..c6bb388 100644
--- a/docs/plugins/inspect/plugin-festival.xml
+++ b/docs/plugins/inspect/plugin-festival.xml
@@ -3,10 +3,10 @@
   <description>Synthesizes plain text into audio</description>
   <filename>../../gst/festival/.libs/libgstfestival.so</filename>
   <basename>libgstfestival.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-fieldanalysis.xml b/docs/plugins/inspect/plugin-fieldanalysis.xml
index 60c8aff..2103262 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.5.0.1</version>
+  <version>1.5.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 aa2a90c..c3877d5 100644
--- a/docs/plugins/inspect/plugin-flite.xml
+++ b/docs/plugins/inspect/plugin-flite.xml
@@ -3,10 +3,10 @@
   <description>Flite speech synthesizer plugin</description>
   <filename>../../ext/flite/.libs/libgstflite.so</filename>
   <basename>libgstflite.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-fluidsynthmidi.xml b/docs/plugins/inspect/plugin-fluidsynthmidi.xml
new file mode 100644
index 0000000..4658c52
--- /dev/null
+++ b/docs/plugins/inspect/plugin-fluidsynthmidi.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>fluidsynthmidi</name>
+  <description>Fluidsynth MIDI Plugin</description>
+  <filename>../../ext/fluidsynth/.libs/libgstfluidsynthmidi.so</filename>
+  <basename>libgstfluidsynthmidi.so</basename>
+  <version>1.5.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>fluiddec</name>
+      <longname>Fluidsynth</longname>
+      <class>Codec/Decoder/Audio</class>
+      <description>Midi Synthesizer Element</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-midi-event</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, rate=(int)44100, channels=(int)2, layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-freeverb.xml b/docs/plugins/inspect/plugin-freeverb.xml
new file mode 100644
index 0000000..a63650c
--- /dev/null
+++ b/docs/plugins/inspect/plugin-freeverb.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>freeverb</name>
+  <description>Reverberation/room effect</description>
+  <filename>../../gst/freeverb/.libs/libgstfreeverb.so</filename>
+  <basename>libgstfreeverb.so</basename>
+  <version>1.5.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>freeverb</name>
+      <longname>Reverberation/room effect</longname>
+      <class>Filter/Effect/Audio</class>
+      <description>Add reverberation to audio streams</description>
+      <author>Stefan Sauer &lt;ensonic@users.sf.net&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string){ F32LE, S16LE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ], layout=(string)interleaved</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string){ F32LE, S16LE }, rate=(int)[ 1, 2147483647 ], channels=(int)2, layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-frei0r.xml b/docs/plugins/inspect/plugin-frei0r.xml
index 22d7262..5056432 100644
--- a/docs/plugins/inspect/plugin-frei0r.xml
+++ b/docs/plugins/inspect/plugin-frei0r.xml
@@ -3,10 +3,10 @@
   <description>frei0r plugin library</description>
   <filename>../../gst/frei0r/.libs/libgstfrei0r.so</filename>
   <basename>libgstfrei0r.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
   </elements>
diff --git a/docs/plugins/inspect/plugin-gaudieffects.xml b/docs/plugins/inspect/plugin-gaudieffects.xml
index 465a76d..c89e2f6 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.5.0.1</version>
+  <version>1.5.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 6cbcccf..ab07c31 100644
--- a/docs/plugins/inspect/plugin-gdp.xml
+++ b/docs/plugins/inspect/plugin-gdp.xml
@@ -3,10 +3,10 @@
   <description>Payload/depayload GDP packets</description>
   <filename>../../gst/gdp/.libs/libgstgdp.so</filename>
   <basename>libgstgdp.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-geometrictransform.xml b/docs/plugins/inspect/plugin-geometrictransform.xml
index b667910..e22caae 100644
--- a/docs/plugins/inspect/plugin-geometrictransform.xml
+++ b/docs/plugins/inspect/plugin-geometrictransform.xml
@@ -3,10 +3,10 @@
   <description>Various geometric image transform elements</description>
   <filename>../../gst/geometrictransform/.libs/libgstgeometrictransform.so</filename>
   <basename>libgstgeometrictransform.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-gsm.xml b/docs/plugins/inspect/plugin-gsm.xml
index 4e3f9dc..32a8dd2 100644
--- a/docs/plugins/inspect/plugin-gsm.xml
+++ b/docs/plugins/inspect/plugin-gsm.xml
@@ -3,10 +3,10 @@
   <description>GSM encoder/decoder</description>
   <filename>../../ext/gsm/.libs/libgstgsm.so</filename>
   <basename>libgstgsm.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-gstsiren.xml b/docs/plugins/inspect/plugin-gstsiren.xml
index 9a4866f..22f04a4 100644
--- a/docs/plugins/inspect/plugin-gstsiren.xml
+++ b/docs/plugins/inspect/plugin-gstsiren.xml
@@ -3,10 +3,10 @@
   <description>Siren encoder/decoder/payloader/depayloader plugins</description>
   <filename>../../gst/siren/.libs/libgstsiren.so</filename>
   <basename>libgstsiren.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-id3tag.xml b/docs/plugins/inspect/plugin-id3tag.xml
index 4f8b2c2..06afc08 100644
--- a/docs/plugins/inspect/plugin-id3tag.xml
+++ b/docs/plugins/inspect/plugin-id3tag.xml
@@ -3,10 +3,10 @@
   <description>ID3 v1 and v2 muxing plugin</description>
   <filename>../../gst/id3tag/.libs/libgstid3tag.so</filename>
   <basename>libgstid3tag.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-inter.xml b/docs/plugins/inspect/plugin-inter.xml
index dcd55e3..ce7551f 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.5.0.1</version>
+  <version>1.5.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, 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, 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>
         </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, 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, 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>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-interlace.xml b/docs/plugins/inspect/plugin-interlace.xml
index 19c0813..76b65af 100644
--- a/docs/plugins/inspect/plugin-interlace.xml
+++ b/docs/plugins/inspect/plugin-interlace.xml
@@ -3,10 +3,10 @@
   <description>Create an interlaced video stream</description>
   <filename>../../gst/interlace/.libs/libgstinterlace.so</filename>
   <basename>libgstinterlace.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-ivfparse.xml b/docs/plugins/inspect/plugin-ivfparse.xml
new file mode 100644
index 0000000..3136f16
--- /dev/null
+++ b/docs/plugins/inspect/plugin-ivfparse.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>ivfparse</name>
+  <description>IVF parser</description>
+  <filename>../../gst/ivfparse/.libs/libgstivfparse.so</filename>
+  <basename>libgstivfparse.so</basename>
+  <version>1.5.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>ivfparse</name>
+      <longname>IVF parser</longname>
+      <class>Codec/Demuxer</class>
+      <description>Demuxes a IVF stream</description>
+      <author>Philip Jägenstedt &lt;philipj@opera.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-ivf</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>ANY</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-ivtc.xml b/docs/plugins/inspect/plugin-ivtc.xml
new file mode 100644
index 0000000..1d935a2
--- /dev/null
+++ b/docs/plugins/inspect/plugin-ivtc.xml
@@ -0,0 +1,55 @@
+<plugin>
+  <name>ivtc</name>
+  <description>Inverse Telecine</description>
+  <filename>../../gst/ivtc/.libs/libgstivtc.so</filename>
+  <basename>libgstivtc.so</basename>
+  <version>1.5.1</version>
+  <license>LGPL</license>
+  <source>gst-plugins-bad</source>
+  <package>GStreamer Bad Plug-ins</package>
+  <origin>Unknown package origin</origin>
+  <elements>
+    <element>
+      <name>combdetect</name>
+      <longname>Comb Detect</longname>
+      <class>Video/Filter</class>
+      <description>Detect combing artifacts in video stream</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 }, width=(int)[ 1, 2048 ], 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 }, width=(int)[ 1, 2048 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>ivtc</name>
+      <longname>Inverse Telecine</longname>
+      <class>Video/Filter</class>
+      <description>Inverse Telecine Filter</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 }, width=(int)[ 1, 2048 ], 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 }, width=(int)[ 1, 2048 ], 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-jp2kdecimator.xml b/docs/plugins/inspect/plugin-jp2kdecimator.xml
new file mode 100644
index 0000000..0e5dc37
--- /dev/null
+++ b/docs/plugins/inspect/plugin-jp2kdecimator.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>jp2kdecimator</name>
+  <description>JPEG2000 decimator</description>
+  <filename>../../gst/jp2kdecimator/.libs/libgstjp2kdecimator.so</filename>
+  <basename>libgstjp2kdecimator.so</basename>
+  <version>1.5.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>jp2kdecimator</name>
+      <longname>JPEG2000 decimator</longname>
+      <class>Filter/Image</class>
+      <description>Removes information from JPEG2000 streams without recompression</description>
+      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>image/x-jpc</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>image/x-jpc</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-jpegformat.xml b/docs/plugins/inspect/plugin-jpegformat.xml
index 421fe36..d214e37 100644
--- a/docs/plugins/inspect/plugin-jpegformat.xml
+++ b/docs/plugins/inspect/plugin-jpegformat.xml
@@ -3,10 +3,10 @@
   <description>JPEG interchange format plugin</description>
   <filename>../../gst/jpegformat/.libs/libgstjpegformat.so</filename>
   <basename>libgstjpegformat.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-kate.xml b/docs/plugins/inspect/plugin-kate.xml
new file mode 100644
index 0000000..1c57b7b
--- /dev/null
+++ b/docs/plugins/inspect/plugin-kate.xml
@@ -0,0 +1,97 @@
+<plugin>
+  <name>kate</name>
+  <description>Kate plugin</description>
+  <filename>../../ext/kate/.libs/libgstkate.so</filename>
+  <basename>libgstkate.so</basename>
+  <version>1.5.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>katedec</name>
+      <longname>Kate stream text decoder</longname>
+      <class>Codec/Decoder/Subtitle</class>
+      <description>Decodes Kate text streams</description>
+      <author>Vincent Penquerc&apos;h &lt;ogg.k.ogg.k@googlemail.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>subtitle/x-kate</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>text/x-raw, format=(string){ pango-markup, utf8 }; subpicture/x-dvd</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>kateenc</name>
+      <longname>Kate stream encoder</longname>
+      <class>Codec/Encoder/Subtitle</class>
+      <description>Encodes Kate streams from text or subpictures</description>
+      <author>Vincent Penquerc&apos;h &lt;ogg.k.ogg.k@googlemail.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>text/x-raw, format=(string){ pango-markup, utf8 }; subpicture/x-dvd</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>subtitle/x-kate; application/x-kate</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>kateparse</name>
+      <longname>Kate stream parser</longname>
+      <class>Codec/Parser/Subtitle</class>
+      <description>parse raw kate streams</description>
+      <author>Vincent Penquerc&apos;h &lt;ogg.k.ogg.k at googlemail dot com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>subtitle/x-kate; application/x-kate</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>subtitle/x-kate; application/x-kate</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>katetag</name>
+      <longname>Kate stream tagger</longname>
+      <class>Formatter/Metadata</class>
+      <description>Retags kate streams</description>
+      <author>Vincent Penquerc&apos;h &lt;ogg.k.ogg.k@googlemail.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>subtitle/x-kate; application/x-kate</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>subtitle/x-kate; application/x-kate</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
new file mode 100644
index 0000000..1efd7ff
--- /dev/null
+++ b/docs/plugins/inspect/plugin-ladspa.xml
@@ -0,0 +1,211 @@
+<plugin>
+  <name>ladspa</name>
+  <description>LADSPA plugin</description>
+  <filename>../../ext/ladspa/.libs/libgstladspa.so</filename>
+  <basename>libgstladspa.so</basename>
+  <version>1.5.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>ladspa-amp-so-amp-mono</name>
+      <longname>Mono Amplifier</longname>
+      <class>Filter/Effect/Audio/LADSPA</class>
+      <description>Mono Amplifier</description>
+      <author>Richard Furse (LADSPA example plugins), Juan Manuel Borges Caño &lt;juanmabcmail@gmail.com&gt;, Andy Wingo &lt;wingo at pobox.com&gt;, Steve Baker &lt;stevebaker_org@yahoo.co.uk&gt;, Erik Walthinsen &lt;omega@cse.ogi.edu&gt;, Stefan Sauer &lt;ensonic@users.sf.net&gt;, Wim Taymans &lt;wim@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>ladspa-amp-so-amp-stereo</name>
+      <longname>Stereo Amplifier</longname>
+      <class>Filter/Effect/Audio/LADSPA</class>
+      <description>Stereo Amplifier</description>
+      <author>Richard Furse (LADSPA example plugins), Juan Manuel Borges Caño &lt;juanmabcmail@gmail.com&gt;, Andy Wingo &lt;wingo at pobox.com&gt;, Steve Baker &lt;stevebaker_org@yahoo.co.uk&gt;, Erik Walthinsen &lt;omega@cse.ogi.edu&gt;, Stefan Sauer &lt;ensonic@users.sf.net&gt;, Wim Taymans &lt;wim@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)2, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)2, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>ladspa-delay-so-delay-5s</name>
+      <longname>Simple Delay Line</longname>
+      <class>Filter/Effect/Audio/LADSPA</class>
+      <description>Simple Delay Line</description>
+      <author>Richard Furse (LADSPA example plugins), Juan Manuel Borges Caño &lt;juanmabcmail@gmail.com&gt;, Andy Wingo &lt;wingo at pobox.com&gt;, Steve Baker &lt;stevebaker_org@yahoo.co.uk&gt;, Erik Walthinsen &lt;omega@cse.ogi.edu&gt;, Stefan Sauer &lt;ensonic@users.sf.net&gt;, Wim Taymans &lt;wim@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>ladspa-filter-so-hpf</name>
+      <longname>Simple High Pass Filter</longname>
+      <class>Filter/Effect/Audio/LADSPA</class>
+      <description>Simple High Pass Filter</description>
+      <author>Richard Furse (LADSPA example plugins), Juan Manuel Borges Caño &lt;juanmabcmail@gmail.com&gt;, Andy Wingo &lt;wingo at pobox.com&gt;, Steve Baker &lt;stevebaker_org@yahoo.co.uk&gt;, Erik Walthinsen &lt;omega@cse.ogi.edu&gt;, Stefan Sauer &lt;ensonic@users.sf.net&gt;, Wim Taymans &lt;wim@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>ladspa-filter-so-lpf</name>
+      <longname>Simple Low Pass Filter</longname>
+      <class>Filter/Effect/Audio/LADSPA</class>
+      <description>Simple Low Pass Filter</description>
+      <author>Richard Furse (LADSPA example plugins), Juan Manuel Borges Caño &lt;juanmabcmail@gmail.com&gt;, Andy Wingo &lt;wingo at pobox.com&gt;, Steve Baker &lt;stevebaker_org@yahoo.co.uk&gt;, Erik Walthinsen &lt;omega@cse.ogi.edu&gt;, Stefan Sauer &lt;ensonic@users.sf.net&gt;, Wim Taymans &lt;wim@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>ladspa-sine-so-sine-faaa</name>
+      <longname>Sine Oscillator (Freq:audio, Amp:audio)</longname>
+      <class>Filter/Effect/Audio/LADSPA</class>
+      <description>Sine Oscillator (Freq:audio, Amp:audio)</description>
+      <author>Richard Furse (LADSPA example plugins), Juan Manuel Borges Caño &lt;juanmabcmail@gmail.com&gt;, Andy Wingo &lt;wingo at pobox.com&gt;, Steve Baker &lt;stevebaker_org@yahoo.co.uk&gt;, Erik Walthinsen &lt;omega@cse.ogi.edu&gt;, Stefan Sauer &lt;ensonic@users.sf.net&gt;, Wim Taymans &lt;wim@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)2, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>ladspa-sine-so-sine-faac</name>
+      <longname>Sine Oscillator (Freq:audio, Amp:control)</longname>
+      <class>Filter/Effect/Audio/LADSPA</class>
+      <description>Sine Oscillator (Freq:audio, Amp:control)</description>
+      <author>Richard Furse (LADSPA example plugins), Juan Manuel Borges Caño &lt;juanmabcmail@gmail.com&gt;, Andy Wingo &lt;wingo at pobox.com&gt;, Steve Baker &lt;stevebaker_org@yahoo.co.uk&gt;, Erik Walthinsen &lt;omega@cse.ogi.edu&gt;, Stefan Sauer &lt;ensonic@users.sf.net&gt;, Wim Taymans &lt;wim@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>ladspa-sine-so-sine-fcaa</name>
+      <longname>Sine Oscillator (Freq:control, Amp:audio)</longname>
+      <class>Filter/Effect/Audio/LADSPA</class>
+      <description>Sine Oscillator (Freq:control, Amp:audio)</description>
+      <author>Richard Furse (LADSPA example plugins), Juan Manuel Borges Caño &lt;juanmabcmail@gmail.com&gt;, Andy Wingo &lt;wingo at pobox.com&gt;, Steve Baker &lt;stevebaker_org@yahoo.co.uk&gt;, Erik Walthinsen &lt;omega@cse.ogi.edu&gt;, Stefan Sauer &lt;ensonic@users.sf.net&gt;, Wim Taymans &lt;wim@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>ladspasrc-noise-so-noise-white</name>
+      <longname>White Noise Source</longname>
+      <class>Source/Audio/LADSPA</class>
+      <description>White Noise Source</description>
+      <author>Richard Furse (LADSPA example plugins), Juan Manuel Borges Caño &lt;juanmabcmail@gmail.com&gt;, Andy Wingo &lt;wingo at pobox.com&gt;, Steve Baker &lt;stevebaker_org@yahoo.co.uk&gt;, Erik Walthinsen &lt;omega@cse.ogi.edu&gt;, Stefan Sauer &lt;ensonic@users.sf.net&gt;, Wim Taymans &lt;wim@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>ladspasrc-sine-so-sine-fcac</name>
+      <longname>Sine Oscillator (Freq:control, Amp:control)</longname>
+      <class>Source/Audio/LADSPA</class>
+      <description>Sine Oscillator (Freq:control, Amp:control)</description>
+      <author>Richard Furse (LADSPA example plugins), Juan Manuel Borges Caño &lt;juanmabcmail@gmail.com&gt;, Andy Wingo &lt;wingo at pobox.com&gt;, Steve Baker &lt;stevebaker_org@yahoo.co.uk&gt;, Erik Walthinsen &lt;omega@cse.ogi.edu&gt;, Stefan Sauer &lt;ensonic@users.sf.net&gt;, Wim Taymans &lt;wim@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)F32LE, channels=(int)1, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-libde265.xml b/docs/plugins/inspect/plugin-libde265.xml
new file mode 100644
index 0000000..1a88fff
--- /dev/null
+++ b/docs/plugins/inspect/plugin-libde265.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>libde265</name>
+  <description>HEVC/H.265 decoder using libde265</description>
+  <filename>../../ext/libde265/.libs/libgstlibde265.so</filename>
+  <basename>libgstlibde265.so</basename>
+  <version>1.5.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>libde265dec</name>
+      <longname>HEVC/H.265 decoder</longname>
+      <class>Codec/Decoder/Video</class>
+      <description>Decodes HEVC/H.265 video streams using libde265</description>
+      <author>struktur AG &lt;opensource@struktur.de&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-h265, stream-format=(string){ hvc1, hev1, byte-stream }, alignment=(string){ au, nal }</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>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-liveadder.xml b/docs/plugins/inspect/plugin-liveadder.xml
index 1d5b834..0d0a873 100644
--- a/docs/plugins/inspect/plugin-liveadder.xml
+++ b/docs/plugins/inspect/plugin-liveadder.xml
@@ -3,10 +3,10 @@
   <description>Adds multiple live discontinuous streams</description>
   <filename>../../gst/liveadder/.libs/libgstliveadder.so</filename>
   <basename>libgstliveadder.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-midi.xml b/docs/plugins/inspect/plugin-midi.xml
new file mode 100644
index 0000000..75e5e9a
--- /dev/null
+++ b/docs/plugins/inspect/plugin-midi.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>midi</name>
+  <description>Parse MIDI files</description>
+  <filename>../../gst/midi/.libs/libgstmidi.so</filename>
+  <basename>libgstmidi.so</basename>
+  <version>1.5.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>midiparse</name>
+      <longname>MidiParse</longname>
+      <class>Codec/Demuxer/Audio</class>
+      <description>Midi Parser Element</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/midi; audio/riff-midi</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-midi-event</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-mimic.xml b/docs/plugins/inspect/plugin-mimic.xml
index af26cc0..cb22a0c 100644
--- a/docs/plugins/inspect/plugin-mimic.xml
+++ b/docs/plugins/inspect/plugin-mimic.xml
@@ -3,10 +3,10 @@
   <description>Mimic codec</description>
   <filename>../../ext/mimic/.libs/libgstmimic.so</filename>
   <basename>libgstmimic.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-mms.xml b/docs/plugins/inspect/plugin-mms.xml
index 27380a6..382f3f7 100644
--- a/docs/plugins/inspect/plugin-mms.xml
+++ b/docs/plugins/inspect/plugin-mms.xml
@@ -3,10 +3,10 @@
   <description>Microsoft Multi Media Server streaming protocol support</description>
   <filename>../../ext/libmms/.libs/libgstmms.so</filename>
   <basename>libgstmms.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-modplug.xml b/docs/plugins/inspect/plugin-modplug.xml
index b6049c8..ee7c010 100644
--- a/docs/plugins/inspect/plugin-modplug.xml
+++ b/docs/plugins/inspect/plugin-modplug.xml
@@ -3,10 +3,10 @@
   <description>.MOD audio decoding</description>
   <filename>../../ext/modplug/.libs/libgstmodplug.so</filename>
   <basename>libgstmodplug.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-mpegpsdemux.xml b/docs/plugins/inspect/plugin-mpegpsdemux.xml
index d74dd78..627fe08 100644
--- a/docs/plugins/inspect/plugin-mpegpsdemux.xml
+++ b/docs/plugins/inspect/plugin-mpegpsdemux.xml
@@ -3,10 +3,10 @@
   <description>MPEG-PS demuxer</description>
   <filename>../../gst/mpegdemux/.libs/libgstmpegpsdemux.so</filename>
   <basename>libgstmpegpsdemux.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>unknown</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>
diff --git a/docs/plugins/inspect/plugin-mpegpsmux.xml b/docs/plugins/inspect/plugin-mpegpsmux.xml
index 9176573..157eb3e 100644
--- a/docs/plugins/inspect/plugin-mpegpsmux.xml
+++ b/docs/plugins/inspect/plugin-mpegpsmux.xml
@@ -3,10 +3,10 @@
   <description>MPEG-PS muxer</description>
   <filename>../../gst/mpegpsmux/.libs/libgstmpegpsmux.so</filename>
   <basename>libgstmpegpsmux.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-mpegtsdemux.xml b/docs/plugins/inspect/plugin-mpegtsdemux.xml
index 537be5f..bc4c068 100644
--- a/docs/plugins/inspect/plugin-mpegtsdemux.xml
+++ b/docs/plugins/inspect/plugin-mpegtsdemux.xml
@@ -3,10 +3,10 @@
   <description>MPEG TS demuxer</description>
   <filename>../../gst/mpegtsdemux/.libs/libgstmpegtsdemux.so</filename>
   <basename>libgstmpegtsdemux.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
@@ -45,7 +45,7 @@
           <name>video_%04x</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-dirac; video/x-wmv, wmvversion=(int)3, format=(string)WVC1</details>
+          <details>video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false; video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal; video/x-dirac; video/x-cavs; video/x-wmv, wmvversion=(int)3, format=(string)WVC1</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-mpegtsmux.xml b/docs/plugins/inspect/plugin-mpegtsmux.xml
index 415814b..3303fe1 100644
--- a/docs/plugins/inspect/plugin-mpegtsmux.xml
+++ b/docs/plugins/inspect/plugin-mpegtsmux.xml
@@ -3,10 +3,10 @@
   <description>MPEG-TS muxer</description>
   <filename>../../gst/mpegtsmux/.libs/libgstmpegtsmux.so</filename>
   <basename>libgstmpegtsmux.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-mpg123.xml b/docs/plugins/inspect/plugin-mpg123.xml
index 4bee373..4535a34 100644
--- a/docs/plugins/inspect/plugin-mpg123.xml
+++ b/docs/plugins/inspect/plugin-mpg123.xml
@@ -3,10 +3,10 @@
   <description>mp3 decoding based on the mpg123 library</description>
   <filename>../../ext/mpg123/.libs/libgstmpg123.so</filename>
   <basename>libgstmpg123.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-mplex.xml b/docs/plugins/inspect/plugin-mplex.xml
index 860b034..91f2a36 100644
--- a/docs/plugins/inspect/plugin-mplex.xml
+++ b/docs/plugins/inspect/plugin-mplex.xml
@@ -3,10 +3,10 @@
   <description>High-quality MPEG/DVD/SVCD/VCD video/audio multiplexer</description>
   <filename>../../ext/mplex/.libs/libgstmplex.so</filename>
   <basename>libgstmplex.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>GPL</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>
diff --git a/docs/plugins/inspect/plugin-mxf.xml b/docs/plugins/inspect/plugin-mxf.xml
new file mode 100644
index 0000000..5c39769
--- /dev/null
+++ b/docs/plugins/inspect/plugin-mxf.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>mxf</name>
+  <description>MXF plugin library</description>
+  <filename>../../gst/mxf/.libs/libgstmxf.so</filename>
+  <basename>libgstmxf.so</basename>
+  <version>1.5.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>mxfdemux</name>
+      <longname>MXF Demuxer</longname>
+      <class>Codec/Demuxer</class>
+      <description>Demux MXF files</description>
+      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>application/mxf</details>
+        </caps>
+        <caps>
+          <name>track_%u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>ANY</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-ofa.xml b/docs/plugins/inspect/plugin-ofa.xml
index 131a2ff..cbd7358 100644
--- a/docs/plugins/inspect/plugin-ofa.xml
+++ b/docs/plugins/inspect/plugin-ofa.xml
@@ -3,10 +3,10 @@
   <description>Calculate MusicIP fingerprint from audio files</description>
   <filename>../../ext/ofa/.libs/libgstofa.so</filename>
   <basename>libgstofa.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>GPL</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>
diff --git a/docs/plugins/inspect/plugin-openexr.xml b/docs/plugins/inspect/plugin-openexr.xml
new file mode 100644
index 0000000..afef9c9
--- /dev/null
+++ b/docs/plugins/inspect/plugin-openexr.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>openexr</name>
+  <description>OpenEXR image plugin</description>
+  <filename>../../ext/openexr/.libs/libgstopenexr.so</filename>
+  <basename>libgstopenexr.so</basename>
+  <version>1.5.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>openexrdec</name>
+      <longname>OpenEXR decoder</longname>
+      <class>Codec/Decoder/Video</class>
+      <description>Decode EXR streams</description>
+      <author>Sebastian Dröge &lt;sebastian@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>image/x-exr</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string)ARGB64, 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-opengl.xml b/docs/plugins/inspect/plugin-opengl.xml
new file mode 100644
index 0000000..61e9a57
--- /dev/null
+++ b/docs/plugins/inspect/plugin-opengl.xml
@@ -0,0 +1,844 @@
+<plugin>
+  <name>opengl</name>
+  <description>OpenGL plugin</description>
+  <filename>../../ext/gl/.libs/libgstopengl.so</filename>
+  <basename>libgstopengl.so</basename>
+  <version>1.5.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>glcolorconvert</name>
+      <longname>OpenGL color converter</longname>
+      <class>Filter/Converter/Video</class>
+      <description>Converts between color spaces using OpenGL shaders</description>
+      <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string){ RGB, RGBx, RGBA, 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>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string){ RGB, RGBx, RGBA, 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>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glcolorscale</name>
+      <longname>OpenGL color scale</longname>
+      <class>Filter/Effect/Video</class>
+      <description>Colorspace converter and video scaler</description>
+      <author>Julien Isorce &lt;julien.isorce@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gldeinterlace</name>
+      <longname>OpenGL deinterlacing filter</longname>
+      <class>Deinterlace</class>
+      <description>Deinterlacing based on fragment shaders</description>
+      <author>Julien Isorce &lt;julien.isorce@mail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gldifferencematte</name>
+      <longname>Gstreamer OpenGL DifferenceMatte</longname>
+      <class>Filter/Effect/Video</class>
+      <description>Saves a background frame and replace it with a pixbuf</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gldownload</name>
+      <longname>OpenGL uploader</longname>
+      <class>Filter/Video</class>
+      <description>Downloads data from OpenGL</description>
+      <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory)</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw; video/x-raw(memory:GLMemory)</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_blur</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_bulge</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_fisheye</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_glow</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_heat</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_identity</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_laplacian</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_lumaxpro</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_mirror</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_sepia</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_sin</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_sobel</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_square</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_squeeze</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_stretch</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_tunnel</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_twirl</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_xpro</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gleffects_xray</name>
+      <longname>Gstreamer OpenGL Effects</longname>
+      <class>Filter/Effect/Video</class>
+      <description>GL Shading Language effects</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glfilterapp</name>
+      <longname>OpenGL application filter</longname>
+      <class>Filter/Effect</class>
+      <description>Use client callbacks to define the scene</description>
+      <author>Julien Isorce &lt;julien.isorce@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glfilterbin</name>
+      <longname>GL Filter Bin</longname>
+      <class>Filter/Video</class>
+      <description>Infrastructure to process GL textures</description>
+      <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>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(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, 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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(ANY)</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glfiltercube</name>
+      <longname>OpenGL cube filter</longname>
+      <class>Filter/Effect/Video</class>
+      <description>Map input texture on the 6 cube faces</description>
+      <author>Julien Isorce &lt;julien.isorce@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glfilterglass</name>
+      <longname>OpenGL glass filter</longname>
+      <class>Filter/Effect/Video</class>
+      <description>Glass Filter</description>
+      <author>Julien Isorce &lt;julien.isorce@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glimagesink</name>
+      <longname>GL Sink Bin</longname>
+      <class>Sink/Video</class>
+      <description>Infrastructure to process GL textures</description>
+      <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>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(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, 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 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glimagesinkelement</name>
+      <longname>OpenGL video sink</longname>
+      <class>Sink/Video</class>
+      <description>A videosink based on OpenGL</description>
+      <author>Julien Isorce &lt;julien.isorce@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glmixerbin</name>
+      <longname>Generic bin</longname>
+      <class>Generic/Bin</class>
+      <description>Simple container object</description>
+      <author>Erik Walthinsen &lt;omega@cse.ogi.edu&gt;,Wim Taymans &lt;wim.taymans@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink_%u</name>
+          <direction>sink</direction>
+          <presence>request</presence>
+          <details>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(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, 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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(ANY)</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glmosaic</name>
+      <longname>OpenGL mosaic</longname>
+      <class>Filter/Effect/Video</class>
+      <description>OpenGL mosaic</description>
+      <author>Julien Isorce &lt;julien.isorce@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink_%u</name>
+          <direction>sink</direction>
+          <presence>request</presence>
+          <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>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gloverlay</name>
+      <longname>Gstreamer OpenGL Overlay</longname>
+      <class>Filter/Effect/Video</class>
+      <description>Overlay GL video texture with a JPEG/PNG image</description>
+      <author>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;, Matthew Waters &lt;matthew@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glshader</name>
+      <longname>OpenGL fragment shader filter</longname>
+      <class>Filter/Effect</class>
+      <description>Load GLSL fragment shader from file</description>
+      <author>&lt;luc.deschenaux@freesurf.ch&gt;</author>
+      <pads>
+        <caps>
+          <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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glsinkbin</name>
+      <longname>GL Sink Bin</longname>
+      <class>Sink/Video</class>
+      <description>Infrastructure to process GL textures</description>
+      <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>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(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, 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 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glsrcbin</name>
+      <longname>GL Src Bin</longname>
+      <class>Src/Video</class>
+      <description>Infrastructure to process GL textures</description>
+      <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(ANY)</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>gltestsrc</name>
+      <longname>Video test source</longname>
+      <class>Source/Video</class>
+      <description>Creates a test video stream</description>
+      <author>David A. Schleef &lt;ds@schleef.org&gt;</author>
+      <pads>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glupload</name>
+      <longname>OpenGL uploader</longname>
+      <class>Filter/Video</class>
+      <description>Uploads data into OpenGL</description>
+      <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>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(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, 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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(ANY)</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glvideomixer</name>
+      <longname>Generic bin</longname>
+      <class>Generic/Bin</class>
+      <description>Simple container object</description>
+      <author>Erik Walthinsen &lt;omega@cse.ogi.edu&gt;,Wim Taymans &lt;wim.taymans@gmail.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink_%u</name>
+          <direction>sink</direction>
+          <presence>request</presence>
+          <details>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(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, 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 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(ANY)</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>glvideomixerelement</name>
+      <longname>OpenGL video_mixer</longname>
+      <class>Filter/Effect/Video/Compositor</class>
+      <description>OpenGL video_mixer</description>
+      <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink_%u</name>
+          <direction>sink</direction>
+          <presence>request</presence>
+          <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>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-openh264.xml b/docs/plugins/inspect/plugin-openh264.xml
new file mode 100644
index 0000000..2c0bb5e
--- /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.5.0.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)avc, 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
new file mode 100644
index 0000000..3e7ef2f
--- /dev/null
+++ b/docs/plugins/inspect/plugin-openjpeg.xml
@@ -0,0 +1,55 @@
+<plugin>
+  <name>openjpeg</name>
+  <description>OpenJPEG-based JPEG2000 image decoder/encoder</description>
+  <filename>../../ext/openjpeg/.libs/libgstopenjpeg.so</filename>
+  <basename>libgstopenjpeg.so</basename>
+  <version>1.5.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>openjpegdec</name>
+      <longname>OpenJPEG JPEG2000 decoder</longname>
+      <class>Codec/Decoder/Video</class>
+      <description>Decode JPEG2000 streams</description>
+      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;</author>
+      <pads>
+        <caps>
+          <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>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ ARGB64, ARGB, xRGB, AYUV64, Y444_10LE, I422_10LE, I420_10LE, AYUV, Y444, Y42B, I420, Y41B, YUV9, GRAY8, GRAY16_LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>openjpegenc</name>
+      <longname>OpenJPEG JPEG2000 encoder</longname>
+      <class>Codec/Encoder/Video</class>
+      <description>Encode JPEG2000 streams</description>
+      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ ARGB64, ARGB, xRGB, AYUV64, Y444_10LE, I422_10LE, I420_10LE, AYUV, Y444, Y42B, I420, Y41B, YUV9, GRAY8, GRAY16_LE }, 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>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>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-pcapparse.xml b/docs/plugins/inspect/plugin-pcapparse.xml
index eda2665..6146d6f 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.5.0.1</version>
+  <version>1.5.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 2d0de81..1563188 100644
--- a/docs/plugins/inspect/plugin-pnm.xml
+++ b/docs/plugins/inspect/plugin-pnm.xml
@@ -3,10 +3,10 @@
   <description>PNM plugin</description>
   <filename>../../gst/pnm/.libs/libgstpnm.so</filename>
   <basename>libgstpnm.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-rawparse.xml b/docs/plugins/inspect/plugin-rawparse.xml
index 025fcc0..df1484e 100644
--- a/docs/plugins/inspect/plugin-rawparse.xml
+++ b/docs/plugins/inspect/plugin-rawparse.xml
@@ -3,10 +3,10 @@
   <description>Parses byte streams into raw frames</description>
   <filename>../../gst/rawparse/.libs/libgstrawparse.so</filename>
   <basename>libgstrawparse.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-removesilence.xml b/docs/plugins/inspect/plugin-removesilence.xml
index e68fcde..db5e7c7 100644
--- a/docs/plugins/inspect/plugin-removesilence.xml
+++ b/docs/plugins/inspect/plugin-removesilence.xml
@@ -3,10 +3,10 @@
   <description>Removes silence from an audio stream</description>
   <filename>../../gst/removesilence/.libs/libgstremovesilence.so</filename>
   <basename>libgstremovesilence.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-resindvd.xml b/docs/plugins/inspect/plugin-resindvd.xml
index 71f6a1a..74f0265 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.5.0.1</version>
+  <version>1.5.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, 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, 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>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-rfbsrc.xml b/docs/plugins/inspect/plugin-rfbsrc.xml
index b7ca012..dcf22ba 100644
--- a/docs/plugins/inspect/plugin-rfbsrc.xml
+++ b/docs/plugins/inspect/plugin-rfbsrc.xml
@@ -3,10 +3,10 @@
   <description>Connects to a VNC server and decodes RFB stream</description>
   <filename>../../gst/librfb/.libs/libgstrfbsrc.so</filename>
   <basename>libgstrfbsrc.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-rsvg.xml b/docs/plugins/inspect/plugin-rsvg.xml
new file mode 100644
index 0000000..2be803b
--- /dev/null
+++ b/docs/plugins/inspect/plugin-rsvg.xml
@@ -0,0 +1,61 @@
+<plugin>
+  <name>rsvg</name>
+  <description>RSVG plugin library</description>
+  <filename>../../ext/rsvg/.libs/libgstrsvg.so</filename>
+  <basename>libgstrsvg.so</basename>
+  <version>1.5.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>rsvgdec</name>
+      <longname>SVG image decoder</longname>
+      <class>Codec/Decoder/Image</class>
+      <description>Uses librsvg to decode SVG images</description>
+      <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>image/svg+xml; image/svg</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string)BGRA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>rsvgoverlay</name>
+      <longname>RSVG overlay</longname>
+      <class>Filter/Editor/Video</class>
+      <description>Overlays SVG graphics over a video stream</description>
+      <author>Olivier Aubert &lt;olivier.aubert@liris.cnrs.fr&gt;</author>
+      <pads>
+        <caps>
+          <name>data_sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>image/svg+xml; image/svg; text/plain</details>
+        </caps>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string)BGRA, 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)BGRA, 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-rtpbad.xml b/docs/plugins/inspect/plugin-rtpbad.xml
new file mode 100644
index 0000000..726c890
--- /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.5.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>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
new file mode 100644
index 0000000..42542ba
--- /dev/null
+++ b/docs/plugins/inspect/plugin-rtponvif.xml
@@ -0,0 +1,55 @@
+<plugin>
+  <name>rtponvif</name>
+  <description>ONVIF Streaming features</description>
+  <filename>../../gst/onvif/.libs/libgstrtponvif.so</filename>
+  <basename>libgstrtponvif.so</basename>
+  <version>1.5.1</version>
+  <license>unknown</license>
+  <source>gst-plugins-bad</source>
+  <package>GStreamer Bad Plug-ins source release</package>
+  <origin>Unknown package origin</origin>
+  <elements>
+    <element>
+      <name>rtponvifparse</name>
+      <longname>ONVIF NTP timestamps RTP extension</longname>
+      <class>Effect/RTP</class>
+      <description>Add absolute timestamps and flags of recorded data in a playback session</description>
+      <author>Guillaume Desmottes &lt;guillaume.desmottes@collabora.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>application/x-rtp</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>application/x-rtp</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>rtponviftimestamp</name>
+      <longname>ONVIF NTP timestamps RTP extension</longname>
+      <class>Effect/RTP</class>
+      <description>Add absolute timestamps and flags of recorded data in a playback session</description>
+      <author>Guillaume Desmottes &lt;guillaume.desmottes@collabora.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>application/x-rtp</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>application/x-rtp</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-sbc.xml b/docs/plugins/inspect/plugin-sbc.xml
new file mode 100644
index 0000000..23ec8cc
--- /dev/null
+++ b/docs/plugins/inspect/plugin-sbc.xml
@@ -0,0 +1,55 @@
+<plugin>
+  <name>sbc</name>
+  <description>SBC bluetooth audio support</description>
+  <filename>../../ext/sbc/.libs/libgstsbc.so</filename>
+  <basename>libgstsbc.so</basename>
+  <version>1.5.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>sbcdec</name>
+      <longname>Bluetooth SBC audio decoder</longname>
+      <class>Codec/Decoder/Audio</class>
+      <description>Decode an SBC audio stream</description>
+      <author>Marcel Holtmann &lt;marcel@holtmann.org&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-sbc, channels=(int)[ 1, 2 ], rate=(int){ 16000, 32000, 44100, 48000 }, parsed=(boolean)true</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S16LE, rate=(int){ 16000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ], layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>sbcenc</name>
+      <longname>Bluetooth SBC audio encoder</longname>
+      <class>Codec/Encoder/Audio</class>
+      <description>Encode an SBC audio stream</description>
+      <author>Marcel Holtmann &lt;marcel@holtmann.org&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S16LE, rate=(int){ 16000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-sbc, rate=(int){ 16000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ], channel-mode=(string){ mono, dual, stereo, joint }, blocks=(int){ 4, 8, 12, 16 }, subbands=(int){ 4, 8 }, allocation-method=(string){ snr, loudness }, bitpool=(int)[ 2, 64 ]</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-sdp.xml b/docs/plugins/inspect/plugin-sdp.xml
index d66e6c1..c4899b2 100644
--- a/docs/plugins/inspect/plugin-sdp.xml
+++ b/docs/plugins/inspect/plugin-sdp.xml
@@ -3,10 +3,10 @@
   <description>configure streaming sessions using SDP</description>
   <filename>../../gst/sdp/.libs/libgstsdpelem.so</filename>
   <basename>libgstsdpelem.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-segmentclip.xml b/docs/plugins/inspect/plugin-segmentclip.xml
index 5a2c107..91ea58f 100644
--- a/docs/plugins/inspect/plugin-segmentclip.xml
+++ b/docs/plugins/inspect/plugin-segmentclip.xml
@@ -3,10 +3,10 @@
   <description>Segment clip elements</description>
   <filename>../../gst/segmentclip/.libs/libgstsegmentclip.so</filename>
   <basename>libgstsegmentclip.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-shm.xml b/docs/plugins/inspect/plugin-shm.xml
index d201322..8ae3a9c 100644
--- a/docs/plugins/inspect/plugin-shm.xml
+++ b/docs/plugins/inspect/plugin-shm.xml
@@ -3,10 +3,10 @@
   <description>shared memory sink source</description>
   <filename>../../sys/shm/.libs/libgstshm.so</filename>
   <basename>libgstshm.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-smooth.xml b/docs/plugins/inspect/plugin-smooth.xml
index 10dd3c0..9f5bab7 100644
--- a/docs/plugins/inspect/plugin-smooth.xml
+++ b/docs/plugins/inspect/plugin-smooth.xml
@@ -3,10 +3,10 @@
   <description>Apply a smooth filter to an image</description>
   <filename>../../gst/smooth/.libs/libgstsmooth.so</filename>
   <basename>libgstsmooth.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-smoothstreaming.xml b/docs/plugins/inspect/plugin-smoothstreaming.xml
new file mode 100644
index 0000000..9a6b13d
--- /dev/null
+++ b/docs/plugins/inspect/plugin-smoothstreaming.xml
@@ -0,0 +1,40 @@
+<plugin>
+  <name>smoothstreaming</name>
+  <description>Microsoft&apos;s Smooth Streaming format support </description>
+  <filename>../../ext/smoothstreaming/.libs/libgstsmoothstreaming.so</filename>
+  <basename>libgstsmoothstreaming.so</basename>
+  <version>1.5.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>mssdemux</name>
+      <longname>Smooth Streaming demuxer</longname>
+      <class>Codec/Demuxer/Adaptive</class>
+      <description>Parse and demultiplex a Smooth Streaming manifest into audio and video streams</description>
+      <author>Thiago Santos &lt;thiago.sousa.santos@collabora.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>application/vnd.ms-sstr+xml</details>
+        </caps>
+        <caps>
+          <name>audio_%02u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>ANY</details>
+        </caps>
+        <caps>
+          <name>video_%02u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>ANY</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-sndfile.xml b/docs/plugins/inspect/plugin-sndfile.xml
new file mode 100644
index 0000000..d6576cd
--- /dev/null
+++ b/docs/plugins/inspect/plugin-sndfile.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>sndfile</name>
+  <description>use libsndfile to read and write various audio formats</description>
+  <filename>../../ext/sndfile/.libs/libgstsndfile.so</filename>
+  <basename>libgstsndfile.so</basename>
+  <version>1.5.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>sfdec</name>
+      <longname>Sndfile decoder</longname>
+      <class>Decoder/Audio</class>
+      <description>Read audio streams using libsndfile</description>
+      <author>Stefan Sauer &lt;ensonic@user.sf.net&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-ircam; audio/x-nist; audio/x-paris; audio/x-rf64; audio/x-sds; audio/x-svx; audio/x-voc; audio/x-w64; audio/x-xi</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string){ F32LE, S32LE, S16LE }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-speed.xml b/docs/plugins/inspect/plugin-speed.xml
index 62206f8..d211d5d 100644
--- a/docs/plugins/inspect/plugin-speed.xml
+++ b/docs/plugins/inspect/plugin-speed.xml
@@ -3,10 +3,10 @@
   <description>Set speed/pitch on audio/raw streams (resampler)</description>
   <filename>../../gst/speed/.libs/libgstspeed.so</filename>
   <basename>libgstspeed.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-srtp.xml b/docs/plugins/inspect/plugin-srtp.xml
new file mode 100644
index 0000000..8f9c654
--- /dev/null
+++ b/docs/plugins/inspect/plugin-srtp.xml
@@ -0,0 +1,79 @@
+<plugin>
+  <name>srtp</name>
+  <description>GStreamer SRTP</description>
+  <filename>../../ext/srtp/.libs/libgstsrtp.so</filename>
+  <basename>libgstsrtp.so</basename>
+  <version>1.5.0.1</version>
+  <license>LGPL</license>
+  <source>gst-plugins-bad</source>
+  <package>GStreamer</package>
+  <origin>http://gstreamer.net/</origin>
+  <elements>
+    <element>
+      <name>srtpdec</name>
+      <longname>SRTP decoder</longname>
+      <class>Filter/Network/SRTP</class>
+      <description>A SRTP and SRTCP decoder</description>
+      <author>Gabriel Millaire &lt;millaire.gabriel@collabora.com&gt;</author>
+      <pads>
+        <caps>
+          <name>rtcp_sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>application/x-srtcp</details>
+        </caps>
+        <caps>
+          <name>rtp_sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>application/x-srtp</details>
+        </caps>
+        <caps>
+          <name>rtcp_src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>application/x-rtcp</details>
+        </caps>
+        <caps>
+          <name>rtp_src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>application/x-rtp</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>srtpenc</name>
+      <longname>SRTP encoder</longname>
+      <class>Filter/Network/SRTP</class>
+      <description>A SRTP and SRTCP encoder</description>
+      <author>Gabriel Millaire &lt;millaire.gabriel@collabora.com&gt;</author>
+      <pads>
+        <caps>
+          <name>rtcp_sink_%u</name>
+          <direction>sink</direction>
+          <presence>request</presence>
+          <details>application/x-rtcp</details>
+        </caps>
+        <caps>
+          <name>rtp_sink_%u</name>
+          <direction>sink</direction>
+          <presence>request</presence>
+          <details>application/x-rtp</details>
+        </caps>
+        <caps>
+          <name>rtcp_src_%u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>application/x-srtcp</details>
+        </caps>
+        <caps>
+          <name>rtp_src_%u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>application/x-srtp</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-stereo.xml b/docs/plugins/inspect/plugin-stereo.xml
new file mode 100644
index 0000000..55de555
--- /dev/null
+++ b/docs/plugins/inspect/plugin-stereo.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>stereo</name>
+  <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.5.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>stereo</name>
+      <longname>Stereo effect</longname>
+      <class>Filter/Effect/Audio</class>
+      <description>Muck with the stereo signal to enhance its &apos;stereo-ness&apos;</description>
+      <author>Erik Walthinsen &lt;omega@cse.ogi.edu&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S16LE, rate=(int)[ 1, 2147483647 ], channels=(int)2</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S16LE, rate=(int)[ 1, 2147483647 ], channels=(int)2</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-subenc.xml b/docs/plugins/inspect/plugin-subenc.xml
index 8f32467..d9d2e7b 100644
--- a/docs/plugins/inspect/plugin-subenc.xml
+++ b/docs/plugins/inspect/plugin-subenc.xml
@@ -3,10 +3,10 @@
   <description>subtitle encoders</description>
   <filename>../../gst/subenc/.libs/libgstsubenc.so</filename>
   <basename>libgstsubenc.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-uvch264.xml b/docs/plugins/inspect/plugin-uvch264.xml
new file mode 100644
index 0000000..6a3804e
--- /dev/null
+++ b/docs/plugins/inspect/plugin-uvch264.xml
@@ -0,0 +1,79 @@
+<plugin>
+  <name>uvch264</name>
+  <description>UVC compliant H264 encoding cameras plugin</description>
+  <filename>../../sys/uvch264/.libs/libgstuvch264.so</filename>
+  <basename>libgstuvch264.so</basename>
+  <version>1.5.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>uvch264mjpgdemux</name>
+      <longname>UVC H264 MJPG Demuxer</longname>
+      <class>Video/Demuxer</class>
+      <description>Demux UVC H264 auxiliary streams from MJPG images</description>
+      <author>Youness Alaoui &lt;youness.alaoui@collabora.co.uk&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>image/jpeg, width=(int)[ 0, 2147483647 ], height=(int)[ 0, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+        <caps>
+          <name>h264</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-h264, width=(int)[ 0, 2147483647 ], height=(int)[ 0, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+        <caps>
+          <name>jpeg</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>image/jpeg, width=(int)[ 0, 2147483647 ], height=(int)[ 0, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+        <caps>
+          <name>nv12</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string)NV12, width=(int)[ 0, 2147483647 ], height=(int)[ 0, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+        <caps>
+          <name>yuy2</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string)YUY2, width=(int)[ 0, 2147483647 ], height=(int)[ 0, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>uvch264src</name>
+      <longname>UVC H264 Source</longname>
+      <class>Source/Video</class>
+      <description>UVC H264 Encoding camera source</description>
+      <author>Youness Alaoui &lt;youness.alaoui@collabora.co.uk&gt;</author>
+      <pads>
+        <caps>
+          <name>imgsrc</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>EMPTY</details>
+        </caps>
+        <caps>
+          <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>
+        </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>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-vcdsrc.xml b/docs/plugins/inspect/plugin-vcdsrc.xml
new file mode 100644
index 0000000..54e7cc4
--- /dev/null
+++ b/docs/plugins/inspect/plugin-vcdsrc.xml
@@ -0,0 +1,28 @@
+<plugin>
+  <name>vcdsrc</name>
+  <description>Asynchronous read from VCD disk</description>
+  <filename>../../sys/vcd/.libs/libgstvcdsrc.so</filename>
+  <basename>libgstvcdsrc.so</basename>
+  <version>1.5.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>vcdsrc</name>
+      <longname>VCD Source</longname>
+      <class>Source/File</class>
+      <description>Asynchronous read from VCD disk</description>
+      <author>Erik Walthinsen &lt;omega@cse.ogi.edu&gt;</author>
+      <pads>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>ANY</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
new file mode 100644
index 0000000..93ac851
--- /dev/null
+++ b/docs/plugins/inspect/plugin-videofiltersbad.xml
@@ -0,0 +1,76 @@
+<plugin>
+  <name>videofiltersbad</name>
+  <description>Video filters in gst-plugins-bad</description>
+  <filename>../../gst/videofilters/.libs/libgstvideofiltersbad.so</filename>
+  <basename>libgstvideofiltersbad.so</basename>
+  <version>1.5.1</version>
+  <license>LGPL</license>
+  <source>gst-plugins-bad</source>
+  <package>GStreamer Bad Plug-ins</package>
+  <origin>Unknown package origin</origin>
+  <elements>
+    <element>
+      <name>scenechange</name>
+      <longname>Scene change detector</longname>
+      <class>Video/Filter</class>
+      <description>Detects scene changes in video</description>
+      <author>David Schleef &lt;ds@entropywave.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ I420, Y42B, Y41B, Y444 }, 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, Y42B, Y41B, Y444 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </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>
+      <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>
+        </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>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>zebrastripe</name>
+      <longname>Zebra stripe overlay</longname>
+      <class>Filter/Analysis</class>
+      <description>Overlays zebra striping on overexposed areas of video</description>
+      <author>David Schleef &lt;ds@entropywave.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ I420, Y444, Y42B, Y41B, YUY2, UYVY, AYUV, NV12, NV21, YV12 }, 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, Y41B, YUY2, UYVY, AYUV, NV12, NV21, 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-videoparsersbad.xml b/docs/plugins/inspect/plugin-videoparsersbad.xml
index 01fe187..312e73b 100644
--- a/docs/plugins/inspect/plugin-videoparsersbad.xml
+++ b/docs/plugins/inspect/plugin-videoparsersbad.xml
@@ -3,10 +3,10 @@
   <description>videoparsers</description>
   <filename>../../gst/videoparsers/.libs/libgstvideoparsersbad.so</filename>
   <basename>libgstvideoparsersbad.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-videosignal.xml b/docs/plugins/inspect/plugin-videosignal.xml
new file mode 100644
index 0000000..540e752
--- /dev/null
+++ b/docs/plugins/inspect/plugin-videosignal.xml
@@ -0,0 +1,76 @@
+<plugin>
+  <name>videosignal</name>
+  <description>Various video signal analysers</description>
+  <filename>../../gst/videosignal/.libs/libgstvideosignal.so</filename>
+  <basename>libgstvideosignal.so</basename>
+  <version>1.5.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>simplevideomark</name>
+      <longname>Video marker</longname>
+      <class>Filter/Effect/Video</class>
+      <description>Marks a video signal with a pattern</description>
+      <author>Wim Taymans &lt;wim@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ I420, YV12, Y41B, Y42B, Y444, YUY2, UYVY, AYUV, YVYU }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ I420, YV12, Y41B, Y42B, Y444, YUY2, UYVY, AYUV, YVYU }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>simplevideomarkdetect</name>
+      <longname>Video detecter</longname>
+      <class>Filter/Effect/Video</class>
+      <description>Detect patterns in a video signal</description>
+      <author>Wim Taymans &lt;wim@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ I420, YV12, Y41B, Y42B, Y444, YUY2, UYVY, AYUV, YVYU }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ I420, YV12, Y41B, Y42B, Y444, YUY2, UYVY, AYUV, YVYU }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>videoanalyse</name>
+      <longname>Video analyser</longname>
+      <class>Filter/Analyzer/Video</class>
+      <description>Analyse video signal</description>
+      <author>Wim Taymans &lt;wim@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ I420, YV12, 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, YV12, Y444, Y42B, Y41B }, 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-vmnc.xml b/docs/plugins/inspect/plugin-vmnc.xml
new file mode 100644
index 0000000..3cb8321
--- /dev/null
+++ b/docs/plugins/inspect/plugin-vmnc.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>vmnc</name>
+  <description>VmWare Video Codec plugins</description>
+  <filename>../../gst/vmnc/.libs/libgstvmnc.so</filename>
+  <basename>libgstvmnc.so</basename>
+  <version>1.5.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>vmncdec</name>
+      <longname>VMnc video decoder</longname>
+      <class>Codec/Decoder/Video</class>
+      <description>Decode VmWare video to raw (RGB) video</description>
+      <author>Michael Smith &lt;msmith@xiph.org&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-vmnc, version=(int)1, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 0, 2147483647 ], height=(int)[ 0, 2147483647 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ RGBx, BGRx, xRGB, xBGR, RGB15, BGR15, RGB16, BGR16, GRAY8 }, 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-voaacenc.xml b/docs/plugins/inspect/plugin-voaacenc.xml
index bea79cb..8df783d 100644
--- a/docs/plugins/inspect/plugin-voaacenc.xml
+++ b/docs/plugins/inspect/plugin-voaacenc.xml
@@ -3,10 +3,10 @@
   <description>AAC audio encoder</description>
   <filename>../../ext/voaacenc/.libs/libgstvoaacenc.so</filename>
   <basename>libgstvoaacenc.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-voamrwbenc.xml b/docs/plugins/inspect/plugin-voamrwbenc.xml
index be490fc..ea4c216 100644
--- a/docs/plugins/inspect/plugin-voamrwbenc.xml
+++ b/docs/plugins/inspect/plugin-voamrwbenc.xml
@@ -3,10 +3,10 @@
   <description>Adaptive Multi-Rate Wide-Band Encoder</description>
   <filename>../../ext/voamrwbenc/.libs/libgstvoamrwbenc.so</filename>
   <basename>libgstvoamrwbenc.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>unknown</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>
diff --git a/docs/plugins/inspect/plugin-waylandsink.xml b/docs/plugins/inspect/plugin-waylandsink.xml
index 3b7cde6..f5b0b7a 100644
--- a/docs/plugins/inspect/plugin-waylandsink.xml
+++ b/docs/plugins/inspect/plugin-waylandsink.xml
@@ -3,10 +3,10 @@
   <description>Wayland Video Sink</description>
   <filename>../../ext/wayland/.libs/libgstwaylandsink.so</filename>
   <basename>libgstwaylandsink.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.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>
diff --git a/docs/plugins/inspect/plugin-webp.xml b/docs/plugins/inspect/plugin-webp.xml
new file mode 100644
index 0000000..6d54b51
--- /dev/null
+++ b/docs/plugins/inspect/plugin-webp.xml
@@ -0,0 +1,55 @@
+<plugin>
+  <name>webp</name>
+  <description>WebP plugin</description>
+  <filename>../../ext/webp/.libs/libgstwebp.so</filename>
+  <basename>libgstwebp.so</basename>
+  <version>1.5.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>webpdec</name>
+      <longname>WebP image decoder</longname>
+      <class>Codec/Decoder/Image</class>
+      <description>Decode images from WebP format</description>
+      <author>Sreerenj Balachandran &lt;sreerenj.balachandrn@intel.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>image/webp</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ RGB, RGBA, BGR, BGRA, ARGB, RGB16 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>webpenc</name>
+      <longname>WEBP image encoder</longname>
+      <class>Codec/Encoder/Image</class>
+      <description>Encode images in WEBP format</description>
+      <author>Sreerenj Balachandran &lt;sreerenjb@gnome.org&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ I420, YV12, RGB, RGBA }, 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>image/webp, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 16, 16383 ], height=(int)[ 16, 16383 ]</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
new file mode 100644
index 0000000..0348e12
--- /dev/null
+++ b/docs/plugins/inspect/plugin-wildmidi.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>wildmidi</name>
+  <description>Wildmidi Plugin</description>
+  <filename>../../ext/timidity/.libs/libgstwildmidi.so</filename>
+  <basename>libgstwildmidi.so</basename>
+  <version>1.5.0.1</version>
+  <license>GPL</license>
+  <source>gst-plugins-bad</source>
+  <package>GStreamer Bad Plug-ins git</package>
+  <origin>Unknown package origin</origin>
+  <elements>
+    <element>
+      <name>wildmidi</name>
+      <longname>WildMidi</longname>
+      <class>Codec/Decoder/Audio</class>
+      <description>Midi Synthesizer Element</description>
+      <author>Wouter Paesen &lt;wouter@blue-gate.be&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/midi; audio/riff-midi</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S16LE, rate=(int)44100, channels=(int)2, layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-x265.xml b/docs/plugins/inspect/plugin-x265.xml
new file mode 100644
index 0000000..ea400d9
--- /dev/null
+++ b/docs/plugins/inspect/plugin-x265.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>x265</name>
+  <description>x265-based H265 plugins</description>
+  <filename>../../ext/x265/.libs/libgstx265.so</filename>
+  <basename>libgstx265.so</basename>
+  <version>1.5.0.1</version>
+  <license>GPL</license>
+  <source>gst-plugins-bad</source>
+  <package>GStreamer Bad Plug-ins git</package>
+  <origin>Unknown package origin</origin>
+  <elements>
+    <element>
+      <name>x265enc</name>
+      <longname>x265enc</longname>
+      <class>Codec/Encoder/Video</class>
+      <description>H265 Encoder</description>
+      <author>Thijs Vermeir &lt;thijs.vermeir@barco.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ I420, Y444 }, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 4, 2147483647 ], height=(int)[ 4, 2147483647 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-h265, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 4, 2147483647 ], height=(int)[ 4, 2147483647 ], stream-format=(string){ avc, byte-stream }, alignment=(string)au, profile=(string){ main }</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-y4mdec.xml b/docs/plugins/inspect/plugin-y4mdec.xml
index d3ff2bf..5eb0ec2 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.5.0.1</version>
+  <version>1.5.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
new file mode 100644
index 0000000..f719ebc
--- /dev/null
+++ b/docs/plugins/inspect/plugin-yadif.xml
@@ -0,0 +1,34 @@
+<plugin>
+  <name>yadif</name>
+  <description>YADIF deinterlacing filter</description>
+  <filename>../../gst/yadif/.libs/libgstyadif.so</filename>
+  <basename>libgstyadif.so</basename>
+  <version>1.5.1</version>
+  <license>GPL</license>
+  <source>gst-plugins-bad</source>
+  <package>GStreamer Bad Plug-ins</package>
+  <origin>Unknown package origin</origin>
+  <elements>
+    <element>
+      <name>yadif</name>
+      <longname>YADIF deinterlacer</longname>
+      <class>Video/Filter</class>
+      <description>Deinterlace video using YADIF filter</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){ Y42B, I420, Y444 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string){ interleaved, mixed, progressive }</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw, format=(string){ Y42B, I420, Y444 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/ext/curl/gstcurlbasesink.c b/ext/curl/gstcurlbasesink.c
index 1654c45..b47f246 100644
--- a/ext/curl/gstcurlbasesink.c
+++ b/ext/curl/gstcurlbasesink.c
@@ -449,6 +449,8 @@
     return FALSE;
   }
 
+  gst_poll_fd_init (&sink->fd);
+
   return TRUE;
 }
 
@@ -972,6 +974,18 @@
 
   gst_curl_base_sink_got_response_notify (sink);
 
+  GST_OBJECT_LOCK (sink);
+  if (sink->socket_type == CURLSOCKTYPE_ACCEPT) {
+    if (!gst_poll_remove_fd (sink->fdset, &sink->fd)) {
+      sink->error = g_strdup_printf ("failed to remove fd");
+      retval = GST_FLOW_ERROR;
+      GST_OBJECT_UNLOCK (sink);
+      goto fail;
+    }
+    sink->fd.fd = -1;
+  }
+  GST_OBJECT_UNLOCK (sink);
+
   return;
 
 fail:
@@ -1041,7 +1055,7 @@
  * the connect() call. */
 static int
 gst_curl_base_sink_transfer_socket_cb (void *clientp, curl_socket_t curlfd,
-    curlsocktype G_GNUC_UNUSED purpose)
+    curlsocktype socket_type)
 {
   GstCurlBaseSink *sink;
   gboolean ret = TRUE;
@@ -1058,14 +1072,19 @@
     return 1;
   }
 
-  gst_poll_fd_init (&sink->fd);
-  sink->fd.fd = curlfd;
-
-  ret &= gst_poll_add_fd (sink->fdset, &sink->fd);
-  ret &= gst_poll_fd_ctl_write (sink->fdset, &sink->fd, TRUE);
-  ret &= gst_poll_fd_ctl_read (sink->fdset, &sink->fd, TRUE);
-  GST_DEBUG_OBJECT (sink, "fd: %d", sink->fd.fd);
   GST_OBJECT_LOCK (sink);
+  sink->socket_type = socket_type;
+
+  if (sink->fd.fd != curlfd) {
+    if (sink->fd.fd > 0 && sink->socket_type != CURLSOCKTYPE_ACCEPT) {
+      ret &= gst_poll_remove_fd (sink->fdset, &sink->fd);
+    }
+    sink->fd.fd = curlfd;
+    ret &= gst_poll_add_fd (sink->fdset, &sink->fd);
+    ret &= gst_poll_fd_ctl_write (sink->fdset, &sink->fd, TRUE);
+    ret &= gst_poll_fd_ctl_read (sink->fdset, &sink->fd, TRUE);
+  }
+  GST_DEBUG_OBJECT (sink, "fd: %d", sink->fd.fd);
   gst_curl_base_sink_setup_dscp_unlocked (sink);
   GST_OBJECT_UNLOCK (sink);
 
diff --git a/ext/curl/gstcurlbasesink.h b/ext/curl/gstcurlbasesink.h
index 5105981..afa6d5b 100644
--- a/ext/curl/gstcurlbasesink.h
+++ b/ext/curl/gstcurlbasesink.h
@@ -67,6 +67,7 @@
   CURL *curl;
   GstPollFD fd;
   GstPoll *fdset;
+  curlsocktype socket_type;
   GThread *transfer_thread;
   gchar *error;
   GstFlowReturn flow_ret;
diff --git a/ext/dash/gstdashdemux.c b/ext/dash/gstdashdemux.c
index 1b18ec1..aafb39c 100644
--- a/ext/dash/gstdashdemux.c
+++ b/ext/dash/gstdashdemux.c
@@ -33,7 +33,7 @@
  * DASH demuxer element.
  * <title>Example launch line</title>
  * |[
- * gst-launch playbin2 uri="http://www-itec.uni-klu.ac.at/ftp/datasets/mmsys12/RedBullPlayStreets/redbull_4s/RedBullPlayStreets_4s_isoffmain_DIS_23009_1_v_2_1c2_2011_08_30.mpd"
+ * gst-launch-1.0 playbin uri="http://www-itec.uni-klu.ac.at/ftp/datasets/mmsys12/RedBullPlayStreets/redbull_4s/RedBullPlayStreets_4s_isoffmain_DIS_23009_1_v_2_1c2_2011_08_30.mpd"
  * ]|
  */
 
@@ -205,6 +205,8 @@
 gst_dash_demux_stream_update_fragment_info (GstAdaptiveDemuxStream * stream);
 static GstFlowReturn gst_dash_demux_stream_seek (GstAdaptiveDemuxStream *
     stream, GstClockTime ts);
+static gboolean
+gst_dash_demux_stream_has_next_fragment (GstAdaptiveDemuxStream * stream);
 static GstFlowReturn
 gst_dash_demux_stream_advance_fragment (GstAdaptiveDemuxStream * stream);
 static gboolean
@@ -242,7 +244,7 @@
 #define gst_dash_demux_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstDashDemux, gst_dash_demux, GST_TYPE_ADAPTIVE_DEMUX,
     GST_DEBUG_CATEGORY_INIT (gst_dash_demux_debug, "dashdemux", 0,
-        "dashdemux element");
+        "dashdemux element")
     );
 
 static void
@@ -361,6 +363,8 @@
 
   gstadaptivedemux_class->has_next_period = gst_dash_demux_has_next_period;
   gstadaptivedemux_class->advance_period = gst_dash_demux_advance_period;
+  gstadaptivedemux_class->stream_has_next_fragment =
+      gst_dash_demux_stream_has_next_fragment;
   gstadaptivedemux_class->stream_advance_fragment =
       gst_dash_demux_stream_advance_fragment;
   gstadaptivedemux_class->stream_get_fragment_waiting_time =
@@ -591,35 +595,18 @@
   /* If stream is live, try to find the segment that
    * is closest to current time */
   if (gst_mpd_client_is_live (dashdemux->client)) {
-    GList *iter;
-    gint seg_idx;
+    GDateTime *gnow;
 
     GST_DEBUG_OBJECT (demux, "Seeking to current time of day for live stream ");
-    for (iter = demux->next_streams; iter; iter = g_list_next (iter)) {
-      GstDashDemuxStream *stream = iter->data;
-      GstActiveStream *active_stream = stream->active_stream;
 
-      /* Get segment index corresponding to current time. */
-      seg_idx =
-          gst_mpd_client_get_segment_index_at_time (dashdemux->client,
-          active_stream, now);
-      if (seg_idx < 0) {
-        GST_WARNING_OBJECT (demux,
-            "Failed to find a segment that is available "
-            "at this point in time for stream %d.", stream->index);
-        seg_idx = 0;
-      }
-      GST_INFO_OBJECT (demux,
-          "Segment index corresponding to current time for stream "
-          "%d is %d.", stream->index, seg_idx);
-      gst_mpd_client_set_segment_index (active_stream, seg_idx);
-    }
-
+    gnow = gst_date_time_to_g_date_time (now);
+    gst_mpd_client_seek_to_time (dashdemux->client, gnow);
+    g_date_time_unref (gnow);
   } else {
     GST_DEBUG_OBJECT (demux, "Seeking to first segment for on-demand stream ");
 
     /* start playing from the first segment */
-    gst_mpd_client_set_segment_index_for_all_streams (dashdemux->client, 0);
+    gst_mpd_client_seek_to_first_segment (dashdemux->client);
   }
 
 done:
@@ -986,6 +973,16 @@
   return !fragment_finished;
 }
 
+static gboolean
+gst_dash_demux_stream_has_next_fragment (GstAdaptiveDemuxStream * stream)
+{
+  GstDashDemux *dashdemux = GST_DASH_DEMUX_CAST (stream->demux);
+  GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
+
+  return gst_mpd_client_has_next_segment (dashdemux->client,
+      dashstream->active_stream, stream->demux->segment.rate > 0.0);
+}
+
 static GstFlowReturn
 gst_dash_demux_stream_advance_fragment (GstAdaptiveDemuxStream * stream)
 {
@@ -1213,14 +1210,24 @@
       }
 
       if (gst_mpd_client_get_next_fragment_timestamp (dashdemux->client,
+              demux_stream->index, &ts)
+          || gst_mpd_client_get_last_fragment_timestamp_end (dashdemux->client,
               demux_stream->index, &ts)) {
+
+        /* Due to rounding when doing the timescale conversions it might happen
+         * that the ts falls back to a previous segment, leading the same data
+         * to be downloaded twice. We try to work around this by always adding
+         * 10 microseconds to get back to the correct segment. The errors are
+         * usually on the order of nanoseconds so it should be enough.
+         */
+        GST_DEBUG_OBJECT (GST_ADAPTIVE_DEMUX_STREAM_PAD (demux_stream),
+            "Current position: %" GST_TIME_FORMAT ", updating to %"
+            GST_TIME_FORMAT, GST_TIME_ARGS (ts),
+            GST_TIME_ARGS (ts + (10 * GST_USECOND)));
+        ts += 10 * GST_USECOND;
         gst_mpd_client_stream_seek (new_client, new_stream, ts);
-      } else
-          if (gst_mpd_client_get_last_fragment_timestamp (dashdemux->client,
-              demux_stream->index, &ts)) {
-        /* try to set to the old timestamp + 1 */
-        gst_mpd_client_stream_seek (new_client, new_stream, ts + 1);
       }
+
       demux_stream->active_stream = new_stream;
     }
 
@@ -1301,7 +1308,7 @@
   }
 
   gst_dash_demux_setup_all_streams (dashdemux);
-  gst_mpd_client_set_segment_index_for_all_streams (dashdemux->client, 0);
+  gst_mpd_client_seek_to_first_segment (dashdemux->client);
 }
 
 static GstBuffer *
@@ -1309,7 +1316,7 @@
 {
   GstBuffer *newbuf = gst_buffer_copy_region (buffer,
       GST_BUFFER_COPY_FLAGS | GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_META
-      | GST_BUFFER_COPY_MEMORY, offset, size - offset);
+      | GST_BUFFER_COPY_MEMORY, offset, size == -1 ? size : size - offset);
 
   gst_buffer_resize (buffer, 0, offset);
 
diff --git a/ext/dash/gstmpdparser.c b/ext/dash/gstmpdparser.c
index 21f84f1..4a66e16 100644
--- a/ext/dash/gstmpdparser.c
+++ b/ext/dash/gstmpdparser.c
@@ -131,11 +131,11 @@
 static gchar *gst_mpdparser_build_URL_from_template (const gchar * url_template,
     const gchar * id, guint number, guint bandwidth, guint64 time);
 static gboolean gst_mpd_client_add_media_segment (GstActiveStream * stream,
-    GstSegmentURLNode * url_node, guint number, guint64 start,
-    GstClockTime start_time, GstClockTime duration);
+    GstSegmentURLNode * url_node, guint number, gint repeat, gint64 scale_start,
+    gint64 scale_duration, GstClockTime start, GstClockTime duration);
 static const gchar *gst_mpdparser_mimetype_to_caps (const gchar * mimeType);
 static GstClockTime gst_mpd_client_get_segment_duration (GstMpdClient * client,
-    GstActiveStream * stream);
+    GstActiveStream * stream, gint64 * scale_duration);
 static GstDateTime *gst_mpd_client_get_availability_start_time (GstMpdClient *
     client);
 
@@ -157,7 +157,8 @@
     GstRepresentationNode * Representation);
 
 /* Segments */
-static guint gst_mpd_client_get_segments_counts (GstActiveStream * stream);
+static guint gst_mpd_client_get_segments_counts (GstMpdClient * client,
+    GstActiveStream * stream);
 
 /* Memory management */
 static GstSegmentTimelineNode *gst_mpdparser_segment_timeline_node_new (void);
@@ -2536,6 +2537,82 @@
   return url_prefix;
 }
 
+/* ISO/IEC 23009-1:2004 5.3.9.4.4 */
+static gboolean
+validate_format (const gchar * format)
+{
+  gchar *p;
+
+  /* Check if there is a % at all */
+  p = strchr (format, '%');
+  if (!p)
+    return TRUE;
+  p++;
+
+  /* Following the % must be a 0, or any of d, x or u.
+   * x and u are not part of the spec, but don't hurt us
+   */
+  if (p[0] == '0') {
+    p++;
+
+    while (g_ascii_isdigit (*p))
+      p++;
+  }
+
+  /* After any 0 and alphanumeric values, there must be
+   * an d, x or u.
+   */
+  if (p[0] != 'd' && p[0] != 'x' && p[0] != 'u')
+    return FALSE;
+  p++;
+
+  /* And then potentially more characters without any
+   * further %, even if the spec does not mention this
+   */
+  p = strchr (p, '%');
+  if (p)
+    return FALSE;
+
+  return TRUE;
+}
+
+static gchar *
+promote_format_to_uint64 (const gchar * format)
+{
+  gchar *p;
+  gchar *promoted_format;
+
+  /* Must be called with a validated format! */
+  g_return_val_if_fail (validate_format (format), NULL);
+
+  /* Check if there is a % at all */
+  p = strchr (format, '%');
+  if (!p)
+    return g_strdup (format);
+  p++;
+
+  /* Following the % must be a 0, or any of d, x or u.
+   * x and u are not part of the spec, but don't hurt us
+   */
+  if (p[0] == '0') {
+    p++;
+
+    while (g_ascii_isdigit (*p))
+      p++;
+  }
+
+  /* After any 0 and alphanumeric values, there must be
+   * an d, x or u. Otherwise validation would have failed
+   */
+  g_assert (p[0] == 'd' || p[0] == 'x' || p[0] != 'u');
+
+  promoted_format =
+      g_strdup_printf ("%.*s" G_GINT64_MODIFIER "%s", (gint) (p - format),
+      format, p);
+
+  return promoted_format;
+}
+
 static gchar *
 gst_mpdparser_build_URL_from_template (const gchar * url_template,
     const gchar * id, guint number, guint bandwidth, guint64 time)
@@ -2566,6 +2643,9 @@
       if (strlen (token) > 6) {
         format = token + 6;     /* format tag */
       }
+      if (!validate_format (format))
+        goto invalid_format;
+
       tokens[i] = g_strdup_printf (format, number);
       g_free (token);
       last_token_par = TRUE;
@@ -2573,16 +2653,24 @@
       if (strlen (token) > 9) {
         format = token + 9;     /* format tag */
       }
+      if (!validate_format (format))
+        goto invalid_format;
+
       tokens[i] = g_strdup_printf (format, bandwidth);
       g_free (token);
       last_token_par = TRUE;
     } else if (!strncmp (token, "Time", 4)) {
+      gchar *promoted_format;
+
       if (strlen (token) > 4) {
         format = token + 4;     /* format tag */
-      } else {
-        format = "%" G_GUINT64_FORMAT;
       }
-      tokens[i] = g_strdup_printf (format, time);
+      if (!validate_format (format))
+        goto invalid_format;
+
+      promoted_format = promote_format_to_uint64 (format);
+      tokens[i] = g_strdup_printf (promoted_format, time);
+      g_free (promoted_format);
       g_free (token);
       last_token_par = TRUE;
     } else if (!g_strcmp0 (token, "")) {
@@ -2597,9 +2685,19 @@
   }
 
   ret = g_strjoinv (NULL, tokens);
+
   g_strfreev (tokens);
 
   return ret;
+
+invalid_format:
+  {
+    GST_ERROR ("Invalid format '%s' in '%s'", format, token);
+
+    g_strfreev (tokens);
+
+    return NULL;
+  }
 }
 
 guint
@@ -2767,7 +2865,7 @@
 
 static GstClockTime
 gst_mpd_client_get_segment_duration (GstMpdClient * client,
-    GstActiveStream * stream)
+    GstActiveStream * stream, gint64 * scale_dur)
 {
   GstStreamPeriod *stream_period;
   GstMultSegmentBaseType *base = NULL;
@@ -2787,8 +2885,12 @@
   if (base == NULL || base->SegBaseType == NULL) {
     /* this may happen when we have a single segment */
     duration = stream_period->duration;
+    if (scale_dur)
+      *scale_dur = duration;
   } else {
     duration = base->duration * GST_SECOND;
+    if (scale_dur)
+      *scale_dur = duration;
     timescale = base->SegBaseType->timescale;
 
     if (timescale > 1)
@@ -2916,6 +3018,31 @@
   return stream->baseURL;
 }
 
+static gboolean
+gst_mpdparser_find_segment_by_index (GstMpdClient * client,
+    GPtrArray * segments, gint index, GstMediaSegment * result)
+{
+  gint i;
+  for (i = 0; i < segments->len; i++) {
+    GstMediaSegment *s;
+
+    s = g_ptr_array_index (segments, i);
+    if (s->number + s->repeat >= index) {
+      /* it is in this segment */
+      result->SegmentURL = s->SegmentURL;
+      result->number = index;
+      result->scale_start =
+          s->scale_start + (index - s->number) * s->scale_duration;
+      result->scale_duration = s->scale_duration;
+      result->start = s->start + (index - s->number) * s->duration;
+      result->duration = s->duration;
+      return TRUE;
+    }
+  }
+
+  return FALSE;
+}
+
 gboolean
 gst_mpdparser_get_chunk_by_index (GstMpdClient * client, guint indexStream,
     guint indexChunk, GstMediaSegment * segment)
@@ -2928,26 +3055,20 @@
   stream = g_list_nth_data (client->active_streams, indexStream);
   g_return_val_if_fail (stream != NULL, FALSE);
 
-  if (stream->segments) {
-    GstMediaSegment *list_segment;
-    /* fixed list of segments */
-    if (indexChunk >= stream->segments->len)
-      return FALSE;
+  indexChunk += 1;
 
-    list_segment = g_ptr_array_index (stream->segments, indexChunk);
-    segment->SegmentURL = list_segment->SegmentURL;
-    segment->number = list_segment->number;
-    segment->start = list_segment->start;
-    segment->start_time = list_segment->start_time;
-    segment->duration = list_segment->duration;
+  if (stream->segments) {
+    return gst_mpdparser_find_segment_by_index (client, stream->segments,
+        indexChunk, segment);
   } else {
     GstClockTime duration;
     GstStreamPeriod *stream_period;
+    gint64 scale_dur;
 
     g_return_val_if_fail (stream->cur_seg_template->MultSegBaseType->
         SegmentTimeline == NULL, FALSE);
     /* segment template generator */
-    duration = gst_mpd_client_get_segment_duration (client, stream);
+    duration = gst_mpd_client_get_segment_duration (client, stream, &scale_dur);
     if (!GST_CLOCK_TIME_IS_VALID (duration))
       return FALSE;
 
@@ -2955,11 +3076,13 @@
 
     segment->number = indexChunk
         + stream->cur_seg_template->MultSegBaseType->startNumber;
-    segment->start_time = duration * indexChunk;
+    segment->scale_start = indexChunk * scale_dur;
+    segment->scale_duration = scale_dur;
+    segment->start = duration * indexChunk;
     segment->duration = duration;
     segment->SegmentURL = NULL;
 
-    if (segment->start_time >= stream_period->duration) {
+    if (segment->start >= stream_period->duration) {
       return FALSE;
     }
   }
@@ -2968,8 +3091,9 @@
 
 static gboolean
 gst_mpd_client_add_media_segment (GstActiveStream * stream,
-    GstSegmentURLNode * url_node, guint number, guint64 start,
-    GstClockTime start_time, GstClockTime duration)
+    GstSegmentURLNode * url_node, guint number, gint repeat,
+    gint64 scale_start, gint64 scale_duration,
+    GstClockTime start, GstClockTime duration)
 {
   GstMediaSegment *media_segment;
 
@@ -2983,15 +3107,17 @@
 
   media_segment->SegmentURL = url_node;
   media_segment->number = number;
+  media_segment->scale_start = scale_start;
+  media_segment->scale_duration = scale_duration;
   media_segment->start = start;
-  media_segment->start_time = start_time;
   media_segment->duration = duration;
+  media_segment->repeat = repeat;
 
   g_ptr_array_add (stream->segments, media_segment);
-  GST_LOG ("Added new segment: number %d, ts: %" GST_TIME_FORMAT ", dur: %"
-      GST_TIME_FORMAT " start time %" GST_TIME_FORMAT, number,
-      GST_TIME_ARGS (start), GST_TIME_ARGS (duration),
-      GST_TIME_ARGS (start_time));
+  GST_LOG ("Added new segment: number %d, repeat %d, "
+      "ts: %" GST_TIME_FORMAT ", dur: %"
+      GST_TIME_FORMAT, number, repeat,
+      GST_TIME_ARGS (start), GST_TIME_ARGS (duration));
 
   return TRUE;
 }
@@ -3056,8 +3182,8 @@
                 stream->cur_adapt_set, representation)) == NULL) {
       GST_DEBUG ("No useful SegmentList node for the current Representation");
       /* here we should have a single segment for each representation, whose URL is encoded in the baseURL element */
-      if (!gst_mpd_client_add_media_segment (stream, NULL, 1, 0, PeriodStart,
-              PeriodEnd)) {
+      if (!gst_mpd_client_add_media_segment (stream, NULL, 1, 0, 0,
+              PeriodEnd - PeriodStart, PeriodStart, PeriodEnd)) {
         return FALSE;
       }
     } else {
@@ -3083,7 +3209,7 @@
         timeline = stream->cur_segment_list->MultSegBaseType->SegmentTimeline;
         for (list = g_queue_peek_head_link (&timeline->S); list;
             list = g_list_next (list)) {
-          guint j, timescale;
+          guint timescale;
 
           S = (GstSNode *) list->data;
           GST_LOG ("Processing S node: d=%" G_GUINT64_FORMAT " r=%d t=%"
@@ -3100,28 +3226,30 @@
               start_time /= timescale;
           }
 
-          for (j = 0; j <= S->r && SegmentURL != NULL; j++) {
-            if (!gst_mpd_client_add_media_segment (stream, SegmentURL->data, i,
-                    start, start_time, duration)) {
-              return FALSE;
-            }
-            i++;
-            start += S->d;
-            start_time += duration;
-            SegmentURL = g_list_next (SegmentURL);
+          if (!gst_mpd_client_add_media_segment (stream, SegmentURL->data, i,
+                  S->r, start, S->d, start_time, duration)) {
+            return FALSE;
           }
+          i += S->r + 1;
+          start_time += duration * (S->r + 1);
+          start += S->d * (S->r + 1);
+          SegmentURL = g_list_next (SegmentURL);
         }
       } else {
-        duration = gst_mpd_client_get_segment_duration (client, stream);
+        gint64 scale_dur;
+
+        duration =
+            gst_mpd_client_get_segment_duration (client, stream, &scale_dur);
         if (!GST_CLOCK_TIME_IS_VALID (duration))
           return FALSE;
 
         while (SegmentURL) {
-          if (!gst_mpd_client_add_media_segment (stream, SegmentURL->data, i, 0,
-                  start_time, duration)) {
+          if (!gst_mpd_client_add_media_segment (stream, SegmentURL->data, i,
+                  0, start, scale_dur, start_time, duration)) {
             return FALSE;
           }
           i++;
+          start += scale_dur;
           start_time += duration;
           SegmentURL = g_list_next (SegmentURL);
         }
@@ -3141,7 +3269,8 @@
 
       gst_mpdparser_init_active_stream_segments (stream);
       /* here we should have a single segment for each representation, whose URL is encoded in the baseURL element */
-      if (!gst_mpd_client_add_media_segment (stream, NULL, 1, 0, 0, PeriodEnd)) {
+      if (!gst_mpd_client_add_media_segment (stream, NULL, 1, 0, 0, PeriodEnd,
+              0, PeriodEnd)) {
         return FALSE;
       }
     } else {
@@ -3173,7 +3302,7 @@
         gst_mpdparser_init_active_stream_segments (stream);
         for (list = g_queue_peek_head_link (&timeline->S); list;
             list = g_list_next (list)) {
-          guint j, timescale;
+          guint timescale;
 
           S = (GstSNode *) list->data;
           GST_LOG ("Processing S node: d=%" G_GUINT64_FORMAT " r=%u t=%"
@@ -3189,15 +3318,13 @@
               start_time /= timescale;
           }
 
-          for (j = 0; j <= S->r; j++) {
-            if (!gst_mpd_client_add_media_segment (stream, NULL, i, start,
-                    start_time, duration)) {
-              return FALSE;
-            }
-            i++;
-            start += S->d;
-            start_time += duration;
+          if (!gst_mpd_client_add_media_segment (stream, NULL, i, S->r, start,
+                  S->d, start_time, duration)) {
+            return FALSE;
           }
+          i += S->r + 1;
+          start += S->d * (S->r + 1);
+          start_time += duration * (S->r + 1);
         }
       } else {
         /* NOP - The segment is created on demand with the template, no need
@@ -3211,9 +3338,8 @@
       g_ptr_array_index (stream->segments, stream->segments->len - 1) : NULL;
 
   if (last_media_segment && GST_CLOCK_TIME_IS_VALID (PeriodEnd)) {
-    if (last_media_segment->start_time + last_media_segment->duration >
-        PeriodEnd) {
-      last_media_segment->duration = PeriodEnd - last_media_segment->start_time;
+    if (last_media_segment->start + last_media_segment->duration > PeriodEnd) {
+      last_media_segment->duration = PeriodEnd - last_media_segment->start;
       GST_LOG ("Fixed duration of last segment: %" GST_TIME_FORMAT,
           GST_TIME_ARGS (last_media_segment->duration));
     }
@@ -3425,6 +3551,7 @@
     GstClockTime ts)
 {
   gint index = 0;
+  gint repeat_index = 0;
   GstMediaSegment *selectedChunk = NULL;
 
   g_return_val_if_fail (stream != NULL, 0);
@@ -3433,30 +3560,43 @@
     for (index = 0; index < stream->segments->len; index++) {
       GstMediaSegment *segment = g_ptr_array_index (stream->segments, index);
 
-      GST_DEBUG ("Looking at fragment sequence chunk %d", index);
-      if (segment->start_time <= ts
-          && ts < segment->start_time + segment->duration) {
+      GST_DEBUG ("Looking at fragment sequence chunk %d / %d", index,
+          stream->segments->len);
+      if (segment->start <= ts
+          && ts < segment->start + (segment->repeat + 1) * segment->duration) {
         selectedChunk = segment;
+        repeat_index = (ts - segment->start) / segment->duration;
         break;
       }
     }
 
     if (selectedChunk == NULL) {
+      stream->segment_index = stream->segments->len;
+      stream->segment_repeat_index = 0;
+      GST_DEBUG ("Seek to after last segment");
       return FALSE;
     }
   } else {
     GstClockTime duration =
-        gst_mpd_client_get_segment_duration (client, stream);
+        gst_mpd_client_get_segment_duration (client, stream, NULL);
+    guint segments_count = gst_mpd_client_get_segments_counts (client, stream);
+
     g_return_val_if_fail (stream->cur_seg_template->
         MultSegBaseType->SegmentTimeline == NULL, FALSE);
     if (!GST_CLOCK_TIME_IS_VALID (duration)) {
       return FALSE;
     }
     index = ts / duration;
+    if (segments_count > 0 && index >= segments_count) {
+      stream->segment_index = segments_count;
+      stream->segment_repeat_index = 0;
+      GST_DEBUG ("Seek to after last segment");
+      return FALSE;
+    }
   }
 
-  gst_mpd_client_set_segment_index (stream, index);
-
+  stream->segment_repeat_index = repeat_index;
+  stream->segment_index = index;
 
   return TRUE;
 }
@@ -3499,42 +3639,6 @@
   return rv;
 }
 
-gint
-gst_mpd_client_get_segment_index_at_time (GstMpdClient * client,
-    GstActiveStream * stream, const GstDateTime * time)
-{
-  GstClockTime seg_duration;
-  gint64 diff;
-  GstDateTime *avail_start =
-      gst_mpd_client_get_availability_start_time (client);
-  GstStreamPeriod *stream_period = gst_mpdparser_get_stream_period (client);
-
-  if (avail_start == NULL)
-    return -1;
-
-  if (stream_period && stream_period->period) {
-    GstDateTime *t;
-
-    t = gst_mpd_client_add_time_difference (avail_start,
-        stream_period->period->start * 1000);
-    gst_date_time_unref (avail_start);
-    avail_start = t;
-  }
-  diff = gst_mpd_client_calculate_time_difference (avail_start, time);
-  gst_date_time_unref (avail_start);
-
-  if (diff < 0)
-    return -2;
-  if (diff > gst_mpd_client_get_media_presentation_duration (client))
-    return -3;
-
-  /* TODO: Assumes all fragments are roughly the same duration */
-  seg_duration = gst_mpd_client_get_next_fragment_duration (client, stream);
-  if (seg_duration == 0)
-    return -1;
-  return diff / seg_duration;
-}
-
 static GstDateTime *
 gst_mpd_client_get_availability_start_time (GstMpdClient * client)
 {
@@ -3550,26 +3654,23 @@
 }
 
 gboolean
-gst_mpd_client_get_last_fragment_timestamp (GstMpdClient * client,
+gst_mpd_client_get_last_fragment_timestamp_end (GstMpdClient * client,
     guint stream_idx, GstClockTime * ts)
 {
   GstActiveStream *stream;
   gint segment_idx;
-  GstMediaSegment currentChunk;
+  GstMediaSegment *currentChunk;
 
   GST_DEBUG ("Stream index: %i", stream_idx);
   stream = g_list_nth_data (client->active_streams, stream_idx);
   g_return_val_if_fail (stream != NULL, 0);
 
-  segment_idx = gst_mpd_client_get_segments_counts (stream) - 1;
-  GST_DEBUG ("Looking for fragment sequence chunk %d", segment_idx);
+  segment_idx = gst_mpd_client_get_segments_counts (client, stream) - 1;
+  currentChunk = g_ptr_array_index (stream->segments, segment_idx);
 
-  if (!gst_mpdparser_get_chunk_by_index (client, stream_idx, segment_idx,
-          &currentChunk)) {
-    return FALSE;
-  }
-
-  *ts = currentChunk.start_time;
+  *ts =
+      currentChunk->start + (currentChunk->duration * (1 +
+          currentChunk->repeat));
 
   return TRUE;
 }
@@ -3579,23 +3680,36 @@
     guint stream_idx, GstClockTime * ts)
 {
   GstActiveStream *stream;
-  gint segment_idx;
-  GstMediaSegment currentChunk;
+  GstMediaSegment *currentChunk;
 
   GST_DEBUG ("Stream index: %i", stream_idx);
   stream = g_list_nth_data (client->active_streams, stream_idx);
   g_return_val_if_fail (stream != NULL, 0);
 
-  segment_idx = gst_mpd_client_get_segment_index (stream);
-  GST_DEBUG ("Looking for fragment sequence chunk %d", segment_idx);
+  if (stream->segments) {
+    GST_DEBUG ("Looking for fragment sequence chunk %d / %d",
+        stream->segment_index, stream->segments->len);
+    if (stream->segment_index >= stream->segments->len)
+      return FALSE;
+    currentChunk = g_ptr_array_index (stream->segments, stream->segment_index);
 
-  if (!gst_mpdparser_get_chunk_by_index (client, stream_idx, segment_idx,
-          &currentChunk)) {
-    return FALSE;
+    *ts =
+        currentChunk->start +
+        (currentChunk->duration * stream->segment_repeat_index);
+  } else {
+    GstClockTime duration =
+        gst_mpd_client_get_segment_duration (client, stream, NULL);
+    guint segments_count = gst_mpd_client_get_segments_counts (client, stream);
+
+    g_return_val_if_fail (stream->cur_seg_template->
+        MultSegBaseType->SegmentTimeline == NULL, FALSE);
+    if (!GST_CLOCK_TIME_IS_VALID (duration) || (segments_count > 0
+            && stream->segment_index >= segments_count)) {
+      return FALSE;
+    }
+    *ts = stream->segment_index * duration;
   }
 
-  *ts = currentChunk.start_time;
-
   return TRUE;
 }
 
@@ -3618,11 +3732,10 @@
     guint indexStream, GstMediaFragmentInfo * fragment)
 {
   GstActiveStream *stream = NULL;
-  GstMediaSegment currentChunk;
+  GstMediaSegment *currentChunk;
   gchar *mediaURL = NULL;
   gchar *indexURL = NULL;
   GstUri *base_url, *frag_url;
-  guint segment_idx;
 
   /* select stream */
   g_return_val_if_fail (client != NULL, FALSE);
@@ -3631,55 +3744,107 @@
   g_return_val_if_fail (stream != NULL, FALSE);
   g_return_val_if_fail (stream->cur_representation != NULL, FALSE);
 
-  segment_idx = gst_mpd_client_get_segment_index (stream);
-  GST_DEBUG ("Looking for fragment sequence chunk %d", segment_idx);
+  if (stream->segments) {
+    GST_DEBUG ("Looking for fragment sequence chunk %d / %d",
+        stream->segment_index, stream->segments->len);
+    if (stream->segment_index >= stream->segments->len)
+      return FALSE;
+  } else {
+    GstClockTime duration = gst_mpd_client_get_segment_duration (client,
+        stream, NULL);
+    guint segments_count = gst_mpd_client_get_segments_counts (client, stream);
 
-  if (!gst_mpdparser_get_chunk_by_index (client, indexStream, segment_idx,
-          &currentChunk)) {
-    return FALSE;
-  }
-
-  GST_DEBUG ("currentChunk->SegmentURL = %p", currentChunk.SegmentURL);
-  if (currentChunk.SegmentURL != NULL) {
-    mediaURL =
-        g_strdup (gst_mpdparser_get_mediaURL (stream, currentChunk.SegmentURL));
-    indexURL = currentChunk.SegmentURL->index;
-  } else if (stream->cur_seg_template != NULL) {
-    mediaURL =
-        gst_mpdparser_build_URL_from_template (stream->cur_seg_template->media,
-        stream->cur_representation->id, currentChunk.number,
-        stream->cur_representation->bandwidth, currentChunk.start);
-    if (stream->cur_seg_template->index) {
-      indexURL =
-          gst_mpdparser_build_URL_from_template (stream->
-          cur_seg_template->index, stream->cur_representation->id,
-          currentChunk.number, stream->cur_representation->bandwidth,
-          currentChunk.start);
+    g_return_val_if_fail (stream->cur_seg_template->
+        MultSegBaseType->SegmentTimeline == NULL, FALSE);
+    if (!GST_CLOCK_TIME_IS_VALID (duration) || (segments_count > 0
+            && stream->segment_index >= segments_count)) {
+      return FALSE;
     }
+    fragment->duration = duration;
   }
-  GST_DEBUG ("mediaURL = %s", mediaURL);
-  GST_DEBUG ("indexURL = %s", indexURL);
 
-  fragment->timestamp = currentChunk.start_time;
-  fragment->duration = currentChunk.duration;
-  fragment->discontinuity = segment_idx != currentChunk.number;
+  /* FIXME rework discont checking */
+  /* fragment->discontinuity = segment_idx != currentChunk.number; */
   fragment->range_start = 0;
   fragment->range_end = -1;
   fragment->index_uri = NULL;
   fragment->index_range_start = 0;
   fragment->index_range_end = -1;
-  if (currentChunk.SegmentURL) {
-    if (currentChunk.SegmentURL->mediaRange) {
-      fragment->range_start =
-          currentChunk.SegmentURL->mediaRange->first_byte_pos;
-      fragment->range_end = currentChunk.SegmentURL->mediaRange->last_byte_pos;
+
+  if (stream->segments) {
+    currentChunk = g_ptr_array_index (stream->segments, stream->segment_index);
+
+    GST_DEBUG ("currentChunk->SegmentURL = %p", currentChunk->SegmentURL);
+    if (currentChunk->SegmentURL != NULL) {
+      mediaURL =
+          g_strdup (gst_mpdparser_get_mediaURL (stream,
+              currentChunk->SegmentURL));
+      indexURL = currentChunk->SegmentURL->index;
+    } else if (stream->cur_seg_template != NULL) {
+      mediaURL =
+          gst_mpdparser_build_URL_from_template (stream->
+          cur_seg_template->media, stream->cur_representation->id,
+          currentChunk->number + stream->segment_repeat_index,
+          stream->cur_representation->bandwidth,
+          currentChunk->scale_start +
+          stream->segment_repeat_index * currentChunk->scale_duration);
+      if (stream->cur_seg_template->index) {
+        indexURL =
+            gst_mpdparser_build_URL_from_template (stream->
+            cur_seg_template->index, stream->cur_representation->id,
+            currentChunk->number + stream->segment_repeat_index,
+            stream->cur_representation->bandwidth,
+            currentChunk->scale_start +
+            stream->segment_repeat_index * currentChunk->scale_duration);
+      }
     }
-    if (currentChunk.SegmentURL->indexRange) {
-      fragment->index_range_start =
-          currentChunk.SegmentURL->indexRange->first_byte_pos;
-      fragment->index_range_end =
-          currentChunk.SegmentURL->indexRange->last_byte_pos;
+    GST_DEBUG ("mediaURL = %s", mediaURL);
+    GST_DEBUG ("indexURL = %s", indexURL);
+
+    fragment->timestamp =
+        currentChunk->start +
+        stream->segment_repeat_index * currentChunk->duration;
+    fragment->duration = currentChunk->duration;
+    if (currentChunk->SegmentURL) {
+      if (currentChunk->SegmentURL->mediaRange) {
+        fragment->range_start =
+            currentChunk->SegmentURL->mediaRange->first_byte_pos;
+        fragment->range_end =
+            currentChunk->SegmentURL->mediaRange->last_byte_pos;
+      }
+      if (currentChunk->SegmentURL->indexRange) {
+        fragment->index_range_start =
+            currentChunk->SegmentURL->indexRange->first_byte_pos;
+        fragment->index_range_end =
+            currentChunk->SegmentURL->indexRange->last_byte_pos;
+      }
     }
+  } else {
+    if (stream->cur_seg_template != NULL) {
+      mediaURL =
+          gst_mpdparser_build_URL_from_template (stream->
+          cur_seg_template->media, stream->cur_representation->id,
+          stream->segment_index +
+          stream->cur_seg_template->MultSegBaseType->startNumber,
+          stream->cur_representation->bandwidth,
+          stream->segment_index * fragment->duration);
+      if (stream->cur_seg_template->index) {
+        indexURL =
+            gst_mpdparser_build_URL_from_template (stream->
+            cur_seg_template->index, stream->cur_representation->id,
+            stream->segment_index +
+            stream->cur_seg_template->MultSegBaseType->startNumber,
+            stream->cur_representation->bandwidth,
+            stream->segment_index * fragment->duration);
+      }
+    } else {
+      return FALSE;
+    }
+
+    GST_DEBUG ("mediaURL = %s", mediaURL);
+    GST_DEBUG ("indexURL = %s", indexURL);
+
+    fragment->timestamp = stream->segment_index * fragment->duration;
   }
 
   base_url = gst_uri_from_string (stream->baseURL);
@@ -3715,35 +3880,109 @@
     }
   }
 
-
   GST_DEBUG ("Loading chunk with URL %s", fragment->uri);
 
   return TRUE;
 }
 
-static GstFlowReturn
-gst_mpd_client_update_segment (GstMpdClient * client, GstActiveStream * stream,
-    gint update)
+gboolean
+gst_mpd_client_has_next_segment (GstMpdClient * client,
+    GstActiveStream * stream, gboolean forward)
 {
-  guint segment_idx;
+  if (forward) {
+    guint segments_count = gst_mpd_client_get_segments_counts (client, stream);
 
-  segment_idx = gst_mpd_client_get_segment_index (stream);
-  GST_DEBUG ("Looking for fragment sequence chunk %d", segment_idx + update);
+    if (segments_count > 0 && stream->segment_index >= segments_count)
+      return FALSE;
+  } else {
+    if (stream->segment_index < 0)
+      return FALSE;
+  }
 
-  gst_mpd_client_set_segment_index (stream, segment_idx + update);
-
-  return GST_FLOW_OK;
+  return TRUE;
 }
 
-
 GstFlowReturn
 gst_mpd_client_advance_segment (GstMpdClient * client, GstActiveStream * stream,
     gboolean forward)
 {
-  if (forward)
-    return gst_mpd_client_update_segment (client, stream, 1);
-  else
-    return gst_mpd_client_update_segment (client, stream, -1);
+  GstMediaSegment *segment;
+  GstFlowReturn ret = GST_FLOW_OK;
+  guint segments_count = gst_mpd_client_get_segments_counts (client, stream);
+
+  GST_DEBUG ("Advancing segment. Current: %d / %d r:%d", stream->segment_index,
+      segments_count, stream->segment_repeat_index);
+
+  /* handle special cases first */
+  if (forward) {
+    if (segments_count > 0 && stream->segment_index >= segments_count) {
+      ret = GST_FLOW_EOS;
+      goto done;
+    }
+
+    if (stream->segments == NULL) {
+      if (stream->segment_index < 0)
+        stream->segment_index = 0;
+      else
+        stream->segment_index++;
+      goto done;
+    }
+
+    /* special case for when playback direction is reverted right at *
+     * the end of the segment list */
+    if (stream->segment_index < 0) {
+      stream->segment_index = 0;
+      goto done;
+    }
+  } else {
+    if (stream->segments == NULL)
+      stream->segment_index--;
+    if (stream->segment_index < 0) {
+      stream->segment_index = -1;
+      ret = GST_FLOW_EOS;
+      goto done;
+    }
+    if (stream->segments == NULL)
+      goto done;
+
+    /* special case for when playback direction is reverted right at *
+     * the end of the segment list */
+    if (stream->segment_index >= segments_count) {
+      stream->segment_index = segments_count - 1;
+      segment = g_ptr_array_index (stream->segments, stream->segment_index);
+      stream->segment_repeat_index = segment->repeat;
+      goto done;
+    }
+  }
+
+  /* for the normal cases we can get the segment safely here */
+  segment = g_ptr_array_index (stream->segments, stream->segment_index);
+  if (forward) {
+    if (stream->segment_repeat_index >= segment->repeat) {
+      stream->segment_repeat_index = 0;
+      stream->segment_index++;
+    } else {
+      stream->segment_repeat_index++;
+    }
+  } else {
+    if (stream->segment_repeat_index == 0) {
+      stream->segment_index--;
+      if (stream->segment_index < 0) {
+        goto done;
+      }
+
+      segment = g_ptr_array_index (stream->segments, stream->segment_index);
+      stream->segment_repeat_index = segment->repeat;
+    } else {
+      stream->segment_repeat_index--;
+    }
+  }
+
+done:
+  GST_DEBUG ("Advanced to segment: %d / %d r:%d (ret: %s)",
+      stream->segment_index, segments_count,
+      stream->segment_repeat_index, gst_flow_get_name (ret));
+  return ret;
 }
 
 gboolean
@@ -3846,24 +4085,27 @@
     GstActiveStream * stream)
 {
   GstMediaSegment *media_segment = NULL;
-  guint seg_idx;
+  gint seg_idx;
 
   g_return_val_if_fail (stream != NULL, 0);
 
-  seg_idx = gst_mpd_client_get_segment_index (stream);
+  seg_idx = stream->segment_index;
 
   if (stream->segments) {
-    if (seg_idx < stream->segments->len)
+    if (seg_idx < stream->segments->len && seg_idx >= 0)
       media_segment = g_ptr_array_index (stream->segments, seg_idx);
 
     return media_segment == NULL ? 0 : media_segment->duration;
   } else {
     GstClockTime duration =
-        gst_mpd_client_get_segment_duration (client, stream);
+        gst_mpd_client_get_segment_duration (client, stream, NULL);
+    guint segments_count = gst_mpd_client_get_segments_counts (client, stream);
+
     g_return_val_if_fail (stream->cur_seg_template->MultSegBaseType->
         SegmentTimeline == NULL, 0);
 
-    if (GST_CLOCK_TIME_IS_VALID (duration))
+    if (GST_CLOCK_TIME_IS_VALID (duration) || segments_count == 0
+        || seg_idx < segments_count)
       return duration;
     return 0;
   }
@@ -3982,49 +4224,41 @@
 }
 
 void
-gst_mpd_client_set_segment_index_for_all_streams (GstMpdClient * client,
-    guint segment_idx)
+gst_mpd_client_seek_to_first_segment (GstMpdClient * client)
 {
   GList *list;
 
   g_return_if_fail (client != NULL);
   g_return_if_fail (client->active_streams != NULL);
 
-  /* FIXME: support multiple streams with different segment duration */
   for (list = g_list_first (client->active_streams); list;
       list = g_list_next (list)) {
     GstActiveStream *stream = (GstActiveStream *) list->data;
     if (stream) {
-      stream->segment_idx = segment_idx;
+      stream->segment_index = 0;
+      stream->segment_repeat_index = 0;
     }
   }
 }
 
-void
-gst_mpd_client_set_segment_index (GstActiveStream * stream, guint segment_idx)
-{
-  g_return_if_fail (stream != NULL);
-
-  stream->segment_idx = segment_idx;
-}
-
-guint
-gst_mpd_client_get_segment_index (GstActiveStream * stream)
-{
-  g_return_val_if_fail (stream != NULL, 0);
-
-  return stream->segment_idx;
-}
-
 static guint
-gst_mpd_client_get_segments_counts (GstActiveStream * stream)
+gst_mpd_client_get_segments_counts (GstMpdClient * client,
+    GstActiveStream * stream)
 {
+  GstStreamPeriod *stream_period;
+
   g_return_val_if_fail (stream != NULL, 0);
 
   if (stream->segments)
     return stream->segments->len;
   g_return_val_if_fail (stream->cur_seg_template->MultSegBaseType->
       SegmentTimeline == NULL, 0);
+
+  stream_period = gst_mpdparser_get_stream_period (client);
+  if (stream_period->duration != -1)
+    return gst_util_uint64_scale_ceil (stream_period->duration, 1,
+        gst_mpd_client_get_segment_duration (client, stream, NULL));
+
   return 0;
 }
 
@@ -4216,7 +4450,7 @@
     GstActiveStream * stream)
 {
   GstDateTime *availability_start_time, *rv;
-  guint seg_idx;
+  gint seg_idx;
   GstClockTime seg_duration;
   gint64 offset;
   GstStreamPeriod *stream_period;
@@ -4226,8 +4460,8 @@
 
   stream_period = gst_mpdparser_get_stream_period (client);
 
-  seg_idx = gst_mpd_client_get_segment_index (stream);
-  seg_duration = gst_mpd_client_get_segment_duration (client, stream);
+  seg_idx = stream->segment_index;
+  seg_duration = gst_mpd_client_get_segment_duration (client, stream, NULL);
   if (seg_duration == 0)
     return NULL;
   availability_start_time = gst_mpd_client_get_availability_start_time (client);
@@ -4262,7 +4496,7 @@
 
   g_return_val_if_fail (gst_mpd_client_is_live (client), 0);
 
-  duration = gst_mpd_client_get_segment_duration (client, stream);
+  duration = gst_mpd_client_get_segment_duration (client, stream, NULL);
   stream_now = g_date_time_difference (now, start);
   g_date_time_unref (now);
   g_date_time_unref (start);
@@ -4327,6 +4561,10 @@
   ts_microseconds = g_date_time_difference (time, start);
   g_date_time_unref (start);
 
+  /* Clamp to availability start time, otherwise calculations wrap around */
+  if (ts_microseconds < 0)
+    ts_microseconds = 0;
+
   ts = ts_microseconds * GST_USECOND;
   for (stream = client->active_streams; stream; stream = g_list_next (stream)) {
     ret = ret & gst_mpd_client_stream_seek (client, stream->data, ts);
diff --git a/ext/dash/gstmpdparser.h b/ext/dash/gstmpdparser.h
index 7a098c3..43c454b 100644
--- a/ext/dash/gstmpdparser.h
+++ b/ext/dash/gstmpdparser.h
@@ -414,8 +414,10 @@
 {
   GstSegmentURLNode *SegmentURL;              /* this is NULL when using a SegmentTemplate */
   guint number;                               /* segment number */
-  guint64 start;                                /* segment start time in timescale units */
-  GstClockTime start_time;                    /* segment start time */
+  gint repeat;                                /* number of extra repetitions (0 = played only once) */
+  gint64 scale_start;                         /* start time in timescale units */
+  gint64 scale_duration;                      /* duration in timescale units */
+  GstClockTime start;                         /* segment start time */
   GstClockTime duration;                      /* segment duration */
 };
 
@@ -454,7 +456,8 @@
   GstSegmentBaseType *cur_segment_base;       /* active segment base */
   GstSegmentListNode *cur_segment_list;       /* active segment list */
   GstSegmentTemplateNode *cur_seg_template;   /* active segment template */
-  guint segment_idx;                          /* index of next sequence chunk */
+  gint segment_index;                        /* index of next sequence chunk */
+  guint segment_repeat_index;                 /* index of the repeat count of a segment */
   GPtrArray *segments;                        /* array of GstMediaSegment */
   GstClockTime presentationTimeOffset;        /* presentation time offset of the current segment */
 };
@@ -493,7 +496,7 @@
 GList * gst_mpd_client_get_adaptation_sets (GstMpdClient * client);
 GstClockTime gst_mpd_client_get_next_fragment_duration (GstMpdClient * client, GstActiveStream * stream);
 GstClockTime gst_mpd_client_get_media_presentation_duration (GstMpdClient *client);
-gboolean gst_mpd_client_get_last_fragment_timestamp (GstMpdClient * client, guint stream_idx, GstClockTime * ts);
+gboolean gst_mpd_client_get_last_fragment_timestamp_end (GstMpdClient * client, guint stream_idx, GstClockTime * ts);
 gboolean gst_mpd_client_get_next_fragment_timestamp (GstMpdClient * client, guint stream_idx, GstClockTime * ts);
 gboolean gst_mpd_client_get_next_fragment (GstMpdClient *client, guint indexStream, GstMediaFragmentInfo * fragment);
 gboolean gst_mpd_client_get_next_header (GstMpdClient *client, gchar **uri, guint stream_idx, gint64 * range_start, gint64 * range_end);
@@ -502,7 +505,6 @@
 gboolean gst_mpd_client_stream_seek (GstMpdClient * client, GstActiveStream * stream, GstClockTime ts);
 gboolean gst_mpd_client_seek_to_time (GstMpdClient * client, GDateTime * time);
 GstDateTime *gst_mpd_client_add_time_difference (GstDateTime * t1, gint64 usecs);
-gint gst_mpd_client_get_segment_index_at_time (GstMpdClient *client, GstActiveStream * stream, const GstDateTime *time);
 gint gst_mpd_client_check_time_position (GstMpdClient * client, GstActiveStream * stream, GstClockTime ts, gint64 * diff);
 GstClockTime gst_mpd_parser_get_stream_presentation_offset (GstMpdClient *client, guint stream_idx);
 
@@ -532,10 +534,9 @@
 guint gst_mpdparser_get_nb_adaptationSet (GstMpdClient *client);
 
 /* Segment */
-void gst_mpd_client_set_segment_index_for_all_streams (GstMpdClient * client, guint segment_idx);
-guint gst_mpd_client_get_segment_index (GstActiveStream * stream);
-void gst_mpd_client_set_segment_index (GstActiveStream * stream, guint segment_idx);
+gboolean gst_mpd_client_has_next_segment (GstMpdClient * client, GstActiveStream * stream, gboolean forward);
 GstFlowReturn gst_mpd_client_advance_segment (GstMpdClient * client, GstActiveStream * stream, gboolean forward);
+void gst_mpd_client_seek_to_first_segment (GstMpdClient * client);
 
 /* Get audio/video stream parameters (mimeType, width, height, rate, number of channels) */
 const gchar *gst_mpd_client_get_stream_mimeType (GstActiveStream * stream);
diff --git a/ext/directfb/dfbvideosink.c b/ext/directfb/dfbvideosink.c
index bafe4ba..22dd3d7 100644
--- a/ext/directfb/dfbvideosink.c
+++ b/ext/directfb/dfbvideosink.c
@@ -1818,7 +1818,7 @@
       src.h = dfbvideosink->video_height;
     }
     gst_caps_unref (caps);
-    res = surface->GetSize (surface, &dst.w, &dst.h);
+    surface->GetSize (surface, &dst.w, &dst.h);
 
     /* Center / Clip */
     gst_video_sink_center_rect (src, dst, &result, FALSE);
@@ -1910,15 +1910,15 @@
 
     gst_video_frame_unmap (&src_frame);
 
-    res = dest->Unlock (dest);
+    dest->Unlock (dest);
 
     dest->Release (dest);
 
     if (dfbvideosink->backbuffer) {
       if (dfbvideosink->vsync) {
-        res = surface->Flip (surface, NULL, DSFLIP_ONSYNC);
+        surface->Flip (surface, NULL, DSFLIP_ONSYNC);
       } else {
-        res = surface->Flip (surface, NULL, DSFLIP_NONE);
+        surface->Flip (surface, NULL, DSFLIP_NONE);
       }
     }
   } else {
diff --git a/ext/dtls/gstdtlsconnection.c b/ext/dtls/gstdtlsconnection.c
index 0d6d827..3369a14 100644
--- a/ext/dtls/gstdtlsconnection.c
+++ b/ext/dtls/gstdtlsconnection.c
@@ -454,6 +454,10 @@
   g_mutex_lock (&self->priv->mutex);
   GST_TRACE_OBJECT (self, "locked @ set_send_callback");
 
+  if (self->priv->send_closure) {
+    g_closure_unref (self->priv->send_closure);
+    self->priv->send_closure = NULL;
+  }
   self->priv->send_closure = closure;
 
   if (closure && G_CLOSURE_NEEDS_MARSHAL (closure)) {
diff --git a/ext/dtls/gstdtlsdec.c b/ext/dtls/gstdtlsdec.c
index 0881a8f..ac6ba77 100644
--- a/ext/dtls/gstdtlsdec.c
+++ b/ext/dtls/gstdtlsdec.c
@@ -187,7 +187,6 @@
 static void
 gst_dtls_dec_init (GstDtlsDec * self)
 {
-  GstPad *sink;
   self->agent = get_agent_by_pem (NULL);
   self->connection_id = NULL;
   self->connection = NULL;
@@ -200,13 +199,14 @@
   g_mutex_init (&self->src_mutex);
 
   self->src = NULL;
-  sink = gst_pad_new_from_static_template (&sink_template, "sink");
-  g_return_if_fail (sink);
+  self->sink = gst_pad_new_from_static_template (&sink_template, "sink");
+  g_return_if_fail (self->sink);
 
-  gst_pad_set_chain_function (sink, GST_DEBUG_FUNCPTR (sink_chain));
-  gst_pad_set_chain_list_function (sink, GST_DEBUG_FUNCPTR (sink_chain_list));
+  gst_pad_set_chain_function (self->sink, GST_DEBUG_FUNCPTR (sink_chain));
+  gst_pad_set_chain_list_function (self->sink,
+      GST_DEBUG_FUNCPTR (sink_chain_list));
 
-  gst_element_add_pad (GST_ELEMENT (self), sink);
+  gst_element_add_pad (GST_ELEMENT (self), self->sink);
 }
 
 static void
@@ -246,6 +246,8 @@
     g_object_unref (self->connection);
     self->connection = NULL;
   }
+
+  G_OBJECT_CLASS (parent_class)->dispose (object);
 }
 
 static void
@@ -335,6 +337,21 @@
   return ret;
 }
 
+static gboolean
+forward_sticky_events (GstPad * pad, GstEvent ** event, gpointer user_data)
+{
+  GstPad *srcpad = GST_PAD_CAST (user_data);
+  GstFlowReturn ret;
+
+  ret = gst_pad_store_sticky_event (srcpad, *event);
+  if (ret != GST_FLOW_OK) {
+    GST_DEBUG_OBJECT (srcpad, "storing sticky event %p (%s) failed: %s", *event,
+        GST_EVENT_TYPE_NAME (*event), gst_flow_get_name (ret));
+  }
+
+  return TRUE;
+}
+
 static GstPad *
 gst_dtls_dec_request_new_pad (GstElement * element,
     GstPadTemplate * tmpl, const gchar * name, const GstCaps * caps)
@@ -356,7 +373,7 @@
   }
 
   self->src = pad = gst_pad_new_from_template (tmpl, name);
-  gst_object_ref (pad);
+
   g_mutex_unlock (&self->src_mutex);
 
   gst_pad_set_active (pad, TRUE);
@@ -364,8 +381,10 @@
   if (caps)
     gst_pad_set_caps (pad, (GstCaps *) caps);
 
+  /* Forward sticky events to the new srcpad */
+  gst_pad_sticky_events_foreach (self->sink, forward_sticky_events, self->src);
+
   gst_element_add_pad (element, pad);
-  gst_object_unref (pad);
 
   return pad;
 }
@@ -378,15 +397,13 @@
   g_return_if_fail (self->src == pad);
 
   g_mutex_lock (&self->src_mutex);
-  gst_object_unref (self->src);
+
   self->src = NULL;
   g_mutex_unlock (&self->src_mutex);
 
-  gst_element_remove_pad (element, pad);
-
   GST_DEBUG_OBJECT (self, "releasing src pad");
 
-  GST_ELEMENT_GET_CLASS (element)->release_pad (element, pad);
+  gst_element_remove_pad (element, pad);
 }
 
 static void
@@ -402,6 +419,12 @@
   self->srtp_auth = auth;
 
   key_dup = g_memdup (key, GST_DTLS_SRTP_MASTER_KEY_LENGTH);
+
+  if (self->decoder_key) {
+    gst_buffer_unref (self->decoder_key);
+    self->decoder_key = NULL;
+  }
+
   self->decoder_key =
       gst_buffer_new_wrapped (key_dup, GST_DTLS_SRTP_MASTER_KEY_LENGTH);
 
@@ -441,6 +464,10 @@
 
   GST_DEBUG_OBJECT (self, "Received peer certificate PEM: \n%s", pem);
 
+  if (self->peer_pem != NULL) {
+    g_free (self->peer_pem);
+    self->peer_pem = NULL;
+  }
   self->peer_pem = g_strdup (pem);
 
   ref = g_new (GWeakRef, 1);
diff --git a/ext/dtls/gstdtlsdec.h b/ext/dtls/gstdtlsdec.h
index 8d2560e..7165bf7 100644
--- a/ext/dtls/gstdtlsdec.h
+++ b/ext/dtls/gstdtlsdec.h
@@ -51,6 +51,7 @@
     GstElement element;
 
     GstPad *src;
+    GstPad *sink;
     GMutex src_mutex;
 
     GstDtlsAgent *agent;
diff --git a/ext/dtls/gstdtlsenc.c b/ext/dtls/gstdtlsenc.c
index 477af10..b78ff4a 100644
--- a/ext/dtls/gstdtlsenc.c
+++ b/ext/dtls/gstdtlsenc.c
@@ -209,6 +209,11 @@
     self->encoder_key = NULL;
   }
 
+  if (self->connection_id) {
+    g_free (self->connection_id);
+    self->connection_id = NULL;
+  }
+
   g_mutex_lock (&self->queue_lock);
   g_queue_foreach (&self->queue, (GFunc) gst_buffer_unref, NULL);
   g_queue_clear (&self->queue);
@@ -230,6 +235,10 @@
 
   switch (prop_id) {
     case PROP_CONNECTION_ID:
+      if (self->connection_id != NULL) {
+        g_free (self->connection_id);
+        self->connection_id = NULL;
+      }
       self->connection_id = g_value_dup_string (value);
       break;
     case PROP_IS_CLIENT:
@@ -500,6 +509,12 @@
   self->srtp_auth = auth;
 
   key_dup = g_memdup (key, GST_DTLS_SRTP_MASTER_KEY_LENGTH);
+
+  if (self->encoder_key) {
+    gst_buffer_unref (self->encoder_key);
+    self->encoder_key = NULL;
+  }
+
   self->encoder_key =
       gst_buffer_new_wrapped (key_dup, GST_DTLS_SRTP_MASTER_KEY_LENGTH);
 
diff --git a/ext/dtls/gstdtlssrtpdec.c b/ext/dtls/gstdtlssrtpdec.c
index d80328d..5e29a0f 100644
--- a/ext/dtls/gstdtlssrtpdec.c
+++ b/ext/dtls/gstdtlssrtpdec.c
@@ -84,6 +84,8 @@
 
 static GstPad *gst_dtls_srtp_dec_request_new_pad (GstElement *,
     GstPadTemplate *, const gchar * name, const GstCaps *);
+static void gst_dtls_srtp_dec_release_pad (GstElement *, GstPad *);
+
 static GstCaps *on_decoder_request_key (GstElement * srtp_decoder, guint ssrc,
     GstDtlsSrtpBin *);
 static void on_peer_pem (GstElement * srtp_decoder, GParamSpec * pspec,
@@ -111,6 +113,8 @@
 
   element_class->request_new_pad =
       GST_DEBUG_FUNCPTR (gst_dtls_srtp_dec_request_new_pad);
+  element_class->release_pad =
+      GST_DEBUG_FUNCPTR (gst_dtls_srtp_dec_release_pad);
 
   dtls_srtp_bin_class->remove_dtls_element =
       GST_DEBUG_FUNCPTR (gst_dtls_srtp_dec_remove_dtls_element);
@@ -314,6 +318,31 @@
   g_return_val_if_reached (NULL);
 }
 
+static void
+gst_dtls_srtp_dec_release_pad (GstElement * element, GstPad * pad)
+{
+  GstElementClass *klass = GST_ELEMENT_GET_CLASS (element);
+  GstDtlsSrtpDec *self = GST_DTLS_SRTP_DEC (element);
+
+  if (GST_PAD_PAD_TEMPLATE (pad) ==
+      gst_element_class_get_pad_template (klass, "data_src")) {
+    GstGhostPad *ghost_pad;
+    GstPad *target_pad;
+
+    ghost_pad = GST_GHOST_PAD (pad);
+    target_pad = gst_ghost_pad_get_target (ghost_pad);
+
+    if (target_pad != NULL) {
+      gst_element_release_request_pad (self->bin.dtls_element, target_pad);
+
+      gst_object_unref (target_pad);
+      gst_ghost_pad_set_target (GST_GHOST_PAD (pad), NULL);
+    }
+  }
+
+  gst_element_remove_pad (element, pad);
+}
+
 static GstCaps *
 on_decoder_request_key (GstElement * srtp_decoder,
     guint ssrc, GstDtlsSrtpBin * bin)
@@ -381,6 +410,8 @@
         break;
     }
 
+    gst_buffer_unref (key_buffer);
+
     return key_caps;
   } else {
     GST_WARNING_OBJECT (bin, "no srtp key available yet");
diff --git a/ext/dtls/gstdtlssrtpenc.c b/ext/dtls/gstdtlssrtpenc.c
index d7055b8..941afac 100644
--- a/ext/dtls/gstdtlssrtpenc.c
+++ b/ext/dtls/gstdtlssrtpenc.c
@@ -399,6 +399,8 @@
         "rtp-auth", auth,
         "rtcp-auth", auth, "key", buffer, "random-key", FALSE, NULL);
 
+    gst_buffer_unref (buffer);
+
     g_signal_emit (self, signals[SIGNAL_ON_KEY_SET], 0);
   } else {
     GST_DEBUG_OBJECT (self,
diff --git a/ext/gl/caopengllayersink.h b/ext/gl/caopengllayersink.h
index 35a4cd2..b28eb3f 100644
--- a/ext/gl/caopengllayersink.h
+++ b/ext/gl/caopengllayersink.h
@@ -59,6 +59,7 @@
 
     guint      next_tex;
     GstBuffer *next_buffer;
+    GstBuffer *next_sync;
 
     GstGLCAOpenGLLayer *layer;
 
@@ -70,6 +71,7 @@
     /* avoid replacing the stored_buffer while drawing */
     GMutex drawing_lock;
     GstBuffer *stored_buffer;
+    GstBuffer *stored_sync;
     GLuint redisplay_texture;
 
     gboolean caps_change;
@@ -80,6 +82,7 @@
     GstGLShader *redisplay_shader;
     GLuint vao;
     GLuint vertex_buffer;
+    GLuint vbo_indices;
     GLint  attr_position;
     GLint  attr_texture;
 };
diff --git a/ext/gl/caopengllayersink.m b/ext/gl/caopengllayersink.m
index 3656099..c2e3e02 100644
--- a/ext/gl/caopengllayersink.m
+++ b/ext/gl/caopengllayersink.m
@@ -22,7 +22,7 @@
  * SECTION:element-caopengllayersink
  *
  * caopengllayersink renders incoming video frames to CAOpenGLLayer that
- * can be retreived through the layer property and placed in the Core
+ * can be retrieved through the layer property and placed in the Core
  * Animation render tree.
  */
 
@@ -448,6 +448,7 @@
         gst_buffer_unref (buf);
 
       gst_buffer_replace (&ca_sink->next_buffer, NULL);
+      gst_buffer_replace (&ca_sink->next_sync, NULL);
 
       res = GST_BASE_SINK_CLASS (parent_class)->query (bsink, query);
       break;
@@ -528,12 +529,16 @@
        */
       GST_CA_OPENGL_LAYER_SINK_LOCK (ca_sink);
       ca_sink->redisplay_texture = 0;
+
+      gst_buffer_replace (&ca_sink->stored_sync, NULL);
+
       if (ca_sink->stored_buffer) {
         gst_buffer_unref (ca_sink->stored_buffer);
         ca_sink->stored_buffer = NULL;
       }
-      GST_CA_OPENGL_LAYER_SINK_UNLOCK (ca_sink);
       gst_buffer_replace (&ca_sink->next_buffer, NULL);
+      gst_buffer_replace (&ca_sink->next_sync, NULL);
+      GST_CA_OPENGL_LAYER_SINK_UNLOCK (ca_sink);
 
       if (ca_sink->pool) {
         gst_buffer_pool_set_active (ca_sink->pool, FALSE);
@@ -662,7 +667,9 @@
 gst_ca_opengl_layer_sink_prepare (GstBaseSink * bsink, GstBuffer * buf)
 {
   GstCAOpenGLLayerSink *ca_sink;
+  GstBuffer *next_sync, *old_sync, *old_buffer;
   GstVideoFrame gl_frame;
+  GstGLSyncMeta *sync_meta;
 
   ca_sink = GST_CA_OPENGL_LAYER_SINK (bsink);
 
@@ -683,7 +690,24 @@
 
   ca_sink->next_tex = *(guint *) gl_frame.data[0];
 
-  gst_buffer_replace (&ca_sink->next_buffer, buf);
+  next_sync = gst_buffer_new ();
+  sync_meta = gst_buffer_add_gl_sync_meta (ca_sink->context, next_sync);
+  gst_gl_sync_meta_set_sync_point (sync_meta, ca_sink->context);
+
+  GST_CA_OPENGL_LAYER_SINK_LOCK (ca_sink);
+  ca_sink->next_tex = *(guint *) gl_frame.data[0];
+
+  old_buffer = ca_sink->next_buffer;
+  ca_sink->next_buffer = gst_buffer_ref (buf);
+
+  old_sync = ca_sink->next_sync;
+  ca_sink->next_sync = next_sync;
+  GST_CA_OPENGL_LAYER_SINK_UNLOCK (ca_sink);
+
+  if (old_buffer)
+    gst_buffer_unref (old_buffer);
+  if (old_sync)
+    gst_buffer_unref (old_sync);
 
   gst_video_frame_unmap (&gl_frame);
 
@@ -701,7 +725,7 @@
 gst_ca_opengl_layer_sink_show_frame (GstVideoSink * vsink, GstBuffer * buf)
 {
   GstCAOpenGLLayerSink *ca_sink;
-  GstBuffer *stored_buffer;
+  GstBuffer *stored_buffer, *old_sync;
 
   GST_TRACE ("rendering buffer:%p", buf);
 
@@ -716,8 +740,12 @@
   /* Avoid to release the texture while drawing */
   GST_CA_OPENGL_LAYER_SINK_LOCK (ca_sink);
   ca_sink->redisplay_texture = ca_sink->next_tex;
+
   stored_buffer = ca_sink->stored_buffer;
   ca_sink->stored_buffer = gst_buffer_ref (ca_sink->next_buffer);
+
+  old_sync = ca_sink->stored_sync;
+  ca_sink->stored_sync = gst_buffer_ref (ca_sink->next_sync);
   GST_CA_OPENGL_LAYER_SINK_UNLOCK (ca_sink);
 
   /* The layer will automatically call the draw callback to draw the new
@@ -730,6 +758,8 @@
 
   if (stored_buffer)
     gst_buffer_unref (stored_buffer);
+  if (old_sync)
+    gst_buffer_unref (old_sync);
 
   if (g_atomic_int_get (&ca_sink->to_quit) != 0) {
     GST_ELEMENT_ERROR (ca_sink, RESOURCE, NOT_FOUND,
@@ -828,6 +858,8 @@
     -1.0f, -1.0f, 0.0f, 0.0f, 1.0f,
      1.0f, -1.0f, 0.0f, 1.0f, 1.0f
 };
+
+static const GLushort indices[] = { 0, 1, 2, 0, 2, 3 };
 /* *INDENT-ON* */
 
 static void
@@ -835,9 +867,8 @@
 {
   const GstGLFuncs *gl = ca_sink->context->gl_vtable;
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, ca_sink->vbo_indices);
   gl->BindBuffer (GL_ARRAY_BUFFER, ca_sink->vertex_buffer);
-  gl->BufferData (GL_ARRAY_BUFFER, 4 * 5 * sizeof (GLfloat), vertices,
-      GL_STATIC_DRAW);
 
   /* Load the vertex position */
   gl->VertexAttribPointer (ca_sink->attr_position, 3, GL_FLOAT, GL_FALSE,
@@ -856,6 +887,7 @@
 {
   const GstGLFuncs *gl = ca_sink->context->gl_vtable;
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
   gl->BindBuffer (GL_ARRAY_BUFFER, 0);
 
   gl->DisableVertexAttribArray (ca_sink->attr_position);
@@ -880,15 +912,27 @@
     gl->BindVertexArray (ca_sink->vao);
   }
 
-  gl->GenBuffers (1, &ca_sink->vertex_buffer);
-  _bind_buffer (ca_sink);
+  if (!ca_sink->vertex_buffer) {
+    gl->GenBuffers (1, &ca_sink->vertex_buffer);
+    gl->BindBuffer (GL_ARRAY_BUFFER, ca_sink->vertex_buffer);
+    gl->BufferData (GL_ARRAY_BUFFER, 4 * 5 * sizeof (GLfloat), vertices,
+        GL_STATIC_DRAW);
+  }
+
+  if (!ca_sink->vbo_indices) {
+    gl->GenBuffers (1, &ca_sink->vbo_indices);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, ca_sink->vbo_indices);
+    gl->BufferData (GL_ELEMENT_ARRAY_BUFFER, sizeof (indices), indices,
+        GL_STATIC_DRAW);
+  }
 
   if (gl->GenVertexArrays) {
+    _bind_buffer (ca_sink);
     gl->BindVertexArray (0);
-    gl->BindBuffer (GL_ARRAY_BUFFER, 0);
-  } else {
-    _unbind_buffer (ca_sink);
   }
+
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
+  gl->BindBuffer (GL_ARRAY_BUFFER, 0);
 }
 
 static void
@@ -905,6 +949,16 @@
     gl->DeleteVertexArrays (1, &ca_sink->vao);
     ca_sink->vao = 0;
   }
+
+  if (ca_sink->vbo_indices) {
+    gl->DeleteBuffers (1, &ca_sink->vbo_indices);
+    ca_sink->vbo_indices = 0;
+  }
+
+  if (ca_sink->vertex_buffer) {
+    gl->DeleteBuffers (1, &ca_sink->vertex_buffer);
+    ca_sink->vertex_buffer = 0;
+  }
 }
 
 static void
@@ -954,7 +1008,7 @@
    */
 
   const GstGLFuncs *gl = NULL;
-  GLushort indices[] = { 0, 1, 2, 0, 2, 3 };
+  GstGLSyncMeta *sync_meta;
 
   g_return_if_fail (GST_IS_CA_OPENGL_LAYER_SINK (ca_sink));
 
@@ -985,10 +1039,9 @@
     ca_sink->caps_change = TRUE;
   }
 
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (ca_sink->context))
-    gl->Disable (GL_TEXTURE_2D);
-#endif
+  sync_meta = gst_buffer_get_gl_sync_meta (ca_sink->stored_sync);
+  if (sync_meta)
+    gst_gl_sync_meta_wait (sync_meta, gst_gl_context_get_current ());
 
   gl->BindTexture (GL_TEXTURE_2D, 0);
 
@@ -1006,7 +1059,7 @@
   gl->BindTexture (GL_TEXTURE_2D, ca_sink->redisplay_texture);
   gst_gl_shader_set_uniform_1i (ca_sink->redisplay_shader, "tex", 0);
 
-  gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices);
+  gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
 
   if (gl->GenVertexArrays)
     gl->BindVertexArray (0);
diff --git a/ext/gl/effects/gstgleffectblur.c b/ext/gl/effects/gstgleffectblur.c
index 07eb38d..8042b27 100644
--- a/ext/gl/effects/gstgleffectblur.c
+++ b/ext/gl/effects/gstgleffectblur.c
@@ -62,9 +62,7 @@
     gst_gl_shader_use (shader);
 
     gl->ActiveTexture (GL_TEXTURE0);
-    gl->Enable (GL_TEXTURE_2D);
     gl->BindTexture (GL_TEXTURE_2D, texture);
-    gl->Disable (GL_TEXTURE_2D);
 
     gst_gl_shader_set_uniform_1i (shader, "tex", 0);
     gst_gl_shader_set_uniform_1f (shader, "gauss_width", width);
@@ -97,9 +95,7 @@
     gst_gl_shader_use (shader);
 
     gl->ActiveTexture (GL_TEXTURE0);
-    gl->Enable (GL_TEXTURE_2D);
     gl->BindTexture (GL_TEXTURE_2D, texture);
-    gl->Disable (GL_TEXTURE_2D);
 
     gst_gl_shader_set_uniform_1i (shader, "tex", 0);
     gst_gl_shader_set_uniform_1f (shader, "gauss_height", height);
diff --git a/ext/gl/effects/gstgleffectbulge.c b/ext/gl/effects/gstgleffectbulge.c
index 2e21025..f228867 100644
--- a/ext/gl/effects/gstgleffectbulge.c
+++ b/ext/gl/effects/gstgleffectbulge.c
@@ -49,7 +49,6 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 0);
diff --git a/ext/gl/effects/gstgleffectfisheye.c b/ext/gl/effects/gstgleffectfisheye.c
index c94cd42..2be8609 100644
--- a/ext/gl/effects/gstgleffectfisheye.c
+++ b/ext/gl/effects/gstgleffectfisheye.c
@@ -49,7 +49,6 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 0);
diff --git a/ext/gl/effects/gstgleffectglow.c b/ext/gl/effects/gstgleffectglow.c
index b387715..97277b8 100644
--- a/ext/gl/effects/gstgleffectglow.c
+++ b/ext/gl/effects/gstgleffectglow.c
@@ -53,7 +53,6 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 0);
@@ -91,9 +90,7 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 1);
   gst_gl_shader_set_uniform_1fv (shader, "kernel", 7, gauss_kernel);
@@ -128,9 +125,7 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 1);
   gst_gl_shader_set_uniform_1fv (shader, "kernel", 7, gauss_kernel);
@@ -165,17 +160,13 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE2);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, effects->intexture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1f (shader, "alpha", 1.0f);
   gst_gl_shader_set_uniform_1i (shader, "base", 2);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1f (shader, "beta", (gfloat) 1 / 3.5f);
   gst_gl_shader_set_uniform_1i (shader, "blend", 1);
diff --git a/ext/gl/effects/gstgleffectlaplacian.c b/ext/gl/effects/gstgleffectlaplacian.c
index b9dabcb..a6eadcc 100644
--- a/ext/gl/effects/gstgleffectlaplacian.c
+++ b/ext/gl/effects/gstgleffectlaplacian.c
@@ -51,9 +51,7 @@
     gst_gl_shader_use (shader);
 
     gl->ActiveTexture (GL_TEXTURE0);
-    gl->Enable (GL_TEXTURE_2D);
     gl->BindTexture (GL_TEXTURE_2D, texture);
-    gl->Disable (GL_TEXTURE_2D);
 
     gst_gl_shader_set_uniform_1i (shader, "tex", 0);
     gst_gl_shader_set_uniform_1f (shader, "height", height);
diff --git a/ext/gl/effects/gstgleffectlumatocurve.c b/ext/gl/effects/gstgleffectlumatocurve.c
index 0a925fe..f4e303c 100644
--- a/ext/gl/effects/gstgleffectlumatocurve.c
+++ b/ext/gl/effects/gstgleffectlumatocurve.c
@@ -56,7 +56,6 @@
 
 #if GST_GL_HAVE_OPENGL
     if (USING_OPENGL (context)) {
-      gl->Enable (GL_TEXTURE_1D);
       gl->BindTexture (GL_TEXTURE_1D, effects->curve[curve_index]);
       gl->TexParameteri (GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
       gl->TexParameteri (GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
@@ -65,12 +64,9 @@
 
       gl->TexImage1D (GL_TEXTURE_1D, 0, curve->bytes_per_pixel,
           curve->width, 0, GL_RGB, GL_UNSIGNED_BYTE, curve->pixel_data);
-
-      gl->Disable (GL_TEXTURE_1D);
     }
 #endif
     if (USING_GLES2 (context) || USING_OPENGL3 (context)) {
-      gl->Enable (GL_TEXTURE_2D);
       gl->BindTexture (GL_TEXTURE_2D, effects->curve[curve_index]);
       gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
       gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
@@ -79,37 +75,27 @@
 
       gl->TexImage2D (GL_TEXTURE_2D, 0, GL_RGB,
           curve->width, 1, 0, GL_RGB, GL_UNSIGNED_BYTE, curve->pixel_data);
-      gl->Disable (GL_TEXTURE_2D);
     }
   }
 
   gl->ActiveTexture (GL_TEXTURE2);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 2);
 
-  gl->Disable (GL_TEXTURE_2D);
-
 #if GST_GL_HAVE_OPENGL
   if (USING_OPENGL (context)) {
     gl->ActiveTexture (GL_TEXTURE1);
-    gl->Enable (GL_TEXTURE_1D);
     gl->BindTexture (GL_TEXTURE_1D, effects->curve[curve_index]);
 
     gst_gl_shader_set_uniform_1i (shader, "curve", 1);
-
-    gl->Disable (GL_TEXTURE_1D);
   }
 #endif
   if (USING_GLES2 (context) || USING_OPENGL3 (context)) {
     gl->ActiveTexture (GL_TEXTURE1);
-    gl->Enable (GL_TEXTURE_2D);
     gl->BindTexture (GL_TEXTURE_2D, effects->curve[curve_index]);
 
     gst_gl_shader_set_uniform_1i (shader, "curve", 1);
-
-    gl->Disable (GL_TEXTURE_2D);
   }
 
   gst_gl_filter_draw_texture (filter, texture, width, height);
diff --git a/ext/gl/effects/gstgleffectmirror.c b/ext/gl/effects/gstgleffectmirror.c
index 7a88f07..4f5d473 100644
--- a/ext/gl/effects/gstgleffectmirror.c
+++ b/ext/gl/effects/gstgleffectmirror.c
@@ -49,8 +49,6 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  if (USING_OPENGL (context))
-    gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 0);
diff --git a/ext/gl/effects/gstgleffectrgbtocurve.c b/ext/gl/effects/gstgleffectrgbtocurve.c
index b34a3f3..b2d84e1 100644
--- a/ext/gl/effects/gstgleffectrgbtocurve.c
+++ b/ext/gl/effects/gstgleffectrgbtocurve.c
@@ -54,7 +54,6 @@
     gl->GenTextures (1, &effects->curve[curve_index]);
 #if GST_GL_HAVE_OPENGL
     if (USING_OPENGL (context)) {
-      gl->Enable (GL_TEXTURE_1D);
       gl->BindTexture (GL_TEXTURE_1D, effects->curve[curve_index]);
       gl->TexParameteri (GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
       gl->TexParameteri (GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
@@ -63,12 +62,9 @@
 
       gl->TexImage1D (GL_TEXTURE_1D, 0, GL_RGB,
           curve->width, 0, GL_RGB, GL_UNSIGNED_BYTE, curve->pixel_data);
-
-      gl->Disable (GL_TEXTURE_1D);
     }
 #endif
     if (USING_GLES2 (context) || USING_OPENGL3 (context)) {
-      gl->Enable (GL_TEXTURE_2D);
       gl->BindTexture (GL_TEXTURE_2D, effects->curve[curve_index]);
       gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
       gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
@@ -77,37 +73,27 @@
 
       gl->TexImage2D (GL_TEXTURE_2D, 0, GL_RGB,
           curve->width, 1, 0, GL_RGB, GL_UNSIGNED_BYTE, curve->pixel_data);
-      gl->Disable (GL_TEXTURE_2D);
     }
   }
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 0);
 
-  gl->Disable (GL_TEXTURE_2D);
-
 #if GST_GL_HAVE_OPENGL
   if (USING_OPENGL (context)) {
     gl->ActiveTexture (GL_TEXTURE1);
-    gl->Enable (GL_TEXTURE_1D);
     gl->BindTexture (GL_TEXTURE_1D, effects->curve[curve_index]);
 
     gst_gl_shader_set_uniform_1i (shader, "curve", 1);
-
-    gl->Disable (GL_TEXTURE_1D);
   }
 #endif
   if (USING_GLES2 (context) || USING_OPENGL3 (context)) {
     gl->ActiveTexture (GL_TEXTURE1);
-    gl->Enable (GL_TEXTURE_2D);
     gl->BindTexture (GL_TEXTURE_2D, effects->curve[curve_index]);
 
     gst_gl_shader_set_uniform_1i (shader, "curve", 1);
-
-    gl->Disable (GL_TEXTURE_2D);
   }
 
   gst_gl_filter_draw_texture (filter, texture, width, height);
diff --git a/ext/gl/effects/gstgleffectsin.c b/ext/gl/effects/gstgleffectsin.c
index a28414d..302b2bb 100644
--- a/ext/gl/effects/gstgleffectsin.c
+++ b/ext/gl/effects/gstgleffectsin.c
@@ -49,7 +49,6 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 0);
diff --git a/ext/gl/effects/gstgleffectsobel.c b/ext/gl/effects/gstgleffectsobel.c
index fcb7847..a18dbd3 100644
--- a/ext/gl/effects/gstgleffectsobel.c
+++ b/ext/gl/effects/gstgleffectsobel.c
@@ -48,9 +48,7 @@
     gst_gl_shader_use (shader);
 
     gl->ActiveTexture (GL_TEXTURE0);
-    gl->Enable (GL_TEXTURE_2D);
     gl->BindTexture (GL_TEXTURE_2D, texture);
-    gl->Disable (GL_TEXTURE_2D);
 
     gst_gl_shader_set_uniform_1i (shader, "tex", 0);
 
@@ -81,9 +79,7 @@
     gst_gl_shader_use (shader);
 
     gl->ActiveTexture (GL_TEXTURE0);
-    gl->Enable (GL_TEXTURE_2D);
     gl->BindTexture (GL_TEXTURE_2D, texture);
-    gl->Disable (GL_TEXTURE_2D);
 
     gst_gl_shader_set_uniform_1i (shader, "tex", 0);
     gst_gl_shader_set_uniform_1f (shader, "width", width);
@@ -115,9 +111,7 @@
     gst_gl_shader_use (shader);
 
     gl->ActiveTexture (GL_TEXTURE0);
-    gl->Enable (GL_TEXTURE_2D);
     gl->BindTexture (GL_TEXTURE_2D, texture);
-    gl->Disable (GL_TEXTURE_2D);
 
     gst_gl_shader_set_uniform_1i (shader, "tex", 0);
     gst_gl_shader_set_uniform_1f (shader, "height", height);
@@ -149,9 +143,7 @@
     gst_gl_shader_use (shader);
 
     gl->ActiveTexture (GL_TEXTURE0);
-    gl->Enable (GL_TEXTURE_2D);
     gl->BindTexture (GL_TEXTURE_2D, texture);
-    gl->Disable (GL_TEXTURE_2D);
 
     gst_gl_shader_set_uniform_1i (shader, "tex", 0);
     gst_gl_shader_set_uniform_1i (shader, "invert", effects->invert);
diff --git a/ext/gl/effects/gstgleffectsquare.c b/ext/gl/effects/gstgleffectsquare.c
index 40dd313..1dc09a2 100644
--- a/ext/gl/effects/gstgleffectsquare.c
+++ b/ext/gl/effects/gstgleffectsquare.c
@@ -49,7 +49,6 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 0);
diff --git a/ext/gl/effects/gstgleffectsqueeze.c b/ext/gl/effects/gstgleffectsqueeze.c
index 7ba5e52..249deff 100644
--- a/ext/gl/effects/gstgleffectsqueeze.c
+++ b/ext/gl/effects/gstgleffectsqueeze.c
@@ -49,7 +49,6 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 0);
diff --git a/ext/gl/effects/gstgleffectssources.c b/ext/gl/effects/gstgleffectssources.c
index 0060ff0..b783ced 100644
--- a/ext/gl/effects/gstgleffectssources.c
+++ b/ext/gl/effects/gstgleffectssources.c
@@ -843,6 +843,7 @@
   "uniform sampler2D tex;"
   "uniform float kernel[9];"
   "uniform float width, height;"
+  "uniform bool invert;"
   "void main () {"
   "  float w = 1.0 / width;"
   "  float h = 1.0 / height;"
diff --git a/ext/gl/effects/gstgleffectstretch.c b/ext/gl/effects/gstgleffectstretch.c
index 0c645f9..8c39636 100644
--- a/ext/gl/effects/gstgleffectstretch.c
+++ b/ext/gl/effects/gstgleffectstretch.c
@@ -48,7 +48,6 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 0);
diff --git a/ext/gl/effects/gstgleffecttunnel.c b/ext/gl/effects/gstgleffecttunnel.c
index 3bacdae..e4c879f 100644
--- a/ext/gl/effects/gstgleffecttunnel.c
+++ b/ext/gl/effects/gstgleffecttunnel.c
@@ -49,7 +49,6 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 0);
diff --git a/ext/gl/effects/gstgleffecttwirl.c b/ext/gl/effects/gstgleffecttwirl.c
index 2061c87..96dceea 100644
--- a/ext/gl/effects/gstgleffecttwirl.c
+++ b/ext/gl/effects/gstgleffecttwirl.c
@@ -49,7 +49,6 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 0);
diff --git a/ext/gl/effects/gstgleffectxray.c b/ext/gl/effects/gstgleffectxray.c
index 5f104df..b25ecc1 100644
--- a/ext/gl/effects/gstgleffectxray.c
+++ b/ext/gl/effects/gstgleffectxray.c
@@ -68,9 +68,7 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 1);
   gst_gl_shader_set_uniform_1fv (shader, "kernel", 9, gauss_kernel);
@@ -105,9 +103,7 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 1);
   gst_gl_shader_set_uniform_1fv (shader, "kernel", 9, gauss_kernel);
@@ -143,9 +139,7 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 1);
   gst_gl_filter_draw_texture (filter, texture, width, height);
@@ -178,9 +172,7 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 1);
   gst_gl_shader_set_uniform_1f (shader, "width", width);
@@ -215,9 +207,7 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 1);
   gst_gl_shader_set_uniform_1f (shader, "height", height);
@@ -252,9 +242,7 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 1);
   gst_gl_shader_set_uniform_1i (shader, "invert", TRUE);
@@ -289,16 +277,12 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE2);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, effects->midtexture[2]);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (shader, "base", 2);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1f (shader, "alpha", (gfloat) 0.5f);
   gst_gl_shader_set_uniform_1i (shader, "blend", 1);
diff --git a/ext/gl/gltestsrc.c b/ext/gl/gltestsrc.c
index d5e75aa..c4a2765 100644
--- a/ext/gl/gltestsrc.c
+++ b/ext/gl/gltestsrc.c
@@ -92,7 +92,6 @@
     glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
     glDisable (GL_CULL_FACE);
-    glDisable (GL_TEXTURE_2D);
 
     glMatrixMode (GL_PROJECTION);
     glLoadIdentity ();
@@ -229,7 +228,6 @@
 
     gst_gl_context_clear_shader (v->context);
     gl->BindTexture (GL_TEXTURE_2D, 0);
-    gl->Disable (GL_TEXTURE_2D);
 
     gst_gl_shader_use (v->shader);
 
@@ -322,7 +320,6 @@
 
     gst_gl_context_clear_shader (v->context);
     gl->BindTexture (GL_TEXTURE_2D, 0);
-    gl->Disable (GL_TEXTURE_2D);
 
     gst_gl_shader_use (v->shader);
 
diff --git a/ext/gl/gstglbasemixer.c b/ext/gl/gstglbasemixer.c
index 0e670e0..d462c16 100644
--- a/ext/gl/gstglbasemixer.c
+++ b/ext/gl/gstglbasemixer.c
@@ -477,8 +477,10 @@
       if (!mix->context) {
         mix->context = gst_gl_context_new (mix->display);
         if (!gst_gl_context_create (mix->context, mix->priv->other_context,
-                &error))
+                &error)) {
+          GST_OBJECT_UNLOCK (mix->display);
           goto context_error;
+        }
       }
     } while (!gst_gl_display_add_context (mix->display, mix->context));
     GST_OBJECT_UNLOCK (mix->display);
diff --git a/ext/gl/gstgldeinterlace.c b/ext/gl/gstgldeinterlace.c
index ce66666..2d48749 100644
--- a/ext/gl/gstgldeinterlace.c
+++ b/ext/gl/gstgldeinterlace.c
@@ -290,8 +290,6 @@
 
   gst_gl_shader_use (deinterlace_filter->shader);
 
-  gl->Enable (GL_TEXTURE_2D);
-
   if (G_UNLIKELY (deinterlace_filter->prev_tex == 0)) {
     gst_gl_context_gen_texture (GST_GL_BASE_FILTER (filter)->context,
         &deinterlace_filter->prev_tex,
@@ -306,7 +304,6 @@
 
   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);
@@ -340,8 +337,6 @@
   gl->ClientActiveTexture (GL_TEXTURE0);
   gl->DisableClientState (GL_TEXTURE_COORD_ARRAY);
 
-  gl->Disable (GL_TEXTURE_2D);
-
   if (texture == filter->in_tex_id) {
     temp = filter->in_tex_id;
     filter->in_tex_id = deinterlace_filter->prev_tex;
diff --git a/ext/gl/gstgldifferencematte.c b/ext/gl/gstgldifferencematte.c
index 4f0a8f6..fe9e246 100644
--- a/ext/gl/gstgldifferencematte.c
+++ b/ext/gl/gstgldifferencematte.c
@@ -303,16 +303,12 @@
   gst_gl_shader_use (differencematte->shader[0]);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (differencematte->shader[0], "current", 0);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, differencematte->savedbgtexture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (differencematte->shader[0], "saved", 1);
 
@@ -333,9 +329,7 @@
   gst_gl_shader_use (differencematte->shader[1]);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (differencematte->shader[1], "tex", 0);
 
@@ -360,9 +354,7 @@
   gst_gl_shader_use (differencematte->shader[2]);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (differencematte->shader[2], "tex", 0);
 
@@ -387,23 +379,17 @@
   gst_gl_shader_use (differencematte->shader[3]);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (differencematte->shader[3], "blend", 0);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, differencematte->newbgtexture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (differencematte->shader[3], "base", 1);
 
   gl->ActiveTexture (GL_TEXTURE2);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, differencematte->midtexture[2]);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (differencematte->shader[3], "alpha", 2);
 
diff --git a/ext/gl/gstgleffects.c b/ext/gl/gstgleffects.c
index 02878d2..1ade04f 100644
--- a/ext/gl/gstgleffects.c
+++ b/ext/gl/gstgleffects.c
@@ -273,7 +273,9 @@
 gst_gl_effects_init_gl_resources (GstGLFilter * filter)
 {
   GstGLEffects *effects = GST_GL_EFFECTS (filter);
-  GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
+  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
+  GstGLFuncs *gl = context->gl_vtable;
+  guint internal_format;
   gint i = 0;
 
   for (i = 0; i < NEEDED_TEXTURES; i++) {
@@ -285,10 +287,13 @@
 
     gl->GenTextures (1, &effects->midtexture[i]);
     gl->BindTexture (GL_TEXTURE_2D, effects->midtexture[i]);
-    gl->TexImage2D (GL_TEXTURE_2D, 0, GL_RGBA8,
+    internal_format =
+        gst_gl_sized_gl_format_from_gl_format_type (context, GL_RGBA,
+        GL_UNSIGNED_BYTE);
+    gl->TexImage2D (GL_TEXTURE_2D, 0, internal_format,
         GST_VIDEO_INFO_WIDTH (&filter->out_info),
-        GST_VIDEO_INFO_HEIGHT (&filter->out_info),
-        0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
+        GST_VIDEO_INFO_HEIGHT (&filter->out_info), 0, GL_RGBA, GL_UNSIGNED_BYTE,
+        NULL);
     gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
     gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
     gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
@@ -534,17 +539,15 @@
     const gchar * shader_name, const gchar * shader_source_gles2,
     const gchar * shader_source_opengl)
 {
-  GstGLShader *shader;
+  GstGLShader *shader = NULL;
   GstGLFilter *filter = GST_GL_FILTER (effects);
   GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
 
   shader = g_hash_table_lookup (effects->shaderstable, shader_name);
 
   if (!shader) {
-    shader = gst_gl_shader_new (context);
-    g_hash_table_insert (effects->shaderstable, (gchar *) shader_name, shader);
-
-    if (USING_GLES2 (context) || USING_OPENGL3 (context)) {
+    if (!shader && (USING_GLES2 (context) || USING_OPENGL3 (context))) {
+      shader = gst_gl_shader_new (context);
       if (!gst_gl_shader_compile_with_default_v_and_check (shader,
               shader_source_gles2, &filter->draw_attr_position_loc,
               &filter->draw_attr_texture_loc)) {
@@ -552,19 +555,29 @@
         GST_ELEMENT_ERROR (effects, RESOURCE, NOT_FOUND,
             ("Failed to initialize %s shader, %s",
                 shader_name, gst_gl_context_get_error ()), (NULL));
-        return NULL;
+        gst_object_unref (shader);
+        shader = NULL;
       }
     }
 #if GST_GL_HAVE_OPENGL
-    if (!gst_gl_shader_compile_and_check (shader,
-            shader_source_opengl, GST_GL_SHADER_FRAGMENT_SOURCE)) {
-      gst_gl_context_set_error (context, "Failed to initialize %s shader",
-          shader_name);
-      GST_ELEMENT_ERROR (effects, RESOURCE, NOT_FOUND, ("%s",
-              gst_gl_context_get_error ()), (NULL));
-      return NULL;
+    if (!shader && USING_OPENGL (context)) {
+      shader = gst_gl_shader_new (context);
+      if (!gst_gl_shader_compile_and_check (shader,
+              shader_source_opengl, GST_GL_SHADER_FRAGMENT_SOURCE)) {
+        gst_gl_context_set_error (context, "Failed to initialize %s shader",
+            shader_name);
+        GST_ELEMENT_ERROR (effects, RESOURCE, NOT_FOUND, ("%s",
+                gst_gl_context_get_error ()), (NULL));
+        gst_object_unref (shader);
+        shader = NULL;
+      }
     }
 #endif
+
+    if (!shader)
+      return NULL;
+
+    g_hash_table_insert (effects->shaderstable, (gchar *) shader_name, shader);
   }
 
   return shader;
@@ -595,23 +608,24 @@
 {
   static GstGLEffectsFilterDescriptor *descriptors = NULL;
   if (!descriptors) {
+    const GEnumValue *e;
     const GEnumValue *effect = gst_gl_effects_get_effects ();
-    guint n_filters = 0;
-    for (const GEnumValue * e = effect; NULL != e->value_nick; ++e, ++n_filters) {
+    const GstGLEffectsFilterDescriptor *defined;
+    guint n_filters = 0, i;
+
+    for (e = effect; NULL != e->value_nick; ++e, ++n_filters) {
     }
 
     descriptors = g_new0 (GstGLEffectsFilterDescriptor, n_filters + 1);
-    for (guint i = 0; i < n_filters; ++i, ++effect) {
+    for (i = 0; i < n_filters; ++i, ++effect) {
       descriptors[i].effect = effect->value;
       descriptors[i].filter_name = effect->value_nick;
     }
 
-    for (const GstGLEffectsFilterDescriptor * defined =
-        gst_gl_effects_filters_supported_properties ();
+    for (defined = gst_gl_effects_filters_supported_properties ();
         0 != defined->supported_properties; ++defined) {
 
-      guint i = 0;
-      for (; i < n_filters; ++i) {
+      for (i = 0; i < n_filters; ++i) {
         if (descriptors[i].effect == defined->effect) {
           descriptors[i].supported_properties = defined->supported_properties;
           break;
@@ -648,9 +662,9 @@
         &info, 0);
 
     if (gst_element_register (plugin, "gleffects", rank, generic_type)) {
-      for (const GstGLEffectsFilterDescriptor * filters =
-          gst_gl_effects_filters_descriptors (); NULL != filters->filter_name;
-          ++filters) {
+      const GstGLEffectsFilterDescriptor *filters;
+      for (filters = gst_gl_effects_filters_descriptors ();
+          NULL != filters->filter_name; ++filters) {
         gchar *name = g_strdup_printf ("gleffects_%s", filters->filter_name);
         GTypeInfo info = {
           sizeof (GstGLEffectsClass),
diff --git a/ext/gl/gstglfilterbin.c b/ext/gl/gstglfilterbin.c
index a8e703e..1dd4335 100644
--- a/ext/gl/gstglfilterbin.c
+++ b/ext/gl/gstglfilterbin.c
@@ -251,7 +251,7 @@
               &self->filter);
 
         if (!self->filter) {
-          GST_ERROR_OBJECT (element, "Failed to retreive element");
+          GST_ERROR_OBJECT (element, "Failed to retrieve element");
           return GST_STATE_CHANGE_FAILURE;
         }
         if (!_connect_filter_element (self))
diff --git a/ext/gl/gstglfiltercube.c b/ext/gl/gstglfiltercube.c
index ad529b3..d389310 100644
--- a/ext/gl/gstglfiltercube.c
+++ b/ext/gl/gstglfiltercube.c
@@ -293,6 +293,11 @@
     cube_filter->vertex_buffer = 0;
   }
 
+  if (cube_filter->vbo_indices) {
+    gl->DeleteBuffers (1, &cube_filter->vbo_indices);
+    cube_filter->vbo_indices = 0;
+  }
+
   if (cube_filter->shader) {
     gst_gl_context_del_shader (GST_GL_BASE_FILTER (filter)->context,
         cube_filter->shader);
@@ -380,6 +385,21 @@
     -1.0,  1.0, -1.0, 0.0, 1.0,
     -1.0,  1.0,  1.0, 0.0, 0.0
 };
+
+static const GLushort indices[] = {
+    0, 1, 2,
+    0, 2, 3,
+    4, 5, 6,
+    4, 6, 7,
+    8, 9, 10,
+    8, 10, 11,
+    12, 13, 14,
+    12, 14, 15,
+    16, 17, 18,
+    16, 18, 19,
+    20, 21, 22,
+    20, 22, 23
+};
 /* *INDENT-ON* */
 
 static void
@@ -387,6 +407,7 @@
 {
   const GstGLFuncs *gl = GST_GL_BASE_FILTER (cube_filter)->context->gl_vtable;
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, cube_filter->vbo_indices);
   gl->BindBuffer (GL_ARRAY_BUFFER, cube_filter->vertex_buffer);
 
   cube_filter->attr_position =
@@ -412,6 +433,7 @@
 {
   const GstGLFuncs *gl = GST_GL_BASE_FILTER (cube_filter)->context->gl_vtable;
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
   gl->BindBuffer (GL_ARRAY_BUFFER, 0);
 
   gl->DisableVertexAttribArray (cube_filter->attr_position);
@@ -429,21 +451,6 @@
   static GLfloat yrot = 0;
   static GLfloat zrot = 0;
 
-  GLushort indices[] = {
-    0, 1, 2,
-    0, 2, 3,
-    4, 5, 6,
-    4, 6, 7,
-    8, 9, 10,
-    8, 10, 11,
-    12, 13, 14,
-    12, 14, 15,
-    16, 17, 18,
-    16, 18, 19,
-    20, 21, 22,
-    20, 22, 23
-  };
-
   const GLfloat matrix[] = {
     0.5f, 0.0f, 0.0f, 0.0f,
     0.0f, 0.5f, 0.0f, 0.0f,
@@ -478,10 +485,18 @@
     gl->BufferData (GL_ARRAY_BUFFER, 6 * 4 * 5 * sizeof (GLfloat), vertices,
         GL_STATIC_DRAW);
 
+    gl->GenBuffers (1, &cube_filter->vbo_indices);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, cube_filter->vbo_indices);
+    gl->BufferData (GL_ELEMENT_ARRAY_BUFFER, sizeof (indices), indices,
+        GL_STATIC_DRAW);
+
     if (gl->GenVertexArrays) {
       _bind_buffer (cube_filter);
-      gl->BindBuffer (GL_ARRAY_BUFFER, 0);
+      gl->BindVertexArray (0);
     }
+
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
+    gl->BindBuffer (GL_ARRAY_BUFFER, 0);
   }
 
   if (gl->GenVertexArrays)
@@ -489,7 +504,7 @@
   else
     _bind_buffer (cube_filter);
 
-  gl->DrawElements (GL_TRIANGLES, 36, GL_UNSIGNED_SHORT, indices);
+  gl->DrawElements (GL_TRIANGLES, 36, GL_UNSIGNED_SHORT, 0);
 
   if (gl->GenVertexArrays)
     gl->BindVertexArray (0);
diff --git a/ext/gl/gstglfiltercube.h b/ext/gl/gstglfiltercube.h
index 6850f00..88b51a6 100644
--- a/ext/gl/gstglfiltercube.h
+++ b/ext/gl/gstglfiltercube.h
@@ -54,6 +54,7 @@
 
     guint              in_tex;
     GLuint             vao;
+    GLuint             vbo_indices;
     GLuint             vertex_buffer;
     GLint              attr_position;
     GLint              attr_texture;
diff --git a/ext/gl/gstglfilterglass.c b/ext/gl/gstglfilterglass.c
index 0709954..863793c 100644
--- a/ext/gl/gstglfilterglass.c
+++ b/ext/gl/gstglfilterglass.c
@@ -329,9 +329,7 @@
   };
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->Enable (GL_TEXTURE_2D);
   gl->BindTexture (GL_TEXTURE_2D, texture);
-  gl->Disable (GL_TEXTURE_2D);
 
   gst_gl_shader_set_uniform_1i (glass_filter->shader, "tex", 0);
   gst_gl_shader_set_uniform_1f (glass_filter->shader, "yrot", rotation);
@@ -408,6 +406,5 @@
 
   gst_gl_context_clear_shader (GST_GL_BASE_FILTER (filter)->context);
 
-  gl->Disable (GL_TEXTURE_2D);
   gl->Disable (GL_BLEND);
 }
diff --git a/ext/gl/gstglfiltershader.c b/ext/gl/gstglfiltershader.c
index 0b96ebb..e201f74 100644
--- a/ext/gl/gstglfiltershader.c
+++ b/ext/gl/gstglfiltershader.c
@@ -93,10 +93,16 @@
 static void
 gst_gl_filtershader_init_resources (GstGLFilter * filter)
 {
-  glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA8,
+  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
+  guint internal_format;
+
+  internal_format =
+      gst_gl_sized_gl_format_from_gl_format_type (context, GL_RGBA,
+      GL_UNSIGNED_BYTE);
+  glTexImage2D (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);
+      GST_VIDEO_INFO_HEIGHT (&filter->out_info), 0, GL_RGBA, GL_UNSIGNED_BYTE,
+      NULL);
   glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
   glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
   glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
diff --git a/ext/gl/gstglimagesink.c b/ext/gl/gstglimagesink.c
index 15aebe2..30ff74f 100644
--- a/ext/gl/gstglimagesink.c
+++ b/ext/gl/gstglimagesink.c
@@ -92,6 +92,7 @@
 
 #include "gstglimagesink.h"
 #include "gstglsinkbin.h"
+#include <gst/gl/gpuprocess/gstglcontext_gpu_process.h>
 
 #if GST_GL_HAVE_PLATFORM_EGL
 #include <gst/gl/egl/gsteglimagememory.h>
@@ -113,6 +114,7 @@
 #define DEFAULT_MAX_BITRATE         0
 #define DEFAULT_HANDLE_EVENTS       TRUE
 #define DEFAULT_FORCE_ASPECT_RATIO  TRUE
+#define DEFAULT_IGNORE_ALPHA        TRUE
 
 typedef GstGLSinkBin GstGLImageSinkBin;
 typedef GstGLSinkBinClass GstGLImageSinkBinClass;
@@ -221,7 +223,7 @@
   g_object_class_install_property (gobject_class, PROP_BIN_HANDLE_EVENTS,
       g_param_spec_boolean ("ignore-alpha", "Ignore Alpha",
           "When enabled, alpha will be ignored and converted to black",
-          DEFAULT_HANDLE_EVENTS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+          DEFAULT_IGNORE_ALPHA, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
   g_object_class_install_property (gobject_class, PROP_BIN_CONTEXT,
       g_param_spec_object ("context", "OpenGL context", "Get OpenGL context",
           GST_GL_TYPE_CONTEXT, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
@@ -349,9 +351,9 @@
 static void gst_glimage_sink_set_window_handle (GstVideoOverlay * overlay,
     guintptr id);
 static void gst_glimage_sink_expose (GstVideoOverlay * overlay);
-
-static void
-gst_glimage_sink_handle_events (GstVideoOverlay * overlay,
+static void gst_glimage_sink_set_render_rectangle (GstVideoOverlay * overlay,
+    gint x, gint y, gint width, gint height);
+static void gst_glimage_sink_handle_events (GstVideoOverlay * overlay,
     gboolean handle_events);
 
 static GstStaticPadTemplate gst_glimage_sink_template =
@@ -463,10 +465,6 @@
   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, ARG_DISPLAY,
-      g_param_spec_string ("display", "Display", "Display name",
-          NULL, 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",
@@ -484,13 +482,13 @@
 
   g_object_class_install_property (gobject_class, PROP_HANDLE_EVENTS,
       g_param_spec_boolean ("handle-events", "Handle XEvents",
-          "When enabled, XEvents will be selected and handled", TRUE,
-          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+          "When enabled, XEvents will be selected and handled",
+          DEFAULT_HANDLE_EVENTS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   g_object_class_install_property (gobject_class, PROP_IGNORE_ALPHA,
       g_param_spec_boolean ("ignore-alpha", "Ignore Alpha",
-          "When enabled, alpha will be ignored and converted to black", TRUE,
-          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+          "When enabled, alpha will be ignored and converted to black",
+          DEFAULT_IGNORE_ALPHA, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   gst_element_class_set_metadata (element_class, "OpenGL video sink",
       "Sink/Video", "A videosink based on OpenGL",
@@ -553,7 +551,6 @@
 static void
 gst_glimage_sink_init (GstGLImageSink * glimage_sink)
 {
-  glimage_sink->display_name = NULL;
   glimage_sink->window_id = 0;
   glimage_sink->new_window_id = 0;
   glimage_sink->display = NULL;
@@ -580,12 +577,6 @@
   glimage_sink = GST_GLIMAGE_SINK (object);
 
   switch (prop_id) {
-    case ARG_DISPLAY:
-    {
-      g_free (glimage_sink->display_name);
-      glimage_sink->display_name = g_strdup (g_value_get_string (value));
-      break;
-    }
     case PROP_FORCE_ASPECT_RATIO:
     {
       glimage_sink->keep_aspect_ratio = g_value_get_boolean (value);
@@ -621,8 +612,6 @@
 
   g_mutex_clear (&glimage_sink->drawing_lock);
 
-  g_free (glimage_sink->display_name);
-
   GST_DEBUG ("finalized");
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
@@ -638,9 +627,6 @@
   glimage_sink = GST_GLIMAGE_SINK (object);
 
   switch (prop_id) {
-    case ARG_DISPLAY:
-      g_value_set_string (value, glimage_sink->display_name);
-      break;
     case PROP_FORCE_ASPECT_RATIO:
       g_value_set_boolean (value, glimage_sink->keep_aspect_ratio);
       break;
@@ -690,6 +676,19 @@
   GST_DEBUG_OBJECT (gl_sink, "Ensuring setup");
 
   if (!gl_sink->context) {
+    if (GST_GL_IS_CONTEXT_GPU_PROCESS (gl_sink->other_context)) {
+      GstGLWindow *window = gst_gl_context_get_window (gl_sink->other_context);
+      gst_gl_window_set_draw_callback (window,
+          GST_GL_WINDOW_CB (gst_glimage_sink_on_draw),
+          gst_object_ref (gl_sink), (GDestroyNotify) gst_object_unref);
+      gst_object_unref (window);
+
+      gl_sink->context = gl_sink->other_context;
+      gl_sink->other_context = NULL;
+
+      return TRUE;
+    }
+
     GST_OBJECT_LOCK (gl_sink->display);
     do {
       GstGLContext *other_context;
@@ -703,8 +702,10 @@
           gl_sink->display);
 
       gl_sink->context = gst_gl_context_new (gl_sink->display);
-      if (!gl_sink->context)
+      if (!gl_sink->context) {
+        GST_OBJECT_UNLOCK (gl_sink->display);
         goto context_creation_error;
+      }
 
       window = gst_gl_context_get_window (gl_sink->context);
 
@@ -738,6 +739,7 @@
         if (other_context)
           gst_object_unref (other_context);
         gst_object_unref (window);
+        GST_OBJECT_UNLOCK (gl_sink->display);
         goto context_error;
       }
 
@@ -759,6 +761,12 @@
           g_signal_connect (window, "mouse-event",
           G_CALLBACK (gst_glimage_sink_mouse_event_cb), gl_sink);
 
+      if (gl_sink->x >= 0 && gl_sink->y >= 0 && gl_sink->width > 0 &&
+          gl_sink->height > 0) {
+        gst_gl_window_set_render_rectangle (window, gl_sink->x, gl_sink->y,
+            gl_sink->width, gl_sink->height);
+      }
+
       if (other_context)
         gst_object_unref (other_context);
       gst_object_unref (window);
@@ -844,6 +852,7 @@
         gst_buffer_unref (buf);
 
       gst_buffer_replace (&glimage_sink->next_buffer, NULL);
+      gst_buffer_replace (&glimage_sink->next_sync, NULL);
 
       res = GST_BASE_SINK_CLASS (parent_class)->query (bsink, query);
       break;
@@ -913,13 +922,18 @@
        * to avoid drawing
        */
       GST_GLIMAGE_SINK_LOCK (glimage_sink);
+      if (glimage_sink->stored_sync)
+        gst_buffer_unref (glimage_sink->stored_sync);
+      glimage_sink->stored_sync = NULL;
+
       glimage_sink->redisplay_texture = 0;
       if (glimage_sink->stored_buffer) {
         gst_buffer_unref (glimage_sink->stored_buffer);
         glimage_sink->stored_buffer = NULL;
       }
-      GST_GLIMAGE_SINK_UNLOCK (glimage_sink);
       gst_buffer_replace (&glimage_sink->next_buffer, NULL);
+      gst_buffer_replace (&glimage_sink->next_sync, NULL);
+      GST_GLIMAGE_SINK_UNLOCK (glimage_sink);
 
       glimage_sink->window_id = 0;
       /* but do not reset glimage_sink->new_window_id */
@@ -1107,6 +1121,8 @@
 {
   GstGLImageSink *glimage_sink;
   GstVideoFrame gl_frame;
+  GstBuffer *next_sync, *old_sync, *old_buffer;
+  GstGLSyncMeta *sync_meta;
 
   glimage_sink = GST_GLIMAGE_SINK (bsink);
 
@@ -1125,9 +1141,24 @@
     goto upload_failed;
   }
 
+  next_sync = gst_buffer_new ();
+  sync_meta = gst_buffer_add_gl_sync_meta (glimage_sink->context, next_sync);
+  gst_gl_sync_meta_set_sync_point (sync_meta, glimage_sink->context);
+
+  GST_GLIMAGE_SINK_LOCK (glimage_sink);
   glimage_sink->next_tex = *(guint *) gl_frame.data[0];
 
-  gst_buffer_replace (&glimage_sink->next_buffer, buf);
+  old_buffer = glimage_sink->next_buffer;
+  glimage_sink->next_buffer = gst_buffer_ref (buf);
+
+  old_sync = glimage_sink->next_sync;
+  glimage_sink->next_sync = next_sync;
+  GST_GLIMAGE_SINK_UNLOCK (glimage_sink);
+
+  if (old_buffer)
+    gst_buffer_unref (old_buffer);
+  if (old_sync)
+    gst_buffer_unref (old_sync);
 
   gst_video_frame_unmap (&gl_frame);
 
@@ -1154,7 +1185,7 @@
 gst_glimage_sink_show_frame (GstVideoSink * vsink, GstBuffer * buf)
 {
   GstGLImageSink *glimage_sink;
-  GstBuffer *stored_buffer;
+  GstBuffer *stored_buffer, *old_sync;
 
   GST_TRACE ("rendering buffer:%p", buf);
 
@@ -1171,6 +1202,10 @@
   glimage_sink->redisplay_texture = glimage_sink->next_tex;
   stored_buffer = glimage_sink->stored_buffer;
   glimage_sink->stored_buffer = gst_buffer_ref (glimage_sink->next_buffer);
+
+  old_sync = glimage_sink->stored_sync;
+  glimage_sink->stored_sync = gst_buffer_ref (glimage_sink->next_sync);
+
   GST_GLIMAGE_SINK_UNLOCK (glimage_sink);
 
   /* Ask the underlying window to redraw its content */
@@ -1181,6 +1216,8 @@
 
   if (stored_buffer)
     gst_buffer_unref (stored_buffer);
+  if (old_sync)
+    gst_buffer_unref (old_sync);
 
   if (g_atomic_int_get (&glimage_sink->to_quit) != 0) {
     GST_ELEMENT_ERROR (glimage_sink, RESOURCE, NOT_FOUND,
@@ -1203,6 +1240,7 @@
 gst_glimage_sink_video_overlay_init (GstVideoOverlayInterface * iface)
 {
   iface->set_window_handle = gst_glimage_sink_set_window_handle;
+  iface->set_render_rectangle = gst_glimage_sink_set_render_rectangle;
   iface->handle_events = gst_glimage_sink_handle_events;
   iface->expose = gst_glimage_sink_expose;
 }
@@ -1257,6 +1295,25 @@
   }
 }
 
+static void
+gst_glimage_sink_set_render_rectangle (GstVideoOverlay * overlay,
+    gint x, gint y, gint width, gint height)
+{
+  GstGLImageSink *glimage_sink = GST_GLIMAGE_SINK (overlay);
+
+  if (G_LIKELY (glimage_sink->context)) {
+    GstGLWindow *window;
+    window = gst_gl_context_get_window (glimage_sink->context);
+    gst_gl_window_set_render_rectangle (window, x, y, width, height);
+    gst_object_unref (window);
+  }
+
+  glimage_sink->x = x;
+  glimage_sink->y = y;
+  glimage_sink->width = width;
+  glimage_sink->height = height;
+}
+
 static gboolean
 gst_glimage_sink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
 {
@@ -1345,6 +1402,8 @@
     -1.0f, -1.0f, 0.0f, 0.0f, 1.0f,
      1.0f, -1.0f, 0.0f, 1.0f, 1.0f
 };
+
+static const GLushort indices[] = { 0, 1, 2, 0, 2, 3 };
 /* *INDENT-ON* */
 
 static void
@@ -1352,9 +1411,8 @@
 {
   const GstGLFuncs *gl = gl_sink->context->gl_vtable;
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, gl_sink->vbo_indices);
   gl->BindBuffer (GL_ARRAY_BUFFER, gl_sink->vertex_buffer);
-  gl->BufferData (GL_ARRAY_BUFFER, 4 * 5 * sizeof (GLfloat), vertices,
-      GL_STATIC_DRAW);
 
   /* Load the vertex position */
   gl->VertexAttribPointer (gl_sink->attr_position, 3, GL_FLOAT, GL_FALSE,
@@ -1373,6 +1431,7 @@
 {
   const GstGLFuncs *gl = gl_sink->context->gl_vtable;
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
   gl->BindBuffer (GL_ARRAY_BUFFER, 0);
 
   gl->DisableVertexAttribArray (gl_sink->attr_position);
@@ -1397,15 +1456,27 @@
     gl->BindVertexArray (gl_sink->vao);
   }
 
-  gl->GenBuffers (1, &gl_sink->vertex_buffer);
-  _bind_buffer (gl_sink);
+  if (!gl_sink->vertex_buffer) {
+    gl->GenBuffers (1, &gl_sink->vertex_buffer);
+    gl->BindBuffer (GL_ARRAY_BUFFER, gl_sink->vertex_buffer);
+    gl->BufferData (GL_ARRAY_BUFFER, 4 * 5 * sizeof (GLfloat), vertices,
+        GL_STATIC_DRAW);
+  }
+
+  if (!gl_sink->vbo_indices) {
+    gl->GenBuffers (1, &gl_sink->vbo_indices);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, gl_sink->vbo_indices);
+    gl->BufferData (GL_ELEMENT_ARRAY_BUFFER, sizeof (indices), indices,
+        GL_STATIC_DRAW);
+  }
 
   if (gl->GenVertexArrays) {
+    _bind_buffer (gl_sink);
     gl->BindVertexArray (0);
-    gl->BindBuffer (GL_ARRAY_BUFFER, 0);
-  } else {
-    _unbind_buffer (gl_sink);
   }
+
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
+  gl->BindBuffer (GL_ARRAY_BUFFER, 0);
 }
 
 static void
@@ -1422,6 +1493,16 @@
     gl->DeleteVertexArrays (1, &gl_sink->vao);
     gl_sink->vao = 0;
   }
+
+  if (gl_sink->vertex_buffer) {
+    gl->DeleteBuffers (1, &gl_sink->vertex_buffer);
+    gl_sink->vertex_buffer = 0;
+  }
+
+  if (gl_sink->vbo_indices) {
+    gl->DeleteBuffers (1, &gl_sink->vbo_indices);
+    gl_sink->vbo_indices = 0;
+  }
 }
 
 static void
@@ -1510,20 +1591,18 @@
     gl_sink->caps_change = FALSE;
   }
 
-  sync_meta = gst_buffer_get_gl_sync_meta (gl_sink->stored_buffer);
+  sync_meta = gst_buffer_get_gl_sync_meta (gl_sink->stored_sync);
   if (sync_meta)
-    gst_gl_sync_meta_wait (sync_meta, gl_sink->context);
+    gst_gl_sync_meta_wait (sync_meta, gst_gl_context_get_current ());
 
   /* make sure that the environnement is clean */
   gst_gl_context_clear_shader (gl_sink->context);
-
+  gl->BindTexture (GL_TEXTURE_2D, 0);
 #if GST_GL_HAVE_OPENGL
   if (USING_OPENGL (gl_sink->context))
     gl->Disable (GL_TEXTURE_2D);
 #endif
 
-  gl->BindTexture (GL_TEXTURE_2D, 0);
-
   sample = gst_sample_new (gl_sink->stored_buffer,
       gl_sink->caps, &GST_BASE_SINK (gl_sink)->segment, NULL);
 
@@ -1534,7 +1613,6 @@
 
   if (!do_redisplay) {
     gfloat alpha = gl_sink->ignore_alpha ? 1.0f : 0.0f;
-    GLushort indices[] = { 0, 1, 2, 0, 2, 3 };
 
     gl->ClearColor (0.0, 0.0, 0.0, alpha);
     gl->Clear (GL_COLOR_BUFFER_BIT);
@@ -1557,7 +1635,7 @@
     gl->BindTexture (GL_TEXTURE_2D, gl_sink->redisplay_texture);
     gst_gl_shader_set_uniform_1i (gl_sink->redisplay_shader, "tex", 0);
 
-    gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices);
+    gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
 
     gst_gl_context_clear_shader (gl_sink->context);
 
diff --git a/ext/gl/gstglimagesink.h b/ext/gl/gstglimagesink.h
index ce93ba7..03e8136 100644
--- a/ext/gl/gstglimagesink.h
+++ b/ext/gl/gstglimagesink.h
@@ -51,14 +51,17 @@
 {
     GstVideoSink video_sink;
 
-    //properties
-    gchar *display_name;
-
     guintptr window_id;
     guintptr new_window_id;
     gulong mouse_sig_id;
     gulong key_sig_id;
 
+    /* GstVideoOverlay::set_render_rectangle() cache */
+    gint x;
+    gint y;
+    gint width;
+    gint height;
+
     //caps
     GstVideoInfo info;
     GstCaps *caps;
@@ -71,6 +74,7 @@
 
     guint      next_tex;
     GstBuffer *next_buffer;
+    GstBuffer *next_sync;
 
     volatile gint to_quit;
     gboolean keep_aspect_ratio;
@@ -81,6 +85,7 @@
     /* avoid replacing the stored_buffer while drawing */
     GMutex drawing_lock;
     GstBuffer *stored_buffer;
+    GstBuffer *stored_sync;
     GLuint redisplay_texture;
 
     gboolean caps_change;
@@ -89,6 +94,7 @@
 
     GstGLShader *redisplay_shader;
     GLuint vao;
+    GLuint vbo_indices;
     GLuint vertex_buffer;
     GLint  attr_position;
     GLint  attr_texture;
diff --git a/ext/gl/gstglmixerbin.c b/ext/gl/gstglmixerbin.c
index ae8abef..d18c2d3 100644
--- a/ext/gl/gstglmixerbin.c
+++ b/ext/gl/gstglmixerbin.c
@@ -483,7 +483,7 @@
               gst_gl_mixer_bin_signals[SIGNAL_CREATE_ELEMENT], 0, &self->mixer);
 
         if (!self->mixer) {
-          GST_ERROR_OBJECT (element, "Failed to retreive element");
+          GST_ERROR_OBJECT (element, "Failed to retrieve element");
           GST_OBJECT_UNLOCK (element);
           return GST_STATE_CHANGE_FAILURE;
         }
diff --git a/ext/gl/gstglmosaic.c b/ext/gl/gstglmosaic.c
index 726674b..0a98341 100644
--- a/ext/gl/gstglmosaic.c
+++ b/ext/gl/gstglmosaic.c
@@ -242,7 +242,6 @@
 
   gst_gl_context_clear_shader (GST_GL_BASE_MIXER (mixer)->context);
   gl->BindTexture (GL_TEXTURE_2D, 0);
-  gl->Disable (GL_TEXTURE_2D);
 
   gl->Enable (GL_DEPTH_TEST);
 
diff --git a/ext/gl/gstgloverlay.c b/ext/gl/gstgloverlay.c
index 916389b..ca07f8b 100644
--- a/ext/gl/gstgloverlay.c
+++ b/ext/gl/gstgloverlay.c
@@ -36,6 +36,7 @@
 #include "config.h"
 #endif
 
+#include <gst/base/gsttypefindhelper.h>
 #include <gst/gl/gstglconfig.h>
 
 #include "gstgloverlay.h"
@@ -73,8 +74,8 @@
 static gboolean gst_gl_overlay_filter_texture (GstGLFilter * filter,
     guint in_tex, guint out_tex);
 
-static gint gst_gl_overlay_load_png (GstGLFilter * filter);
-static gint gst_gl_overlay_load_jpeg (GstGLFilter * filter);
+static gboolean gst_gl_overlay_load_png (GstGLOverlay * overlay, FILE * fp);
+static gboolean gst_gl_overlay_load_jpeg (GstGLOverlay * overlay, FILE * fp);
 
 enum
 {
@@ -158,6 +159,11 @@
     overlay->vbo = 0;
   }
 
+  if (overlay->vbo_indices) {
+    gl->DeleteBuffers (1, &overlay->vbo_indices);
+    overlay->vbo_indices = 0;
+  }
+
   if (overlay->overlay_vao) {
     gl->DeleteVertexArrays (1, &overlay->overlay_vao);
     overlay->overlay_vao = 0;
@@ -369,6 +375,7 @@
 {
   const GstGLFuncs *gl = GST_GL_BASE_FILTER (overlay)->context->gl_vtable;
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
   gl->BindBuffer (GL_ARRAY_BUFFER, 0);
 
   gl->DisableVertexAttribArray (overlay->attr_position);
@@ -380,6 +387,7 @@
 {
   const GstGLFuncs *gl = GST_GL_BASE_FILTER (overlay)->context->gl_vtable;
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, overlay->vbo_indices);
   gl->BindBuffer (GL_ARRAY_BUFFER, vbo);
 
   gl->EnableVertexAttribArray (overlay->attr_position);
@@ -399,6 +407,8 @@
    1.0f,  1.0f, 0.0f, 1.0f, 1.0f,
   -1.0f,  1.0f, 0.0f, 0.0f, 1.0f,
 };
+
+static const GLushort indices[] = { 0, 1, 2, 0, 2, 3, };
 /* *INDENT-ON* */
 
 static void
@@ -411,11 +421,6 @@
   gboolean memory_mapped = FALSE;
   const GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
 
-  GLushort indices[] = {
-    0, 1, 2,
-    0, 2, 3,
-  };
-
 #if GST_GL_HAVE_OPENGL
   if (gst_gl_context_get_gl_api (GST_GL_BASE_FILTER (filter)->context) &
       GST_GL_API_OPENGL) {
@@ -425,10 +430,6 @@
   }
 #endif
 
-  if (gst_gl_context_get_gl_api (GST_GL_BASE_FILTER (filter)->context) &
-      GST_GL_API_OPENGL)
-    gl->Enable (GL_TEXTURE_2D);
-
   gl->ActiveTexture (GL_TEXTURE0);
   gl->BindTexture (GL_TEXTURE_2D, texture);
 
@@ -453,8 +454,18 @@
     gl->BufferData (GL_ARRAY_BUFFER, 4 * 5 * sizeof (GLfloat), v_vertices,
         GL_STATIC_DRAW);
 
-    if (gl->GenVertexArrays)
+    gl->GenBuffers (1, &overlay->vbo_indices);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, overlay->vbo_indices);
+    gl->BufferData (GL_ELEMENT_ARRAY_BUFFER, sizeof (indices), indices,
+        GL_STATIC_DRAW);
+
+    if (gl->GenVertexArrays) {
       _bind_buffer (overlay, overlay->vbo);
+      gl->BindVertexArray (0);
+    }
+
+    gl->BindBuffer (GL_ARRAY_BUFFER, 0);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
   }
 
   if (gl->GenVertexArrays)
@@ -462,7 +473,7 @@
   else
     _bind_buffer (overlay, overlay->vbo);
 
-  gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices);
+  gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
 
   if (!overlay->image_memory)
     goto out;
@@ -482,9 +493,14 @@
 
     gl->GenBuffers (1, &overlay->overlay_vbo);
     gl->BindBuffer (GL_ARRAY_BUFFER, overlay->overlay_vbo);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, overlay->vbo_indices);
     overlay->geometry_change = TRUE;
   }
 
+  if (gl->GenVertexArrays) {
+    gl->BindVertexArray (overlay->overlay_vao);
+  }
+
   if (overlay->geometry_change) {
     gint render_width, render_height;
     gfloat x, y, image_width, image_height;
@@ -524,19 +540,20 @@
         GL_STATIC_DRAW);
   }
 
-  if (gl->GenVertexArrays) {
-    if (overlay->geometry_change)
-      _bind_buffer (overlay, overlay->overlay_vbo);
-    gl->BindVertexArray (overlay->overlay_vao);
-    gl->BindBuffer (GL_ARRAY_BUFFER, 0);
-  } else {
+  if (!gl->GenVertexArrays || overlay->geometry_change) {
     _bind_buffer (overlay, overlay->overlay_vbo);
   }
 
   gl->BindTexture (GL_TEXTURE_2D, image_tex);
   gst_gl_shader_set_uniform_1f (overlay->shader, "alpha", overlay->alpha);
 
-  gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices);
+  gl->Enable (GL_BLEND);
+  gl->BlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+  gl->BlendEquation (GL_FUNC_ADD);
+
+  gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
+
+  gl->Disable (GL_BLEND);
 
 out:
   if (gl->GenVertexArrays) {
@@ -554,6 +571,60 @@
 }
 
 static gboolean
+load_file (GstGLOverlay * overlay)
+{
+  FILE *fp;
+  guint8 buff[16];
+  gsize n_read;
+  GstCaps *caps;
+  GstStructure *structure;
+  gboolean success = FALSE;
+
+  if (overlay->location == NULL)
+    return TRUE;
+
+  if ((fp = fopen (overlay->location, "rb")) == NULL) {
+    GST_ELEMENT_ERROR (overlay, RESOURCE, NOT_FOUND, ("Can't open file"),
+        ("File: %s", overlay->location));
+    return FALSE;
+  }
+
+  n_read = fread (buff, 1, sizeof (buff), fp);
+  if (n_read != sizeof (buff)) {
+    GST_ELEMENT_ERROR (overlay, STREAM, DECODE, ("Can't read file header"),
+        ("File: %s", overlay->location));
+    goto out;
+  }
+
+  caps = gst_type_find_helper_for_data (GST_OBJECT (overlay), buff,
+      sizeof (buff), NULL);
+
+  if (caps == NULL) {
+    GST_ELEMENT_ERROR (overlay, STREAM, DECODE, ("Can't find file type"),
+        ("File: %s", overlay->location));
+    goto out;
+  }
+
+  fseek (fp, 0, SEEK_SET);
+
+  structure = gst_caps_get_structure (caps, 0);
+  if (gst_structure_has_name (structure, "image/jpeg")) {
+    success = gst_gl_overlay_load_jpeg (overlay, fp);
+  } else if (gst_structure_has_name (structure, "image/png")) {
+    success = gst_gl_overlay_load_png (overlay, fp);
+  } else {
+    GST_ELEMENT_ERROR (overlay, STREAM, DECODE, ("Image type not supported"),
+        ("File: %s", overlay->location));
+  }
+
+out:
+  fclose (fp);
+  gst_caps_replace (&caps, NULL);
+
+  return success;
+}
+
+static gboolean
 gst_gl_overlay_filter_texture (GstGLFilter * filter, guint in_tex,
     guint out_tex)
 {
@@ -564,13 +635,9 @@
       gst_memory_unref ((GstMemory *) overlay->image_memory);
       overlay->image_memory = NULL;
     }
-    if (overlay->location != NULL) {
-      if ((overlay->type_file = gst_gl_overlay_load_png (filter)) == 0) {
-        if ((overlay->type_file = gst_gl_overlay_load_jpeg (filter)) == 0) {
-          return FALSE;
-        }
-      }
-    }
+
+    if (!load_file (overlay))
+      return FALSE;
 
     overlay->location_has_changed = FALSE;
   }
@@ -599,26 +666,17 @@
   g_warning ("%s\n", warning_msg);
 }
 
-#define LOAD_ERROR(msg) { GST_WARNING ("unable to load %s: %s", overlay->location, msg); return FALSE; }
-
-static gint
-gst_gl_overlay_load_jpeg (GstGLFilter * filter)
+static gboolean
+gst_gl_overlay_load_jpeg (GstGLOverlay * overlay, FILE * fp)
 {
-  GstGLOverlay *overlay = GST_GL_OVERLAY (filter);
   GstVideoInfo v_info;
   GstVideoAlignment v_align;
   GstMapInfo map_info;
-  FILE *fp = NULL;
   struct jpeg_decompress_struct cinfo;
   struct jpeg_error_mgr jerr;
   JSAMPROW j;
   int i;
 
-  fp = fopen (overlay->location, "rb");
-  if (!fp) {
-    g_error ("error: couldn't open file!\n");
-    return 0;
-  }
   jpeg_create_decompress (&cinfo);
   cinfo.err = jpeg_std_error (&jerr);
   jpeg_stdio_src (&cinfo, fp);
@@ -638,13 +696,15 @@
   v_align.stride_align[0] = 32 - 1;
   gst_video_info_align (&v_info, &v_align);
 
-  overlay->image_memory =
-      (GstGLMemory *) gst_gl_memory_alloc (GST_GL_BASE_FILTER (filter)->context,
+  overlay->image_memory = (GstGLMemory *)
+      gst_gl_memory_alloc (GST_GL_BASE_FILTER (overlay)->context,
       NULL, &v_info, 0, &v_align);
 
   if (!gst_memory_map ((GstMemory *) overlay->image_memory, &map_info,
           GST_MAP_WRITE)) {
-    LOAD_ERROR ("failed to map memory");
+    GST_ELEMENT_ERROR (overlay, STREAM, DECODE, ("failed to map memory"),
+        ("File: %s", overlay->location));
+    return FALSE;
   }
 
   for (i = 0; i < overlay->image_height; ++i) {
@@ -654,14 +714,13 @@
   jpeg_finish_decompress (&cinfo);
   jpeg_destroy_decompress (&cinfo);
   gst_memory_unmap ((GstMemory *) overlay->image_memory, &map_info);
-  fclose (fp);
-  return 2;
+
+  return TRUE;
 }
 
-static gint
-gst_gl_overlay_load_png (GstGLFilter * filter)
+static gboolean
+gst_gl_overlay_load_png (GstGLOverlay * overlay, FILE * fp)
 {
-  GstGLOverlay *overlay = GST_GL_OVERLAY (filter);
   GstVideoInfo v_info;
   GstMapInfo map_info;
 
@@ -672,46 +731,48 @@
   gint bit_depth = 0;
   gint color_type = 0;
   gint interlace_type = 0;
-  png_FILE_p fp = NULL;
   guint y = 0;
   guchar **rows = NULL;
   gint filler;
   png_byte magic[8];
   gint n_read;
 
-  if (!GST_GL_BASE_FILTER (filter)->context)
-    return 1;
-
-  if ((fp = fopen (overlay->location, "rb")) == NULL)
-    LOAD_ERROR ("file not found");
+  if (!GST_GL_BASE_FILTER (overlay)->context)
+    return FALSE;
 
   /* Read magic number */
   n_read = fread (magic, 1, sizeof (magic), fp);
   if (n_read != sizeof (magic)) {
-    fclose (fp);
-    LOAD_ERROR ("can't read PNG magic number");
+    GST_ELEMENT_ERROR (overlay, STREAM, DECODE,
+        ("can't read PNG magic number"), ("File: %s", overlay->location));
+    return FALSE;
   }
 
   /* Check for valid magic number */
   if (png_sig_cmp (magic, 0, sizeof (magic))) {
-    fclose (fp);
-    LOAD_ERROR ("not a valid PNG image");
+    GST_ELEMENT_ERROR (overlay, STREAM, DECODE,
+        ("not a valid PNG image"), ("File: %s", overlay->location));
+    return FALSE;
   }
 
   png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
 
   if (png_ptr == NULL) {
-    fclose (fp);
-    LOAD_ERROR ("failed to initialize the png_struct");
+    GST_ELEMENT_ERROR (overlay, STREAM, DECODE,
+        ("failed to initialize the png_struct"), ("File: %s",
+            overlay->location));
+    return FALSE;
   }
 
   png_set_error_fn (png_ptr, NULL, NULL, user_warning_fn);
 
   info_ptr = png_create_info_struct (png_ptr);
   if (info_ptr == NULL) {
-    fclose (fp);
     png_destroy_read_struct (&png_ptr, png_infopp_NULL, png_infopp_NULL);
-    LOAD_ERROR ("failed to initialize the memory for image information");
+    GST_ELEMENT_ERROR (overlay, STREAM, DECODE,
+        ("failed to initialize the memory for image information"),
+        ("File: %s", overlay->location));
+    return FALSE;
   }
 
   png_init_io (png_ptr, fp);
@@ -730,22 +791,26 @@
   }
 
   if (color_type != PNG_COLOR_TYPE_RGB_ALPHA) {
-    fclose (fp);
     png_destroy_read_struct (&png_ptr, png_infopp_NULL, png_infopp_NULL);
-    LOAD_ERROR ("color type is not rgb");
+    GST_ELEMENT_ERROR (overlay, STREAM, DECODE,
+        ("color type is not rgb"), ("File: %s", overlay->location));
+    return FALSE;
   }
 
   overlay->image_width = width;
   overlay->image_height = height;
 
   gst_video_info_set_format (&v_info, GST_VIDEO_FORMAT_RGBA, width, height);
-  overlay->image_memory =
-      (GstGLMemory *) gst_gl_memory_alloc (GST_GL_BASE_FILTER (filter)->context,
+  overlay->image_memory = (GstGLMemory *)
+      gst_gl_memory_alloc (GST_GL_BASE_FILTER (overlay)->context,
       NULL, &v_info, 0, NULL);
 
   if (!gst_memory_map ((GstMemory *) overlay->image_memory, &map_info,
           GST_MAP_WRITE)) {
-    LOAD_ERROR ("failed to map memory");
+    png_destroy_read_struct (&png_ptr, &info_ptr, png_infopp_NULL);
+    GST_ELEMENT_ERROR (overlay, STREAM, DECODE,
+        ("failed to map memory"), ("File: %s", overlay->location));
+    return FALSE;
   }
   rows = (guchar **) malloc (sizeof (guchar *) * height);
 
@@ -759,7 +824,6 @@
 
   png_read_end (png_ptr, info_ptr);
   png_destroy_read_struct (&png_ptr, &info_ptr, png_infopp_NULL);
-  fclose (fp);
 
-  return 1;
+  return TRUE;
 }
diff --git a/ext/gl/gstgloverlay.h b/ext/gl/gstgloverlay.h
index d81a0a0..565aaab 100644
--- a/ext/gl/gstgloverlay.h
+++ b/ext/gl/gstgloverlay.h
@@ -57,7 +57,6 @@
   GstGLMemory  *image_memory;
 
   gboolean      location_has_changed;
-  gint          type_file;               // 0 = No; 1 = PNG and 2 = JPEG
   gint          window_width, window_height;
   gint          image_width, image_height;
 
@@ -67,6 +66,7 @@
   GLuint        overlay_vao;
   GLuint        vbo;
   GLuint        overlay_vbo;
+  GLuint        vbo_indices;
   GLuint        attr_position;
   GLuint        attr_texture;
 };
diff --git a/ext/gl/gstglsinkbin.c b/ext/gl/gstglsinkbin.c
index 1f4bd53..1c9649a 100644
--- a/ext/gl/gstglsinkbin.c
+++ b/ext/gl/gstglsinkbin.c
@@ -261,7 +261,7 @@
               gst_gl_sink_bin_signals[SIGNAL_CREATE_ELEMENT], 0, &self->sink);
 
         if (!self->sink) {
-          GST_ERROR_OBJECT (element, "Failed to retreive element");
+          GST_ERROR_OBJECT (element, "Failed to retrieve element");
           return GST_STATE_CHANGE_FAILURE;
         }
         if (!_connect_sink_element (self))
diff --git a/ext/gl/gstglsrcbin.c b/ext/gl/gstglsrcbin.c
index 76510a0..2afbac5 100644
--- a/ext/gl/gstglsrcbin.c
+++ b/ext/gl/gstglsrcbin.c
@@ -241,7 +241,7 @@
               gst_gl_src_bin_signals[SIGNAL_CREATE_ELEMENT], 0, &self->src);
 
         if (!self->src) {
-          GST_ERROR_OBJECT (element, "Failed to retreive element");
+          GST_ERROR_OBJECT (element, "Failed to retrieve element");
           return GST_STATE_CHANGE_FAILURE;
         }
         if (!_connect_src_element (self))
diff --git a/ext/gl/gstgltestsrc.c b/ext/gl/gstgltestsrc.c
index eba66b0..4dca6cb 100644
--- a/ext/gl/gstgltestsrc.c
+++ b/ext/gl/gstgltestsrc.c
@@ -786,8 +786,10 @@
           gst_gl_display_get_gl_context_for_thread (src->display, NULL);
       if (!src->context) {
         src->context = gst_gl_context_new (src->display);
-        if (!gst_gl_context_create (src->context, src->other_context, &error))
+        if (!gst_gl_context_create (src->context, src->other_context, &error)) {
+          GST_OBJECT_UNLOCK (src->display);
           goto context_error;
+        }
       }
     } while (!gst_gl_display_add_context (src->display, src->context));
     GST_OBJECT_UNLOCK (src->display);
@@ -849,7 +851,8 @@
   {
     GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND, ("%s", error->message),
         (NULL));
-    gst_object_unref (src->context);
+    if (src->context)
+      gst_object_unref (src->context);
     src->context = NULL;
     return FALSE;
   }
diff --git a/ext/gl/gstgltransformation.c b/ext/gl/gstgltransformation.c
index 4bd022e..42bdf26 100644
--- a/ext/gl/gstgltransformation.c
+++ b/ext/gl/gstgltransformation.c
@@ -407,6 +407,11 @@
     transformation->vertex_buffer = 0;
   }
 
+  if (transformation->vbo_indices) {
+    gl->DeleteBuffers (1, &transformation->vbo_indices);
+    transformation->vbo_indices = 0;
+  }
+
   if (transformation->shader) {
     gst_object_unref (transformation->shader);
     transformation->shader = NULL;
@@ -464,6 +469,7 @@
   return TRUE;
 }
 
+static const GLushort indices[] = { 0, 1, 2, 3, 0 };
 
 static void
 _upload_vertices (GstGLTransformation * transformation)
@@ -492,6 +498,7 @@
   const GstGLFuncs *gl =
       GST_GL_BASE_FILTER (transformation)->context->gl_vtable;
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, transformation->vbo_indices);
   gl->BindBuffer (GL_ARRAY_BUFFER, transformation->vertex_buffer);
 
   /* Load the vertex position */
@@ -512,6 +519,7 @@
   const GstGLFuncs *gl =
       GST_GL_BASE_FILTER (transformation)->context->gl_vtable;
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
   gl->BindBuffer (GL_ARRAY_BUFFER, 0);
 
   gl->DisableVertexAttribArray (transformation->attr_position);
@@ -525,8 +533,6 @@
   GstGLTransformation *transformation = GST_GL_TRANSFORMATION (filter);
   GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
 
-  GLushort indices[] = { 0, 1, 2, 3, 0 };
-
   GLfloat temp_matrix[16];
 
   gst_gl_context_clear_shader (GST_GL_BASE_FILTER (filter)->context);
@@ -559,6 +565,12 @@
     }
 
     gl->GenBuffers (1, &transformation->vertex_buffer);
+
+    gl->GenBuffers (1, &transformation->vbo_indices);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, transformation->vbo_indices);
+    gl->BufferData (GL_ELEMENT_ARRAY_BUFFER, sizeof (indices), indices,
+        GL_STATIC_DRAW);
+
     transformation->caps_change = TRUE;
   }
 
@@ -569,13 +581,16 @@
     _upload_vertices (transformation);
     _bind_buffer (transformation);
 
-    if (gl->GenVertexArrays)
+    if (gl->GenVertexArrays) {
+      gl->BindVertexArray (0);
+      gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
       gl->BindBuffer (GL_ARRAY_BUFFER, 0);
+    }
   } else if (!gl->GenVertexArrays) {
     _bind_buffer (transformation);
   }
 
-  gl->DrawElements (GL_TRIANGLE_STRIP, 5, GL_UNSIGNED_SHORT, indices);
+  gl->DrawElements (GL_TRIANGLE_STRIP, 5, GL_UNSIGNED_SHORT, 0);
 
   if (gl->GenVertexArrays)
     gl->BindVertexArray (0);
diff --git a/ext/gl/gstgltransformation.h b/ext/gl/gstgltransformation.h
index 5b02014..b5eaeb6 100644
--- a/ext/gl/gstgltransformation.h
+++ b/ext/gl/gstgltransformation.h
@@ -42,6 +42,7 @@
 
     GstGLShader *shader;
     GLuint       vao;
+    GLuint       vbo_indices;
     GLuint       vertex_buffer;
     GLint        attr_position;
     GLint        attr_texture;
diff --git a/ext/gl/gstglvideomixer.c b/ext/gl/gstglvideomixer.c
index f7a3eb1..6ae693d 100644
--- a/ext/gl/gstglvideomixer.c
+++ b/ext/gl/gstglvideomixer.c
@@ -628,7 +628,16 @@
   GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (mix);
   GstVideoAggregatorPad *vagg_pad = GST_VIDEO_AGGREGATOR_PAD (mix_pad);
   gint pad_width, pad_height;
-  gint dar_n, dar_d;
+  guint dar_n, dar_d;
+
+  /* FIXME: Anything better we can do here? */
+  if (!vagg_pad->info.finfo
+      || vagg_pad->info.finfo->format == GST_VIDEO_FORMAT_UNKNOWN) {
+    GST_DEBUG_OBJECT (mix_pad, "Have no caps yet");
+    *width = 0;
+    *height = 0;
+    return;
+  }
 
   pad_width =
       mix_pad->width <=
@@ -637,21 +646,22 @@
       mix_pad->height <=
       0 ? GST_VIDEO_INFO_HEIGHT (&vagg_pad->info) : mix_pad->height;
 
-  gst_util_fraction_multiply (GST_VIDEO_INFO_PAR_N (&vagg_pad->info),
+  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),
-      GST_VIDEO_INFO_PAR_D (&vagg->info), GST_VIDEO_INFO_PAR_N (&vagg->info),
-      &dar_n, &dar_d);
+      GST_VIDEO_INFO_PAR_N (&vagg->info), GST_VIDEO_INFO_PAR_D (&vagg->info)
+      );
   GST_LOG_OBJECT (mix_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),
       GST_VIDEO_INFO_PAR_N (&vagg->info), GST_VIDEO_INFO_PAR_D (&vagg->info));
 
   if (pad_height % dar_n == 0) {
-    pad_height = gst_util_uint64_scale_int (pad_width, dar_n, dar_d);
+    pad_width = gst_util_uint64_scale_int (pad_height, dar_n, dar_d);
   } else if (pad_width % dar_d == 0) {
-    pad_width = gst_util_uint64_scale_int (pad_height, dar_d, dar_n);
+    pad_height = gst_util_uint64_scale_int (pad_width, dar_d, dar_n);
   } else {
-    pad_height = gst_util_uint64_scale_int (pad_width, dar_n, dar_d);
+    pad_width = gst_util_uint64_scale_int (pad_height, dar_n, dar_d);
   }
 
   if (width)
@@ -733,6 +743,11 @@
     video_mixer->vao = 0;
   }
 
+  if (video_mixer->vbo_indices) {
+    gl->DeleteBuffers (1, &video_mixer->vbo_indices);
+    video_mixer->vbo_indices = 0;
+  }
+
   gst_aggregator_iterate_sinkpads (GST_AGGREGATOR (video_mixer), _reset_pad_gl,
       NULL);
 }
@@ -790,6 +805,21 @@
   return TRUE;
 }
 
+static const GLushort indices[] = { 0, 1, 2, 0, 2, 3 };
+
+static void
+_init_vbo_indices (GstGLVideoMixer * mixer)
+{
+  const GstGLFuncs *gl = GST_GL_BASE_MIXER (mixer)->context->gl_vtable;
+
+  if (!mixer->vbo_indices) {
+    gl->GenBuffers (1, &mixer->vbo_indices);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, mixer->vbo_indices);
+    gl->BufferData (GL_ELEMENT_ARRAY_BUFFER, sizeof (indices), indices,
+        GL_STATIC_DRAW);
+  }
+}
+
 static gboolean
 _draw_checker_background (GstGLVideoMixer * video_mixer)
 {
@@ -797,10 +827,6 @@
   const GstGLFuncs *gl = GST_GL_BASE_MIXER (mixer)->context->gl_vtable;
   gint attr_position_loc = 0;
 
-  const GLushort indices[] = {
-    0, 1, 2,
-    0, 2, 3
-  };
   /* *INDENT-OFF* */
   gfloat v_vertices[] = {
     -1.0,-1.0,-1.0f,
@@ -820,12 +846,15 @@
   attr_position_loc =
       gst_gl_shader_get_attribute_location (video_mixer->checker, "a_position");
 
+  _init_vbo_indices (video_mixer);
+
   if (!video_mixer->checker_vbo) {
     gl->GenBuffers (1, &video_mixer->checker_vbo);
     gl->BindBuffer (GL_ARRAY_BUFFER, video_mixer->checker_vbo);
     gl->BufferData (GL_ARRAY_BUFFER, 4 * 3 * sizeof (GLfloat), v_vertices,
         GL_STATIC_DRAW);
   } else {
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, video_mixer->vbo_indices);
     gl->BindBuffer (GL_ARRAY_BUFFER, video_mixer->checker_vbo);
   }
 
@@ -834,9 +863,10 @@
 
   gl->EnableVertexAttribArray (attr_position_loc);
 
-  gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices);
+  gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
 
   gl->DisableVertexAttribArray (attr_position_loc);
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
   gl->BindBuffer (GL_ARRAY_BUFFER, 0);
 
   return TRUE;
@@ -884,11 +914,6 @@
   GLint attr_texture_loc = 0;
   guint out_width, out_height;
 
-  const GLushort indices[] = {
-    0, 1, 2,
-    0, 2, 3
-  };
-
   guint count = 0;
 
   out_width = GST_VIDEO_INFO_WIDTH (&vagg->info);
@@ -896,9 +921,6 @@
 
   gst_gl_context_clear_shader (GST_GL_BASE_MIXER (mixer)->context);
   gl->BindTexture (GL_TEXTURE_2D, 0);
-  if (gst_gl_context_get_gl_api (GST_GL_BASE_MIXER (mixer)->context) &
-      GST_GL_API_OPENGL)
-    gl->Disable (GL_TEXTURE_2D);
 
   gl->Disable (GL_DEPTH_TEST);
   gl->Disable (GL_CULL_FACE);
@@ -958,6 +980,8 @@
 
     in_tex = frame->texture;
 
+    _init_vbo_indices (video_mixer);
+
     if (pad->geometry_change || !pad->vertex_buffer) {
       gint pad_width, pad_height;
       gfloat w, h;
@@ -993,6 +1017,7 @@
     } else {
       gl->BindBuffer (GL_ARRAY_BUFFER, pad->vertex_buffer);
     }
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, video_mixer->vbo_indices);
 
     gl->BlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
     gl->BlendEquation (GL_FUNC_ADD);
@@ -1011,7 +1036,7 @@
     gl->VertexAttribPointer (attr_texture_loc, 2, GL_FLOAT,
         GL_FALSE, 5 * sizeof (GLfloat), (void *) (3 * sizeof (GLfloat)));
 
-    gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices);
+    gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
 
     ++count;
   }
@@ -1022,6 +1047,7 @@
   if (gl->GenVertexArrays)
     gl->BindVertexArray (0);
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
   gl->BindBuffer (GL_ARRAY_BUFFER, 0);
   gl->BindTexture (GL_TEXTURE_2D, 0);
 
diff --git a/ext/gl/gstglvideomixer.h b/ext/gl/gstglvideomixer.h
index 967358b..0d0252b 100644
--- a/ext/gl/gstglvideomixer.h
+++ b/ext/gl/gstglvideomixer.h
@@ -64,6 +64,7 @@
     GPtrArray *input_frames;
 
     GLuint vao;
+    GLuint vbo_indices;
     GLuint checker_vbo;
 };
 
diff --git a/ext/hls/gsthlsdemux.c b/ext/hls/gsthlsdemux.c
index 5513815..0f649b2 100644
--- a/ext/hls/gsthlsdemux.c
+++ b/ext/hls/gsthlsdemux.c
@@ -31,7 +31,7 @@
  * <refsect2>
  * <title>Example launch line</title>
  * |[
- * gst-launch souphttpsrc location=http://devimages.apple.com/iphone/samples/bipbop/gear4/prog_index.m3u8 ! hlsdemux ! decodebin2 ! videoconvert ! videoscale ! autovideosink
+ * gst-launch-1.0 souphttpsrc location=http://devimages.apple.com/iphone/samples/bipbop/gear4/prog_index.m3u8 ! hlsdemux ! decodebin ! videoconvert ! videoscale ! autovideosink
  * ]|
  * </refsect2>
  */
@@ -330,7 +330,6 @@
       return FALSE;
     }
     //hlsdemux->discont = TRUE;
-    hlsdemux->new_playlist = TRUE;
     hlsdemux->do_typefind = TRUE;
 
     gst_hls_demux_change_playlist (hlsdemux, bitrate / ABS (rate), NULL);
@@ -349,7 +348,6 @@
       return FALSE;
     }
     //hlsdemux->discont = TRUE;
-    hlsdemux->new_playlist = TRUE;
     hlsdemux->do_typefind = TRUE;
     /* TODO why not continue using the same? that was being used up to now? */
     gst_hls_demux_change_playlist (hlsdemux, bitrate, NULL);
@@ -439,7 +437,6 @@
     GstM3U8 *child = NULL;
     GError *err = NULL;
 
-    /* TODO seems like something that could be simplified */
     if (demux->connection_speed == 0) {
       GST_M3U8_CLIENT_LOCK (hlsdemux->client);
       child = hlsdemux->client->main->current_variant->data;
@@ -578,12 +575,6 @@
     GST_DEBUG_OBJECT (hlsdemux, "Typefind result: %" GST_PTR_FORMAT " prob:%d",
         caps, prob);
 
-    if (!hlsdemux->input_caps
-        || !gst_caps_is_equal (caps, hlsdemux->input_caps)) {
-      gst_caps_replace (&hlsdemux->input_caps, caps);
-      GST_INFO_OBJECT (demux, "Input source caps: %" GST_PTR_FORMAT,
-          hlsdemux->input_caps);
-    }
     gst_adaptive_demux_stream_set_caps (stream, caps);
     hlsdemux->do_typefind = FALSE;
   }
@@ -788,11 +779,6 @@
     g_object_unref (demux->key_fragment);
   demux->key_fragment = NULL;
 
-  if (demux->input_caps) {
-    gst_caps_unref (demux->input_caps);
-    demux->input_caps = NULL;
-  }
-
   if (demux->client) {
     gst_m3u8_client_free (demux->client);
     demux->client = NULL;
@@ -1065,7 +1051,6 @@
   GST_INFO_OBJECT (demux, "Client was on %dbps, max allowed is %dbps, switching"
       " to bitrate %dbps", old_bandwidth, max_bitrate, new_bandwidth);
   stream->discont = TRUE;
-  demux->new_playlist = TRUE;
 
   if (gst_hls_demux_update_playlist (demux, FALSE, NULL)) {
     gchar *uri;
diff --git a/ext/hls/gsthlsdemux.h b/ext/hls/gsthlsdemux.h
index 7acfead..daa3670 100644
--- a/ext/hls/gsthlsdemux.h
+++ b/ext/hls/gsthlsdemux.h
@@ -66,15 +66,9 @@
 
   gint srcpad_counter;
 
-  GstCaps *input_caps;
   gchar *uri;                   /* Original playlist URI */
   GstM3U8Client *client;        /* M3U8 client */
   gboolean do_typefind;         /* Whether we need to typefind the next buffer */
-  gboolean new_playlist;        /* Whether a new playlist is about to start and pads should be switched */
-
-
-  /* Streaming task */
-  gint64 next_download;
 
   /* Cache for the last key */
   gchar *key_url;
diff --git a/ext/hls/m3u8.c b/ext/hls/m3u8.c
index 0d1f892..4b6e362 100755
--- a/ext/hls/m3u8.c
+++ b/ext/hls/m3u8.c
@@ -1085,6 +1085,40 @@
   return ret;
 }
 
+static void
+alternate_advance (GstM3U8Client * client, gboolean forward)
+{
+  gint targetnum = client->sequence;
+  GList *tmp;
+  GstM3U8MediaFile *mf;
+
+  /* figure out the target seqnum */
+  if (forward)
+    targetnum += 1;
+  else
+    targetnum -= 1;
+
+  for (tmp = client->current->files; tmp; tmp = tmp->next) {
+    mf = (GstM3U8MediaFile *) tmp->data;
+    if (mf->sequence == targetnum)
+      break;
+  }
+  if (tmp == NULL) {
+    GST_ERROR ("Can't find next fragment");
+    return;
+  }
+  client->current_file = tmp;
+  client->sequence = targetnum;
+  if (forward)
+    client->sequence_position += mf->duration;
+  else {
+    if (client->sequence_position > mf->duration)
+      client->sequence_position -= mf->duration;
+    else
+      client->sequence_position = 0;
+  }
+}
+
 void
 gst_m3u8_client_advance_fragment (GstM3U8Client * client, gboolean forward)
 {
@@ -1101,7 +1135,9 @@
     l = g_list_find_custom (client->current->files, client,
         (GCompareFunc) _find_current);
     if (l == NULL) {
-      GST_ERROR ("Could not find current fragment");
+      GST_DEBUG
+          ("Could not find current fragment, trying next fragment directly");
+      alternate_advance (client, forward);
       GST_M3U8_CLIENT_UNLOCK (client);
       return;
     }
diff --git a/ext/libde265/gstlibde265.c b/ext/libde265/gstlibde265.c
index 2ee7ffe..d44412c 100644
--- a/ext/libde265/gstlibde265.c
+++ b/ext/libde265/gstlibde265.c
@@ -36,6 +36,6 @@
 
 GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
     GST_VERSION_MINOR,
-    gstlibde265,
+    libde265,
     "HEVC/H.265 decoder using libde265",
     plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
diff --git a/ext/libde265/libde265-dec.c b/ext/libde265/libde265-dec.c
index a57bd5b..9ec128e 100644
--- a/ext/libde265/libde265-dec.c
+++ b/ext/libde265/libde265-dec.c
@@ -175,8 +175,8 @@
       gst_static_pad_template_get (&src_template));
 
   gst_element_class_set_static_metadata (gstelement_class,
-      "HEVC/H.265 parser",
-      "Codec/Parser/Converter/Video",
+      "HEVC/H.265 decoder",
+      "Codec/Decoder/Video",
       "Decodes HEVC/H.265 video streams using libde265",
       "struktur AG <opensource@struktur.de>");
 }
diff --git a/ext/opencv/gstcvsmooth.c b/ext/opencv/gstcvsmooth.c
index 67f403e..169fd16 100644
--- a/ext/opencv/gstcvsmooth.c
+++ b/ext/opencv/gstcvsmooth.c
@@ -64,10 +64,10 @@
 {
   PROP_0,
   PROP_SMOOTH_TYPE,
-  PROP_PARAM1,
-  PROP_PARAM2,
-  PROP_PARAM3,
-  PROP_PARAM4
+  PROP_WIDTH,
+  PROP_HEIGHT,
+  PROP_COLORSIGMA,
+  PROP_SPATIALSIGMA
 };
 
 /* blur-no-scale only handle: gray 8bits -> gray 16bits
@@ -102,10 +102,10 @@
 }
 
 #define DEFAULT_CV_SMOOTH_TYPE CV_GAUSSIAN
-#define DEFAULT_PARAM1 3
-#define DEFAULT_PARAM2 0.0
-#define DEFAULT_PARAM3 0.0
-#define DEFAULT_PARAM4 0.0
+#define DEFAULT_WIDTH 3
+#define DEFAULT_HEIGHT 0
+#define DEFAULT_COLORSIGMA 0.0
+#define DEFAULT_SPATIALSIGMA 0.0
 
 G_DEFINE_TYPE (GstCvSmooth, gst_cv_smooth, GST_TYPE_OPENCV_VIDEO_FILTER);
 
@@ -145,35 +145,35 @@
           GST_TYPE_CV_SMOOTH_TYPE,
           DEFAULT_CV_SMOOTH_TYPE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
       );
-  g_object_class_install_property (gobject_class, PROP_PARAM1,
-      g_param_spec_int ("param1", "param1 (aperture width)",
+  g_object_class_install_property (gobject_class, PROP_WIDTH,
+      g_param_spec_int ("width", "width (aperture width)",
           "The aperture width (Must be positive and odd)."
           "Check cvSmooth OpenCV docs: http://opencv.willowgarage.com"
           "/documentation/image_filtering.html#cvSmooth", 1, G_MAXINT,
-          DEFAULT_PARAM1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-  g_object_class_install_property (gobject_class, PROP_PARAM2,
-      g_param_spec_int ("param2", "param2 (aperture height)",
+          DEFAULT_WIDTH, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_HEIGHT,
+      g_param_spec_int ("height", "height (aperture height)",
           "The aperture height, if zero, the width is used."
           "(Must be positive and odd or zero, unuset in median and bilateral "
           "types). Check cvSmooth OpenCV docs: http://opencv.willowgarage.com"
           "/documentation/image_filtering.html#cvSmooth", 0, G_MAXINT,
-          DEFAULT_PARAM2, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-  g_object_class_install_property (gobject_class, PROP_PARAM3,
-      g_param_spec_double ("param3", "param3 (gaussian standard deviation or "
+          DEFAULT_HEIGHT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_COLORSIGMA,
+      g_param_spec_double ("color", "color (gaussian standard deviation or "
           "color sigma",
           "If type is gaussian, this means the standard deviation."
           "If type is bilateral, this means the color-sigma. If zero, "
           "Default values are used."
           "Check cvSmooth OpenCV docs: http://opencv.willowgarage.com"
           "/documentation/image_filtering.html#cvSmooth",
-          0, G_MAXDOUBLE, DEFAULT_PARAM3,
+          0, G_MAXDOUBLE, DEFAULT_COLORSIGMA,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-  g_object_class_install_property (gobject_class, PROP_PARAM4,
-      g_param_spec_double ("param4", "param4 (spatial sigma, bilateral only)",
+  g_object_class_install_property (gobject_class, PROP_SPATIALSIGMA,
+      g_param_spec_double ("spatial", "spatial (spatial sigma, bilateral only)",
           "Only used in bilateral type, means the spatial-sigma."
           "Check cvSmooth OpenCV docs: http://opencv.willowgarage.com"
           "/documentation/image_filtering.html#cvSmooth",
-          0, G_MAXDOUBLE, DEFAULT_PARAM4,
+          0, G_MAXDOUBLE, DEFAULT_SPATIALSIGMA,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   gst_element_class_set_static_metadata (element_class,
@@ -201,10 +201,10 @@
 gst_cv_smooth_init (GstCvSmooth * filter)
 {
   filter->type = DEFAULT_CV_SMOOTH_TYPE;
-  filter->param1 = DEFAULT_PARAM1;
-  filter->param2 = DEFAULT_PARAM2;
-  filter->param3 = DEFAULT_PARAM3;
-  filter->param4 = DEFAULT_PARAM4;
+  filter->width = DEFAULT_WIDTH;
+  filter->height = DEFAULT_HEIGHT;
+  filter->colorsigma = DEFAULT_COLORSIGMA;
+  filter->spatialsigma = DEFAULT_SPATIALSIGMA;
 
   gst_base_transform_set_in_place (GST_BASE_TRANSFORM (filter), FALSE);
 }
@@ -238,33 +238,33 @@
     case PROP_SMOOTH_TYPE:
       gst_cv_smooth_change_type (filter, g_value_get_enum (value));
       break;
-    case PROP_PARAM1:{
+    case PROP_WIDTH:{
       gint prop = g_value_get_int (value);
 
       if (prop % 2 == 1) {
-        filter->param1 = prop;
+        filter->width = prop;
       } else {
-        GST_WARNING_OBJECT (filter, "Ignoring value for param1, not odd"
+        GST_WARNING_OBJECT (filter, "Ignoring value for width, not odd"
             "(%d)", prop);
       }
     }
       break;
-    case PROP_PARAM2:{
+    case PROP_HEIGHT:{
       gint prop = g_value_get_int (value);
 
       if (prop % 2 == 1 || prop == 0) {
-        filter->param1 = prop;
+        filter->height = prop;
       } else {
-        GST_WARNING_OBJECT (filter, "Ignoring value for param2, not odd"
+        GST_WARNING_OBJECT (filter, "Ignoring value for height, not odd"
             " nor zero (%d)", prop);
       }
     }
       break;
-    case PROP_PARAM3:
-      filter->param3 = g_value_get_double (value);
+    case PROP_COLORSIGMA:
+      filter->colorsigma = g_value_get_double (value);
       break;
-    case PROP_PARAM4:
-      filter->param4 = g_value_get_double (value);
+    case PROP_SPATIALSIGMA:
+      filter->spatialsigma = g_value_get_double (value);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -282,17 +282,17 @@
     case PROP_SMOOTH_TYPE:
       g_value_set_enum (value, filter->type);
       break;
-    case PROP_PARAM1:
-      g_value_set_int (value, filter->param1);
+    case PROP_WIDTH:
+      g_value_set_int (value, filter->width);
       break;
-    case PROP_PARAM2:
-      g_value_set_int (value, filter->param2);
+    case PROP_HEIGHT:
+      g_value_set_int (value, filter->height);
       break;
-    case PROP_PARAM3:
-      g_value_set_double (value, filter->param3);
+    case PROP_COLORSIGMA:
+      g_value_set_double (value, filter->colorsigma);
       break;
-    case PROP_PARAM4:
-      g_value_set_double (value, filter->param4);
+    case PROP_SPATIALSIGMA:
+      g_value_set_double (value, filter->spatialsigma);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -306,8 +306,8 @@
 {
   GstCvSmooth *filter = GST_CV_SMOOTH (base);
 
-  cvSmooth (img, outimg, filter->type, filter->param1, filter->param2,
-      filter->param3, filter->param4);
+  cvSmooth (img, outimg, filter->type, filter->width, filter->height,
+      filter->colorsigma, filter->spatialsigma);
 
   return GST_FLOW_OK;
 }
@@ -318,8 +318,8 @@
 {
   GstCvSmooth *filter = GST_CV_SMOOTH (base);
 
-  cvSmooth (img, img, filter->type, filter->param1, filter->param2,
-      filter->param3, filter->param4);
+  cvSmooth (img, img, filter->type, filter->width, filter->height,
+      filter->colorsigma, filter->spatialsigma);
 
   return GST_FLOW_OK;
 }
diff --git a/ext/opencv/gstcvsmooth.h b/ext/opencv/gstcvsmooth.h
index 9a62e91..c3e5164 100644
--- a/ext/opencv/gstcvsmooth.h
+++ b/ext/opencv/gstcvsmooth.h
@@ -71,10 +71,10 @@
 
   gint type;
 
-  gint param1;
-  gint param2;
-  gdouble param3;
-  gdouble param4;
+  gint width;
+  gint height;
+  gdouble colorsigma;
+  gdouble spatialsigma;
 };
 
 struct _GstCvSmoothClass 
diff --git a/ext/opencv/gstpyramidsegment.c b/ext/opencv/gstpyramidsegment.c
index 6c5292b..618ffdf 100644
--- a/ext/opencv/gstpyramidsegment.c
+++ b/ext/opencv/gstpyramidsegment.c
@@ -158,7 +158,7 @@
 
   g_object_class_install_property (gobject_class, PROP_LEVEL,
       g_param_spec_int ("level", "Level",
-          "Maximum level of the pyramid segmentation", 0, 4, 4,
+          "Maximum level of the pyramid segmentation", 1, 4, 4,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   gst_element_class_set_static_metadata (element_class,
diff --git a/ext/opencv/gstretinex.c b/ext/opencv/gstretinex.c
index 5bc112a..9a7c8dc 100644
--- a/ext/opencv/gstretinex.c
+++ b/ext/opencv/gstretinex.c
@@ -332,6 +332,8 @@
      where O is the output, H is a gaussian 2d filter and I is the input image
      sum_i means summatory on var i with i in [0..scales) and wi are the weights */
   else if (METHOD_MULTISCALE == retinex->method) {
+    int i;
+
     /* allocate or reallocate the weights and sigmas according to scales */
     if (retinex->current_scales != retinex->scales || !retinex->sigmas) {
       retinex->weights =
@@ -340,7 +342,7 @@
       retinex->sigmas =
           (double *) g_realloc (retinex->sigmas,
           sizeof (double) * retinex->scales);
-      for (int i = 0; i < retinex->scales; i++) {
+      for (i = 0; i < retinex->scales; i++) {
         retinex->weights[i] = 1.0 / (double) retinex->scales;
         retinex->sigmas[i] = 10.0 + 4.0 * (double) retinex->scales;
       }
@@ -352,7 +354,7 @@
     cvLog (retinex->cvA, retinex->cvB);
 
     /*  Filter at each scale */
-    for (int i = 0; i < retinex->scales; i++) {
+    for (i = 0; i < retinex->scales; i++) {
       filter_size = (int) floor (retinex->sigmas[i] * 6) / 2;
       filter_size = filter_size * 2 + 1;
 
diff --git a/ext/opus/gstopusdec.c b/ext/opus/gstopusdec.c
index a634787..c88b9ee 100644
--- a/ext/opus/gstopusdec.c
+++ b/ext/opus/gstopusdec.c
@@ -224,13 +224,33 @@
     caps = gst_caps_truncate (caps);
     caps = gst_caps_make_writable (caps);
     s = gst_caps_get_structure (caps, 0);
-    gst_structure_fixate_field_nearest_int (s, "rate", dec->sample_rate);
+
+    if (gst_structure_has_field (s, "rate"))
+      gst_structure_fixate_field_nearest_int (s, "rate", dec->sample_rate);
+    else
+      gst_structure_set (s, "rate", G_TYPE_INT, dec->sample_rate, NULL);
     gst_structure_get_int (s, "rate", &dec->sample_rate);
-    gst_structure_fixate_field_nearest_int (s, "channels", dec->n_channels);
+
+    if (gst_structure_has_field (s, "channels"))
+      gst_structure_fixate_field_nearest_int (s, "channels", dec->n_channels);
+    else
+      gst_structure_set (s, "channels", G_TYPE_INT, dec->n_channels, NULL);
     gst_structure_get_int (s, "channels", &dec->n_channels);
+
     gst_caps_unref (caps);
   }
 
+  if (dec->n_channels == 0) {
+    GST_DEBUG_OBJECT (dec, "Using a default of 2 channels");
+    dec->n_channels = 2;
+    pos = NULL;
+  }
+
+  if (dec->sample_rate == 0) {
+    GST_DEBUG_OBJECT (dec, "Using a default of 48kHz sample rate");
+    dec->sample_rate = 48000;
+  }
+
   GST_INFO_OBJECT (dec, "Negotiated %d channels, %d Hz", dec->n_channels,
       dec->sample_rate);
 
diff --git a/ext/opus/gstopusparse.c b/ext/opus/gstopusparse.c
index c8aba11..71f0639 100644
--- a/ext/opus/gstopusparse.c
+++ b/ext/opus/gstopusparse.c
@@ -359,7 +359,7 @@
       channel_mapping_family = 0;
       channel_mapping[0] = 0;
       channel_mapping[1] = 1;
-      gst_opus_header_create_caps (&caps, &parse->headers, channels, 1, 0,
+      gst_opus_header_create_caps (&caps, &parse->headers, channels, 1, 48000,
           channel_mapping_family, channel_mapping, NULL);
     }
 
diff --git a/ext/resindvd/gstmpegdemux.c b/ext/resindvd/gstmpegdemux.c
index 7753514..48002ba 100644
--- a/ext/resindvd/gstmpegdemux.c
+++ b/ext/resindvd/gstmpegdemux.c
@@ -1391,8 +1391,6 @@
 
     /* marker:1==1 ! mux_rate:22 ! marker:1==1 */
     new_rate = (scr2 & 0x007ffffe) >> 1;
-
-    data += 8;
   }
   new_rate *= MPEG_MUX_RATE_MULT;
 
diff --git a/ext/rtmp/gstrtmpsink.c b/ext/rtmp/gstrtmpsink.c
index 0e2e850..d2e7dbf 100644
--- a/ext/rtmp/gstrtmpsink.c
+++ b/ext/rtmp/gstrtmpsink.c
@@ -75,6 +75,7 @@
 static void gst_rtmp_sink_finalize (GObject * object);
 static gboolean gst_rtmp_sink_stop (GstBaseSink * sink);
 static gboolean gst_rtmp_sink_start (GstBaseSink * sink);
+static gboolean gst_rtmp_sink_event (GstBaseSink * sink, GstEvent * event);
 static GstFlowReturn gst_rtmp_sink_render (GstBaseSink * sink, GstBuffer * buf);
 
 #define gst_rtmp_sink_parent_class parent_class
@@ -113,6 +114,7 @@
   gstbasesink_class->start = GST_DEBUG_FUNCPTR (gst_rtmp_sink_start);
   gstbasesink_class->stop = GST_DEBUG_FUNCPTR (gst_rtmp_sink_stop);
   gstbasesink_class->render = GST_DEBUG_FUNCPTR (gst_rtmp_sink_render);
+  gstbasesink_class->event = gst_rtmp_sink_event;
 
   GST_DEBUG_CATEGORY_INIT (gst_rtmp_sink_debug, "rtmpsink", 0,
       "RTMP server element");
@@ -177,6 +179,7 @@
   RTMP_EnableWrite (sink->rtmp);
 
   sink->first = TRUE;
+  sink->have_write_error = FALSE;
 
   return TRUE;
 }
@@ -206,7 +209,13 @@
 {
   GstRTMPSink *sink = GST_RTMP_SINK (bsink);
   GstBuffer *reffed_buf = NULL;
-  GstMapInfo map;
+  GstMapInfo map = GST_MAP_INFO_INIT;
+
+  if (sink->rtmp == NULL) {
+    /* Do not crash */
+    GST_ELEMENT_ERROR (sink, RESOURCE, WRITE, (NULL), ("Failed to write data"));
+    return GST_FLOW_ERROR;
+  }
 
   if (sink->first) {
     /* open the connection */
@@ -219,6 +228,7 @@
         sink->rtmp = NULL;
         g_free (sink->rtmp_uri);
         sink->rtmp_uri = NULL;
+        sink->have_write_error = TRUE;
         return GST_FLOW_ERROR;
       }
       GST_DEBUG_OBJECT (sink, "Opened connection to %s", sink->rtmp_uri);
@@ -241,6 +251,9 @@
     sink->cache = NULL;
   }
 
+  if (sink->have_write_error)
+    goto write_failed;
+
   GST_LOG_OBJECT (sink, "Sending %" G_GSIZE_FORMAT " bytes to RTMP server",
       gst_buffer_get_size (buf));
 
@@ -262,6 +275,7 @@
     gst_buffer_unmap (buf, &map);
     if (reffed_buf)
       gst_buffer_unref (reffed_buf);
+    sink->have_write_error = TRUE;
     return GST_FLOW_ERROR;
   }
 }
@@ -330,8 +344,10 @@
       free (playpath.av_val);
   }
 
-  if (ret)
+  if (ret) {
+    sink->have_write_error = FALSE;
     GST_DEBUG_OBJECT (sink, "Changed URI to %s", GST_STR_NULL (uri));
+  }
 
   return ret;
 }
@@ -364,6 +380,22 @@
   }
 }
 
+static gboolean
+gst_rtmp_sink_event (GstBaseSink * sink, GstEvent * event)
+{
+  GstRTMPSink *rtmpsink = GST_RTMP_SINK (sink);
+
+  switch (event->type) {
+    case GST_EVENT_FLUSH_STOP:
+      rtmpsink->have_write_error = FALSE;
+      break;
+    default:
+      break;
+  }
+
+  return GST_BASE_SINK_CLASS (parent_class)->event (sink, event);
+}
+
 static void
 gst_rtmp_sink_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec)
diff --git a/ext/rtmp/gstrtmpsink.h b/ext/rtmp/gstrtmpsink.h
index d89b0a4..523f5ae 100644
--- a/ext/rtmp/gstrtmpsink.h
+++ b/ext/rtmp/gstrtmpsink.h
@@ -55,6 +55,7 @@
 
   GstBuffer *cache; /* Cached buffer */
   gboolean first;
+  gboolean have_write_error;
 };
 
 struct _GstRTMPSinkClass {
diff --git a/ext/srtp/gstsrtp.c b/ext/srtp/gstsrtp.c
index d371bf3..0e2cf9f 100644
--- a/ext/srtp/gstsrtp.c
+++ b/ext/srtp/gstsrtp.c
@@ -162,6 +162,12 @@
               NULL);
           ret = TRUE;
           break;
+        case GST_RTCP_TYPE_APP:
+        case GST_RTCP_TYPE_RTPFB:
+        case GST_RTCP_TYPE_PSFB:
+          *ssrc = gst_rtcp_packet_fb_get_sender_ssrc (&packet);
+          ret = TRUE;
+          break;
         default:
           break;
       }
diff --git a/ext/x265/gstx265enc.c b/ext/x265/gstx265enc.c
index 39b0fb2..47b95a6 100644
--- a/ext/x265/gstx265enc.c
+++ b/ext/x265/gstx265enc.c
@@ -616,7 +616,7 @@
 
   if (x265_param_default_preset (&encoder->x265param,
           x265_preset_names[encoder->speed_preset - 1],
-          x265_tune_names[encoder->tune]) < 0) {
+          x265_tune_names[encoder->tune - 1]) < 0) {
     GST_DEBUG_OBJECT (encoder, "preset or tune unrecognized");
     GST_OBJECT_UNLOCK (encoder);
     return FALSE;
@@ -768,7 +768,8 @@
 gst_x265_enc_get_header_buffer (GstX265Enc * encoder)
 {
   x265_nal *nal;
-  guint32 i_nal, i, offset, vps_idx;
+  guint32 i_nal, i, offset;
+  gint32 vps_idx, sps_idx, pps_idx;
   int header_return;
   GstBuffer *buf;
 
@@ -785,13 +786,18 @@
    * The usefull headers are sequential (VPS, SPS and PPS), so we look for this
    * nal units and only copy these tree nal units as the header */
 
-  for (vps_idx = 0; vps_idx < i_nal; vps_idx++) {
-    if (nal[vps_idx].type == 32) {
-      break;
+  vps_idx = sps_idx = pps_idx = -1;
+  for (i = 0; i < i_nal; i++) {
+    if (nal[i].type == 32) {
+      vps_idx = i;
+    } else if (nal[i].type == 33) {
+      sps_idx = i;
+    } else if (nal[i].type == 34) {
+      pps_idx = i;
     }
   }
 
-  if (vps_idx >= i_nal - 3) {
+  if (vps_idx == -1 || sps_idx == -1 || pps_idx == -1) {
     GST_ELEMENT_ERROR (encoder, STREAM, ENCODE, ("Encode x265 header failed."),
         ("x265_encoder_headers did not return VPS, SPS and PPS"));
     return FALSE;
@@ -800,13 +806,13 @@
   offset = 0;
   buf =
       gst_buffer_new_allocate (NULL,
-      nal[vps_idx].sizeBytes + nal[vps_idx + 1].sizeBytes + nal[vps_idx +
-          2].sizeBytes, NULL);
-  for (i = 0; i < i_nal; i++) {
-    gst_buffer_fill (buf, offset, nal[i + vps_idx].payload,
-        nal[i + vps_idx].sizeBytes);
-    offset += nal[i + vps_idx].sizeBytes;
-  }
+      nal[vps_idx].sizeBytes + nal[sps_idx].sizeBytes + nal[pps_idx].sizeBytes,
+      NULL);
+  gst_buffer_fill (buf, offset, nal[vps_idx].payload, nal[vps_idx].sizeBytes);
+  offset += nal[vps_idx].sizeBytes;
+  gst_buffer_fill (buf, offset, nal[sps_idx].payload, nal[sps_idx].sizeBytes);
+  offset += nal[sps_idx].sizeBytes;
+  gst_buffer_fill (buf, offset, nal[pps_idx].payload, nal[pps_idx].sizeBytes);
 
   return buf;
 }
@@ -858,7 +864,7 @@
 
   /* FIXME get a real value from the encoder, this is currently not exposed */
   if (encoder->tune > 0 && encoder->tune <= G_N_ELEMENTS (x265_tune_names) &&
-      strcmp (x265_tune_names[encoder->tune + 1], "zerolatency") == 0)
+      strcmp (x265_tune_names[encoder->tune - 1], "zerolatency") == 0)
     max_delayed_frames = 0;
   else
     max_delayed_frames = 5;
diff --git a/ext/zbar/gstzbar.c b/ext/zbar/gstzbar.c
index 8c98ed9..2bb0a7d 100644
--- a/ext/zbar/gstzbar.c
+++ b/ext/zbar/gstzbar.c
@@ -22,6 +22,8 @@
  *
  * Detect bar codes in the video streams and send them as element messages to
  * the #GstBus if .#GstZBar:message property is %TRUE.
+ * If the .#GstZBar:attach-frame property is %TRUE, the posted barcode message
+ * includes a sample of the frame where the barcode was detected (Since 1.6).
  *
  * The element generate messages named
  * <classname>&quot;barcode&quot;</classname>. The structure containes these
@@ -56,6 +58,14 @@
  *   values.
  *   </para>
  * </listitem>
+ * <listitem>
+ *   <para>
+ *   GstSample
+ *   <classname>&quot;frame&quot;</classname>:
+ *   the frame in which the barcode message was detected, if
+ *   the .#GstZBar:attach-frame property was set to %TRUE (Since 1.6)
+ *   </para>
+ * </listitem>
  * </itemizedlist>
  *
  * <refsect2>
@@ -95,11 +105,13 @@
 {
   PROP_0,
   PROP_MESSAGE,
+  PROP_ATTACH_FRAME,
   PROP_CACHE
 };
 
 #define DEFAULT_CACHE    FALSE
 #define DEFAULT_MESSAGE  TRUE
+#define DEFAULT_ATTACH_FRAME FALSE
 
 #define ZBAR_YUV_CAPS \
     "{ Y800, I420, YV12, NV12, NV21, Y41B, Y42B, YUV9, YVU9 }"
@@ -155,6 +167,19 @@
           "Post a barcode message for each detected code",
           DEFAULT_MESSAGE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
+  /**
+   * GstZBar::attach-frame:
+   *
+   * Attach the frame in which the barcode was detected to the posted
+   * barcode message.
+   *
+   * Since: 1.6
+   */
+  g_object_class_install_property (gobject_class, PROP_ATTACH_FRAME,
+      g_param_spec_boolean ("attach-frame", "Attach frame",
+          "Attach a frame dump to each barcode message",
+          DEFAULT_ATTACH_FRAME, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
   g_object_class_install_property (gobject_class, PROP_CACHE,
       g_param_spec_boolean ("cache", "cache",
           "Enable or disable the inter-image result cache",
@@ -185,6 +210,7 @@
 {
   zbar->cache = DEFAULT_CACHE;
   zbar->message = DEFAULT_MESSAGE;
+  zbar->attach_frame = DEFAULT_ATTACH_FRAME;
 
   zbar->scanner = zbar_image_scanner_create ();
 }
@@ -215,6 +241,9 @@
     case PROP_MESSAGE:
       zbar->message = g_value_get_boolean (value);
       break;
+    case PROP_ATTACH_FRAME:
+      zbar->attach_frame = g_value_get_boolean (value);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -237,6 +266,9 @@
     case PROP_MESSAGE:
       g_value_set_boolean (value, zbar->message);
       break;
+    case PROP_ATTACH_FRAME:
+      g_value_set_boolean (value, zbar->attach_frame);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -267,6 +299,10 @@
 
   /* scan the image for barcodes */
   n = zbar_scan_image (zbar->scanner, image);
+  if (G_UNLIKELY (n == -1)) {
+    GST_WARNING_OBJECT (zbar, "Error trying to scan frame. Skipping");
+    goto out;
+  }
   if (n == 0)
     goto out;
 
@@ -286,15 +322,29 @@
     if (zbar->message) {
       GstMessage *m;
       GstStructure *s;
+      GstSample *sample;
+      GstCaps *sample_caps;
 
-      /* post a message */
       s = gst_structure_new ("barcode",
           "timestamp", G_TYPE_UINT64, GST_BUFFER_TIMESTAMP (frame->buffer),
           "type", G_TYPE_STRING, zbar_get_symbol_name (typ),
           "symbol", G_TYPE_STRING, data, "quality", G_TYPE_INT, quality, NULL);
+
+      if (zbar->attach_frame) {
+        /* create a sample from image */
+        sample_caps = gst_video_info_to_caps (&frame->info);
+        sample = gst_sample_new (frame->buffer, sample_caps, NULL, NULL);
+        gst_caps_unref (sample_caps);
+        gst_structure_set (s, "frame", GST_TYPE_SAMPLE, sample, NULL);
+        gst_sample_unref (sample);
+      }
+
       m = gst_message_new_element (GST_OBJECT (zbar), s);
       gst_element_post_message (GST_ELEMENT (zbar), m);
-    }
+
+    } else if (zbar->attach_frame)
+      GST_WARNING_OBJECT (zbar,
+          "attach-frame=true has no effect if message=false");
   }
 
 out:
diff --git a/ext/zbar/gstzbar.h b/ext/zbar/gstzbar.h
index bb2e15b..c07e01d 100644
--- a/ext/zbar/gstzbar.h
+++ b/ext/zbar/gstzbar.h
@@ -53,6 +53,7 @@
 
   /* properties */
   gboolean message;
+  gboolean attach_frame;
   gboolean cache;
 
   /* internals */
diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
index 655e03e..854aefc 100644
--- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
+++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
@@ -1894,12 +1894,13 @@
     GST_DEBUG_OBJECT (stream->pad, "Fragment download result: %d %s",
         stream->last_ret, gst_flow_get_name (stream->last_ret));
     if (ret != GST_FLOW_OK) {
-      GST_INFO_OBJECT (demux, "No fragment downloaded");
       /* TODO check if we are truly stoping */
       if (ret != GST_FLOW_ERROR && gst_adaptive_demux_is_live (demux)) {
-        /* looks like there is no way of knowing when a live stream has ended
-         * Have to assume we are falling behind and cause a manifest reload */
-        return GST_FLOW_EOS;
+        if (++stream->download_error_count <= MAX_DOWNLOAD_ERROR_COUNT) {
+          /* looks like there is no way of knowing when a live stream has ended
+           * Have to assume we are falling behind and cause a manifest reload */
+          return GST_FLOW_EOS;
+        }
       }
     }
   }
@@ -1984,11 +1985,14 @@
       /* query other pads as some faulty element in the pad's branch might
        * reject position queries. This should be better than using the
        * demux segment position that can be much ahead */
-      for (GList * iter = demux->streams; iter != NULL;
-          iter = g_list_next (iter)) {
-        GstAdaptiveDemuxStream *cur_stream = (GstAdaptiveDemuxStream *)iter->data;
+      GList *iter;
 
-        if (gst_pad_peer_query_position (cur_stream->pad, GST_FORMAT_TIME, &pos)) {
+      for (iter = demux->streams; iter != NULL; iter = g_list_next (iter)) {
+        GstAdaptiveDemuxStream *cur_stream =
+            (GstAdaptiveDemuxStream *) iter->data;
+
+        if (gst_pad_peer_query_position (cur_stream->pad, GST_FORMAT_TIME,
+                &pos)) {
           ts = (GstClockTime) pos;
           GST_DEBUG_OBJECT (stream->pad, "Downstream position: %"
               GST_TIME_FORMAT, GST_TIME_ARGS (ts));
@@ -2038,12 +2042,13 @@
     if (live) {
       gint64 wait_time =
           gst_adaptive_demux_stream_get_fragment_waiting_time (demux, stream);
+      GST_MANIFEST_UNLOCK (demux);
       if (wait_time > 0)
         gst_adaptive_demux_stream_download_wait (stream, wait_time);
+    } else {
+      GST_MANIFEST_UNLOCK (demux);
     }
 
-    GST_MANIFEST_UNLOCK (demux);
-
     GST_OBJECT_LOCK (demux);
     if (demux->cancelled) {
       stream->last_ret = GST_FLOW_FLUSHING;
diff --git a/gst-libs/gst/base/gstaggregator.c b/gst-libs/gst/base/gstaggregator.c
index 4370ac2..095be73 100644
--- a/gst-libs/gst/base/gstaggregator.c
+++ b/gst-libs/gst/base/gstaggregator.c
@@ -681,7 +681,7 @@
     }
     GST_OBJECT_UNLOCK (self);
 
-    if (flow_return == GST_FLOW_EOS) {
+    if (flow_return == GST_FLOW_EOS || flow_return == GST_FLOW_ERROR) {
       gst_aggregator_push_eos (self);
     }
 
@@ -1591,7 +1591,7 @@
 /*
  * gst_aggregator_set_latency_property:
  * @agg: a #GstAggregator
- * @latency: the new latency value.
+ * @latency: the new latency value (in nanoseconds).
  *
  * Sets the new latency value to @latency. This value is used to limit the
  * amount of time a pad waits for data to appear before considering the pad
@@ -1737,7 +1737,7 @@
       g_param_spec_int64 ("latency", "Buffer latency",
           "Additional latency in live mode to allow upstream "
           "to take longer to produce buffers for the current "
-          "position", 0,
+          "position (in nanoseconds)", 0,
           (G_MAXLONG == G_MAXINT64) ? G_MAXINT64 : (G_MAXLONG * GST_SECOND - 1),
           DEFAULT_LATENCY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am
index 8f5f115..a27a32e 100644
--- a/gst-libs/gst/gl/Makefile.am
+++ b/gst-libs/gst/gl/Makefile.am
@@ -2,7 +2,7 @@
 lib_LTLIBRARIES = libgstgl-@GST_API_VERSION@.la
 
 SUBDIRS = glprototypes
-DIST_SUBDIRS = glprototypes android x11 win32 cocoa wayland dispmanx egl eagl
+DIST_SUBDIRS = glprototypes android x11 win32 cocoa wayland dispmanx egl eagl gpuprocess
 
 noinst_HEADERS =
 
@@ -99,6 +99,9 @@
 libgstgl_@GST_API_VERSION@_la_LIBADD += egl/libgstgl-egl.la
 endif
 
+SUBDIRS += gpuprocess
+libgstgl_@GST_API_VERSION@_la_LIBADD += gpuprocess/libgstgl-gpuprocess.la
+
 configexecincludedir = $(libdir)/gstreamer-@GST_API_VERSION@/include/gst/gl
 nodist_configexecinclude_HEADERS = $(built_sys_header_configure)
 
diff --git a/gst-libs/gst/gl/Makefile.in b/gst-libs/gst/gl/Makefile.in
index 3ce5d1b..2e3ad72 100644
--- a/gst-libs/gst/gl/Makefile.in
+++ b/gst-libs/gst/gl/Makefile.in
@@ -180,7 +180,7 @@
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(am__append_2) \
 	$(am__append_4) $(am__append_6) $(am__append_8) \
 	$(am__append_10) $(am__append_12) $(am__append_14) \
-	$(am__append_16)
+	$(am__append_16) gpuprocess/libgstgl-gpuprocess.la
 am_libgstgl_@GST_API_VERSION@_la_OBJECTS =  \
 	libgstgl_@GST_API_VERSION@_la-gstgldisplay.lo \
 	libgstgl_@GST_API_VERSION@_la-gstglcontext.lo \
@@ -824,8 +824,8 @@
 lib_LTLIBRARIES = libgstgl-@GST_API_VERSION@.la
 SUBDIRS = glprototypes $(am__append_1) $(am__append_3) $(am__append_5) \
 	$(am__append_7) $(am__append_9) $(am__append_11) \
-	$(am__append_13) $(am__append_15)
-DIST_SUBDIRS = glprototypes android x11 win32 cocoa wayland dispmanx egl eagl
+	$(am__append_13) $(am__append_15) gpuprocess
+DIST_SUBDIRS = glprototypes android x11 win32 cocoa wayland dispmanx egl eagl gpuprocess
 noinst_HEADERS = 
 built_sys_header_configure = gstglconfig.h
 libgstgl_@GST_API_VERSION@_la_SOURCES = \
@@ -876,7 +876,7 @@
 	$(GST_BASE_LIBS) $(GST_LIBS) $(GL_LIBS) $(am__append_2) \
 	$(am__append_4) $(am__append_6) $(am__append_8) \
 	$(am__append_10) $(am__append_12) $(am__append_14) \
-	$(am__append_16)
+	$(am__append_16) gpuprocess/libgstgl-gpuprocess.la
 configexecincludedir = $(libdir)/gstreamer-@GST_API_VERSION@/include/gst/gl
 nodist_configexecinclude_HEADERS = $(built_sys_header_configure)
 libgstgl_@GST_API_VERSION@_la_CFLAGS = \
diff --git a/gst-libs/gst/gl/android/gstglwindow_android_egl.c b/gst-libs/gst/gl/android/gstglwindow_android_egl.c
index f3c5436..14e07e1 100644
--- a/gst-libs/gst/gl/android/gstglwindow_android_egl.c
+++ b/gst-libs/gst/gl/android/gstglwindow_android_egl.c
@@ -38,7 +38,6 @@
 #define gst_gl_window_android_egl_parent_class parent_class
 G_DEFINE_TYPE (GstGLWindowAndroidEGL, gst_gl_window_android_egl,
     GST_GL_TYPE_WINDOW);
-static void gst_gl_window_android_egl_finalize (GObject * object);
 
 static guintptr gst_gl_window_android_egl_get_display (GstGLWindow * window);
 static guintptr gst_gl_window_android_egl_get_window_handle (GstGLWindow *
@@ -46,19 +45,11 @@
 static void gst_gl_window_android_egl_set_window_handle (GstGLWindow * window,
     guintptr handle);
 static void gst_gl_window_android_egl_draw (GstGLWindow * window);
-static void gst_gl_window_android_egl_run (GstGLWindow * window);
-static void gst_gl_window_android_egl_quit (GstGLWindow * window);
-static void gst_gl_window_android_egl_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy);
-static gboolean gst_gl_window_android_egl_open (GstGLWindow * window,
-    GError ** error);
-static void gst_gl_window_android_egl_close (GstGLWindow * window);
 
 static void
 gst_gl_window_android_egl_class_init (GstGLWindowAndroidEGLClass * klass)
 {
   GstGLWindowClass *window_class = (GstGLWindowClass *) klass;
-  GObjectClass *gobject_class = (GObjectClass *) klass;
 
   window_class->get_display =
       GST_DEBUG_FUNCPTR (gst_gl_window_android_egl_get_display);
@@ -69,32 +60,11 @@
   window_class->draw_unlocked =
       GST_DEBUG_FUNCPTR (gst_gl_window_android_egl_draw);
   window_class->draw = GST_DEBUG_FUNCPTR (gst_gl_window_android_egl_draw);
-  window_class->run = GST_DEBUG_FUNCPTR (gst_gl_window_android_egl_run);
-  window_class->quit = GST_DEBUG_FUNCPTR (gst_gl_window_android_egl_quit);
-  window_class->send_message_async =
-      GST_DEBUG_FUNCPTR (gst_gl_window_android_egl_send_message_async);
-  window_class->open = GST_DEBUG_FUNCPTR (gst_gl_window_android_egl_open);
-  window_class->close = GST_DEBUG_FUNCPTR (gst_gl_window_android_egl_close);
-
-  gobject_class->finalize = gst_gl_window_android_egl_finalize;
 }
 
 static void
 gst_gl_window_android_egl_init (GstGLWindowAndroidEGL * window)
 {
-  window->main_context = g_main_context_new ();
-  window->loop = g_main_loop_new (window->main_context, FALSE);
-}
-
-static void
-gst_gl_window_android_egl_finalize (GObject * object)
-{
-  GstGLWindowAndroidEGL *window_egl = GST_GL_WINDOW_ANDROID_EGL (object);
-
-  g_main_loop_unref (window_egl->loop);
-  g_main_context_unref (window_egl->main_context);
-
-  G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
 /* Must be called in the gl thread */
@@ -110,82 +80,6 @@
   return window;
 }
 
-static gboolean
-gst_gl_window_android_egl_open (GstGLWindow * window, GError ** error)
-{
-  return TRUE;
-}
-
-static void
-gst_gl_window_android_egl_close (GstGLWindow * window)
-{
-}
-
-static void
-gst_gl_window_android_egl_run (GstGLWindow * window)
-{
-  GstGLWindowAndroidEGL *window_egl;
-
-  window_egl = GST_GL_WINDOW_ANDROID_EGL (window);
-
-  GST_LOG ("starting main loop");
-  g_main_loop_run (window_egl->loop);
-  GST_LOG ("exiting main loop");
-}
-
-static void
-gst_gl_window_android_egl_quit (GstGLWindow * window)
-{
-  GstGLWindowAndroidEGL *window_egl;
-
-  window_egl = GST_GL_WINDOW_ANDROID_EGL (window);
-
-  GST_LOG ("sending quit");
-
-  g_main_loop_quit (window_egl->loop);
-
-  GST_LOG ("quit sent");
-}
-
-typedef struct _GstGLMessage
-{
-  GstGLWindowCB callback;
-  gpointer data;
-  GDestroyNotify destroy;
-} GstGLMessage;
-
-static gboolean
-_run_message (GstGLMessage * message)
-{
-  if (message->callback)
-    message->callback (message->data);
-
-  if (message->destroy)
-    message->destroy (message->data);
-
-  g_slice_free (GstGLMessage, message);
-
-  return FALSE;
-}
-
-static void
-gst_gl_window_android_egl_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy)
-{
-  GstGLWindowAndroidEGL *window_egl;
-  GstGLMessage *message;
-
-  window_egl = GST_GL_WINDOW_ANDROID_EGL (window);
-  message = g_slice_new (GstGLMessage);
-
-  message->callback = callback;
-  message->data = data;
-  message->destroy = destroy;
-
-  g_main_context_invoke (window_egl->main_context, (GSourceFunc) _run_message,
-      message);
-}
-
 static void
 gst_gl_window_android_egl_set_window_handle (GstGLWindow * window,
     guintptr handle)
diff --git a/gst-libs/gst/gl/android/gstglwindow_android_egl.h b/gst-libs/gst/gl/android/gstglwindow_android_egl.h
index 0e927e3..341cd20 100644
--- a/gst-libs/gst/gl/android/gstglwindow_android_egl.h
+++ b/gst-libs/gst/gl/android/gstglwindow_android_egl.h
@@ -44,9 +44,6 @@
   EGLNativeWindowType native_window;
   gint window_width, window_height;
 
-  GMainContext *main_context;
-  GMainLoop *loop;
-
   gpointer _reserved[GST_PADDING];
 };
 
diff --git a/gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h b/gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h
index 0ccadc8..ae7abc8 100644
--- a/gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h
+++ b/gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h
@@ -38,6 +38,8 @@
   CGLContextObj external_gl_context;
 
   GstGLAPI context_api;
+
+  gint source_id;
 };
 
 
diff --git a/gst-libs/gst/gl/cocoa/gstglcaopengllayer.h b/gst-libs/gst/gl/cocoa/gstglcaopengllayer.h
index 53a14d8..e3958f8 100644
--- a/gst-libs/gst/gl/cocoa/gstglcaopengllayer.h
+++ b/gst-libs/gst/gl/cocoa/gstglcaopengllayer.h
@@ -35,6 +35,7 @@
   CGLContextObj gl_context;
 
 @private
+  GstGLContext *draw_context;
   CGRect last_bounds;
   gint expected_dims[4];
 
diff --git a/gst-libs/gst/gl/cocoa/gstglcaopengllayer.m b/gst-libs/gst/gl/cocoa/gstglcaopengllayer.m
index b39a161..8ba1e1b 100644
--- a/gst-libs/gst/gl/cocoa/gstglcaopengllayer.m
+++ b/gst-libs/gst/gl/cocoa/gstglcaopengllayer.m
@@ -32,6 +32,9 @@
   if (self->draw_notify)
     self->draw_notify (self->draw_data);
 
+  if (self->draw_context)
+    gst_object_unref (self->draw_context);
+
   GST_TRACE ("dealloc GstGLCAOpenGLLayer %p context %p", self, self->gst_gl_context);
 
   [super dealloc];
@@ -86,8 +89,10 @@
 }
 
 - (CGLContextObj)copyCGLContextForPixelFormat:(CGLPixelFormatObj)pixelFormat {
+  GstGLDisplay *display;
   CGLContextObj external_context = NULL;
   CGLError ret;
+  GError *error = NULL;
 
   if (self->gst_gl_context)
     external_context = (CGLContextObj) gst_gl_context_get_gl_context (GST_GL_CONTEXT (self->gst_gl_context));
@@ -98,8 +103,35 @@
   ret = CGLCreateContext (pixelFormat, external_context, &self->gl_context);
   if (ret != kCGLNoError) {
     GST_ERROR ("failed to create CGL context in CAOpenGLLayer with share context %p: %s", external_context, CGLErrorString(ret));
+    return NULL;
   }
 
+  if (self->draw_context)
+    gst_object_unref (self->draw_context);
+
+  if (kCGLNoError != CGLSetCurrentContext (self->gl_context)) {
+    GST_ERROR ("failed set cgl context %p current", self->gl_context);
+    return NULL;
+  }
+
+  display = gst_gl_context_get_display (GST_GL_CONTEXT (self->gst_gl_context));
+  self->draw_context = gst_gl_context_new_wrapped (display,
+      (guintptr) self->gl_context, GST_GL_PLATFORM_CGL,
+      gst_gl_context_get_current_gl_api (NULL, NULL));
+  gst_object_unref (display);
+
+  if (!self->draw_context) {
+    GST_ERROR ("failed to create wrapped context");
+    return NULL;
+  }
+
+  gst_gl_context_activate (self->draw_context, TRUE);
+  if (!gst_gl_context_fill_info (self->draw_context, &error)) {
+    GST_ERROR ("failed to fill wrapped context information: %s", error->message);
+    return NULL;
+  }
+  gst_gl_context_activate (self->draw_context, FALSE);
+
   return self->gl_context;
 }
 
@@ -151,6 +183,7 @@
    * the CA viewport set up on entry to this function */
   gl->GetIntegerv (GL_VIEWPORT, ca_viewport);
 
+  gst_gl_context_activate (self->draw_context, TRUE);
   if (self->last_bounds.size.width != self.bounds.size.width
       || self->last_bounds.size.height != self.bounds.size.height) {
     if (self->resize_cb) {
@@ -185,6 +218,7 @@
 
   if (self->draw_cb)
     self->draw_cb (self->draw_data);
+  gst_gl_context_activate (self->draw_context, FALSE);
 
   /* flushes the buffer */
   [super drawInCGLContext:glContext pixelFormat:pixelFormat forLayerTime:interval displayTime:timeStamp];
diff --git a/gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m b/gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m
index f2fc429..769395a 100644
--- a/gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m
+++ b/gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m
@@ -165,6 +165,7 @@
   GstGLContextCocoaPrivate *priv = context_cocoa->priv;
   GstGLWindow *window = gst_gl_context_get_window (context);
   GstGLWindowCocoa *window_cocoa = GST_GL_WINDOW_COCOA (window);
+  GstGLAPI context_api = GST_GL_API_NONE;
   const GLint swapInterval = 1;
   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
   CGLPixelFormatObj fmt = NULL;
@@ -175,8 +176,16 @@
     0
   };
   CGLError ret;
+  gint pix_fmt_i = 0;
   gint npix;
 
+  if ((gl_api & (GST_GL_API_OPENGL | GST_GL_API_OPENGL3)) == GST_GL_API_NONE) {
+    g_set_error (error, GST_GL_CONTEXT_ERROR,
+        GST_GL_CONTEXT_ERROR_CREATE_CONTEXT,
+        "The CGL backend only supports GL and GL3");
+    goto error;
+  }
+
   priv->gl_context = nil;
   if (other_context)
     priv->external_gl_context = (CGLContextObj) gst_gl_context_get_gl_context (other_context);
@@ -184,10 +193,40 @@
     priv->external_gl_context = NULL;
 
   if (priv->external_gl_context) {
+    gint profile;
+
     fmt = CGLGetPixelFormat (priv->external_gl_context);
+
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
+    /* core profile is only available in >= 10.7 */
+    if (kCGLNoError == CGLDescribePixelFormat (fmt, 0, kCGLPFAOpenGLProfile,
+          &profile)) {
+      if (profile == kCGLOGLPVersion_3_2_Core) {
+        context_api = GST_GL_API_OPENGL3;
+      } else {
+        context_api =GST_GL_API_OPENGL;
+      }
+    }
+#else
+    context_api = GST_GL_API_OPENGL;
+#endif
   }
 
   if (!fmt) {
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
+    if (gl_api & GST_GL_API_OPENGL3) {
+      attribs[pix_fmt_i++] = kCGLPFAOpenGLProfile;
+      attribs[pix_fmt_i++] = (int) kCGLOGLPVersion_3_2_Core;
+      context_api = GST_GL_API_OPENGL3;
+    } else {
+      context_api = GST_GL_API_OPENGL;
+    }
+#else
+    context_api = GST_GL_API_OPENGL;
+#endif
+
+    attribs[pix_fmt_i++] = 0;
+
     ret = CGLChoosePixelFormat (attribs, &fmt, &npix);
     if (ret != kCGLNoError) {
       g_set_error (error, GST_GL_CONTEXT_ERROR,
@@ -224,15 +263,21 @@
    */
   CGLSetParameter (context_cocoa->priv->gl_context, kCGLCPSwapInterval, &swapInterval);
 
-  gst_object_unref (window);
+  context_cocoa->priv->context_api = context_api;
+
+  if (window)
+    gst_object_unref (window);
   [pool release];
 
   return TRUE;
 
 error:
-  gst_object_unref (window);
-  [pool release];
-  return FALSE;
+  {
+    if (window)
+      gst_object_unref (window);
+    [pool release];
+    return FALSE;
+  }
 }
 
 static void
@@ -259,7 +304,12 @@
 static GstGLAPI
 gst_gl_context_cocoa_get_gl_api (GstGLContext * context)
 {
-  return GST_GL_API_OPENGL;
+  GstGLContextCocoa *context_cocoa = GST_GL_CONTEXT_COCOA (context);
+
+  if (context_cocoa->priv->gl_context)
+    return context_cocoa->priv->context_api;
+
+  return GST_GL_API_OPENGL | GST_GL_API_OPENGL3;
 }
 
 static GstGLPlatform
diff --git a/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m b/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m
index 01a2175..52abfca 100644
--- a/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m
+++ b/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m
@@ -73,10 +73,6 @@
 static void gst_gl_window_cocoa_set_window_handle (GstGLWindow * window,
     guintptr handle);
 static void gst_gl_window_cocoa_draw (GstGLWindow * window);
-static void gst_gl_window_cocoa_run (GstGLWindow * window);
-static void gst_gl_window_cocoa_quit (GstGLWindow * window);
-static void gst_gl_window_cocoa_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy);
 static void gst_gl_window_cocoa_set_preferred_size (GstGLWindow * window,
     gint width, gint height);
 static void gst_gl_window_cocoa_show (GstGLWindow * window);
@@ -86,8 +82,6 @@
   GstGLNSWindow *internal_win_id;
   NSView *external_view;
   gboolean visible;
-  GMainContext *main_context;
-  GMainLoop *loop;
   gint preferred_width;
   gint preferred_height;
 
@@ -113,10 +107,6 @@
       GST_DEBUG_FUNCPTR (gst_gl_window_cocoa_set_window_handle);
   window_class->draw_unlocked = GST_DEBUG_FUNCPTR (gst_gl_window_cocoa_draw);
   window_class->draw = GST_DEBUG_FUNCPTR (gst_gl_window_cocoa_draw);
-  window_class->run = GST_DEBUG_FUNCPTR (gst_gl_window_cocoa_run);
-  window_class->quit = GST_DEBUG_FUNCPTR (gst_gl_window_cocoa_quit);
-  window_class->send_message_async =
-      GST_DEBUG_FUNCPTR (gst_gl_window_cocoa_send_message_async);
   window_class->set_preferred_size =
       GST_DEBUG_FUNCPTR (gst_gl_window_cocoa_set_preferred_size);
   window_class->show = GST_DEBUG_FUNCPTR (gst_gl_window_cocoa_show);
@@ -131,19 +121,11 @@
 
   window->priv->preferred_width = 320;
   window->priv->preferred_height = 240;
-
-  window->priv->main_context = g_main_context_new ();
-  window->priv->loop =g_main_loop_new (window->priv->main_context, FALSE);
 }
 
 static void
 gst_gl_window_cocoa_finalize (GObject * object)
 {
-  GstGLWindowCocoa *window_cocoa = GST_GL_WINDOW_COCOA (object);
-
-  g_main_loop_unref (window_cocoa->priv->loop);
-  g_main_context_unref (window_cocoa->priv->main_context);
-
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
@@ -316,74 +298,12 @@
 }
 
 static void
-gst_gl_window_cocoa_run (GstGLWindow * window)
-{
-  GstGLWindowCocoa *window_cocoa;
-
-  window_cocoa = GST_GL_WINDOW_COCOA (window);
-
-  GST_LOG ("starting main loop");
-  g_main_loop_run (window_cocoa->priv->loop);
-  GST_LOG ("exiting main loop");
-}
-
-/* Thread safe */
-static void
-gst_gl_window_cocoa_quit (GstGLWindow * window)
-{
-  GstGLWindowCocoa *window_cocoa;
-
-  window_cocoa = GST_GL_WINDOW_COCOA (window);
-
-  g_main_loop_quit (window_cocoa->priv->loop);
-}
-
-/* Thread safe */
-typedef struct _GstGLMessage
-{
-  GstGLWindowCB callback;
-  gpointer data;
-  GDestroyNotify destroy;
-} GstGLMessage;
-
-static gboolean
-_run_message (GstGLMessage * message)
-{
-  if (message->callback)
-    message->callback (message->data);
-
-  if (message->destroy)
-    message->destroy (message->data);
-
-  g_slice_free (GstGLMessage, message);
-
-  return FALSE;
-}
-
-static void
-gst_gl_window_cocoa_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy)
-{
-  GstGLWindowCocoa *window_cocoa;
-  GstGLMessage *message;
-
-  window_cocoa = GST_GL_WINDOW_COCOA (window);
-  message = g_slice_new (GstGLMessage);
-
-  message->callback = callback;
-  message->data = data;
-  message->destroy = destroy;
-
-  g_main_context_invoke (window_cocoa->priv->main_context,
-      (GSourceFunc) _run_message, message);
-}
-
-static void
 gst_gl_cocoa_draw_cb (GstGLWindowCocoa *window_cocoa)
 {
   GstGLWindowCocoaPrivate *priv = window_cocoa->priv;
+  GstGLWindow *window = GST_GL_WINDOW (window_cocoa);
 
-  if (g_main_loop_is_running (priv->loop)) {
+  if (gst_gl_window_is_running (window)) {
     if (![priv->internal_win_id isClosed]) {
      GstGLWindow *window = GST_GL_WINDOW (window_cocoa);
 
@@ -402,7 +322,7 @@
   GstGLWindow *window = GST_GL_WINDOW (window_cocoa);
   GstGLContext *context = gst_gl_window_get_context (window);
 
-  if (g_main_loop_is_running (window_cocoa->priv->loop) && ![window_cocoa->priv->internal_win_id isClosed]) {
+  if (gst_gl_window_is_running (window) && ![window_cocoa->priv->internal_win_id isClosed]) {
     const GstGLFuncs *gl;
     NSRect bounds = [view bounds];
     NSRect visibleRect = [view visibleRect];
diff --git a/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c b/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c
index 0adbfb6..a1be53d 100644
--- a/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c
+++ b/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c
@@ -46,7 +46,6 @@
 G_DEFINE_TYPE (GstGLWindowDispmanxEGL, gst_gl_window_dispmanx_egl,
     GST_GL_TYPE_WINDOW);
 
-static void gst_gl_window_dispmanx_egl_finalize (GObject * object);
 static guintptr gst_gl_window_dispmanx_egl_get_window_handle (GstGLWindow *
     window);
 static void gst_gl_window_dispmanx_egl_set_window_handle (GstGLWindow * window,
@@ -54,11 +53,6 @@
 static void gst_gl_window_dispmanx_egl_set_preferred_size (GstGLWindow * window,
     gint width, gint height);
 static void gst_gl_window_dispmanx_egl_show (GstGLWindow * window);
-static void gst_gl_window_dispmanx_egl_draw (GstGLWindow * window);
-static void gst_gl_window_dispmanx_egl_run (GstGLWindow * window);
-static void gst_gl_window_dispmanx_egl_quit (GstGLWindow * window);
-static void gst_gl_window_dispmanx_egl_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy);
 static void gst_gl_window_dispmanx_egl_close (GstGLWindow * window);
 static gboolean gst_gl_window_dispmanx_egl_open (GstGLWindow * window,
     GError ** error);
@@ -72,46 +66,23 @@
 gst_gl_window_dispmanx_egl_class_init (GstGLWindowDispmanxEGLClass * klass)
 {
   GstGLWindowClass *window_class = (GstGLWindowClass *) klass;
-  GObjectClass *gobject_class = (GObjectClass *) klass;
 
   window_class->get_window_handle =
       GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_get_window_handle);
   window_class->set_window_handle =
       GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_set_window_handle);
   window_class->show = GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_show);
-  window_class->draw_unlocked =
-      GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_draw);
-  window_class->draw = GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_draw);
-  window_class->run = GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_run);
-  window_class->quit = GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_quit);
-  window_class->send_message_async =
-      GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_send_message_async);
   window_class->close = GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_close);
   window_class->open = GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_open);
   window_class->get_display =
       GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_get_display);
   window_class->set_preferred_size =
       GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_set_preferred_size);
-
-  gobject_class->finalize = gst_gl_window_dispmanx_egl_finalize;
 }
 
 static void
 gst_gl_window_dispmanx_egl_init (GstGLWindowDispmanxEGL * window_egl)
 {
-  window_egl->main_context = g_main_context_new ();
-  window_egl->loop = g_main_loop_new (window_egl->main_context, FALSE);
-}
-
-static void
-gst_gl_window_dispmanx_egl_finalize (GObject * object)
-{
-  GstGLWindowDispmanxEGL *window_egl = GST_GL_WINDOW_DISPMANX_EGL (object);
-
-  g_main_loop_unref (window_egl->loop);
-  g_main_context_unref (window_egl->main_context);
-
-  G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
 /* Must be called in the gl thread */
@@ -152,10 +123,7 @@
   }
   vc_dispmanx_display_close (window_egl->display);
 
-  g_main_loop_unref (window_egl->loop);
-  window_egl->loop = NULL;
-  g_main_context_unref (window_egl->main_context);
-  window_egl->main_context = NULL;
+  GST_GL_WINDOW_CLASS (parent_class)->close (window);
 }
 
 static gboolean
@@ -165,7 +133,8 @@
   gint ret = graphics_get_display_size (0, &window_egl->dp_width,
       &window_egl->dp_height);
   if (ret < 0) {
-    GST_ERROR ("Can't open display");
+    g_set_error (error, GST_GL_WINDOW_ERROR, GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE,
+        "Can't open display");
     return FALSE;
   }
   GST_DEBUG ("Got display size: %dx%d\n", window_egl->dp_width,
@@ -173,7 +142,7 @@
 
   window_egl->native.element = 0;
 
-  return TRUE;
+  return GST_GL_WINDOW_CLASS (parent_class)->open (window, error);
 }
 
 gboolean
@@ -186,71 +155,6 @@
   return TRUE;
 }
 
-static void
-gst_gl_window_dispmanx_egl_run (GstGLWindow * window)
-{
-  GstGLWindowDispmanxEGL *window_egl;
-
-  window_egl = GST_GL_WINDOW_DISPMANX_EGL (window);
-
-  GST_LOG ("starting main loop");
-  g_main_loop_run (window_egl->loop);
-  GST_LOG ("exiting main loop");
-}
-
-static void
-gst_gl_window_dispmanx_egl_quit (GstGLWindow * window)
-{
-  GstGLWindowDispmanxEGL *window_egl;
-
-  window_egl = GST_GL_WINDOW_DISPMANX_EGL (window);
-
-  GST_LOG ("sending quit");
-
-  g_main_loop_quit (window_egl->loop);
-
-  GST_LOG ("quit sent");
-}
-
-typedef struct _GstGLMessage
-{
-  GstGLWindowCB callback;
-  gpointer data;
-  GDestroyNotify destroy;
-} GstGLMessage;
-
-static gboolean
-_run_message (GstGLMessage * message)
-{
-  if (message->callback)
-    message->callback (message->data);
-
-  if (message->destroy)
-    message->destroy (message->data);
-
-  g_slice_free (GstGLMessage, message);
-
-  return FALSE;
-}
-
-static void
-gst_gl_window_dispmanx_egl_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy)
-{
-  GstGLWindowDispmanxEGL *window_egl;
-  GstGLMessage *message;
-
-  window_egl = GST_GL_WINDOW_DISPMANX_EGL (window);
-  message = g_slice_new (GstGLMessage);
-
-  message->callback = callback;
-  message->data = data;
-  message->destroy = destroy;
-
-  g_main_context_invoke (window_egl->main_context, (GSourceFunc) _run_message,
-      message);
-}
-
 static guintptr
 gst_gl_window_dispmanx_egl_get_window_handle (GstGLWindow * window)
 {
@@ -332,8 +236,8 @@
     vc_dispmanx_update_submit_sync (dispman_update);
 
     if (GST_GL_WINDOW (window_egl)->resize)
-      GST_GL_WINDOW (window_egl)->
-          resize (GST_GL_WINDOW (window_egl)->resize_data, width, height);
+      GST_GL_WINDOW (window_egl)->resize (GST_GL_WINDOW (window_egl)->
+          resize_data, width, height);
   }
 
   window_egl->native.width = width;
@@ -346,33 +250,12 @@
   GstGLWindowDispmanxEGL *window_egl = GST_GL_WINDOW_DISPMANX_EGL (window);
 
   if (!window_egl->visible) {
-    window_resize (window_egl, window_egl->preferred_width, window_egl->preferred_height, TRUE);
+    window_resize (window_egl, window_egl->preferred_width,
+        window_egl->preferred_height, TRUE);
     window_egl->visible = TRUE;
   }
 }
 
-static void
-draw_cb (gpointer data)
-{
-  GstGLWindowDispmanxEGL *window_egl = data;
-  GstGLWindow *window = GST_GL_WINDOW (window_egl);
-  GstGLContext *context = gst_gl_window_get_context (window);
-  GstGLContextClass *context_class = GST_GL_CONTEXT_GET_CLASS (context);
-
-  if (window->draw)
-    window->draw (window->draw_data);
-
-  context_class->swap_buffers (context);
-
-  gst_object_unref (context);
-}
-
-static void
-gst_gl_window_dispmanx_egl_draw (GstGLWindow * window)
-{
-  gst_gl_window_send_message (window, (GstGLWindowCB) draw_cb, window);
-}
-
 static guintptr
 gst_gl_window_dispmanx_egl_get_display (GstGLWindow * window)
 {
diff --git a/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h b/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h
index 1572bd5..b25c219 100644
--- a/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h
+++ b/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h
@@ -51,9 +51,6 @@
   gint preferred_width;
   gint preferred_height;
 
-  GMainContext *main_context;
-  GMainLoop *loop;
-
   gboolean visible;
 
   gpointer _reserved[GST_PADDING];
diff --git a/gst-libs/gst/gl/eagl/gstglwindow_eagl.m b/gst-libs/gst/gl/eagl/gstglwindow_eagl.m
index e1d06fd..7ccffa8 100644
--- a/gst-libs/gst/gl/eagl/gstglwindow_eagl.m
+++ b/gst-libs/gst/gl/eagl/gstglwindow_eagl.m
@@ -40,7 +40,6 @@
 #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);
@@ -49,28 +48,18 @@
 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_run (GstGLWindow * window);
-static void gst_gl_window_eagl_quit (GstGLWindow * window);
-static void gst_gl_window_eagl_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy);
-static gboolean gst_gl_window_eagl_open (GstGLWindow * window, GError ** error);
-static void gst_gl_window_eagl_close (GstGLWindow * window);
 
 struct _GstGLWindowEaglPrivate
 {
   UIView *view;
   gint window_width, window_height;
   gint preferred_width, preferred_height;
-
-  GMainContext *main_context;
-  GMainLoop *loop;
 };
 
 static void
 gst_gl_window_eagl_class_init (GstGLWindowEaglClass * klass)
 {
   GstGLWindowClass *window_class = (GstGLWindowClass *) klass;
-  GObjectClass *gobject_class = (GObjectClass *) klass;
 
   g_type_class_add_private (klass, sizeof (GstGLWindowEaglPrivate));
 
@@ -82,16 +71,8 @@
       GST_DEBUG_FUNCPTR (gst_gl_window_eagl_set_window_handle);
   window_class->draw_unlocked = GST_DEBUG_FUNCPTR (gst_gl_window_eagl_draw);
   window_class->draw = GST_DEBUG_FUNCPTR (gst_gl_window_eagl_draw);
-  window_class->run = GST_DEBUG_FUNCPTR (gst_gl_window_eagl_run);
-  window_class->quit = GST_DEBUG_FUNCPTR (gst_gl_window_eagl_quit);
-  window_class->send_message_async =
-      GST_DEBUG_FUNCPTR (gst_gl_window_eagl_send_message_async);
-  window_class->open = GST_DEBUG_FUNCPTR (gst_gl_window_eagl_open);
-  window_class->close = GST_DEBUG_FUNCPTR (gst_gl_window_eagl_close);
   window_class->set_preferred_size =
       GST_DEBUG_FUNCPTR (gst_gl_window_eagl_set_preferred_size);
-
-  gobject_class->finalize = gst_gl_window_eagl_finalize;
 }
 
 static void
@@ -99,19 +80,6 @@
 {
   window->priv = GST_GL_WINDOW_EAGL_GET_PRIVATE (window);
 
-  window->priv->main_context = g_main_context_new ();
-  window->priv->loop = g_main_loop_new (window->priv->main_context, FALSE);
-}
-
-static void
-gst_gl_window_eagl_finalize (GObject * object)
-{
-  GstGLWindowEagl *window_eagl = GST_GL_WINDOW_EAGL (object);
-
-  g_main_loop_unref (window_eagl->priv->loop);
-  g_main_context_unref (window_eagl->priv->main_context);
-
-  G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
 /* Must be called in the gl thread */
@@ -149,82 +117,6 @@
   gst_gl_context_eagl_update_layer (context);
 }
 
-static gboolean
-gst_gl_window_eagl_open (GstGLWindow * window, GError ** error)
-{
-  return TRUE;
-}
-
-static void
-gst_gl_window_eagl_close (GstGLWindow * window)
-{
-}
-
-static void
-gst_gl_window_eagl_run (GstGLWindow * window)
-{
-  GstGLWindowEagl *window_eagl;
-
-  window_eagl = GST_GL_WINDOW_EAGL (window);
-
-  GST_LOG ("starting main loop");
-  g_main_loop_run (window_eagl->priv->loop);
-  GST_LOG ("exiting main loop");
-}
-
-static void
-gst_gl_window_eagl_quit (GstGLWindow * window)
-{
-  GstGLWindowEagl *window_eagl;
-
-  window_eagl = GST_GL_WINDOW_EAGL (window);
-
-  GST_LOG ("sending quit");
-
-  g_main_loop_quit (window_eagl->priv->loop);
-
-  GST_LOG ("quit sent");
-}
-
-typedef struct _GstGLMessage
-{
-  GstGLWindowCB callback;
-  gpointer data;
-  GDestroyNotify destroy;
-} GstGLMessage;
-
-static gboolean
-_run_message (GstGLMessage * message)
-{
-  if (message->callback)
-    message->callback (message->data);
-
-  if (message->destroy)
-    message->destroy (message->data);
-
-  g_slice_free (GstGLMessage, message);
-
-  return FALSE;
-}
-
-static void
-gst_gl_window_eagl_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy)
-{
-  GstGLWindowEagl *window_eagl;
-  GstGLMessage *message;
-
-  window_eagl = GST_GL_WINDOW_EAGL (window);
-  message = g_slice_new (GstGLMessage);
-
-  message->callback = callback;
-  message->data = data;
-  message->destroy = destroy;
-
-  g_main_context_invoke (window_eagl->priv->main_context,
-      (GSourceFunc) _run_message, message);
-}
-
 static void
 gst_gl_window_eagl_set_preferred_size (GstGLWindow * window, gint width, gint height)
 {
diff --git a/gst-libs/gst/gl/egl/gstglcontext_egl.c b/gst-libs/gst/gl/egl/gstglcontext_egl.c
index f1fb70f..14be7c6 100644
--- a/gst-libs/gst/gl/egl/gstglcontext_egl.c
+++ b/gst-libs/gst/gl/egl/gstglcontext_egl.c
@@ -34,6 +34,9 @@
 #include "../x11/gstglwindow_x11.h"
 #include <gst/gl/x11/gstgldisplay_x11.h>
 #endif
+#if GST_GL_HAVE_WINDOW_WAYLAND
+#include "../wayland/gstglwindow_wayland_egl.h"
+#endif
 #if GST_GL_HAVE_WINDOW_WIN32
 #include "../win32/gstglwindow_win32.h"
 #endif
@@ -393,6 +396,12 @@
       gst_gl_window_x11_create_window ((GstGLWindowX11 *) context->window);
     }
 #endif
+#if GST_GL_HAVE_WINDOW_WAYLAND
+    if (GST_GL_IS_WINDOW_WAYLAND_EGL (context->window)) {
+      gst_gl_window_wayland_egl_create_window ((GstGLWindowWaylandEGL *)
+          context->window);
+    }
+#endif
 #if GST_GL_HAVE_WINDOW_WIN32
     if (GST_GL_IS_WINDOW_WIN32 (context->window)) {
       gst_gl_window_win32_create_window ((GstGLWindowWin32 *) context->window);
diff --git a/gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h b/gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h
index b185e6a..d282990 100644
--- a/gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h
+++ b/gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h
@@ -31,7 +31,6 @@
 //FIXME:
 #define GL_RGB16 GL_RGB565
 #define GL_RGB8 GL_RGB
-#define GL_RGBA8 GL_RGBA
 //END FIXME
 
 /* UNSUPPORTED */
diff --git a/gst-libs/gst/gl/gpuprocess/Makefile.am b/gst-libs/gst/gl/gpuprocess/Makefile.am
new file mode 100644
index 0000000..4db0cf1
--- /dev/null
+++ b/gst-libs/gst/gl/gpuprocess/Makefile.am
@@ -0,0 +1,27 @@
+## Process this file with automake to produce Makefile.in
+
+noinst_LTLIBRARIES = libgstgl-gpuprocess.la
+
+libgstgl_gpuprocess_la_SOURCES = \
+	gstglcontext_gpu_process.c \
+	gstglwindow_gpu_process.c
+
+noinst_HEADERS = gstglwindow_gpu_process.h
+
+libgstgl_gpuprocessincludedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/gl/gpuprocess
+libgstgl_gpuprocessinclude_HEADERS = \
+	gstglcontext_gpu_process.h \
+	gstglwindow_gpu_process.h
+
+libgstgl_gpuprocess_la_CFLAGS = \
+	-I$(top_srcdir)/gst-libs \
+	-I$(top_builddir)/gst-libs \
+	$(GL_CFLAGS) \
+	$(GST_PLUGINS_BASE_CFLAGS) \
+	$(GST_BASE_CFLAGS) \
+	$(GST_CFLAGS)
+
+libgstgl_gpuprocess_la_LDFLAGS = \
+	$(GST_LIB_LDFLAGS) \
+	$(GST_ALL_LDFLAGS)
+
diff --git a/gst-libs/gst/gl/gpuprocess/Makefile.in b/gst-libs/gst/gl/gpuprocess/Makefile.in
new file mode 100644
index 0000000..f73e042
--- /dev/null
+++ b/gst-libs/gst/gl/gpuprocess/Makefile.in
@@ -0,0 +1,1094 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = gst-libs/gst/gl/gpuprocess
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+	$(top_srcdir)/depcomp $(libgstgl_gpuprocessinclude_HEADERS) \
+	$(noinst_HEADERS)
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
+	$(top_srcdir)/common/m4/as-auto-alt.m4 \
+	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
+	$(top_srcdir)/common/m4/as-libtool.m4 \
+	$(top_srcdir)/common/m4/as-version.m4 \
+	$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
+	$(top_srcdir)/common/m4/ax_pthread.m4 \
+	$(top_srcdir)/common/m4/gst-arch.m4 \
+	$(top_srcdir)/common/m4/gst-args.m4 \
+	$(top_srcdir)/common/m4/gst-check.m4 \
+	$(top_srcdir)/common/m4/gst-default.m4 \
+	$(top_srcdir)/common/m4/gst-dowhile.m4 \
+	$(top_srcdir)/common/m4/gst-error.m4 \
+	$(top_srcdir)/common/m4/gst-feature.m4 \
+	$(top_srcdir)/common/m4/gst-gettext.m4 \
+	$(top_srcdir)/common/m4/gst-glib2.m4 \
+	$(top_srcdir)/common/m4/gst-package-release-datetime.m4 \
+	$(top_srcdir)/common/m4/gst-platform.m4 \
+	$(top_srcdir)/common/m4/gst-plugin-docs.m4 \
+	$(top_srcdir)/common/m4/gst-plugindir.m4 \
+	$(top_srcdir)/common/m4/gst.m4 \
+	$(top_srcdir)/common/m4/gtk-doc.m4 \
+	$(top_srcdir)/common/m4/introspection.m4 \
+	$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
+	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
+	$(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
+	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
+	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+	$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libgstgl_gpuprocess_la_LIBADD =
+am_libgstgl_gpuprocess_la_OBJECTS =  \
+	libgstgl_gpuprocess_la-gstglcontext_gpu_process.lo \
+	libgstgl_gpuprocess_la-gstglwindow_gpu_process.lo
+libgstgl_gpuprocess_la_OBJECTS = $(am_libgstgl_gpuprocess_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 = 
+libgstgl_gpuprocess_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+	$(libgstgl_gpuprocess_la_CFLAGS) $(CFLAGS) \
+	$(libgstgl_gpuprocess_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
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = $(libgstgl_gpuprocess_la_SOURCES)
+DIST_SOURCES = $(libgstgl_gpuprocess_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+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)$(libgstgl_gpuprocessincludedir)"
+HEADERS = $(libgstgl_gpuprocessinclude_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
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
+ACMENC_CFLAGS = @ACMENC_CFLAGS@
+ACMMP3DEC_CFLAGS = @ACMMP3DEC_CFLAGS@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+APEXSINK_CFLAGS = @APEXSINK_CFLAGS@
+APEXSINK_LIBS = @APEXSINK_LIBS@
+AR = @AR@
+AS = @AS@
+ASSRENDER_CFLAGS = @ASSRENDER_CFLAGS@
+ASSRENDER_LIBS = @ASSRENDER_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLUEZ4_CFLAGS = @BLUEZ4_CFLAGS@
+BLUEZ4_LIBS = @BLUEZ4_LIBS@
+BLUEZ5_CFLAGS = @BLUEZ5_CFLAGS@
+BLUEZ5_LIBS = @BLUEZ5_LIBS@
+BS2B_CFLAGS = @BS2B_CFLAGS@
+BS2B_LIBS = @BS2B_LIBS@
+BZ2_LIBS = @BZ2_LIBS@
+CC = @CC@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CHROMAPRINT_CFLAGS = @CHROMAPRINT_CFLAGS@
+CHROMAPRINT_LIBS = @CHROMAPRINT_LIBS@
+CLUTTER_CFLAGS = @CLUTTER_CFLAGS@
+CLUTTER_GLX_CFLAGS = @CLUTTER_GLX_CFLAGS@
+CLUTTER_GLX_LIBS = @CLUTTER_GLX_LIBS@
+CLUTTER_LIBS = @CLUTTER_LIBS@
+CLUTTER_X11_CFLAGS = @CLUTTER_X11_CFLAGS@
+CLUTTER_X11_LIBS = @CLUTTER_X11_LIBS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CURL_CFLAGS = @CURL_CFLAGS@
+CURL_LIBS = @CURL_LIBS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DAALA_CFLAGS = @DAALA_CFLAGS@
+DAALA_LIBS = @DAALA_LIBS@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DCCP_LIBS = @DCCP_LIBS@
+DECKLINK_CXXFLAGS = @DECKLINK_CXXFLAGS@
+DECKLINK_LIBS = @DECKLINK_LIBS@
+DEFAULT_AUDIOSINK = @DEFAULT_AUDIOSINK@
+DEFAULT_AUDIOSRC = @DEFAULT_AUDIOSRC@
+DEFAULT_VIDEOSINK = @DEFAULT_VIDEOSINK@
+DEFAULT_VIDEOSRC = @DEFAULT_VIDEOSRC@
+DEFAULT_VISUALIZER = @DEFAULT_VISUALIZER@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DEPRECATED_CFLAGS = @DEPRECATED_CFLAGS@
+DIRECT3D_LIBS = @DIRECT3D_LIBS@
+DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
+DIRECTFB_LIBS = @DIRECTFB_LIBS@
+DIRECTSOUND_LIBS = @DIRECTSOUND_LIBS@
+DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
+DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DTLS_CFLAGS = @DTLS_CFLAGS@
+DTLS_LIBS = @DTLS_LIBS@
+DTS_LIBS = @DTS_LIBS@
+DUMPBIN = @DUMPBIN@
+DVDNAV_CFLAGS = @DVDNAV_CFLAGS@
+DVDNAV_LIBS = @DVDNAV_LIBS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ERROR_CFLAGS = @ERROR_CFLAGS@
+ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
+EXEEXT = @EXEEXT@
+EXIF_CFLAGS = @EXIF_CFLAGS@
+EXIF_LIBS = @EXIF_LIBS@
+FAAC_LIBS = @FAAC_LIBS@
+FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
+FAAD_LIBS = @FAAD_LIBS@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLITE_CFLAGS = @FLITE_CFLAGS@
+FLITE_LIBS = @FLITE_LIBS@
+FLUIDSYNTH_CFLAGS = @FLUIDSYNTH_CFLAGS@
+FLUIDSYNTH_LIBS = @FLUIDSYNTH_LIBS@
+GCOV = @GCOV@
+GCOV_CFLAGS = @GCOV_CFLAGS@
+GCOV_LIBS = @GCOV_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GIO_CFLAGS = @GIO_CFLAGS@
+GIO_LDFLAGS = @GIO_LDFLAGS@
+GIO_LIBS = @GIO_LIBS@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
+GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
+GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GLIB_PREFIX = @GLIB_PREFIX@
+GLIB_REQ = @GLIB_REQ@
+GL_CFLAGS = @GL_CFLAGS@
+GL_LIBS = @GL_LIBS@
+GL_OBJCFLAGS = @GL_OBJCFLAGS@
+GME_LIBS = @GME_LIBS@
+GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
+GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
+GRAPHENE_LIBS = @GRAPHENE_LIBS@
+GREP = @GREP@
+GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
+GSETTINGS_LIBS = @GSETTINGS_LIBS@
+GSM_LIBS = @GSM_LIBS@
+GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
+GSTPB_PREFIX = @GSTPB_PREFIX@
+GST_AGE = @GST_AGE@
+GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
+GST_API_VERSION = @GST_API_VERSION@
+GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
+GST_BASE_LIBS = @GST_BASE_LIBS@
+GST_CFLAGS = @GST_CFLAGS@
+GST_CHECK_CFLAGS = @GST_CHECK_CFLAGS@
+GST_CHECK_LIBS = @GST_CHECK_LIBS@
+GST_CONTROLLER_CFLAGS = @GST_CONTROLLER_CFLAGS@
+GST_CONTROLLER_LIBS = @GST_CONTROLLER_LIBS@
+GST_CURRENT = @GST_CURRENT@
+GST_CXXFLAGS = @GST_CXXFLAGS@
+GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
+GST_LIBS = @GST_LIBS@
+GST_LIBVERSION = @GST_LIBVERSION@
+GST_LIB_LDFLAGS = @GST_LIB_LDFLAGS@
+GST_LICENSE = @GST_LICENSE@
+GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
+GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
+GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
+GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
+GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
+GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
+GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
+GST_PLUGINS_BAD_CFLAGS = @GST_PLUGINS_BAD_CFLAGS@
+GST_PLUGINS_BAD_CXXFLAGS = @GST_PLUGINS_BAD_CXXFLAGS@
+GST_PLUGINS_BAD_OBJCFLAGS = @GST_PLUGINS_BAD_OBJCFLAGS@
+GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
+GST_PLUGINS_BASE_DIR = @GST_PLUGINS_BASE_DIR@
+GST_PLUGINS_BASE_LIBS = @GST_PLUGINS_BASE_LIBS@
+GST_PLUGINS_DIR = @GST_PLUGINS_DIR@
+GST_PLUGINS_GOOD_CFLAGS = @GST_PLUGINS_GOOD_CFLAGS@
+GST_PLUGINS_GOOD_DIR = @GST_PLUGINS_GOOD_DIR@
+GST_PLUGINS_GOOD_LIBS = @GST_PLUGINS_GOOD_LIBS@
+GST_PLUGINS_LIBAV_CFLAGS = @GST_PLUGINS_LIBAV_CFLAGS@
+GST_PLUGINS_LIBAV_DIR = @GST_PLUGINS_LIBAV_DIR@
+GST_PLUGINS_LIBAV_LIBS = @GST_PLUGINS_LIBAV_LIBS@
+GST_PLUGINS_NONPORTED = @GST_PLUGINS_NONPORTED@
+GST_PLUGINS_SELECTED = @GST_PLUGINS_SELECTED@
+GST_PLUGINS_UGLY_CFLAGS = @GST_PLUGINS_UGLY_CFLAGS@
+GST_PLUGINS_UGLY_DIR = @GST_PLUGINS_UGLY_DIR@
+GST_PLUGINS_UGLY_LIBS = @GST_PLUGINS_UGLY_LIBS@
+GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
+GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
+GST_PREFIX = @GST_PREFIX@
+GST_REVISION = @GST_REVISION@
+GST_TOOLS_DIR = @GST_TOOLS_DIR@
+GST_VIDEO_CFLAGS = @GST_VIDEO_CFLAGS@
+GST_VIDEO_LIBS = @GST_VIDEO_LIBS@
+GTK3_CFLAGS = @GTK3_CFLAGS@
+GTK3_LIBS = @GTK3_LIBS@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GTK_BASE_DIR = @GTK_BASE_DIR@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+GTK_VERSION = @GTK_VERSION@
+G_UDEV_CFLAGS = @G_UDEV_CFLAGS@
+G_UDEV_LIBS = @G_UDEV_LIBS@
+HAVE_CLUTTER = @HAVE_CLUTTER@
+HAVE_CLUTTER_GLX = @HAVE_CLUTTER_GLX@
+HAVE_CLUTTER_X11 = @HAVE_CLUTTER_X11@
+HAVE_CXX = @HAVE_CXX@
+HAVE_DIRECT3D = @HAVE_DIRECT3D@
+HAVE_DIRECTSOUND = @HAVE_DIRECTSOUND@
+HAVE_DTS = @HAVE_DTS@
+HAVE_EGL = @HAVE_EGL@
+HAVE_FAAC = @HAVE_FAAC@
+HAVE_FAAD = @HAVE_FAAD@
+HAVE_FLITE = @HAVE_FLITE@
+HAVE_GL = @HAVE_GL@
+HAVE_GLES2 = @HAVE_GLES2@
+HAVE_GRAPHENE = @HAVE_GRAPHENE@
+HAVE_GSM = @HAVE_GSM@
+HAVE_GTK3 = @HAVE_GTK3@
+HAVE_JPEG = @HAVE_JPEG@
+HAVE_NAS = @HAVE_NAS@
+HAVE_OPENJPEG = @HAVE_OPENJPEG@
+HAVE_PNG = @HAVE_PNG@
+HAVE_SRTP = @HAVE_SRTP@
+HAVE_WASAPI = @HAVE_WASAPI@
+HAVE_WILDMIDI = @HAVE_WILDMIDI@
+HAVE_WINKS = @HAVE_WINKS@
+HAVE_WINSCREENCAP = @HAVE_WINSCREENCAP@
+HAVE_X11 = @HAVE_X11@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+JPEG_LIBS = @JPEG_LIBS@
+KATE_CFLAGS = @KATE_CFLAGS@
+KATE_LIBS = @KATE_LIBS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBDC1394_CFLAGS = @LIBDC1394_CFLAGS@
+LIBDC1394_LIBS = @LIBDC1394_LIBS@
+LIBDE265_CFLAGS = @LIBDE265_CFLAGS@
+LIBDE265_LIBS = @LIBDE265_LIBS@
+LIBDIR = @LIBDIR@
+LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
+LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
+LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBM = @LIBM@
+LIBMMS_CFLAGS = @LIBMMS_CFLAGS@
+LIBMMS_LIBS = @LIBMMS_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
+LIBPNG_LIBS = @LIBPNG_LIBS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@
+LIBUDEV_LIBS = @LIBUDEV_LIBS@
+LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
+LIBUSB_LIBS = @LIBUSB_LIBS@
+LIBVISUAL_CFLAGS = @LIBVISUAL_CFLAGS@
+LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALEDIR = @LOCALEDIR@
+LRDF_CFLAGS = @LRDF_CFLAGS@
+LRDF_LIBS = @LRDF_LIBS@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MIMIC_CFLAGS = @MIMIC_CFLAGS@
+MIMIC_LIBS = @MIMIC_LIBS@
+MJPEG_CFLAGS = @MJPEG_CFLAGS@
+MJPEG_LIBS = @MJPEG_LIBS@
+MKDIR_P = @MKDIR_P@
+MODPLUG_CFLAGS = @MODPLUG_CFLAGS@
+MODPLUG_LIBS = @MODPLUG_LIBS@
+MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
+MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
+MPG123_CFLAGS = @MPG123_CFLAGS@
+MPG123_LIBS = @MPG123_LIBS@
+MPLEX_CFLAGS = @MPLEX_CFLAGS@
+MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
+MPLEX_LIBS = @MPLEX_LIBS@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+MUSEPACK_LIBS = @MUSEPACK_LIBS@
+NAS_CFLAGS = @NAS_CFLAGS@
+NAS_LIBS = @NAS_LIBS@
+NEON_CFLAGS = @NEON_CFLAGS@
+NEON_LIBS = @NEON_LIBS@
+NETTLE_CFLAGS = @NETTLE_CFLAGS@
+NETTLE_LIBS = @NETTLE_LIBS@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJC = @OBJC@
+OBJCDEPMODE = @OBJCDEPMODE@
+OBJCFLAGS = @OBJCFLAGS@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OFA_CFLAGS = @OFA_CFLAGS@
+OFA_LIBS = @OFA_LIBS@
+OPENAL_CFLAGS = @OPENAL_CFLAGS@
+OPENAL_LIBS = @OPENAL_LIBS@
+OPENCV_CFLAGS = @OPENCV_CFLAGS@
+OPENCV_LIBS = @OPENCV_LIBS@
+OPENCV_PREFIX = @OPENCV_PREFIX@
+OPENEXR_CFLAGS = @OPENEXR_CFLAGS@
+OPENEXR_LIBS = @OPENEXR_LIBS@
+OPENH264_CFLAGS = @OPENH264_CFLAGS@
+OPENH264_LIBS = @OPENH264_LIBS@
+OPENJPEG_CFLAGS = @OPENJPEG_CFLAGS@
+OPENJPEG_LIBS = @OPENJPEG_LIBS@
+OPENNI2_CFLAGS = @OPENNI2_CFLAGS@
+OPENNI2_LIBS = @OPENNI2_LIBS@
+OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
+OPENSSL_LIBS = @OPENSSL_LIBS@
+OPUS_CFLAGS = @OPUS_CFLAGS@
+OPUS_LIBS = @OPUS_LIBS@
+ORCC = @ORCC@
+ORCC_FLAGS = @ORCC_FLAGS@
+ORC_CFLAGS = @ORC_CFLAGS@
+ORC_LIBS = @ORC_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
+PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@
+PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
+PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@
+PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PLUGINDIR = @PLUGINDIR@
+POSUB = @POSUB@
+PROFILE_CFLAGS = @PROFILE_CFLAGS@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PVR_CFLAGS = @PVR_CFLAGS@
+PVR_LIBS = @PVR_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
+RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
+RSVG_CFLAGS = @RSVG_CFLAGS@
+RSVG_LIBS = @RSVG_LIBS@
+RTMP_CFLAGS = @RTMP_CFLAGS@
+RTMP_LIBS = @RTMP_LIBS@
+SBC_CFLAGS = @SBC_CFLAGS@
+SBC_LIBS = @SBC_LIBS@
+SCHRO_CFLAGS = @SCHRO_CFLAGS@
+SCHRO_LIBS = @SCHRO_LIBS@
+SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CLUTTER = @SDL_CLUTTER@
+SDL_CONFIG = @SDL_CONFIG@
+SDL_LIBS = @SDL_LIBS@
+SED = @SED@
+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@
+SOUNDTOUCH_CFLAGS = @SOUNDTOUCH_CFLAGS@
+SOUNDTOUCH_LIBS = @SOUNDTOUCH_LIBS@
+SPANDSP_CFLAGS = @SPANDSP_CFLAGS@
+SPANDSP_LIBS = @SPANDSP_LIBS@
+SPC_LIBS = @SPC_LIBS@
+SRTP_CFLAGS = @SRTP_CFLAGS@
+SRTP_LIBS = @SRTP_LIBS@
+SSH2_CFLAGS = @SSH2_CFLAGS@
+SSH2_LIBS = @SSH2_LIBS@
+STRIP = @STRIP@
+TELETEXTDEC_CFLAGS = @TELETEXTDEC_CFLAGS@
+TELETEXTDEC_LIBS = @TELETEXTDEC_LIBS@
+TIGER_CFLAGS = @TIGER_CFLAGS@
+TIGER_LIBS = @TIGER_LIBS@
+TIMIDITY_CFLAGS = @TIMIDITY_CFLAGS@
+TIMIDITY_LIBS = @TIMIDITY_LIBS@
+USE_GLES2 = @USE_GLES2@
+USE_NLS = @USE_NLS@
+USE_OPENGL = @USE_OPENGL@
+VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
+VALGRIND_LIBS = @VALGRIND_LIBS@
+VALGRIND_PATH = @VALGRIND_PATH@
+VDPAU_CFLAGS = @VDPAU_CFLAGS@
+VDPAU_LIBS = @VDPAU_LIBS@
+VERSION = @VERSION@
+VOAACENC_CFLAGS = @VOAACENC_CFLAGS@
+VOAACENC_LIBS = @VOAACENC_LIBS@
+VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
+VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+WARNING_CFLAGS = @WARNING_CFLAGS@
+WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
+WASAPI_LIBS = @WASAPI_LIBS@
+WAYLAND_CFLAGS = @WAYLAND_CFLAGS@
+WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
+WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
+WAYLAND_LIBS = @WAYLAND_LIBS@
+WEBP_CFLAGS = @WEBP_CFLAGS@
+WEBP_LIBS = @WEBP_LIBS@
+WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
+WILDMIDI_LIBS = @WILDMIDI_LIBS@
+WINKS_LIBS = @WINKS_LIBS@
+WINSCREENCAP_LIBS = @WINSCREENCAP_LIBS@
+WINSOCK2_LIBS = @WINSOCK2_LIBS@
+X11_CFLAGS = @X11_CFLAGS@
+X11_LIBS = @X11_LIBS@
+X265_CFLAGS = @X265_CFLAGS@
+X265_LIBS = @X265_LIBS@
+XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
+XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+XVID_LIBS = @XVID_LIBS@
+X_CFLAGS = @X_CFLAGS@
+X_LIBS = @X_LIBS@
+ZBAR_CFLAGS = @ZBAR_CFLAGS@
+ZBAR_LIBS = @ZBAR_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_OBJC = @ac_ct_OBJC@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+plugindir = @plugindir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+wayland_scanner = @wayland_scanner@
+noinst_LTLIBRARIES = libgstgl-gpuprocess.la
+libgstgl_gpuprocess_la_SOURCES = \
+	gstglcontext_gpu_process.c \
+	gstglwindow_gpu_process.c
+
+noinst_HEADERS = gstglwindow_gpu_process.h
+libgstgl_gpuprocessincludedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/gl/gpuprocess
+libgstgl_gpuprocessinclude_HEADERS = \
+	gstglcontext_gpu_process.h \
+	gstglwindow_gpu_process.h
+
+libgstgl_gpuprocess_la_CFLAGS = \
+	-I$(top_srcdir)/gst-libs \
+	-I$(top_builddir)/gst-libs \
+	$(GL_CFLAGS) \
+	$(GST_PLUGINS_BASE_CFLAGS) \
+	$(GST_BASE_CFLAGS) \
+	$(GST_CFLAGS)
+
+libgstgl_gpuprocess_la_LDFLAGS = \
+	$(GST_LIB_LDFLAGS) \
+	$(GST_ALL_LDFLAGS)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/gst/gl/gpuprocess/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu gst-libs/gst/gl/gpuprocess/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-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}; \
+	}
+
+libgstgl-gpuprocess.la: $(libgstgl_gpuprocess_la_OBJECTS) $(libgstgl_gpuprocess_la_DEPENDENCIES) $(EXTRA_libgstgl_gpuprocess_la_DEPENDENCIES) 
+	$(AM_V_CCLD)$(libgstgl_gpuprocess_la_LINK)  $(libgstgl_gpuprocess_la_OBJECTS) $(libgstgl_gpuprocess_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_gpuprocess_la-gstglcontext_gpu_process.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_gpuprocess_la-gstglwindow_gpu_process.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+libgstgl_gpuprocess_la-gstglcontext_gpu_process.lo: gstglcontext_gpu_process.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_gpuprocess_la_CFLAGS) $(CFLAGS) -MT libgstgl_gpuprocess_la-gstglcontext_gpu_process.lo -MD -MP -MF $(DEPDIR)/libgstgl_gpuprocess_la-gstglcontext_gpu_process.Tpo -c -o libgstgl_gpuprocess_la-gstglcontext_gpu_process.lo `test -f 'gstglcontext_gpu_process.c' || echo '$(srcdir)/'`gstglcontext_gpu_process.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_gpuprocess_la-gstglcontext_gpu_process.Tpo $(DEPDIR)/libgstgl_gpuprocess_la-gstglcontext_gpu_process.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstglcontext_gpu_process.c' object='libgstgl_gpuprocess_la-gstglcontext_gpu_process.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_gpuprocess_la_CFLAGS) $(CFLAGS) -c -o libgstgl_gpuprocess_la-gstglcontext_gpu_process.lo `test -f 'gstglcontext_gpu_process.c' || echo '$(srcdir)/'`gstglcontext_gpu_process.c
+
+libgstgl_gpuprocess_la-gstglwindow_gpu_process.lo: gstglwindow_gpu_process.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_gpuprocess_la_CFLAGS) $(CFLAGS) -MT libgstgl_gpuprocess_la-gstglwindow_gpu_process.lo -MD -MP -MF $(DEPDIR)/libgstgl_gpuprocess_la-gstglwindow_gpu_process.Tpo -c -o libgstgl_gpuprocess_la-gstglwindow_gpu_process.lo `test -f 'gstglwindow_gpu_process.c' || echo '$(srcdir)/'`gstglwindow_gpu_process.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_gpuprocess_la-gstglwindow_gpu_process.Tpo $(DEPDIR)/libgstgl_gpuprocess_la-gstglwindow_gpu_process.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstglwindow_gpu_process.c' object='libgstgl_gpuprocess_la-gstglwindow_gpu_process.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_gpuprocess_la_CFLAGS) $(CFLAGS) -c -o libgstgl_gpuprocess_la-gstglwindow_gpu_process.lo `test -f 'gstglwindow_gpu_process.c' || echo '$(srcdir)/'`gstglwindow_gpu_process.c
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+install-libgstgl_gpuprocessincludeHEADERS: $(libgstgl_gpuprocessinclude_HEADERS)
+	@$(NORMAL_INSTALL)
+	@list='$(libgstgl_gpuprocessinclude_HEADERS)'; test -n "$(libgstgl_gpuprocessincludedir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(libgstgl_gpuprocessincludedir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(libgstgl_gpuprocessincludedir)" || exit 1; \
+	fi; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libgstgl_gpuprocessincludedir)'"; \
+	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(libgstgl_gpuprocessincludedir)" || exit $$?; \
+	done
+
+uninstall-libgstgl_gpuprocessincludeHEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(libgstgl_gpuprocessinclude_HEADERS)'; test -n "$(libgstgl_gpuprocessincludedir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	dir='$(DESTDIR)$(libgstgl_gpuprocessincludedir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+installdirs:
+	for dir in "$(DESTDIR)$(libgstgl_gpuprocessincludedir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-libgstgl_gpuprocessincludeHEADERS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-libgstgl_gpuprocessincludeHEADERS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+	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 \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-libgstgl_gpuprocessincludeHEADERS \
+	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 uninstall-libgstgl_gpuprocessincludeHEADERS
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.c b/gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.c
new file mode 100644
index 0000000..7082eba
--- /dev/null
+++ b/gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.c
@@ -0,0 +1,144 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Julien Isorce <j.isorce@samsung.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 "gstglcontext_gpu_process.h"
+#include "gstglwindow_gpu_process.h"
+
+#define GST_GL_CONTEXT_GPU_PROCESS_GET_PRIVATE(o)  \
+  (G_TYPE_INSTANCE_GET_PRIVATE((o), GST_GL_TYPE_CONTEXT_GPU_PROCESS, GstGLContextGPUProcessPrivate))
+
+#define GST_CAT_DEFAULT gst_gl_context_debug
+
+#define gst_gl_context_gpu_process_parent_class parent_class
+G_DEFINE_TYPE (GstGLContextGPUProcess, gst_gl_context_gpu_process,
+    GST_GL_TYPE_CONTEXT);
+
+struct _GstGLContextGPUProcessPrivate
+{
+  GstGLAPI gl_api;
+};
+
+static guintptr
+gst_gl_context_gpu_process_get_gl_context (GstGLContext * context)
+{
+  return 0;
+}
+
+static GstGLAPI
+gst_gl_context_gpu_process_get_gl_api (GstGLContext * context)
+{
+  return GST_GL_CONTEXT_GPU_PROCESS (context)->priv->gl_api;
+}
+
+static GstGLPlatform
+gst_gl_context_gpu_process_get_gl_platform (GstGLContext * context)
+{
+  return GST_GL_PLATFORM_GPU_PROCESS;
+}
+
+static gboolean
+gst_gl_context_gpu_process_activate (GstGLContext * context, gboolean activate)
+{
+  return TRUE;
+}
+
+static void
+gst_gl_context_gpu_process_finalize (GObject * object)
+{
+  GstGLContext *context = GST_GL_CONTEXT (object);
+
+  GST_GL_WINDOW_GET_CLASS (context->window)->close (context->window);
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
+gst_gl_context_gpu_process_class_init (GstGLContextGPUProcessClass * klass)
+{
+  GObjectClass *obj_class = G_OBJECT_CLASS (klass);
+  GstGLContextClass *context_class = (GstGLContextClass *) klass;
+
+  g_type_class_add_private (klass, sizeof (GstGLContextGPUProcessPrivate));
+
+  obj_class->finalize = gst_gl_context_gpu_process_finalize;
+
+  context_class->get_gl_context =
+      GST_DEBUG_FUNCPTR (gst_gl_context_gpu_process_get_gl_context);
+  context_class->get_gl_api =
+      GST_DEBUG_FUNCPTR (gst_gl_context_gpu_process_get_gl_api);
+  context_class->get_gl_platform =
+      GST_DEBUG_FUNCPTR (gst_gl_context_gpu_process_get_gl_platform);
+  context_class->activate =
+      GST_DEBUG_FUNCPTR (gst_gl_context_gpu_process_activate);
+}
+
+static void
+gst_gl_context_gpu_process_init (GstGLContextGPUProcess * context)
+{
+  context->priv = GST_GL_CONTEXT_GPU_PROCESS_GET_PRIVATE (context);
+}
+
+GstGLContext *
+gst_gl_context_gpu_process_new (GstGLDisplay * display,
+    GstGLAPI gl_api, GstGLProcAddrFunc proc_addr)
+{
+  GstGLContext *context = NULL;
+  GstGLContextGPUProcess *gpu_context = NULL;
+  GstGLContextClass *context_class = NULL;
+  GstGLWindow *window = NULL;
+  GError *error = NULL;
+  g_return_val_if_fail ((gst_gl_display_get_gl_api (display) & gl_api) !=
+      GST_GL_API_NONE, NULL);
+
+  gpu_context = g_object_new (GST_GL_TYPE_CONTEXT_GPU_PROCESS, NULL);
+  gpu_context->priv->gl_api = gl_api;
+
+  context = GST_GL_CONTEXT (gpu_context);
+
+  gst_gl_context_set_display (context, display);
+  gst_gl_display_add_context (display, context);
+
+  context_class = GST_GL_CONTEXT_GET_CLASS (context);
+
+  context_class->get_current_context = NULL;
+  context_class->get_proc_address = GST_DEBUG_FUNCPTR (proc_addr);
+
+  gst_gl_context_activate (context, TRUE);
+  gst_gl_context_fill_info (context, &error);
+
+  if (error) {
+    GST_ERROR_OBJECT (context, "Failed to create gpu process context: %s",
+        error->message);
+    g_error_free (error);
+    gst_object_unref (context);
+    return NULL;
+  }
+
+  window = GST_GL_WINDOW (gst_gl_window_gpu_process_new (display));
+  gst_gl_context_set_window (context, window);
+  GST_GL_WINDOW_GET_CLASS (window)->open (window, NULL);
+  gst_object_unref (window);
+
+  return context;
+}
diff --git a/gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.h b/gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.h
new file mode 100644
index 0000000..d99e9e5
--- /dev/null
+++ b/gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.h
@@ -0,0 +1,70 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Julien Isorce <j.isorce@samsung.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_CONTEXT_GPU_PROCESS_H__
+#define __GST_GL_CONTEXT_GPU_PROCESS_H__
+
+#include <gst/gl/gl.h>
+
+G_BEGIN_DECLS
+
+#define GST_GL_TYPE_CONTEXT_GPU_PROCESS (gst_gl_context_gpu_process_get_type())
+#define GST_GL_CONTEXT_GPU_PROCESS(o)           (G_TYPE_CHECK_INSTANCE_CAST((o), GST_GL_TYPE_CONTEXT_GPU_PROCESS, GstGLContextGPUProcess))
+#define GST_GL_CONTEXT_GPU_PROCESS_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), GST_GL_TYPE_CONTEXT_GPU_PROCESS, GstGLContextGPUProcessClass))
+#define GST_GL_IS_CONTEXT_GPU_PROCESS(o)        (G_TYPE_CHECK_INSTANCE_TYPE((o), GST_GL_TYPE_CONTEXT_GPU_PROCESS))
+#define GST_GL_IS_CONTEXT_GPU_PROCESS_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE((k), GST_GL_TYPE_CONTEXT_GPU_PROCESS))
+#define GST_GL_CONTEXT_GPU_PROCESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_GL_TYPE_CONTEXT_GPU_PROCESS, GstGLContextGPUProcessClass))
+
+typedef struct _GstGLContextGPUProcess GstGLContextGPUProcess;
+typedef struct _GstGLContextGPUProcessPrivate GstGLContextGPUProcessPrivate;
+typedef struct _GstGLContextGPUProcessClass GstGLContextGPUProcessClass;
+
+typedef gpointer (* GstGLProcAddrFunc) (GstGLContext *context, const gchar *name);
+
+/**
+ * GstGLContextGPUProcess:
+ *
+ * Opaque #GstGLContextGPUProcess object
+ */
+struct _GstGLContextGPUProcess {
+  GstGLContext parent;
+
+  /*< private >*/
+  GstGLContextGPUProcessPrivate *priv;
+
+  /*< private >*/
+  gpointer _reserved[GST_PADDING];
+};
+
+struct _GstGLContextGPUProcessClass {
+  GstGLContextClass parent;
+
+  /*< private >*/
+  gpointer _reserved[GST_PADDING];
+};
+
+GType gst_gl_context_gpu_process_get_type (void);
+
+GstGLContext * gst_gl_context_gpu_process_new (GstGLDisplay * display,
+    GstGLAPI gl_api, GstGLProcAddrFunc proc_addr);
+
+G_END_DECLS
+
+#endif /* __GST_GL_CONTEXT_GPU_PROCESS_H__ */
diff --git a/gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.c b/gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.c
new file mode 100644
index 0000000..e1e8080
--- /dev/null
+++ b/gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.c
@@ -0,0 +1,64 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Julien Isorce <j.isorce@samsung.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 "gstglwindow_gpu_process.h"
+
+#define GST_GL_WINDOW_GPU_PROCESS_GET_PRIVATE(o)  \
+  (G_TYPE_INSTANCE_GET_PRIVATE((o), GST_GL_TYPE_WINDOW_GPU_PROCESS, GstGLWindowGPUProcessPrivate))
+
+#define GST_CAT_DEFAULT gst_gl_window_debug
+
+#define gst_gl_window_gpu_process_parent_class parent_class
+G_DEFINE_TYPE (GstGLWindowGPUProcess, gst_gl_window_gpu_process,
+    GST_GL_TYPE_WINDOW);
+
+struct _GstGLWindowGPUProcessPrivate
+{
+  int empty;
+};
+
+static void
+gst_gl_window_gpu_process_class_init (GstGLWindowGPUProcessClass * klass)
+{
+  g_type_class_add_private (klass, sizeof (GstGLWindowGPUProcessPrivate));
+}
+
+static void
+gst_gl_window_gpu_process_init (GstGLWindowGPUProcess * window)
+{
+  window->priv = GST_GL_WINDOW_GPU_PROCESS_GET_PRIVATE (window);
+}
+
+GstGLWindowGPUProcess *
+gst_gl_window_gpu_process_new (GstGLDisplay * display)
+{
+  GstGLWindowGPUProcess *window =
+      g_object_new (GST_GL_TYPE_WINDOW_GPU_PROCESS, NULL);
+
+  GST_GL_WINDOW (window)->display = gst_object_ref (display);
+
+  return window;
+}
diff --git a/gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.h b/gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.h
new file mode 100644
index 0000000..c7b6b66
--- /dev/null
+++ b/gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.h
@@ -0,0 +1,74 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Julien Isorce <j.isorce@samsung.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_WINDOW_GPU_PROCESS_H__
+#define __GST_GL_WINDOW_GPU_PROCESS_H__
+
+#include <gst/gl/gl.h>
+#include <gst/gl/gpuprocess/gstglcontext_gpu_process.h>
+
+G_BEGIN_DECLS
+
+#define GST_GL_TYPE_WINDOW_GPU_PROCESS         (gst_gl_window_gpu_process_get_type())
+#define GST_GL_WINDOW_GPU_PROCESS(o)           (G_TYPE_CHECK_INSTANCE_CAST((o), GST_GL_TYPE_WINDOW_GPU_PROCESS, GstGLWindowGPUProcess))
+#define GST_GL_WINDOW_GPU_PROCESS_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), GST_GL_TYPE_WINDOW_GPU_PROCESS, GstGLWindowGPUProcessClass))
+#define GST_GL_IS_WINDOW_GPU_PROCESS(o)        (G_TYPE_CHECK_INSTANCE_TYPE((o), GST_GL_TYPE_WINDOW_GPU_PROCESS))
+#define GST_GL_IS_WINDOW_GPU_PROCESS_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE((k), GST_GL_TYPE_WINDOW_GPU_PROCESS))
+#define GST_GL_WINDOW_GPU_PROCESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_GL_TYPE_WINDOW_GPU_PROCESS, GstGLWindowGPUProcessClass))
+
+typedef struct _GstGLWindowGPUProcess        GstGLWindowGPUProcess;
+typedef struct _GstGLWindowGPUProcessPrivate GstGLWindowGPUProcessPrivate;
+typedef struct _GstGLWindowGPUProcessClass   GstGLWindowGPUProcessClass;
+
+/**
+ * GstGLWindowGPUProcess:
+ *
+ * Opaque #GstGLWindowGPUProcess object
+ */
+struct _GstGLWindowGPUProcess
+{
+  GstGLWindow parent;
+
+  /*< private >*/
+  GstGLWindowGPUProcessPrivate *priv;
+
+  /*< private >*/
+  gpointer _reserved[GST_PADDING];
+};
+
+/**
+ * GstGLWindowGPUProcessClass:
+ *
+ * Opaque #GstGLWindowGPUProcessClass object
+ */
+struct _GstGLWindowGPUProcessClass {
+  GstGLWindowClass parent_class;
+
+  /*< private >*/
+  gpointer _reserved[GST_PADDING];
+};
+
+GType gst_gl_window_gpu_process_get_type (void);
+
+GstGLWindowGPUProcess * gst_gl_window_gpu_process_new (GstGLDisplay * display);
+
+G_END_DECLS
+
+#endif /* __GST_GL_WINDOW_GPU_PROCESS_H__ */
diff --git a/gst-libs/gst/gl/gstglapi.c b/gst-libs/gst/gl/gstglapi.c
index 3bee14b..f824aa1 100644
--- a/gst-libs/gst/gl/gstglapi.c
+++ b/gst-libs/gst/gl/gstglapi.c
@@ -152,6 +152,9 @@
   if (platform & GST_GL_PLATFORM_CGL) {
     str = g_string_append (str, "cgl ");
   }
+  if (platform & GST_GL_PLATFORM_GPU_PROCESS) {
+    str = g_string_append (str, "gpu_process ");
+  }
 
 out:
   if (!str)
@@ -193,6 +196,9 @@
       } else if (g_strstr_len (platform, 3, "cgl")) {
         ret |= GST_GL_PLATFORM_CGL;
         platform = &platform[3];
+      } else if (g_strstr_len (platform, 11, "gpu_process")) {
+        ret |= GST_GL_PLATFORM_GPU_PROCESS;
+        platform = &platform[11];
       } else {
         GST_ERROR ("Error parsing \'%s\'", platform);
         break;
diff --git a/gst-libs/gst/gl/gstglapi.h b/gst-libs/gst/gl/gstglapi.h
index c260590..a7ba464 100644
--- a/gst-libs/gst/gl/gstglapi.h
+++ b/gst-libs/gst/gl/gstglapi.h
@@ -116,6 +116,7 @@
   GST_GL_PLATFORM_WGL = (1 << 2),
   GST_GL_PLATFORM_CGL = (1 << 3),
   GST_GL_PLATFORM_EAGL = (1 << 4),
+  GST_GL_PLATFORM_GPU_PROCESS = (1 << 5),
 
   GST_GL_PLATFORM_ANY = G_MAXUINT32
 } GstGLPlatform;
diff --git a/gst-libs/gst/gl/gstglbasefilter.c b/gst-libs/gst/gl/gstglbasefilter.c
index 0b49e09..ff6c5e4 100644
--- a/gst-libs/gst/gl/gstglbasefilter.c
+++ b/gst-libs/gst/gl/gstglbasefilter.c
@@ -37,6 +37,7 @@
   GstGLContext *other_context;
 
   gboolean gl_result;
+  gboolean gl_started;
 };
 
 /* Properties */
@@ -302,6 +303,8 @@
   } else {
     filter->priv->gl_result = TRUE;
   }
+
+  filter->priv->gl_started |= filter->priv->gl_result;
 }
 
 static void
@@ -310,8 +313,12 @@
   GstGLBaseFilter *filter = GST_GL_BASE_FILTER (data);
   GstGLBaseFilterClass *filter_class = GST_GL_BASE_FILTER_GET_CLASS (filter);
 
-  if (filter_class->gl_stop)
-    filter_class->gl_stop (filter);
+  if (filter->priv->gl_started) {
+    if (filter_class->gl_stop)
+      filter_class->gl_stop (filter);
+  }
+
+  filter->priv->gl_started = FALSE;
 }
 
 static gboolean
@@ -333,17 +340,25 @@
           gst_gl_display_get_gl_context_for_thread (filter->display, NULL);
       if (!filter->context) {
         filter->context = gst_gl_context_new (filter->display);
-        if (!filter->context)
+        if (!filter->context) {
+          GST_OBJECT_UNLOCK (filter->display);
           goto context_null_error;
+        }
 
         if (!gst_gl_context_create (filter->context,
-                filter->priv->other_context, &error))
+                filter->priv->other_context, &error)) {
+          GST_OBJECT_UNLOCK (filter->display);
           goto context_error;
+        }
       }
     } while (!gst_gl_display_add_context (filter->display, filter->context));
     GST_OBJECT_UNLOCK (filter->display);
   }
 
+  if (filter->priv->gl_started)
+    gst_gl_context_thread_add (filter->context, gst_gl_base_filter_gl_stop,
+        filter);
+
   gst_gl_context_thread_add (filter->context, gst_gl_base_filter_gl_start,
       filter);
   if (!filter->priv->gl_result)
diff --git a/gst-libs/gst/gl/gstglcolorconvert.c b/gst-libs/gst/gl/gstglcolorconvert.c
index 4f56da7..62e938c 100644
--- a/gst-libs/gst/gl/gstglcolorconvert.c
+++ b/gst-libs/gst/gl/gstglcolorconvert.c
@@ -829,7 +829,9 @@
 {
   GString *ret = g_string_sized_new (4);
   gchar *expect, *want;
+  gchar *orig_want;
   int len;
+  gboolean discard_output = TRUE;
 
   if (g_ascii_strcasecmp (expected, wanted) == 0) {
     g_string_free (ret, TRUE);
@@ -837,7 +839,7 @@
   }
 
   expect = g_ascii_strdown (expected, -1);
-  want = g_ascii_strdown (wanted, -1);
+  orig_want = want = g_ascii_strdown (wanted, -1);
 
   if (strcmp (expect, "rgb16") == 0 || strcmp (expect, "bgr16") == 0) {
     gchar *temp = expect;
@@ -847,7 +849,7 @@
 
   if (strcmp (want, "rgb16") == 0 || strcmp (want, "bgr16") == 0) {
     gchar *temp = want;
-    want = g_strndup (temp, 3);
+    orig_want = want = g_strndup (temp, 3);
     g_free (temp);
   }
 
@@ -859,7 +861,7 @@
       len++;
     }
     g_free (want);
-    want = new_want;
+    orig_want = want = new_want;
   }
 
   /* pad expect with 'a's */
@@ -884,7 +886,7 @@
 
     if (!(val = strchr (expect, needle))
         && needle == 'a' && !(val = strchr (expect, 'x')))
-      goto fail;
+      goto out;
 
     idx = (gint) (val - expect);
 
@@ -892,11 +894,12 @@
     want = &want[1];
   }
 
-  return g_string_free (ret, FALSE);
+  discard_output = FALSE;
+out:
+  g_free (orig_want);
+  g_free (expect);
 
-fail:
-  g_string_free (ret, TRUE);
-  return NULL;
+  return g_string_free (ret, discard_output);
 }
 
 static void
@@ -1219,6 +1222,7 @@
 {
   const GstGLFuncs *gl = convert->context->gl_vtable;
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, convert->priv->vbo_indices);
   gl->BindBuffer (GL_ARRAY_BUFFER, convert->priv->vertex_buffer);
 
   /* Load the vertex position */
@@ -1238,6 +1242,7 @@
 {
   const GstGLFuncs *gl = convert->context->gl_vtable;
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
   gl->BindBuffer (GL_ARRAY_BUFFER, 0);
 
   gl->DisableVertexAttribArray (convert->priv->attr_position);
@@ -1378,23 +1383,20 @@
     gl->BufferData (GL_ARRAY_BUFFER, 4 * 5 * sizeof (GLfloat), vertices,
         GL_STATIC_DRAW);
 
+    gl->GenBuffers (1, &convert->priv->vbo_indices);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, convert->priv->vbo_indices);
+    gl->BufferData (GL_ELEMENT_ARRAY_BUFFER, sizeof (indices), indices,
+        GL_STATIC_DRAW);
+
     if (gl->GenVertexArrays) {
       _bind_buffer (convert);
       gl->BindVertexArray (0);
     }
 
     gl->BindBuffer (GL_ARRAY_BUFFER, 0);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
   }
 
-  if (!convert->priv->vbo_indices) {
-    gl->GenBuffers (1, &convert->priv->vbo_indices);
-    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, convert->priv->vbo_indices);
-    gl->BufferData (GL_ELEMENT_ARRAY_BUFFER, sizeof (indices), indices,
-        GL_STATIC_DRAW);
-    gl->BindBuffer (GL_ARRAY_BUFFER, 0);
-  }
-
-
   gl->BindTexture (GL_TEXTURE_2D, 0);
 
   convert->initted = TRUE;
@@ -1430,6 +1432,7 @@
   GstGLFuncs *gl;
   guint out_width, out_height;
   GLuint fake_texture = 0;      /* a FBO must hava texture to init */
+  GLenum internal_format;
 
   gl = convert->context->gl_vtable;
 
@@ -1453,8 +1456,6 @@
   gl->GenRenderbuffers (1, &convert->depth_buffer);
   gl->BindRenderbuffer (GL_RENDERBUFFER, convert->depth_buffer);
   if (USING_OPENGL (convert->context) || USING_OPENGL3 (convert->context)) {
-    gl->RenderbufferStorage (GL_RENDERBUFFER, GL_DEPTH_COMPONENT,
-        out_width, out_height);
     gl->RenderbufferStorage (GL_RENDERBUFFER, GL_DEPTH24_STENCIL8,
         out_width, out_height);
   }
@@ -1466,8 +1467,11 @@
   /* a fake texture is attached to the convert FBO (cannot init without it) */
   gl->GenTextures (1, &fake_texture);
   gl->BindTexture (GL_TEXTURE_2D, fake_texture);
-  gl->TexImage2D (GL_TEXTURE_2D, 0, GL_RGBA8, out_width, out_height,
-      0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
+  internal_format =
+      gst_gl_sized_gl_format_from_gl_format_type (convert->context, GL_RGBA,
+      GL_UNSIGNED_BYTE);
+  gl->TexImage2D (GL_TEXTURE_2D, 0, internal_format, out_width, out_height, 0,
+      GL_RGBA, GL_UNSIGNED_BYTE, NULL);
   gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
   gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
   gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
@@ -1737,7 +1741,6 @@
     g_free (scale_name);
   }
 
-  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, convert->priv->vbo_indices);
   gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
 
   if (gl->BindVertexArray)
@@ -1748,8 +1751,6 @@
   if (gl->DrawBuffer)
     gl->DrawBuffer (GL_NONE);
 
-  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
-
   /* we are done with the shader */
   gst_gl_context_clear_shader (context);
 
diff --git a/gst-libs/gst/gl/gstglcontext.c b/gst-libs/gst/gl/gstglcontext.c
index 18e527e..eb3b7e6 100644
--- a/gst-libs/gst/gl/gstglcontext.c
+++ b/gst-libs/gst/gl/gstglcontext.c
@@ -142,6 +142,8 @@
 #define GST_GL_CONTEXT_GET_PRIVATE(o) \
   (G_TYPE_INSTANCE_GET_PRIVATE((o), GST_GL_TYPE_CONTEXT, GstGLContextPrivate))
 
+static void _init_debug (void);
+
 static gpointer gst_gl_context_create_thread (GstGLContext * context);
 static gpointer _default_get_proc_address (GstGLContext * context,
     const gchar * name);
@@ -242,6 +244,8 @@
   klass->get_proc_address = GST_DEBUG_FUNCPTR (_default_get_proc_address);
 
   G_OBJECT_CLASS (klass)->finalize = gst_gl_context_finalize;
+
+  _init_debug ();
 }
 
 static void
@@ -407,7 +411,7 @@
 
 /**
  * gst_gl_context_get_current_gl_context:
- * @context_type: a #GstGLPlatform specifying the type of context to retreive
+ * @context_type: a #GstGLPlatform specifying the type of context to retrieve
  *
  * Returns: The OpenGL context handle current in the calling thread or %NULL
  *
@@ -442,7 +446,7 @@
 #endif
 
   if (!handle)
-    GST_WARNING ("Could not retreive current context");
+    GST_WARNING ("Could not retrieve current context");
 
   return handle;
 }
@@ -707,7 +711,7 @@
  * specific function does not exist, NULL is returned instead.
  *
  * Platform specfic functions (names starting 'egl', 'glX', 'wgl', etc) can also
- * be retreived using this method.
+ * be retrieved using this method.
  *
  * Returns: a function pointer or NULL
  *
@@ -1101,7 +1105,8 @@
 
   gl = context->gl_vtable;
 
-  if (!gl->GetString || !gl->GetString (GL_VERSION)) {
+  if (!gl->GetString || !gl->GetString (GL_VERSION)
+      || !gl->GetString (GL_SHADING_LANGUAGE_VERSION)) {
     g_set_error (error, GST_GL_CONTEXT_ERROR, GST_GL_CONTEXT_ERROR_FAILED,
         "glGetString not defined or returned invalid value");
     return FALSE;
@@ -1313,7 +1318,10 @@
   g_free (display_api_s);
 
   GST_DEBUG_OBJECT (context, "Filling info");
-  gst_gl_context_fill_info (context, error);
+  if (!gst_gl_context_fill_info (context, error)) {
+    g_assert (error == NULL || *error != NULL);
+    goto failure;
+  }
 
   context->priv->alive = TRUE;
 
@@ -1546,6 +1554,25 @@
   return gst_object_ref (context->priv->display);
 }
 
+/**
+ * gst_gl_context_set_display:
+ * @context: a #GstGLContext:
+ * @display: a #GstGLDisplay:
+ *
+ * Ref @display and unref previous display if exists.
+ *
+ * Since: 1.6
+ */
+void
+gst_gl_context_set_display (GstGLContext * context, GstGLDisplay * display)
+{
+  g_return_if_fail (GST_GL_IS_CONTEXT (context));
+  g_return_if_fail (GST_IS_GL_DISPLAY (display));
+
+  gst_object_replace ((GstObject **) & context->priv->display,
+      (GstObject *) display);
+}
+
 typedef struct
 {
   GstGLContext *context;
diff --git a/gst-libs/gst/gl/gstglcontext.h b/gst-libs/gst/gl/gstglcontext.h
index 63ba3d6..3e5fc23 100644
--- a/gst-libs/gst/gl/gstglcontext.h
+++ b/gst-libs/gst/gl/gstglcontext.h
@@ -29,7 +29,7 @@
 
 #define GST_GL_TYPE_CONTEXT         (gst_gl_context_get_type())
 #define GST_GL_CONTEXT(o)           (G_TYPE_CHECK_INSTANCE_CAST((o), GST_GL_TYPE_CONTEXT, GstGLContext))
-#define GST_GL_CONTEXT_CLASS(k)     (G_TYPE_CHECK_CLASS((k), GST_GL_TYPE_CONTEXT, GstGLContextClass))
+#define GST_GL_CONTEXT_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), GST_GL_TYPE_CONTEXT, GstGLContextClass))
 #define GST_GL_IS_CONTEXT(o)        (G_TYPE_CHECK_INSTANCE_TYPE((o), GST_GL_TYPE_CONTEXT))
 #define GST_GL_IS_CONTEXT_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE((k), GST_GL_TYPE_CONTEXT))
 #define GST_GL_CONTEXT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_GL_TYPE_CONTEXT, GstGLContextClass))
@@ -124,6 +124,7 @@
 GThread *     gst_gl_context_get_thread       (GstGLContext *context);
 GstGLContext * gst_gl_context_get_current     (void);
 
+void           gst_gl_context_set_display (GstGLContext *context, GstGLDisplay *display);
 GstGLDisplay * gst_gl_context_get_display (GstGLContext *context);
 gpointer      gst_gl_context_get_proc_address (GstGLContext *context, const gchar *name);
 GstGLPlatform gst_gl_context_get_gl_platform  (GstGLContext *context);
diff --git a/gst-libs/gst/gl/gstgldisplay.c b/gst-libs/gst/gl/gstgldisplay.c
index a049af4..5baee7a 100644
--- a/gst-libs/gst/gl/gstgldisplay.c
+++ b/gst-libs/gst/gl/gstgldisplay.c
@@ -62,6 +62,9 @@
 #if GST_GL_HAVE_WINDOW_X11
 #include <gst/gl/x11/gstgldisplay_x11.h>
 #endif
+#if GST_GL_HAVE_WINDOW_WAYLAND
+#include <gst/gl/wayland/gstgldisplay_wayland.h>
+#endif
 #if GST_GL_HAVE_PLATFORM_EGL
 #include <gst/gl/egl/gstgldisplay_egl.h>
 #include <gst/gl/egl/gsteglimagememory.h>
@@ -174,7 +177,7 @@
 #endif
 #if GST_GL_HAVE_WINDOW_WAYLAND
   if (!display && (!user_choice || g_strstr_len (user_choice, 7, "wayland")))
-    display = g_object_new (GST_TYPE_GL_DISPLAY, NULL);
+    display = GST_GL_DISPLAY (gst_gl_display_wayland_new (NULL));
 #endif
 #if GST_GL_HAVE_PLATFORM_EGL
   if (!display && (!platform_choice
diff --git a/gst-libs/gst/gl/gstglfilter.c b/gst-libs/gst/gl/gstglfilter.c
index 169ded9..63f5bad 100644
--- a/gst-libs/gst/gl/gstglfilter.c
+++ b/gst-libs/gst/gl/gstglfilter.c
@@ -72,6 +72,8 @@
 
 static GstCaps *gst_gl_filter_transform_caps (GstBaseTransform * bt,
     GstPadDirection direction, GstCaps * caps, GstCaps * filter);
+static GstCaps *default_transform_internal_caps (GstGLFilter * filter,
+    GstPadDirection direction, GstCaps * caps, GstCaps * filter_caps);
 static GstCaps *gst_gl_filter_fixate_caps (GstBaseTransform * bt,
     GstPadDirection direction, GstCaps * caps, GstCaps * othercaps);
 static void gst_gl_filter_reset (GstGLFilter * filter);
@@ -116,6 +118,8 @@
   GST_GL_BASE_FILTER_CLASS (klass)->gl_start = gst_gl_filter_gl_start;
   GST_GL_BASE_FILTER_CLASS (klass)->gl_stop = gst_gl_filter_gl_stop;
 
+  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,
@@ -239,6 +243,11 @@
     filter->vertex_buffer = 0;
   }
 
+  if (filter->vbo_indices) {
+    gl->DeleteBuffers (1, &filter->vbo_indices);
+    filter->vbo_indices = 0;
+  }
+
   if (filter->fbo != 0) {
     gst_gl_context_del_fbo (context, filter->fbo, filter->depthbuffer);
   }
@@ -596,7 +605,14 @@
       continue;
 
     st = gst_structure_copy (st);
-    gst_structure_remove_fields (st, "width", "height", NULL);
+    gst_structure_set (st, "width", GST_TYPE_INT_RANGE, 1, G_MAXINT,
+        "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, NULL);
+
+    /* if pixel aspect ratio, make a range of it */
+    if (gst_structure_has_field (st, "pixel-aspect-ratio")) {
+      gst_structure_set (st, "pixel-aspect-ratio",
+          GST_TYPE_FRACTION_RANGE, 1, G_MAXINT, G_MAXINT, 1, NULL);
+    }
 
     gst_caps_append_structure_full (res, st, gst_caps_features_copy (f));
   }
@@ -614,15 +630,25 @@
 }
 
 static GstCaps *
+default_transform_internal_caps (GstGLFilter * filter,
+    GstPadDirection direction, GstCaps * caps, GstCaps * filter_caps)
+{
+  GstCaps *tmp = gst_gl_filter_caps_remove_size (caps);
+
+  GST_DEBUG_OBJECT (filter, "size removal returned caps %" GST_PTR_FORMAT, tmp);
+  return tmp;
+}
+
+static GstCaps *
 gst_gl_filter_transform_caps (GstBaseTransform * bt,
     GstPadDirection direction, GstCaps * caps, GstCaps * filter_caps)
 {
+  GstGLFilter *filter = GST_GL_FILTER (bt);
   GstCaps *tmp = NULL;
   GstCaps *result = NULL;
 
-  result = gst_gl_filter_caps_remove_size (caps);
-  tmp = result;
-  GST_DEBUG_OBJECT (bt, "size removal returned caps %" GST_PTR_FORMAT, tmp);
+  tmp = GST_GL_FILTER_GET_CLASS (filter)->transform_internal_caps (filter,
+      direction, caps, NULL);
 
   result =
       gst_gl_filter_set_caps_features (tmp, GST_CAPS_FEATURE_MEMORY_GL_MEMORY);
@@ -678,8 +704,10 @@
 
   gst_caps_replace (&filter->out_caps, outcaps);
 
-  GST_DEBUG ("set_caps %dx%d", GST_VIDEO_INFO_WIDTH (&filter->out_info),
-      GST_VIDEO_INFO_HEIGHT (&filter->out_info));
+  GST_DEBUG_OBJECT (filter, "set_caps %dx%d in %" GST_PTR_FORMAT
+      " out %" GST_PTR_FORMAT,
+      GST_VIDEO_INFO_WIDTH (&filter->out_info),
+      GST_VIDEO_INFO_HEIGHT (&filter->out_info), incaps, outcaps);
 
   return TRUE;
 
@@ -896,6 +924,7 @@
   GstGLDisplay *display = GST_GL_BASE_FILTER (bt)->display;
   GstGLContext *context = GST_GL_BASE_FILTER (bt)->context;
   GstGLSyncMeta *out_sync_meta, *in_sync_meta;
+  gboolean ret;
 
   if (!display)
     return GST_FLOW_NOT_NEGOTIATED;
@@ -907,15 +936,15 @@
     gst_gl_sync_meta_wait (in_sync_meta, context);
 
   if (filter_class->filter)
-    filter_class->filter (filter, inbuf, outbuf);
-  else if (filter_class->filter_texture)
-    gst_gl_filter_filter_texture (filter, inbuf, outbuf);
+    ret = filter_class->filter (filter, inbuf, outbuf);
+  else
+    ret = gst_gl_filter_filter_texture (filter, inbuf, outbuf);
 
   out_sync_meta = gst_buffer_get_gl_sync_meta (outbuf);
   if (out_sync_meta)
     gst_gl_sync_meta_set_sync_point (out_sync_meta, context);
 
-  return GST_FLOW_OK;
+  return ret ? GST_FLOW_OK : GST_FLOW_ERROR;
 }
 
 struct glcb2
@@ -1057,6 +1086,8 @@
    1.0f,  1.0f, 0.0f, 1.0f, 1.0f,
   -1.0f,  1.0f, 0.0f, 0.0f, 1.0f
 };
+
+static const GLushort indices[] = { 0, 1, 2, 0, 2, 3 };
 /* *INDENT-ON* */
 
 static void
@@ -1065,6 +1096,7 @@
   GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
   const GstGLFuncs *gl = context->gl_vtable;
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, filter->vbo_indices);
   gl->BindBuffer (GL_ARRAY_BUFFER, filter->vertex_buffer);
 
   _get_attributes (filter);
@@ -1087,6 +1119,7 @@
   GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
   const GstGLFuncs *gl = context->gl_vtable;
 
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
   gl->BindBuffer (GL_ARRAY_BUFFER, 0);
 
   gl->DisableVertexAttribArray (filter->draw_attr_position_loc);
@@ -1125,16 +1158,13 @@
     };
 
     gl->ActiveTexture (GL_TEXTURE0);
-
-    gl->Enable (GL_TEXTURE_2D);
     gl->BindTexture (GL_TEXTURE_2D, texture);
 
-    gl->ClientActiveTexture (GL_TEXTURE0);
-
     gl->EnableClientState (GL_VERTEX_ARRAY);
-    gl->EnableClientState (GL_TEXTURE_COORD_ARRAY);
-
     gl->VertexPointer (2, GL_FLOAT, 0, &verts);
+
+    gl->ClientActiveTexture (GL_TEXTURE0);
+    gl->EnableClientState (GL_TEXTURE_COORD_ARRAY);
     gl->TexCoordPointer (2, GL_FLOAT, 0, &texcoords);
 
     gl->DrawArrays (GL_TRIANGLE_FAN, 0, 4);
@@ -1145,8 +1175,6 @@
 #endif
   if (gst_gl_context_get_gl_api (context) & (GST_GL_API_GLES2 |
           GST_GL_API_OPENGL3)) {
-    GLushort indices[] = { 0, 1, 2, 0, 2, 3 };
-
     if (!filter->vertex_buffer) {
       if (gl->GenVertexArrays) {
         gl->GenVertexArrays (1, &filter->vao);
@@ -1158,10 +1186,18 @@
       gl->BufferData (GL_ARRAY_BUFFER, 4 * 5 * sizeof (GLfloat), vertices,
           GL_STATIC_DRAW);
 
+      gl->GenBuffers (1, &filter->vbo_indices);
+      gl->BindBuffer (GL_ARRAY_BUFFER, filter->vbo_indices);
+      gl->BufferData (GL_ARRAY_BUFFER, sizeof (indices), indices,
+          GL_STATIC_DRAW);
+
       if (gl->GenVertexArrays) {
         _bind_buffer (filter);
-        gl->BindBuffer (GL_ARRAY_BUFFER, 0);
+        gl->BindVertexArray (0);
       }
+
+      gl->BindBuffer (GL_ARRAY_BUFFER, 0);
+      gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
     }
 
     if (gl->GenVertexArrays)
@@ -1169,7 +1205,7 @@
     else
       _bind_buffer (filter);
 
-    gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices);
+    gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
 
     if (gl->GenVertexArrays)
       gl->BindVertexArray (0);
diff --git a/gst-libs/gst/gl/gstglfilter.h b/gst-libs/gst/gl/gstglfilter.h
index a5caf32..af91e55 100644
--- a/gst-libs/gst/gl/gstglfilter.h
+++ b/gst-libs/gst/gl/gstglfilter.h
@@ -75,6 +75,7 @@
   GstGLShader       *default_shader;
 
   GLuint             vao;
+  GLuint             vbo_indices;
   GLuint             vertex_buffer;
   GLint              draw_attr_position_loc;
   GLint              draw_attr_texture_loc;
@@ -93,6 +94,8 @@
  * @init_fbo: perform initialization when the Framebuffer object is created
  * @display_init_cb: execute arbitrary gl code on start
  * @display_reset_cb: execute arbitrary gl code at stop
+ * @transform_internal_caps: Perform sub-class specific modifications of the
+ *   caps to be processed between upload on input and before download for output.
  */
 struct _GstGLFilterClass
 {
@@ -103,6 +106,9 @@
   gboolean (*filter_texture)    (GstGLFilter *filter, guint in_tex, guint out_tex);
   gboolean (*init_fbo)          (GstGLFilter *filter);
 
+  GstCaps *(*transform_internal_caps) (GstGLFilter *filter,
+    GstPadDirection direction, GstCaps * caps, GstCaps * filter_caps);
+
   /* useful to init and cleanup custom gl resources */
   void (*display_init_cb)       (GstGLFilter *filter);
   void (*display_reset_cb)      (GstGLFilter *filter);
diff --git a/gst-libs/gst/gl/gstglframebuffer.c b/gst-libs/gst/gl/gstglframebuffer.c
index 0446c00..7e958ca 100644
--- a/gst-libs/gst/gl/gstglframebuffer.c
+++ b/gst-libs/gst/gl/gstglframebuffer.c
@@ -90,6 +90,7 @@
 {
   GLuint fake_texture = 0;
   const GstGLFuncs *gl;
+  GLenum internal_format;
 
   g_return_val_if_fail (GST_IS_GL_FRAMEBUFFER (frame), FALSE);
   g_return_val_if_fail (fbo != NULL && depth != NULL, FALSE);
@@ -114,8 +115,6 @@
 
   if (gst_gl_context_get_gl_api (frame->context) & (GST_GL_API_OPENGL |
           GST_GL_API_OPENGL3)) {
-    gl->RenderbufferStorage (GL_RENDERBUFFER, GL_DEPTH_COMPONENT, width,
-        height);
     gl->RenderbufferStorage (GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, width,
         height);
   }
@@ -127,8 +126,11 @@
   /* setup a texture to render to */
   gl->GenTextures (1, &fake_texture);
   gl->BindTexture (GL_TEXTURE_2D, fake_texture);
-  gl->TexImage2D (GL_TEXTURE_2D, 0, GL_RGBA8,
-      width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
+  internal_format =
+      gst_gl_sized_gl_format_from_gl_format_type (frame->context, GL_RGBA,
+      GL_UNSIGNED_BYTE);
+  gl->TexImage2D (GL_TEXTURE_2D, 0, internal_format, width, height, 0, GL_RGBA,
+      GL_UNSIGNED_BYTE, NULL);
   gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
   gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
   gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
@@ -201,9 +203,6 @@
           GST_GL_API_OPENGL3))
     gl->DrawBuffer (GL_COLOR_ATTACHMENT0);
 
-  gl->ClearColor (0.0, 0.0, 0.0, 0.0);
-  gl->Clear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
   /* the opengl scene */
   cb (stuff);
 
diff --git a/gst-libs/gst/gl/gstglmemory.c b/gst-libs/gst/gl/gstglmemory.c
index 254e617..b93ad5e 100644
--- a/gst-libs/gst/gl/gstglmemory.c
+++ b/gst-libs/gst/gl/gstglmemory.c
@@ -67,6 +67,9 @@
 static GstAllocator *_gl_allocator;
 
 /* compatability definitions... */
+#ifndef GL_RGBA8
+#define GL_RGBA8 0x8058
+#endif
 #ifndef GL_RED
 #define GL_RED 0x1903
 #endif
@@ -180,8 +183,21 @@
       _gl_type_n_bytes (type);
 }
 
-static inline GLenum
-_gst_gl_format_from_gl_texture_type (GstVideoGLTextureType tex_format)
+static inline guint
+_gl_texture_type_n_bytes (GstVideoGLTextureType tex_format)
+{
+  guint format, type;
+
+  format = gst_gl_format_from_gl_texture_type (tex_format);
+  type = GL_UNSIGNED_BYTE;
+  if (tex_format == GST_VIDEO_GL_TEXTURE_TYPE_RGB16)
+    type = GL_UNSIGNED_SHORT_5_6_5;
+
+  return _gl_format_type_n_bytes (format, type);
+}
+
+guint
+gst_gl_format_from_gl_texture_type (GstVideoGLTextureType tex_format)
 {
   switch (tex_format) {
     case GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE_ALPHA:
@@ -202,19 +218,6 @@
   }
 }
 
-static inline guint
-_gl_texture_type_n_bytes (GstVideoGLTextureType tex_format)
-{
-  guint format, type;
-
-  format = _gst_gl_format_from_gl_texture_type (tex_format);
-  type = GL_UNSIGNED_BYTE;
-  if (tex_format == GST_VIDEO_GL_TEXTURE_TYPE_RGB16)
-    type = GL_UNSIGNED_SHORT_5_6_5;
-
-  return _gl_format_type_n_bytes (format, type);
-}
-
 GstVideoGLTextureType
 gst_gl_texture_type_from_format (GstGLContext * context,
     GstVideoFormat v_format, guint plane)
@@ -292,9 +295,9 @@
   return GST_VIDEO_GL_TEXTURE_TYPE_RGBA;
 }
 
-static inline GLenum
-_sized_gl_format_from_gl_format_type (GstGLContext * context, GLenum format,
-    GLenum type)
+guint
+gst_gl_sized_gl_format_from_gl_format_type (GstGLContext * context,
+    guint format, guint type)
 {
   gboolean ext_texture_rg =
       gst_gl_context_check_feature (context, "GL_EXT_texture_rg");
@@ -303,7 +306,8 @@
     case GL_RGBA:
       switch (type) {
         case GL_UNSIGNED_BYTE:
-          return GL_RGBA8;
+          return USING_GLES2 (context)
+              && !USING_GLES3 (context) ? GL_RGBA : GL_RGBA8;
           break;
       }
       break;
@@ -320,7 +324,7 @@
     case GL_RG:
       switch (type) {
         case GL_UNSIGNED_BYTE:
-          if (ext_texture_rg)
+          if (!USING_GLES3 (context) && USING_GLES2 (context) && ext_texture_rg)
             return GL_RG;
           return GL_RG8;
           break;
@@ -329,7 +333,7 @@
     case GL_RED:
       switch (type) {
         case GL_UNSIGNED_BYTE:
-          if (ext_texture_rg)
+          if (!USING_GLES3 (context) && USING_GLES2 (context) && ext_texture_rg)
             return GL_RED;
           return GL_R8;
           break;
@@ -395,7 +399,7 @@
       data->gl_format, data->gl_type, data->width, data->height);
 
   internal_format =
-      _sized_gl_format_from_gl_format_type (context, data->gl_format,
+      gst_gl_sized_gl_format_from_gl_format_type (context, data->gl_format,
       data->gl_type);
 
   gl->GenTextures (1, &data->result);
@@ -449,7 +453,7 @@
   if (gl_mem->tex_type == GST_VIDEO_GL_TEXTURE_TYPE_RGB16)
     gl_type = GL_UNSIGNED_SHORT_5_6_5;
 
-  gl_format = _gst_gl_format_from_gl_texture_type (gl_mem->tex_type);
+  gl_format = gst_gl_format_from_gl_texture_type (gl_mem->tex_type);
   gl_target = gl_mem->tex_target;
 
   if (USING_OPENGL (context) || USING_GLES3 (context)
@@ -595,7 +599,7 @@
   size = gst_gl_get_plane_data_size (&gl_mem->info, &gl_mem->valign,
       gl_mem->plane);
   plane_start = _find_plane_frame_start (gl_mem);
-  format = _gst_gl_format_from_gl_texture_type (gl_mem->tex_type);
+  format = gst_gl_format_from_gl_texture_type (gl_mem->tex_type);
   type = GL_UNSIGNED_BYTE;
   if (gl_mem->tex_type == GST_VIDEO_GL_TEXTURE_TYPE_RGB16)
     type = GL_UNSIGNED_SHORT_5_6_5;
@@ -634,7 +638,7 @@
   GLuint fboId;
 
   gl = context->gl_vtable;
-  format = _gst_gl_format_from_gl_texture_type (gl_mem->tex_type);
+  format = gst_gl_format_from_gl_texture_type (gl_mem->tex_type);
   type = GL_UNSIGNED_BYTE;
   if (gl_mem->tex_type == GST_VIDEO_GL_TEXTURE_TYPE_RGB16)
     type = GL_UNSIGNED_SHORT_5_6_5;
@@ -772,7 +776,7 @@
 
   data.width = mem->tex_width;
   data.height = GL_MEM_HEIGHT (mem);
-  data.gl_format = _gst_gl_format_from_gl_texture_type (mem->tex_type);
+  data.gl_format = gst_gl_format_from_gl_texture_type (mem->tex_type);
   data.gl_type = GL_UNSIGNED_BYTE;
   data.gl_target = mem->tex_target;
   if (mem->tex_type == GST_VIDEO_GL_TEXTURE_TYPE_RGB16)
@@ -920,11 +924,11 @@
   out_stride = copy_params->out_stride;
 
   gl = src->context->gl_vtable;
-  out_gl_format = _gst_gl_format_from_gl_texture_type (copy_params->out_format);
+  out_gl_format = gst_gl_format_from_gl_texture_type (copy_params->out_format);
   out_gl_type = GL_UNSIGNED_BYTE;
   if (copy_params->out_format == GST_VIDEO_GL_TEXTURE_TYPE_RGB16)
     out_gl_type = GL_UNSIGNED_SHORT_5_6_5;
-  in_gl_format = _gst_gl_format_from_gl_texture_type (src->tex_type);
+  in_gl_format = gst_gl_format_from_gl_texture_type (src->tex_type);
   in_gl_type = GL_UNSIGNED_BYTE;
   if (src->tex_type == GST_VIDEO_GL_TEXTURE_TYPE_RGB16)
     in_gl_type = GL_UNSIGNED_SHORT_5_6_5;
diff --git a/gst-libs/gst/gl/gstglmemory.h b/gst-libs/gst/gl/gstglmemory.h
index 28db0a4..68a4aeb 100644
--- a/gst-libs/gst/gl/gstglmemory.h
+++ b/gst-libs/gst/gl/gstglmemory.h
@@ -182,7 +182,13 @@
 gint          gst_gl_memory_get_texture_width  (GstGLMemory * gl_mem);
 gint          gst_gl_memory_get_texture_height (GstGLMemory * gl_mem);
 
-GstVideoGLTextureType gst_gl_texture_type_from_format (GstGLContext *context, GstVideoFormat v_format, guint plane);
+GstVideoGLTextureType gst_gl_texture_type_from_format (GstGLContext *context,
+                                                       GstVideoFormat v_format,
+                                                       guint plane);
+guint                 gst_gl_format_from_gl_texture_type (GstVideoGLTextureType tex_format);
+guint                 gst_gl_sized_gl_format_from_gl_format_type (GstGLContext * context,
+                                                                  guint format,
+                                                                  guint type);
 
 void gst_gl_memory_download_transfer (GstGLMemory * gl_mem);
 
diff --git a/gst-libs/gst/gl/gstglshader.c b/gst-libs/gst/gl/gstglshader.c
index fa16698..016e475 100644
--- a/gst-libs/gst/gl/gstglshader.c
+++ b/gst-libs/gst/gl/gstglshader.c
@@ -26,6 +26,11 @@
 #include "gl.h"
 #include "gstglshader.h"
 
+/* FIXME: separate into separate shader stage objects that can be added/removed
+ * independently of the shader program */
+
+static const gchar *es2_version_header = "#version 100\n";
+
 /* *INDENT-OFF* */
 static const gchar *simple_vertex_shader_str_gles2 =
       "attribute vec4 a_position;\n"
@@ -47,27 +52,6 @@
       "{\n"
       "  gl_FragColor = texture2D(tex, v_texcoord);\n"
       "}";
-
-static const gchar *simple_vertex_shader_str_gl3 =
-      "#version 130\n"
-      "in vec4 a_position;\n"
-      "in vec2 a_texcoord;\n"
-      "out vec2 v_texcoord;\n"
-      "void main()\n"
-      "{\n"
-      "   gl_Position = a_position;\n"
-      "   v_texcoord = a_texcoord;\n"
-      "}\n";
-
-static const gchar *simple_fragment_shader_str_gl3 =
-      "#version 130\n"
-      "in vec2 v_texcoord;\n"
-      "out vec4 frag_color;\n"
-      "uniform sampler2D tex;\n"
-      "void main()\n"
-      "{\n"
-      "  frag_color = texture(tex, v_texcoord);\n"
-      "}\n";
 /* *INDENT-ON* */
 
 #ifndef GL_COMPILE_STATUS
@@ -128,6 +112,8 @@
   gboolean compiled;
   gboolean active;
 
+  GstGLAPI gl_api;
+
   GstGLShaderVTable vtable;
 };
 
@@ -345,6 +331,9 @@
 
   priv->compiled = FALSE;
   priv->active = FALSE;         /* unused at the moment */
+
+  /* FIXME: add API to get/set this for each shader */
+  priv->gl_api = GST_GL_API_ANY;
 }
 
 static gboolean
@@ -416,6 +405,80 @@
   return shader->priv->compiled;
 }
 
+static gboolean
+_shader_string_has_version (const gchar * str)
+{
+  gboolean sl_comment = FALSE;
+  gboolean ml_comment = FALSE;
+  gboolean has_version = FALSE;
+  gint i = 0;
+
+  /* search for #version to allow for preceeding comments as allowed by the
+   * GLSL specification */
+  while (str && str[i] != '\0' && i < 1024) {
+    if (sl_comment) {
+      if (str[i] != '\n')
+        sl_comment = FALSE;
+      i++;
+      continue;
+    }
+
+    if (ml_comment) {
+      if (g_strstr_len (&str[i], 2, "*/")) {
+        ml_comment = FALSE;
+        i += 2;
+      } else {
+        i++;
+      }
+      continue;
+    }
+
+    if (g_strstr_len (&str[i], 2, "//")) {
+      sl_comment = TRUE;
+      i += 2;
+      continue;
+    }
+
+    if (g_strstr_len (&str[i], 2, "/*")) {
+      ml_comment = TRUE;
+      i += 2;
+      continue;
+    }
+
+    if (g_strstr_len (&str[i], 1, "#")) {
+      if (g_strstr_len (&str[i], 8, "#version"))
+        has_version = TRUE;
+      break;
+    }
+
+    i++;
+  }
+
+  return has_version;
+}
+
+static void
+_maybe_prepend_version (GstGLShader * shader, const gchar * shader_str,
+    gint * n_vertex_sources, const gchar *** vertex_sources)
+{
+  gint n = 1;
+
+  /* FIXME: this all an educated guess */
+  if (gst_gl_context_check_gl_version (shader->context, GST_GL_API_OPENGL3, 3,
+          0)
+      && (shader->priv->gl_api & GST_GL_API_GLES2) != 0
+      && !_shader_string_has_version (shader_str))
+    n = 2;
+
+  *vertex_sources = g_malloc0 (n * sizeof (gchar *));
+
+  if (n > 1)
+    *vertex_sources[0] = es2_version_header;
+
+  (*vertex_sources)[n - 1] = shader_str;
+  *n_vertex_sources = n;
+}
+
 gboolean
 gst_gl_shader_compile (GstGLShader * shader, GError ** error)
 {
@@ -444,10 +507,18 @@
   g_return_val_if_fail (priv->program_handle, FALSE);
 
   if (priv->vertex_src) {
+    gint n_vertex_sources;
+    const gchar **vertex_sources;
+
+    _maybe_prepend_version (shader, priv->vertex_src, &n_vertex_sources,
+        &vertex_sources);
+
     /* create vertex object */
-    const gchar *vertex_source = priv->vertex_src;
     priv->vertex_handle = priv->vtable.CreateShader (GL_VERTEX_SHADER);
-    gl->ShaderSource (priv->vertex_handle, 1, &vertex_source, NULL);
+    gl->ShaderSource (priv->vertex_handle, n_vertex_sources, vertex_sources,
+        NULL);
+    g_free (vertex_sources);
+
     /* compile */
     gl->CompileShader (priv->vertex_handle);
     /* check everything is ok */
@@ -476,10 +547,17 @@
   }
 
   if (priv->fragment_src) {
+    gint n_fragment_sources;
+    const gchar **fragment_sources;
+
+    _maybe_prepend_version (shader, priv->fragment_src, &n_fragment_sources,
+        &fragment_sources);
+
     /* create fragment object */
-    const gchar *fragment_source = priv->fragment_src;
     priv->fragment_handle = priv->vtable.CreateShader (GL_FRAGMENT_SHADER);
-    gl->ShaderSource (priv->fragment_handle, 1, &fragment_source, NULL);
+    gl->ShaderSource (priv->fragment_handle, n_fragment_sources,
+        fragment_sources, NULL);
+    g_free (fragment_sources);
     /* compile */
     gl->CompileShader (priv->fragment_handle);
     /* check everything is ok */
@@ -663,12 +741,8 @@
     const gchar * v_src, const gint n_attribs, const gchar * attrib_names[],
     GLint attrib_locs[])
 {
-  if (gst_gl_context_get_gl_api (shader->context) & GST_GL_API_OPENGL3)
-    return gst_gl_shader_compile_all_with_attribs_and_check (shader, v_src,
-        simple_fragment_shader_str_gl3, n_attribs, attrib_names, attrib_locs);
-  else
-    return gst_gl_shader_compile_all_with_attribs_and_check (shader, v_src,
-        simple_fragment_shader_str_gles2, n_attribs, attrib_names, attrib_locs);
+  return gst_gl_shader_compile_all_with_attribs_and_check (shader, v_src,
+      simple_fragment_shader_str_gles2, n_attribs, attrib_names, attrib_locs);
 }
 
 gboolean
@@ -679,14 +753,8 @@
   GLint attrib_locs[2] = { 0 };
   gboolean ret = TRUE;
 
-  if (gst_gl_context_get_gl_api (shader->context) & GST_GL_API_OPENGL3)
-    ret =
-        gst_gl_shader_compile_all_with_attribs_and_check (shader,
-        simple_vertex_shader_str_gl3, f_src, 2, attrib_names, attrib_locs);
-  else
-    ret =
-        gst_gl_shader_compile_all_with_attribs_and_check (shader,
-        simple_vertex_shader_str_gles2, f_src, 2, attrib_names, attrib_locs);
+  ret = gst_gl_shader_compile_all_with_attribs_and_check (shader,
+      simple_vertex_shader_str_gles2, f_src, 2, attrib_names, attrib_locs);
 
   if (ret) {
     *pos_loc = attrib_locs[0];
@@ -700,12 +768,8 @@
 gst_gl_shader_compile_with_default_vf_and_check (GstGLShader * shader,
     GLint * pos_loc, GLint * tex_loc)
 {
-  if (gst_gl_context_get_gl_api (shader->context) & GST_GL_API_OPENGL3)
-    return gst_gl_shader_compile_with_default_v_and_check (shader,
-        simple_fragment_shader_str_gl3, pos_loc, tex_loc);
-  else
-    return gst_gl_shader_compile_with_default_v_and_check (shader,
-        simple_fragment_shader_str_gles2, pos_loc, tex_loc);
+  return gst_gl_shader_compile_with_default_v_and_check (shader,
+      simple_fragment_shader_str_gles2, pos_loc, tex_loc);
 }
 
 void
diff --git a/gst-libs/gst/gl/gstglsyncmeta.c b/gst-libs/gst/gl/gstglsyncmeta.c
index db48f02..dd195cc 100644
--- a/gst-libs/gst/gl/gstglsyncmeta.c
+++ b/gst-libs/gst/gl/gstglsyncmeta.c
@@ -64,13 +64,14 @@
   const GstGLFuncs *gl = context->gl_vtable;
 
   if (gl->FenceSync) {
-    if (sync_meta->glsync)
+    if (sync_meta->glsync) {
+      GST_LOG ("deleting sync object %p", sync_meta->glsync);
       gl->DeleteSync (sync_meta->glsync);
+    }
     sync_meta->glsync = gl->FenceSync (GL_SYNC_GPU_COMMANDS_COMPLETE, 0);
     GST_LOG ("setting sync object %p", sync_meta->glsync);
-  } else {
-    gl->Flush ();
   }
+  gl->Flush ();
 }
 
 void
@@ -100,9 +101,6 @@
 void
 gst_gl_sync_meta_wait (GstGLSyncMeta * sync_meta, GstGLContext * context)
 {
-  if (sync_meta->context == context)
-    return;
-
   if (sync_meta->glsync) {
     gst_gl_context_thread_add (context,
         (GstGLContextThreadFunc) _wait, sync_meta);
@@ -127,9 +125,12 @@
       if (!dmeta)
         return FALSE;
 
-      GST_DEBUG ("copy gl sync metadata");
+      GST_LOG ("copy sync object %p from meta %p to %p", smeta->glsync,
+          smeta, dmeta);
 
-      dmeta->glsync = smeta->glsync;
+      /* Setting a sync point here relies on GstBuffer copying
+       * metas after data */
+      gst_gl_sync_meta_set_sync_point (dmeta, smeta->context);
     }
   }
   return TRUE;
@@ -140,9 +141,11 @@
 {
   const GstGLFuncs *gl = context->gl_vtable;
 
-  if (sync_meta->glsync)
+  if (sync_meta->glsync) {
+    GST_LOG ("deleting sync object %p", sync_meta->glsync);
     gl->DeleteSync (sync_meta->glsync);
-  sync_meta->glsync = NULL;
+    sync_meta->glsync = NULL;
+  }
 }
 
 static void
diff --git a/gst-libs/gst/gl/gstglupload.c b/gst-libs/gst/gl/gstglupload.c
index 3415f8f..e5f1ff0 100644
--- a/gst-libs/gst/gl/gstglupload.c
+++ b/gst-libs/gst/gl/gstglupload.c
@@ -681,7 +681,6 @@
 struct RawUpload
 {
   GstGLUpload *upload;
-  GstGLMemory *in_tex[GST_VIDEO_MAX_PLANES];
   GstVideoFrame in_frame;
 };
 
@@ -751,24 +750,23 @@
 _raw_data_upload_perform (gpointer impl, GstBuffer * buffer,
     GstBuffer ** outbuf)
 {
+  GstGLMemory *in_tex[GST_VIDEO_MAX_PLANES] = { 0, };
   struct RawUpload *raw = impl;
   int i;
 
-  if (!raw->in_tex[0])
-    gst_gl_memory_setup_wrapped (raw->upload->context,
-        &raw->upload->priv->in_info, NULL, raw->in_frame.data, raw->in_tex);
+  gst_gl_memory_setup_wrapped (raw->upload->context,
+      &raw->upload->priv->in_info, NULL, raw->in_frame.data, in_tex);
 
   for (i = 0; i < GST_VIDEO_MAX_PLANES; i++) {
-    if (raw->in_tex[i]) {
-      raw->in_tex[i]->data = raw->in_frame.data[i];
-      GST_GL_MEMORY_FLAG_SET (raw->in_tex[i], GST_GL_MEMORY_FLAG_NEED_UPLOAD);
+    if (in_tex[i]) {
+      in_tex[i]->data = raw->in_frame.data[i];
+      GST_GL_MEMORY_FLAG_SET (in_tex[i], GST_GL_MEMORY_FLAG_NEED_UPLOAD);
     }
   }
 
   *outbuf = gst_buffer_new ();
   for (i = 0; i < GST_VIDEO_INFO_N_PLANES (&raw->upload->priv->in_info); i++) {
-    gst_buffer_append_memory (*outbuf,
-        gst_memory_ref ((GstMemory *) raw->in_tex[i]));
+    gst_buffer_append_memory (*outbuf, (GstMemory *) in_tex[i]);
   }
 
   return GST_GL_UPLOAD_DONE;
@@ -786,12 +784,7 @@
 _raw_data_upload_free (gpointer impl)
 {
   struct RawUpload *raw = impl;
-  int i;
 
-  for (i = 0; i < GST_VIDEO_MAX_PLANES; i++) {
-    if (raw->in_tex[i])
-      gst_memory_unref ((GstMemory *) raw->in_tex[i]);
-  }
   g_free (raw);
 }
 
diff --git a/gst-libs/gst/gl/gstglutils.c b/gst-libs/gst/gl/gstglutils.c
index e4d9cad..0c0642a 100644
--- a/gst-libs/gst/gl/gstglutils.c
+++ b/gst-libs/gst/gl/gstglutils.c
@@ -31,6 +31,9 @@
 #if GST_GL_HAVE_WINDOW_X11
 #include <gst/gl/x11/gstgldisplay_x11.h>
 #endif
+#if GST_GL_HAVE_WINDOW_WAYLAND
+#include <gst/gl/wayland/gstgldisplay_wayland.h>
+#endif
 
 #ifndef GL_FRAMEBUFFER_UNDEFINED
 #define GL_FRAMEBUFFER_UNDEFINED          0x8219
@@ -105,6 +108,7 @@
 _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);
@@ -112,9 +116,12 @@
   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, GL_RGBA8, data->width,
-        data->height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
+    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);
@@ -124,6 +131,7 @@
   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)
@@ -142,6 +150,7 @@
   context->gl_vtable->DeleteTextures (1, texture);
 }
 
+/* deprecated. replaced by GstGLMemory */
 void
 gst_gl_context_del_texture (GstGLContext * context, GLuint * pTexture)
 {
@@ -160,6 +169,8 @@
 _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;
@@ -167,60 +178,14 @@
   gl->GenTextures (1, &data->result);
   gl->BindTexture (GL_TEXTURE_2D, data->result);
 
-  switch (GST_VIDEO_INFO_FORMAT (data->info)) {
-    case GST_VIDEO_FORMAT_RGB:
-    case GST_VIDEO_FORMAT_BGR:
-    {
-      glinternalformat = GL_RGB8;
-      glformat = GL_RGB;
-      gltype = GL_UNSIGNED_BYTE;
-      break;
-    }
-    case GST_VIDEO_FORMAT_RGB16:
-    {
-      glinternalformat = GL_RGB16;
-      glformat = GL_RGB;
-      gltype = GL_UNSIGNED_SHORT_5_6_5;
-      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:
-    {
-      glinternalformat = GL_RGBA8;
-      glformat = GL_RGBA;
-      gltype = GL_UNSIGNED_BYTE;
-      break;
-    }
-    case GST_VIDEO_FORMAT_NV12:
-    case GST_VIDEO_FORMAT_NV21:
-    {
-      glinternalformat = GL_LUMINANCE;
-      glformat = data->comp == 0 ? GL_LUMINANCE : GL_LUMINANCE_ALPHA;
-      gltype = GL_UNSIGNED_BYTE;
-      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:
-    {
-      glformat = GL_LUMINANCE;
-      gltype = GL_UNSIGNED_BYTE;
-      break;
-    }
-    default:
-      GST_WARNING ("unsupported %s",
-          gst_video_format_to_string (GST_VIDEO_INFO_FORMAT (data->info)));
-      break;
-  }
+  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),
@@ -233,6 +198,7 @@
   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[],
@@ -618,6 +584,30 @@
     goto out;
 #endif
 
+#if GST_GL_HAVE_WINDOW_WAYLAND
+  gst_query_unref (query);
+  query =
+      _gst_context_query (element, display_ptr,
+      "GstWaylandDisplayHandleContextType");
+  gst_query_parse_context (query, &ctxt);
+  if (ctxt
+      && gst_context_has_context_type (ctxt,
+          "GstWaylandDisplayHandleContextType")) {
+    const GstStructure *s;
+    struct wl_display *display;
+
+    s = gst_context_get_structure (ctxt);
+    if (gst_structure_get (s, "display", G_TYPE_POINTER, &display, NULL)
+        && display) {
+      *display_ptr =
+          (GstGLDisplay *) gst_gl_display_wayland_new_with_display (display);
+    }
+  }
+
+  if (*display_ptr)
+    goto out;
+#endif
+
 out:
   gst_query_unref (query);
 }
@@ -742,6 +732,17 @@
           (GstGLDisplay *) gst_gl_display_x11_new_with_display (display);
   }
 #endif
+#if GST_GL_HAVE_WINDOW_WAYLAND
+  else if (g_strcmp0 (context_type, "GstWaylandDisplayHandleContextType") == 0) {
+    const GstStructure *s;
+    struct wl_display *display;
+
+    s = gst_context_get_structure (context);
+    if (gst_structure_get (s, "display", G_TYPE_POINTER, &display, NULL))
+      display_replacement =
+          (GstGLDisplay *) gst_gl_display_wayland_new_with_display (display);
+  }
+#endif
   else if (g_strcmp0 (context_type, "gst.gl.app_context") == 0) {
     const GstStructure *s = gst_context_get_structure (context);
     GstGLDisplay *context_display;
@@ -839,6 +840,33 @@
     res = x11_display != NULL;
   }
 #endif
+#if GST_GL_HAVE_WINDOW_WAYLAND
+  else if (g_strcmp0 (context_type, "GstWaylandDisplayHandleContextType") == 0) {
+    GstStructure *s;
+    struct wl_display *wayland_display = NULL;
+
+    gst_query_parse_context (query, &old_context);
+
+    if (old_context)
+      context = gst_context_copy (old_context);
+    else
+      context = gst_context_new ("GstWaylandDisplayHandleContextType", TRUE);
+
+    if (*display
+        && ((*display)->type & GST_GL_DISPLAY_TYPE_WAYLAND) ==
+        GST_GL_DISPLAY_TYPE_WAYLAND)
+      wayland_display =
+          (struct wl_display *) gst_gl_display_get_handle (*display);
+
+    s = gst_context_writable_structure (context);
+    gst_structure_set (s, "display", G_TYPE_POINTER, wayland_display, NULL);
+
+    gst_query_set_context (query, context);
+    gst_context_unref (context);
+
+    res = wayland_display != NULL;
+  }
+#endif
   else if (g_strcmp0 (context_type, "gst.gl.app_context") == 0) {
     GstStructure *s;
 
diff --git a/gst-libs/gst/gl/gstglutils.h b/gst-libs/gst/gl/gstglutils.h
index c915bfb..ee606e0 100644
--- a/gst-libs/gst/gl/gstglutils.h
+++ b/gst-libs/gst/gl/gstglutils.h
@@ -67,10 +67,13 @@
  */
 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);
 
diff --git a/gst-libs/gst/gl/gstglwindow.c b/gst-libs/gst/gl/gstglwindow.c
index 42de9ab..403eed6 100644
--- a/gst-libs/gst/gl/gstglwindow.c
+++ b/gst-libs/gst/gl/gstglwindow.c
@@ -77,8 +77,13 @@
 #define GST_GL_WINDOW_GET_PRIVATE(o) \
   (G_TYPE_INSTANCE_GET_PRIVATE((o), GST_GL_TYPE_WINDOW, GstGLWindowPrivate))
 
+static void gst_gl_window_default_draw (GstGLWindow * window);
+static void gst_gl_window_default_run (GstGLWindow * window);
+static void gst_gl_window_default_quit (GstGLWindow * window);
 static void gst_gl_window_default_send_message (GstGLWindow * window,
     GstGLWindowCB callback, gpointer data);
+static void gst_gl_window_default_send_message_async (GstGLWindow * window,
+    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy);
 static gpointer gst_gl_window_navigation_thread (GstGLWindow * window);
 void gst_gl_window_run_navigation (GstGLWindow * window);
 void gst_gl_window_open_navigation (GstGLWindow * window);
@@ -87,6 +92,8 @@
 
 struct _GstGLWindowPrivate
 {
+  GMainContext *main_context;
+  GMainLoop *loop;
   GThread *navigation_thread;
 
   gboolean alive;
@@ -99,9 +106,6 @@
   GstGLWindow parent;
 
   guintptr handle;
-
-  GMainContext *main_context;
-  GMainLoop *loop;
 } GstGLDummyWindow;
 
 typedef struct _GstGLDummyWindowCass
@@ -127,10 +131,57 @@
   return g_quark_from_static_string ("gst-gl-window-error-quark");
 }
 
+static gboolean
+gst_gl_window_default_open (GstGLWindow * window, GError ** error)
+{
+  GstGLWindowPrivate *priv = window->priv;
+
+  if (g_main_context_get_thread_default ()) {
+    if (priv->main_context)
+      g_main_context_unref (priv->main_context);
+    if (priv->loop)
+      g_main_loop_unref (priv->loop);
+    priv->main_context = g_main_context_ref_thread_default ();
+    priv->loop = NULL;
+    priv->alive = TRUE;
+  } else {
+    g_main_context_push_thread_default (priv->main_context);
+  }
+
+  return TRUE;
+}
+
+static void
+gst_gl_window_default_close (GstGLWindow * window)
+{
+  GstGLWindowPrivate *priv = window->priv;
+
+  if (!priv->loop) {
+    priv->alive = FALSE;
+    g_main_context_unref (priv->main_context);
+    priv->main_context = NULL;
+  } else {
+    g_main_context_pop_thread_default (priv->main_context);
+  }
+}
+
+static void
+_init_debug (void)
+{
+  static volatile gsize _init = 0;
+
+  if (g_once_init_enter (&_init)) {
+    GST_DEBUG_CATEGORY_INIT (gst_gl_window_debug, "glwindow", 0,
+        "glwindow element");
+    g_once_init_leave (&_init, 1);
+  }
+}
+
 static void
 gst_gl_window_init (GstGLWindow * window)
 {
-  window->priv = GST_GL_WINDOW_GET_PRIVATE (window);
+  GstGLWindowPrivate *priv = GST_GL_WINDOW_GET_PRIVATE (window);
+  window->priv = priv;
 
   g_mutex_init (&window->lock);
   g_mutex_init (&window->nav_lock);
@@ -141,6 +192,9 @@
   window->is_drawing = FALSE;
 
   g_weak_ref_init (&window->context_ref, NULL);
+
+  priv->main_context = g_main_context_new ();
+  priv->loop = g_main_loop_new (priv->main_context, FALSE);
 }
 
 static void
@@ -148,7 +202,15 @@
 {
   g_type_class_add_private (klass, sizeof (GstGLWindowPrivate));
 
+  klass->open = GST_DEBUG_FUNCPTR (gst_gl_window_default_open);
+  klass->close = GST_DEBUG_FUNCPTR (gst_gl_window_default_close);
+  klass->run = GST_DEBUG_FUNCPTR (gst_gl_window_default_run);
+  klass->quit = GST_DEBUG_FUNCPTR (gst_gl_window_default_quit);
+  klass->draw_unlocked = GST_DEBUG_FUNCPTR (gst_gl_window_default_draw);
+  klass->draw = GST_DEBUG_FUNCPTR (gst_gl_window_default_draw);
   klass->send_message = GST_DEBUG_FUNCPTR (gst_gl_window_default_send_message);
+  klass->send_message_async =
+      GST_DEBUG_FUNCPTR (gst_gl_window_default_send_message_async);
 
   G_OBJECT_CLASS (klass)->finalize = gst_gl_window_finalize;
 
@@ -183,6 +245,8 @@
       g_signal_new ("key-event", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_generic,
       G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING);
+
+  _init_debug ();
 }
 
 /**
@@ -198,15 +262,10 @@
 {
   GstGLWindow *window = NULL;
   const gchar *user_choice;
-  static volatile gsize _init = 0;
 
   g_return_val_if_fail (display != NULL, NULL);
 
-  if (g_once_init_enter (&_init)) {
-    GST_DEBUG_CATEGORY_INIT (gst_gl_window_debug, "glwindow", 0,
-        "glwindow element");
-    g_once_init_leave (&_init, 1);
-  }
+  _init_debug ();
 
   user_choice = g_getenv ("GST_GL_WINDOW");
   GST_INFO ("creating a window, user choice:%s", user_choice);
@@ -267,6 +326,7 @@
 gst_gl_window_finalize (GObject * object)
 {
   GstGLWindow *window = GST_GL_WINDOW (object);
+  GstGLWindowPrivate *priv = window->priv;
 
   if (window->nav_alive) {
     g_mutex_lock (&window->nav_lock);
@@ -278,6 +338,12 @@
     g_mutex_unlock (&window->nav_lock);
   }
 
+  if (priv->loop)
+    g_main_loop_unref (priv->loop);
+
+  if (priv->main_context)
+    g_main_context_unref (priv->main_context);
+
   g_weak_ref_clear (&window->context_ref);
 
   g_mutex_clear (&window->lock);
@@ -364,6 +430,29 @@
   /* window_class->set_window_handle (window, handle); */
 }
 
+static void
+draw_cb (gpointer data)
+{
+  GstGLWindow *window = GST_GL_WINDOW (data);
+  GstGLContext *context = gst_gl_window_get_context (window);
+  GstGLContextClass *context_class = GST_GL_CONTEXT_GET_CLASS (context);
+
+  if (window->draw)
+    window->draw (window->draw_data);
+
+  if (context_class->swap_buffers)
+    context_class->swap_buffers (context);
+
+  gst_object_unref (context);
+}
+
+static void
+gst_gl_window_default_draw (GstGLWindow * window)
+{
+  gst_gl_window_send_message (window, (GstGLWindowCB) draw_cb, window);
+}
+
+
 /**
  * gst_gl_window_draw_unlocked:
  * @window: a #GstGLWindow
@@ -452,6 +541,12 @@
     window_class->show (window);
 }
 
+static void
+gst_gl_window_default_run (GstGLWindow * window)
+{
+  g_main_loop_run (window->priv->loop);
+}
+
 /**
  * gst_gl_window_run:
  * @window: a #GstGLWindow
@@ -490,6 +585,12 @@
   g_main_loop_run (window->navigation_loop);
 }
 
+static void
+gst_gl_window_default_quit (GstGLWindow * window)
+{
+  g_main_loop_quit (window->priv->loop);
+}
+
 /**
  * gst_gl_window_quit:
  * @window: a #GstGLWindow
@@ -592,6 +693,42 @@
   window_class->send_message (window, callback, data);
 }
 
+typedef struct _GstGLAsyncMessage
+{
+  GstGLWindowCB callback;
+  gpointer data;
+  GDestroyNotify destroy;
+} GstGLAsyncMessage;
+
+static gboolean
+_run_message_async (GstGLAsyncMessage * message)
+{
+  if (message->callback)
+    message->callback (message->data);
+
+  if (message->destroy)
+    message->destroy (message->data);
+
+  g_slice_free (GstGLAsyncMessage, message);
+
+  return FALSE;
+}
+
+static void
+gst_gl_window_default_send_message_async (GstGLWindow * window,
+    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy)
+{
+  GstGLWindowPrivate *priv = window->priv;
+  GstGLAsyncMessage *message = g_slice_new (GstGLAsyncMessage);
+
+  message->callback = callback;
+  message->data = data;
+  message->destroy = destroy;
+
+  g_main_context_invoke (priv->main_context, (GSourceFunc) _run_message_async,
+      message);
+}
+
 /**
  * gst_gl_window_send_message_async:
  * @window: a #GstGLWindow
@@ -716,7 +853,9 @@
 gboolean
 gst_gl_window_is_running (GstGLWindow * window)
 {
-  return window->priv->alive;
+  GstGLWindowPrivate *priv = window->priv;
+  return priv->alive && (!priv->loop
+      || g_main_loop_is_running (window->priv->loop));
 }
 
 /**
@@ -798,42 +937,6 @@
 
 G_DEFINE_TYPE (GstGLDummyWindow, gst_gl_dummy_window, GST_GL_TYPE_WINDOW);
 
-static gboolean
-gst_gl_dummy_window_open (GstGLWindow * window, GError ** error)
-{
-  GstGLDummyWindow *dummy = (GstGLDummyWindow *) window;
-
-  dummy->main_context = g_main_context_new ();
-  dummy->loop = g_main_loop_new (dummy->main_context, FALSE);
-
-  return TRUE;
-}
-
-static void
-gst_gl_dummy_window_close (GstGLWindow * window)
-{
-  GstGLDummyWindow *dummy = (GstGLDummyWindow *) window;
-
-  g_main_loop_unref (dummy->loop);
-  g_main_context_unref (dummy->main_context);
-}
-
-static void
-gst_gl_dummy_window_quit (GstGLWindow * window)
-{
-  GstGLDummyWindow *dummy = (GstGLDummyWindow *) window;
-
-  g_main_loop_quit (dummy->loop);
-}
-
-static void
-gst_gl_dummy_window_run (GstGLWindow * window)
-{
-  GstGLDummyWindow *dummy = (GstGLDummyWindow *) window;
-
-  g_main_loop_run (dummy->loop);
-}
-
 void
 gst_gl_window_open_navigation (GstGLWindow * window)
 {
@@ -882,45 +985,6 @@
   return NULL;
 }
 
-typedef struct _GstGLMessage
-{
-  GstGLWindowCB callback;
-  gpointer data;
-  GDestroyNotify destroy;
-} GstGLMessage;
-
-static gboolean
-_run_message (GstGLMessage * message)
-{
-  if (message->callback)
-    message->callback (message->data);
-
-  if (message->destroy)
-    message->destroy (message->data);
-
-  g_slice_free (GstGLMessage, message);
-
-  return FALSE;
-}
-
-static void
-gst_gl_dummy_window_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy)
-{
-  GstGLDummyWindow *dummy;
-  GstGLMessage *message;
-
-  dummy = (GstGLDummyWindow *) window;
-  message = g_slice_new (GstGLMessage);
-
-  message->callback = callback;
-  message->data = data;
-  message->destroy = destroy;
-
-  g_main_context_invoke (dummy->main_context, (GSourceFunc) _run_message,
-      message);
-}
-
 static void
 gst_gl_dummy_window_set_window_handle (GstGLWindow * window, guintptr handle)
 {
@@ -937,28 +1001,6 @@
   return (guintptr) dummy->handle;
 }
 
-static void
-draw_cb (gpointer data)
-{
-  GstGLDummyWindow *dummy = data;
-  GstGLWindow *window = GST_GL_WINDOW (dummy);
-  GstGLContext *context = gst_gl_window_get_context (window);
-  GstGLContextClass *context_class = GST_GL_CONTEXT_GET_CLASS (context);
-
-  if (window->draw)
-    window->draw (window->draw_data);
-
-  context_class->swap_buffers (context);
-
-  gst_object_unref (context);
-}
-
-static void
-gst_gl_dummy_window_draw (GstGLWindow * window)
-{
-  gst_gl_window_send_message (window, (GstGLWindowCB) draw_cb, window);
-}
-
 static guintptr
 gst_gl_dummy_window_get_display (GstGLWindow * window)
 {
@@ -982,14 +1024,6 @@
       GST_DEBUG_FUNCPTR (gst_gl_dummy_window_get_window_handle);
   window_class->set_window_handle =
       GST_DEBUG_FUNCPTR (gst_gl_dummy_window_set_window_handle);
-  window_class->draw_unlocked = GST_DEBUG_FUNCPTR (gst_gl_dummy_window_draw);
-  window_class->draw = GST_DEBUG_FUNCPTR (gst_gl_dummy_window_draw);
-  window_class->run = GST_DEBUG_FUNCPTR (gst_gl_dummy_window_run);
-  window_class->quit = GST_DEBUG_FUNCPTR (gst_gl_dummy_window_quit);
-  window_class->send_message_async =
-      GST_DEBUG_FUNCPTR (gst_gl_dummy_window_send_message_async);
-  window_class->open = GST_DEBUG_FUNCPTR (gst_gl_dummy_window_open);
-  window_class->close = GST_DEBUG_FUNCPTR (gst_gl_dummy_window_close);
   window_class->get_surface_dimensions =
       GST_DEBUG_FUNCPTR (gst_gl_dummy_window_get_surface_dimensions);
 }
@@ -1072,3 +1106,35 @@
   if (window_class->handle_events)
     window_class->handle_events (window, handle_events);
 }
+
+/**
+ * gst_gl_window_set_render_rectangle:
+ * @window: a #GstGLWindow
+ * @x: x position
+ * @y: y position
+ * @width: width
+ * @height: height
+ *
+ * Tell a @window that it should render into a specific region of the window
+ * according to the #GstVideoOverlay interface.
+ *
+ * Returns: whether the specified region could be set
+ */
+gboolean
+gst_gl_window_set_render_rectangle (GstGLWindow * window, gint x, gint y,
+    gint width, gint height)
+{
+  GstGLWindowClass *window_class;
+  gboolean ret = FALSE;
+
+  g_return_val_if_fail (GST_GL_IS_WINDOW (window), FALSE);
+  window_class = GST_GL_WINDOW_GET_CLASS (window);
+
+  if (x < 0 || y < 0 || width <= 0 || height <= 0)
+    return FALSE;
+
+  if (window_class->set_render_rectangle)
+    ret = window_class->set_render_rectangle (window, x, y, width, height);
+
+  return ret;
+}
diff --git a/gst-libs/gst/gl/gstglwindow.h b/gst-libs/gst/gl/gstglwindow.h
index bd13417..b7c5a76 100644
--- a/gst-libs/gst/gl/gstglwindow.h
+++ b/gst-libs/gst/gl/gstglwindow.h
@@ -32,7 +32,7 @@
 
 #define GST_GL_TYPE_WINDOW         (gst_gl_window_get_type())
 #define GST_GL_WINDOW(o)           (G_TYPE_CHECK_INSTANCE_CAST((o), GST_GL_TYPE_WINDOW, GstGLWindow))
-#define GST_GL_WINDOW_CLASS(k)     (G_TYPE_CHECK_CLASS((k), GST_GL_TYPE_WINDOW, GstGLWindowClass))
+#define GST_GL_WINDOW_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), GST_GL_TYPE_WINDOW, GstGLWindowClass))
 #define GST_GL_IS_WINDOW(o)        (G_TYPE_CHECK_INSTANCE_TYPE((o), GST_GL_TYPE_WINDOW))
 #define GST_GL_IS_WINDOW_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE((k), GST_GL_TYPE_WINDOW))
 #define GST_GL_WINDOW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_GL_TYPE_WINDOW, GstGLWindowClass))
@@ -142,6 +142,7 @@
   void     (*handle_events)      (GstGLWindow *window, gboolean handle_events);
   void     (*set_preferred_size) (GstGLWindow *window, gint width, gint height);
   void     (*show)               (GstGLWindow *window);
+  gboolean (*set_render_rectangle)(GstGLWindow *window, gint x, gint y, gint width, gint height);
 
   /*< private >*/
   gpointer _reserved[GST_PADDING];
@@ -221,6 +222,11 @@
 void     gst_gl_window_get_surface_dimensions (GstGLWindow * window,
                                                guint * width,
                                                guint * height);
+gboolean gst_gl_window_set_render_rectangle   (GstGLWindow * window,
+                                               gint x,
+                                               gint y,
+                                               gint width,
+                                               gint height);
 
 GstGLContext * gst_gl_window_get_context    (GstGLWindow *window);
 guintptr       gst_gl_window_get_display    (GstGLWindow *window);
diff --git a/gst-libs/gst/gl/wayland/Makefile.am b/gst-libs/gst/gl/wayland/Makefile.am
index 9006e67..1b284fb 100644
--- a/gst-libs/gst/gl/wayland/Makefile.am
+++ b/gst-libs/gst/gl/wayland/Makefile.am
@@ -3,10 +3,12 @@
 noinst_LTLIBRARIES = libgstgl-wayland.la
 
 libgstgl_wayland_la_SOURCES = \
+	gstgldisplay_wayland.c \
 	gstglwindow_wayland_egl.c \
 	wayland_event_source.c
 
 noinst_HEADERS = \
+	gstgldisplay_wayland.h \
 	gstglwindow_wayland_egl.h \
 	wayland_event_source.h
 
diff --git a/gst-libs/gst/gl/wayland/Makefile.in b/gst-libs/gst/gl/wayland/Makefile.in
index 3265600..7c593b5 100644
--- a/gst-libs/gst/gl/wayland/Makefile.in
+++ b/gst-libs/gst/gl/wayland/Makefile.in
@@ -127,6 +127,7 @@
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 libgstgl_wayland_la_LIBADD =
 am_libgstgl_wayland_la_OBJECTS =  \
+	libgstgl_wayland_la-gstgldisplay_wayland.lo \
 	libgstgl_wayland_la-gstglwindow_wayland_egl.lo \
 	libgstgl_wayland_la-wayland_event_source.lo
 libgstgl_wayland_la_OBJECTS = $(am_libgstgl_wayland_la_OBJECTS)
@@ -708,10 +709,12 @@
 wayland_scanner = @wayland_scanner@
 noinst_LTLIBRARIES = libgstgl-wayland.la
 libgstgl_wayland_la_SOURCES = \
+	gstgldisplay_wayland.c \
 	gstglwindow_wayland_egl.c \
 	wayland_event_source.c
 
 noinst_HEADERS = \
+	gstgldisplay_wayland.h \
 	gstglwindow_wayland_egl.h \
 	wayland_event_source.h
 
@@ -782,6 +785,7 @@
 distclean-compile:
 	-rm -f *.tab.c
 
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_wayland_la-gstgldisplay_wayland.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_wayland_la-gstglwindow_wayland_egl.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_wayland_la-wayland_event_source.Plo@am__quote@
 
@@ -809,6 +813,13 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
+libgstgl_wayland_la-gstgldisplay_wayland.lo: gstgldisplay_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) $(libgstgl_wayland_la_CFLAGS) $(CFLAGS) -MT libgstgl_wayland_la-gstgldisplay_wayland.lo -MD -MP -MF $(DEPDIR)/libgstgl_wayland_la-gstgldisplay_wayland.Tpo -c -o libgstgl_wayland_la-gstgldisplay_wayland.lo `test -f 'gstgldisplay_wayland.c' || echo '$(srcdir)/'`gstgldisplay_wayland.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_wayland_la-gstgldisplay_wayland.Tpo $(DEPDIR)/libgstgl_wayland_la-gstgldisplay_wayland.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstgldisplay_wayland.c' object='libgstgl_wayland_la-gstgldisplay_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) $(libgstgl_wayland_la_CFLAGS) $(CFLAGS) -c -o libgstgl_wayland_la-gstgldisplay_wayland.lo `test -f 'gstgldisplay_wayland.c' || echo '$(srcdir)/'`gstgldisplay_wayland.c
+
 libgstgl_wayland_la-gstglwindow_wayland_egl.lo: gstglwindow_wayland_egl.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_wayland_la_CFLAGS) $(CFLAGS) -MT libgstgl_wayland_la-gstglwindow_wayland_egl.lo -MD -MP -MF $(DEPDIR)/libgstgl_wayland_la-gstglwindow_wayland_egl.Tpo -c -o libgstgl_wayland_la-gstglwindow_wayland_egl.lo `test -f 'gstglwindow_wayland_egl.c' || echo '$(srcdir)/'`gstglwindow_wayland_egl.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_wayland_la-gstglwindow_wayland_egl.Tpo $(DEPDIR)/libgstgl_wayland_la-gstglwindow_wayland_egl.Plo
diff --git a/gst-libs/gst/gl/wayland/gstgldisplay_wayland.c b/gst-libs/gst/gl/wayland/gstgldisplay_wayland.c
new file mode 100644
index 0000000..c5c5094
--- /dev/null
+++ b/gst-libs/gst/gl/wayland/gstgldisplay_wayland.c
@@ -0,0 +1,160 @@
+/*
+ * GStreamer
+ * Copyright (C) 2013 Matthew Waters <ystreet00@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/gl/wayland/gstgldisplay_wayland.h>
+
+GST_DEBUG_CATEGORY_STATIC (gst_gl_display_debug);
+#define GST_CAT_DEFAULT gst_gl_display_debug
+
+G_DEFINE_TYPE (GstGLDisplayWayland, gst_gl_display_wayland,
+    GST_TYPE_GL_DISPLAY);
+
+static void gst_gl_display_wayland_finalize (GObject * object);
+static guintptr gst_gl_display_wayland_get_handle (GstGLDisplay * display);
+
+static void
+registry_handle_global (void *data, struct wl_registry *registry,
+    uint32_t name, const char *interface, uint32_t version)
+{
+  GstGLDisplayWayland *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 (GstGLDisplayWayland * 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_gl_display_wayland_class_init (GstGLDisplayWaylandClass * klass)
+{
+  GST_GL_DISPLAY_CLASS (klass)->get_handle =
+      GST_DEBUG_FUNCPTR (gst_gl_display_wayland_get_handle);
+
+  G_OBJECT_CLASS (klass)->finalize = gst_gl_display_wayland_finalize;
+}
+
+static void
+gst_gl_display_wayland_init (GstGLDisplayWayland * display_wayland)
+{
+  GstGLDisplay *display = (GstGLDisplay *) display_wayland;
+
+  display->type = GST_GL_DISPLAY_TYPE_WAYLAND;
+  display_wayland->foreign_display = FALSE;
+}
+
+static void
+gst_gl_display_wayland_finalize (GObject * object)
+{
+  GstGLDisplayWayland *display_wayland = GST_GL_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_gl_display_wayland_parent_class)->finalize (object);
+}
+
+/**
+ * gst_gl_display_wayland_new:
+ * @name: (allow-none): a display name
+ *
+ * Create a new #GstGLDisplayWayland from the wayland display name.  See wl_display_connect()
+ * for details on what is a valid name.
+ *
+ * Returns: (transfer full): a new #GstGLDisplayWayland or %NULL
+ */
+GstGLDisplayWayland *
+gst_gl_display_wayland_new (const gchar * name)
+{
+  GstGLDisplayWayland *ret;
+
+  GST_DEBUG_CATEGORY_GET (gst_gl_display_debug, "gldisplay");
+
+  ret = g_object_new (GST_TYPE_GL_DISPLAY_WAYLAND, NULL);
+  ret->display = wl_display_connect (name);
+
+  if (!ret->display) {
+    GST_ERROR ("Failed to open X11 display connection with name, \'%s\'", name);
+    return NULL;
+  }
+
+  _connect_listeners (ret);
+
+  return ret;
+}
+
+/**
+ * gst_gl_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 #GstGLDisplayWayland
+ */
+GstGLDisplayWayland *
+gst_gl_display_wayland_new_with_display (struct wl_display * display)
+{
+  GstGLDisplayWayland *ret;
+
+  g_return_val_if_fail (display != NULL, NULL);
+
+  GST_DEBUG_CATEGORY_GET (gst_gl_display_debug, "gldisplay");
+
+  ret = g_object_new (GST_TYPE_GL_DISPLAY_WAYLAND, NULL);
+
+  ret->display = display;
+  ret->foreign_display = TRUE;
+
+  _connect_listeners (ret);
+
+  return ret;
+}
+
+static guintptr
+gst_gl_display_wayland_get_handle (GstGLDisplay * display)
+{
+  return (guintptr) GST_GL_DISPLAY_WAYLAND (display)->display;
+}
diff --git a/gst-libs/gst/gl/wayland/gstgldisplay_wayland.h b/gst-libs/gst/gl/wayland/gstgldisplay_wayland.h
new file mode 100644
index 0000000..3612c78
--- /dev/null
+++ b/gst-libs/gst/gl/wayland/gstgldisplay_wayland.h
@@ -0,0 +1,75 @@
+/*
+ * GStreamer
+ * Copyright (C) 2013 Matthew Waters <ystreet00@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_DISPLAY_WAYLAND_H__
+#define __GST_GL_DISPLAY_WAYLAND_H__
+
+#include <gst/gst.h>
+
+#include <wayland-client.h>
+
+#include <gst/gl/gstgl_fwd.h>
+#include <gst/gl/gstgldisplay.h>
+
+G_BEGIN_DECLS
+
+GType gst_gl_display_wayland_get_type (void);
+
+#define GST_TYPE_GL_DISPLAY_WAYLAND             (gst_gl_display_wayland_get_type())
+#define GST_GL_DISPLAY_WAYLAND(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GL_DISPLAY_WAYLAND,GstGLDisplayWayland))
+#define GST_GL_DISPLAY_WAYLAND_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_GL_DISPLAY_WAYLAND,GstGLDisplayWaylandClass))
+#define GST_IS_GL_DISPLAY_WAYLAND(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_GL_DISPLAY_WAYLAND))
+#define GST_IS_GL_DISPLAY_WAYLAND_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_GL_DISPLAY_WAYLAND))
+#define GST_GL_DISPLAY_WAYLAND_CAST(obj)        ((GstGLDisplayWayland*)(obj))
+
+typedef struct _GstGLDisplayWayland GstGLDisplayWayland;
+typedef struct _GstGLDisplayWaylandClass GstGLDisplayWaylandClass;
+
+/**
+ * GstGLDisplayWayland:
+ *
+ * the contents of a #GstGLDisplayWayland are private and should only be accessed
+ * through the provided API
+ */
+struct _GstGLDisplayWayland
+{
+  GstGLDisplay            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 _GstGLDisplayWaylandClass
+{
+  GstGLDisplayClass object_class;
+};
+
+GstGLDisplayWayland *gst_gl_display_wayland_new (const gchar * name);
+GstGLDisplayWayland *gst_gl_display_wayland_new_with_display (struct wl_display *display);
+
+G_END_DECLS
+
+#endif /* __GST_GL_DISPLAY_WAYLAND_H__ */
diff --git a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c
index 271a677..bfa7741 100644
--- a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c
+++ b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c
@@ -32,6 +32,7 @@
 #include "../gstgl_fwd.h"
 #include <gst/gl/gstglcontext.h>
 
+#include "gstgldisplay_wayland.h"
 #include "gstglwindow_wayland_egl.h"
 
 const gchar *WlEGLErrorString ();
@@ -41,22 +42,21 @@
 #define gst_gl_window_wayland_egl_parent_class parent_class
 G_DEFINE_TYPE (GstGLWindowWaylandEGL, gst_gl_window_wayland_egl,
     GST_GL_TYPE_WINDOW);
-static void gst_gl_window_wayland_egl_finalize (GObject * object);
 
 static guintptr gst_gl_window_wayland_egl_get_window_handle (GstGLWindow *
     window);
 static void gst_gl_window_wayland_egl_set_window_handle (GstGLWindow * window,
     guintptr handle);
+static void gst_gl_window_wayland_egl_show (GstGLWindow * window);
 static void gst_gl_window_wayland_egl_draw (GstGLWindow * window);
-static void gst_gl_window_wayland_egl_run (GstGLWindow * window);
-static void gst_gl_window_wayland_egl_quit (GstGLWindow * window);
-static void gst_gl_window_wayland_egl_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy);
 static void gst_gl_window_wayland_egl_close (GstGLWindow * window);
 static gboolean gst_gl_window_wayland_egl_open (GstGLWindow * window,
     GError ** error);
 static guintptr gst_gl_window_wayland_egl_get_display (GstGLWindow * window);
+static gboolean gst_gl_window_wayland_egl_set_render_rectangle (GstGLWindow *
+    window, gint x, gint y, gint width, gint height);
 
+#if 0
 static void
 pointer_handle_enter (void *data, struct wl_pointer *pointer, uint32_t serial,
     struct wl_surface *surface, wl_fixed_t sx_w, wl_fixed_t sy_w)
@@ -188,7 +188,7 @@
 static const struct wl_seat_listener seat_listener = {
   seat_handle_capabilities,
 };
-
+#endif
 static void
 handle_ping (void *data, struct wl_shell_surface *shell_surface,
     uint32_t serial)
@@ -226,86 +226,107 @@
   handle_popup_done
 };
 
-static gboolean
-create_surface (GstGLWindowWaylandEGL * window_egl)
-{
-  window_egl->window.surface =
-      wl_compositor_create_surface (window_egl->display.compositor);
-  window_egl->window.shell_surface =
-      wl_shell_get_shell_surface (window_egl->display.shell,
-      window_egl->window.surface);
-
-  wl_shell_surface_add_listener (window_egl->window.shell_surface,
-      &shell_surface_listener, window_egl);
-
-  if (window_egl->window.window_width <= 0)
-    window_egl->window.window_width = 320;
-  if (window_egl->window.window_height <= 0)
-    window_egl->window.window_height = 240;
-
-  window_egl->window.native =
-      wl_egl_window_create (window_egl->window.surface,
-      window_egl->window.window_width, window_egl->window.window_height);
-
-  wl_shell_surface_set_title (window_egl->window.shell_surface,
-      "OpenGL Renderer");
-
-  wl_shell_surface_set_toplevel (window_egl->window.shell_surface);
-
-  return TRUE;
-}
-
 static void
-destroy_surface (GstGLWindowWaylandEGL * window_egl)
+destroy_surfaces (GstGLWindowWaylandEGL * window_egl)
 {
-  if (window_egl->window.native)
-    wl_egl_window_destroy (window_egl->window.native);
-
-  if (window_egl->window.shell_surface)
+  if (window_egl->window.subsurface) {
+    wl_subsurface_destroy (window_egl->window.subsurface);
+    window_egl->window.subsurface = NULL;
+  }
+  if (window_egl->window.shell_surface) {
     wl_shell_surface_destroy (window_egl->window.shell_surface);
-
-  if (window_egl->window.surface)
+    window_egl->window.shell_surface = NULL;
+  }
+  if (window_egl->window.surface) {
     wl_surface_destroy (window_egl->window.surface);
-
-  if (window_egl->window.callback)
-    wl_callback_destroy (window_egl->window.callback);
-}
-
-static void
-registry_handle_global (void *data, struct wl_registry *registry,
-    uint32_t name, const char *interface, uint32_t version)
-{
-  GstGLWindowWaylandEGL *window_egl = data;
-  struct display *d = &window_egl->display;
-
-  GST_TRACE_OBJECT (window_egl, "registry_handle_global with registry %p, "
-      "interface %s, version %u", registry, interface, version);
-
-  if (g_strcmp0 (interface, "wl_compositor") == 0) {
-    d->compositor =
-        wl_registry_bind (registry, name, &wl_compositor_interface, 1);
-  } else if (g_strcmp0 (interface, "wl_shell") == 0) {
-    d->shell = wl_registry_bind (registry, name, &wl_shell_interface, 1);
-  } else if (g_strcmp0 (interface, "wl_seat") == 0) {
-    d->seat = wl_registry_bind (registry, name, &wl_seat_interface, 1);
-    wl_seat_add_listener (d->seat, &seat_listener, window_egl);
-  } else if (g_strcmp0 (interface, "wl_shm") == 0) {
-    d->shm = wl_registry_bind (registry, name, &wl_shm_interface, 1);
-    d->cursor_theme = wl_cursor_theme_load (NULL, 32, d->shm);
-    d->default_cursor =
-        wl_cursor_theme_get_cursor (d->cursor_theme, "left_ptr");
+    window_egl->window.surface = NULL;
+  }
+  if (window_egl->window.native) {
+    wl_egl_window_destroy (window_egl->window.native);
+    window_egl->window.native = NULL;
   }
 }
 
-static const struct wl_registry_listener registry_listener = {
-  registry_handle_global
-};
+static void
+create_surfaces (GstGLWindowWaylandEGL * window_egl)
+{
+  GstGLDisplayWayland *display =
+      GST_GL_DISPLAY_WAYLAND (GST_GL_WINDOW (window_egl)->display);
+  gint width, height;
+
+  if (!window_egl->window.surface) {
+    window_egl->window.surface =
+        wl_compositor_create_surface (display->compositor);
+    if (window_egl->window.queue)
+      wl_proxy_set_queue ((struct wl_proxy *) window_egl->window.surface,
+          window_egl->window.queue);
+  }
+
+  if (window_egl->window.foreign_surface) {
+    /* (re)parent */
+    if (!display->subcompositor) {
+      GST_ERROR_OBJECT (window_egl,
+          "Wayland server does not support subsurfaces");
+      window_egl->window.foreign_surface = NULL;
+      goto shell_window;
+    }
+
+    if (!window_egl->window.subsurface) {
+      window_egl->window.subsurface =
+          wl_subcompositor_get_subsurface (display->subcompositor,
+          window_egl->window.surface, window_egl->window.foreign_surface);
+      if (window_egl->window.queue)
+        wl_proxy_set_queue ((struct wl_proxy *) window_egl->window.subsurface,
+            window_egl->window.queue);
+
+      wl_subsurface_set_position (window_egl->window.subsurface,
+          window_egl->window.window_x, window_egl->window.window_y);
+      wl_subsurface_set_desync (window_egl->window.subsurface);
+    }
+  } else {
+  shell_window:
+    if (!window_egl->window.shell_surface) {
+      window_egl->window.shell_surface =
+          wl_shell_get_shell_surface (display->shell,
+          window_egl->window.surface);
+      if (window_egl->window.queue)
+        wl_proxy_set_queue ((struct wl_proxy *) window_egl->
+            window.shell_surface, window_egl->window.queue);
+
+      wl_shell_surface_add_listener (window_egl->window.shell_surface,
+          &shell_surface_listener, window_egl);
+
+      wl_shell_surface_set_title (window_egl->window.shell_surface,
+          "OpenGL Renderer");
+      wl_shell_surface_set_toplevel (window_egl->window.shell_surface);
+    }
+  }
+
+  if (window_egl->window.window_width > 0)
+    width = window_egl->window.window_width;
+  else
+    width = 320;
+  window_egl->window.window_width = width;
+
+  if (window_egl->window.window_height > 0)
+    height = window_egl->window.window_height;
+  else
+    height = 240;
+  window_egl->window.window_height = height;
+
+  if (!window_egl->window.native) {
+    window_egl->window.native =
+        wl_egl_window_create (window_egl->window.surface, width, height);
+    if (window_egl->window.queue)
+      wl_proxy_set_queue ((struct wl_proxy *) window_egl->window.native,
+          window_egl->window.queue);
+  }
+}
 
 static void
 gst_gl_window_wayland_egl_class_init (GstGLWindowWaylandEGLClass * klass)
 {
   GstGLWindowClass *window_class = (GstGLWindowClass *) klass;
-  GObjectClass *gobject_class = (GObjectClass *) klass;
 
   window_class->get_window_handle =
       GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_get_window_handle);
@@ -313,35 +334,19 @@
       GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_set_window_handle);
   window_class->draw_unlocked =
       GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_draw);
+  window_class->show = GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_show);
   window_class->draw = GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_draw);
-  window_class->run = GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_run);
-  window_class->quit = GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_quit);
-  window_class->send_message_async =
-      GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_send_message_async);
   window_class->close = GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_close);
   window_class->open = GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_open);
   window_class->get_display =
       GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_get_display);
-
-  gobject_class->finalize = gst_gl_window_wayland_egl_finalize;
+  window_class->set_render_rectangle =
+      GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_set_render_rectangle);
 }
 
 static void
 gst_gl_window_wayland_egl_init (GstGLWindowWaylandEGL * window)
 {
-  window->main_context = g_main_context_new ();
-  window->loop = g_main_loop_new (window->main_context, FALSE);
-}
-
-static void
-gst_gl_window_wayland_egl_finalize (GObject * object)
-{
-  GstGLWindowWaylandEGL *window_egl = GST_GL_WINDOW_WAYLAND_EGL (object);
-
-  g_main_loop_unref (window_egl->loop);
-  g_main_context_unref (window_egl->main_context);
-
-  G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
 /* Must be called in the gl thread */
@@ -364,129 +369,45 @@
 
   window_egl = GST_GL_WINDOW_WAYLAND_EGL (window);
 
-  destroy_surface (window_egl);
-
-  if (window_egl->display.cursor_surface)
-    wl_surface_destroy (window_egl->display.cursor_surface);
-
-  if (window_egl->display.cursor_theme)
-    wl_cursor_theme_destroy (window_egl->display.cursor_theme);
-
-  if (window_egl->display.shell)
-    wl_shell_destroy (window_egl->display.shell);
-
-  if (window_egl->display.compositor)
-    wl_compositor_destroy (window_egl->display.compositor);
-
-  if (window_egl->display.display) {
-    wl_display_flush (window_egl->display.display);
-    wl_display_disconnect (window_egl->display.display);
-  }
+  destroy_surfaces (window_egl);
 
   g_source_destroy (window_egl->wl_source);
   g_source_unref (window_egl->wl_source);
   window_egl->wl_source = NULL;
+
+  GST_GL_WINDOW_CLASS (parent_class)->close (window);
 }
 
 static gboolean
 gst_gl_window_wayland_egl_open (GstGLWindow * window, GError ** error)
 {
+  GstGLDisplayWayland *display = GST_GL_DISPLAY_WAYLAND (window->display);
   GstGLWindowWaylandEGL *window_egl = GST_GL_WINDOW_WAYLAND_EGL (window);
 
-  window_egl->display.display = wl_display_connect (NULL);
-  if (!window_egl->display.display) {
+  if (!display->display) {
     g_set_error (error, GST_GL_WINDOW_ERROR,
         GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE,
-        "Failed to connect to Wayland display server");
-    goto error;
+        "Failed to retrieve Wayland display");
+    return FALSE;
   }
 
-  window_egl->display.registry =
-      wl_display_get_registry (window_egl->display.display);
-  wl_registry_add_listener (window_egl->display.registry, &registry_listener,
-      window_egl);
+  window_egl->window.queue = wl_display_create_queue (display->display);
 
-  wl_display_dispatch (window_egl->display.display);
+  window_egl->wl_source = wayland_event_source_new (display->display,
+      window_egl->window.queue);
 
-  create_surface (window_egl);
+  if (!GST_GL_WINDOW_CLASS (parent_class)->open (window, error))
+    return FALSE;
 
-  window_egl->display.cursor_surface =
-      wl_compositor_create_surface (window_egl->display.compositor);
-
-  window_egl->wl_source =
-      wayland_event_source_new (window_egl->display.display);
-
-  g_source_attach (window_egl->wl_source, window_egl->main_context);
+  g_source_attach (window_egl->wl_source, g_main_context_get_thread_default ());
 
   return TRUE;
-
-error:
-  return FALSE;
 }
 
-static void
-gst_gl_window_wayland_egl_run (GstGLWindow * window)
+void
+gst_gl_window_wayland_egl_create_window (GstGLWindowWaylandEGL * window_egl)
 {
-  GstGLWindowWaylandEGL *window_egl;
-
-  window_egl = GST_GL_WINDOW_WAYLAND_EGL (window);
-
-  GST_LOG ("starting main loop");
-  g_main_loop_run (window_egl->loop);
-  GST_LOG ("exiting main loop");
-}
-
-static void
-gst_gl_window_wayland_egl_quit (GstGLWindow * window)
-{
-  GstGLWindowWaylandEGL *window_egl;
-
-  window_egl = GST_GL_WINDOW_WAYLAND_EGL (window);
-
-  GST_LOG ("sending quit");
-
-  g_main_loop_quit (window_egl->loop);
-
-  GST_LOG ("quit sent");
-}
-
-typedef struct _GstGLMessage
-{
-  GstGLWindowCB callback;
-  gpointer data;
-  GDestroyNotify destroy;
-} GstGLMessage;
-
-static gboolean
-_run_message (GstGLMessage * message)
-{
-  if (message->callback)
-    message->callback (message->data);
-
-  if (message->destroy)
-    message->destroy (message->data);
-
-  g_slice_free (GstGLMessage, message);
-
-  return FALSE;
-}
-
-static void
-gst_gl_window_wayland_egl_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy)
-{
-  GstGLWindowWaylandEGL *window_egl;
-  GstGLMessage *message;
-
-  window_egl = GST_GL_WINDOW_WAYLAND_EGL (window);
-  message = g_slice_new (GstGLMessage);
-
-  message->callback = callback;
-  message->data = data;
-  message->destroy = destroy;
-
-  g_main_context_invoke (window_egl->main_context, (GSourceFunc) _run_message,
-      message);
+  create_surfaces (window_egl);
 }
 
 static guintptr
@@ -499,6 +420,31 @@
 gst_gl_window_wayland_egl_set_window_handle (GstGLWindow * window,
     guintptr handle)
 {
+  GstGLWindowWaylandEGL *window_egl = GST_GL_WINDOW_WAYLAND_EGL (window);
+  struct wl_surface *surface = (struct wl_surface *) handle;
+
+  /* already set the NULL handle */
+  if (surface == NULL && window_egl->window.foreign_surface == NULL)
+    return;
+
+  /* unparent */
+  destroy_surfaces (window_egl);
+  window_egl->window.foreign_surface = surface;
+  create_surfaces (window_egl);
+}
+
+static void
+gst_gl_window_wayland_egl_show (GstGLWindow * window)
+{
+  GstGLDisplayWayland *display_wayland =
+      GST_GL_DISPLAY_WAYLAND (window->display);
+  GstGLWindowWaylandEGL *window_egl = GST_GL_WINDOW_WAYLAND_EGL (window);
+
+  create_surfaces (window_egl);
+
+  if (gst_gl_wl_display_roundtrip_queue (display_wayland->display,
+          window_egl->window.queue) < 0)
+    GST_WARNING_OBJECT (window, "failed a roundtrip");
 }
 
 static void
@@ -529,11 +475,19 @@
   GstGLContext *context = gst_gl_window_get_context (window);
   GstGLContextClass *context_class = GST_GL_CONTEXT_GET_CLASS (context);
 
+  create_surfaces (window_egl);
+
+  if (window_egl->window.subsurface)
+    wl_subsurface_set_desync (window_egl->window.subsurface);
+
   if (window->draw)
     window->draw (window->draw_data);
 
   context_class->swap_buffers (context);
 
+  if (window_egl->window.subsurface)
+    wl_subsurface_set_desync (window_egl->window.subsurface);
+
   gst_object_unref (context);
 }
 
@@ -543,12 +497,66 @@
   gst_gl_window_send_message (window, (GstGLWindowCB) draw_cb, window);
 }
 
+struct SetRenderRectangle
+{
+  GstGLWindowWaylandEGL *window_egl;
+  GstVideoRectangle rect;
+};
+
+static void
+_free_set_render_rectangle (struct SetRenderRectangle *render)
+{
+  if (render) {
+    if (render->window_egl)
+      gst_object_unref (render->window_egl);
+    g_free (render);
+  }
+}
+
+static void
+_set_render_rectangle (gpointer data)
+{
+  struct SetRenderRectangle *render = data;
+
+  GST_LOG_OBJECT (render->window_egl, "setting render rectangle %i,%i+%ix%i",
+      render->rect.x, render->rect.y, render->rect.w, render->rect.h);
+
+  if (render->window_egl->window.subsurface) {
+    wl_subsurface_set_sync (render->window_egl->window.subsurface);
+    wl_subsurface_set_position (render->window_egl->window.subsurface,
+        render->rect.x, render->rect.y);
+    render->window_egl->window.window_x = render->rect.x;
+    render->window_egl->window.window_y = render->rect.y;
+  }
+
+  window_resize (render->window_egl, render->rect.w, render->rect.h);
+}
+
+static gboolean
+gst_gl_window_wayland_egl_set_render_rectangle (GstGLWindow * window,
+    gint x, gint y, gint width, gint height)
+{
+  GstGLWindowWaylandEGL *window_egl = GST_GL_WINDOW_WAYLAND_EGL (window);
+  struct SetRenderRectangle *render;
+
+  render = g_new0 (struct SetRenderRectangle, 1);
+  render->window_egl = gst_object_ref (window_egl);
+  render->rect.x = x;
+  render->rect.y = y;
+  render->rect.w = width;
+  render->rect.h = height;
+
+  gst_gl_window_send_message_async (window,
+      (GstGLWindowCB) _set_render_rectangle, render,
+      (GDestroyNotify) _free_set_render_rectangle);
+
+  return TRUE;
+}
+
 static guintptr
 gst_gl_window_wayland_egl_get_display (GstGLWindow * window)
 {
-  GstGLWindowWaylandEGL *window_egl;
+  GstGLDisplayWayland *display = GST_GL_DISPLAY_WAYLAND (window->display);
 
-  window_egl = GST_GL_WINDOW_WAYLAND_EGL (window);
-
-  return (guintptr) window_egl->display.display;
+  return (guintptr) display->display;
 }
diff --git a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
index b4f66d0..c7889e1 100644
--- a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
+++ b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
@@ -63,12 +63,16 @@
 struct window {
   struct display *display;
 
-  struct wl_egl_window      *native;
+  struct wl_event_queue     *queue;
   struct wl_surface         *surface;
   struct wl_shell_surface   *shell_surface;
+  struct wl_egl_window      *native;
+  struct wl_surface         *foreign_surface;
+  struct wl_subsurface      *subsurface;
   struct wl_callback        *callback;
   int fullscreen, configured;
   int window_width, window_height;
+  int window_x, window_y;
 };
 
 struct _GstGLWindowWaylandEGL {
@@ -79,8 +83,6 @@
   struct window  window;
 
   GSource *wl_source;
-  GMainContext *main_context;
-  GMainLoop *loop;
 
   gpointer _reserved[GST_PADDING];
 };
@@ -97,6 +99,8 @@
 
 GstGLWindowWaylandEGL * gst_gl_window_wayland_egl_new  (void);
 
+void gst_gl_window_wayland_egl_create_window (GstGLWindowWaylandEGL * window_egl);
+
 G_END_DECLS
 
 #endif /* __GST_GL_WINDOW_X11_H__ */
diff --git a/gst-libs/gst/gl/wayland/wayland_event_source.c b/gst-libs/gst/gl/wayland/wayland_event_source.c
index 509a799..114977a 100644
--- a/gst-libs/gst/gl/wayland/wayland_event_source.c
+++ b/gst-libs/gst/gl/wayland/wayland_event_source.c
@@ -38,19 +38,58 @@
 
 #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
+};
+
+gint
+gst_gl_wl_display_roundtrip_queue (struct wl_display *display,
+    struct wl_event_queue *queue)
+{
+  struct wl_callback *callback = wl_display_sync (display);
+  gboolean done = FALSE;
+  gint ret = 0;
+
+  if (callback == NULL)
+    return -1;
+  wl_callback_add_listener (callback, &sync_listener, &done);
+  if (queue) {
+    wl_proxy_set_queue ((struct wl_proxy *) callback, queue);
+    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;
 } WaylandEventSource;
 
 static gboolean
 wayland_event_source_prepare (GSource * base, gint * timeout)
 {
   WaylandEventSource *source = (WaylandEventSource *) base;
-  gboolean retval;
 
   *timeout = -1;
 
@@ -59,9 +98,7 @@
    * writes on idle */
   wl_display_flush (source->display);
 
-  retval = FALSE;               //clutter_events_pending ();
-
-  return retval;
+  return FALSE;
 }
 
 static gboolean
@@ -70,7 +107,7 @@
   WaylandEventSource *source = (WaylandEventSource *) base;
   gboolean retval;
 
-  retval = source->pfd.revents; // || clutter_events_pending();
+  retval = source->pfd.revents;
 
   return retval;
 }
@@ -80,25 +117,18 @@
     GSourceFunc callback, gpointer data)
 {
   WaylandEventSource *source = (WaylandEventSource *) base;
-//  ClutterEvent *event;
 
   if (source->pfd.revents) {
-    wl_display_roundtrip (source->display);
+    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);
 
-#if 0
-  event = clutter_event_get ();
-
-  if (event) {
-    /* forward the event into clutter for emission etc. */
-    clutter_do_event (event);
-    clutter_event_free (event);
-  }
-#endif
   return TRUE;
 }
 
@@ -110,13 +140,15 @@
 };
 
 GSource *
-wayland_event_source_new (struct wl_display *display)
+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);
diff --git a/gst-libs/gst/gl/wayland/wayland_event_source.h b/gst-libs/gst/gl/wayland/wayland_event_source.h
index e70d568..940a5e0 100644
--- a/gst-libs/gst/gl/wayland/wayland_event_source.h
+++ b/gst-libs/gst/gl/wayland/wayland_event_source.h
@@ -33,7 +33,10 @@
 
 #include <wayland-client.h>
 
-GSource *
-wayland_event_source_new (struct wl_display *display);
+GSource * wayland_event_source_new (struct wl_display *display,
+                                    struct wl_event_queue *queue);
+
+gint      gst_gl_wl_display_roundtrip_queue (struct wl_display *display,
+                                             struct wl_event_queue *queue);
 
 #endif /* __WAYLAND_EVENT_SOURCE_H__ */
diff --git a/gst-libs/gst/gl/win32/Makefile.am b/gst-libs/gst/gl/win32/Makefile.am
index aaea0d7..80da958 100644
--- a/gst-libs/gst/gl/win32/Makefile.am
+++ b/gst-libs/gst/gl/win32/Makefile.am
@@ -3,10 +3,12 @@
 noinst_LTLIBRARIES = libgstgl-win32.la
 
 libgstgl_win32_la_SOURCES = \
-	gstglwindow_win32.c
+	gstglwindow_win32.c \
+	win32_message_source.c
 
 noinst_HEADERS = \
-	gstglwindow_win32.h
+	gstglwindow_win32.h \
+	win32_message_source.h
 
 if USE_WGL
 libgstgl_win32_la_SOURCES += gstglcontext_wgl.c
diff --git a/gst-libs/gst/gl/win32/Makefile.in b/gst-libs/gst/gl/win32/Makefile.in
index 3f237f8..6c7a5e0 100644
--- a/gst-libs/gst/gl/win32/Makefile.in
+++ b/gst-libs/gst/gl/win32/Makefile.in
@@ -129,10 +129,10 @@
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 libgstgl_win32_la_LIBADD =
 am__libgstgl_win32_la_SOURCES_DIST = gstglwindow_win32.c \
-	gstglcontext_wgl.c
+	win32_message_source.c gstglcontext_wgl.c
 @USE_WGL_TRUE@am__objects_1 = libgstgl_win32_la-gstglcontext_wgl.lo
 am_libgstgl_win32_la_OBJECTS = libgstgl_win32_la-gstglwindow_win32.lo \
-	$(am__objects_1)
+	libgstgl_win32_la-win32_message_source.lo $(am__objects_1)
 libgstgl_win32_la_OBJECTS = $(am_libgstgl_win32_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -183,7 +183,8 @@
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
-am__noinst_HEADERS_DIST = gstglwindow_win32.h gstglcontext_wgl.h
+am__noinst_HEADERS_DIST = gstglwindow_win32.h win32_message_source.h \
+	gstglcontext_wgl.h
 HEADERS = $(noinst_HEADERS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 # Read a list of newline-separated strings from the standard input,
@@ -712,8 +713,10 @@
 top_srcdir = @top_srcdir@
 wayland_scanner = @wayland_scanner@
 noinst_LTLIBRARIES = libgstgl-win32.la
-libgstgl_win32_la_SOURCES = gstglwindow_win32.c $(am__append_1)
-noinst_HEADERS = gstglwindow_win32.h $(am__append_2)
+libgstgl_win32_la_SOURCES = gstglwindow_win32.c win32_message_source.c \
+	$(am__append_1)
+noinst_HEADERS = gstglwindow_win32.h win32_message_source.h \
+	$(am__append_2)
 #if USE_EGL
 #libgstgl_win32_la_SOURCES += gstglwindow_win32_egl.c
 #noinst_HEADERS += gstglwindow_win32_egl.h
@@ -787,6 +790,7 @@
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_win32_la-gstglcontext_wgl.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_win32_la-gstglwindow_win32.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_win32_la-win32_message_source.Plo@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -819,6 +823,13 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgl_win32_la_CFLAGS) $(CFLAGS) -c -o libgstgl_win32_la-gstglwindow_win32.lo `test -f 'gstglwindow_win32.c' || echo '$(srcdir)/'`gstglwindow_win32.c
 
+libgstgl_win32_la-win32_message_source.lo: win32_message_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) $(libgstgl_win32_la_CFLAGS) $(CFLAGS) -MT libgstgl_win32_la-win32_message_source.lo -MD -MP -MF $(DEPDIR)/libgstgl_win32_la-win32_message_source.Tpo -c -o libgstgl_win32_la-win32_message_source.lo `test -f 'win32_message_source.c' || echo '$(srcdir)/'`win32_message_source.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_win32_la-win32_message_source.Tpo $(DEPDIR)/libgstgl_win32_la-win32_message_source.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='win32_message_source.c' object='libgstgl_win32_la-win32_message_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) $(libgstgl_win32_la_CFLAGS) $(CFLAGS) -c -o libgstgl_win32_la-win32_message_source.lo `test -f 'win32_message_source.c' || echo '$(srcdir)/'`win32_message_source.c
+
 libgstgl_win32_la-gstglcontext_wgl.lo: gstglcontext_wgl.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_win32_la_CFLAGS) $(CFLAGS) -MT libgstgl_win32_la-gstglcontext_wgl.lo -MD -MP -MF $(DEPDIR)/libgstgl_win32_la-gstglcontext_wgl.Tpo -c -o libgstgl_win32_la-gstglcontext_wgl.lo `test -f 'gstglcontext_wgl.c' || echo '$(srcdir)/'`gstglcontext_wgl.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_win32_la-gstglcontext_wgl.Tpo $(DEPDIR)/libgstgl_win32_la-gstglcontext_wgl.Plo
diff --git a/gst-libs/gst/gl/win32/gstglwindow_win32.c b/gst-libs/gst/gl/win32/gstglwindow_win32.c
index 4191b07..7d93305 100644
--- a/gst-libs/gst/gl/win32/gstglwindow_win32.c
+++ b/gst-libs/gst/gl/win32/gstglwindow_win32.c
@@ -24,9 +24,7 @@
 #endif
 
 #include "gstglwindow_win32.h"
-
-#define WM_GST_GL_WINDOW_CUSTOM (WM_APP+1)
-#define WM_GST_GL_WINDOW_QUIT (WM_APP+2)
+#include "win32_message_source.h"
 
 LRESULT CALLBACK window_proc (HWND hWnd, UINT uMsg, WPARAM wParam,
     LPARAM lParam);
@@ -43,8 +41,6 @@
 
 struct _GstGLWindowWin32Private
 {
-  GThread *thread;
-
   gint preferred_width;
   gint preferred_height;
 };
@@ -65,10 +61,9 @@
     gint width, gint height);
 static void gst_gl_window_win32_show (GstGLWindow * window);
 static void gst_gl_window_win32_draw (GstGLWindow * window);
-static void gst_gl_window_win32_run (GstGLWindow * window);
-static void gst_gl_window_win32_quit (GstGLWindow * window);
-static void gst_gl_window_win32_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy);
+gboolean gst_gl_window_win32_open (GstGLWindow * window, GError ** error);
+void gst_gl_window_win32_close (GstGLWindow * window);
+static void release_parent_win_id (GstGLWindowWin32 * window_win32);
 
 static void
 gst_gl_window_win32_class_init (GstGLWindowWin32Class * klass)
@@ -81,25 +76,21 @@
       GST_DEBUG_FUNCPTR (gst_gl_window_win32_set_window_handle);
   window_class->draw_unlocked = GST_DEBUG_FUNCPTR (gst_gl_window_win32_draw);
   window_class->draw = GST_DEBUG_FUNCPTR (gst_gl_window_win32_draw);
-  window_class->run = GST_DEBUG_FUNCPTR (gst_gl_window_win32_run);
-  window_class->quit = GST_DEBUG_FUNCPTR (gst_gl_window_win32_quit);
-  window_class->send_message_async =
-      GST_DEBUG_FUNCPTR (gst_gl_window_win32_send_message_async);
   window_class->get_display =
       GST_DEBUG_FUNCPTR (gst_gl_window_win32_get_display);
   window_class->set_preferred_size =
       GST_DEBUG_FUNCPTR (gst_gl_window_win32_set_preferred_size);
   window_class->show = GST_DEBUG_FUNCPTR (gst_gl_window_win32_show);
+  window_class->open = GST_DEBUG_FUNCPTR (gst_gl_window_win32_open);
+  window_class->close = GST_DEBUG_FUNCPTR (gst_gl_window_win32_close);
 }
 
 static void
 gst_gl_window_win32_init (GstGLWindowWin32 * window)
 {
   window->priv = GST_GL_WINDOW_WIN32_GET_PRIVATE (window);
-  window->priv->thread = NULL;
 }
 
-/* Must be called in the gl thread */
 GstGLWindowWin32 *
 gst_gl_window_win32_new (void)
 {
@@ -108,6 +99,115 @@
   return window;
 }
 
+static void
+msg_cb (GstGLWindowWin32 * window_win32, MSG * msg, gpointer user_data)
+{
+  GST_TRACE ("handle message");
+  TranslateMessage (msg);
+  DispatchMessage (msg);
+}
+
+gboolean
+gst_gl_window_win32_open (GstGLWindow * window, GError ** error)
+{
+  GstGLWindowWin32 *window_win32 = GST_GL_WINDOW_WIN32 (window);
+
+  if (!GST_GL_WINDOW_CLASS (parent_class)->open (window, error))
+    return FALSE;
+
+  window_win32->msg_source = win32_message_source_new (window_win32);
+  g_source_set_callback (window_win32->msg_source, (GSourceFunc) msg_cb,
+      NULL, NULL);
+  g_source_attach (window_win32->msg_source,
+      g_main_context_get_thread_default ());
+
+  return TRUE;
+}
+
+void
+gst_gl_window_win32_close (GstGLWindow * window)
+{
+  GstGLWindowWin32 *window_win32 = GST_GL_WINDOW_WIN32 (window);
+
+  release_parent_win_id (window_win32);
+
+  if (window_win32->internal_win_id) {
+    RemoveProp (window_win32->internal_win_id, "gl_window");
+    if (!DestroyWindow (window_win32->internal_win_id))
+      GST_WARNING ("failed to destroy window %" G_GUINTPTR_FORMAT
+          ", 0x%x", (guintptr) window_win32->internal_win_id,
+          (unsigned int) GetLastError ());
+  }
+
+  g_source_destroy (window_win32->msg_source);
+  g_source_unref (window_win32->msg_source);
+  window_win32->msg_source = NULL;
+
+  GST_GL_WINDOW_CLASS (parent_class)->close (window);
+}
+
+static void
+set_parent_win_id (GstGLWindowWin32 * window_win32)
+{
+  WNDPROC window_parent_proc;
+  RECT rect;
+
+  if (!window_win32->parent_win_id) {
+    /* no parent so the internal window needs borders and system menu */
+    SetWindowLongPtr (window_win32->internal_win_id, GWL_STYLE,
+        WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_OVERLAPPEDWINDOW);
+    SetParent (window_win32->internal_win_id, NULL);
+    return;
+  }
+
+  window_parent_proc =
+      (WNDPROC) GetWindowLongPtr (window_win32->parent_win_id, GWLP_WNDPROC);
+
+  GST_DEBUG ("set parent %" G_GUINTPTR_FORMAT,
+      (guintptr) window_win32->parent_win_id);
+
+  SetProp (window_win32->parent_win_id, "gl_window_id",
+      window_win32->internal_win_id);
+  SetProp (window_win32->parent_win_id, "gl_window_parent_proc",
+      (WNDPROC) window_parent_proc);
+  SetWindowLongPtr (window_win32->parent_win_id, GWLP_WNDPROC,
+      (LONG_PTR) sub_class_proc);
+
+  SetWindowLongPtr (window_win32->internal_win_id, GWL_STYLE,
+      WS_CHILD | WS_MAXIMIZE);
+  SetParent (window_win32->internal_win_id, window_win32->parent_win_id);
+
+  /* take changes into account: SWP_FRAMECHANGED */
+  GetClientRect (window_win32->parent_win_id, &rect);
+  SetWindowPos (window_win32->internal_win_id, HWND_TOP, rect.left, rect.top,
+      rect.right, rect.bottom,
+      SWP_ASYNCWINDOWPOS | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER |
+      SWP_FRAMECHANGED | SWP_NOACTIVATE);
+  MoveWindow (window_win32->internal_win_id, rect.left, rect.top, rect.right,
+      rect.bottom, FALSE);
+}
+
+static void
+release_parent_win_id (GstGLWindowWin32 * window_win32)
+{
+  WNDPROC parent_proc;
+
+  if (!window_win32->parent_win_id)
+    return;
+
+  parent_proc = GetProp (window_win32->parent_win_id, "gl_window_parent_proc");
+  if (!parent_proc)
+    return;
+
+  GST_DEBUG ("release parent %" G_GUINTPTR_FORMAT,
+      (guintptr) window_win32->parent_win_id);
+
+  SetWindowLongPtr (window_win32->parent_win_id, GWLP_WNDPROC,
+      (LONG_PTR) parent_proc);
+
+  RemoveProp (window_win32->parent_win_id, "gl_window_parent_proc");
+}
+
 gboolean
 gst_gl_window_win32_create_window (GstGLWindowWin32 * window_win32,
     GError ** error)
@@ -155,7 +255,6 @@
 
   window_win32->internal_win_id = 0;
   window_win32->device = 0;
-  window_win32->is_closed = FALSE;
   window_win32->visible = FALSE;
 
   window_win32->internal_win_id = CreateWindowEx (0,
@@ -183,6 +282,9 @@
   ShowCursor (TRUE);
 
   GST_LOG ("Created a win32 window");
+
+  set_parent_win_id (window_win32);
+
   return TRUE;
 
 failure:
@@ -203,7 +305,6 @@
 gst_gl_window_win32_set_window_handle (GstGLWindow * window, guintptr id)
 {
   GstGLWindowWin32 *window_win32;
-  HWND parent_id;
 
   window_win32 = GST_GL_WINDOW_WIN32 (window);
 
@@ -212,56 +313,14 @@
     return;
   }
 
-  /* retrieve parent if previously set */
-  parent_id = window_win32->parent_win_id;
-
   if (window_win32->visible) {
     ShowWindow (window_win32->internal_win_id, SW_HIDE);
     window_win32->visible = FALSE;
   }
 
-  if (parent_id) {
-    WNDPROC parent_proc = GetProp (parent_id, "gl_window_parent_proc");
-
-    GST_DEBUG ("release parent %" G_GUINTPTR_FORMAT, (guintptr) parent_id);
-
-    g_return_if_fail (parent_proc);
-
-    SetWindowLongPtr (parent_id, GWLP_WNDPROC, (LONG_PTR) parent_proc);
-    SetParent (window_win32->internal_win_id, NULL);
-
-    RemoveProp (parent_id, "gl_window_parent_proc");
-  }
-  //not 0
-  if (id) {
-    WNDPROC window_parent_proc =
-        (WNDPROC) GetWindowLongPtr ((HWND) id, GWLP_WNDPROC);
-    RECT rect;
-
-    GST_DEBUG ("set parent %" G_GUINTPTR_FORMAT, id);
-
-    SetProp ((HWND) id, "gl_window_id", window_win32->internal_win_id);
-    SetProp ((HWND) id, "gl_window_parent_proc", (WNDPROC) window_parent_proc);
-    SetWindowLongPtr ((HWND) id, GWLP_WNDPROC, (LONG_PTR) sub_class_proc);
-
-    SetWindowLongPtr (window_win32->internal_win_id, GWL_STYLE,
-        WS_CHILD | WS_MAXIMIZE);
-    SetParent (window_win32->internal_win_id, (HWND) id);
-
-    /* take changes into account: SWP_FRAMECHANGED */
-    GetClientRect ((HWND) id, &rect);
-    SetWindowPos (window_win32->internal_win_id, HWND_TOP, rect.left, rect.top,
-        rect.right, rect.bottom,
-        SWP_ASYNCWINDOWPOS | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER |
-        SWP_FRAMECHANGED | SWP_NOACTIVATE);
-    MoveWindow (window_win32->internal_win_id, rect.left, rect.top, rect.right,
-        rect.bottom, FALSE);
-  } else {
-    /* no parent so the internal window needs borders and system menu */
-    SetWindowLongPtr (window_win32->internal_win_id, GWL_STYLE,
-        WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_OVERLAPPEDWINDOW);
-  }
+  release_parent_win_id (window_win32);
   window_win32->parent_win_id = (HWND) id;
+  set_parent_win_id (window_win32);
 }
 
 static void
@@ -312,114 +371,14 @@
       RDW_NOERASE | RDW_INTERNALPAINT | RDW_INVALIDATE);
 }
 
-static void
-gst_gl_window_win32_run (GstGLWindow * window)
-{
-  GstGLWindowWin32 *window_win32 = GST_GL_WINDOW_WIN32 (window);
-  gint bRet;
-  MSG msg;
-
-  GST_INFO ("begin message loop");
-
-  window_win32->priv->thread = g_thread_self ();
-
-  while (TRUE) {
-    bRet = GetMessage (&msg, NULL, 0, 0);
-    if (bRet == 0)
-      break;
-    else if (bRet == -1) {
-      GST_WARNING ("Failed to get message 0x%x",
-          (unsigned int) GetLastError ());
-      break;
-    } else {
-      GST_TRACE ("handle message");
-      TranslateMessage (&msg);
-      DispatchMessage (&msg);
-    }
-  }
-
-  GST_INFO ("end message loop");
-}
-
-/* Thread safe */
-static void
-gst_gl_window_win32_quit (GstGLWindow * window)
-{
-  GstGLWindowWin32 *window_win32;
-
-  window_win32 = GST_GL_WINDOW_WIN32 (window);
-  window_win32->priv->thread = NULL;
-
-  if (window_win32 && window_win32->internal_win_id) {
-    LRESULT res =
-        PostMessage (window_win32->internal_win_id, WM_GST_GL_WINDOW_QUIT,
-        (WPARAM) 0, (LPARAM) 0);
-    GST_DEBUG ("end loop requested");
-    g_return_if_fail (SUCCEEDED (res));
-  }
-}
-
-typedef struct _GstGLMessage
-{
-  GstGLWindowCB callback;
-  gpointer data;
-  GDestroyNotify destroy;
-} GstGLMessage;
-
-static gboolean
-_run_message (GstGLMessage * message)
-{
-  if (message->callback)
-    message->callback (message->data);
-
-  if (message->destroy)
-    message->destroy (message->data);
-
-  g_slice_free (GstGLMessage, message);
-
-  return FALSE;
-}
-
-/* Thread safe */
-static void
-gst_gl_window_win32_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy)
-{
-  GstGLWindowWin32 *window_win32;
-  GstGLMessage *message;
-
-  window_win32 = GST_GL_WINDOW_WIN32 (window);
-
-  if (window_win32->priv->thread == g_thread_self ()) {
-    /* re-entracy... */
-    if (callback)
-      callback (data);
-    if (destroy)
-      destroy (data);
-    return;
-  }
-
-  message = g_slice_new (GstGLMessage);
-
-  if (window_win32) {
-    LRESULT res;
-
-    message->callback = callback;
-    message->data = data;
-    message->destroy = destroy;
-
-    res = PostMessage (window_win32->internal_win_id, WM_GST_GL_WINDOW_CUSTOM,
-        (WPARAM) message, (LPARAM) NULL);
-    g_return_if_fail (SUCCEEDED (res));
-  }
-}
-
 /* PRIVATE */
 
 LRESULT CALLBACK
 window_proc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 {
   GstGLWindowWin32 *window_win32;
+  LRESULT ret = 0;
+
   if (uMsg == WM_CREATE) {
     window_win32 =
         GST_GL_WINDOW_WIN32 (((LPCREATESTRUCT) lParam)->lpCreateParams);
@@ -433,7 +392,6 @@
     ReleaseDC (hWnd, window_win32->device);
 
     SetProp (hWnd, "gl_window", window_win32);
-    return 0;
   } else if (GetProp (hWnd, "gl_window")) {
     GstGLWindow *window;
     GstGLContext *context;
@@ -476,36 +434,6 @@
           window->close (window->close_data);
         break;
       }
-      case WM_GST_GL_WINDOW_QUIT:
-      {
-        HWND parent_id = 0;
-
-        GST_TRACE ("WM_GST_GL_WINDOW_QUIT");
-
-        parent_id = window_win32->parent_win_id;
-        if (parent_id) {
-          WNDPROC parent_proc = GetProp (parent_id, "gl_window_parent_proc");
-
-          g_assert (parent_proc);
-
-          SetWindowLongPtr (parent_id, GWLP_WNDPROC, (LONG_PTR) parent_proc);
-          SetParent (hWnd, NULL);
-
-          RemoveProp (parent_id, "gl_window_parent_proc");
-        }
-
-        window_win32->is_closed = TRUE;
-        RemoveProp (hWnd, "gl_window");
-
-        if (window_win32->internal_win_id) {
-          if (!DestroyWindow (window_win32->internal_win_id))
-            GST_WARNING ("failed to destroy window %" G_GUINTPTR_FORMAT
-                ", 0x%x", (guintptr) hWnd, (unsigned int) GetLastError ());
-        }
-
-        PostQuitMessage (0);
-        break;
-      }
       case WM_CAPTURECHANGED:
       {
         GST_DEBUG ("WM_CAPTURECHANGED");
@@ -513,32 +441,27 @@
           window->draw (window->draw_data);
         break;
       }
-      case WM_GST_GL_WINDOW_CUSTOM:
+      case WM_ERASEBKGND:
       {
-        if (!window_win32->is_closed) {
-          GstGLMessage *message = (GstGLMessage *) wParam;
-          _run_message (message);
-        }
+        ret = TRUE;
         break;
       }
-      case WM_ERASEBKGND:
-        return TRUE;
       default:
       {
         /* transmit messages to the parrent (ex: mouse/keyboard input) */
         HWND parent_id = window_win32->parent_win_id;
         if (parent_id)
           PostMessage (parent_id, uMsg, wParam, lParam);
-        return DefWindowProc (hWnd, uMsg, wParam, lParam);
+        ret = DefWindowProc (hWnd, uMsg, wParam, lParam);
       }
     }
 
     gst_object_unref (context);
-
-    return 0;
   } else {
-    return DefWindowProc (hWnd, uMsg, wParam, lParam);
+    ret = DefWindowProc (hWnd, uMsg, wParam, lParam);
   }
+
+  return ret;
 }
 
 LRESULT FAR PASCAL
diff --git a/gst-libs/gst/gl/win32/gstglwindow_win32.h b/gst-libs/gst/gl/win32/gstglwindow_win32.h
index c4416e1..50a90fb 100644
--- a/gst-libs/gst/gl/win32/gstglwindow_win32.h
+++ b/gst-libs/gst/gl/win32/gstglwindow_win32.h
@@ -50,6 +50,8 @@
   gboolean is_closed;
   gboolean visible;
 
+  GSource *msg_source;
+
   /*< private >*/
   GstGLWindowWin32Private *priv;
 
diff --git a/gst-libs/gst/gl/win32/win32_message_source.c b/gst-libs/gst/gl/win32/win32_message_source.c
new file mode 100644
index 0000000..fd785f8
--- /dev/null
+++ b/gst-libs/gst/gl/win32/win32_message_source.c
@@ -0,0 +1,83 @@
+/*
+ * GStreamer
+ * Copyright (C) 2012 Matthew Waters <ystreet00@gmail.com>
+ * Copyright (C) 2015 Collabora ltd.
+ *
+ * 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 <stdint.h>
+#include <stdlib.h>
+
+#include "win32_message_source.h"
+
+typedef struct _Win32MessageSource
+{
+  GSource source;
+  GPollFD pfd;
+  GstGLWindowWin32 *window;
+} Win32MessageSource;
+
+static gboolean
+win32_message_source_check (GSource * base)
+{
+  MSG msg;
+
+  return PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE);
+}
+
+static gboolean
+win32_message_source_dispatch (GSource * base, GSourceFunc callback,
+    gpointer user_data)
+{
+  Win32MessageSource *source = (Win32MessageSource *) base;
+  Win32MessageSourceFunc func = (Win32MessageSourceFunc) callback;
+  MSG msg;
+
+  if (!PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
+    return G_SOURCE_CONTINUE;
+
+  if (func)
+    func (source->window, &msg, user_data);
+
+  return G_SOURCE_CONTINUE;
+}
+
+static GSourceFuncs win32_message_source_funcs = {
+  NULL,
+  win32_message_source_check,
+  win32_message_source_dispatch,
+  NULL
+};
+
+GSource *
+win32_message_source_new (GstGLWindowWin32 * window_win32)
+{
+  Win32MessageSource *source;
+
+  source = (Win32MessageSource *)
+      g_source_new (&win32_message_source_funcs, sizeof (Win32MessageSource));
+  source->window = window_win32;
+  source->pfd.fd = G_WIN32_MSG_HANDLE;
+  source->pfd.events = G_IO_IN;
+  g_source_add_poll (&source->source, &source->pfd);
+
+  return &source->source;
+}
diff --git a/gst-libs/gst/gl/win32/win32_message_source.h b/gst-libs/gst/gl/win32/win32_message_source.h
new file mode 100644
index 0000000..eef3eac
--- /dev/null
+++ b/gst-libs/gst/gl/win32/win32_message_source.h
@@ -0,0 +1,34 @@
+/*
+ * GStreamer
+ * Copyright (C) 2012 Matthew Waters <ystreet00@gmail.com>
+ * Copyright (C) 2015 Collabora ltd.
+ *
+ * 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 __WIN32_MESSAGE_SOURCE_H__
+#define __WIN32_MESSAGE_SOURCE_H__
+
+#include <glib-object.h>
+#include "gstglwindow_win32.h"
+
+typedef void (*Win32MessageSourceFunc) (GstGLWindowWin32 *window_win32,
+    MSG *msg, gpointer user_data);
+
+GSource *
+win32_message_source_new (GstGLWindowWin32 *window_win32);
+
+#endif /* __WIN32_MESSAGE_SOURCE_H__ */
diff --git a/gst-libs/gst/gl/x11/gstglcontext_glx.c b/gst-libs/gst/gl/x11/gstglcontext_glx.c
index 7c3c23e..9348227 100644
--- a/gst-libs/gst/gl/x11/gstglcontext_glx.c
+++ b/gst-libs/gst/gl/x11/gstglcontext_glx.c
@@ -107,9 +107,9 @@
 GstGLContextGLX *
 gst_gl_context_glx_new (void)
 {
-  GstGLContextGLX *window = g_object_new (GST_GL_TYPE_CONTEXT_GLX, NULL);
+  GstGLContextGLX *context = g_object_new (GST_GL_TYPE_CONTEXT_GLX, NULL);
 
-  return window;
+  return context;
 }
 
 static inline void
diff --git a/gst-libs/gst/gl/x11/gstglwindow_x11.c b/gst-libs/gst/gl/x11/gstglwindow_x11.c
index 0686d59..4317d48 100644
--- a/gst-libs/gst/gl/x11/gstglwindow_x11.c
+++ b/gst-libs/gst/gl/x11/gstglwindow_x11.c
@@ -74,10 +74,6 @@
 void gst_gl_window_x11_show (GstGLWindow * window);
 void gst_gl_window_x11_draw_unlocked (GstGLWindow * window);
 void gst_gl_window_x11_draw (GstGLWindow * window);
-void gst_gl_window_x11_run (GstGLWindow * window);
-void gst_gl_window_x11_quit (GstGLWindow * window);
-void gst_gl_window_x11_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy);
 gboolean gst_gl_window_x11_create_context (GstGLWindow * window,
     GstGLAPI gl_api, guintptr external_gl_context, GError ** error);
 gboolean gst_gl_window_x11_open (GstGLWindow * window, GError ** error);
@@ -90,17 +86,6 @@
 static void
 gst_gl_window_x11_finalize (GObject * object)
 {
-  GstGLWindowX11 *window_x11 = GST_GL_WINDOW_X11 (object);
-
-  if (window_x11->loop) {
-    g_main_loop_unref (window_x11->loop);
-    window_x11->loop = NULL;
-  }
-  if (window_x11->main_context) {
-    g_main_context_unref (window_x11->main_context);
-    window_x11->main_context = NULL;
-  }
-
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
@@ -122,10 +107,6 @@
   window_class->draw_unlocked =
       GST_DEBUG_FUNCPTR (gst_gl_window_x11_draw_unlocked);
   window_class->draw = GST_DEBUG_FUNCPTR (gst_gl_window_x11_draw);
-  window_class->run = GST_DEBUG_FUNCPTR (gst_gl_window_x11_run);
-  window_class->quit = GST_DEBUG_FUNCPTR (gst_gl_window_x11_quit);
-  window_class->send_message_async =
-      GST_DEBUG_FUNCPTR (gst_gl_window_x11_send_message_async);
   window_class->open = GST_DEBUG_FUNCPTR (gst_gl_window_x11_open);
   window_class->close = GST_DEBUG_FUNCPTR (gst_gl_window_x11_close);
   window_class->get_surface_dimensions =
@@ -141,9 +122,6 @@
 gst_gl_window_x11_init (GstGLWindowX11 * window)
 {
   window->priv = GST_GL_WINDOW_X11_GET_PRIVATE (window);
-
-  window->main_context = g_main_context_new ();
-  window->loop = g_main_loop_new (window->main_context, FALSE);
 }
 
 /* Must be called in the gl thread */
@@ -200,7 +178,11 @@
 
   window_x11->x11_source = x11_event_source_new (window_x11);
 
-  g_source_attach (window_x11->x11_source, window_x11->main_context);
+  if (!GST_GL_WINDOW_CLASS (parent_class)->open (window, error))
+    return FALSE;
+
+  g_source_attach (window_x11->x11_source,
+      g_main_context_get_thread_default ());
 
   window_x11->allow_extra_expose_events = TRUE;
 
@@ -319,6 +301,8 @@
   window_x11->x11_source = NULL;
 
   window_x11->running = FALSE;
+
+  GST_GL_WINDOW_CLASS (parent_class)->close (window);
 }
 
 /* called by the gl thread */
@@ -398,11 +382,9 @@
 void
 gst_gl_window_x11_draw_unlocked (GstGLWindow * window)
 {
-  GstGLWindowX11 *window_x11;
+  GstGLWindowX11 *window_x11 = GST_GL_WINDOW_X11 (window);
 
-  window_x11 = GST_GL_WINDOW_X11 (window);
-
-  if (g_main_loop_is_running (window_x11->loop)
+  if (gst_gl_window_is_running (GST_GL_WINDOW (window_x11))
       && window_x11->allow_extra_expose_events) {
     if (window->draw) {
       GstGLContext *context = gst_gl_window_get_context (window);
@@ -421,7 +403,7 @@
 {
   GstGLWindowX11 *window_x11 = data;
 
-  if (g_main_loop_is_running (window_x11->loop)) {
+  if (gst_gl_window_is_running (GST_GL_WINDOW (window_x11))) {
     XWindowAttributes attr;
 
     XGetWindowAttributes (window_x11->device, window_x11->internal_win_id,
@@ -456,16 +438,6 @@
   gst_gl_window_send_message (window, (GstGLWindowCB) draw_cb, window);
 }
 
-void
-gst_gl_window_x11_run (GstGLWindow * window)
-{
-  GstGLWindowX11 *window_x11;
-
-  window_x11 = GST_GL_WINDOW_X11 (window);
-
-  g_main_loop_run (window_x11->loop);
-}
-
 static inline const gchar *
 event_type_to_string (guint type)
 {
@@ -542,7 +514,7 @@
 
   window = GST_GL_WINDOW (window_x11);
 
-  if (g_main_loop_is_running (window_x11->loop)
+  if (gst_gl_window_is_running (window)
       && XPending (window_x11->device)) {
     XEvent event;
 
@@ -669,61 +641,6 @@
   return ret;
 }
 
-/* Not called by the gl thread */
-void
-gst_gl_window_x11_quit (GstGLWindow * window)
-{
-  GstGLWindowX11 *window_x11;
-
-  window_x11 = GST_GL_WINDOW_X11 (window);
-
-  GST_LOG ("sending quit");
-
-  if (window_x11->loop)
-    g_main_loop_quit (window_x11->loop);
-
-  GST_LOG ("quit sent");
-}
-
-typedef struct _GstGLMessage
-{
-  GstGLWindowCB callback;
-  gpointer data;
-  GDestroyNotify destroy;
-} GstGLMessage;
-
-static gboolean
-_run_message (GstGLMessage * message)
-{
-  if (message->callback)
-    message->callback (message->data);
-
-  if (message->destroy)
-    message->destroy (message->data);
-
-  g_slice_free (GstGLMessage, message);
-
-  return FALSE;
-}
-
-void
-gst_gl_window_x11_send_message_async (GstGLWindow * window,
-    GstGLWindowCB callback, gpointer data, GDestroyNotify destroy)
-{
-  GstGLWindowX11 *window_x11;
-  GstGLMessage *message;
-
-  window_x11 = GST_GL_WINDOW_X11 (window);
-  message = g_slice_new (GstGLMessage);
-
-  message->callback = callback;
-  message->data = data;
-  message->destroy = destroy;
-
-  g_main_context_invoke (window_x11->main_context, (GSourceFunc) _run_message,
-      message);
-}
-
 static int
 error_handler (Display * xdpy, XErrorEvent * error)
 {
diff --git a/gst-libs/gst/gl/x11/gstglwindow_x11.h b/gst-libs/gst/gl/x11/gstglwindow_x11.h
index 56e876d..db392b5 100644
--- a/gst-libs/gst/gl/x11/gstglwindow_x11.h
+++ b/gst-libs/gst/gl/x11/gstglwindow_x11.h
@@ -74,8 +74,6 @@
   Window        internal_win_id;
 
   GSource *x11_source;
-  GMainContext *main_context;
-  GMainLoop *loop;
 
   /*< private >*/
   GstGLWindowX11Private *priv;
diff --git a/gst-libs/gst/video/gstvideoaggregator.c b/gst-libs/gst/video/gstvideoaggregator.c
index 965aafc..6c154bd 100644
--- a/gst-libs/gst/video/gstvideoaggregator.c
+++ b/gst-libs/gst/video/gstvideoaggregator.c
@@ -28,7 +28,7 @@
  * biggest incoming video stream and the framerate of the fastest incoming one.
  *
  * VideoAggregator will do colorspace conversion.
- * 
+ *
  * Zorder for each input stream can be configured on the
  * #GstVideoAggregatorPad.
  *
@@ -674,6 +674,7 @@
     GstCaps *caps, *peercaps, *info_caps;
     GstStructure *s;
     GstVideoInfo info;
+    int i;
 
     if (GST_VIDEO_INFO_FPS_N (&vagg->info) != best_fps_n ||
         GST_VIDEO_INFO_FPS_D (&vagg->info) != best_fps_d) {
@@ -711,11 +712,8 @@
       caps = info_caps;
     }
 
-    peercaps = gst_pad_peer_query_caps (agg->srcpad, NULL);
-    if (peercaps) {
-      GstCaps *tmp;
-      int i;
-
+    /* If the sub-class allows it, allow size/framerate changes */
+    if (!vagg_klass->preserve_update_caps_result) {
       s = gst_caps_get_structure (caps, 0);
       gst_structure_get (s, "width", G_TYPE_INT, &best_width, "height",
           G_TYPE_INT, &best_height, NULL);
@@ -726,6 +724,12 @@
             "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, "framerate",
             GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL);
       }
+    }
+
+    peercaps = gst_pad_peer_query_caps (agg->srcpad, caps);
+    if (peercaps) {
+      GstCaps *tmp;
+
 
       tmp = gst_caps_intersect (caps, peercaps);
       GST_DEBUG_OBJECT (vagg, "intersecting %" GST_PTR_FORMAT
@@ -748,6 +752,8 @@
       gst_structure_fixate_field_nearest_int (s, "height", best_height);
       gst_structure_fixate_field_nearest_fraction (s, "framerate", best_fps_n,
           best_fps_d);
+      gst_structure_fixate_field_nearest_fraction (s, "pixel-aspect-ratio", 1,
+          1);
 
       /* fixate the the rest of the fields */
       caps = gst_caps_fixate (caps);
@@ -848,9 +854,6 @@
     gst_structure_set (s, "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);
-    if (!gst_structure_has_field (s, "pixel-aspect-ratio"))
-      gst_structure_set (s, "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1,
-          NULL);
 
     gst_structure_remove_fields (s, "colorimetry", "chroma-site", "format",
         NULL);
@@ -1199,6 +1202,10 @@
         gst_flow_get_name (ret));
     return ret;
   }
+  if (*outbuf == NULL) {
+    /* sub-class doesn't want to generate output right now */
+    return GST_FLOW_OK;
+  }
 
   GST_BUFFER_TIMESTAMP (*outbuf) = output_start_time;
   GST_BUFFER_DURATION (*outbuf) = output_end_time - output_start_time;
@@ -1370,6 +1377,8 @@
   if (jitter <= 0) {
     ret = gst_videoaggregator_do_aggregate (vagg, output_start_time,
         output_end_time, &outbuf);
+    if (ret != GST_FLOW_OK)
+      goto done;
     vagg->priv->qos_processed++;
   } else {
     GstMessage *msg;
@@ -1406,6 +1415,8 @@
   goto done_unlocked;
 
 done:
+  if (outbuf)
+    gst_buffer_unref (outbuf);
   GST_VIDEO_AGGREGATOR_UNLOCK (vagg);
 
 done_unlocked:
@@ -1842,9 +1853,6 @@
     gst_structure_set (s, "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);
-    if (!gst_structure_has_field (s, "pixel-aspect-ratio"))
-      gst_structure_set (s, "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1,
-          NULL);
 
     gst_structure_remove_fields (s, "colorimetry", "chroma-site", "format",
         NULL);
diff --git a/gst-libs/gst/video/gstvideoaggregator.h b/gst-libs/gst/video/gstvideoaggregator.h
index 2be7eb6..b3c5c53 100644
--- a/gst-libs/gst/video/gstvideoaggregator.h
+++ b/gst-libs/gst/video/gstvideoaggregator.h
@@ -17,7 +17,7 @@
  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  * Boston, MA 02110-1301, USA.
  */
- 
+
 #ifndef __GST_VIDEO_AGGREGATOR_H__
 #define __GST_VIDEO_AGGREGATOR_H__
 
@@ -86,6 +86,9 @@
  *                            Notifies subclasses what caps format has been negotiated
  * @find_best_format:         Optional.
  *                            Lets subclasses decide of the best common format to use.
+ * @preserve_update_caps_result: Sub-classes should set this to true if the return result
+ *                               of the update_caps() method should not be further modified
+ *                               by GstVideoAggregator by removing fields.
  **/
 struct _GstVideoAggregatorClass
 {
@@ -105,6 +108,9 @@
                                                    GstCaps            *  downstream_caps,
                                                    GstVideoInfo       *  best_info,
                                                    gboolean           *  at_least_one_alpha);
+
+  gboolean           preserve_update_caps_result;
+
   /* < private > */
   gpointer            _gst_reserved[GST_PADDING_LARGE];
 };
diff --git a/gst-plugins-bad.doap b/gst-plugins-bad.doap
index 75af4f3..c2d94aa 100644
--- a/gst-plugins-bad.doap
+++ b/gst-plugins-bad.doap
@@ -35,6 +35,16 @@
 
  <release>
   <Version>
+   <revision>1.5.1</revision>
+   <branch>1.5</branch>
+   <name></name>
+   <created>2015-06-07</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.5.1.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.4.0</revision>
    <branch>1.4</branch>
    <name></name>
diff --git a/gst-plugins-bad.spec b/gst-plugins-bad.spec
index b59173f..69247fc 100644
--- a/gst-plugins-bad.spec
+++ b/gst-plugins-bad.spec
@@ -6,8 +6,8 @@
 
 Summary: GStreamer streaming media framework "bad" plug-ins
 Name: %{gstreamer}-plugins-bad
-Version: 1.5.0.1
-Release: 0.20150513.130001.gst
+Version: 1.5.1
+Release: 1.gst
 # The freeze and nfs plugins are LGPLv2 (only)
 License: LGPLv2+ and LGPLv2
 Group: Applications/Multimedia
diff --git a/gst/audiomixer/gstaudiointerleave.c b/gst/audiomixer/gstaudiointerleave.c
index fc98429..01ce19c 100644
--- a/gst/audiomixer/gstaudiointerleave.c
+++ b/gst/audiomixer/gstaudiointerleave.c
@@ -669,7 +669,6 @@
 
       self->channel_positions = g_value_dup_boxed (value);
       self->channel_positions_from_input = FALSE;
-      self->channels = self->channel_positions->n_values;
       break;
     case PROP_CHANNEL_POSITIONS_FROM_INPUT:
       self->channel_positions_from_input = g_value_get_boolean (value);
@@ -727,16 +726,15 @@
   GstAudioInterleave *self = GST_AUDIO_INTERLEAVE (element);
   GstAudioInterleavePad *newpad;
   gchar *pad_name;
-  gint channels, padnumber;
+  gint channel, padnumber;
   GValue val = { 0, };
 
   /* FIXME: We ignore req_name, this is evil! */
 
   padnumber = g_atomic_int_add (&self->padcounter, 1);
-  if (self->channel_positions_from_input)
-    channels = g_atomic_int_add (&self->channels, 1);
-  else
-    channels = padnumber;
+  channel = g_atomic_int_add (&self->channels, 1);
+  if (!self->channel_positions_from_input)
+    channel = padnumber;
 
   pad_name = g_strdup_printf ("sink_%u", padnumber);
   newpad = (GstAudioInterleavePad *)
@@ -746,7 +744,7 @@
   if (newpad == NULL)
     goto could_not_create;
 
-  newpad->channel = channels;
+  newpad->channel = channel;
   gst_pad_use_fixed_caps (GST_PAD (newpad));
 
   gst_child_proxy_child_added (GST_CHILD_PROXY (element), G_OBJECT (newpad),
@@ -822,24 +820,25 @@
   GstAudioInterleavePad *pad = GST_AUDIO_INTERLEAVE_PAD (aaggpad);
   GstMapInfo inmap;
   GstMapInfo outmap;
-  gint out_width, in_bpf, out_bpf;
+  gint out_width, in_bpf, out_bpf, out_channels;
   guint8 *outdata;
 
   out_width = GST_AUDIO_INFO_WIDTH (&aagg->info) / 8;
   in_bpf = GST_AUDIO_INFO_BPF (&aaggpad->info);
   out_bpf = GST_AUDIO_INFO_BPF (&aagg->info);
+  out_channels = GST_AUDIO_INFO_CHANNELS (&aagg->info);
 
   gst_buffer_map (outbuf, &outmap, GST_MAP_READWRITE);
   gst_buffer_map (inbuf, &inmap, GST_MAP_READ);
   GST_LOG_OBJECT (pad, "interleaves %u frames on channel %d/%d at offset %u"
-      " from offset %u", num_frames, pad->channel, self->channels,
+      " from offset %u", num_frames, pad->channel, out_channels,
       out_offset * out_bpf, in_offset * in_bpf);
 
   outdata = outmap.data + (out_offset * out_bpf) +
       (out_width * self->default_channels_ordering_map[pad->channel]);
 
 
-  self->func (outdata, inmap.data + (in_offset * in_bpf), self->channels,
+  self->func (outdata, inmap.data + (in_offset * in_bpf), out_channels,
       num_frames);
 
 
diff --git a/gst/audiovisualizers/gstaudiovisualizer.c b/gst/audiovisualizers/gstaudiovisualizer.c
index ee09e39..9c4a177 100644
--- a/gst/audiovisualizers/gstaudiovisualizer.c
+++ b/gst/audiovisualizers/gstaudiovisualizer.c
@@ -1,5 +1,6 @@
 /* GStreamer
  * Copyright (C) <2011> Stefan Kost <ensonic@users.sf.net>
+ * Copyright (C) <2015> Luis de Bethencourt <luis@debethencourt.com>
  *
  * gstaudiovisualizer.h: base class for audio visualisation elements
  *
@@ -92,6 +93,49 @@
 static gboolean
 default_decide_allocation (GstAudioVisualizer * scope, GstQuery * query);
 
+#define GST_AUDIO_VISUALIZER_GET_PRIVATE(obj)  \
+    (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GST_TYPE_AUDIO_VISUALIZER, GstAudioVisualizerPrivate))
+
+struct _GstAudioVisualizerPrivate
+{
+  gboolean negotiated;
+
+  GstBufferPool *pool;
+  gboolean pool_active;
+  GstAllocator *allocator;
+  GstAllocationParams params;
+  GstQuery *query;
+
+  /* pads */
+  GstPad *srcpad, *sinkpad;
+
+  GstAudioVisualizerShader shader_type;
+  GstAudioVisualizerShaderFunc shader;
+  guint32 shade_amount;
+
+  GstAdapter *adapter;
+
+  GstBuffer *inbuf;
+  GstBuffer *tempbuf;
+  GstVideoFrame tempframe;
+
+  guint spf;                    /* samples per video frame */
+  guint64 frame_duration;
+
+  /* QoS stuff *//* with LOCK */
+  gdouble proportion;
+  GstClockTime earliest_time;
+
+  guint dropped;                /* frames dropped / not dropped */
+  guint processed;
+
+  /* configuration mutex */
+  GMutex config_lock;
+
+  GstSegment segment;
+};
+
+
 /* shading functions */
 
 #define GST_TYPE_AUDIO_VISUALIZER_SHADER (gst_audio_visualizer_shader_get_type())
@@ -159,9 +203,10 @@
     GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *d;
   gint ss, ds, width, height;
 
@@ -187,9 +232,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *d;
   gint ss, ds, width, height;
 
@@ -215,9 +261,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *d;
   gint ss, ds, width, height;
 
@@ -243,9 +290,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *d;
   gint ss, ds, width, height;
 
@@ -275,9 +323,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *d;
   gint ss, ds, width, height;
 
@@ -307,9 +356,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *d;
   gint ss, ds, width, height;
 
@@ -344,9 +394,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *d;
   gint ss, ds, width, height;
 
@@ -381,9 +432,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *s1, *d, *d1;
   gint ss, ds, width, height;
 
@@ -416,9 +468,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *s1, *d, *d1;
   gint ss, ds, width, height;
 
@@ -449,63 +502,50 @@
 static void
 gst_audio_visualizer_change_shader (GstAudioVisualizer * scope)
 {
-  switch (scope->shader_type) {
+  GstAudioVisualizerShaderFunc shader;
+
+  switch (scope->priv->shader_type) {
     case GST_AUDIO_VISUALIZER_SHADER_NONE:
-      scope->shader = NULL;
+      shader = NULL;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE:
-      scope->shader = shader_fade;
+      shader = shader_fade;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_UP:
-      scope->shader = shader_fade_and_move_up;
+      shader = shader_fade_and_move_up;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_DOWN:
-      scope->shader = shader_fade_and_move_down;
+      shader = shader_fade_and_move_down;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_LEFT:
-      scope->shader = shader_fade_and_move_left;
+      shader = shader_fade_and_move_left;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_RIGHT:
-      scope->shader = shader_fade_and_move_right;
+      shader = shader_fade_and_move_right;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_OUT:
-      scope->shader = shader_fade_and_move_horiz_out;
+      shader = shader_fade_and_move_horiz_out;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_IN:
-      scope->shader = shader_fade_and_move_horiz_in;
+      shader = shader_fade_and_move_horiz_in;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_OUT:
-      scope->shader = shader_fade_and_move_vert_out;
+      shader = shader_fade_and_move_vert_out;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_IN:
-      scope->shader = shader_fade_and_move_vert_in;
+      shader = shader_fade_and_move_vert_in;
       break;
     default:
       GST_ERROR ("invalid shader function");
-      scope->shader = NULL;
+      shader = NULL;
       break;
   }
+
+  scope->priv->shader = shader;
 }
 
 /* base class */
 
-#define GST_AUDIO_VISUALIZER_GET_PRIVATE(obj)  \
-    (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GST_TYPE_AUDIO_VISUALIZER, GstAudioVisualizerPrivate))
-
-struct _GstAudioVisualizerPrivate
-{
-  gboolean negotiated;
-
-  GstBufferPool *pool;
-  gboolean pool_active;
-  GstAllocator *allocator;
-  GstAllocationParams params;
-  GstQuery *query;
-
-  guint dropped;                /* frames dropped / not dropped */
-  guint processed;
-};
-
 GType
 gst_audio_visualizer_get_type (void)
 {
@@ -580,40 +620,40 @@
   pad_template =
       gst_element_class_get_pad_template (GST_ELEMENT_CLASS (g_class), "sink");
   g_return_if_fail (pad_template != NULL);
-  scope->sinkpad = gst_pad_new_from_template (pad_template, "sink");
-  gst_pad_set_chain_function (scope->sinkpad,
+  scope->priv->sinkpad = gst_pad_new_from_template (pad_template, "sink");
+  gst_pad_set_chain_function (scope->priv->sinkpad,
       GST_DEBUG_FUNCPTR (gst_audio_visualizer_chain));
-  gst_pad_set_event_function (scope->sinkpad,
+  gst_pad_set_event_function (scope->priv->sinkpad,
       GST_DEBUG_FUNCPTR (gst_audio_visualizer_sink_event));
-  gst_element_add_pad (GST_ELEMENT (scope), scope->sinkpad);
+  gst_element_add_pad (GST_ELEMENT (scope), scope->priv->sinkpad);
 
   pad_template =
       gst_element_class_get_pad_template (GST_ELEMENT_CLASS (g_class), "src");
   g_return_if_fail (pad_template != NULL);
-  scope->srcpad = gst_pad_new_from_template (pad_template, "src");
-  gst_pad_set_event_function (scope->srcpad,
+  scope->priv->srcpad = gst_pad_new_from_template (pad_template, "src");
+  gst_pad_set_event_function (scope->priv->srcpad,
       GST_DEBUG_FUNCPTR (gst_audio_visualizer_src_event));
-  gst_pad_set_query_function (scope->srcpad,
+  gst_pad_set_query_function (scope->priv->srcpad,
       GST_DEBUG_FUNCPTR (gst_audio_visualizer_src_query));
-  gst_element_add_pad (GST_ELEMENT (scope), scope->srcpad);
+  gst_element_add_pad (GST_ELEMENT (scope), scope->priv->srcpad);
 
-  scope->adapter = gst_adapter_new ();
-  scope->inbuf = gst_buffer_new ();
+  scope->priv->adapter = gst_adapter_new ();
+  scope->priv->inbuf = gst_buffer_new ();
 
   /* properties */
-  scope->shader_type = DEFAULT_SHADER;
+  scope->priv->shader_type = DEFAULT_SHADER;
   gst_audio_visualizer_change_shader (scope);
-  scope->shade_amount = DEFAULT_SHADE_AMOUNT;
+  scope->priv->shade_amount = DEFAULT_SHADE_AMOUNT;
 
   /* reset the initial video state */
   gst_video_info_init (&scope->vinfo);
-  scope->frame_duration = GST_CLOCK_TIME_NONE;
+  scope->priv->frame_duration = GST_CLOCK_TIME_NONE;
 
   /* reset the initial state */
   gst_audio_info_init (&scope->ainfo);
   gst_video_info_init (&scope->vinfo);
 
-  g_mutex_init (&scope->config_lock);
+  g_mutex_init (&scope->priv->config_lock);
 }
 
 static void
@@ -624,11 +664,11 @@
 
   switch (prop_id) {
     case PROP_SHADER:
-      scope->shader_type = g_value_get_enum (value);
+      scope->priv->shader_type = g_value_get_enum (value);
       gst_audio_visualizer_change_shader (scope);
       break;
     case PROP_SHADE_AMOUNT:
-      scope->shade_amount = g_value_get_uint (value);
+      scope->priv->shade_amount = g_value_get_uint (value);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -644,10 +684,10 @@
 
   switch (prop_id) {
     case PROP_SHADER:
-      g_value_set_enum (value, scope->shader_type);
+      g_value_set_enum (value, scope->priv->shader_type);
       break;
     case PROP_SHADE_AMOUNT:
-      g_value_set_uint (value, scope->shade_amount);
+      g_value_set_uint (value, scope->priv->shade_amount);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -659,22 +699,23 @@
 gst_audio_visualizer_finalize (GObject * object)
 {
   GstAudioVisualizer *scope = GST_AUDIO_VISUALIZER (object);
+  GstAudioVisualizerPrivate *priv = scope->priv;
 
-  if (scope->adapter) {
-    g_object_unref (scope->adapter);
-    scope->adapter = NULL;
+  if (priv->adapter) {
+    g_object_unref (priv->adapter);
+    priv->adapter = NULL;
   }
-  if (scope->inbuf) {
-    gst_buffer_unref (scope->inbuf);
-    scope->inbuf = NULL;
+  if (priv->inbuf) {
+    gst_buffer_unref (priv->inbuf);
+    priv->inbuf = NULL;
   }
-  if (scope->tempbuf) {
-    gst_video_frame_unmap (&scope->tempframe);
-    gst_buffer_unref (scope->tempbuf);
-    scope->tempbuf = NULL;
+  if (priv->tempbuf) {
+    gst_video_frame_unmap (&priv->tempframe);
+    gst_buffer_unref (priv->tempbuf);
+    priv->tempbuf = NULL;
   }
 
-  g_mutex_clear (&scope->config_lock);
+  g_mutex_clear (&priv->config_lock);
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
@@ -682,14 +723,16 @@
 static void
 gst_audio_visualizer_reset (GstAudioVisualizer * scope)
 {
-  gst_adapter_clear (scope->adapter);
-  gst_segment_init (&scope->segment, GST_FORMAT_UNDEFINED);
+  GstAudioVisualizerPrivate *priv = scope->priv;
+
+  gst_adapter_clear (priv->adapter);
+  gst_segment_init (&priv->segment, GST_FORMAT_UNDEFINED);
 
   GST_OBJECT_LOCK (scope);
-  scope->proportion = 1.0;
-  scope->earliest_time = -1;
-  scope->priv->dropped = 0;
-  scope->priv->processed = 0;
+  priv->proportion = 1.0;
+  priv->earliest_time = -1;
+  priv->dropped = 0;
+  priv->processed = 0;
   GST_OBJECT_UNLOCK (scope);
 }
 
@@ -730,6 +773,7 @@
 {
   GstVideoInfo info;
   GstAudioVisualizerClass *klass;
+  GstAudioVisualizerPrivate *priv;
   gboolean res;
 
   if (!gst_video_info_from_caps (&info, caps))
@@ -737,21 +781,23 @@
 
   klass = GST_AUDIO_VISUALIZER_CLASS (G_OBJECT_GET_CLASS (scope));
 
+  priv = scope->priv;
+
   scope->vinfo = info;
 
-  scope->frame_duration = gst_util_uint64_scale_int (GST_SECOND,
+  priv->frame_duration = gst_util_uint64_scale_int (GST_SECOND,
       GST_VIDEO_INFO_FPS_D (&info), GST_VIDEO_INFO_FPS_N (&info));
-  scope->spf = gst_util_uint64_scale_int (GST_AUDIO_INFO_RATE (&scope->ainfo),
+  priv->spf = gst_util_uint64_scale_int (GST_AUDIO_INFO_RATE (&scope->ainfo),
       GST_VIDEO_INFO_FPS_D (&info), GST_VIDEO_INFO_FPS_N (&info));
-  scope->req_spf = scope->spf;
+  scope->req_spf = priv->spf;
 
-  if (scope->tempbuf) {
-    gst_video_frame_unmap (&scope->tempframe);
-    gst_buffer_unref (scope->tempbuf);
+  if (priv->tempbuf) {
+    gst_video_frame_unmap (&priv->tempframe);
+    gst_buffer_unref (priv->tempbuf);
   }
-  scope->tempbuf = gst_buffer_new_wrapped (g_malloc0 (scope->vinfo.size),
+  priv->tempbuf = gst_buffer_new_wrapped (g_malloc0 (scope->vinfo.size),
       scope->vinfo.size);
-  gst_video_frame_map (&scope->tempframe, &scope->vinfo, scope->tempbuf,
+  gst_video_frame_map (&priv->tempframe, &scope->vinfo, priv->tempbuf,
       GST_MAP_READWRITE);
 
   if (klass->setup && !klass->setup (scope))
@@ -760,10 +806,10 @@
   GST_DEBUG_OBJECT (scope, "video: dimension %dx%d, framerate %d/%d",
       GST_VIDEO_INFO_WIDTH (&info), GST_VIDEO_INFO_HEIGHT (&info),
       GST_VIDEO_INFO_FPS_N (&info), GST_VIDEO_INFO_FPS_D (&info));
-  GST_DEBUG_OBJECT (scope, "blocks: spf %u, req_spf %u",
-      scope->spf, scope->req_spf);
+  GST_DEBUG_OBJECT (scope, "blocks: spf %u, req_spf %u", priv->spf,
+      scope->req_spf);
 
-  gst_pad_set_caps (scope->srcpad, caps);
+  gst_pad_set_caps (priv->srcpad, caps);
 
   /* find a pool for the negotiated caps now */
   res = gst_audio_visualizer_do_bufferpool (scope, caps);
@@ -794,12 +840,12 @@
   GstCaps *templ;
   gboolean ret;
 
-  templ = gst_pad_get_pad_template_caps (scope->srcpad);
+  templ = gst_pad_get_pad_template_caps (scope->priv->srcpad);
 
   GST_DEBUG_OBJECT (scope, "performing negotiation");
 
   /* see what the peer can do */
-  othercaps = gst_pad_peer_query_caps (scope->srcpad, NULL);
+  othercaps = gst_pad_peer_query_caps (scope->priv->srcpad, NULL);
   if (othercaps) {
     target = gst_caps_intersect (othercaps, templ);
     gst_caps_unref (othercaps);
@@ -892,7 +938,7 @@
   GST_DEBUG_OBJECT (scope, "doing allocation query");
   query = gst_query_new_allocation (outcaps, TRUE);
 
-  if (!gst_pad_peer_query (scope->srcpad, query)) {
+  if (!gst_pad_peer_query (scope->priv->srcpad, query)) {
     /* not a problem, we use the query defaults */
     GST_DEBUG_OBJECT (scope, "allocation query failed");
   }
@@ -1039,6 +1085,7 @@
 {
   GstFlowReturn ret = GST_FLOW_OK;
   GstAudioVisualizer *scope;
+  GstAudioVisualizerPrivate *priv;
   GstAudioVisualizerClass *klass;
   GstBuffer *inbuf;
   guint64 dist, ts;
@@ -1047,19 +1094,20 @@
   gint bps, channels, rate;
 
   scope = GST_AUDIO_VISUALIZER (parent);
+  priv = scope->priv;
   klass = GST_AUDIO_VISUALIZER_CLASS (G_OBJECT_GET_CLASS (scope));
 
   GST_LOG_OBJECT (scope, "chainfunc called");
 
   /* resync on DISCONT */
   if (GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DISCONT)) {
-    gst_adapter_clear (scope->adapter);
+    gst_adapter_clear (priv->adapter);
   }
 
   /* Make sure have an output format */
-  if (gst_pad_check_reconfigure (scope->srcpad)) {
+  if (gst_pad_check_reconfigure (priv->srcpad)) {
     if (!gst_audio_visualizer_src_negotiate (scope)) {
-      gst_pad_mark_reconfigure (scope->srcpad);
+      gst_pad_mark_reconfigure (priv->srcpad);
       goto not_negotiated;
     }
   }
@@ -1073,26 +1121,26 @@
     goto beach;
   }
 
-  gst_adapter_push (scope->adapter, buffer);
+  gst_adapter_push (priv->adapter, buffer);
 
-  g_mutex_lock (&scope->config_lock);
+  g_mutex_lock (&priv->config_lock);
 
   /* this is what we want */
   sbpf = scope->req_spf * channels * sizeof (gint16);
 
-  inbuf = scope->inbuf;
+  inbuf = priv->inbuf;
   /* FIXME: the timestamp in the adapter would be different */
   gst_buffer_copy_into (inbuf, buffer, GST_BUFFER_COPY_METADATA, 0, -1);
 
   /* this is what we have */
-  avail = gst_adapter_available (scope->adapter);
+  avail = gst_adapter_available (priv->adapter);
   GST_LOG_OBJECT (scope, "avail: %u, bpf: %u", avail, sbpf);
   while (avail >= sbpf) {
     GstBuffer *outbuf;
     GstVideoFrame outframe;
 
     /* get timestamp of the current adapter content */
-    ts = gst_adapter_prev_pts (scope->adapter, &dist);
+    ts = gst_adapter_prev_pts (priv->adapter, &dist);
     if (GST_CLOCK_TIME_IS_VALID (ts)) {
       /* convert bytes to time */
       dist /= bps;
@@ -1106,12 +1154,12 @@
       gint64 qostime;
 
       qostime =
-          gst_segment_to_running_time (&scope->segment, GST_FORMAT_TIME, ts) +
-          scope->frame_duration;
+          gst_segment_to_running_time (&priv->segment, GST_FORMAT_TIME,
+          ts) + priv->frame_duration;
 
       GST_OBJECT_LOCK (scope);
-      earliest_time = scope->earliest_time;
-      proportion = scope->proportion;
+      earliest_time = priv->earliest_time;
+      proportion = priv->proportion;
       GST_OBJECT_UNLOCK (scope);
 
       if (GST_CLOCK_TIME_IS_VALID (earliest_time) && qostime <= earliest_time) {
@@ -1122,26 +1170,26 @@
             "QoS: skip ts: %" GST_TIME_FORMAT ", earliest: %" GST_TIME_FORMAT,
             GST_TIME_ARGS (qostime), GST_TIME_ARGS (earliest_time));
 
-        ++scope->priv->dropped;
-        stream_time = gst_segment_to_stream_time (&scope->segment,
+        ++priv->dropped;
+        stream_time = gst_segment_to_stream_time (&priv->segment,
             GST_FORMAT_TIME, ts);
         jitter = GST_CLOCK_DIFF (qostime, earliest_time);
         qos_msg = gst_message_new_qos (GST_OBJECT (scope), FALSE, qostime,
             stream_time, ts, GST_BUFFER_DURATION (buffer));
         gst_message_set_qos_values (qos_msg, jitter, proportion, 1000000);
         gst_message_set_qos_stats (qos_msg, GST_FORMAT_BUFFERS,
-            scope->priv->processed, scope->priv->dropped);
+            priv->processed, priv->dropped);
         gst_element_post_message (GST_ELEMENT (scope), qos_msg);
 
         goto skip;
       }
     }
 
-    ++scope->priv->processed;
+    ++priv->processed;
 
-    g_mutex_unlock (&scope->config_lock);
+    g_mutex_unlock (&priv->config_lock);
     ret = default_prepare_output_buffer (scope, &outbuf);
-    g_mutex_lock (&scope->config_lock);
+    g_mutex_lock (&priv->config_lock);
     /* recheck as the value could have changed */
     sbpf = scope->req_spf * channels * sizeof (gint16);
 
@@ -1154,16 +1202,16 @@
       gst_object_sync_values (GST_OBJECT (scope), ts);
 
     GST_BUFFER_TIMESTAMP (outbuf) = ts;
-    GST_BUFFER_DURATION (outbuf) = scope->frame_duration;
+    GST_BUFFER_DURATION (outbuf) = priv->frame_duration;
 
     /* this can fail as the data size we need could have changed */
-    if (!(adata = (gpointer) gst_adapter_map (scope->adapter, sbpf)))
+    if (!(adata = (gpointer) gst_adapter_map (priv->adapter, sbpf)))
       break;
 
     gst_video_frame_map (&outframe, &scope->vinfo, outbuf, GST_MAP_READWRITE);
 
-    if (scope->shader) {
-      gst_video_frame_copy (&outframe, &scope->tempframe);
+    if (priv->shader) {
+      gst_video_frame_copy (&outframe, &priv->tempframe);
     } else {
       /* gst_video_frame_clear() or is output frame already cleared */
       gint i;
@@ -1186,18 +1234,17 @@
       } else {
         /* run various post processing (shading and geometric transformation) */
         /* FIXME: SHADER assumes 32bpp */
-        if (scope->shader &&
-            GST_VIDEO_INFO_COMP_PSTRIDE (&scope->vinfo, 0) == 4) {
-          scope->shader (scope, &outframe, &scope->tempframe);
+        if (priv->shader && GST_VIDEO_INFO_COMP_PSTRIDE (&scope->vinfo, 0) == 4) {
+          priv->shader (scope, &outframe, &priv->tempframe);
         }
       }
     }
     gst_video_frame_unmap (&outframe);
 
-    g_mutex_unlock (&scope->config_lock);
-    ret = gst_pad_push (scope->srcpad, outbuf);
+    g_mutex_unlock (&priv->config_lock);
+    ret = gst_pad_push (priv->srcpad, outbuf);
     outbuf = NULL;
-    g_mutex_lock (&scope->config_lock);
+    g_mutex_lock (&priv->config_lock);
 
   skip:
     /* recheck as the value could have changed */
@@ -1205,21 +1252,21 @@
     GST_LOG_OBJECT (scope, "avail: %u, bpf: %u", avail, sbpf);
     /* we want to take less or more, depending on spf : req_spf */
     if (avail - sbpf >= sbpf) {
-      gst_adapter_flush (scope->adapter, sbpf);
-      gst_adapter_unmap (scope->adapter);
+      gst_adapter_flush (priv->adapter, sbpf);
+      gst_adapter_unmap (priv->adapter);
     } else if (avail >= sbpf) {
       /* just flush a bit and stop */
-      gst_adapter_flush (scope->adapter, (avail - sbpf));
-      gst_adapter_unmap (scope->adapter);
+      gst_adapter_flush (priv->adapter, (avail - sbpf));
+      gst_adapter_unmap (priv->adapter);
       break;
     }
-    avail = gst_adapter_available (scope->adapter);
+    avail = gst_adapter_available (priv->adapter);
 
     if (ret != GST_FLOW_OK)
       break;
   }
 
-  g_mutex_unlock (&scope->config_lock);
+  g_mutex_unlock (&priv->config_lock);
 
 beach:
   return ret;
@@ -1238,8 +1285,10 @@
 {
   gboolean res;
   GstAudioVisualizer *scope;
+  GstAudioVisualizerPrivate *priv;
 
   scope = GST_AUDIO_VISUALIZER (parent);
+  priv = scope->priv;
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_QOS:
@@ -1252,16 +1301,16 @@
 
       /* save stuff for the _chain() function */
       GST_OBJECT_LOCK (scope);
-      scope->proportion = proportion;
+      priv->proportion = proportion;
       if (diff >= 0)
         /* we're late, this is a good estimate for next displayable
          * frame (see part-qos.txt) */
-        scope->earliest_time = timestamp + 2 * diff + scope->frame_duration;
+        priv->earliest_time = timestamp + 2 * diff + priv->frame_duration;
       else
-        scope->earliest_time = timestamp + diff;
+        priv->earliest_time = timestamp + diff;
       GST_OBJECT_UNLOCK (scope);
 
-      res = gst_pad_push_event (scope->sinkpad, event);
+      res = gst_pad_push_event (priv->sinkpad, event);
       break;
     }
     case GST_EVENT_RECONFIGURE:
@@ -1298,16 +1347,16 @@
     }
     case GST_EVENT_FLUSH_STOP:
       gst_audio_visualizer_reset (scope);
-      res = gst_pad_push_event (scope->srcpad, event);
+      res = gst_pad_push_event (scope->priv->srcpad, event);
       break;
     case GST_EVENT_SEGMENT:
     {
       /* the newsegment values are used to clip the input samples
        * and to convert the incomming timestamps to running time so
        * we can do QoS */
-      gst_event_copy_segment (event, &scope->segment);
+      gst_event_copy_segment (event, &scope->priv->segment);
 
-      res = gst_pad_push_event (scope->srcpad, event);
+      res = gst_pad_push_event (scope->priv->srcpad, event);
       break;
     }
     default:
@@ -1341,7 +1390,7 @@
       if (rate == 0)
         break;
 
-      if ((res = gst_pad_peer_query (scope->sinkpad, query))) {
+      if ((res = gst_pad_peer_query (scope->priv->sinkpad, query))) {
         gst_query_parse_latency (query, &us_live, &min_latency, &max_latency);
 
         GST_DEBUG_OBJECT (scope, "Peer latency: min %"
@@ -1349,7 +1398,7 @@
             GST_TIME_ARGS (min_latency), GST_TIME_ARGS (max_latency));
 
         /* the max samples we must buffer buffer */
-        max_samples = MAX (scope->req_spf, scope->spf);
+        max_samples = MAX (scope->req_spf, scope->priv->spf);
         our_latency = gst_util_uint64_scale_int (max_samples, GST_SECOND, rate);
 
         GST_DEBUG_OBJECT (scope, "Our latency: %" GST_TIME_FORMAT,
diff --git a/gst/audiovisualizers/gstaudiovisualizer.h b/gst/audiovisualizers/gstaudiovisualizer.h
index 90c36c4..381de81 100644
--- a/gst/audiovisualizers/gstaudiovisualizer.h
+++ b/gst/audiovisualizers/gstaudiovisualizer.h
@@ -1,5 +1,6 @@
 /* GStreamer
  * Copyright (C) <2011> Stefan Kost <ensonic@users.sf.net>
+ * Copyright (C) <2015> Luis de Bethencourt <luis@debethencourt.com>
  *
  * gstaudiovisualizer.c: base class for audio visualisation elements
  *
@@ -76,37 +77,14 @@
 {
   GstElement parent;
 
-  /* pads */
-  GstPad *srcpad, *sinkpad;
-
-  GstAdapter *adapter;
-  GstBuffer *inbuf;
-  GstBuffer *tempbuf;
-  GstVideoFrame tempframe;
-
-  GstAudioVisualizerShader shader_type;
-  GstAudioVisualizerShaderFunc shader;
-  guint32 shade_amount;
-
-  guint spf;                    /* samples per video frame */
   guint req_spf;                /* min samples per frame wanted by the subclass */
 
   /* video state */
   GstVideoInfo vinfo;
-  guint64 frame_duration;
 
   /* audio state */
   GstAudioInfo ainfo;
 
-  /* configuration mutex */
-  GMutex config_lock;
-
-  /* QoS stuff *//* with LOCK */
-  gdouble proportion;
-  GstClockTime earliest_time;
-
-  GstSegment segment;
-
   /* <private> */
   GstAudioVisualizerPrivate *priv;
 };
diff --git a/gst/compositor/compositor.c b/gst/compositor/compositor.c
index a970729..dfeb379 100644
--- a/gst/compositor/compositor.c
+++ b/gst/compositor/compositor.c
@@ -214,11 +214,61 @@
   }
 }
 
+static void
+_mixer_pad_get_output_size (GstCompositor * comp,
+    GstCompositorPad * comp_pad, gint * width, gint * height)
+{
+  GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (comp);
+  GstVideoAggregatorPad *vagg_pad = GST_VIDEO_AGGREGATOR_PAD (comp_pad);
+  gint pad_width, pad_height;
+  guint dar_n, dar_d;
+
+  /* FIXME: Anything better we can do here? */
+  if (!vagg_pad->info.finfo
+      || vagg_pad->info.finfo->format == GST_VIDEO_FORMAT_UNKNOWN) {
+    GST_DEBUG_OBJECT (comp_pad, "Have no caps yet");
+    *width = 0;
+    *height = 0;
+    return;
+  }
+
+  pad_width =
+      comp_pad->width <=
+      0 ? GST_VIDEO_INFO_WIDTH (&vagg_pad->info) : comp_pad->width;
+  pad_height =
+      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),
+      GST_VIDEO_INFO_PAR_N (&vagg->info), GST_VIDEO_INFO_PAR_D (&vagg->info)
+      );
+  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),
+      GST_VIDEO_INFO_PAR_N (&vagg->info), GST_VIDEO_INFO_PAR_D (&vagg->info));
+
+  if (pad_height % dar_n == 0) {
+    pad_width = gst_util_uint64_scale_int (pad_height, dar_n, dar_d);
+  } else if (pad_width % dar_d == 0) {
+    pad_height = gst_util_uint64_scale_int (pad_width, dar_d, dar_n);
+  } else {
+    pad_width = gst_util_uint64_scale_int (pad_height, dar_n, dar_d);
+  }
+
+  if (width)
+    *width = pad_width;
+  if (height)
+    *height = pad_height;
+}
+
 static gboolean
 gst_compositor_pad_set_info (GstVideoAggregatorPad * pad,
     GstVideoAggregator * vagg G_GNUC_UNUSED,
     GstVideoInfo * current_info, GstVideoInfo * wanted_info)
 {
+  GstCompositor *comp = GST_COMPOSITOR (vagg);
   GstCompositorPad *cpad = GST_COMPOSITOR_PAD (pad);
   gchar *colorimetry, *best_colorimetry;
   const gchar *chroma, *best_chroma;
@@ -242,15 +292,7 @@
       gst_video_colorimetry_to_string (&(wanted_info->colorimetry));
   best_chroma = gst_video_chroma_to_string (wanted_info->chroma_site);
 
-  if (cpad->width > 0)
-    width = cpad->width;
-  else
-    width = current_info->width;
-
-  if (cpad->height > 0)
-    height = cpad->height;
-  else
-    height = current_info->height;
+  _mixer_pad_get_output_size (comp, cpad, &width, &height);
 
   if (GST_VIDEO_INFO_FORMAT (wanted_info) !=
       GST_VIDEO_INFO_FORMAT (current_info)
@@ -268,8 +310,8 @@
         width, height);
     tmp_info.chroma_site = wanted_info->chroma_site;
     tmp_info.colorimetry = wanted_info->colorimetry;
-    tmp_info.par_n = current_info->par_n;
-    tmp_info.par_d = current_info->par_d;
+    tmp_info.par_n = vagg->info.par_n;
+    tmp_info.par_d = vagg->info.par_d;
     tmp_info.fps_n = current_info->fps_n;
     tmp_info.fps_d = current_info->fps_d;
     tmp_info.flags = current_info->flags;
@@ -278,6 +320,7 @@
     GST_DEBUG_OBJECT (pad, "This pad will be converted from %d to %d",
         GST_VIDEO_INFO_FORMAT (current_info),
         GST_VIDEO_INFO_FORMAT (&tmp_info));
+
     cpad->convert = gst_video_converter_new (current_info, &tmp_info, NULL);
     cpad->conversion_info = tmp_info;
     if (!cpad->convert) {
@@ -311,6 +354,7 @@
 gst_compositor_pad_prepare_frame (GstVideoAggregatorPad * pad,
     GstVideoAggregator * vagg)
 {
+  GstCompositor *comp = GST_COMPOSITOR (vagg);
   GstCompositorPad *cpad = GST_COMPOSITOR_PAD (pad);
   guint outsize;
   GstVideoFrame *converted_frame;
@@ -338,15 +382,8 @@
    *     Equal to cpad->width/height if it's set, otherwise it's the pad
    *     width/height. See ->set_info()
    * */
-  if (cpad->width > 0)
-    width = cpad->width;
-  else
-    width = GST_VIDEO_INFO_WIDTH (&pad->buffer_vinfo);
 
-  if (cpad->height > 0)
-    height = cpad->height;
-  else
-    height = GST_VIDEO_INFO_HEIGHT (&pad->buffer_vinfo);
+  _mixer_pad_get_output_size (comp, cpad, &width, &height);
 
   /* The only thing that can change here is the width
    * and height, otherwise set_info would've been called */
@@ -384,8 +421,8 @@
           width, height);
       tmp_info.chroma_site = cpad->conversion_info.chroma_site;
       tmp_info.colorimetry = cpad->conversion_info.colorimetry;
-      tmp_info.par_n = cpad->conversion_info.par_n;
-      tmp_info.par_d = cpad->conversion_info.par_d;
+      tmp_info.par_n = vagg->info.par_n;
+      tmp_info.par_d = vagg->info.par_d;
       tmp_info.fps_n = cpad->conversion_info.fps_n;
       tmp_info.fps_d = cpad->conversion_info.fps_d;
       tmp_info.flags = cpad->conversion_info.flags;
@@ -394,6 +431,7 @@
       GST_DEBUG_OBJECT (pad, "This pad will be converted from %d to %d",
           GST_VIDEO_INFO_FORMAT (&pad->buffer_vinfo),
           GST_VIDEO_INFO_FORMAT (&tmp_info));
+
       cpad->convert =
           gst_video_converter_new (&pad->buffer_vinfo, &tmp_info, NULL);
       cpad->conversion_info = tmp_info;
@@ -420,10 +458,8 @@
   frame_rect.x = CLAMP (cpad->xpos, 0, GST_VIDEO_INFO_WIDTH (&vagg->info));
   frame_rect.y = CLAMP (cpad->ypos, 0, GST_VIDEO_INFO_HEIGHT (&vagg->info));
   /* Clamp the width/height to the frame boundaries as well */
-  frame_rect.w =
-      MAX (GST_VIDEO_INFO_WIDTH (&cpad->conversion_info) - frame_rect.x, 0);
-  frame_rect.h =
-      MAX (GST_VIDEO_INFO_HEIGHT (&cpad->conversion_info) - frame_rect.y, 0);
+  frame_rect.w = MAX (width - frame_rect.x, 0);
+  frame_rect.h = MAX (height - frame_rect.y, 0);
 
   GST_OBJECT_LOCK (vagg);
   /* Check if this frame is obscured by a higher-zorder frame
@@ -434,16 +470,17 @@
     GstVideoRectangle frame2_rect;
     GstVideoAggregatorPad *pad2 = l->data;
     GstCompositorPad *cpad2 = GST_COMPOSITOR_PAD (pad2);
+    gint pad2_width, pad2_height;
+
+    _mixer_pad_get_output_size (comp, cpad2, &pad2_width, &pad2_height);
 
     /* We don't need to clamp the coords of the second rectangle */
     frame2_rect.x = cpad2->xpos;
     frame2_rect.y = cpad2->ypos;
     /* This is effectively what set_info and the above conversion
      * code do to calculate the desired width/height */
-    frame2_rect.w = cpad2->width ? cpad2->width :
-        GST_VIDEO_INFO_WIDTH (&cpad2->conversion_info);
-    frame2_rect.h = cpad2->height ? cpad2->height :
-        GST_VIDEO_INFO_HEIGHT (&cpad2->conversion_info);
+    frame2_rect.w = pad2_width;
+    frame2_rect.h = pad2_height;
 
     /* Check if there's a buffer to be aggregated, ensure it can't have an alpha
      * channel, then check opacity and frame boundaries */
@@ -831,6 +868,9 @@
 
   gst_video_info_from_caps (&info, caps);
 
+  /* FIXME: this doesn't work for non 1/1 output par's as we don't have that
+   * information available at this time */
+
   GST_OBJECT_LOCK (vagg);
   for (l = GST_ELEMENT (vagg)->sinkpads; l; l = l->next) {
     GstVideoAggregatorPad *vaggpad = l->data;
@@ -838,15 +878,8 @@
     gint this_width, this_height;
     gint width, height;
 
-    if (compositor_pad->width > 0)
-      width = compositor_pad->width;
-    else
-      width = GST_VIDEO_INFO_WIDTH (&vaggpad->info);
-
-    if (compositor_pad->height > 0)
-      height = compositor_pad->height;
-    else
-      height = GST_VIDEO_INFO_HEIGHT (&vaggpad->info);
+    _mixer_pad_get_output_size (GST_COMPOSITOR (vagg), compositor_pad, &width,
+        &height);
 
     if (width == 0 || height == 0)
       continue;
@@ -866,6 +899,9 @@
     info.height = best_height;
     if (set_functions (GST_COMPOSITOR (vagg), &info))
       ret = gst_video_info_to_caps (&info);
+
+    gst_caps_set_simple (ret, "pixel-aspect-ratio", GST_TYPE_FRACTION_RANGE,
+        1, G_MAXINT, G_MAXINT, 1, NULL);
   }
 
   return ret;
diff --git a/gst/dvbsuboverlay/dvb-sub.c b/gst/dvbsuboverlay/dvb-sub.c
index ae3ab60..65a43ab 100644
--- a/gst/dvbsuboverlay/dvb-sub.c
+++ b/gst/dvbsuboverlay/dvb-sub.c
@@ -1168,7 +1168,6 @@
     buf += 2;
     dvb_sub->display_def.window_height =
         GST_READ_UINT16_BE (buf) - dvb_sub->display_def.window_y + 1;
-    buf += 2;
   }
 
   return 0;
diff --git a/gst/gaudieffects/gstexclusion.c b/gst/gaudieffects/gstexclusion.c
index 8f762ad..860c5b4 100644
--- a/gst/gaudieffects/gstexclusion.c
+++ b/gst/gaudieffects/gstexclusion.c
@@ -151,7 +151,7 @@
 
   g_object_class_install_property (gobject_class, PROP_FACTOR,
       g_param_spec_uint ("factor", "Factor",
-          "Exclusion factor parameter", 0, 175, DEFAULT_FACTOR,
+          "Exclusion factor parameter", 1, 175, DEFAULT_FACTOR,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | GST_PARAM_CONTROLLABLE));
 
   vfilter_class->transform_frame =
@@ -270,9 +270,6 @@
   guint32 in;
   gint x, red, green, blue;
 
-  if (G_UNLIKELY (factor == 0))
-    return;
-
   for (x = 0; x < video_area; x++) {
     in = *src++;
 
diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c
index 63e567c..4751028 100644
--- a/gst/mpegtsdemux/mpegtsbase.c
+++ b/gst/mpegtsdemux/mpegtsbase.c
@@ -856,6 +856,7 @@
   if (old_program->active) {
     old_program = mpegts_base_steal_program (base, program_number);
     program = mpegts_base_new_program (base, program_number, section->pid);
+    program->patcount = old_program->patcount;
     g_hash_table_insert (base->programs,
         GINT_TO_POINTER (program_number), program);
 
@@ -1038,6 +1039,7 @@
   gboolean res = TRUE;
   gboolean hard;
   MpegTSBase *base = GST_MPEGTS_BASE (parent);
+  gboolean is_sticky = GST_EVENT_IS_STICKY (event);
 
   GST_DEBUG_OBJECT (base, "Got event %s",
       gst_event_type_get_name (GST_EVENT_TYPE (event)));
@@ -1077,7 +1079,7 @@
   }
 
   /* Always return TRUE for sticky events */
-  if (GST_EVENT_IS_STICKY (event))
+  if (is_sticky)
     res = TRUE;
 
   return res;
diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c
index e8c13f6..d6ed001 100644
--- a/gst/mpegtsdemux/tsdemux.c
+++ b/gst/mpegtsdemux/tsdemux.c
@@ -205,6 +205,7 @@
     "video/x-h264,stream-format=(string)byte-stream," \
       "alignment=(string)nal;" \
     "video/x-dirac;" \
+    "video/x-cavs;" \
     "video/x-wmv," \
       "wmvversion = (int) 3, " \
       "format = (string) WVC1" \
@@ -828,7 +829,6 @@
       goto done;
     }
   } else {
-    start_offset = GST_CLOCK_TIME_NONE;
     for (tmp = demux->program->stream_list; tmp; tmp = tmp->next) {
       TSDemuxStream *stream = tmp->data;
 
@@ -1044,6 +1044,8 @@
   const GstMpegtsDescriptor *desc = NULL;
   GstPad *pad = NULL;
   gboolean sparse = FALSE;
+  gboolean is_audio = FALSE, is_video = FALSE, is_subpicture = FALSE,
+      is_private = FALSE;
 
   gst_ts_demux_create_tags (stream);
 
@@ -1064,49 +1066,43 @@
             GST_MTS_DESC_AC3_AUDIO_STREAM);
         if (ac3_desc && DESC_AC_AUDIO_STREAM_bsid (ac3_desc->data) != 16) {
           GST_LOG ("ac3 audio");
-          template = gst_static_pad_template_get (&audio_template);
-          name = g_strdup_printf ("audio_%04x", bstream->pid);
+          is_audio = TRUE;
           caps = gst_caps_new_empty_simple ("audio/x-ac3");
         } else {
-          template = gst_static_pad_template_get (&audio_template);
-          name = g_strdup_printf ("audio_%04x", bstream->pid);
+          is_audio = TRUE;
           caps = gst_caps_new_empty_simple ("audio/x-eac3");
         }
         break;
       }
       case ST_BD_AUDIO_EAC3:
       case ST_BD_AUDIO_AC3_PLUS:
-        template = gst_static_pad_template_get (&audio_template);
-        name = g_strdup_printf ("audio_%04x", bstream->pid);
+        is_audio = TRUE;
         caps = gst_caps_new_empty_simple ("audio/x-eac3");
         break;
       case ST_BD_AUDIO_AC3_TRUE_HD:
-        template = gst_static_pad_template_get (&audio_template);
-        name = g_strdup_printf ("audio_%04x", bstream->pid);
+        is_audio = TRUE;
         caps = gst_caps_new_empty_simple ("audio/x-true-hd");
         stream->target_pes_substream = 0x72;
         break;
       case ST_BD_AUDIO_LPCM:
-        template = gst_static_pad_template_get (&audio_template);
-        name = g_strdup_printf ("audio_%04x", bstream->pid);
+        is_audio = TRUE;
         caps = gst_caps_new_empty_simple ("audio/x-private-ts-lpcm");
         break;
       case ST_BD_PGS_SUBPICTURE:
-        template = gst_static_pad_template_get (&subpicture_template);
-        name = g_strdup_printf ("subpicture_%04x", bstream->pid);
+        is_subpicture = TRUE;
         caps = gst_caps_new_empty_simple ("subpicture/x-pgs");
         sparse = TRUE;
         break;
       case ST_BD_AUDIO_DTS_HD:
       case ST_BD_AUDIO_DTS_HD_MASTER_AUDIO:
-        template = gst_static_pad_template_get (&audio_template);
-        name = g_strdup_printf ("audio_%04x", bstream->pid);
+        is_audio = TRUE;
         caps = gst_caps_new_empty_simple ("audio/x-dts");
         stream->target_pes_substream = 0x71;
         break;
     }
   }
-  if (template && name && caps)
+
+  if (caps)
     goto done;
 
   /* Handle non-BluRay stream types */
@@ -1121,8 +1117,7 @@
        * * profile_and_level
        */
       GST_LOG ("mpeg video");
-      template = gst_static_pad_template_get (&video_template);
-      name = g_strdup_printf ("video_%04x", bstream->pid);
+      is_video = TRUE;
       caps = gst_caps_new_simple ("video/mpeg",
           "mpegversion", G_TYPE_INT,
           bstream->stream_type == GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1 ? 1 : 2,
@@ -1132,8 +1127,7 @@
     case GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1:
     case GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2:
       GST_LOG ("mpeg audio");
-      template = gst_static_pad_template_get (&audio_template);
-      name = g_strdup_printf ("audio_%04x", bstream->pid);
+      is_audio = TRUE;
       caps =
           gst_caps_new_simple ("audio/mpeg", "mpegversion", G_TYPE_INT, 1,
           NULL);
@@ -1149,8 +1143,7 @@
       desc = mpegts_get_descriptor_from_stream (bstream, GST_MTS_DESC_DVB_AC3);
       if (desc) {
         GST_LOG ("ac3 audio");
-        template = gst_static_pad_template_get (&audio_template);
-        name = g_strdup_printf ("audio_%04x", bstream->pid);
+        is_audio = TRUE;
         caps = gst_caps_new_empty_simple ("audio/x-ac3");
         break;
       }
@@ -1160,8 +1153,7 @@
           GST_MTS_DESC_DVB_ENHANCED_AC3);
       if (desc) {
         GST_LOG ("ac3 audio");
-        template = gst_static_pad_template_get (&audio_template);
-        name = g_strdup_printf ("audio_%04x", bstream->pid);
+        is_audio = TRUE;
         caps = gst_caps_new_empty_simple ("audio/x-eac3");
         break;
       }
@@ -1170,8 +1162,7 @@
           GST_MTS_DESC_DVB_TELETEXT);
       if (desc) {
         GST_LOG ("teletext");
-        template = gst_static_pad_template_get (&private_template);
-        name = g_strdup_printf ("private_%04x", bstream->pid);
+        is_private = TRUE;
         caps = gst_caps_new_empty_simple ("application/x-teletext");
         sparse = TRUE;
         break;
@@ -1181,8 +1172,7 @@
           GST_MTS_DESC_DVB_SUBTITLING);
       if (desc) {
         GST_LOG ("subtitling");
-        template = gst_static_pad_template_get (&private_template);
-        name = g_strdup_printf ("private_%04x", bstream->pid);
+        is_private = TRUE;
         caps = gst_caps_new_empty_simple ("subpicture/x-dvb");
         sparse = TRUE;
         break;
@@ -1193,18 +1183,15 @@
         case DRF_ID_DTS2:
         case DRF_ID_DTS3:
           /* SMPTE registered DTS */
-          template = gst_static_pad_template_get (&private_template);
-          name = g_strdup_printf ("private_%04x", bstream->pid);
+          is_private = TRUE;
           caps = gst_caps_new_empty_simple ("audio/x-dts");
           break;
         case DRF_ID_S302M:
-          template = gst_static_pad_template_get (&audio_template);
-          name = g_strdup_printf ("audio_%04x", bstream->pid);
+          is_audio = TRUE;
           caps = gst_caps_new_empty_simple ("audio/x-smpte-302m");
           break;
         case DRF_ID_HEVC:
-          template = gst_static_pad_template_get (&video_template);
-          name = g_strdup_printf ("video_%04x", bstream->pid);
+          is_video = TRUE;
           caps = gst_caps_new_simple ("video/x-h265",
               "stream-format", G_TYPE_STRING, "byte-stream",
               "alignment", G_TYPE_STRING, "nal", NULL);
@@ -1215,8 +1202,7 @@
 
       /* hack for itv hd (sid 10510, video pid 3401 */
       if (program->program_number == 10510 && bstream->pid == 3401) {
-        template = gst_static_pad_template_get (&video_template);
-        name = g_strdup_printf ("video_%04x", bstream->pid);
+        is_video = TRUE;
         caps = gst_caps_new_simple ("video/x-h264",
             "stream-format", G_TYPE_STRING, "byte-stream",
             "alignment", G_TYPE_STRING, "nal", NULL);
@@ -1237,36 +1223,31 @@
       /* caps = gst_caps_new_simple ("hdv/aux-a", NULL); */
       break;
     case GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS:
-      template = gst_static_pad_template_get (&audio_template);
-      name = g_strdup_printf ("audio_%04x", bstream->pid);
+      is_audio = TRUE;
       caps = gst_caps_new_simple ("audio/mpeg",
           "mpegversion", G_TYPE_INT, 2,
           "stream-format", G_TYPE_STRING, "adts", NULL);
       break;
     case GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM:
-      template = gst_static_pad_template_get (&audio_template);
-      name = g_strdup_printf ("audio_%04x", bstream->pid);
+      is_audio = TRUE;
       caps = gst_caps_new_simple ("audio/mpeg",
           "mpegversion", G_TYPE_INT, 4,
           "stream-format", G_TYPE_STRING, "loas", NULL);
       break;
     case GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4:
-      template = gst_static_pad_template_get (&video_template);
-      name = g_strdup_printf ("video_%04x", bstream->pid);
+      is_video = TRUE;
       caps = gst_caps_new_simple ("video/mpeg",
           "mpegversion", G_TYPE_INT, 4,
           "systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
       break;
     case GST_MPEGTS_STREAM_TYPE_VIDEO_H264:
-      template = gst_static_pad_template_get (&video_template);
-      name = g_strdup_printf ("video_%04x", bstream->pid);
+      is_video = TRUE;
       caps = gst_caps_new_simple ("video/x-h264",
           "stream-format", G_TYPE_STRING, "byte-stream",
           "alignment", G_TYPE_STRING, "nal", NULL);
       break;
     case GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC:
-      template = gst_static_pad_template_get (&video_template);
-      name = g_strdup_printf ("video_%04x", bstream->pid);
+      is_video = TRUE;
       caps = gst_caps_new_simple ("video/x-h265",
           "stream-format", G_TYPE_STRING, "byte-stream",
           "alignment", G_TYPE_STRING, "nal", NULL);
@@ -1275,8 +1256,7 @@
       if (bstream->registration_id == 0x64726163) {
         GST_LOG ("dirac");
         /* dirac in hex */
-        template = gst_static_pad_template_get (&video_template);
-        name = g_strdup_printf ("video_%04x", bstream->pid);
+        is_video = TRUE;
         caps = gst_caps_new_empty_simple ("video/x-dirac");
       }
       break;
@@ -1294,8 +1274,7 @@
             "for VC1. Assuming plain VC1.");
       }
 
-      template = gst_static_pad_template_get (&video_template);
-      name = g_strdup_printf ("video_%04x", bstream->pid);
+      is_video = TRUE;
       caps = gst_caps_new_simple ("video/x-wmv",
           "wmvversion", G_TYPE_INT, 3, "format", G_TYPE_STRING, "WVC1", NULL);
 
@@ -1307,8 +1286,7 @@
           mpegts_get_descriptor_from_stream (bstream,
           GST_MTS_DESC_DVB_ENHANCED_AC3);
       if (desc) {
-        template = gst_static_pad_template_get (&audio_template);
-        name = g_strdup_printf ("audio_%04x", bstream->pid);
+        is_audio = TRUE;
         caps = gst_caps_new_empty_simple ("audio/x-eac3");
         break;
       }
@@ -1320,8 +1298,7 @@
       if (bstream->registration_id == DRF_ID_AC3 ||
           program->registration_id == DRF_ID_GA94 ||
           mpegts_get_descriptor_from_stream (bstream, GST_MTS_DESC_DVB_AC3)) {
-        template = gst_static_pad_template_get (&audio_template);
-        name = g_strdup_printf ("audio_%04x", bstream->pid);
+        is_audio = TRUE;
         caps = gst_caps_new_empty_simple ("audio/x-ac3");
         break;
       }
@@ -1329,26 +1306,28 @@
       GST_WARNING ("AC3 stream type found but no guaranteed "
           "way found to differentiate between AC3 and EAC3. "
           "Assuming plain AC3.");
-      template = gst_static_pad_template_get (&audio_template);
-      name = g_strdup_printf ("audio_%04x", bstream->pid);
+      is_audio = TRUE;
       caps = gst_caps_new_empty_simple ("audio/x-ac3");
       break;
     case ST_PS_AUDIO_DTS:
-      template = gst_static_pad_template_get (&audio_template);
-      name = g_strdup_printf ("audio_%04x", bstream->pid);
+      is_audio = TRUE;
       caps = gst_caps_new_empty_simple ("audio/x-dts");
       break;
     case ST_PS_AUDIO_LPCM:
-      template = gst_static_pad_template_get (&audio_template);
-      name = g_strdup_printf ("audio_%04x", bstream->pid);
+      is_audio = TRUE;
       caps = gst_caps_new_empty_simple ("audio/x-lpcm");
       break;
     case ST_PS_DVD_SUBPICTURE:
-      template = gst_static_pad_template_get (&subpicture_template);
-      name = g_strdup_printf ("subpicture_%04x", bstream->pid);
+      is_subpicture = TRUE;
       caps = gst_caps_new_empty_simple ("subpicture/x-dvd");
       sparse = TRUE;
       break;
+    case 0x42:
+      /* hack for Chinese AVS video stream which use 0x42 as stream_id
+       * NOTE: this is unofficial and within the ISO reserved range. */
+      is_video = TRUE;
+      caps = gst_caps_new_empty_simple ("video/x-cavs");
+      break;
     default:
       GST_WARNING ("Non-media stream (stream_type:0x%x). Not creating pad",
           bstream->stream_type);
@@ -1356,6 +1335,24 @@
   }
 
 done:
+  if (caps) {
+    if (is_audio) {
+      template = gst_static_pad_template_get (&audio_template);
+      name = g_strdup_printf ("audio_%04x", bstream->pid);
+    } else if (is_video) {
+      template = gst_static_pad_template_get (&video_template);
+      name = g_strdup_printf ("video_%04x", bstream->pid);
+    } else if (is_private) {
+      template = gst_static_pad_template_get (&private_template);
+      name = g_strdup_printf ("private_%04x", bstream->pid);
+    } else if (is_subpicture) {
+      template = gst_static_pad_template_get (&subpicture_template);
+      name = g_strdup_printf ("subpicture_%04x", bstream->pid);
+    } else
+      g_assert_not_reached ();
+
+  }
+
   if (template && name && caps) {
     GstEvent *event;
     gchar *stream_id;
@@ -1998,7 +1995,8 @@
       demux->segment = base->segment;
     } else {
       /* Start from the first ts/pts */
-      GstClockTime base = demux->segment.position - demux->segment.start;
+      GstClockTime base =
+          demux->segment.base + demux->segment.position - demux->segment.start;
       gst_segment_init (&demux->segment, GST_FORMAT_TIME);
       demux->segment.start = firstts;
       demux->segment.stop = GST_CLOCK_TIME_NONE;
@@ -2244,9 +2242,9 @@
   stream->discont = FALSE;
 
   if (GST_CLOCK_TIME_IS_VALID (GST_BUFFER_DTS (buffer)))
-    demux->segment.position = GST_BUFFER_DTS (buffer) - stream->first_dts;
+    demux->segment.position = GST_BUFFER_DTS (buffer);
   else if (GST_CLOCK_TIME_IS_VALID (GST_BUFFER_PTS (buffer)))
-    demux->segment.position = GST_BUFFER_PTS (buffer) - stream->first_dts;
+    demux->segment.position = GST_BUFFER_PTS (buffer);
 
   res = gst_pad_push (stream->pad, buffer);
   /* Record that a buffer was pushed */
diff --git a/gst/mpegtsmux/mpegtsmux.c b/gst/mpegtsmux/mpegtsmux.c
index 8da8b08..7c65cb4 100644
--- a/gst/mpegtsmux/mpegtsmux.c
+++ b/gst/mpegtsmux/mpegtsmux.c
@@ -887,7 +887,7 @@
 static gboolean
 mpegtsmux_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
 {
-  MpegTsMux *mux = GST_MPEG_TSMUX (gst_pad_get_parent (pad));
+  MpegTsMux *mux = GST_MPEG_TSMUX (parent);
   gboolean res = TRUE, forward = TRUE;
 
   switch (GST_EVENT_TYPE (event)) {
@@ -898,7 +898,7 @@
       GstPad *sinkpad;
       GValue sinkpad_value = G_VALUE_INIT;
       GstClockTime running_time;
-      gboolean all_headers, done;
+      gboolean all_headers, done, res = FALSE;
       guint count;
 
       if (!gst_video_event_is_force_key_unit (event))
@@ -923,7 +923,8 @@
       iter = gst_element_iterate_sink_pads (GST_ELEMENT_CAST (mux));
       done = FALSE;
       while (!done) {
-        gboolean res = FALSE, tmp;
+        gboolean tmp;
+
         iter_ret = gst_iterator_next (iter, &sinkpad_value);
         sinkpad = g_value_get_object (&sinkpad_value);
 
@@ -959,7 +960,6 @@
   else
     gst_event_unref (event);
 
-  gst_object_unref (mux);
   return res;
 }
 
@@ -1064,7 +1064,7 @@
         GST_WARNING_OBJECT (cdata->pad, "ignoring DTS going backward");
         time = pad_data->min_dts;
       }
-      buf = *outbuf = gst_buffer_make_writable (buf);
+      *outbuf = gst_buffer_make_writable (buf);
       GST_BUFFER_DTS (*outbuf) = time;
     }
   }
@@ -1091,7 +1091,7 @@
   TsMuxProgram *prog;
   gint64 pts = -1;
   guint64 dts = -1;
-  gboolean delta = TRUE;
+  gboolean delta = TRUE, header = FALSE;
   StreamData *stream_data;
 
   GST_DEBUG_OBJECT (mux, "Pads collected");
@@ -1190,6 +1190,7 @@
 
   if (best->stream->is_video_stream) {
     delta = GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT);
+    header = GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_HEADER);
 #if 0
     GST_OBJECT_LOCK (mux);
     if (mux->element_index && !delta && best->element_index_writer_id != -1) {
@@ -1216,6 +1217,7 @@
   }
 
   mux->is_delta = delta;
+  mux->is_header = header;
   while (tsmux_stream_bytes_in_buffer (best->stream) > 0) {
     if (!tsmux_write_stream_packet (mux->tsmux, best->stream)) {
       /* Failed writing data for some reason. Set appropriate error */
@@ -1345,6 +1347,10 @@
   }
 
   if (buf) {
+    if (mux->is_header) {
+      GST_LOG_OBJECT (mux, "marking as header buffer");
+      GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_HEADER);
+    }
     if (mux->is_delta) {
       GST_LOG_OBJECT (mux, "marking as delta unit");
       GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT);
diff --git a/gst/mpegtsmux/mpegtsmux.h b/gst/mpegtsmux/mpegtsmux.h
index f47707f..eb8f935 100644
--- a/gst/mpegtsmux/mpegtsmux.h
+++ b/gst/mpegtsmux/mpegtsmux.h
@@ -152,6 +152,7 @@
   GList *streamheader;
   gboolean streamheader_sent;
   gboolean is_delta;
+  gboolean is_header;
   GstClockTime last_ts;
 
   /* m2ts specific */
diff --git a/gst/videoparsers/gsth264parse.c b/gst/videoparsers/gsth264parse.c
index 969342e..76f7686 100644
--- a/gst/videoparsers/gsth264parse.c
+++ b/gst/videoparsers/gsth264parse.c
@@ -655,6 +655,7 @@
       if (!GST_H264_PARSE_STATE_VALID (h264parse, GST_H264_PARSE_STATE_GOT_SPS))
         return FALSE;
 
+      h264parse->header |= TRUE;
       gst_h264_parse_process_sei (h264parse, nalu);
       /* mark SEI pos */
       if (h264parse->sei_pos == -1) {
diff --git a/gst/videoparsers/gstvc1parse.c b/gst/videoparsers/gstvc1parse.c
index 7c2608b..7583c77 100644
--- a/gst/videoparsers/gstvc1parse.c
+++ b/gst/videoparsers/gstvc1parse.c
@@ -1309,8 +1309,6 @@
       /* frame-layer */
       gst_base_parse_set_min_frame_size (GST_BASE_PARSE (vc1parse), 8);
     }
-
-    ret = GST_FLOW_OK;
   } else if (vc1parse->input_stream_format == VC1_STREAM_FORMAT_BDU ||
       vc1parse->input_stream_format == VC1_STREAM_FORMAT_BDU_FRAME ||
       (vc1parse->seq_layer_buffer
@@ -1346,8 +1344,6 @@
       ret = GST_FLOW_ERROR;
       goto done;
     }
-
-    ret = GST_FLOW_OK;
   } else if (vc1parse->input_stream_format == VC1_STREAM_FORMAT_ASF ||
       (vc1parse->seq_layer_buffer
           && vc1parse->input_stream_format ==
@@ -1418,7 +1414,6 @@
       else
         GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DELTA_UNIT);
     }
-    ret = GST_FLOW_OK;
   } else {
     GstVC1ParserResult pres;
     GstVC1FrameLayer flayer;
@@ -1493,8 +1488,6 @@
         goto done;
       }
     }
-
-    ret = GST_FLOW_OK;
   }
 
   /* Need sequence header or sequence layer here, above code
@@ -1516,7 +1509,6 @@
         || vc1parse->input_stream_format ==
         VC1_STREAM_FORMAT_SEQUENCE_LAYER_BDU_FRAME) {
       frame->flags |= GST_BASE_PARSE_FRAME_FLAG_QUEUE;
-      ret = GST_FLOW_OK;
     } else {
       GST_ERROR_OBJECT (vc1parse, "Need entrypoint for the advanced profile");
       ret = GST_FLOW_ERROR;
diff --git a/gst/videosignal/gstsimplevideomark.c b/gst/videosignal/gstsimplevideomark.c
index d62af9b..9d57b52 100644
--- a/gst/videosignal/gstsimplevideomark.c
+++ b/gst/videosignal/gstsimplevideomark.c
@@ -331,14 +331,26 @@
   }
 }
 
+static gint
+calculate_pw (gint pw, gint x, gint width)
+{
+  if (x < 0)
+    pw += x;
+  else if ((x + pw) > width)
+    pw = width - x;
+
+  return pw;
+}
+
 static GstFlowReturn
 gst_video_mark_yuv (GstSimpleVideoMark * simplevideomark, GstVideoFrame * frame)
 {
   gint i, pw, ph, row_stride, pixel_stride;
-  gint width, height, req_width, req_height;
+  gint width, height, offset_calc, x, y;
   guint8 *d;
   guint64 pattern_shift;
   guint8 color;
+  gint total_pattern;
 
   width = frame->info.width;
   height = frame->info.height;
@@ -348,36 +360,66 @@
   row_stride = GST_VIDEO_FRAME_COMP_STRIDE (frame, 0);
   pixel_stride = GST_VIDEO_FRAME_COMP_PSTRIDE (frame, 0);
 
-  req_width =
-      (simplevideomark->pattern_count +
-      simplevideomark->pattern_data_count) * pw + simplevideomark->left_offset;
-  req_height = simplevideomark->bottom_offset + ph;
-  if (req_width > width || req_height > height) {
-    GST_ELEMENT_ERROR (simplevideomark, STREAM, WRONG_TYPE, (NULL),
-        ("simplevideomark pattern doesn't fit video, need at least %ix%i (stream has %ix%i)",
-            req_width, req_height, width, height));
-    return GST_FLOW_ERROR;
+  d = GST_VIDEO_FRAME_COMP_DATA (frame, 0);
+  offset_calc =
+      row_stride * (height - ph - simplevideomark->bottom_offset) +
+      pixel_stride * simplevideomark->left_offset;
+  x = simplevideomark->left_offset;
+  y = height - ph - simplevideomark->bottom_offset;
+
+  total_pattern =
+      simplevideomark->pattern_count + simplevideomark->pattern_data_count;
+  /* If x and y offset values are outside the video, no need to draw */
+  if ((x + (pw * total_pattern)) < 0 || x > width || (y + height) < 0
+      || y > height) {
+    GST_ERROR_OBJECT (simplevideomark,
+        "simplevideomark pattern is outside the video. Not drawing.");
+    return GST_FLOW_OK;
   }
 
-  d = GST_VIDEO_FRAME_COMP_DATA (frame, 0);
+  /* Offset calculation less than 0, then reset to 0 */
+  if (offset_calc < 0)
+    offset_calc = 0;
+  /* Y position of mark is negative or pattern exceeds the video height,
+     then recalculate pattern height for partial display */
+  if (y < 0)
+    ph += y;
+  else if ((y + ph) > height)
+    ph = height - y;
+  /* If pattern height is less than 0, need not draw anything */
+  if (ph < 0)
+    return GST_FLOW_OK;
+
   /* move to start of bottom left */
-  d += row_stride * (height - ph - simplevideomark->bottom_offset) +
-      pixel_stride * simplevideomark->left_offset;
+  d += offset_calc;
 
   /* draw the bottom left pixels */
   for (i = 0; i < simplevideomark->pattern_count; i++) {
+    gint draw_pw;
+
     if (i & 1)
       /* odd pixels must be white */
       color = 255;
     else
       color = 0;
 
+    /* X position of mark is negative or pattern exceeds the video width,
+       then recalculate pattern width for partial display */
+    draw_pw = calculate_pw (pw, x, width);
+    /* If pattern width is less than 0, continue with the next pattern */
+    if (draw_pw < 0)
+      continue;
+
     /* draw box of width * height */
-    gst_video_mark_draw_box (simplevideomark, d, pw, ph, row_stride,
+    gst_video_mark_draw_box (simplevideomark, d, draw_pw, ph, row_stride,
         pixel_stride, color);
 
     /* move to i-th pattern */
-    d += pixel_stride * pw;
+    d += pixel_stride * draw_pw;
+    x += draw_pw;
+
+    if ((x + (pw * (total_pattern - i - 1))) < 0 || x >= width)
+      return GST_FLOW_OK;
   }
 
   pattern_shift =
@@ -385,18 +427,31 @@
 
   /* get the data of the pattern */
   for (i = 0; i < simplevideomark->pattern_data_count; i++) {
+    gint draw_pw;
     if (simplevideomark->pattern_data & pattern_shift)
       color = 255;
     else
       color = 0;
 
-    gst_video_mark_draw_box (simplevideomark, d, pw, ph, row_stride,
+    /* X position of mark is negative or pattern exceeds the video width,
+       then recalculate pattern width for partial display */
+    draw_pw = calculate_pw (pw, x, width);
+    /* If pattern width is less than 0, continue with the next pattern */
+    if (draw_pw < 0)
+      continue;
+
+    gst_video_mark_draw_box (simplevideomark, d, draw_pw, ph, row_stride,
         pixel_stride, color);
 
     pattern_shift >>= 1;
 
     /* move to i-th pattern data */
-    d += pixel_stride * pw;
+    d += pixel_stride * draw_pw;
+    x += draw_pw;
+
+    if ((x + (pw * (simplevideomark->pattern_data_count - i - 1))) < 0
+        || x >= width)
+      return GST_FLOW_OK;
   }
 
   return GST_FLOW_OK;
diff --git a/gst/videosignal/gstsimplevideomarkdetect.c b/gst/videosignal/gstsimplevideomarkdetect.c
index c04d90b..d5f093f 100644
--- a/gst/videosignal/gstsimplevideomarkdetect.c
+++ b/gst/videosignal/gstsimplevideomarkdetect.c
@@ -436,15 +436,27 @@
   return sum / (255.0 * width * height);
 }
 
+static gint
+calculate_pw (gint pw, gint x, gint width)
+{
+  if (x < 0)
+    pw += x;
+  else if ((x + pw) > width)
+    pw = width - x;
+
+  return pw;
+}
+
 static void
 gst_video_detect_yuv (GstSimpleVideoMarkDetect * simplevideomarkdetect,
     GstVideoFrame * frame)
 {
   gdouble brightness;
   gint i, pw, ph, row_stride, pixel_stride;
-  gint width, height, req_width, req_height;
+  gint width, height, offset_calc, x, y;
   guint8 *d;
   guint64 pattern_data;
+  gint total_pattern;
 
   width = frame->info.width;
   height = frame->info.height;
@@ -454,22 +466,44 @@
   row_stride = GST_VIDEO_FRAME_COMP_STRIDE (frame, 0);
   pixel_stride = GST_VIDEO_FRAME_COMP_PSTRIDE (frame, 0);
 
-  req_width =
-      (simplevideomarkdetect->pattern_count +
-      simplevideomarkdetect->pattern_data_count) * pw +
-      simplevideomarkdetect->left_offset;
-  req_height = simplevideomarkdetect->bottom_offset + ph;
-  if (req_width > width || req_height > height) {
-    goto no_pattern;
-  }
-
   d = GST_VIDEO_FRAME_COMP_DATA (frame, 0);
   /* move to start of bottom left, adjust for offsets */
-  d += row_stride * (height - ph - simplevideomarkdetect->bottom_offset) +
+  offset_calc =
+      row_stride * (height - ph - simplevideomarkdetect->bottom_offset) +
       pixel_stride * simplevideomarkdetect->left_offset;
+  x = simplevideomarkdetect->left_offset;
+  y = height - ph - simplevideomarkdetect->bottom_offset;
 
-  /* analyse the bottom left pixels */
+  total_pattern =
+      simplevideomarkdetect->pattern_count +
+      simplevideomarkdetect->pattern_data_count;
+  /* If x and y offset values are outside the video, no need to analyze */
+  if ((x + (pw * total_pattern)) < 0 || x > width || (y + height) < 0
+      || y > height) {
+    GST_ERROR_OBJECT (simplevideomarkdetect,
+        "simplevideomarkdetect pattern is outside the video. Not Analyzing.");
+    return;
+  }
+
+  /* Offset calculation less than 0, then reset to 0 */
+  if (offset_calc < 0)
+    offset_calc = 0;
+  /* Y position of mark is negative or pattern exceeds the video height,
+     then recalculate pattern height for partial display */
+  if (y < 0)
+    ph += y;
+  else if ((y + ph) > height)
+    ph = height - y;
+  /* If pattern height is less than 0, need not analyze anything */
+  if (ph < 0)
+    return;
+
+  /* move to start of bottom left */
+  d += offset_calc;
+
+  /* analyze the bottom left pixels */
   for (i = 0; i < simplevideomarkdetect->pattern_count; i++) {
+    gint draw_pw;
     /* calc brightness of width * height box */
     brightness =
         gst_video_detect_calc_brightness (simplevideomarkdetect, d, pw, ph,
@@ -493,8 +527,19 @@
         goto no_pattern;
     }
 
+    /* X position of mark is negative or pattern exceeds the video width,
+       then recalculate pattern width for partial display */
+    draw_pw = calculate_pw (pw, x, width);
+    /* If pattern width is less than 0, continue with the next pattern */
+    if (draw_pw < 0)
+      continue;
+
     /* move to i-th pattern */
-    d += pixel_stride * pw;
+    d += pixel_stride * draw_pw;
+    x += draw_pw;
+
+    if ((x + (pw * (total_pattern - i - 1))) < 0 || x >= width)
+      break;
   }
   GST_DEBUG_OBJECT (simplevideomarkdetect, "found pattern");
 
@@ -502,6 +547,7 @@
 
   /* get the data of the pattern */
   for (i = 0; i < simplevideomarkdetect->pattern_data_count; i++) {
+    gint draw_pw;
     /* calc brightness of width * height box */
     brightness =
         gst_video_detect_calc_brightness (simplevideomarkdetect, d, pw, ph,
@@ -510,8 +556,21 @@
     pattern_data <<= 1;
     if (brightness > simplevideomarkdetect->pattern_center)
       pattern_data |= 1;
+
+    /* X position of mark is negative or pattern exceeds the video width,
+       then recalculate pattern width for partial display */
+    draw_pw = calculate_pw (pw, x, width);
+    /* If pattern width is less than 0, continue with the next pattern */
+    if (draw_pw < 0)
+      continue;
+
     /* move to i-th pattern data */
-    d += pixel_stride * pw;
+    d += pixel_stride * draw_pw;
+    x += draw_pw;
+
+    if ((x + (pw * (simplevideomarkdetect->pattern_data_count - i - 1))) < 0
+        || x >= width)
+      break;
   }
 
   GST_DEBUG_OBJECT (simplevideomarkdetect, "have data %" G_GUINT64_FORMAT,
diff --git a/po/af.gmo b/po/af.gmo
index 9e7a0f6..c8057db 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index b2f373c..98bab9d 100644
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins 0.7.6\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
 "PO-Revision-Date: 2004-03-18 14:16+0200\n"
 "Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
 "Language-Team: Afrikaans <i18n@af.org.za>\n"
diff --git a/po/az.gmo b/po/az.gmo
index 58f4729..c31bada 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 7d8921b..3fa23c9 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-0.8.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
 "PO-Revision-Date: 2004-03-19 18:29+0200\n"
 "Last-Translator: Metin Amiroff <metin@karegen.com>\n"
 "Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
diff --git a/po/bg.gmo b/po/bg.gmo
index e57e7db..28ca6a2 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 81aa7b3..5ad217f 100644
--- a/po/bg.po
+++ b/po/bg.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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
 "PO-Revision-Date: 2011-04-26 22:30+0300\n"
 "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
diff --git a/po/ca.gmo b/po/ca.gmo
index 02e728b..2a43254 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 383241b..3f5174b 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
 "PO-Revision-Date: 2012-01-01 14:19+0100\n"
 "Last-Translator: Gil Forcada <gforcada@gnome.org>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
diff --git a/po/cs.gmo b/po/cs.gmo
index 9c6eb03..d65267d 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index d2c1cf8..eca1338 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -5,14 +5,14 @@
 #
 # Miloslav Trmac <mitr@volny.cz>, 2004.
 # Petr Kovar <pknbe@volny.cz>, 2007, 2008, 2009.
-# Marek Černocký <marek@manet.cz>, 2013.
+# Marek Černocký <marek@manet.cz>, 2013, 2015.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad 1.1.4\n"
+"Project-Id-Version: gst-plugins-bad 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2013-09-18 10:05+0200\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2015-02-17 10:20+0100\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
 "Language: cs\n"
@@ -23,83 +23,98 @@
 "X-Generator: Gtranslator 2.91.6\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "formát nebyl vyjednán před získáním funkce"
 
 msgid "default GStreamer sound events audiosink"
-msgstr ""
+msgstr "výchozí zvukový cíl GStreamer pro zvukové události"
 
+#, fuzzy
 msgid ""
 "GStreamer can play audio using any number of output elements. Some possible "
 "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer umí přehrávat zvuk pomocí mnoha výstupních prvků. Možné volby jsou "
+"osssink, pulsesink a alsasink. Zvukovým cílem může být namísto jednoho "
+"elementu i částečná roura."
 
 msgid "description for default GStreamer sound events audiosink"
-msgstr ""
+msgstr "popis výchozího zvukového cíle pro zvukové události GStreamer"
 
 msgid "Describes the selected audiosink element."
-msgstr ""
+msgstr "Popisuje vybraný element sloužící jako cíl pro zvuk."
 
 msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "výchozí zvukový cíl GStreamer pro hlasové konference a videokonference"
 
 msgid ""
 "description for default GStreamer audiosink for Audio/Video Conferencing"
 msgstr ""
+"popis výchozího zvukového cíle GStreamer pro hlasové konference a "
+"videokonference"
 
 msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "výchozí zvukový cíl GStreamer pro hudbu a filmy"
 
 msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "popis výchozího zvukového cíle GStreamer pro hudbu a filmy"
 
 msgid "default GStreamer videosink"
-msgstr ""
+msgstr "výchozí cíl videa GStreamer"
 
 msgid ""
 "GStreamer can play video using any number of output elements. Some possible "
 "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 "can be a partial pipeline instead of just one element."
 msgstr ""
+"GStreamer umí přehrávat video pomocí mnoha výstupních prvků. Možné volby "
+"jsou xvimagesink, ximagesink, sdlvideosink a aasink. Cílem videa může být "
+"namísto právě jednoho elementu i částečná roura."
 
 msgid "description for default GStreamer videosink"
-msgstr ""
+msgstr "popis výchozího cíle videa GStreamer"
 
 msgid "Describes the selected videosink element."
-msgstr ""
+msgstr "Popisuje vybraný element sloužící jako cíl pro video."
 
 msgid "default GStreamer audiosrc"
-msgstr ""
+msgstr "výchozí zdroj zvuku GStreamer"
 
 msgid ""
 "GStreamer can record audio using any number of input elements. Some possible "
 "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer umí nahrávat zvuk pomocí mnoha vstupních prvků. Možné volby jsou "
+"osssrc, pulsesrc a alsasrc. Zvukovým zdrojem může být namísto právě jednoho "
+"elementu i částečná roura."
 
 msgid "description for default GStreamer audiosrc"
-msgstr ""
+msgstr "popis pro výchozí zdroj zvuku GStreamer"
 
 msgid "Describes the selected audiosrc element."
-msgstr ""
+msgstr "Popisuje vybraný element sloužící jako zdroj zvuku."
 
 msgid "default GStreamer videosrc"
-msgstr ""
+msgstr "výchozí zdroj videa GStreamer"
 
 msgid ""
 "GStreamer can record video from any number of input elements. Some possible "
 "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 "partial pipeline instead of just one element."
 msgstr ""
+"GStreamer umí nahrávat video pomocí mnoha vstupních prvků. Možné volby jsou "
+"v4lsrc, v4l2src a videotestsrc. Zdrojem videa může být namísto právě jednoho "
+"elementu i částečná roura."
 
 msgid "description for default GStreamer videosrc"
-msgstr ""
+msgstr "popis pro výchozí zdroj videa GStreamer"
 
 msgid "Describes the selected videosrc element."
-msgstr ""
+msgstr "Popisuje vybraný element sloužící jako zdroj videa."
 
 msgid "default GStreamer visualization"
-msgstr ""
+msgstr "výchozí vizualizace GStreamer"
 
 msgid ""
 "GStreamer can put visualization plugins in a pipeline to transform audio "
@@ -107,12 +122,16 @@
 "synaesthesia. The visualization plugin can be a partial pipeline instead of "
 "just one element."
 msgstr ""
+"GStreamer umí do roury vložit vizualizační zásuvný modul, aby prováděl změny "
+"zvukových proudů ve snímcích videa. Možné volby jsou goom, goom2k1 a "
+"synaesthesia. Vizualizačním zásuvným modulem může být namísto právě jednoho "
+"elementu i částečná roura."
 
 msgid "description for default GStreamer visualization"
-msgstr ""
+msgstr "popis pro výchozí vizualizaci GStreamer"
 
 msgid "Describes the selected visualization element."
-msgstr ""
+msgstr "Popisuje vybraný vizualizační element."
 
 msgid "OpenCV failed to load template image"
 msgstr ""
@@ -140,9 +159,8 @@
 msgid "This file contains no playable streams."
 msgstr "Tento soubor neobsahuje žádný proud, který by šel přehrát."
 
-#, fuzzy
 msgid "Could not open sndfile stream for reading."
-msgstr "Nezdařilo se otevření souboru „%s“ ke čtení."
+msgstr "Nezdařilo se otevření proudu zvukového souboru ke čtení."
 
 msgid "Could not establish connection to sndio"
 msgstr "Nelze ustanovit spojení se sndio"
@@ -212,9 +230,10 @@
 msgid "Could not get settings from frontend device \"%s\"."
 msgstr "Ze zařízení rozhraní „%s“ se nezdařilo získat nastavení."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
-msgstr "Ze zařízení rozhraní „%s“ se nezdařilo získat nastavení."
+msgstr ""
+"Ze zařízení rozhraní „%s“ se nezdařilo vytvořit seznam doručovacích systémů."
 
 #, c-format
 msgid "Could not open file \"%s\" for reading."
diff --git a/po/da.gmo b/po/da.gmo
index dd72ec5..8f46647 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 4745c59..90efad3 100644
--- a/po/da.po
+++ b/po/da.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad-1.3.2\n"
+"Project-Id-Version: gst-plugins-bad-1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2014-05-24 11:28+0200\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2014-08-29 11:28+0200\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
 "Language: da\n"
@@ -18,83 +18,96 @@
 "Content-Transfer-Encoding: 8bit\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "format blev ikke forhandlet før hent funktion"
 
 msgid "default GStreamer sound events audiosink"
-msgstr ""
+msgstr "standardlydkanal for GStreamers lydhændelser"
 
+#, fuzzy
 msgid ""
 "GStreamer can play audio using any number of output elements. Some possible "
 "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer kan afspille lyd via et antal udgangselementer. Nogle mulige valg "
+"er osssink, pulsesink og alsasink. Lydudgangen kan være en delvis datakanal "
+"i stedet for bare et element."
 
 msgid "description for default GStreamer sound events audiosink"
-msgstr ""
+msgstr "beskrivelse af standardlydkanal for GStreamers lydhændelser"
 
 msgid "Describes the selected audiosink element."
-msgstr ""
+msgstr "Beskriver det valge lydkanalelement."
 
 msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "standardlydkanal til GStreamers lyd/video-konference"
 
 msgid ""
 "description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "beskrivelse for standardlydkanal til GStreamers lyd/video-konference"
 
 msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "standardlydkanal til GStreamers musik og film"
 
 msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "beskrivelse for standardlydkanal til GStreamers musik og film"
 
 msgid "default GStreamer videosink"
-msgstr ""
+msgstr "standardlydkanal for GStreamer"
 
 msgid ""
 "GStreamer can play video using any number of output elements. Some possible "
 "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 "can be a partial pipeline instead of just one element."
 msgstr ""
+"GStreamer kan afspille video via et antal udgangselementer. Nogle mulige "
+"valg er xvimagesink, ximagesink, sdlvideosink og aasink. Videoudgangen kan "
+"være en delvis datakanal i stedet for bare et element."
 
 msgid "description for default GStreamer videosink"
-msgstr ""
+msgstr "beskrivelse for standardvideokanal for GStreamer"
 
 msgid "Describes the selected videosink element."
-msgstr ""
+msgstr "Beskriver den valgte videokanalselement."
 
 msgid "default GStreamer audiosrc"
-msgstr ""
+msgstr "standardlydoptagelse for GStreamer"
 
 msgid ""
 "GStreamer can record audio using any number of input elements. Some possible "
 "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer kan optage lyd via et antal indgangselementer. Nogle mulige valg "
+"er osssrc, pulsesrc og alsasrc. Lydkilden kan være en delvis datakanal i "
+"stedet for bare et element."
 
 msgid "description for default GStreamer audiosrc"
-msgstr ""
+msgstr "beskrivelse for standardlydoptagelsen til GStreamer"
 
 msgid "Describes the selected audiosrc element."
-msgstr ""
+msgstr "Beskriver det valgte lydoptagelseselement."
 
 msgid "default GStreamer videosrc"
-msgstr ""
+msgstr "standardvideooptager for GStreamer"
 
 msgid ""
 "GStreamer can record video from any number of input elements. Some possible "
 "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 "partial pipeline instead of just one element."
 msgstr ""
+"GStreamer kan optage video via et antal indgangselementer. Nogle mulige valg "
+"er v4lsrc, v4l2src og videotestsrc. Videokilden kan være en delvis datakanal "
+"i stedet for bare et element."
 
 msgid "description for default GStreamer videosrc"
-msgstr ""
+msgstr "beskrivelse for standardvideooptageren til GStreamer"
 
 msgid "Describes the selected videosrc element."
-msgstr ""
+msgstr "Beskriver det valgte videooptagerelement."
 
 msgid "default GStreamer visualization"
-msgstr ""
+msgstr "Standardvisualisering for GStreamer"
 
 msgid ""
 "GStreamer can put visualization plugins in a pipeline to transform audio "
@@ -102,12 +115,16 @@
 "synaesthesia. The visualization plugin can be a partial pipeline instead of "
 "just one element."
 msgstr ""
+"GStreamer kan placere visualiseringsudvidelsesmoduler i en datakanal for at "
+"transformere lydstrømme i videobilleder. Nogle mulige valg er goom, goom2k1 "
+"og synaesthesia. Visualiseringsudvidelsesmodulerne kan være en delvis "
+"datakanal i stedet for bare et element."
 
 msgid "description for default GStreamer visualization"
-msgstr ""
+msgstr "beskrivelse for standardvisualisering til GStreamer"
 
 msgid "Describes the selected visualization element."
-msgstr ""
+msgstr "Beskriver det valgte visualiseringselement."
 
 msgid "OpenCV failed to load template image"
 msgstr ""
diff --git a/po/de.gmo b/po/de.gmo
index 3ef4916..40f84fd 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 62f89f4..aff1598 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,4 +1,4 @@
-# German po for gst-plugins-bad 1.3.2
+# German po for gst-plugins-bad 1.4.1
 # Copyright (C) 2007 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gst-plugins-bad package.
 # Andre Klapper <ak-47@gmx.net>, 2008.
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad 1.3.2\n"
+"Project-Id-Version: gst-plugins-bad 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2014-05-22 18:27+0100\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2014-08-31 19:37+0100\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -20,83 +20,103 @@
 "X-Generator: Poedit 1.5.4\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "das Format wurde vor der get-Funktion nicht ausgehandelt"
 
 msgid "default GStreamer sound events audiosink"
-msgstr ""
+msgstr "Voreingestellte GStreamer Tonereignis-Audioziel"
 
+#, fuzzy
 msgid ""
 "GStreamer can play audio using any number of output elements. Some possible "
 "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer kann Ton mit einer beliebigen Anzahl an Ausgabeelementen "
+"wiedergeben. Einige Wahlmöglichkeiten sind »osssink«, »pulsesink« und "
+"»alsasink«. Das Audioziel kann eine anteilige Weiterleitung anstelle eines "
+"einzigen Elements sein."
 
 msgid "description for default GStreamer sound events audiosink"
-msgstr ""
+msgstr "Beschreibung des voreingestellten GStreamer Tonereignis-Audioziel"
 
 msgid "Describes the selected audiosink element."
-msgstr ""
+msgstr "Beschreibt das gewählte Audioziel-Element."
 
 msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "Voreingestelltes GStreamer-Audioziel für Ton- und Videokonferenzen"
 
 msgid ""
 "description for default GStreamer audiosink for Audio/Video Conferencing"
 msgstr ""
+"Beschreibung des voreingestellten GStreamer-Audioziel für Ton- und "
+"Videokonferenzen"
 
 msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "Voreingestelltes GStreamer-Audioziel für Musik und Filme"
 
 msgid "description for default GStreamer audiosink for Music and Movies"
 msgstr ""
+"Beschreibung des voreingestellten GStreamer-Audioziel für Musik und Filme"
 
 msgid "default GStreamer videosink"
-msgstr ""
+msgstr "Voreingestelltes GStreamer-Videoziel"
 
 msgid ""
 "GStreamer can play video using any number of output elements. Some possible "
 "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 "can be a partial pipeline instead of just one element."
 msgstr ""
+"GStreamer kann Video mit einer beliebigen Anzahl an Ausgabeelementen "
+"wiedergeben. Einige Wahlmöglichkeiten sind »xvimagesink«, »ximagesink«, "
+"»sdlvideosink« und »aasink«. Das Videoziel kann eine anteilige Weiterleitung "
+"anstelle eines einzigen Elements sein."
 
 msgid "description for default GStreamer videosink"
-msgstr ""
+msgstr "Beschreibung des voreingestellten GStreamer-Videoziel"
 
 msgid "Describes the selected videosink element."
-msgstr ""
+msgstr "Beschreibt das gewählte Videoziel-Element."
 
 msgid "default GStreamer audiosrc"
-msgstr ""
+msgstr "Voreingestelltes GStreamer-audiosrc"
 
 msgid ""
 "GStreamer can record audio using any number of input elements. Some possible "
 "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer kann Ton mit einer beliebigen Anzahl an Eingabeelementen "
+"aufzeichnen. Einige Wahlmöglichkeiten sind »osssrc«, »pulsesrc« und "
+"»alsasrc«. Die Audioquelle kann eine anteilige Weiterleitung anstelle eines "
+"einzigen Elements sein."
 
 msgid "description for default GStreamer audiosrc"
-msgstr ""
+msgstr "Beschreibung des voreingestellten GStreamer-audiosrc"
 
 msgid "Describes the selected audiosrc element."
-msgstr ""
+msgstr "Beschreibt das gewählte audiosrc-Element."
 
 msgid "default GStreamer videosrc"
-msgstr ""
+msgstr "Voreingestelltes GStreamer-videosrc"
 
 msgid ""
 "GStreamer can record video from any number of input elements. Some possible "
 "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 "partial pipeline instead of just one element."
 msgstr ""
+"GStreamer kann Video mit einer beliebigen Anzahl an Eingabeelementen "
+"aufzeichnen. Einige Wahlmöglichkeiten sind »v4lsrc«, »v4l2src« und "
+"»videotestsrc«. Die Videoquelle kann eine anteilige Weiterleitung anstelle "
+"eines einzigen Elements sein."
 
 msgid "description for default GStreamer videosrc"
-msgstr ""
+msgstr "Beschreibung des voreingestellten GStreamer-videosrc"
 
 msgid "Describes the selected videosrc element."
-msgstr ""
+msgstr "Beschreibt das gewählte videosrc-Element."
 
 msgid "default GStreamer visualization"
-msgstr ""
+msgstr "Voreingestellte GStreamer-Visualisierung"
 
 msgid ""
 "GStreamer can put visualization plugins in a pipeline to transform audio "
@@ -104,12 +124,16 @@
 "synaesthesia. The visualization plugin can be a partial pipeline instead of "
 "just one element."
 msgstr ""
+"GStreamer kann Visualisierungs-Plugins in eine Weiterleitung integrieren, um "
+"Audioströme in Videobilder umzuwandeln. Einige Wahlmöglichkeiten sind "
+"»goom«, »goom2k1« und »synaesthesia«. Das Visualisierungs-Plugin kann eine "
+"anteilige Weiterleitung anstelle eines einzigen Elements sein."
 
 msgid "description for default GStreamer visualization"
-msgstr ""
+msgstr "Beschreibung der voreingestellten GStreamer-Visualisierung"
 
 msgid "Describes the selected visualization element."
-msgstr ""
+msgstr "Beschreibt das gewählte Visualisierungselement."
 
 msgid "OpenCV failed to load template image"
 msgstr ""
diff --git a/po/el.gmo b/po/el.gmo
index f90ef8d..9dfa508 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 133774f..49f75cc 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 14b49fe..c245fa1 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 c593a42..782d204 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins 0.8.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
 "PO-Revision-Date: 2004-04-26 10:41-0400\n"
 "Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
 "Language-Team: English (British) <en_gb@li.org>\n"
diff --git a/po/eo.gmo b/po/eo.gmo
index ab08613..7753a2c 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 1add6e8..90fa2d9 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/es.gmo b/po/es.gmo
index 33d923e..cc7f1c2 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index b1efa34..7fbf1d7 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/eu.gmo b/po/eu.gmo
index 6ad1b5f..f0e8ba8 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 45e6fa4..f3e23fb 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/fi.gmo b/po/fi.gmo
index 06417b5..ecec3c1 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index d5a8def..41d8838 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/fr.gmo b/po/fr.gmo
index a02b1d6..f93fe2c 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 5e54619..afb8e56 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -3,14 +3,15 @@
 # This file is distributed under the same license as the gst-plugins-bad package.
 #
 # Claude Paroz <claude@2xlibre.net>, 2008-2011.
+# Stéphane Aulery <lkppo@free.fr>, 2015.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
+"Project-Id-Version: gst-plugins-bad 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2011-04-28 09:13+0200\n"
-"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2015-04-26 19:24+0200\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
@@ -18,10 +19,10 @@
 "Content-Transfer-Encoding: 8bit\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "Format non négocié avant l'appel de la fonction get"
 
 msgid "default GStreamer sound events audiosink"
-msgstr ""
+msgstr "sons par défaut audiosink des événements GStreamer"
 
 msgid ""
 "GStreamer can play audio using any number of output elements. Some possible "
@@ -30,7 +31,7 @@
 msgstr ""
 
 msgid "description for default GStreamer sound events audiosink"
-msgstr ""
+msgstr "description des sons par défaut audiosink des événements GStreamer"
 
 msgid "Describes the selected audiosink element."
 msgstr ""
@@ -49,7 +50,7 @@
 msgstr ""
 
 msgid "default GStreamer videosink"
-msgstr ""
+msgstr "videosink GStreamer par défaut"
 
 msgid ""
 "GStreamer can play video using any number of output elements. Some possible "
@@ -64,7 +65,7 @@
 msgstr ""
 
 msgid "default GStreamer audiosrc"
-msgstr ""
+msgstr "audiosrc GStreamer par défaut"
 
 msgid ""
 "GStreamer can record audio using any number of input elements. Some possible "
@@ -79,7 +80,7 @@
 msgstr ""
 
 msgid "default GStreamer videosrc"
-msgstr ""
+msgstr "videosrc GStreamer par défaut"
 
 msgid ""
 "GStreamer can record video from any number of input elements. Some possible "
@@ -94,7 +95,7 @@
 msgstr ""
 
 msgid "default GStreamer visualization"
-msgstr ""
+msgstr "aperçu GStreamer par défaut"
 
 msgid ""
 "GStreamer can put visualization plugins in a pipeline to transform audio "
@@ -104,7 +105,7 @@
 msgstr ""
 
 msgid "description for default GStreamer visualization"
-msgstr ""
+msgstr "description de l’aperçu GStreamer par défaut"
 
 msgid "Describes the selected visualization element."
 msgstr ""
@@ -127,7 +128,7 @@
 "decryption library is not installed."
 msgstr ""
 "Impossible de lire le DVD. Il se peut que le DVD soit chiffré et qu'aucune "
-"biblithèque de déchiffrement ne soit disponible."
+"bibliothèque de déchiffrement DVD ne soit disponible."
 
 msgid "Could not read DVD."
 msgstr "Impossible de lire le DVD."
@@ -135,23 +136,20 @@
 msgid "This file contains no playable streams."
 msgstr ""
 
-#, fuzzy
 msgid "Could not open sndfile stream for reading."
-msgstr "Impossible d'ouvrir le fichier « %s » en lecture."
+msgstr "Impossible d'ouvrir le fichier snd en lecture."
 
 msgid "Could not establish connection to sndio"
-msgstr ""
+msgstr "Impossible de se connecter à sndio"
 
 msgid "Failed to query sndio capabilities"
-msgstr ""
+msgstr "Impossible d’interroger les capacités sndio"
 
-#, fuzzy
 msgid "Could not configure sndio"
-msgstr "Impossible d'ouvrir le fichier « %s » en lecture."
+msgstr "Impossible de configurer sndio"
 
-#, fuzzy
 msgid "Could not start sndio"
-msgstr "Impossible de lire le DVD."
+msgstr "Impossible de démarrer sndio"
 
 msgid "Internal data flow error."
 msgstr "Erreur interne de flux de données."
@@ -179,7 +177,7 @@
 msgstr "Erreur interne de flux de données."
 
 msgid "Couldn't download fragments"
-msgstr ""
+msgstr "Impossible de télécharger les fragments"
 
 msgid "No file name specified for writing."
 msgstr "Aucun nom de fichier indiqué pour l'écriture."
diff --git a/po/gl.gmo b/po/gl.gmo
index bbe4105..f491b7a 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 514c645..d3a07a0 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/gst-plugins-bad-1.0.pot b/po/gst-plugins-bad-1.0.pot
index 169fa78..11fbfbb 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.5.0.1\n"
+"Project-Id-Version: gst-plugins-bad 1.5.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -215,18 +215,18 @@
 msgid "Subpicture format was not configured before data flow"
 msgstr ""
 
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:1912
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:1913
 msgid "Failed to get fragment URL."
 msgstr ""
 
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2096
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2260
-#: gst/mpegtsdemux/mpegtsbase.c:1335 gst/mpegtsdemux/mpegtsbase.c:1339
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2101
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2265
+#: gst/mpegtsdemux/mpegtsbase.c:1337 gst/mpegtsdemux/mpegtsbase.c:1341
 #: gst/nuvdemux/gstnuvdemux.c:736
 msgid "Internal data stream error."
 msgstr ""
 
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2197
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2202
 msgid "Couldn't download fragments"
 msgstr ""
 
diff --git a/po/hr.gmo b/po/hr.gmo
index 3791362..04a3af6 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 615a4d7..5e22498 100644
--- a/po/hr.po
+++ b/po/hr.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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
 "PO-Revision-Date: 2012-04-16 02:06+0200\n"
 "Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
diff --git a/po/hu.gmo b/po/hu.gmo
index c57c203..4083074 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 78630a0..d4abeea 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -3,13 +3,13 @@
 # Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
 #
 # Gabor Kelemen <kelemeng@gnome.hu>, 2007, 2008, 2009, 2012.
-# Balázs Úr <urbalazs at gmail dot com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014.
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad 1.3.2\n"
+"Project-Id-Version: gst-plugins-bad 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2014-05-23 20:42+0200\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2014-08-31 11:18+0200\n"
 "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
 "Language: hu\n"
@@ -20,83 +20,101 @@
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "a formátum nem lett egyeztetve a függvény lekérése előtt"
 
 msgid "default GStreamer sound events audiosink"
-msgstr ""
+msgstr "alapértelmezett GStreamer hangesemények audiosink"
 
+#, fuzzy
 msgid ""
 "GStreamer can play audio using any number of output elements. Some possible "
 "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"A GStreamer képes hangot lejátszani bármilyen számú kimeneti elem "
+"használatával. Néhány lehetséges választás a következő lehet: osssink, "
+"pulsesink és alsasink. Az audiosink lehet egy részleges adatcsatorna is "
+"egyetlen elem helyett."
 
 msgid "description for default GStreamer sound events audiosink"
-msgstr ""
+msgstr "az alapértelmezett GStreamer hangesemények audiosink leírása"
 
 msgid "Describes the selected audiosink element."
-msgstr ""
+msgstr "Leírja a kiválasztott audiosink elemet."
 
 msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "alapértelmezett GStreamer audiosink a hang/videó konferenciához"
 
 msgid ""
 "description for default GStreamer audiosink for Audio/Video Conferencing"
 msgstr ""
+"az alapértelmezett GStreamer audiosink leírása a hang/videó konferenciához"
 
 msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "alapértelmezett GStreamer audiosink zenékhez és filmekhez"
 
 msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "az alapértelmezett GStreamer audiosink leírása zenékhez és filmekhez"
 
 msgid "default GStreamer videosink"
-msgstr ""
+msgstr "alapértelmezett GStreamer videosink"
 
 msgid ""
 "GStreamer can play video using any number of output elements. Some possible "
 "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 "can be a partial pipeline instead of just one element."
 msgstr ""
+"A GStreamer képes videót lejátszani bármilyen számú kimeneti elem "
+"használatával. Néhány lehetséges választás a következő lehet: xvimagesink, "
+"ximagesink, sdlvideosink és aasink. Az videosink lehet egy részleges "
+"adatcsatorna is egyetlen elem helyett."
 
 msgid "description for default GStreamer videosink"
-msgstr ""
+msgstr "az alapértelmezett GStreamer videosink leírása"
 
 msgid "Describes the selected videosink element."
-msgstr ""
+msgstr "Leírja a kiválasztott videosink elemet."
 
 msgid "default GStreamer audiosrc"
-msgstr ""
+msgstr "alapértelmezett GStreamer audiosrc"
 
 msgid ""
 "GStreamer can record audio using any number of input elements. Some possible "
 "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"A GStreamer képes hangot felvenni bármilyen számú bemeneti elem "
+"használatával. Néhány lehetséges választás a következő lehet: osssrc, "
+"pulsesrc és alsasrc. A hangforrás lehet egy részleges adatcsatorna is "
+"egyetlen elem helyett."
 
 msgid "description for default GStreamer audiosrc"
-msgstr ""
+msgstr "az alapértelmezett GStreamer audiosrc leírása"
 
 msgid "Describes the selected audiosrc element."
-msgstr ""
+msgstr "Leírja a kiválasztott audiosrc elemet."
 
 msgid "default GStreamer videosrc"
-msgstr ""
+msgstr "alapértelmezett GStreamer videosrc"
 
 msgid ""
 "GStreamer can record video from any number of input elements. Some possible "
 "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 "partial pipeline instead of just one element."
 msgstr ""
+"A GStreamer képes videót felvenni bármilyen számú bemeneti elem "
+"használatával. Néhány lehetséges választás a következő lehet: v4lsrc, "
+"v4l2src és videotestsrc. A videoforrás lehet egy részleges adatcsatorna is "
+"egyetlen elem helyett."
 
 msgid "description for default GStreamer videosrc"
-msgstr ""
+msgstr "az alapértelmezett GStreamer videosrc leírása"
 
 msgid "Describes the selected videosrc element."
-msgstr ""
+msgstr "Leírja a kiválasztott videosrc elemet."
 
 msgid "default GStreamer visualization"
-msgstr ""
+msgstr "alapértelmezett GStreamer képi megjelenítés"
 
 msgid ""
 "GStreamer can put visualization plugins in a pipeline to transform audio "
@@ -104,12 +122,17 @@
 "synaesthesia. The visualization plugin can be a partial pipeline instead of "
 "just one element."
 msgstr ""
+"A GStreamer képes képi megjelenítő bővítményeket elhelyezni egy "
+"adatcsatornába a videoképkockákban lévő hangfolyamok átalakításához. Néhány "
+"lehetséges választás a következő lehet: goom, goom2k1 és synaesthesia. A "
+"képi megjelenítő bővítmény lehet egy részleges adatcsatorna is egyetlen elem "
+"helyett."
 
 msgid "description for default GStreamer visualization"
-msgstr ""
+msgstr "az alapértelmezett GStreamer képi megjelenítés leírása"
 
 msgid "Describes the selected visualization element."
-msgstr ""
+msgstr "Leírja a kiválasztott képi megjelenítés elemet."
 
 msgid "OpenCV failed to load template image"
 msgstr ""
diff --git a/po/id.gmo b/po/id.gmo
index 7cb8d1b..cc43adc 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 08fe85c..438356f 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/it.gmo b/po/it.gmo
index b155342..e8cec52 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index d4a2663..08da31d 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/ja.gmo b/po/ja.gmo
index 28ade9b..e5a3449 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 1c6ff18..4da39e7 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/ky.gmo b/po/ky.gmo
index 5f48b47..30f96aa 100644
--- a/po/ky.gmo
+++ b/po/ky.gmo
Binary files differ
diff --git a/po/ky.po b/po/ky.po
index 49036e8..db8a505 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
@@ -222,7 +222,3 @@
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr ""
-
-#, fuzzy
-#~ msgid "Could not write to file \"%s\"."
-#~ msgstr "Алдын \"%s\" жабдыкты ачалган жок."
diff --git a/po/lt.gmo b/po/lt.gmo
index 7bb7ebd..e7c1b78 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index a9461c3..d34956a 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/lv.gmo b/po/lv.gmo
index c7af6a3..314384f 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index faaadbb..c3afa69 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/mt.gmo b/po/mt.gmo
index b560c0a..7cf3ebd 100644
--- a/po/mt.gmo
+++ b/po/mt.gmo
Binary files differ
diff --git a/po/mt.po b/po/mt.po
index fa8eb22..681658d 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/nb.gmo b/po/nb.gmo
index 0c18d60..f6da20e 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 3843bd7..457032a 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -2,100 +2,113 @@
 # This file is put in the public domain.
 #
 # Kjartan Maraas <kmaraas@gnome.org>, 2004-2007.
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad 1.2.1\n"
+"Project-Id-Version: gst-plugins-bad 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2014-01-22 17:56+0100\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2015-06-03 09:39+0100\n"
 "Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
 "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
 "Language: nb_NO\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.5.7\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "formatet ble ikke forhandlet før get-funksjon"
 
 msgid "default GStreamer sound events audiosink"
-msgstr ""
+msgstr "standard GStreamer lydhendelser-audiosink"
 
+#, fuzzy
 msgid ""
 "GStreamer can play audio using any number of output elements. Some possible "
 "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer kan spille av lyd ved hjelp av en rekke utgangselementer. Noen "
+"mulige valg er osssink, pulsesink og alsasink. Audiosinken kan være en "
+"delvis kommandokø i stedet for bare ett element."
 
 msgid "description for default GStreamer sound events audiosink"
-msgstr ""
+msgstr "beskrivelse for standard GStreamer lydhendelser-audiosink"
 
 msgid "Describes the selected audiosink element."
-msgstr ""
+msgstr "beskriver standard audiosinkelement."
 
 msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "Standard GStreamer-audiosink for Lyd/Video-konferanser"
 
 msgid ""
 "description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "beskrivelse for standard GStreamer-audiosink for musikk og filmer"
 
 msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "standard GStreamer-audiosink for musikk og filmer"
 
 msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "beskrivelse for standard GStreamer-audiosink for musikk og filmer"
 
 msgid "default GStreamer videosink"
-msgstr ""
+msgstr "standard GStreamer-videosink"
 
 msgid ""
 "GStreamer can play video using any number of output elements. Some possible "
 "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 "can be a partial pipeline instead of just one element."
 msgstr ""
+"GStreamer kan spille video ved hjelp av en rekke utgangselementer. Noen "
+"mulige valg er xvimagesink, ximagesink, sdlvideosink og aasink. Videosinken "
+"kan være en delvis kommandokø i stedet for bare ett element."
 
 msgid "description for default GStreamer videosink"
-msgstr ""
+msgstr "beskrivelse for standard GStreamer-videosink"
 
 msgid "Describes the selected videosink element."
-msgstr ""
+msgstr "Beskriver det valgte videosink-element."
 
 msgid "default GStreamer audiosrc"
-msgstr ""
+msgstr "standard GStreamer-audiosrc"
 
 msgid ""
 "GStreamer can record audio using any number of input elements. Some possible "
 "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer kan ta opp lyd ved hjelp av en rekke dataobjekter. Noen mulige "
+"valg er osssrc, pulsesrc og alsasrc. Lydkilden kan være en delvis kommandokø "
+"i stedet for bare ett element."
 
 msgid "description for default GStreamer audiosrc"
-msgstr ""
+msgstr "beskrivelse for standard GStreamer-audiosrc"
 
 msgid "Describes the selected audiosrc element."
-msgstr ""
+msgstr "Beskriver det valgte audiosrc-elementet"
 
 msgid "default GStreamer videosrc"
-msgstr ""
+msgstr "standard GStreamer-videosrc"
 
 msgid ""
 "GStreamer can record video from any number of input elements. Some possible "
 "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 "partial pipeline instead of just one element."
 msgstr ""
+"GStreamer kan ta opp video fra en rekke dataobjekter. Noen mulige valg er "
+"v4lsrc, v4l2src og videotestsrc. Videokilden kan være en delvis kommandokø i "
+"stedet for bare ett element."
 
 msgid "description for default GStreamer videosrc"
-msgstr ""
+msgstr "beskrivelse for standard GStreamer-videosrc"
 
 msgid "Describes the selected videosrc element."
-msgstr ""
+msgstr "Beskriver det valgte videosrc-elementet"
 
 msgid "default GStreamer visualization"
-msgstr ""
+msgstr "standard GStreamer-visualisering"
 
 msgid ""
 "GStreamer can put visualization plugins in a pipeline to transform audio "
@@ -103,12 +116,16 @@
 "synaesthesia. The visualization plugin can be a partial pipeline instead of "
 "just one element."
 msgstr ""
+"GStreamer kan sette visualiseringsplugins i en rørledning til å forvandle "
+"lydstrømmer i videobilder. Noen mulige valg er goom, goom2k1 og "
+"synaesthesia. Visualiseringsplugin kan være en delvis kommandokø i stedet "
+"for bare ett element."
 
 msgid "description for default GStreamer visualization"
-msgstr ""
+msgstr "beskrivelse for standard GStreamer-visualisering"
 
 msgid "Describes the selected visualization element."
-msgstr ""
+msgstr "Beskriver valgt visualiseringselement."
 
 msgid "OpenCV failed to load template image"
 msgstr ""
@@ -136,9 +153,8 @@
 msgid "This file contains no playable streams."
 msgstr "Denne filen inneholder ingen spillbare strømmer."
 
-#, fuzzy
 msgid "Could not open sndfile stream for reading."
-msgstr "Kunne ikke åpne filen «%s» for lesing."
+msgstr "Kunne ikke åpne sndfile for lesing."
 
 msgid "Could not establish connection to sndio"
 msgstr "Kunne ikke opprette forbindelse til sndio"
@@ -204,9 +220,9 @@
 msgid "Could not get settings from frontend device \"%s\"."
 msgstr "Kunne ikke hente innstillinger fra frontenhet «%s»."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
-msgstr "Kunne ikke hente innstillinger fra frontenhet «%s»."
+msgstr "Kan ikke nummerere leveringssystemer fra frontenhet «%s»."
 
 #, c-format
 msgid "Could not open file \"%s\" for reading."
diff --git a/po/nl.gmo b/po/nl.gmo
index 0087718..1880c8e 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index e59c6c7..9fcfff8 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,4 +1,4 @@
-# translation of gst-plugins-bad-1.3.2.nl.po to Dutch
+# translation of gst-plugins-bad-1.4.0.nl.po to Dutch
 # translation of gst-plugins-bad to Dutch
 # Copyright (C) 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
 #
@@ -6,10 +6,10 @@
 # Freek de Kruijf <f.de.kruijf@gmail.com>, 2007, 2008, 2009, 2011, 2013, 2014.
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad 1.3.2\n"
+"Project-Id-Version: gst-plugins-bad 1.4.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2014-05-22 00:31+0200\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2014-07-22 10:49+0200\n"
 "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "Language: nl\n"
@@ -20,7 +20,7 @@
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "formaat is niet onderhandeld vóór get-functie"
 
 msgid "default GStreamer sound events audiosink"
 msgstr ""
diff --git a/po/or.gmo b/po/or.gmo
index de15104..3448848 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 2530918..8143cb5 100644
--- a/po/or.po
+++ b/po/or.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-0.8.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
 "PO-Revision-Date: 2004-09-27 13:32+0530\n"
 "Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n"
 "Language-Team: Oriya <gora_mohanty@yahoo.co.in>\n"
diff --git a/po/pl.gmo b/po/pl.gmo
index 0be1fd6..33ba78e 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 7b520e1..0428da9 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -4,10 +4,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad 1.3.2\n"
+"Project-Id-Version: gst-plugins-bad 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2014-05-22 18:34+0200\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2014-08-29 15:47+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "Language: pl\n"
@@ -16,83 +16,102 @@
 "Content-Transfer-Encoding: 8bit\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "format nie został wynegocjowany przed funkcją pobrania"
 
 msgid "default GStreamer sound events audiosink"
-msgstr ""
+msgstr "domyślny element GStreamera pochłaniający zdarzenia dźwiękowe"
 
+#, fuzzy
 msgid ""
 "GStreamer can play audio using any number of output elements. Some possible "
 "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer może odtwarzać dźwięk przy użyciu dowolnej liczby elementów "
+"wyjściowych. Niektóre z możliwości to osssink, pulsesink oraz alsasink. "
+"Wyjście dźwięku może być częściowym potokiem zamiast pojedynczego elementu."
 
 msgid "description for default GStreamer sound events audiosink"
 msgstr ""
+"opis domyślnego elementu GStreamera pochłaniającego zdarzenia dźwiękowe"
 
 msgid "Describes the selected audiosink element."
-msgstr ""
+msgstr "Opisuje wybrany element wyjściowy dźwięku."
 
 msgid "default GStreamer audiosink for Audio/Video Conferencing"
 msgstr ""
+"domyślny element GStreamera pochłaniający dźwięk dla konferencji audio/video"
 
 msgid ""
 "description for default GStreamer audiosink for Audio/Video Conferencing"
 msgstr ""
+"opis domyślnego elementu wyjściowego dźwięku GStreamera dla konferencji "
+"audio/video"
 
 msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "domyślny element wyjściowy dźwięku GStreamera dla muzyki i filmów"
 
 msgid "description for default GStreamer audiosink for Music and Movies"
 msgstr ""
+"opis domyślnego elementu wyjściowego dźwięku GStreamera dla muzyki i filmów"
 
 msgid "default GStreamer videosink"
-msgstr ""
+msgstr "domyślny element GStreamera pochłaniający obraz"
 
 msgid ""
 "GStreamer can play video using any number of output elements. Some possible "
 "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 "can be a partial pipeline instead of just one element."
 msgstr ""
+"GStreamer może odtwarzać obraz przy użyciu dowolnej liczby elementów "
+"wyjściowych. Niektóre z możliwości to xvimagesink, ximagesink, sdlvideosink "
+"oraz aasink. Wyjście obrazu może być częściowym potokiem zamiast "
+"pojedynczego elementu."
 
 msgid "description for default GStreamer videosink"
-msgstr ""
+msgstr "opis domyślnego elementu GStreamera pochłaniającego obraz"
 
 msgid "Describes the selected videosink element."
-msgstr ""
+msgstr "Opisuje wybrany element wyjściowy obrazu."
 
 msgid "default GStreamer audiosrc"
-msgstr ""
+msgstr "domyślne źródło dźwięku GStreamera"
 
 msgid ""
 "GStreamer can record audio using any number of input elements. Some possible "
 "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer może nagrywać dźwięk z dowolnej liczby elementów wejściowych. "
+"Niektóre możliwości to osssrc, pulsesrc oraz alsasrc. Źródło dźwięku może "
+"być częściowym potokiem zamiast pojedynczego elementu."
 
 msgid "description for default GStreamer audiosrc"
-msgstr ""
+msgstr "opis domyślnego źródła dźwięku GStreamera"
 
 msgid "Describes the selected audiosrc element."
-msgstr ""
+msgstr "Opisuje wybrany element źródłowy dźwięku."
 
 msgid "default GStreamer videosrc"
-msgstr ""
+msgstr "domyślne źródło obrazu GStreamera"
 
 msgid ""
 "GStreamer can record video from any number of input elements. Some possible "
 "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 "partial pipeline instead of just one element."
 msgstr ""
+"GStreamer może nagrywać obraz z dowolnej liczby elementów wejściowych. "
+"Niektóre możliwości to v4lsrc, v4l2src oraz videotestsrc. Źródło obrazu może "
+"być częściowym potokiem zamiast pojedynczego elementu."
 
 msgid "description for default GStreamer videosrc"
-msgstr ""
+msgstr "opis domyślnego źródła obrazu GStreamera"
 
 msgid "Describes the selected videosrc element."
-msgstr ""
+msgstr "Opisuje wybrany element źródłowy obrazu."
 
 msgid "default GStreamer visualization"
-msgstr ""
+msgstr "domyślna wizualizacja GStreamera"
 
 msgid ""
 "GStreamer can put visualization plugins in a pipeline to transform audio "
@@ -100,12 +119,16 @@
 "synaesthesia. The visualization plugin can be a partial pipeline instead of "
 "just one element."
 msgstr ""
+"GStreamer może umieszczać wtyczki wizualizujące w potoku w celu "
+"przekształcania strumieni dźwiękowych na klatki obrazu. Niektóre możliwości "
+"to goom, goom2k1 oraz synaesthesia. Wtyczka wizualizująca może być "
+"częściowym potokiem zamiast pojedynczego elementu."
 
 msgid "description for default GStreamer visualization"
-msgstr ""
+msgstr "opis domyślego elementu wizualizującego GStreamera"
 
 msgid "Describes the selected visualization element."
-msgstr ""
+msgstr "Opisuje wybrany element wizualizujący."
 
 msgid "OpenCV failed to load template image"
 msgstr ""
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index a76e467..2834825 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 4e7f4d5..983befc 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -1,15 +1,15 @@
 # Brazilian Portuguese translation of gst-plugins-bad.
 # This file is distributed under the same license as the gst-plugins-bad package.
-# Copyright (C) 2007-2013 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
 # Raphael Higino <In memorian>, 2007.
-# Fabrício Godoy <skarllot@gmail.com>, 2008-2013.
+# Fabrício Godoy <skarllot@gmail.com>, 2008-2015.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad-1.2.1\n"
+"Project-Id-Version: gst-plugins-bad-1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2013-12-17 01:09-0200\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2015-02-01 18:24-0200\n"
 "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
 "net>\n"
@@ -20,83 +20,104 @@
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "O formato não foi negociado antes da chamada da função"
 
 msgid "default GStreamer sound events audiosink"
-msgstr ""
+msgstr "audiosink do GStreamer pré-definido para eventos de som"
 
+#, fuzzy
 msgid ""
 "GStreamer can play audio using any number of output elements. Some possible "
 "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"O GStreamer pode reproduzir áudio utilizando qualquer quantidade de "
+"elementos de saída. Algumas das opções possíveis são osssink, pulsesink e "
+"alsasink. O audiosink pode ser uma fila de processamento parcial em vez de "
+"apenas um elemento."
 
 msgid "description for default GStreamer sound events audiosink"
 msgstr ""
+"descrição para o audiosink do GStreamer pré-definido para eventos de som"
 
 msgid "Describes the selected audiosink element."
-msgstr ""
+msgstr "Descreve o elemento audiosink selecionado."
 
 msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "audiosink do GStreamer pré-definido para Conferência de Áudio e Vídeo"
 
 msgid ""
 "description for default GStreamer audiosink for Audio/Video Conferencing"
 msgstr ""
+"descrição do audiosink do GStreamer pré-definido para Conferência de Áudio e "
+"Vídeo"
 
 msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "audiosink do GStreamer pré-definido para Músicas e Filmes"
 
 msgid "description for default GStreamer audiosink for Music and Movies"
 msgstr ""
+"descrição para o audiosink do GStreamer pré-definido para Músicas e Filmes"
 
 msgid "default GStreamer videosink"
-msgstr ""
+msgstr "videosink do GStreamer pré-definido"
 
 msgid ""
 "GStreamer can play video using any number of output elements. Some possible "
 "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 "can be a partial pipeline instead of just one element."
 msgstr ""
+"O GStreamer pode reproduzir vídeo utilizando qualquer quantidade de "
+"elementos de saída. Algumas das opções possíveis são xvimagesink, "
+"ximagesink, sdlvideosink e aasink. O videosink pode ser uma fila de "
+"processamento parcial em vez de apenas um elemento."
 
 msgid "description for default GStreamer videosink"
-msgstr ""
+msgstr "descrição para o videosink do GStreamer pré-definido"
 
 msgid "Describes the selected videosink element."
-msgstr ""
+msgstr "Descreve o elemento videosink selecionado."
 
 msgid "default GStreamer audiosrc"
-msgstr ""
+msgstr "audiosrc do GStreamer pré-definido"
 
 msgid ""
 "GStreamer can record audio using any number of input elements. Some possible "
 "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"O GStreamer pode gravar áudio utilizando qualquer quantidade de elementos de "
+"entrada. Algumas das opções possíveis são osssrc, pulsesrc e alsasrc. A "
+"fonte de áudio pode ser uma fila de processamento parcial em vez de apenas "
+"um elemento."
 
 msgid "description for default GStreamer audiosrc"
-msgstr ""
+msgstr "descrição para o audiosrc do GStreamer pré-definido"
 
 msgid "Describes the selected audiosrc element."
-msgstr ""
+msgstr "Descreve o elemento audiosrc selecionado."
 
 msgid "default GStreamer videosrc"
-msgstr ""
+msgstr "videosrc do GStreamer pré-definido"
 
 msgid ""
 "GStreamer can record video from any number of input elements. Some possible "
 "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 "partial pipeline instead of just one element."
 msgstr ""
+"O GStreamer pode gravar vídeo de qualquer quantidade de elementos de "
+"entrada. Algumas das opções possíveis são v4lsrc, v4l2src e videotestsrc. A "
+"fonte de vídeo pode ser uma fila de processamento parcial em vez de apenas "
+"um elemento."
 
 msgid "description for default GStreamer videosrc"
-msgstr ""
+msgstr "descrição para o videosrc do GStreamer pré-definido"
 
 msgid "Describes the selected videosrc element."
-msgstr ""
+msgstr "Descreve o elemento videosrc selecionado."
 
 msgid "default GStreamer visualization"
-msgstr ""
+msgstr "visualização do GStreamer pré-definida"
 
 msgid ""
 "GStreamer can put visualization plugins in a pipeline to transform audio "
@@ -104,12 +125,16 @@
 "synaesthesia. The visualization plugin can be a partial pipeline instead of "
 "just one element."
 msgstr ""
+"O GStreamer pode colocar plugins de visualização numa fila de processamento "
+"para transformar fluxos de áudio em quadros de vídeo. Algumas das opções "
+"possíveis são goom, goom2k1 e synaesthesia. O plugin de visualização pode "
+"ser uma fila de processamento parcial em vez de apenas um elemento."
 
 msgid "description for default GStreamer visualization"
-msgstr ""
+msgstr "descrição da visualização do GStreamer pré-definida"
 
 msgid "Describes the selected visualization element."
-msgstr ""
+msgstr "Descreve o elemento de visualização selecionado."
 
 msgid "OpenCV failed to load template image"
 msgstr ""
@@ -137,9 +162,8 @@
 msgid "This file contains no playable streams."
 msgstr "Este arquivo não contém fluxos reproduzíveis."
 
-#, fuzzy
 msgid "Could not open sndfile stream for reading."
-msgstr "Não foi possível abrir o arquivo \"%s\" para leitura."
+msgstr "Não foi possível abrir o fluxo sndfile para leitura."
 
 msgid "Could not establish connection to sndio"
 msgstr "Não foi possível estabelecer a conexão para sndio"
@@ -210,10 +234,11 @@
 msgstr ""
 "Não foi possível obter as configurações do dispositivo de interface \"%s\"."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
 msgstr ""
-"Não foi possível obter as configurações do dispositivo de interface \"%s\"."
+"Não foi possível listar os sistemas de entrega do dispositivo de interface "
+"\"%s\"."
 
 #, c-format
 msgid "Could not open file \"%s\" for reading."
diff --git a/po/ro.gmo b/po/ro.gmo
index 2b41a06..9b29408 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index a731a07..639ab9f 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/ru.gmo b/po/ru.gmo
index a78ce6b..bdf5338 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index abb49e5..8e8a464 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -6,10 +6,10 @@
 # Yuri Kozlov <yuray@komyakino.ru>, 2011, 2013, 2014.
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad 1.3.2\n"
+"Project-Id-Version: gst-plugins-bad 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2014-05-22 19:59+0400\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2014-09-06 10:56+0400\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@mx.ru>\n"
 "Language: ru\n"
@@ -21,83 +21,96 @@
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "перед функцией получения не был согласован формат"
 
 msgid "default GStreamer sound events audiosink"
-msgstr ""
+msgstr "GStreamer audiosink по умолчанию для звуковых событий"
 
+#, fuzzy
 msgid ""
 "GStreamer can play audio using any number of output elements. Some possible "
 "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer может воспроизводить аудио через любой выходной элемент. Некоторые "
+"варианты: osssink, pulsesink и alsasink. Аudiosink может быть конвейером, а "
+"не одиночным элементом."
 
 msgid "description for default GStreamer sound events audiosink"
-msgstr ""
+msgstr "описание GStreamer audiosink по умолчанию для звуковых событий"
 
 msgid "Describes the selected audiosink element."
-msgstr ""
+msgstr "Описывает выбранный элемент audiosink."
 
 msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "GStreamer audiosink по умолчанию для аудио-видео конференций"
 
 msgid ""
 "description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "описание GStreamer audiosink по умолчанию для аудио-видео конференций"
 
 msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "GStreamer audiosink по умолчанию для музыки и фильмов"
 
 msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "описание GStreamer audiosink по умолчанию для музыки и фильмов"
 
 msgid "default GStreamer videosink"
-msgstr ""
+msgstr "GStreamer videosink по умолчанию"
 
 msgid ""
 "GStreamer can play video using any number of output elements. Some possible "
 "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 "can be a partial pipeline instead of just one element."
 msgstr ""
+"GStreamer может воспроизводить видео через любой выходной элемент. Некоторые "
+"варианты: xvimagesink, ximagesink, sdlvideosink и aasink. Videosink может "
+"быть конвейером, а не одиночным элементом."
 
 msgid "description for default GStreamer videosink"
-msgstr ""
+msgstr "описание GStreamer videosink по умолчанию"
 
 msgid "Describes the selected videosink element."
-msgstr ""
+msgstr "Описывает выбранный элемент videosink."
 
 msgid "default GStreamer audiosrc"
-msgstr ""
+msgstr "GStreamer audiosrc по умолчанию"
 
 msgid ""
 "GStreamer can record audio using any number of input elements. Some possible "
 "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer может записывать аудио с любого входного элемента. Некоторые "
+"варианты: osssrc, pulsesrc и alsasrc. Источником аудио может быть конвейер, "
+"а не одиночный элемент."
 
 msgid "description for default GStreamer audiosrc"
-msgstr ""
+msgstr "описание GStreamer audiosrc по умолчанию"
 
 msgid "Describes the selected audiosrc element."
-msgstr ""
+msgstr "Описывает выбранный элемент audiosrc."
 
 msgid "default GStreamer videosrc"
-msgstr ""
+msgstr "GStreamer videosrc по умолчанию"
 
 msgid ""
 "GStreamer can record video from any number of input elements. Some possible "
 "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 "partial pipeline instead of just one element."
 msgstr ""
+"GStreamer может записывать видео с любого входного элемента. Некоторые "
+"варианты: v4lsrc, v4l2src и videotestsrc. Источником видео может быть "
+"конвейер, а не одиночный элемент."
 
 msgid "description for default GStreamer videosrc"
-msgstr ""
+msgstr "описание GStreamer videosrc по умолчанию"
 
 msgid "Describes the selected videosrc element."
-msgstr ""
+msgstr "Описывает выбранный элемент videosrc."
 
 msgid "default GStreamer visualization"
-msgstr ""
+msgstr "GStreamer visualization по умолчанию"
 
 msgid ""
 "GStreamer can put visualization plugins in a pipeline to transform audio "
@@ -105,12 +118,15 @@
 "synaesthesia. The visualization plugin can be a partial pipeline instead of "
 "just one element."
 msgstr ""
+"GStreamer может помещать модули визуализации для преобразования аудио "
+"потоков видео фрагментов. Некоторые варианты: goom, goom2k1 и synaesthesia. "
+"Модуль визуализации может быть конвейером, а не одиночным элементом."
 
 msgid "description for default GStreamer visualization"
-msgstr ""
+msgstr "описание GStreamer visualization по умолчанию"
 
 msgid "Describes the selected visualization element."
-msgstr ""
+msgstr "Описывает выбранный элемент visualization."
 
 msgid "OpenCV failed to load template image"
 msgstr ""
diff --git a/po/sk.gmo b/po/sk.gmo
index ba790f3..bd62007 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index 2ea8c8a..1af9894 100644
--- a/po/sk.po
+++ b/po/sk.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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
 "PO-Revision-Date: 2014-01-30 10:44+0100\n"
 "Last-Translator: Peter Tuharsky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
diff --git a/po/sl.gmo b/po/sl.gmo
index 6c173dc..9d83bd0 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index 9ea8b45..b52457d 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/sq.gmo b/po/sq.gmo
index 86c94d3..649b03e 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index cc61954..1c2308a 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: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\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"
diff --git a/po/sr.gmo b/po/sr.gmo
index b7d1b6d..b01c955 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index b85c487..2eb47dd 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -2,13 +2,13 @@
 # Copyright (C) 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gst-plugins-bad package.
 # Danilo Segan <dsegan@gmx.net>, 2004.
-# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011-2014.
+# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011—2014.
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad-1.3.2\n"
+"Project-Id-Version: gst-plugins-bad-1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2014-06-18 19:15+0200\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2014-09-13 10:39+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
 "Language: sr\n"
@@ -19,83 +19,97 @@
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "запис није договорен пре функције добављања (get)"
 
 msgid "default GStreamer sound events audiosink"
-msgstr ""
+msgstr "основни аудио усклађивач звучних догађаја Гстримера"
 
+#, fuzzy
 msgid ""
 "GStreamer can play audio using any number of output elements. Some possible "
 "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"Гстример може да пушта аудио користећи било који број излазних елемената. "
+"Неки могући избори су „osssink“, „pulsesink“ и „alsasink“. Аудио усклађивач "
+"може бити делимична спојка уместо само једног елемента."
 
 msgid "description for default GStreamer sound events audiosink"
-msgstr ""
+msgstr "опис основног аудио усклађивача звучних догађаја Гстримера"
 
 msgid "Describes the selected audiosink element."
-msgstr ""
+msgstr "Описује изабрани елемент аудио усклађивача."
 
 msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "основни аудио усклађивач Гстримера за аудио/видео састанчење"
 
 msgid ""
 "description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "опис основног аудио усклађивач Гстримера за аудио/видео састанчење"
 
 msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "основни аудио усклађивач Гстримера за музику и филмове"
 
 msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "опис основног аудио усклађивача Гстримера за музику и филмове"
 
 msgid "default GStreamer videosink"
-msgstr ""
+msgstr "основни видео усклађивач Гстримера"
 
 msgid ""
 "GStreamer can play video using any number of output elements. Some possible "
 "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 "can be a partial pipeline instead of just one element."
 msgstr ""
+"Гстример може да пушта видео користећи било који број излазних елемената. "
+"Неки могући избори су „xvimagesink“, „ximagesink“, „sdlvideosink“ и "
+"„aasink“. Видео усклађивач може бити делимична спојка уместо само једног "
+"елемента."
 
 msgid "description for default GStreamer videosink"
-msgstr ""
+msgstr "опис основног видео усклађивача Гстримера"
 
 msgid "Describes the selected videosink element."
-msgstr ""
+msgstr "Описује изабрани елемент видео усклађивача."
 
 msgid "default GStreamer audiosrc"
-msgstr ""
+msgstr "основни аудио извор Гстримера"
 
 msgid ""
 "GStreamer can record audio using any number of input elements. Some possible "
 "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"Гстример може да снима аудио користећи било који број излазних елемената. "
+"Неки могући избори су „osssrc“, „pulsesrc“ и „alsasrc“. Извор звука може "
+"бити делимична спојка уместо само једног елемента."
 
 msgid "description for default GStreamer audiosrc"
-msgstr ""
+msgstr "опис основног аудио извора Гстримера"
 
 msgid "Describes the selected audiosrc element."
-msgstr ""
+msgstr "Описује изабрани елемент аудио извора."
 
 msgid "default GStreamer videosrc"
-msgstr ""
+msgstr "основни видео извор Гстримера"
 
 msgid ""
 "GStreamer can record video from any number of input elements. Some possible "
 "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 "partial pipeline instead of just one element."
 msgstr ""
+"Гстример може да снима видео користећи било који број излазних елемената. "
+"Неки могући избори су „v4lsrc“, „v4l2src“ и “videotestsrc“. Извор видеа може "
+"бити делимична спојка уместо само једног елемента."
 
 msgid "description for default GStreamer videosrc"
-msgstr ""
+msgstr "опис основног видео извора Гстримера"
 
 msgid "Describes the selected videosrc element."
-msgstr ""
+msgstr "Описује изабрани елемент видео извора."
 
 msgid "default GStreamer visualization"
-msgstr ""
+msgstr "основно приказивање Гстримера"
 
 msgid ""
 "GStreamer can put visualization plugins in a pipeline to transform audio "
@@ -103,12 +117,16 @@
 "synaesthesia. The visualization plugin can be a partial pipeline instead of "
 "just one element."
 msgstr ""
+"Гстример може да стави прикључке приказивања у спојку да претвори аудио "
+"токове у видео кадрове. Неки могући избори су „goom“, „goom2k1“ и "
+"„synaesthesia“. Прикључак приказивања може бити делимична спојка уместо само "
+"једног елемента."
 
 msgid "description for default GStreamer visualization"
-msgstr ""
+msgstr "опис основног приказивања Гстримера"
 
 msgid "Describes the selected visualization element."
-msgstr ""
+msgstr "Описује изабрани елемент приказивања."
 
 msgid "OpenCV failed to load template image"
 msgstr ""
diff --git a/po/sv.gmo b/po/sv.gmo
index 153a868..e6edc16 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 6b50487..7d4bdaf 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad 1.3.90\n"
+"Project-Id-Version: gst-plugins-bad 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2014-07-11 02:52+0200\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2014-09-19 02:43+0200\n"
 "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
@@ -18,83 +18,97 @@
 "Content-Transfer-Encoding: 8bit\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "formatet förhandlades inte fram innan hämtfunktionen"
 
 msgid "default GStreamer sound events audiosink"
-msgstr ""
+msgstr "standard GStreamer-ljudutgång för ljudhändelser"
 
+#, fuzzy
 msgid ""
 "GStreamer can play audio using any number of output elements. Some possible "
 "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer kan spela upp ljud via ett antal utgångselement. Några möjliga val "
+"är osssink, pulsesink och alsasink. Ljudutgången kan vara en delrörledning "
+"istället för bara ett element."
 
 msgid "description for default GStreamer sound events audiosink"
-msgstr ""
+msgstr "beskrivning för standard GStreamer-ljudutgång för ljudhändelser"
 
 msgid "Describes the selected audiosink element."
-msgstr ""
+msgstr "Beskriver det valda ljudutgångselementet."
 
 msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "standard GStreamer-ljudutgång för ljud/video-konferenser"
 
 msgid ""
 "description for default GStreamer audiosink for Audio/Video Conferencing"
 msgstr ""
+"beskrivning för standard GStreamer-ljudutgång för ljud/video-konferenser"
 
 msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "standard GStreamer-ljudutgång för musik och filmer"
 
 msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "beskrivning för standard GStreamer-ljudutgång för musik och filmer"
 
 msgid "default GStreamer videosink"
-msgstr ""
+msgstr "standard GStreamer-videoutgång"
 
 msgid ""
 "GStreamer can play video using any number of output elements. Some possible "
 "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 "can be a partial pipeline instead of just one element."
 msgstr ""
+"GStreamer kan spela upp video via ett antal utgångselement. Några möjliga "
+"val är xvimagesink, ximagesink, sdlvideosink och aasink. Videoutgången kan "
+"vara en delrörledning istället för bara ett element."
 
 msgid "description for default GStreamer videosink"
-msgstr ""
+msgstr "beskrivning för standard GStreamer-videoutgång"
 
 msgid "Describes the selected videosink element."
-msgstr ""
+msgstr "Beskriver det valda videoutgångselementet."
 
 msgid "default GStreamer audiosrc"
-msgstr ""
+msgstr "standard GStreamer-ljudkälla"
 
 msgid ""
 "GStreamer can record audio using any number of input elements. Some possible "
 "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer kan spela in ljud från ett antal ingångslement. Några möjliga val "
+"är osssrc, pulsesrc och alsasrc. Ljudkällan kan vara en delrörleding "
+"istället för bara ett element."
 
 msgid "description for default GStreamer audiosrc"
-msgstr ""
+msgstr "beskrivning för standard GStreamer-ljudkälla"
 
 msgid "Describes the selected audiosrc element."
-msgstr ""
+msgstr "Beskriver det valda ljudkällselementet."
 
 msgid "default GStreamer videosrc"
-msgstr ""
+msgstr "standard GStreamer-videokälla"
 
 msgid ""
 "GStreamer can record video from any number of input elements. Some possible "
 "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 "partial pipeline instead of just one element."
 msgstr ""
+"GStreamer kan spela in video från ett antal ingångselement. Några möjliga "
+"val är v4lsrc, v4l2src och videotestsrc. Videokällan kan vara en "
+"delrörledning istället för bara ett element."
 
 msgid "description for default GStreamer videosrc"
-msgstr ""
+msgstr "beskrivning för standard GStreamer-videokälla"
 
 msgid "Describes the selected videosrc element."
-msgstr ""
+msgstr "Beskriver det valda videokällselementet."
 
 msgid "default GStreamer visualization"
-msgstr ""
+msgstr "standard GStreamer-visualisering"
 
 msgid ""
 "GStreamer can put visualization plugins in a pipeline to transform audio "
@@ -102,12 +116,16 @@
 "synaesthesia. The visualization plugin can be a partial pipeline instead of "
 "just one element."
 msgstr ""
+"GStreamer kan lägga in insticksmoduler för visualisering i en pipeline för "
+"att transformera ljudströmmar till videobilder. Några möjliga val är goom, "
+"goom2k1 och synaesthesia. Visualiseringsinsticksmodulen kan vara en "
+"delrörledning istället för bara ett element."
 
 msgid "description for default GStreamer visualization"
-msgstr ""
+msgstr "beskrivning för standard GStreamer-visualisering"
 
 msgid "Describes the selected visualization element."
-msgstr ""
+msgstr "Beskriver det valda visualiseringselementet."
 
 msgid "OpenCV failed to load template image"
 msgstr ""
diff --git a/po/tr.gmo b/po/tr.gmo
index 88a2985..03a515f 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 7adfd79..da154f9 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -1,23 +1,25 @@
 # translation of gst-plugins-bad-0.10.21.2.po to Turkish
 # This file is put in the public domain.
+# This file is distributed under the same license as the gst-plugins-bad package.
 #
-# Server Acim <serveracim@gmail.com>, 2009.
+# Server Acim <serveracim@gmail.com>, 2009, 2015.
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad-0.10.21.2\n"
+"Project-Id-Version: gst-plugins-bad-1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2011-04-26 19:21+0200\n"
-"Last-Translator: Server Acim <serveracim@gmail.com>\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2015-01-10 21:07+0100\n"
+"Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
+"X-Generator: Lokalize 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "get fonksiyonundan önce biçim görüşülemedi"
 
 msgid "default GStreamer sound events audiosink"
 msgstr ""
@@ -132,60 +134,60 @@
 msgstr "DVD okunamıyor."
 
 msgid "This file contains no playable streams."
-msgstr ""
+msgstr "Dosya çalınabilir akışlar içermiyor."
 
-#, fuzzy
 msgid "Could not open sndfile stream for reading."
-msgstr "Dosyayı \"%s\" okumak için açamıyor."
+msgstr "Sndfile akışı okumak için açamıyor."
 
 msgid "Could not establish connection to sndio"
-msgstr ""
+msgstr "Sndio ile bağlantı kurulamadı"
 
 msgid "Failed to query sndio capabilities"
-msgstr ""
+msgstr "Sndio yetenekleri sorgulanamadı"
 
-#, fuzzy
 msgid "Could not configure sndio"
-msgstr "Dosyayı \"%s\" okumak için açamıyor."
+msgstr "Sndio yapılandırılamadı"
 
-#, fuzzy
 msgid "Could not start sndio"
-msgstr "DVD okunamıyor."
+msgstr "Sndio başlatılamadı"
 
 msgid "Internal data flow error."
 msgstr "İç veri akış hatası."
 
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
+"Oluşturlmuş dosya, akışlarının süresinden daha büyük preroll zamanına sahip"
 
 #, c-format
 msgid "Missing element '%s' - check your GStreamer installation."
-msgstr ""
+msgstr "Eksik öge '%s' - GStreamer kurulumunuzu kontrol ediniz."
 
 msgid "File location is set to NULL, please set it to a valid filename"
 msgstr ""
+"Dosya konumunuz BOŞ bir değere ayarlı, lütfen geçerli bir dosya adı için "
+"ayarlayın"
 
 msgid "Digitalzoom element cound't be created"
 msgstr ""
 
 msgid "Subpicture format was not configured before data flow"
-msgstr ""
+msgstr "Alt resim biçimi, veri  akışından önce yapılandırılmış"
 
 msgid "Failed to get fragment URL."
-msgstr ""
+msgstr "Parça adresi alınamadı."
 
 msgid "Internal data stream error."
 msgstr "İç veri akım hatası."
 
 msgid "Couldn't download fragments"
-msgstr ""
+msgstr "Parçalar indirilemedi"
 
 msgid "No file name specified for writing."
 msgstr "Yazmak için dosya adı belirtilmedi."
 
 #, c-format
 msgid "Given file name \"%s\" can't be converted to local file name encoding."
-msgstr ""
+msgstr "Verilen dosya adı \"%s\" yerel dosya adı kodlamasına dönüştürülemiyor."
 
 #, c-format
 msgid "Could not open file \"%s\" for writing."
@@ -203,28 +205,30 @@
 msgid "Could not get settings from frontend device \"%s\"."
 msgstr "Aygıt ayarları bulunamadı \"%s\"."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
-msgstr "Aygıt ayarları bulunamadı \"%s\"."
+msgstr "\"%s\" ön yüz aygıtından iletim sistemleri numaralandırılanamıyor"
 
 #, c-format
 msgid "Could not open file \"%s\" for reading."
 msgstr "Dosyayı \"%s\" okumak için açamıyor."
 
-#, fuzzy
 msgid "Couldn't find DVB channel configuration file"
-msgstr "Sanal karıştırıcı kanal yapılandırması"
+msgstr "DVB kanal yapılandırma dosyası bulunamadı"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Couldn't load DVB channel configuration file: %s"
-msgstr "Sanal karıştırıcı kanal yapılandırması"
+msgstr "DVB kanal yapılandırma dosyası yüklenemedi: %s"
 
 msgid "DVB channel configuration file doesn't contain any channels"
-msgstr ""
+msgstr "DVB kanal yapılandırma dosyası herhangi bir kanal içermiyor"
 
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
-msgstr ""
+msgstr "DVB kanalı %s için ayrıntılar bulunamadı"
+
+#~ msgid "Couldn't get the Manifest's URI"
+#~ msgstr "Manifest URI alınamadı"
 
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "Dosya yazılamıyor \"%s\"."
diff --git a/po/uk.gmo b/po/uk.gmo
index aee5c34..cf50c8b 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 7efb682..5f717d2 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -6,10 +6,10 @@
 # Yuri Chornoivan <yurchor@ukr.net>, 2011, 2013, 2014.
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad 1.3.2\n"
+"Project-Id-Version: gst-plugins-bad 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2014-05-22 07:31+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2014-08-29 08:35+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
 "Language: uk\n"
@@ -21,83 +21,101 @@
 "X-Generator: Lokalize 1.5\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "формат не було узгоджено до виклику функції get"
 
 msgid "default GStreamer sound events audiosink"
-msgstr ""
+msgstr "типовий приймач звукових подій GStreamer"
 
+#, fuzzy
 msgid ""
 "GStreamer can play audio using any number of output elements. Some possible "
 "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"У GStreamer передбачено можливість відтворення звукових даних за допомогою "
+"довільної кількості елементів виведення. Серед можливих варіантів osssink, "
+"pulsesink та alsasink. Звуковий приймач може бути окремим каналом з "
+"декількох обробників, а не одним елементом."
 
 msgid "description for default GStreamer sound events audiosink"
-msgstr ""
+msgstr "опис типового приймача звукових подій GStreamer"
 
 msgid "Describes the selected audiosink element."
-msgstr ""
+msgstr "Описує вибраний елемент audiosink."
 
 msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "типовий звуковий приймач GStreamer для звукових та відеоконференцій"
 
 msgid ""
 "description for default GStreamer audiosink for Audio/Video Conferencing"
 msgstr ""
+"опис типового звукового приймача GStreamer для звукових та відеоконференцій"
 
 msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "типовий звуковий приймач GStreamer для музики і фільмів"
 
 msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "опис типового звукового приймача GStreamer для музики і фільмів"
 
 msgid "default GStreamer videosink"
-msgstr ""
+msgstr "типовий відеоприймач GStreamer"
 
 msgid ""
 "GStreamer can play video using any number of output elements. Some possible "
 "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 "can be a partial pipeline instead of just one element."
 msgstr ""
+"У GStreamer передбачено відтворення відео за допомогою довільної кількості "
+"елементів виведення. Серед можливих варіантів xvimagesink, ximagesink, "
+"sdlvideosink та aasink. Приймач відеоданих може бути окремим каналом з "
+"декількох обробників, а не просто одним елементом."
 
 msgid "description for default GStreamer videosink"
-msgstr ""
+msgstr "опис типового відеоприймача GStreamer"
 
 msgid "Describes the selected videosink element."
-msgstr ""
+msgstr "Описує вибраний елемент videosink."
 
 msgid "default GStreamer audiosrc"
-msgstr ""
+msgstr "типове джерело звуку GStreamer"
 
 msgid ""
 "GStreamer can record audio using any number of input elements. Some possible "
 "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"У GStreamer передбачено можливість запису звукових даних за допомогою "
+"довільної кількості елементів вхідних даних. Серед можливих варіантів "
+"osssrc, pulsesrc та alsasrc. Джерелом звукових даних може бути окремий канал "
+"з декількох елементів, а не просто один елемент."
 
 msgid "description for default GStreamer audiosrc"
-msgstr ""
+msgstr "опис типового джерела звуку GStreamer"
 
 msgid "Describes the selected audiosrc element."
-msgstr ""
+msgstr "Описує вибраний елемент audiosrc."
 
 msgid "default GStreamer videosrc"
-msgstr ""
+msgstr "типове джерело відео GStreamer"
 
 msgid ""
 "GStreamer can record video from any number of input elements. Some possible "
 "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 "partial pipeline instead of just one element."
 msgstr ""
+"У GStreamer передбачено можливість запису відеоданих за допомогою довільної "
+"кількості елементів вхідних даних. Серед можливих варіантів v4lsrc, v4l2src "
+"та videotestsrc. Джерелом відеоданих може бути окремий канал з декількох "
+"елементів, а не просто один елемент."
 
 msgid "description for default GStreamer videosrc"
-msgstr ""
+msgstr "опис типового джерела відео GStreamer"
 
 msgid "Describes the selected videosrc element."
-msgstr ""
+msgstr "Описує вибраний елемент videosrc."
 
 msgid "default GStreamer visualization"
-msgstr ""
+msgstr "типова візуалізація GStreamer"
 
 msgid ""
 "GStreamer can put visualization plugins in a pipeline to transform audio "
@@ -105,12 +123,16 @@
 "synaesthesia. The visualization plugin can be a partial pipeline instead of "
 "just one element."
 msgstr ""
+"У GStreamer передбачено додавання до каналу обробки додатків візуалізації "
+"для обробки потоків звукових даних у кадрах відео. Серед можливих варіантів "
+"goom, goom2k1 та synaesthesia. Додаток візуалізації може бути окремим "
+"каналом, а не просто одним елементом."
 
 msgid "description for default GStreamer visualization"
-msgstr ""
+msgstr "опис типової візуалізації GStreamer"
 
 msgid "Describes the selected visualization element."
-msgstr ""
+msgstr "Описує вибраний елемент візуалізації."
 
 msgid "OpenCV failed to load template image"
 msgstr ""
diff --git a/po/vi.gmo b/po/vi.gmo
index f38dc26..cad6d68 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 2313f7c..accce56 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad-1.3.90\n"
+"Project-Id-Version: gst-plugins-bad-1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
-"PO-Revision-Date: 2014-06-30 08:59+0700\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
+"PO-Revision-Date: 2014-08-29 15:09+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
@@ -24,83 +24,96 @@
 "X-Poedit-Country: VIET NAM\n"
 
 msgid "format wasn't negotiated before get function"
-msgstr ""
+msgstr "định dạng không được dàn xếp trước hàm"
 
 msgid "default GStreamer sound events audiosink"
-msgstr ""
+msgstr "các sự kiện âm thanh GStreamer mặc định cho “audiosink”"
 
+#, fuzzy
 msgid ""
 "GStreamer can play audio using any number of output elements. Some possible "
 "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer có thể chạy nhạc với bất kỳ số lượng phần tử đầu ra nào. Một số có "
+"thể chọn lựa là osssink, pulsesink và alsasink. “audiosink” có thể là đường "
+"ống đặc biệt thay vì chỉ một phần tử."
 
 msgid "description for default GStreamer sound events audiosink"
-msgstr ""
+msgstr "mô tả cho các sự kiện âm thanh GStreamer mặc định dành cho “audiosink”"
 
 msgid "Describes the selected audiosink element."
-msgstr ""
+msgstr "Mô tả về phần tử “audiosink” đã chọn."
 
 msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "“GStreamer audiosink” mặc định dành cho Hội nghị Nhạc/Phim"
 
 msgid ""
 "description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
+msgstr "mô tả cho GStreamer audiosink mặc định dành cho Hội nghị Nhạc/Phim"
 
 msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "GStreamer audiosink mặc định dành cho Âm nhạc và Phim"
 
 msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
+msgstr "mô tả cho GStreamer audiosink mặc định dành cho Âm nhạc và Phim"
 
 msgid "default GStreamer videosink"
-msgstr ""
+msgstr "GStreamer videosink mặc định"
 
 msgid ""
 "GStreamer can play video using any number of output elements. Some possible "
 "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 "can be a partial pipeline instead of just one element."
 msgstr ""
+"GStreamer có thể chạy phim với bất kỳ số lượng phần tử đầu ra nào. Một số có "
+"thể chọn lựa là xvimagesink, ximagesink, sdlvideosink và aasink. “videosink” "
+"có thể là đường ống đặc biệt thay vì chỉ một phần tử."
 
 msgid "description for default GStreamer videosink"
-msgstr ""
+msgstr "mô tả phần tử nguồn hình ảnh GStreamer mặc định"
 
 msgid "Describes the selected videosink element."
-msgstr ""
+msgstr "Mô tả phần tử videosink đã chọn."
 
 msgid "default GStreamer audiosrc"
-msgstr ""
+msgstr "nguồn âm thanh GStreamer mặc định"
 
 msgid ""
 "GStreamer can record audio using any number of input elements. Some possible "
 "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 "pipeline instead of just one element."
 msgstr ""
+"GStreamer có thể ghi âm thanh dùng bao nhiêu phần tử đầu vào cũng được. Một "
+"số lựa chọn là osssrc, plusesrc và alsasrc. Nguồn âm thanh có thể là các "
+"đường ống cục bộ nào đó thay vì chỉ một phần tử nguồn."
 
 msgid "description for default GStreamer audiosrc"
-msgstr ""
+msgstr "mô tả phần tử nguồn âm thanh GStreamer mặc định"
 
 msgid "Describes the selected audiosrc element."
-msgstr ""
+msgstr "Mô tả phần tử nguồn âm thanh đã chọn."
 
 msgid "default GStreamer videosrc"
-msgstr ""
+msgstr "nguồn hình ảnh GStreamer mặc định"
 
 msgid ""
 "GStreamer can record video from any number of input elements. Some possible "
 "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 "partial pipeline instead of just one element."
 msgstr ""
+"GStreamer có thể chạy phim với bất kỳ số lượng phần tử đầu vào nào. Một số "
+"có thể chọn lựa là v4lsrc, v4l2src và videotestsrc. Nguồn hình có thể là "
+"đường ống đặc biệt thay vì chỉ một phần tử."
 
 msgid "description for default GStreamer videosrc"
-msgstr ""
+msgstr "mô tả cho nguồn hình GStreamer mặc định"
 
 msgid "Describes the selected videosrc element."
-msgstr ""
+msgstr "Mô tả phần tử nguồn hình ảnh đã chọn."
 
 msgid "default GStreamer visualization"
-msgstr ""
+msgstr "hiện hình GStreamer mặc định"
 
 msgid ""
 "GStreamer can put visualization plugins in a pipeline to transform audio "
@@ -108,12 +121,16 @@
 "synaesthesia. The visualization plugin can be a partial pipeline instead of "
 "just one element."
 msgstr ""
+"GStreamer có thể đặt phần bổ xung hiện hình trong một đường ống để mà chuyển "
+"dạng luồng dữ liệu âm thanh trong khung hình phim. Một số có thể chọn lựa là "
+"goom, goom2k1 và synaesthesia. Phần bổ xung hiện hình có thể là đường ống "
+"đặc biệt thay vì chỉ một phần tử."
 
 msgid "description for default GStreamer visualization"
-msgstr ""
+msgstr "mô tả về hiện hình GStreamer mặc định"
 
 msgid "Describes the selected visualization element."
-msgstr ""
+msgstr "Mô tả về phần tử hiện hình đã chọn."
 
 msgid "OpenCV failed to load template image"
 msgstr ""
@@ -165,7 +182,7 @@
 
 #, c-format
 msgid "Missing element '%s' - check your GStreamer installation."
-msgstr "Thiếu phần tử “%s” — hãy kiểm tra lại cài đặt GStreamer."
+msgstr "Thiếu phần tử “%s” — hãy kiểm tra lại phần cài đặt GStreamer."
 
 msgid "File location is set to NULL, please set it to a valid filename"
 msgstr ""
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index a7e5183..75b7530 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 4a0271e..42392e3 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.16.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-05-13 13:05+0300\n"
+"POT-Creation-Date: 2015-06-07 10:59+0200\n"
 "PO-Revision-Date: 2009-11-20 18:12中国标准时间\n"
 "Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
diff --git a/sys/androidmedia/gstamc.c b/sys/androidmedia/gstamc.c
index 8080de4..0578d3c 100644
--- a/sys/androidmedia/gstamc.c
+++ b/sys/androidmedia/gstamc.c
@@ -72,7 +72,9 @@
   jmethodID dequeue_output_buffer;
   jmethodID flush;
   jmethodID get_input_buffers;
+  jmethodID get_input_buffer;
   jmethodID get_output_buffers;
+  jmethodID get_output_buffer;
   jmethodID get_output_format;
   jmethodID queue_input_buffer;
   jmethodID release;
@@ -106,6 +108,11 @@
   jmethodID set_byte_buffer;
 } media_format;
 
+static GstAmcBuffer *gst_amc_codec_get_input_buffers (GstAmcCodec * codec,
+    gsize * n_buffers, GError ** err);
+static GstAmcBuffer *gst_amc_codec_get_output_buffers (GstAmcCodec * codec,
+    gsize * n_buffers, GError ** err);
+
 GstAmcCodec *
 gst_amc_codec_new (const gchar * name, GError ** err)
 {
@@ -160,6 +167,19 @@
   g_return_if_fail (codec != NULL);
 
   env = gst_amc_jni_get_env ();
+
+  if (codec->input_buffers)
+    gst_amc_jni_free_buffer_array (env, codec->input_buffers,
+        codec->n_input_buffers);
+  codec->input_buffers = NULL;
+  codec->n_input_buffers = 0;
+
+  if (codec->output_buffers)
+    gst_amc_jni_free_buffer_array (env, codec->output_buffers,
+        codec->n_output_buffers);
+  codec->output_buffers = NULL;
+  codec->n_output_buffers = 0;
+
   gst_amc_jni_object_unref (env, codec->object);
   g_slice_free (GstAmcCodec, codec);
 }
@@ -212,12 +232,29 @@
 gst_amc_codec_start (GstAmcCodec * codec, GError ** err)
 {
   JNIEnv *env;
+  gboolean ret;
 
   g_return_val_if_fail (codec != NULL, FALSE);
 
   env = gst_amc_jni_get_env ();
-  return gst_amc_jni_call_void_method (env, err, codec->object,
+  ret = gst_amc_jni_call_void_method (env, err, codec->object,
       media_codec.start);
+  if (!ret)
+    return ret;
+
+  if (!media_codec.get_input_buffer) {
+    if (codec->input_buffers)
+      gst_amc_jni_free_buffer_array (env, codec->input_buffers,
+          codec->n_input_buffers);
+    codec->input_buffers =
+        gst_amc_codec_get_input_buffers (codec, &codec->n_input_buffers, err);
+    if (!codec->input_buffers) {
+      gst_amc_codec_stop (codec, NULL);
+      return FALSE;
+    }
+  }
+
+  return ret;
 }
 
 gboolean
@@ -228,6 +265,19 @@
   g_return_val_if_fail (codec != NULL, FALSE);
 
   env = gst_amc_jni_get_env ();
+
+  if (codec->input_buffers)
+    gst_amc_jni_free_buffer_array (env, codec->input_buffers,
+        codec->n_input_buffers);
+  codec->input_buffers = NULL;
+  codec->n_input_buffers = 0;
+
+  if (codec->output_buffers)
+    gst_amc_jni_free_buffer_array (env, codec->output_buffers,
+        codec->n_output_buffers);
+  codec->output_buffers = NULL;
+  codec->n_output_buffers = 0;
+
   return gst_amc_jni_call_void_method (env, err, codec->object,
       media_codec.stop);
 }
@@ -252,11 +302,24 @@
   g_return_val_if_fail (codec != NULL, FALSE);
 
   env = gst_amc_jni_get_env ();
+
+  if (codec->input_buffers)
+    gst_amc_jni_free_buffer_array (env, codec->input_buffers,
+        codec->n_input_buffers);
+  codec->input_buffers = NULL;
+  codec->n_input_buffers = 0;
+
+  if (codec->output_buffers)
+    gst_amc_jni_free_buffer_array (env, codec->output_buffers,
+        codec->n_output_buffers);
+  codec->output_buffers = NULL;
+  codec->n_output_buffers = 0;
+
   return gst_amc_jni_call_void_method (env, err, codec->object,
       media_codec.release);
 }
 
-GstAmcBuffer *
+static GstAmcBuffer *
 gst_amc_codec_get_output_buffers (GstAmcCodec * codec, gsize * n_buffers,
     GError ** err)
 {
@@ -284,6 +347,55 @@
 }
 
 GstAmcBuffer *
+gst_amc_codec_get_output_buffer (GstAmcCodec * codec, gint index, GError ** err)
+{
+  JNIEnv *env;
+  jobject buffer = NULL;
+  GstAmcBuffer *ret = NULL;
+
+  g_return_val_if_fail (codec != NULL, NULL);
+  g_return_val_if_fail (index >= 0, NULL);
+
+  env = gst_amc_jni_get_env ();
+
+  if (!media_codec.get_output_buffer) {
+    g_return_val_if_fail (index < codec->n_output_buffers && index >= 0, NULL);
+    return gst_amc_buffer_copy (&codec->output_buffers[index]);
+  }
+
+  if (!gst_amc_jni_call_object_method (env, err, codec->object,
+          media_codec.get_output_buffer, &buffer, index))
+    goto done;
+
+  ret = g_new0 (GstAmcBuffer, 1);
+  ret->object = gst_amc_jni_object_make_global (env, buffer);
+  if (!ret->object) {
+    gst_amc_jni_set_error (env, err, GST_LIBRARY_ERROR,
+        GST_LIBRARY_ERROR_FAILED, "Failed to create global buffer reference");
+    goto error;
+  }
+
+  ret->data = (*env)->GetDirectBufferAddress (env, ret->object);
+  if (!ret->data) {
+    gst_amc_jni_set_error (env, err, GST_LIBRARY_ERROR,
+        GST_LIBRARY_ERROR_FAILED, "Failed to get buffer address");
+    goto error;
+  }
+  ret->size = (*env)->GetDirectBufferCapacity (env, ret->object);
+
+done:
+
+  return ret;
+
+error:
+  if (ret->object)
+    gst_amc_jni_object_unref (env, ret->object);
+  g_free (ret);
+
+  return NULL;
+}
+
+static GstAmcBuffer *
 gst_amc_codec_get_input_buffers (GstAmcCodec * codec, gsize * n_buffers,
     GError ** err)
 {
@@ -310,13 +422,53 @@
   return ret;
 }
 
-void
-gst_amc_codec_free_buffers (GstAmcBuffer * buffers, gsize n_buffers)
+GstAmcBuffer *
+gst_amc_codec_get_input_buffer (GstAmcCodec * codec, gint index, GError ** err)
 {
   JNIEnv *env;
+  jobject buffer = NULL;
+  GstAmcBuffer *ret = NULL;
+
+  g_return_val_if_fail (codec != NULL, NULL);
+  g_return_val_if_fail (index >= 0, NULL);
 
   env = gst_amc_jni_get_env ();
-  gst_amc_jni_free_buffer_array (env, buffers, n_buffers);
+
+  if (!media_codec.get_input_buffer) {
+    g_return_val_if_fail (index < codec->n_input_buffers && index >= 0, NULL);
+    return gst_amc_buffer_copy (&codec->input_buffers[index]);
+  }
+
+  if (!gst_amc_jni_call_object_method (env, err, codec->object,
+          media_codec.get_input_buffer, &buffer, index))
+    goto done;
+
+  ret = g_new0 (GstAmcBuffer, 1);
+  ret->object = gst_amc_jni_object_make_global (env, buffer);
+  if (!ret->object) {
+    gst_amc_jni_set_error (env, err, GST_LIBRARY_ERROR,
+        GST_LIBRARY_ERROR_FAILED, "Failed to create global buffer reference");
+    goto error;
+  }
+
+  ret->data = (*env)->GetDirectBufferAddress (env, ret->object);
+  if (!ret->data) {
+    gst_amc_jni_set_error (env, err, GST_LIBRARY_ERROR,
+        GST_LIBRARY_ERROR_FAILED, "Failed to get buffer address");
+    goto error;
+  }
+  ret->size = (*env)->GetDirectBufferCapacity (env, ret->object);
+
+done:
+
+  return ret;
+
+error:
+  if (ret->object)
+    gst_amc_jni_object_unref (env, ret->object);
+  g_free (ret);
+
+  return NULL;
 }
 
 gint
@@ -386,7 +538,30 @@
     goto done;
   }
 
-  if (!gst_amc_codec_fill_buffer_info (env, info_o, info, err)) {
+  if (ret == INFO_OUTPUT_BUFFERS_CHANGED || ret == INFO_OUTPUT_FORMAT_CHANGED
+      || (ret >= 0 && !codec->output_buffers
+          && !media_codec.get_output_buffer)) {
+    if (!media_codec.get_output_buffer) {
+      if (codec->output_buffers)
+        gst_amc_jni_free_buffer_array (env, codec->output_buffers,
+            codec->n_output_buffers);
+      codec->output_buffers =
+          gst_amc_codec_get_output_buffers (codec,
+          &codec->n_output_buffers, err);
+      if (!codec->output_buffers) {
+        ret = G_MININT;
+        goto done;
+      }
+    }
+    if (ret == INFO_OUTPUT_BUFFERS_CHANGED) {
+      gst_amc_jni_object_local_unref (env, info_o);
+      return gst_amc_codec_dequeue_output_buffer (codec, info, timeoutUs, err);
+    }
+  } else if (ret < 0) {
+    goto done;
+  }
+
+  if (ret >= 0 && !gst_amc_codec_fill_buffer_info (env, info_o, info, err)) {
     ret = G_MININT;
     goto done;
   }
@@ -766,6 +941,8 @@
   gboolean ret = FALSE;
   jstring key_str = NULL;
   jobject v = NULL;
+  GstAmcBuffer buf = { 0, };
+  gint position = 0, limit = 0;
 
   g_return_val_if_fail (format != NULL, FALSE);
   g_return_val_if_fail (key != NULL, FALSE);
@@ -791,7 +968,14 @@
     goto done;
   }
   *size = (*env)->GetDirectBufferCapacity (env, v);
-  *data = g_memdup (*data, *size);
+
+  buf.object = v;
+  buf.data = *data;
+  buf.size = *size;
+  gst_amc_buffer_get_position_and_limit (&buf, NULL, &position, &limit);
+  *size = limit;
+
+  *data = g_memdup (*data + position, limit);
 
   ret = TRUE;
 
@@ -812,6 +996,7 @@
   jstring key_str = NULL;
   jobject v = NULL;
   gboolean ret = FALSE;
+  GstAmcBuffer buf = { 0, };
 
   g_return_val_if_fail (format != NULL, FALSE);
   g_return_val_if_fail (key != NULL, FALSE);
@@ -831,6 +1016,12 @@
     goto done;
   }
 
+  buf.object = v;
+  buf.data = data;
+  buf.size = size;
+
+  gst_amc_buffer_set_position_and_limit (&buf, NULL, 0, size);
+
   if (!gst_amc_jni_call_void_method (env, err, format->object,
           media_format.set_byte_buffer, key_str, v))
     goto done;
@@ -972,6 +1163,20 @@
     goto done;
   }
 
+  /* Android >= 21 */
+  media_codec.get_output_buffer =
+      (*env)->GetMethodID (env, media_codec.klass, "getOutputBuffer",
+      "(I)Ljava/nio/ByteBuffer;");
+  if ((*env)->ExceptionCheck (env))
+    (*env)->ExceptionClear (env);
+
+  /* Android >= 21 */
+  media_codec.get_input_buffer =
+      (*env)->GetMethodID (env, media_codec.klass, "getInputBuffer",
+      "(I)Ljava/nio/ByteBuffer;");
+  if ((*env)->ExceptionCheck (env))
+    (*env)->ExceptionClear (env);
+
   tmp = (*env)->FindClass (env, "android/media/MediaCodec$BufferInfo");
   if (!tmp) {
     ret = FALSE;
@@ -2925,12 +3130,36 @@
 
       /* Give the Google software codec a secondary rank,
        * everything else is likely a hardware codec, except
-       * OMX.SEC.*.sw.dec (as seen in Galaxy S4) */
+       * OMX.SEC.*.sw.dec (as seen in Galaxy S4).
+       *
+       * Also on some devices there are codecs that don't start
+       * with OMX., while there are also some that do. And on
+       * some of these devices the ones that don't start with
+       * OMX. just crash during initialization while the others
+       * work. To make things even more complicated other devices
+       * have codecs with the same name that work and no alternatives.
+       * So just give a lower rank to these non-OMX codecs and hope
+       * that there's an alternative with a higher rank.
+       */
       if (g_str_has_prefix (codec_info->name, "OMX.google") ||
-          g_str_has_suffix (codec_info->name, ".sw.dec"))
+          g_str_has_suffix (codec_info->name, ".sw.dec")) {
         rank = GST_RANK_SECONDARY;
-      else
+      } else if (g_str_has_prefix (codec_info->name, "OMX.Exynos.")
+          && !is_video) {
+        /* OMX.Exynos. audio codecs are existing on some devices like the
+         * Galaxy S5 mini, and cause random crashes (of the device,
+         * not the app!) and generally misbehave. That specific device
+         * has other codecs that work with a different name, but let's
+         * just give them marginal rank in case there are devices that
+         * have no other codecs and these are actually the only working
+         * ones
+         */
+        rank = GST_RANK_MARGINAL;
+      } else if (g_str_has_prefix (codec_info->name, "OMX.")) {
         rank = GST_RANK_PRIMARY;
+      } else {
+        rank = GST_RANK_MARGINAL;
+      }
 
       ret |= gst_element_register (plugin, element_name, rank, subtype);
       g_free (element_name);
diff --git a/sys/androidmedia/gstamc.h b/sys/androidmedia/gstamc.h
index e216039..88d49fb 100644
--- a/sys/androidmedia/gstamc.h
+++ b/sys/androidmedia/gstamc.h
@@ -65,6 +65,9 @@
 struct _GstAmcCodec {
   /* < private > */
   jobject object; /* global reference */
+
+  GstAmcBuffer *input_buffers, *output_buffers;
+  gsize n_input_buffers, n_output_buffers;
 };
 
 struct _GstAmcBufferInfo {
@@ -87,9 +90,8 @@
 gboolean gst_amc_codec_flush (GstAmcCodec * codec, GError **err);
 gboolean gst_amc_codec_release (GstAmcCodec * codec, GError **err);
 
-GstAmcBuffer * gst_amc_codec_get_output_buffers (GstAmcCodec * codec, gsize * n_buffers, GError **err);
-GstAmcBuffer * gst_amc_codec_get_input_buffers (GstAmcCodec * codec, gsize * n_buffers, GError **err);
-void gst_amc_codec_free_buffers (GstAmcBuffer * buffers, gsize n_buffers);
+GstAmcBuffer * gst_amc_codec_get_output_buffer (GstAmcCodec * codec, gint index, GError **err);
+GstAmcBuffer * gst_amc_codec_get_input_buffer (GstAmcCodec * codec, gint index, GError **err);
 
 gint gst_amc_codec_dequeue_input_buffer (GstAmcCodec * codec, gint64 timeoutUs, GError **err);
 gint gst_amc_codec_dequeue_output_buffer (GstAmcCodec * codec, GstAmcBufferInfo *info, gint64 timeoutUs, GError **err);
diff --git a/sys/androidmedia/gstamcaudiodec.c b/sys/androidmedia/gstamcaudiodec.c
index d381eec..bc81907 100644
--- a/sys/androidmedia/gstamcaudiodec.c
+++ b/sys/androidmedia/gstamcaudiodec.c
@@ -7,6 +7,8 @@
  * Copyright (C) 2012, Collabora Ltd.
  *   Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
  *
+ * Copyright (C) 2015, Sebastian Dröge <sebastian@centricular.com>
+ *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation
@@ -228,6 +230,7 @@
 
   g_mutex_init (&self->drain_lock);
   g_cond_init (&self->drain_cond);
+  self->output_adapter = gst_adapter_new ();
 }
 
 static gboolean
@@ -283,6 +286,10 @@
 {
   GstAmcAudioDec *self = GST_AMC_AUDIO_DEC (object);
 
+  if (self->output_adapter)
+    gst_object_unref (self->output_adapter);
+  self->output_adapter = NULL;
+
   g_mutex_clear (&self->drain_lock);
   g_cond_clear (&self->drain_cond);
 
@@ -403,6 +410,7 @@
 {
   GstFlowReturn flow_ret = GST_FLOW_OK;
   gboolean is_eos;
+  GstAmcBuffer *buf;
   GstAmcBufferInfo buffer_info;
   gint idx;
   GError *err = NULL;
@@ -430,18 +438,10 @@
     }
 
     switch (idx) {
-      case INFO_OUTPUT_BUFFERS_CHANGED:{
-        GST_DEBUG_OBJECT (self, "Output buffers have changed");
-        if (self->output_buffers)
-          gst_amc_codec_free_buffers (self->output_buffers,
-              self->n_output_buffers);
-        self->output_buffers =
-            gst_amc_codec_get_output_buffers (self->codec,
-            &self->n_output_buffers, &err);
-        if (!self->output_buffers)
-          goto get_output_buffers_error;
+      case INFO_OUTPUT_BUFFERS_CHANGED:
+        /* Handled internally */
+        g_assert_not_reached ();
         break;
-      }
       case INFO_OUTPUT_FORMAT_CHANGED:{
         GstAmcFormat *format;
         gchar *format_string;
@@ -466,15 +466,6 @@
         }
         gst_amc_format_free (format);
 
-        if (self->output_buffers)
-          gst_amc_codec_free_buffers (self->output_buffers,
-              self->n_output_buffers);
-        self->output_buffers =
-            gst_amc_codec_get_output_buffers (self->codec,
-            &self->n_output_buffers, &err);
-        if (!self->output_buffers)
-          goto get_output_buffers_error;
-
         goto retry;
 
       }
@@ -495,24 +486,24 @@
   }
 
   GST_DEBUG_OBJECT (self,
-      "Got output buffer at index %d: size %d time %" G_GINT64_FORMAT
-      " flags 0x%08x", idx, buffer_info.size, buffer_info.presentation_time_us,
-      buffer_info.flags);
+      "Got output buffer at index %d: offset %d size %d time %" G_GINT64_FORMAT
+      " flags 0x%08x", idx, buffer_info.offset, buffer_info.size,
+      buffer_info.presentation_time_us, buffer_info.flags);
 
   is_eos = ! !(buffer_info.flags & BUFFER_FLAG_END_OF_STREAM);
 
+  buf = gst_amc_codec_get_output_buffer (self->codec, idx, &err);
+  if (!buf)
+    goto failed_to_get_output_buffer;
+
   if (buffer_info.size > 0) {
     GstBuffer *outbuf;
-    GstAmcBuffer *buf;
     GstMapInfo minfo;
-    gint nframes;
 
     /* This sometimes happens at EOS or if the input is not properly framed,
      * let's handle it gracefully by allocating a new buffer for the current
      * caps and filling it
      */
-    if (idx >= self->n_output_buffers)
-      goto invalid_buffer_index;
 
     if (buffer_info.size % self->info.bpf != 0)
       goto invalid_buffer_size;
@@ -524,7 +515,6 @@
       goto failed_allocate;
 
     gst_buffer_map (outbuf, &minfo, GST_MAP_WRITE);
-    buf = &self->output_buffers[idx];
     if (self->needs_reorder) {
       gint i, n_samples, c, n_channels;
       gint *reorder_map = self->reorder_map;
@@ -545,18 +535,42 @@
     }
     gst_buffer_unmap (outbuf, &minfo);
 
-    nframes = 1;
     if (self->spf != -1) {
-      nframes = buffer_info.size / self->info.bpf;
-      if (nframes % self->spf != 0)
-        GST_WARNING_OBJECT (self, "Output buffer does not contain an integer "
-            "number of input frames (frames: %d, spf: %d)", nframes, self->spf);
-      nframes = (nframes + self->spf - 1) / self->spf;
+      gst_adapter_push (self->output_adapter, outbuf);
+    } else {
+      flow_ret =
+          gst_audio_decoder_finish_frame (GST_AUDIO_DECODER (self), outbuf, 1);
     }
+  }
 
-    flow_ret =
-        gst_audio_decoder_finish_frame (GST_AUDIO_DECODER (self), outbuf,
-        nframes);
+  gst_amc_buffer_free (buf);
+  buf = NULL;
+
+  if (self->spf != -1) {
+    GstBuffer *outbuf;
+    guint avail = gst_adapter_available (self->output_adapter);
+    guint nframes;
+
+    /* On EOS we take the complete adapter content, no matter
+     * if it is a multiple of the codec frame size or not.
+     * Otherwise we take a multiple of codec frames and push
+     * them downstream
+     */
+    avail /= self->info.bpf;
+    if (!is_eos) {
+      nframes = avail / self->spf;
+      avail = nframes * self->spf;
+    } else {
+      nframes = (avail + self->spf - 1) / self->spf;
+    }
+    avail *= self->info.bpf;
+
+    if (avail > 0) {
+      outbuf = gst_adapter_take_buffer (self->output_adapter, avail);
+      flow_ret =
+          gst_audio_decoder_finish_frame (GST_AUDIO_DECODER (self), outbuf,
+          nframes);
+    }
   }
 
   if (!gst_amc_codec_release_output_buffer (self->codec, idx, &err)) {
@@ -607,20 +621,6 @@
     return;
   }
 
-get_output_buffers_error:
-  {
-    GST_ELEMENT_ERROR_FROM_ERROR (self, err);
-    gst_pad_push_event (GST_AUDIO_DECODER_SRC_PAD (self), gst_event_new_eos ());
-    gst_pad_pause_task (GST_AUDIO_DECODER_SRC_PAD (self));
-    self->downstream_flow_ret = GST_FLOW_ERROR;
-    GST_AUDIO_DECODER_STREAM_UNLOCK (self);
-    g_mutex_lock (&self->drain_lock);
-    self->draining = FALSE;
-    g_cond_broadcast (&self->drain_cond);
-    g_mutex_unlock (&self->drain_lock);
-    return;
-  }
-
 format_error:
   {
     if (err)
@@ -686,10 +686,9 @@
     return;
   }
 
-invalid_buffer_index:
+failed_to_get_output_buffer:
   {
-    GST_ELEMENT_ERROR (self, LIBRARY, FAILED, (NULL),
-        ("Invalid input buffer index %d of %d", idx, self->n_input_buffers));
+    GST_AUDIO_DECODER_ERROR_FROM_ERROR (self, err);
     gst_pad_push_event (GST_AUDIO_DECODER_SRC_PAD (self), gst_event_new_eos ());
     gst_pad_pause_task (GST_AUDIO_DECODER_SRC_PAD (self));
     self->downstream_flow_ret = GST_FLOW_ERROR;
@@ -771,17 +770,14 @@
     if (err)
       GST_ELEMENT_WARNING_FROM_ERROR (self, err);
     self->started = FALSE;
-    if (self->input_buffers)
-      gst_amc_codec_free_buffers (self->input_buffers, self->n_input_buffers);
-    self->input_buffers = NULL;
-    if (self->output_buffers)
-      gst_amc_codec_free_buffers (self->output_buffers, self->n_output_buffers);
-    self->output_buffers = NULL;
   }
   gst_pad_stop_task (GST_AUDIO_DECODER_SRC_PAD (decoder));
 
   memset (self->positions, 0, sizeof (self->positions));
 
+  gst_adapter_flush (self->output_adapter,
+      gst_adapter_available (self->output_adapter));
+
   g_list_foreach (self->codec_datas, (GFunc) g_free, NULL);
   g_list_free (self->codec_datas);
   self->codec_datas = NULL;
@@ -945,17 +941,6 @@
     return FALSE;
   }
 
-  if (self->input_buffers)
-    gst_amc_codec_free_buffers (self->input_buffers, self->n_input_buffers);
-  self->input_buffers =
-      gst_amc_codec_get_input_buffers (self->codec, &self->n_input_buffers,
-      &err);
-  if (!self->input_buffers) {
-    GST_ERROR_OBJECT (self, "Failed to get input buffers");
-    GST_ELEMENT_ERROR_FROM_ERROR (self, err);
-    return FALSE;
-  }
-
   self->spf = -1;
   /* TODO: Implement for other codecs too */
   if (gst_structure_has_name (s, "audio/mpeg")) {
@@ -1014,6 +999,8 @@
   gst_amc_codec_flush (self->codec, &err);
   if (err)
     GST_ELEMENT_WARNING_FROM_ERROR (self, err);
+  gst_adapter_flush (self->output_adapter,
+      gst_adapter_available (self->output_adapter));
   self->flushing = FALSE;
 
   /* Start the srcpad loop again */
@@ -1103,9 +1090,6 @@
       continue;
     }
 
-    if (idx >= self->n_input_buffers)
-      goto invalid_buffer_index;
-
     if (self->flushing) {
       memset (&buffer_info, 0, sizeof (buffer_info));
       gst_amc_codec_queue_input_buffer (self->codec, idx, &buffer_info, NULL);
@@ -1125,14 +1109,21 @@
 
     /* Copy the buffer content in chunks of size as requested
      * by the port */
-    buf = &self->input_buffers[idx];
+    buf = gst_amc_codec_get_input_buffer (self->codec, idx, &err);
+    if (!buf)
+      goto failed_to_get_input_buffer;
 
     memset (&buffer_info, 0, sizeof (buffer_info));
     buffer_info.offset = 0;
     buffer_info.size = MIN (minfo.size - offset, buf->size);
+    gst_amc_buffer_set_position_and_limit (buf, NULL, buffer_info.offset,
+        buffer_info.size);
 
     orc_memcpy (buf->data, minfo.data + offset, buffer_info.size);
 
+    gst_amc_buffer_free (buf);
+    buf = NULL;
+
     /* Interpolate timestamps if we're passing the buffer
      * in multiple chunks */
     if (offset != 0 && duration != GST_CLOCK_TIME_NONE) {
@@ -1182,10 +1173,9 @@
       gst_buffer_unref (inbuf);
     return self->downstream_flow_ret;
   }
-invalid_buffer_index:
+failed_to_get_input_buffer:
   {
-    GST_ELEMENT_ERROR (self, LIBRARY, FAILED, (NULL),
-        ("Invalid input buffer index %d of %d", idx, self->n_input_buffers));
+    GST_ELEMENT_ERROR_FROM_ERROR (self, err);
     if (minfo.data)
       gst_buffer_unmap (inbuf, &minfo);
     if (inbuf)
@@ -1251,43 +1241,53 @@
   idx = gst_amc_codec_dequeue_input_buffer (self->codec, 500000, &err);
   GST_AUDIO_DECODER_STREAM_LOCK (self);
 
-  if (idx >= 0 && idx < self->n_input_buffers) {
+  if (idx >= 0) {
+    GstAmcBuffer *buf;
     GstAmcBufferInfo buffer_info;
 
-    GST_AUDIO_DECODER_STREAM_UNLOCK (self);
-    g_mutex_lock (&self->drain_lock);
-    self->draining = TRUE;
+    buf = gst_amc_codec_get_input_buffer (self->codec, idx, &err);
+    if (buf) {
+      GST_AUDIO_DECODER_STREAM_UNLOCK (self);
+      g_mutex_lock (&self->drain_lock);
+      self->draining = TRUE;
 
-    memset (&buffer_info, 0, sizeof (buffer_info));
-    buffer_info.size = 0;
-    buffer_info.presentation_time_us =
-        gst_util_uint64_scale (self->last_upstream_ts, 1, GST_USECOND);
-    buffer_info.flags |= BUFFER_FLAG_END_OF_STREAM;
+      memset (&buffer_info, 0, sizeof (buffer_info));
+      buffer_info.size = 0;
+      buffer_info.presentation_time_us =
+          gst_util_uint64_scale (self->last_upstream_ts, 1, GST_USECOND);
+      buffer_info.flags |= BUFFER_FLAG_END_OF_STREAM;
 
-    if (gst_amc_codec_queue_input_buffer (self->codec, idx, &buffer_info, &err)) {
-      GST_DEBUG_OBJECT (self, "Waiting until codec is drained");
-      g_cond_wait (&self->drain_cond, &self->drain_lock);
-      GST_DEBUG_OBJECT (self, "Drained codec");
-      ret = GST_FLOW_OK;
-    } else {
-      GST_ERROR_OBJECT (self, "Failed to queue input buffer");
-      if (self->flushing) {
-        g_clear_error (&err);
-        ret = GST_FLOW_FLUSHING;
+      gst_amc_buffer_set_position_and_limit (buf, NULL, 0, 0);
+      gst_amc_buffer_free (buf);
+      buf = NULL;
+
+      if (gst_amc_codec_queue_input_buffer (self->codec, idx, &buffer_info,
+              &err)) {
+        GST_DEBUG_OBJECT (self, "Waiting until codec is drained");
+        g_cond_wait (&self->drain_cond, &self->drain_lock);
+        GST_DEBUG_OBJECT (self, "Drained codec");
+        ret = GST_FLOW_OK;
       } else {
-        GST_ELEMENT_WARNING_FROM_ERROR (self, err);
-        ret = GST_FLOW_ERROR;
+        GST_ERROR_OBJECT (self, "Failed to queue input buffer");
+        if (self->flushing) {
+          g_clear_error (&err);
+          ret = GST_FLOW_FLUSHING;
+        } else {
+          GST_ELEMENT_WARNING_FROM_ERROR (self, err);
+          ret = GST_FLOW_ERROR;
+        }
       }
-    }
 
-    self->drained = TRUE;
-    self->draining = FALSE;
-    g_mutex_unlock (&self->drain_lock);
-    GST_AUDIO_DECODER_STREAM_LOCK (self);
-  } else if (idx >= self->n_input_buffers) {
-    GST_ERROR_OBJECT (self, "Invalid input buffer index %d of %d",
-        idx, self->n_input_buffers);
-    ret = GST_FLOW_ERROR;
+      self->drained = TRUE;
+      self->draining = FALSE;
+      g_mutex_unlock (&self->drain_lock);
+      GST_AUDIO_DECODER_STREAM_LOCK (self);
+    } else {
+      GST_ERROR_OBJECT (self, "Failed to get buffer for EOS: %d", idx);
+      if (err)
+        GST_ELEMENT_WARNING_FROM_ERROR (self, err);
+      ret = GST_FLOW_ERROR;
+    }
   } else {
     GST_ERROR_OBJECT (self, "Failed to acquire buffer for EOS: %d", idx);
     if (err)
@@ -1295,5 +1295,8 @@
     ret = GST_FLOW_ERROR;
   }
 
+  gst_adapter_flush (self->output_adapter,
+      gst_adapter_available (self->output_adapter));
+
   return ret;
 }
diff --git a/sys/androidmedia/gstamcaudiodec.h b/sys/androidmedia/gstamcaudiodec.h
index 6c6124e..04e9734 100644
--- a/sys/androidmedia/gstamcaudiodec.h
+++ b/sys/androidmedia/gstamcaudiodec.h
@@ -51,14 +51,15 @@
 
   /* < private > */
   GstAmcCodec *codec;
-  GstAmcBuffer *input_buffers, *output_buffers;
-  gsize n_input_buffers, n_output_buffers;
 
   GstCaps *input_caps;
   GList *codec_datas;
   gboolean input_caps_changed;
   gint spf;
 
+  /* For collecting complete frames for the output */
+  GstAdapter *output_adapter;
+
   /* Output format of the codec */
   GstAudioInfo info;
   /* AMC positions, might need reordering */
diff --git a/sys/androidmedia/gstamcvideodec.c b/sys/androidmedia/gstamcvideodec.c
index a2ac65e..33bed1c 100644
--- a/sys/androidmedia/gstamcvideodec.c
+++ b/sys/androidmedia/gstamcvideodec.c
@@ -9,6 +9,8 @@
  *
  * Copyright (C) 2012, Rafaël Carré <funman@videolanorg>
  *
+ * Copyright (C) 2015, Sebastian Dröge <sebastian@centricular.com>
+ *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation
@@ -557,27 +559,18 @@
 }
 
 static gboolean
-gst_amc_video_dec_fill_buffer (GstAmcVideoDec * self, gint idx,
+gst_amc_video_dec_fill_buffer (GstAmcVideoDec * self, GstAmcBuffer * buf,
     const GstAmcBufferInfo * buffer_info, GstBuffer * outbuf)
 {
-  GstAmcBuffer *buf;
   GstVideoCodecState *state =
       gst_video_decoder_get_output_state (GST_VIDEO_DECODER (self));
   GstVideoInfo *info = &state->info;
   gboolean ret = FALSE;
 
-  if (idx >= self->n_output_buffers) {
-    GST_ERROR_OBJECT (self, "Invalid output buffer index %d of %d",
-        idx, self->n_output_buffers);
-    goto done;
-  }
-  buf = &self->output_buffers[idx];
-
   ret =
       gst_amc_color_format_copy (&self->color_format_info, buf, buffer_info,
       info, outbuf, COLOR_FORMAT_COPY_OUT);
 
-done:
   gst_video_codec_state_unref (state);
   return ret;
 }
@@ -589,6 +582,7 @@
   GstFlowReturn flow_ret = GST_FLOW_OK;
   GstClockTimeDiff deadline;
   gboolean is_eos;
+  GstAmcBuffer *buf;
   GstAmcBufferInfo buffer_info;
   gint idx;
   GError *err = NULL;
@@ -616,18 +610,10 @@
     }
 
     switch (idx) {
-      case INFO_OUTPUT_BUFFERS_CHANGED:{
-        GST_DEBUG_OBJECT (self, "Output buffers have changed");
-        if (self->output_buffers)
-          gst_amc_codec_free_buffers (self->output_buffers,
-              self->n_output_buffers);
-        self->output_buffers =
-            gst_amc_codec_get_output_buffers (self->codec,
-            &self->n_output_buffers, &err);
-        if (!self->output_buffers)
-          goto get_output_buffers_error;
+      case INFO_OUTPUT_BUFFERS_CHANGED:
+        /* Handled internally */
+        g_assert_not_reached ();
         break;
-      }
       case INFO_OUTPUT_FORMAT_CHANGED:{
         GstAmcFormat *format;
         gchar *format_string;
@@ -652,15 +638,6 @@
         }
         gst_amc_format_free (format);
 
-        if (self->output_buffers)
-          gst_amc_codec_free_buffers (self->output_buffers,
-              self->n_output_buffers);
-        self->output_buffers =
-            gst_amc_codec_get_output_buffers (self->codec,
-            &self->n_output_buffers, &err);
-        if (!self->output_buffers)
-          goto get_output_buffers_error;
-
         goto retry;
       }
       case INFO_TRY_AGAIN_LATER:
@@ -678,9 +655,9 @@
   }
 
   GST_DEBUG_OBJECT (self,
-      "Got output buffer at index %d: size %d time %" G_GINT64_FORMAT
-      " flags 0x%08x", idx, buffer_info.size, buffer_info.presentation_time_us,
-      buffer_info.flags);
+      "Got output buffer at index %d: offset %d size %d time %" G_GINT64_FORMAT
+      " flags 0x%08x", idx, buffer_info.offset, buffer_info.size,
+      buffer_info.presentation_time_us, buffer_info.flags);
 
   frame =
       _find_nearest_frame (self,
@@ -688,6 +665,10 @@
 
   is_eos = ! !(buffer_info.flags & BUFFER_FLAG_END_OF_STREAM);
 
+  buf = gst_amc_codec_get_output_buffer (self->codec, idx, &err);
+  if (!buf)
+    goto failed_to_get_output_buffer;
+
   if (frame
       && (deadline =
           gst_video_decoder_get_max_decode_time (GST_VIDEO_DECODER (self),
@@ -708,7 +689,7 @@
     outbuf =
         gst_video_decoder_allocate_output_buffer (GST_VIDEO_DECODER (self));
 
-    if (!gst_amc_video_dec_fill_buffer (self, idx, &buffer_info, outbuf)) {
+    if (!gst_amc_video_dec_fill_buffer (self, buf, &buffer_info, outbuf)) {
       gst_buffer_unref (outbuf);
       if (!gst_amc_codec_release_output_buffer (self->codec, idx, &err))
         GST_ERROR_OBJECT (self, "Failed to release output buffer index %d",
@@ -716,6 +697,8 @@
       if (err && !self->flushing)
         GST_ELEMENT_WARNING_FROM_ERROR (self, err);
       g_clear_error (&err);
+      gst_amc_buffer_free (buf);
+      buf = NULL;
       goto invalid_buffer;
     }
 
@@ -733,10 +716,12 @@
       if (err && !self->flushing)
         GST_ELEMENT_WARNING_FROM_ERROR (self, err);
       g_clear_error (&err);
+      gst_amc_buffer_free (buf);
+      buf = NULL;
       goto flow_error;
     }
 
-    if (!gst_amc_video_dec_fill_buffer (self, idx, &buffer_info,
+    if (!gst_amc_video_dec_fill_buffer (self, buf, &buffer_info,
             frame->output_buffer)) {
       gst_buffer_replace (&frame->output_buffer, NULL);
       gst_video_decoder_drop_frame (GST_VIDEO_DECODER (self), frame);
@@ -746,6 +731,8 @@
       if (err && !self->flushing)
         GST_ELEMENT_WARNING_FROM_ERROR (self, err);
       g_clear_error (&err);
+      gst_amc_buffer_free (buf);
+      buf = NULL;
       goto invalid_buffer;
     }
 
@@ -754,6 +741,9 @@
     flow_ret = gst_video_decoder_drop_frame (GST_VIDEO_DECODER (self), frame);
   }
 
+  gst_amc_buffer_free (buf);
+  buf = NULL;
+
   if (!gst_amc_codec_release_output_buffer (self->codec, idx, &err)) {
     if (self->flushing) {
       g_clear_error (&err);
@@ -802,20 +792,6 @@
     return;
   }
 
-get_output_buffers_error:
-  {
-    GST_ELEMENT_ERROR_FROM_ERROR (self, err);
-    gst_pad_push_event (GST_VIDEO_DECODER_SRC_PAD (self), gst_event_new_eos ());
-    gst_pad_pause_task (GST_VIDEO_DECODER_SRC_PAD (self));
-    self->downstream_flow_ret = GST_FLOW_ERROR;
-    GST_VIDEO_DECODER_STREAM_UNLOCK (self);
-    g_mutex_lock (&self->drain_lock);
-    self->draining = FALSE;
-    g_cond_broadcast (&self->drain_cond);
-    g_mutex_unlock (&self->drain_lock);
-    return;
-  }
-
 format_error:
   {
     if (err)
@@ -881,6 +857,20 @@
     return;
   }
 
+failed_to_get_output_buffer:
+  {
+    GST_VIDEO_DECODER_ERROR_FROM_ERROR (self, err);
+    gst_pad_push_event (GST_VIDEO_DECODER_SRC_PAD (self), gst_event_new_eos ());
+    gst_pad_pause_task (GST_VIDEO_DECODER_SRC_PAD (self));
+    self->downstream_flow_ret = GST_FLOW_ERROR;
+    GST_VIDEO_DECODER_STREAM_UNLOCK (self);
+    g_mutex_lock (&self->drain_lock);
+    self->draining = FALSE;
+    g_cond_broadcast (&self->drain_cond);
+    g_mutex_unlock (&self->drain_lock);
+    return;
+  }
+
 invalid_buffer:
   {
     GST_ELEMENT_ERROR (self, LIBRARY, SETTINGS, (NULL),
@@ -929,12 +919,6 @@
     if (err)
       GST_ELEMENT_WARNING_FROM_ERROR (self, err);
     self->started = FALSE;
-    if (self->input_buffers)
-      gst_amc_codec_free_buffers (self->input_buffers, self->n_input_buffers);
-    self->input_buffers = NULL;
-    if (self->output_buffers)
-      gst_amc_codec_free_buffers (self->output_buffers, self->n_output_buffers);
-    self->output_buffers = NULL;
   }
   gst_pad_stop_task (GST_VIDEO_DECODER_SRC_PAD (decoder));
 
@@ -1080,17 +1064,6 @@
     return FALSE;
   }
 
-  if (self->input_buffers)
-    gst_amc_codec_free_buffers (self->input_buffers, self->n_input_buffers);
-  self->input_buffers =
-      gst_amc_codec_get_input_buffers (self->codec, &self->n_input_buffers,
-      &err);
-  if (!self->input_buffers) {
-    GST_ERROR_OBJECT (self, "Failed to get input buffers");
-    GST_ELEMENT_ERROR_FROM_ERROR (self, err);
-    return FALSE;
-  }
-
   self->started = TRUE;
   self->input_state = gst_video_codec_state_ref (state);
   self->input_state_changed = TRUE;
@@ -1212,9 +1185,6 @@
       continue;
     }
 
-    if (idx >= self->n_input_buffers)
-      goto invalid_buffer_index;
-
     if (self->flushing) {
       memset (&buffer_info, 0, sizeof (buffer_info));
       gst_amc_codec_queue_input_buffer (self->codec, idx, &buffer_info, NULL);
@@ -1234,14 +1204,21 @@
 
     /* Copy the buffer content in chunks of size as requested
      * by the port */
-    buf = &self->input_buffers[idx];
+    buf = gst_amc_codec_get_input_buffer (self->codec, idx, &err);
+    if (!buf)
+      goto failed_to_get_input_buffer;
 
     memset (&buffer_info, 0, sizeof (buffer_info));
     buffer_info.offset = 0;
     buffer_info.size = MIN (minfo.size - offset, buf->size);
+    gst_amc_buffer_set_position_and_limit (buf, NULL, buffer_info.offset,
+        buffer_info.size);
 
     orc_memcpy (buf->data, minfo.data + offset, buffer_info.size);
 
+    gst_amc_buffer_free (buf);
+    buf = NULL;
+
     /* Interpolate timestamps if we're passing the buffer
      * in multiple chunks */
     if (offset != 0 && duration != GST_CLOCK_TIME_NONE) {
@@ -1295,10 +1272,9 @@
     gst_video_codec_frame_unref (frame);
     return self->downstream_flow_ret;
   }
-invalid_buffer_index:
+failed_to_get_input_buffer:
   {
-    GST_ELEMENT_ERROR (self, LIBRARY, FAILED, (NULL),
-        ("Invalid input buffer index %d of %d", idx, self->n_input_buffers));
+    GST_ELEMENT_ERROR_FROM_ERROR (self, err);
     if (minfo.data)
       gst_buffer_unmap (frame->input_buffer, &minfo);
     gst_video_codec_frame_unref (frame);
@@ -1370,43 +1346,53 @@
   idx = gst_amc_codec_dequeue_input_buffer (self->codec, 500000, &err);
   GST_VIDEO_DECODER_STREAM_LOCK (self);
 
-  if (idx >= 0 && idx < self->n_input_buffers) {
+  if (idx >= 0) {
+    GstAmcBuffer *buf;
     GstAmcBufferInfo buffer_info;
 
-    GST_VIDEO_DECODER_STREAM_UNLOCK (self);
-    g_mutex_lock (&self->drain_lock);
-    self->draining = TRUE;
+    buf = gst_amc_codec_get_input_buffer (self->codec, idx, &err);
+    if (buf) {
+      GST_VIDEO_DECODER_STREAM_UNLOCK (self);
+      g_mutex_lock (&self->drain_lock);
+      self->draining = TRUE;
 
-    memset (&buffer_info, 0, sizeof (buffer_info));
-    buffer_info.size = 0;
-    buffer_info.presentation_time_us =
-        gst_util_uint64_scale (self->last_upstream_ts, 1, GST_USECOND);
-    buffer_info.flags |= BUFFER_FLAG_END_OF_STREAM;
+      memset (&buffer_info, 0, sizeof (buffer_info));
+      buffer_info.size = 0;
+      buffer_info.presentation_time_us =
+          gst_util_uint64_scale (self->last_upstream_ts, 1, GST_USECOND);
+      buffer_info.flags |= BUFFER_FLAG_END_OF_STREAM;
 
-    if (gst_amc_codec_queue_input_buffer (self->codec, idx, &buffer_info, &err)) {
-      GST_DEBUG_OBJECT (self, "Waiting until codec is drained");
-      g_cond_wait (&self->drain_cond, &self->drain_lock);
-      GST_DEBUG_OBJECT (self, "Drained codec");
-      ret = GST_FLOW_OK;
-    } else {
-      GST_ERROR_OBJECT (self, "Failed to queue input buffer");
-      if (self->flushing) {
-        g_clear_error (&err);
-        ret = GST_FLOW_FLUSHING;
+      gst_amc_buffer_set_position_and_limit (buf, NULL, 0, 0);
+      gst_amc_buffer_free (buf);
+      buf = NULL;
+
+      if (gst_amc_codec_queue_input_buffer (self->codec, idx, &buffer_info,
+              &err)) {
+        GST_DEBUG_OBJECT (self, "Waiting until codec is drained");
+        g_cond_wait (&self->drain_cond, &self->drain_lock);
+        GST_DEBUG_OBJECT (self, "Drained codec");
+        ret = GST_FLOW_OK;
       } else {
-        GST_ELEMENT_WARNING_FROM_ERROR (self, err);
-        ret = GST_FLOW_ERROR;
+        GST_ERROR_OBJECT (self, "Failed to queue input buffer");
+        if (self->flushing) {
+          g_clear_error (&err);
+          ret = GST_FLOW_FLUSHING;
+        } else {
+          GST_ELEMENT_WARNING_FROM_ERROR (self, err);
+          ret = GST_FLOW_ERROR;
+        }
       }
-    }
 
-    self->drained = TRUE;
-    self->draining = FALSE;
-    g_mutex_unlock (&self->drain_lock);
-    GST_VIDEO_DECODER_STREAM_LOCK (self);
-  } else if (idx >= self->n_input_buffers) {
-    GST_ERROR_OBJECT (self, "Invalid input buffer index %d of %d",
-        idx, self->n_input_buffers);
-    ret = GST_FLOW_ERROR;
+      self->drained = TRUE;
+      self->draining = FALSE;
+      g_mutex_unlock (&self->drain_lock);
+      GST_VIDEO_DECODER_STREAM_LOCK (self);
+    } else {
+      GST_ERROR_OBJECT (self, "Failed to get buffer for EOS: %d", idx);
+      if (err)
+        GST_ELEMENT_WARNING_FROM_ERROR (self, err);
+      ret = GST_FLOW_ERROR;
+    }
   } else {
     GST_ERROR_OBJECT (self, "Failed to acquire buffer for EOS: %d", idx);
     if (err)
diff --git a/sys/androidmedia/gstamcvideodec.h b/sys/androidmedia/gstamcvideodec.h
index a4ef11c..c6c2b4f 100644
--- a/sys/androidmedia/gstamcvideodec.h
+++ b/sys/androidmedia/gstamcvideodec.h
@@ -51,8 +51,6 @@
 
   /* < private > */
   GstAmcCodec *codec;
-  GstAmcBuffer *input_buffers, *output_buffers;
-  gsize n_input_buffers, n_output_buffers;
 
   GstVideoCodecState *input_state;
   gboolean input_state_changed;
diff --git a/sys/androidmedia/gstamcvideoenc.c b/sys/androidmedia/gstamcvideoenc.c
index 4384c76..8a6dd44 100644
--- a/sys/androidmedia/gstamcvideoenc.c
+++ b/sys/androidmedia/gstamcvideoenc.c
@@ -10,6 +10,8 @@
  * Copyright (C) 2013, Lemote Ltd.
  *   Author: Chen Jie <chenj@lemote.com>
  *
+ * Copyright (C) 2015, Sebastian Dröge <sebastian@centricular.com>
+ *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation
@@ -982,15 +984,6 @@
 
       gst_amc_format_free (format);
 
-      if (self->output_buffers)
-        gst_amc_codec_free_buffers (self->output_buffers,
-            self->n_output_buffers);
-      self->output_buffers =
-          gst_amc_codec_get_output_buffers (self->codec,
-          &self->n_output_buffers, &err);
-      if (!self->output_buffers)
-        goto get_output_buffers_error;
-
       if (idx >= 0)
         goto process_buffer;
 
@@ -998,18 +991,10 @@
     }
 
     switch (idx) {
-      case INFO_OUTPUT_BUFFERS_CHANGED:{
-        GST_DEBUG_OBJECT (self, "Output buffers have changed");
-        if (self->output_buffers)
-          gst_amc_codec_free_buffers (self->output_buffers,
-              self->n_output_buffers);
-        self->output_buffers =
-            gst_amc_codec_get_output_buffers (self->codec,
-            &self->n_output_buffers, &err);
-        if (!self->output_buffers)
-          goto get_output_buffers_error;
+      case INFO_OUTPUT_BUFFERS_CHANGED:
+        /* Handled internally */
+        g_assert_not_reached ();
         break;
-      }
       case INFO_TRY_AGAIN_LATER:
         GST_DEBUG_OBJECT (self, "Dequeueing output buffer timed out");
         goto retry;
@@ -1038,17 +1023,16 @@
 
   is_eos = ! !(buffer_info.flags & BUFFER_FLAG_END_OF_STREAM);
 
-  if (idx >= self->n_output_buffers) {
-    GST_ERROR_OBJECT (self, "Invalid output buffer index %d of %d",
-        idx, self->n_output_buffers);
-
-    goto invalid_buffer;
-  }
-  buf = &self->output_buffers[idx];
+  buf = gst_amc_codec_get_output_buffer (self->codec, idx, &err);
+  if (!buf)
+    goto failed_to_get_output_buffer;
 
   flow_ret =
       gst_amc_video_enc_handle_output_frame (self, buf, &buffer_info, frame);
 
+  gst_amc_buffer_free (buf);
+  buf = NULL;
+
   if (!gst_amc_codec_release_output_buffer (self->codec, idx, &err)) {
     if (self->flushing) {
       g_clear_error (&err);
@@ -1097,20 +1081,6 @@
     return;
   }
 
-get_output_buffers_error:
-  {
-    GST_ELEMENT_ERROR_FROM_ERROR (self, err);
-    gst_pad_push_event (GST_VIDEO_ENCODER_SRC_PAD (self), gst_event_new_eos ());
-    gst_pad_pause_task (GST_VIDEO_ENCODER_SRC_PAD (self));
-    self->downstream_flow_ret = GST_FLOW_ERROR;
-    GST_VIDEO_ENCODER_STREAM_UNLOCK (self);
-    g_mutex_lock (&self->drain_lock);
-    self->draining = FALSE;
-    g_cond_broadcast (&self->drain_cond);
-    g_mutex_unlock (&self->drain_lock);
-    return;
-  }
-
 format_error:
   {
     if (err)
@@ -1173,10 +1143,9 @@
     return;
   }
 
-invalid_buffer:
+failed_to_get_output_buffer:
   {
-    GST_ELEMENT_ERROR (self, LIBRARY, SETTINGS, (NULL),
-        ("Invalid sized input buffer"));
+    GST_ELEMENT_ERROR_FROM_ERROR (self, err);
     gst_pad_push_event (GST_VIDEO_ENCODER_SRC_PAD (self), gst_event_new_eos ());
     gst_pad_pause_task (GST_VIDEO_ENCODER_SRC_PAD (self));
     self->downstream_flow_ret = GST_FLOW_NOT_NEGOTIATED;
@@ -1221,12 +1190,6 @@
     if (err)
       GST_ELEMENT_WARNING_FROM_ERROR (self, err);
     self->started = FALSE;
-    if (self->input_buffers)
-      gst_amc_codec_free_buffers (self->input_buffers, self->n_input_buffers);
-    self->input_buffers = NULL;
-    if (self->output_buffers)
-      gst_amc_codec_free_buffers (self->output_buffers, self->n_output_buffers);
-    self->output_buffers = NULL;
   }
   gst_pad_stop_task (GST_VIDEO_ENCODER_SRC_PAD (encoder));
 
@@ -1341,17 +1304,6 @@
     goto quit;
   }
 
-  if (self->input_buffers)
-    gst_amc_codec_free_buffers (self->input_buffers, self->n_input_buffers);
-  self->input_buffers =
-      gst_amc_codec_get_input_buffers (self->codec, &self->n_input_buffers,
-      &err);
-  if (!self->input_buffers) {
-    GST_ERROR_OBJECT (self, "Failed to get input buffers");
-    GST_ELEMENT_ERROR_FROM_ERROR (self, err);
-    goto quit;
-  }
-
   self->amc_format = format;
   format = NULL;
 
@@ -1481,9 +1433,6 @@
     goto again;
   }
 
-  if (idx >= self->n_input_buffers)
-    goto invalid_buffer_index;
-
   if (self->flushing) {
     memset (&buffer_info, 0, sizeof (buffer_info));
     gst_amc_codec_queue_input_buffer (self->codec, idx, &buffer_info, NULL);
@@ -1503,11 +1452,15 @@
 
   /* Copy the buffer content in chunks of size as requested
    * by the port */
-  buf = &self->input_buffers[idx];
+  buf = gst_amc_codec_get_input_buffer (self->codec, idx, &err);
+  if (!buf)
+    goto failed_to_get_input_buffer;
 
   memset (&buffer_info, 0, sizeof (buffer_info));
   buffer_info.offset = 0;
   buffer_info.size = MIN (self->color_format_info.frame_size, buf->size);
+  gst_amc_buffer_set_position_and_limit (buf, NULL, buffer_info.offset,
+      buffer_info.size);
 
   if (!gst_amc_video_enc_fill_buffer (self, frame->input_buffer, buf,
           &buffer_info)) {
@@ -1516,9 +1469,14 @@
     if (err && !self->flushing)
       GST_ELEMENT_WARNING_FROM_ERROR (self, err);
     g_clear_error (&err);
+    gst_amc_buffer_free (buf);
+    buf = NULL;
     goto buffer_fill_error;
   }
 
+  gst_amc_buffer_free (buf);
+  buf = NULL;
+
   if (timestamp != GST_CLOCK_TIME_NONE) {
     buffer_info.presentation_time_us =
         gst_util_uint64_scale (timestamp + timestamp_offset, 1, GST_USECOND);
@@ -1559,10 +1517,9 @@
     gst_video_codec_frame_unref (frame);
     return self->downstream_flow_ret;
   }
-invalid_buffer_index:
+failed_to_get_input_buffer:
   {
-    GST_ELEMENT_ERROR (self, LIBRARY, FAILED, (NULL),
-        ("Invalid input buffer index %d of %d", idx, self->n_input_buffers));
+    GST_ELEMENT_ERROR_FROM_ERROR (self, err);
     gst_video_codec_frame_unref (frame);
     return GST_FLOW_ERROR;
   }
@@ -1634,43 +1591,53 @@
   idx = gst_amc_codec_dequeue_input_buffer (self->codec, 500000, &err);
   GST_VIDEO_ENCODER_STREAM_LOCK (self);
 
-  if (idx >= 0 && idx < self->n_input_buffers) {
+  if (idx >= 0) {
+    GstAmcBuffer *buf;
     GstAmcBufferInfo buffer_info;
 
-    GST_VIDEO_ENCODER_STREAM_UNLOCK (self);
-    g_mutex_lock (&self->drain_lock);
-    self->draining = TRUE;
+    buf = gst_amc_codec_get_input_buffer (self->codec, idx, &err);
+    if (buf) {
+      GST_VIDEO_ENCODER_STREAM_UNLOCK (self);
+      g_mutex_lock (&self->drain_lock);
+      self->draining = TRUE;
 
-    memset (&buffer_info, 0, sizeof (buffer_info));
-    buffer_info.size = 0;
-    buffer_info.presentation_time_us =
-        gst_util_uint64_scale (self->last_upstream_ts, 1, GST_USECOND);
-    buffer_info.flags |= BUFFER_FLAG_END_OF_STREAM;
+      memset (&buffer_info, 0, sizeof (buffer_info));
+      buffer_info.size = 0;
+      buffer_info.presentation_time_us =
+          gst_util_uint64_scale (self->last_upstream_ts, 1, GST_USECOND);
+      buffer_info.flags |= BUFFER_FLAG_END_OF_STREAM;
 
-    if (gst_amc_codec_queue_input_buffer (self->codec, idx, &buffer_info, &err)) {
-      GST_DEBUG_OBJECT (self, "Waiting until codec is drained");
-      g_cond_wait (&self->drain_cond, &self->drain_lock);
-      GST_DEBUG_OBJECT (self, "Drained codec");
-      ret = GST_FLOW_OK;
-    } else {
-      GST_ERROR_OBJECT (self, "Failed to queue input buffer");
-      if (self->flushing) {
-        g_clear_error (&err);
-        ret = GST_FLOW_FLUSHING;
+      gst_amc_buffer_set_position_and_limit (buf, NULL, 0, 0);
+      gst_amc_buffer_free (buf);
+      buf = NULL;
+
+      if (gst_amc_codec_queue_input_buffer (self->codec, idx, &buffer_info,
+              &err)) {
+        GST_DEBUG_OBJECT (self, "Waiting until codec is drained");
+        g_cond_wait (&self->drain_cond, &self->drain_lock);
+        GST_DEBUG_OBJECT (self, "Drained codec");
+        ret = GST_FLOW_OK;
       } else {
-        GST_ELEMENT_WARNING_FROM_ERROR (self, err);
-        ret = GST_FLOW_ERROR;
+        GST_ERROR_OBJECT (self, "Failed to queue input buffer");
+        if (self->flushing) {
+          g_clear_error (&err);
+          ret = GST_FLOW_FLUSHING;
+        } else {
+          GST_ELEMENT_WARNING_FROM_ERROR (self, err);
+          ret = GST_FLOW_ERROR;
+        }
       }
-    }
 
-    self->drained = TRUE;
-    self->draining = FALSE;
-    g_mutex_unlock (&self->drain_lock);
-    GST_VIDEO_ENCODER_STREAM_LOCK (self);
-  } else if (idx >= self->n_input_buffers) {
-    GST_ERROR_OBJECT (self, "Invalid input buffer index %d of %d",
-        idx, self->n_input_buffers);
-    ret = GST_FLOW_ERROR;
+      self->drained = TRUE;
+      self->draining = FALSE;
+      g_mutex_unlock (&self->drain_lock);
+      GST_VIDEO_ENCODER_STREAM_LOCK (self);
+    } else {
+      GST_ERROR_OBJECT (self, "Failed to get buffer for EOS: %d", idx);
+      if (err)
+        GST_ELEMENT_WARNING_FROM_ERROR (self, err);
+      ret = GST_FLOW_ERROR;
+    }
   } else {
     GST_ERROR_OBJECT (self, "Failed to acquire buffer for EOS: %d", idx);
     if (err)
diff --git a/sys/androidmedia/gstamcvideoenc.h b/sys/androidmedia/gstamcvideoenc.h
index 60a3687..f169248 100644
--- a/sys/androidmedia/gstamcvideoenc.h
+++ b/sys/androidmedia/gstamcvideoenc.h
@@ -53,8 +53,6 @@
 
   /* < private > */
   GstAmcCodec *codec;
-  GstAmcBuffer *input_buffers, *output_buffers;
-  gsize n_input_buffers, n_output_buffers;
   GstAmcFormat *amc_format;
 
   GstVideoCodecState *input_state;
diff --git a/sys/androidmedia/gstjniutils.c b/sys/androidmedia/gstjniutils.c
index 02bc3a8..b2be366 100644
--- a/sys/androidmedia/gstjniutils.c
+++ b/sys/androidmedia/gstjniutils.c
@@ -6,6 +6,7 @@
  * Copyright (C) 2014, Sebastian Dröge <sebastian@centricular.com>
  * Copyright (C) 2014, Collabora Ltd.
  *   Author: Matthieu Bouron <matthieu.bouron@collabora.com>
+ * Copyright (C) 2015, Sebastian Dröge <sebastian@centricular.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -41,6 +42,14 @@
 static gboolean started_java_vm = FALSE;
 static pthread_key_t current_jni_env;
 
+static struct
+{
+  jclass klass;
+  jmethodID get_limit, get_position;
+  jmethodID set_limit, set_position;
+  jmethodID clear;
+} java_nio_buffer;
+
 jclass
 gst_amc_jni_get_class (JNIEnv * env, GError ** err, const gchar * name)
 {
@@ -548,6 +557,69 @@
 }
 
 static gboolean
+initialize_classes (void)
+{
+  JNIEnv *env;
+  GError *err = NULL;
+
+  env = gst_amc_jni_get_env ();
+
+  java_nio_buffer.klass = gst_amc_jni_get_class (env, &err, "java/nio/Buffer");
+  if (!java_nio_buffer.klass) {
+    GST_ERROR ("Failed to get java.nio.Buffer class: %s", err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
+
+  java_nio_buffer.get_limit =
+      gst_amc_jni_get_method_id (env, &err, java_nio_buffer.klass, "limit",
+      "()I");
+  if (!java_nio_buffer.get_limit) {
+    GST_ERROR ("Failed to get java.nio.Buffer limit(): %s", err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
+
+  java_nio_buffer.get_position =
+      gst_amc_jni_get_method_id (env, &err, java_nio_buffer.klass, "position",
+      "()I");
+  if (!java_nio_buffer.get_position) {
+    GST_ERROR ("Failed to get java.nio.Buffer position(): %s", err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
+
+  java_nio_buffer.set_limit =
+      gst_amc_jni_get_method_id (env, &err, java_nio_buffer.klass, "limit",
+      "(I)Ljava/nio/Buffer;");
+  if (!java_nio_buffer.set_limit) {
+    GST_ERROR ("Failed to get java.nio.Buffer limit(): %s", err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
+
+  java_nio_buffer.set_position =
+      gst_amc_jni_get_method_id (env, &err, java_nio_buffer.klass, "position",
+      "(I)Ljava/nio/Buffer;");
+  if (!java_nio_buffer.set_position) {
+    GST_ERROR ("Failed to get java.nio.Buffer position(): %s", err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
+
+  java_nio_buffer.clear =
+      gst_amc_jni_get_method_id (env, &err, java_nio_buffer.klass, "clear",
+      "()Ljava/nio/Buffer;");
+  if (!java_nio_buffer.clear) {
+    GST_ERROR ("Failed to get java.nio.Buffer clear(): %s", err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
+
+  return TRUE;
+}
+
+static gboolean
 gst_amc_jni_initialize_java_vm (void)
 {
   jsize n_vms;
@@ -599,7 +671,10 @@
     started_java_vm = TRUE;
   }
 
-  return java_vm != NULL;
+  if (java_vm == NULL)
+    return FALSE;
+
+  return initialize_classes ();
 
 get_created_failed:
   {
@@ -902,3 +977,105 @@
   }
   g_free (buffers);
 }
+
+void
+gst_amc_buffer_free (GstAmcBuffer * buffer)
+{
+  JNIEnv *env;
+
+  g_return_if_fail (buffer != NULL);
+
+  env = gst_amc_jni_get_env ();
+
+  if (buffer->object)
+    gst_amc_jni_object_unref (env, buffer->object);
+  g_free (buffer);
+}
+
+GstAmcBuffer *
+gst_amc_buffer_copy (GstAmcBuffer * buffer)
+{
+  JNIEnv *env;
+  GstAmcBuffer *ret;
+
+  g_return_val_if_fail (buffer != NULL, NULL);
+
+  env = gst_amc_jni_get_env ();
+
+  ret = g_new0 (GstAmcBuffer, 1);
+
+  ret->object = gst_amc_jni_object_ref (env, buffer->object);
+  ret->data = buffer->data;
+  ret->size = buffer->size;
+
+  return ret;
+}
+
+gboolean
+gst_amc_buffer_get_position_and_limit (GstAmcBuffer * buffer, GError ** err,
+    gint * position, gint * limit)
+{
+  JNIEnv *env;
+
+  g_return_val_if_fail (buffer != NULL, FALSE);
+  g_return_val_if_fail (buffer->object != NULL, FALSE);
+
+  env = gst_amc_jni_get_env ();
+
+  if (!gst_amc_jni_call_int_method (env, err, buffer->object,
+          java_nio_buffer.get_position, position))
+    return FALSE;
+
+  if (!gst_amc_jni_call_int_method (env, err, buffer->object,
+          java_nio_buffer.get_limit, limit))
+    return FALSE;
+
+  return TRUE;
+}
+
+gboolean
+gst_amc_buffer_set_position_and_limit (GstAmcBuffer * buffer, GError ** err,
+    gint position, gint limit)
+{
+  JNIEnv *env;
+  jobject tmp;
+
+  g_return_val_if_fail (buffer != NULL, FALSE);
+  g_return_val_if_fail (buffer->object != NULL, FALSE);
+
+  env = gst_amc_jni_get_env ();
+
+  if (!gst_amc_jni_call_object_method (env, err, buffer->object,
+          java_nio_buffer.set_limit, &tmp, limit))
+    return FALSE;
+
+  gst_amc_jni_object_local_unref (env, tmp);
+
+  if (!gst_amc_jni_call_object_method (env, err, buffer->object,
+          java_nio_buffer.set_position, &tmp, position))
+    return FALSE;
+
+  gst_amc_jni_object_local_unref (env, tmp);
+
+  return TRUE;
+}
+
+gboolean
+gst_amc_buffer_clear (GstAmcBuffer * buffer, GError ** err)
+{
+  JNIEnv *env;
+  jobject tmp;
+
+  g_return_val_if_fail (buffer != NULL, FALSE);
+  g_return_val_if_fail (buffer->object != NULL, FALSE);
+
+  env = gst_amc_jni_get_env ();
+
+  if (!gst_amc_jni_call_object_method (env, err, buffer->object,
+          java_nio_buffer.clear, &tmp))
+    return FALSE;
+
+  gst_amc_jni_object_local_unref (env, tmp);
+
+  return TRUE;
+}
diff --git a/sys/androidmedia/gstjniutils.h b/sys/androidmedia/gstjniutils.h
index 0b25daa..ef0f14b 100644
--- a/sys/androidmedia/gstjniutils.h
+++ b/sys/androidmedia/gstjniutils.h
@@ -175,6 +175,12 @@
   gsize size;
 };
 
+gboolean gst_amc_buffer_get_position_and_limit (GstAmcBuffer * buffer, GError ** err, gint * position, gint * limit);
+gboolean gst_amc_buffer_set_position_and_limit (GstAmcBuffer * buffer, GError ** err, gint position, gint limit);
+gboolean gst_amc_buffer_clear (GstAmcBuffer * buffer, GError ** err);
+GstAmcBuffer * gst_amc_buffer_copy (GstAmcBuffer * buffer);
+void     gst_amc_buffer_free (GstAmcBuffer * buffer);
+
 gboolean gst_amc_jni_get_buffer_array (JNIEnv * env, GError ** err, jobject array, GstAmcBuffer ** buffers, gsize * n_buffers);
 void gst_amc_jni_free_buffer_array (JNIEnv * env, GstAmcBuffer * buffers, gsize n_buffers);
 
diff --git a/sys/applemedia/avsamplevideosink.m b/sys/applemedia/avsamplevideosink.m
index b6ae56a..199e659 100644
--- a/sys/applemedia/avsamplevideosink.m
+++ b/sys/applemedia/avsamplevideosink.m
@@ -632,7 +632,7 @@
 
   if (0 != CMVideoFormatDescriptionCreateForImageBuffer (kCFAllocatorDefault,
         pbuf, &v_format_desc)) {
-    GST_ERROR_OBJECT (av_sink, "Failed to retreive video format from "
+    GST_ERROR_OBJECT (av_sink, "Failed to retrieve video format from "
         "pixel buffer");
     CFRelease (pbuf);
     return FALSE;
diff --git a/sys/applemedia/vtdec.c b/sys/applemedia/vtdec.c
index 8c22e24..ce6fb98 100644
--- a/sys/applemedia/vtdec.c
+++ b/sys/applemedia/vtdec.c
@@ -87,7 +87,8 @@
     GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("video/x-h264, stream-format=avc, alignment=au;"
+    GST_STATIC_CAPS ("video/x-h264, stream-format=avc, alignment=au,"
+        " width=(int)[1, MAX], height=(int)[1, MAX];"
         "video/mpeg, mpegversion=2;" "image/jpeg")
     );
 
diff --git a/sys/applemedia/vtenc.c b/sys/applemedia/vtenc.c
index ef18784..bcfc6e0 100644
--- a/sys/applemedia/vtenc.c
+++ b/sys/applemedia/vtenc.c
@@ -83,6 +83,7 @@
     GValue * value, GParamSpec * pspec);
 static void gst_vtenc_set_property (GObject * obj, guint prop_id,
     const GValue * value, GParamSpec * pspec);
+static void gst_vtenc_finalize (GObject * obj);
 
 static gboolean gst_vtenc_start (GstVideoEncoder * enc);
 static gboolean gst_vtenc_stop (GstVideoEncoder * enc);
@@ -193,6 +194,7 @@
 
   gobject_class->get_property = gst_vtenc_get_property;
   gobject_class->set_property = gst_vtenc_set_property;
+  gobject_class->finalize = gst_vtenc_finalize;
 
   gstvideoencoder_class->start = gst_vtenc_start;
   gstvideoencoder_class->stop = gst_vtenc_stop;
@@ -243,6 +245,8 @@
 gst_vtenc_init (GstVTEnc * self)
 {
   GstVTEncClass *klass = (GstVTEncClass *) G_OBJECT_GET_CLASS (self);
+  CFStringRef keyframe_props_keys[] = { kVTEncodeFrameOptionKey_ForceKeyFrame };
+  CFBooleanRef keyframe_props_values[] = { kCFBooleanTrue };
 
   self->details = GST_VTENC_CLASS_GET_CODEC_DETAILS (klass);
 
@@ -252,6 +256,21 @@
   self->latency_frames = -1;
   self->session = NULL;
   self->profile_level = NULL;
+
+  self->keyframe_props =
+      CFDictionaryCreate (NULL, (const void **) keyframe_props_keys,
+      (const void **) keyframe_props_values, G_N_ELEMENTS (keyframe_props_keys),
+      &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
+}
+
+static void
+gst_vtenc_finalize (GObject * obj)
+{
+  GstVTEnc *self = GST_VTENC_CAST (obj);
+
+  CFRelease (self->keyframe_props);
+
+  G_OBJECT_CLASS (parent_class)->finalize (obj);
 }
 
 static guint
@@ -486,11 +505,6 @@
   if (self->profile_level)
     CFRelease (self->profile_level);
 
-  if (self->options != NULL) {
-    CFRelease (self->options);
-    self->options = NULL;
-  }
-
   if (self->input_state)
     gst_video_codec_state_unref (self->input_state);
   self->input_state = NULL;
@@ -621,11 +635,6 @@
   self->session = session;
   GST_OBJECT_UNLOCK (self);
 
-  if (self->options != NULL)
-    CFRelease (self->options);
-  self->options = CFDictionaryCreateMutable (NULL, 0,
-      &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
-
   return TRUE;
 }
 
@@ -1043,18 +1052,11 @@
   OSStatus vt_status;
   GstFlowReturn ret = GST_FLOW_OK;
   guint i;
-  gboolean forced_keyframe = FALSE;
+  CFDictionaryRef frame_props = NULL;
 
   if (GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME (frame)) {
-    if (self->options != NULL) {
-      GST_INFO_OBJECT (self, "received force-keyframe-event, will force intra");
-      CFDictionaryAddValue (self->options,
-          kVTEncodeFrameOptionKey_ForceKeyFrame, kCFBooleanTrue);
-      forced_keyframe = TRUE;
-    } else {
-      GST_INFO_OBJECT (self,
-          "received force-keyframe-event but encode not yet started, ignoring");
-    }
+    GST_INFO_OBJECT (self, "received force-keyframe-event, will force intra");
+    frame_props = self->keyframe_props;
   }
 
   ts = CMTimeMake (frame->pts, GST_SECOND);
@@ -1189,16 +1191,10 @@
    * lock from another thread and then deadlock */
   GST_VIDEO_ENCODER_STREAM_UNLOCK (self);
   vt_status = VTCompressionSessionEncodeFrame (self->session,
-      pbuf, ts, duration, self->options,
+      pbuf, ts, duration, frame_props,
       GINT_TO_POINTER (frame->system_frame_number), NULL);
   GST_VIDEO_ENCODER_STREAM_LOCK (self);
 
-  /* Only force one keyframe */
-  if (forced_keyframe) {
-    CFDictionaryRemoveValue (self->options,
-        kVTEncodeFrameOptionKey_ForceKeyFrame);
-  }
-
   if (vt_status != noErr) {
     GST_WARNING_OBJECT (self, "VTCompressionSessionEncodeFrame returned %d",
         (int) vt_status);
diff --git a/sys/applemedia/vtenc.h b/sys/applemedia/vtenc.h
index 38eab1e..3bbe3c6 100644
--- a/sys/applemedia/vtenc.h
+++ b/sys/applemedia/vtenc.h
@@ -76,7 +76,7 @@
   GstVideoCodecState *input_state;
   GstVideoInfo video_info;
   VTCompressionSessionRef session;
-  CFMutableDictionaryRef options;
+  CFDictionaryRef keyframe_props;
 
   GAsyncQueue * cur_outframes;
 };
diff --git a/sys/wasapi/Makefile.am b/sys/wasapi/Makefile.am
index 740c43c..38fcd44 100644
--- a/sys/wasapi/Makefile.am
+++ b/sys/wasapi/Makefile.am
@@ -5,9 +5,9 @@
 	gstwasapisink.c \
 	gstwasapiutil.c 
 
-libgstwasapi_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_CFLAGS) -DCOBJMACROS=1
-libgstwasapi_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) \
-	-lgstaudio-$(GST_API_VERSION) \
+libgstwasapi_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) -DCOBJMACROS=1
+libgstwasapi_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) \
+        $(GST_BASE_LIBS) $(GST_LIBS) \
 	$(WASAPI_LIBS)
 libgstwasapi_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) 
 libgstwasapi_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
diff --git a/sys/wasapi/Makefile.in b/sys/wasapi/Makefile.in
index 9242a43..ef1e0ee 100644
--- a/sys/wasapi/Makefile.in
+++ b/sys/wasapi/Makefile.in
@@ -744,9 +744,9 @@
 	gstwasapisink.c \
 	gstwasapiutil.c 
 
-libgstwasapi_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_CFLAGS) -DCOBJMACROS=1
-libgstwasapi_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) \
-	-lgstaudio-$(GST_API_VERSION) \
+libgstwasapi_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) -DCOBJMACROS=1
+libgstwasapi_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) \
+        $(GST_BASE_LIBS) $(GST_LIBS) \
 	$(WASAPI_LIBS)
 
 libgstwasapi_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) 
diff --git a/sys/winks/gstksvideosrc.c b/sys/winks/gstksvideosrc.c
index 79cbb7a..07cdf8b 100644
--- a/sys/winks/gstksvideosrc.c
+++ b/sys/winks/gstksvideosrc.c
@@ -815,8 +815,8 @@
   GstClock *clock;
   GstClockTime timestamp;
 
-  /* Don't timestamp muxed strams */
-  if (!gst_ks_video_device_stream_is_muxed (priv->device)) {
+  /* Don't timestamp muxed streams */
+  if (gst_ks_video_device_stream_is_muxed (priv->device)) {
     duration = timestamp = GST_CLOCK_TIME_NONE;
     priv->offset++;
     goto timestamp;
diff --git a/tests/check/elements/asfmux.c b/tests/check/elements/asfmux.c
index 3c80845..6cb3e6c 100644
--- a/tests/check/elements/asfmux.c
+++ b/tests/check/elements/asfmux.c
@@ -202,19 +202,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = asfmux_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (asfmux);
diff --git a/tests/check/elements/audiointerleave.c b/tests/check/elements/audiointerleave.c
index 83aaf0f..41788e1 100644
--- a/tests/check/elements/audiointerleave.c
+++ b/tests/check/elements/audiointerleave.c
@@ -491,8 +491,8 @@
 }
 
 static void
-src_handoff_float32_non_audiointerleaved (GstElement * element, GstBuffer * buffer,
-    GstPad * pad, gpointer user_data)
+src_handoff_float32_non_audiointerleaved (GstElement * element,
+    GstBuffer * buffer, GstPad * pad, gpointer user_data)
 {
   src_handoff_float32 (element, buffer, pad, FALSE, user_data);
 }
@@ -847,6 +847,92 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_audiointerleave_2ch_pipeline_no_chanpos)
+{
+  GstElement *pipeline, *queue, *src1, *src2, *interleave, *sink;
+  GstPad *sinkpad0, *sinkpad1, *tmp, *tmp2;
+  GstMessage *msg;
+
+  have_data = 0;
+
+  pipeline = (GstElement *) gst_pipeline_new ("pipeline");
+  fail_unless (pipeline != NULL);
+
+  src1 = gst_element_factory_make ("fakesrc", "src1");
+  fail_unless (src1 != NULL);
+  g_object_set (src1, "num-buffers", 4, NULL);
+  g_object_set (src1, "signal-handoffs", TRUE, NULL);
+  g_object_set (src1, "format", GST_FORMAT_TIME, NULL);
+  g_signal_connect (src1, "handoff",
+      G_CALLBACK (src_handoff_float32_audiointerleaved), GINT_TO_POINTER (0));
+  gst_bin_add (GST_BIN (pipeline), src1);
+
+  src2 = gst_element_factory_make ("fakesrc", "src2");
+  fail_unless (src2 != NULL);
+  g_object_set (src2, "num-buffers", 4, NULL);
+  g_object_set (src2, "signal-handoffs", TRUE, NULL);
+  g_object_set (src2, "format", GST_FORMAT_TIME, NULL);
+  g_signal_connect (src2, "handoff",
+      G_CALLBACK (src_handoff_float32_audiointerleaved), GINT_TO_POINTER (1));
+  gst_bin_add (GST_BIN (pipeline), src2);
+
+  queue = gst_element_factory_make ("queue", "queue");
+  fail_unless (queue != NULL);
+  gst_bin_add (GST_BIN (pipeline), queue);
+
+  interleave = gst_element_factory_make ("audiointerleave", "audiointerleave");
+  fail_unless (interleave != NULL);
+  g_object_set (interleave, "channel-positions-from-input", FALSE, NULL);
+  gst_bin_add (GST_BIN (pipeline), gst_object_ref (interleave));
+
+  sinkpad0 = gst_element_get_request_pad (interleave, "sink_%u");
+  fail_unless (sinkpad0 != NULL);
+  tmp = gst_element_get_static_pad (src1, "src");
+  fail_unless (gst_pad_link (tmp, sinkpad0) == GST_PAD_LINK_OK);
+  gst_object_unref (tmp);
+
+  sinkpad1 = gst_element_get_request_pad (interleave, "sink_%u");
+  fail_unless (sinkpad1 != NULL);
+  tmp = gst_element_get_static_pad (src2, "src");
+  tmp2 = gst_element_get_static_pad (queue, "sink");
+  fail_unless (gst_pad_link (tmp, tmp2) == GST_PAD_LINK_OK);
+  gst_object_unref (tmp);
+  gst_object_unref (tmp2);
+  tmp = gst_element_get_static_pad (queue, "src");
+  fail_unless (gst_pad_link (tmp, sinkpad1) == GST_PAD_LINK_OK);
+  gst_object_unref (tmp);
+
+  sink = gst_element_factory_make ("fakesink", "sink");
+  fail_unless (sink != NULL);
+  g_object_set (sink, "signal-handoffs", TRUE, NULL);
+  g_signal_connect (sink, "handoff", G_CALLBACK (sink_handoff_float32),
+      GINT_TO_POINTER (0));
+  gst_bin_add (GST_BIN (pipeline), sink);
+  tmp = gst_element_get_static_pad (interleave, "src");
+  tmp2 = gst_element_get_static_pad (sink, "sink");
+  fail_unless (gst_pad_link (tmp, tmp2) == GST_PAD_LINK_OK);
+  gst_object_unref (tmp);
+  gst_object_unref (tmp2);
+
+  gst_element_set_state (pipeline, GST_STATE_PLAYING);
+
+  msg = gst_bus_poll (GST_ELEMENT_BUS (pipeline), GST_MESSAGE_EOS, -1);
+  gst_message_unref (msg);
+
+  /* 48000 samples per buffer * 2 sources * 4 buffers */
+  fail_unless (have_data == 48000 * 2 * 4 * sizeof (gfloat));
+
+  gst_element_set_state (pipeline, GST_STATE_NULL);
+  gst_element_release_request_pad (interleave, sinkpad0);
+  gst_object_unref (sinkpad0);
+  gst_element_release_request_pad (interleave, sinkpad1);
+  gst_object_unref (sinkpad1);
+  gst_object_unref (interleave);
+  gst_object_unref (pipeline);
+}
+
+GST_END_TEST;
+
 static Suite *
 audiointerleave_suite (void)
 {
@@ -860,9 +946,11 @@
   tcase_add_test (tc_chain, test_audiointerleave_2ch);
   tcase_add_test (tc_chain, test_audiointerleave_2ch_1eos);
   tcase_add_test (tc_chain, test_audiointerleave_2ch_pipeline_audiointerleaved);
-  tcase_add_test (tc_chain, test_audiointerleave_2ch_pipeline_non_audiointerleaved);
+  tcase_add_test (tc_chain,
+      test_audiointerleave_2ch_pipeline_non_audiointerleaved);
   tcase_add_test (tc_chain, test_audiointerleave_2ch_pipeline_input_chanpos);
   tcase_add_test (tc_chain, test_audiointerleave_2ch_pipeline_custom_chanpos);
+  tcase_add_test (tc_chain, test_audiointerleave_2ch_pipeline_no_chanpos);
 
   return s;
 }
diff --git a/tests/check/elements/faac.c b/tests/check/elements/faac.c
index 5dfd99b..33d013d 100644
--- a/tests/check/elements/faac.c
+++ b/tests/check/elements/faac.c
@@ -242,19 +242,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = faac_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (faac);
diff --git a/tests/check/elements/faad.c b/tests/check/elements/faad.c
index f0714e4..d6287af 100644
--- a/tests/check/elements/faad.c
+++ b/tests/check/elements/faad.c
@@ -206,19 +206,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = faad_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (faad);
diff --git a/tests/check/elements/glimagesink.c b/tests/check/elements/glimagesink.c
index 3c6bb8d..702cb0a 100644
--- a/tests/check/elements/glimagesink.c
+++ b/tests/check/elements/glimagesink.c
@@ -126,7 +126,7 @@
   caps = gst_pad_get_current_caps (srcpad);
   fail_unless (gst_caps_is_fixed (caps));
 
-  /* Let's retreive the GstGLBufferPool to change its min
+  /* Let's retrieve the GstGLBufferPool to change its min
    * and max nb buffers. For that just send an allocation
    * query and change the pool config. */
   query = gst_query_new_allocation (caps, TRUE);
diff --git a/tests/check/elements/h263parse.c b/tests/check/elements/h263parse.c
index 13ec773..3616b41 100644
--- a/tests/check/elements/h263parse.c
+++ b/tests/check/elements/h263parse.c
@@ -134,6 +134,13 @@
   Suite *s = suite_create ("h263parse");
   TCase *tc_chain = tcase_create ("general");
 
+  /* init test context */
+  ctx_factory = "h263parse";
+  ctx_sink_template = &sinktemplate;
+  ctx_src_template = &srctemplate;
+  /* no timing info to parse */
+  ctx_no_metadata = TRUE;
+
   suite_add_tcase (s, tc_chain);
   tcase_add_test (tc_chain, test_parse_normal);
   tcase_add_test (tc_chain, test_parse_drain_single);
@@ -149,27 +156,4 @@
  *   - Both push- and pull-modes need to be tested
  *      * Pull-mode & EOS
  */
-
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = h263parse_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  /* init test context */
-  ctx_factory = "h263parse";
-  ctx_sink_template = &sinktemplate;
-  ctx_src_template = &srctemplate;
-  /* no timing info to parse */
-  ctx_no_metadata = TRUE;
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (h263parse);
diff --git a/tests/check/elements/hlsdemux_m3u8.c b/tests/check/elements/hlsdemux_m3u8.c
index 4ca9840..07fe6d6 100644
--- a/tests/check/elements/hlsdemux_m3u8.c
+++ b/tests/check/elements/hlsdemux_m3u8.c
@@ -1307,6 +1307,9 @@
   Suite *s = suite_create ("hlsdemux_m3u8");
   TCase *tc_m3u8 = tcase_create ("m3u8client");
 
+  GST_DEBUG_CATEGORY_INIT (fragmented_debug, "hlsdemux_m3u", 0,
+      "hlsdemux m3u test");
+
   suite_add_tcase (s, tc_m3u8);
   tcase_add_test (tc_m3u8, test_load_main_playlist_invalid);
   tcase_add_test (tc_m3u8, test_load_main_playlist_rendition);
@@ -1342,22 +1345,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = hlsdemux_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  GST_DEBUG_CATEGORY_INIT (fragmented_debug, "hlsdemux_m3u", 0,
-      "hlsdemux m3u test");
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (hlsdemux);
diff --git a/tests/check/elements/jpegparse.c b/tests/check/elements/jpegparse.c
index 80c26e8..ab97f86 100644
--- a/tests/check/elements/jpegparse.c
+++ b/tests/check/elements/jpegparse.c
@@ -382,19 +382,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = jpegparse_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (jpegparse);
diff --git a/tests/check/elements/kate.c b/tests/check/elements/kate.c
index 98eccf2..12e00f1 100644
--- a/tests/check/elements/kate.c
+++ b/tests/check/elements/kate.c
@@ -880,19 +880,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = kate_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (kate);
diff --git a/tests/check/elements/mpeg2enc.c b/tests/check/elements/mpeg2enc.c
index 24c7ab1..53a52b7 100644
--- a/tests/check/elements/mpeg2enc.c
+++ b/tests/check/elements/mpeg2enc.c
@@ -192,19 +192,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = mpeg2enc_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (mpeg2enc);
diff --git a/tests/check/elements/mpeg4videoparse.c b/tests/check/elements/mpeg4videoparse.c
index 6cedc94..2f5e2fc 100644
--- a/tests/check/elements/mpeg4videoparse.c
+++ b/tests/check/elements/mpeg4videoparse.c
@@ -156,6 +156,16 @@
   Suite *s = suite_create ("mpeg4videoparse");
   TCase *tc_chain = tcase_create ("general");
 
+  /* init test context */
+  ctx_factory = "mpeg4videoparse";
+  ctx_sink_template = &sinktemplate;
+  ctx_src_template = &srctemplate;
+  ctx_headers[0].data = mpeg4_config;
+  ctx_headers[0].size = sizeof (mpeg4_config);
+  ctx_verify_buffer = verify_buffer;
+  /* no timing info to parse */
+  ctx_no_metadata = TRUE;
+
   suite_add_tcase (s, tc_chain);
   tcase_add_test (tc_chain, test_parse_normal);
   tcase_add_test (tc_chain, test_parse_drain_single);
@@ -171,30 +181,4 @@
  *   - Both push- and pull-modes need to be tested
  *      * Pull-mode & EOS
  */
-
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = mpeg4videoparse_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  /* init test context */
-  ctx_factory = "mpeg4videoparse";
-  ctx_sink_template = &sinktemplate;
-  ctx_src_template = &srctemplate;
-  ctx_headers[0].data = mpeg4_config;
-  ctx_headers[0].size = sizeof (mpeg4_config);
-  ctx_verify_buffer = verify_buffer;
-  /* no timing info to parse */
-  ctx_no_metadata = TRUE;
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (mpeg4videoparse);
diff --git a/tests/check/elements/mpegvideoparse.c b/tests/check/elements/mpegvideoparse.c
index 07d73bf..58c4ee5 100644
--- a/tests/check/elements/mpegvideoparse.c
+++ b/tests/check/elements/mpegvideoparse.c
@@ -240,6 +240,16 @@
   Suite *s = suite_create ("mpegvideoparse");
   TCase *tc_chain = tcase_create ("general");
 
+  /* init test context */
+  ctx_factory = "mpegvideoparse";
+  ctx_sink_template = &sinktemplate;
+  ctx_src_template = &srctemplate;
+  ctx_headers[0].data = mpeg2_seq;
+  ctx_headers[0].size = sizeof (mpeg2_seq);
+  ctx_verify_buffer = verify_buffer;
+  ctx_setup = setup_element;
+
+
   suite_add_tcase (s, tc_chain);
   tcase_add_test (tc_chain, test_parse_normal);
   tcase_add_test (tc_chain, test_parse_drain_single);
@@ -257,29 +267,4 @@
  *   - Both push- and pull-modes need to be tested
  *      * Pull-mode & EOS
  */
-
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = mpegvideoparse_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  /* init test context */
-  ctx_factory = "mpegvideoparse";
-  ctx_sink_template = &sinktemplate;
-  ctx_src_template = &srctemplate;
-  ctx_headers[0].data = mpeg2_seq;
-  ctx_headers[0].size = sizeof (mpeg2_seq);
-  ctx_verify_buffer = verify_buffer;
-  ctx_setup = setup_element;
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (mpegvideoparse);
diff --git a/tests/check/elements/mplex.c b/tests/check/elements/mplex.c
index 0e894eb..b65632c 100644
--- a/tests/check/elements/mplex.c
+++ b/tests/check/elements/mplex.c
@@ -298,19 +298,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = mplex_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (mplex);
diff --git a/tests/check/elements/opus.c b/tests/check/elements/opus.c
index e7f9c3a..3afeb4e 100644
--- a/tests/check/elements/opus.c
+++ b/tests/check/elements/opus.c
@@ -375,19 +375,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = opus_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (opus);
diff --git a/tests/check/elements/rtponvif.c b/tests/check/elements/rtponvif.c
index d5eaf46..cce808b 100644
--- a/tests/check/elements/rtponvif.c
+++ b/tests/check/elements/rtponvif.c
@@ -436,18 +436,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-  Suite *s = onviftimestamp_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (onviftimestamp);
diff --git a/tests/check/elements/timidity.c b/tests/check/elements/timidity.c
index 339d140..5c85b65 100644
--- a/tests/check/elements/timidity.c
+++ b/tests/check/elements/timidity.c
@@ -71,19 +71,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = timidity_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (timidity);
diff --git a/tests/check/elements/voaacenc.c b/tests/check/elements/voaacenc.c
index 0cbeec0..15530d8 100644
--- a/tests/check/elements/voaacenc.c
+++ b/tests/check/elements/voaacenc.c
@@ -245,19 +245,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = voaacenc_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (voaacenc);
diff --git a/tests/check/elements/voamrwbenc.c b/tests/check/elements/voamrwbenc.c
index a6d3a01..1a8bf4e 100644
--- a/tests/check/elements/voamrwbenc.c
+++ b/tests/check/elements/voamrwbenc.c
@@ -176,19 +176,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = voamrwbenc_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (voamrwbenc);
diff --git a/tests/check/elements/zbar.c b/tests/check/elements/zbar.c
index 0566d7e..9c8284d 100644
--- a/tests/check/elements/zbar.c
+++ b/tests/check/elements/zbar.c
@@ -25,6 +25,7 @@
   GstMessage *zbar_msg = NULL;
   const GstStructure *s;
   GstElement *pipeline, *src, *dec, *csp, *zbar, *sink;
+  GstSample *sample;
   const gchar *type, *symbol;
   gchar *path;
   int qual;
@@ -37,6 +38,8 @@
   zbar = gst_element_factory_make ("zbar", NULL);
   sink = gst_element_factory_make ("fakesink", NULL);
 
+  g_object_set (zbar, "attach-frame", TRUE, NULL);
+
   path = g_build_filename (GST_TEST_FILES_PATH, "barcode.png", NULL);
   GST_LOG ("reading file '%s'", path);
   g_object_set (src, "location", path, NULL);
@@ -79,6 +82,7 @@
   fail_unless (gst_structure_has_field (s, "type"));
   fail_unless (gst_structure_has_field (s, "symbol"));
   fail_unless (gst_structure_has_field (s, "quality"));
+  fail_unless (gst_structure_has_field (s, "frame"));
   fail_unless (gst_structure_get_int (s, "quality", &qual));
   fail_unless (qual >= 90);
   type = gst_structure_get_string (s, "type");
@@ -86,6 +90,11 @@
   symbol = gst_structure_get_string (s, "symbol");
   fail_unless_equals_string (symbol, "9876543210128");
 
+  fail_unless (gst_structure_get (s, "frame", GST_TYPE_SAMPLE, &sample, NULL));
+  fail_unless (gst_sample_get_buffer (sample));
+  fail_unless (gst_sample_get_caps (sample));
+  gst_sample_unref (sample);
+
   fail_unless_equals_int (gst_element_set_state (pipeline, GST_STATE_NULL),
       GST_STATE_CHANGE_SUCCESS);
 
diff --git a/tests/check/libs/gstglcontext.c b/tests/check/libs/gstglcontext.c
index 901db50..601e673 100644
--- a/tests/check/libs/gstglcontext.c
+++ b/tests/check/libs/gstglcontext.c
@@ -173,20 +173,20 @@
     gl->MatrixMode (GL_PROJECTION);
     gl->LoadIdentity ();
 
-    gl->Enable (GL_TEXTURE_2D);
+    gl->ActiveTexture (GL_TEXTURE_2D);
     gl->BindTexture (GL_TEXTURE_2D, tex);
 
     gl->EnableClientState (GL_VERTEX_ARRAY);
-    gl->EnableClientState (GL_TEXTURE_COORD_ARRAY);
     gl->VertexPointer (2, GL_FLOAT, 0, &verts);
+
+    gl->ClientActiveTexture (GL_TEXTURE0);
+    gl->EnableClientState (GL_TEXTURE_COORD_ARRAY);
     gl->TexCoordPointer (2, GL_FLOAT, 0, &texcoords);
 
     gl->DrawArrays (GL_TRIANGLE_FAN, 0, 4);
 
     gl->DisableClientState (GL_VERTEX_ARRAY);
     gl->DisableClientState (GL_TEXTURE_COORD_ARRAY);
-
-    gl->Disable (GL_TEXTURE_2D);
   }
 #endif
 #if GST_GL_HAVE_GLES2
diff --git a/tests/check/libs/gstglupload.c b/tests/check/libs/gstglupload.c
index 214d36a..11e2fe0 100644
--- a/tests/check/libs/gstglupload.c
+++ b/tests/check/libs/gstglupload.c
@@ -168,20 +168,20 @@
     gl->MatrixMode (GL_PROJECTION);
     gl->LoadIdentity ();
 
-    gl->Enable (GL_TEXTURE_2D);
+    gl->ActiveTexture (GL_TEXTURE_2D);
     gl->BindTexture (GL_TEXTURE_2D, tex_id);
 
     gl->EnableClientState (GL_VERTEX_ARRAY);
-    gl->EnableClientState (GL_TEXTURE_COORD_ARRAY);
     gl->VertexPointer (2, GL_FLOAT, 0, &verts);
+
+    gl->ClientActiveTexture (GL_TEXTURE0);
+    gl->EnableClientState (GL_TEXTURE_COORD_ARRAY);
     gl->TexCoordPointer (2, GL_FLOAT, 0, &texcoords);
 
     gl->DrawArrays (GL_TRIANGLE_FAN, 0, 4);
 
     gl->DisableClientState (GL_VERTEX_ARRAY);
     gl->DisableClientState (GL_TEXTURE_COORD_ARRAY);
-
-    gl->Disable (GL_TEXTURE_2D);
   }
 #endif
 #if GST_GL_HAVE_GLES2
diff --git a/tests/check/libs/h264parser.c b/tests/check/libs/h264parser.c
index 65fd0c7..cc35519 100644
--- a/tests/check/libs/h264parser.c
+++ b/tests/check/libs/h264parser.c
@@ -225,20 +225,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = h264parser_suite ();
-
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (h264parser);
diff --git a/tests/check/libs/mpegts.c b/tests/check/libs/mpegts.c
index d96211a..a1ce6e8 100644
--- a/tests/check/libs/mpegts.c
+++ b/tests/check/libs/mpegts.c
@@ -581,20 +581,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = mpegts_suite ();
-
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (mpegts);
diff --git a/tests/check/libs/mpegvideoparser.c b/tests/check/libs/mpegvideoparser.c
index 914dd6c..b925169 100644
--- a/tests/check/libs/mpegvideoparser.c
+++ b/tests/check/libs/mpegvideoparser.c
@@ -164,7 +164,7 @@
 GST_END_TEST;
 
 static Suite *
-videoparsers_suite (void)
+mpegvideoparsers_suite (void)
 {
   Suite *s = suite_create ("Video Parsers library");
 
@@ -179,20 +179,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = videoparsers_suite ();
-
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (mpegvideoparsers);
diff --git a/tests/check/libs/vc1parser.c b/tests/check/libs/vc1parser.c
index cb0bce7..5ce4328 100644
--- a/tests/check/libs/vc1parser.c
+++ b/tests/check/libs/vc1parser.c
@@ -1273,20 +1273,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = vc1parser_suite ();
-
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (vc1parser);
diff --git a/tests/check/libs/vp8parser.c b/tests/check/libs/vp8parser.c
index b03b744..784e20f 100644
--- a/tests/check/libs/vp8parser.c
+++ b/tests/check/libs/vp8parser.c
@@ -212,7 +212,7 @@
 GST_END_TEST;
 
 static Suite *
-videoparsers_suite (void)
+vp8parsers_suite (void)
 {
   Suite *s = suite_create ("VP8 Parser library");
 
@@ -225,20 +225,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = videoparsers_suite ();
-
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (vp8parsers);
diff --git a/tests/check/pipelines/streamheader.c b/tests/check/pipelines/streamheader.c
index d3346df..63a8f54 100644
--- a/tests/check/pipelines/streamheader.c
+++ b/tests/check/pipelines/streamheader.c
@@ -261,19 +261,4 @@
   return s;
 }
 
-int
-main (int argc, char **argv)
-{
-  int nf;
-
-  Suite *s = streamheader_suite ();
-  SRunner *sr = srunner_create (s);
-
-  gst_check_init (&argc, &argv);
-
-  srunner_run_all (sr, CK_NORMAL);
-  nf = srunner_ntests_failed (sr);
-  srunner_free (sr);
-
-  return nf;
-}
+GST_CHECK_MAIN (streamheader);
diff --git a/tests/examples/camerabin2/gst-camerabin2-test.c b/tests/examples/camerabin2/gst-camerabin2-test.c
index b68ec51..90e010a 100644
--- a/tests/examples/camerabin2/gst-camerabin2-test.c
+++ b/tests/examples/camerabin2/gst-camerabin2-test.c
@@ -723,8 +723,7 @@
     if (ipp) {
       g_object_set (camerabin, "image-filter", ipp, NULL);
       g_object_unref (ipp);
-    }
-    else
+    } else
       GST_WARNING ("Could not create ipp elements");
   }
 
@@ -1077,6 +1076,9 @@
     i++;
   }
 
+  if (i == 0)
+    return;
+
   if (i > 1)
     shot_to_shot = avg.shot_to_shot / (i - 1);
   else
diff --git a/tests/examples/gl/cocoa/Makefile.am b/tests/examples/gl/cocoa/Makefile.am
index 91349c0..3690546 100755
--- a/tests/examples/gl/cocoa/Makefile.am
+++ b/tests/examples/gl/cocoa/Makefile.am
@@ -4,12 +4,12 @@
 
 cocoa_videooverlay_SOURCES = cocoa-videooverlay.m
 
-cocoa_videooverlay_OBJCFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
+cocoa_videooverlay_OBJCFLAGS=-Wno-error=unused-command-line-argument \
+    -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
     $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
-	$(GL_CFLAGS) ${GL_OBJCFLAGS}
-cocoa_videooverlay_LDADD=$(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
-	$(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
+    $(GL_CFLAGS) $(GL_OBJCFLAGS)
 
-cocoa_videooverlay_LIBTOOLFLAGS = --tag=OBJC
+cocoa_videooverlay_LDADD=$(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
+    $(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
 
 endif
diff --git a/tests/examples/gl/cocoa/Makefile.in b/tests/examples/gl/cocoa/Makefile.in
index e44c9e9..2243cb6 100644
--- a/tests/examples/gl/cocoa/Makefile.in
+++ b/tests/examples/gl/cocoa/Makefile.in
@@ -137,10 +137,10 @@
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am__v_lt_1 = 
-cocoa_videooverlay_LINK = $(LIBTOOL) $(AM_V_lt) \
-	$(cocoa_videooverlay_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
-	$(OBJCLD) $(cocoa_videooverlay_OBJCFLAGS) $(OBJCFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+cocoa_videooverlay_LINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(OBJCLD) \
+	$(cocoa_videooverlay_OBJCFLAGS) $(OBJCFLAGS) $(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
@@ -709,14 +709,14 @@
 top_srcdir = @top_srcdir@
 wayland_scanner = @wayland_scanner@
 @HAVE_WINDOW_COCOA_TRUE@cocoa_videooverlay_SOURCES = cocoa-videooverlay.m
-@HAVE_WINDOW_COCOA_TRUE@cocoa_videooverlay_OBJCFLAGS = -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
+@HAVE_WINDOW_COCOA_TRUE@cocoa_videooverlay_OBJCFLAGS = -Wno-error=unused-command-line-argument \
+@HAVE_WINDOW_COCOA_TRUE@    -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
 @HAVE_WINDOW_COCOA_TRUE@    $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
-@HAVE_WINDOW_COCOA_TRUE@	$(GL_CFLAGS) ${GL_OBJCFLAGS}
+@HAVE_WINDOW_COCOA_TRUE@    $(GL_CFLAGS) $(GL_OBJCFLAGS)
 
 @HAVE_WINDOW_COCOA_TRUE@cocoa_videooverlay_LDADD = $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
-@HAVE_WINDOW_COCOA_TRUE@	$(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
+@HAVE_WINDOW_COCOA_TRUE@    $(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
 
-@HAVE_WINDOW_COCOA_TRUE@cocoa_videooverlay_LIBTOOLFLAGS = --tag=OBJC
 all: all-am
 
 .SUFFIXES:
diff --git a/tests/examples/gl/generic/cube/Makefile.am b/tests/examples/gl/generic/cube/Makefile.am
index 7262533..e1b0cef 100644
--- a/tests/examples/gl/generic/cube/Makefile.am
+++ b/tests/examples/gl/generic/cube/Makefile.am
@@ -4,6 +4,6 @@
 cube_SOURCES = main.cpp
 
 cube_CXXFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
-	$(GST_CXXFLAGS) $(GL_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
-cube_LDADD=$(GST_LIBS) -lgstvideo-$(GST_API_VERSION) $(GL_LIBS)
+	$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) $(GL_CFLAGS)
+cube_LDADD=$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_LIBS) $(GL_LIBS)
 
diff --git a/tests/examples/gl/generic/cube/Makefile.in b/tests/examples/gl/generic/cube/Makefile.in
index 08d5640..632c649 100644
--- a/tests/examples/gl/generic/cube/Makefile.in
+++ b/tests/examples/gl/generic/cube/Makefile.in
@@ -128,7 +128,8 @@
 am_cube_OBJECTS = cube-main.$(OBJEXT)
 cube_OBJECTS = $(am_cube_OBJECTS)
 am__DEPENDENCIES_1 =
-cube_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+cube_DEPENDENCIES = $(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
@@ -705,9 +706,9 @@
 wayland_scanner = @wayland_scanner@
 cube_SOURCES = main.cpp
 cube_CXXFLAGS = -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
-	$(GST_CXXFLAGS) $(GL_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
+	$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) $(GL_CFLAGS)
 
-cube_LDADD = $(GST_LIBS) -lgstvideo-$(GST_API_VERSION) $(GL_LIBS)
+cube_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_LIBS) $(GL_LIBS)
 all: all-am
 
 .SUFFIXES:
diff --git a/tests/examples/gl/generic/cubeyuv/Makefile.am b/tests/examples/gl/generic/cubeyuv/Makefile.am
index 98697f0..b232871 100644
--- a/tests/examples/gl/generic/cubeyuv/Makefile.am
+++ b/tests/examples/gl/generic/cubeyuv/Makefile.am
@@ -4,6 +4,5 @@
 cubeyuv_SOURCES = main.cpp
 
 cubeyuv_CXXFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
-	$(GST_CXXFLAGS) $(GL_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
-cubeyuv_LDADD=$(GST_LIBS) $(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
-
+	$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) $(GL_CFLAGS)
+cubeyuv_LDADD=$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_LIBS) $(GL_LIBS)
diff --git a/tests/examples/gl/generic/cubeyuv/Makefile.in b/tests/examples/gl/generic/cubeyuv/Makefile.in
index 87e2d53..bfbdcbc 100644
--- a/tests/examples/gl/generic/cubeyuv/Makefile.in
+++ b/tests/examples/gl/generic/cubeyuv/Makefile.in
@@ -128,7 +128,8 @@
 am_cubeyuv_OBJECTS = cubeyuv-main.$(OBJEXT)
 cubeyuv_OBJECTS = $(am_cubeyuv_OBJECTS)
 am__DEPENDENCIES_1 =
-cubeyuv_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+cubeyuv_DEPENDENCIES = $(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
@@ -705,9 +706,9 @@
 wayland_scanner = @wayland_scanner@
 cubeyuv_SOURCES = main.cpp
 cubeyuv_CXXFLAGS = -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
-	$(GST_CXXFLAGS) $(GL_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
+	$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) $(GL_CFLAGS)
 
-cubeyuv_LDADD = $(GST_LIBS) $(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
+cubeyuv_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_LIBS) $(GL_LIBS)
 all: all-am
 
 .SUFFIXES:
diff --git a/tests/examples/gl/generic/doublecube/Makefile.am b/tests/examples/gl/generic/doublecube/Makefile.am
index a131829..7f14895 100644
--- a/tests/examples/gl/generic/doublecube/Makefile.am
+++ b/tests/examples/gl/generic/doublecube/Makefile.am
@@ -4,6 +4,6 @@
 doublecube_SOURCES = main.cpp
 
 doublecube_CXXFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
-	$(GST_CXXFLAGS) $(GL_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
-doublecube_LDADD=$(GST_LIBS) $(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
+	$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) $(GL_CFLAGS)
+doublecube_LDADD=$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_LIBS) $(GL_LIBS)
 
diff --git a/tests/examples/gl/generic/doublecube/Makefile.in b/tests/examples/gl/generic/doublecube/Makefile.in
index 4520e33..887c569 100644
--- a/tests/examples/gl/generic/doublecube/Makefile.in
+++ b/tests/examples/gl/generic/doublecube/Makefile.in
@@ -128,7 +128,8 @@
 am_doublecube_OBJECTS = doublecube-main.$(OBJEXT)
 doublecube_OBJECTS = $(am_doublecube_OBJECTS)
 am__DEPENDENCIES_1 =
-doublecube_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+doublecube_DEPENDENCIES = $(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
@@ -705,9 +706,9 @@
 wayland_scanner = @wayland_scanner@
 doublecube_SOURCES = main.cpp
 doublecube_CXXFLAGS = -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
-	$(GST_CXXFLAGS) $(GL_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
+	$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) $(GL_CFLAGS)
 
-doublecube_LDADD = $(GST_LIBS) $(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
+doublecube_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_LIBS) $(GL_LIBS)
 all: all-am
 
 .SUFFIXES:
diff --git a/tests/examples/gl/gtk/filternovideooverlay/main.cpp b/tests/examples/gl/gtk/filternovideooverlay/main.cpp
index 5b9257c..dc9e04b 100644
--- a/tests/examples/gl/gtk/filternovideooverlay/main.cpp
+++ b/tests/examples/gl/gtk/filternovideooverlay/main.cpp
@@ -130,7 +130,7 @@
     gtk_widget_show (window_control);
 
     GstElement* videosrc = gst_element_factory_make ("videotestsrc", "videotestsrc");
-    GstElement* glfilterlaplacian = gst_element_factory_make ("glfilterblur", "glfilterblur");
+    GstElement* upload = gst_element_factory_make ("glupload", "glupload");
     GstElement* glfiltercube = gst_element_factory_make ("glfiltercube", "glfiltercube");
     GstElement* videosink = gst_element_factory_make ("glimagesink", "glimagesink");
 
@@ -138,12 +138,12 @@
                                         "width", G_TYPE_INT, 640,
                                         "height", G_TYPE_INT, 480,
                                         "framerate", GST_TYPE_FRACTION, 25, 1,
-                                        "format", G_TYPE_STRING, "YV12",
+                                        "format", G_TYPE_STRING, "RGBA",
                                         NULL) ;
 
-    gst_bin_add_many (GST_BIN (pipeline), videosrc, glfiltercube, glfilterlaplacian, videosink, NULL);
+    gst_bin_add_many (GST_BIN (pipeline), videosrc, upload, glfiltercube, videosink, NULL);
 
-    gboolean link_ok = gst_element_link_filtered(videosrc, glfiltercube, caps) ;
+    gboolean link_ok = gst_element_link_filtered(videosrc, upload, caps) ;
     gst_caps_unref(caps) ;
     if(!link_ok)
     {
@@ -151,7 +151,7 @@
         return -1;
     }
 
-    if(!gst_element_link_many(glfiltercube, glfilterlaplacian, videosink, NULL))
+    if(!gst_element_link_many(upload, glfiltercube, videosink, NULL))
     {
         g_warning("Failed to link glfiltercube to videosink!\n") ;
         return -1;
diff --git a/tests/examples/gl/gtk/filtervideooverlay/main.cpp b/tests/examples/gl/gtk/filtervideooverlay/main.cpp
index 8ca402d..5a5c9f5 100644
--- a/tests/examples/gl/gtk/filtervideooverlay/main.cpp
+++ b/tests/examples/gl/gtk/filtervideooverlay/main.cpp
@@ -27,6 +27,11 @@
 
 static GstBusSyncReply create_window (GstBus* bus, GstMessage* message, GtkWidget* widget)
 {
+    GtkAllocation allocation;
+
+    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;
@@ -38,23 +43,56 @@
 
     gst_video_overlay_set_gtk_window (GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message)), widget);
 
+    gtk_widget_get_allocation (widget, &allocation);
+    gst_video_overlay_set_render_rectangle (GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message)), allocation.x, allocation.y, allocation.width, allocation.height);
+
     gst_message_unref (message);
 
     return GST_BUS_DROP;
 }
 
+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 end_stream_cb(GstBus* bus, GstMessage* message, GstElement* pipeline)
 {
-    g_print("End of stream\n");
+    GError *error = NULL;
+    gchar *details;
 
-    gst_element_set_state (pipeline, GST_STATE_NULL);
-    gst_object_unref(pipeline);
+    switch (GST_MESSAGE_TYPE (message)) {
+        case GST_MESSAGE_ERROR:
+            gst_message_parse_error (message, &error, &details);
 
-    gtk_main_quit();
+            g_print("Error %s\n", error->message);
+            g_print("Details %s\n", details);
+        /* fallthrough */
+        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_WARNING:
+            gst_message_parse_warning (message, &error, &details);
+
+            g_print("Warning %s\n", error->message);
+            g_print("Details %s\n", details);
+            break;
+        default:
+            break;
+    }
 }
 
-
 static gboolean expose_cb(GtkWidget* widget, cairo_t *cr, GstElement* videosink)
 {
     gst_video_overlay_expose (GST_VIDEO_OVERLAY (videosink));
@@ -182,20 +220,20 @@
     g_signal_connect(G_OBJECT(window), "delete-event", G_CALLBACK(destroy_cb), pipeline);
 
     GstElement* videosrc = gst_element_factory_make ("videotestsrc", "videotestsrc");
+    GstElement* upload = gst_element_factory_make ("glupload", "glupload");
     GstElement* glfiltercube = gst_element_factory_make ("glfiltercube", "glfiltercube");
-    GstElement* glfilterlaplacian = gst_element_factory_make ("glfilterlaplacian", "glfilterlaplacian");
     GstElement* videosink = gst_element_factory_make ("glimagesink", "glimagesink");
 
     GstCaps *caps = gst_caps_new_simple("video/x-raw",
                                         "width", G_TYPE_INT, 640,
                                         "height", G_TYPE_INT, 480,
                                         "framerate", GST_TYPE_FRACTION, 25, 1,
-                                        "format", G_TYPE_STRING, "AYUV",
+                                        "format", G_TYPE_STRING, "RGBA",
                                         NULL) ;
 
-    gst_bin_add_many (GST_BIN (pipeline), videosrc, glfiltercube, glfilterlaplacian, videosink, NULL);
+    gst_bin_add_many (GST_BIN (pipeline), videosrc, upload, glfiltercube, videosink, NULL);
 
-    gboolean link_ok = gst_element_link_filtered(videosrc, glfiltercube, caps) ;
+    gboolean link_ok = gst_element_link_filtered(videosrc, upload, caps) ;
     gst_caps_unref(caps) ;
     if(!link_ok)
     {
@@ -203,7 +241,7 @@
         return -1;
     }
 
-    if(!gst_element_link_many(glfiltercube, glfilterlaplacian, videosink, NULL))
+    if(!gst_element_link_many(upload, glfiltercube, videosink, NULL))
     {
         g_warning("Failed to link glfiltercube to videosink!\n") ;
         return -1;
@@ -211,6 +249,7 @@
 
     //area where the video is drawn
     GtkWidget* area = gtk_drawing_area_new();
+    gtk_widget_set_redraw_on_allocate (area, TRUE);
     gtk_container_add (GTK_CONTAINER (window), area);
 
     gtk_widget_realize(area);
@@ -227,6 +266,7 @@
     //needed when being in GST_STATE_READY, GST_STATE_PAUSED
     //or resizing/obscuring the window
     g_signal_connect(area, "draw", G_CALLBACK(expose_cb), videosink);
+    g_signal_connect(area, "configure-event", G_CALLBACK(resize_cb), videosink);
 
     //start
     GstStateChangeReturn ret = gst_element_set_state (pipeline, GST_STATE_PLAYING);
diff --git a/tests/examples/gl/gtk/gstgtk.c b/tests/examples/gl/gtk/gstgtk.c
index 07cd08d..493d6b3 100644
--- a/tests/examples/gl/gtk/gstgtk.c
+++ b/tests/examples/gl/gtk/gstgtk.c
@@ -30,10 +30,60 @@
 #if GST_GL_HAVE_WINDOW_X11 && defined(GDK_WINDOWING_X11)
 #include <gdk/gdkx.h>
 #endif
+#if GST_GL_HAVE_WINDOW_WAYLAND && defined(GDK_WINDOWING_WAYLAND)
+#include <gdk/gdkwayland.h>
+#endif
 #if GST_GL_HAVE_WINDOW_COCOA && defined(GDK_WINDOWING_QUARTZ)
 #include <gdk/gdkquartz.h>
 #endif
 
+gboolean
+gst_gtk_handle_need_context (GstBus * bus, GstMessage * msg, gpointer data)
+{
+  gboolean ret = FALSE;
+
+  switch (GST_MESSAGE_TYPE (msg)) {
+    case GST_MESSAGE_NEED_CONTEXT:
+    {
+      const gchar *context_type;
+
+      gst_message_parse_context_type (msg, &context_type);
+      g_print ("got need context %s\n", context_type);
+
+      if (g_strcmp0 (context_type, "GstWaylandDisplayHandleContextType") == 0) {
+#if GST_GL_HAVE_WINDOW_WAYLAND && defined(GDK_WINDOWING_WAYLAND)
+        GstContext *context = NULL;
+        GdkDisplay *gdk_display = gdk_display_get_default ();
+        if (GDK_IS_WAYLAND_DISPLAY (gdk_display)) {
+          struct wl_display *wayland_display =
+              gdk_wayland_display_get_wl_display (gdk_display);
+          if (wayland_display) {
+            GstStructure *s;
+
+            context =
+                gst_context_new ("GstWaylandDisplayHandleContextType", TRUE);
+
+            s = gst_context_writable_structure (context);
+            gst_structure_set (s, "display", G_TYPE_POINTER, wayland_display,
+                NULL);
+
+            gst_element_set_context (GST_ELEMENT (msg->src), context);
+
+            ret = TRUE;
+          }
+        }
+#else
+        GST_ERROR
+            ("Asked for wayland display context, but compiled without wayland support");
+#endif
+      }
+    }
+    default:
+      break;
+  }
+
+  return ret;
+}
 
 void
 gst_video_overlay_set_gtk_window (GstVideoOverlay * videooverlay,
@@ -66,5 +116,12 @@
     gst_video_overlay_set_window_handle (videooverlay, GDK_WINDOW_XID (window));
   } else
 #endif
+#if GST_GL_HAVE_WINDOW_WAYLAND && defined(GDK_WINDOWING_WAYLAND)
+  if (GDK_IS_WAYLAND_DISPLAY (display) && (!user_choice
+          || g_strcmp0 (user_choice, "wayland") == 0)) {
+    gst_video_overlay_set_window_handle (videooverlay,
+        (guintptr) gdk_wayland_window_get_wl_surface (window));
+  } else
+#endif
     g_error ("Unsupported Gtk+ backend");
 }
diff --git a/tests/examples/gl/gtk/gstgtk.h b/tests/examples/gl/gtk/gstgtk.h
index 4ef147f..2aeec59 100644
--- a/tests/examples/gl/gtk/gstgtk.h
+++ b/tests/examples/gl/gtk/gstgtk.h
@@ -27,6 +27,7 @@
 G_BEGIN_DECLS
 
 void gst_video_overlay_set_gtk_window (GstVideoOverlay *videooverlay, GtkWidget *window);
+gboolean gst_gtk_handle_need_context (GstBus *bus, GstMessage *msg, gpointer data);
 
 G_END_DECLS
 
diff --git a/tests/examples/gl/gtk/switchvideooverlay/main.cpp b/tests/examples/gl/gtk/switchvideooverlay/main.cpp
index e8378b8..ea53ea1 100644
--- a/tests/examples/gl/gtk/switchvideooverlay/main.cpp
+++ b/tests/examples/gl/gtk/switchvideooverlay/main.cpp
@@ -27,6 +27,11 @@
 
 static GstBusSyncReply create_window (GstBus* bus, GstMessage* message, GtkWidget* widget)
 {
+    GtkAllocation allocation;
+
+    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;
@@ -38,23 +43,56 @@
 
     gst_video_overlay_set_gtk_window (GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message)), widget);
 
+    gtk_widget_get_allocation (widget, &allocation);
+    gst_video_overlay_set_render_rectangle (GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message)), allocation.x, allocation.y, allocation.width, allocation.height);
+
     gst_message_unref (message);
 
     return GST_BUS_DROP;
 }
 
+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 end_stream_cb(GstBus* bus, GstMessage* message, GstElement* pipeline)
 {
-    g_print("End of stream\n");
+    GError *error = NULL;
+    gchar *details;
 
-    gst_element_set_state (pipeline, GST_STATE_NULL);
-    gst_object_unref(pipeline);
+    switch (GST_MESSAGE_TYPE (message)) {
+        case GST_MESSAGE_ERROR:
+            gst_message_parse_error (message, &error, &details);
 
-    gtk_main_quit();
+            g_print("Error %s\n", error->message);
+            g_print("Details %s\n", details);
+        /* fallthrough */
+        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_WARNING:
+            gst_message_parse_warning (message, &error, &details);
+
+            g_print("Warning %s\n", error->message);
+            g_print("Details %s\n", details);
+            break;
+        default:
+            break;
+    }
 }
 
-
 static gboolean expose_cb(GtkWidget* widget, cairo_t *cr, GstElement* videosink)
 {
     g_print ("expose %p\n", widget);
@@ -65,9 +103,14 @@
 
 static gboolean on_click_drawing_area(GtkWidget* widget, GdkEventButton* event, GstElement* videosink)
 {
+    GtkAllocation allocation;
+
     g_print ("switch the drawing area %p\n", widget);
     gst_video_overlay_set_gtk_window (GST_VIDEO_OVERLAY (videosink), widget);
-    gst_video_overlay_expose (GST_VIDEO_OVERLAY (videosink));
+
+    gtk_widget_get_allocation (widget, &allocation);
+    gst_video_overlay_set_render_rectangle (GST_VIDEO_OVERLAY (videosink), allocation.x, allocation.y, allocation.width, allocation.height);
+
     return FALSE;
 }
 
@@ -115,9 +158,6 @@
     g_print ("realize %p\n", widget);
     if (!gdk_window_ensure_native (gtk_widget_get_window (widget)))
         g_error ("Failed to create native window!");
-
-    //avoid flickering when resizing or obscuring the main window
-    gtk_widget_set_app_paintable(widget, TRUE);
 }
 
 
@@ -214,6 +254,8 @@
     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);
     gtk_widget_realize(area_top_right);
 
@@ -228,7 +270,9 @@
     //needed when being in GST_STATE_READY, GST_STATE_PAUSED
     //or resizing/obscuring the window
     g_signal_connect(area_top_left, "draw", G_CALLBACK(expose_cb), videosink);
+    g_signal_connect(area_top_left, "configure-event", G_CALLBACK(resize_cb), videosink);
     g_signal_connect(area_top_right, "draw", G_CALLBACK(expose_cb), videosink);
+    g_signal_connect(area_top_right, "configure-event", G_CALLBACK(resize_cb), videosink);
 
     //switch the drawing area
     g_signal_connect(area_top_left, "button-press-event", G_CALLBACK(on_click_drawing_area), videosink);
diff --git a/win32/common/config.h b/win32/common/config.h
index b86dbb5..433ed5c 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 "2014-07-19"
+#define GST_PACKAGE_RELEASE_DATETIME "2015-06-07"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -115,6 +115,15 @@
 /* Define to enable Bluez (used by bluez). */
 #undef HAVE_BLUEZ
 
+/* Old bluez detected */
+#undef HAVE_BLUEZ4
+
+/* Current bluez detected */
+#undef HAVE_BLUEZ5
+
+/* Define to enable bs2b (used by bs2b). */
+#undef HAVE_BS2B
+
 /* Define to enable bz2 library (used by bz2). */
 #undef HAVE_BZ2
 
@@ -129,9 +138,15 @@
 /* Define to enable chromaprint (used by chromaprint). */
 #undef HAVE_CHROMAPRINT
 
+/* Define if the target CPU is AARCH64 */
+#undef HAVE_CPU_AARCH64
+
 /* Define if the target CPU is an Alpha */
 #undef HAVE_CPU_ALPHA
 
+/* Define if the target CPU is an ARC */
+#undef HAVE_CPU_ARC
+
 /* Define if the target CPU is an ARM */
 #undef HAVE_CPU_ARM
 
@@ -193,9 +208,6 @@
 /* Define to enable Direct3D plug-in (used by direct3dsink). */
 #undef HAVE_DIRECT3D
 
-/* Define to enable DirectDraw plug-in (used by directdrawsink). */
-#undef HAVE_DIRECTDRAW
-
 /* Define to enable directfb (used by dfbvideosink ). */
 #undef HAVE_DIRECTFB
 
@@ -208,6 +220,9 @@
 /* define for working do while(0) macros */
 #undef HAVE_DOWHILE_MACROS
 
+/* Define to enable DTLS plugin (used by dtls). */
+#undef HAVE_DTLS
+
 /* Define to enable dts library (used by dtsdec). */
 #undef HAVE_DTS
 
@@ -265,6 +280,12 @@
 /* Define to 1 if the system has the type `GLsizeiptr'. */
 #undef HAVE_GLSIZEIPTR
 
+/* Define to 1 if the system has the type `GLsync'. */
+#undef HAVE_GLSYNC
+
+/* Define to 1 if the system has the type `GLuint64'. */
+#undef HAVE_GLUINT64
+
 /* Define to enable gme decoder (used by gme). */
 #undef HAVE_GME
 
@@ -283,9 +304,6 @@
 /* Define if gudev is installed */
 #undef HAVE_GUDEV
 
-/* Define to 1 if you have the <highgui.h> header file. */
-#undef HAVE_HIGHGUI_H
-
 /* Define to enable http live streaming plugin (used by hls). */
 #undef HAVE_HLS
 
@@ -307,6 +325,9 @@
 /* Define to enable ladspa (used by ladspa). */
 #undef HAVE_LADSPA
 
+/* Define to enable libde265 HEVC/H.265 decoder (used by libde265). */
+#undef HAVE_LIBDE265
+
 /* Define if libgcrypt is available */
 #undef HAVE_LIBGCRYPT
 
@@ -364,9 +385,6 @@
 /* Define to enable musepackdec (used by musepack). */
 #undef HAVE_MUSEPACK
 
-/* Define to enable MythTV client plugins (used by mythtvsrc). */
-#undef HAVE_MYTHTV
-
 /* Define to enable nas plug-in (used by nassink). */
 #undef HAVE_NAS
 
@@ -394,12 +412,47 @@
 /* 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
+
 /* Define to 1 if you have the <opencv2/highgui/highgui_c.h> header file. */
 #undef HAVE_OPENCV2_HIGHGUI_HIGHGUI_C_H
 
+/* Define to 1 if you have the <opencv2/imgproc/imgproc_c.h> header file. */
+#undef HAVE_OPENCV2_IMGPROC_IMGPROC_C_H
+
+/* 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
+
+/* Define to 1 if you have the <opencv2/video/background_segm.hpp> header
+   file. */
+#undef HAVE_OPENCV2_VIDEO_BACKGROUND_SEGM_HPP
+
 /* Define to enable openexr library (used by openexr). */
 #undef HAVE_OPENEXR
 
+/* Define to enable openh264 library (used by openh264). */
+#undef HAVE_OPENH264
+
 /* Define to enable openjpeg library (used by openjpeg). */
 #undef HAVE_OPENJPEG
 
@@ -412,6 +465,9 @@
 /* Define to enable OpenSL ES (used by opensl). */
 #undef HAVE_OPENSLES
 
+/* Define if openssl is available */
+#undef HAVE_OPENSSL
+
 /* Define to enable opus (used by opus). */
 #undef HAVE_OPUS
 
@@ -421,21 +477,21 @@
 /* Apple Mac OS X operating system detected */
 #undef HAVE_OSX
 
-/* Define to enable OSX video (used by osxvideosrc). */
-#undef HAVE_OSX_VIDEO
-
 /* Use libpng */
 #undef HAVE_PNG
 
+/* Define if you have POSIX threads libraries and header files. */
+#undef HAVE_PTHREAD
+
 /* Define to 1 if you have the <pthread.h> header file. */
 #undef HAVE_PTHREAD_H
 
+/* Have PTHREAD_PRIO_INHERIT. */
+#undef HAVE_PTHREAD_PRIO_INHERIT
+
 /* Define to enable pvrvideosink (used by pvr). */
 #undef HAVE_PVR
 
-/* Define to enable QuickTime wrapper (used by qtwrapper). */
-#undef HAVE_QUICKTIME
-
 /* Define if RDTSC is available */
 #undef HAVE_RDTSC
 
@@ -547,6 +603,9 @@
 /* Define if building with VideoToolbox */
 #undef HAVE_VIDEOTOOLBOX
 
+/* Define if building with VideoToolbox >= 10.9.6 */
+#undef HAVE_VIDEOTOOLBOX_10_9_6
+
 /* Define to enable vo-aacenc library (used by vo-aacenc). */
 #undef HAVE_VOAACENC
 
@@ -595,6 +654,9 @@
 /* Define if you have X11 library */
 #undef HAVE_X11
 
+/* Define to enable x265 plug-in (used by x265). */
+#undef HAVE_X265
+
 /* Define to enable xvid plugins (used by xvid). */
 #undef HAVE_XVID
 
@@ -637,7 +699,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.4.0"
+#define PACKAGE_STRING "GStreamer Bad Plug-ins 1.5.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gst-plugins-bad"
@@ -646,7 +708,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.4.0"
+#define PACKAGE_VERSION "1.5.1"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -655,6 +717,10 @@
 #  define PLUGINDIR PREFIX "\\lib\\gstreamer-0.11"
 #endif
 
+/* Define to necessary symbol if this constant uses a non-standard name on
+   your system. */
+#undef PTHREAD_CREATE_JOINABLE
+
 /* The size of `char', as computed by sizeof. */
 #undef SIZEOF_CHAR
 
@@ -686,7 +752,7 @@
 #undef USE_EGL_RPI
 
 /* Version number of package */
-#define VERSION "1.4.0"
+#define VERSION "1.5.1"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
@@ -700,8 +766,5 @@
 # endif
 #endif
 
-/* Define to 1 if the X Window System is missing or not being used. */
-#undef X_DISPLAY_MISSING
-
 /* We need at least WinXP SP2 for __stat64 */
 #undef __MSVCRT_VERSION__