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 << 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 & BPM Detection</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-soundtouch.html">soundtouch</a></span><span class="refpurpose"> — Audio Pitch Controller & 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 <wim@fluendo.com>, Sebastian Dröge <sebastian.droege@collabora.co.uk></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: <= 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: >= 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 & BPM Detection</span>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-soundtouch.html">soundtouch</a></span><span class="refpurpose"> — Audio Pitch Controller & 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 <ds@schleef.org></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 <olivier.crete@collabora.com></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 <wim@fluendo.com>, Sebastian Dröge <sebastian.droege@collabora.co.uk></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. <sorin@axis.com></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 <david.corvoysier@orange.com>
+ Hamid Zakari <hamid.zakari@gmail.com>
+ Gianluca Gennari <gennarone@gmail.com></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 <ds@entropywave.com>, Sebastian Dröge <sebastian@centricular.com></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 <ds@entropywave.com>, Sebastian Dröge <sebastian@centricular.com></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 <ds@entropywave.com>, Sebastian Dröge <sebastian@centricular.com></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 <ds@entropywave.com>, Sebastian Dröge <sebastian@centricular.com></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 <julien@moutte.net></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'Epagnier <sean@depagnier.com></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 <wim.taymans@gmail.com></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 <ensonic@users.sf.net></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 <philipj@opera.com></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 <ds@schleef.org></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 <ds@schleef.org></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 <sebastian.droege@collabora.co.uk></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'h <ogg.k.ogg.k@googlemail.com></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'h <ogg.k.ogg.k@googlemail.com></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'h <ogg.k.ogg.k at googlemail dot com></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'h <ogg.k.ogg.k@googlemail.com></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 <juanmabcmail@gmail.com>, Andy Wingo <wingo at pobox.com>, Steve Baker <stevebaker_org@yahoo.co.uk>, Erik Walthinsen <omega@cse.ogi.edu>, Stefan Sauer <ensonic@users.sf.net>, Wim Taymans <wim@fluendo.com></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 <juanmabcmail@gmail.com>, Andy Wingo <wingo at pobox.com>, Steve Baker <stevebaker_org@yahoo.co.uk>, Erik Walthinsen <omega@cse.ogi.edu>, Stefan Sauer <ensonic@users.sf.net>, Wim Taymans <wim@fluendo.com></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 <juanmabcmail@gmail.com>, Andy Wingo <wingo at pobox.com>, Steve Baker <stevebaker_org@yahoo.co.uk>, Erik Walthinsen <omega@cse.ogi.edu>, Stefan Sauer <ensonic@users.sf.net>, Wim Taymans <wim@fluendo.com></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 <juanmabcmail@gmail.com>, Andy Wingo <wingo at pobox.com>, Steve Baker <stevebaker_org@yahoo.co.uk>, Erik Walthinsen <omega@cse.ogi.edu>, Stefan Sauer <ensonic@users.sf.net>, Wim Taymans <wim@fluendo.com></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 <juanmabcmail@gmail.com>, Andy Wingo <wingo at pobox.com>, Steve Baker <stevebaker_org@yahoo.co.uk>, Erik Walthinsen <omega@cse.ogi.edu>, Stefan Sauer <ensonic@users.sf.net>, Wim Taymans <wim@fluendo.com></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 <juanmabcmail@gmail.com>, Andy Wingo <wingo at pobox.com>, Steve Baker <stevebaker_org@yahoo.co.uk>, Erik Walthinsen <omega@cse.ogi.edu>, Stefan Sauer <ensonic@users.sf.net>, Wim Taymans <wim@fluendo.com></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 <juanmabcmail@gmail.com>, Andy Wingo <wingo at pobox.com>, Steve Baker <stevebaker_org@yahoo.co.uk>, Erik Walthinsen <omega@cse.ogi.edu>, Stefan Sauer <ensonic@users.sf.net>, Wim Taymans <wim@fluendo.com></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 <juanmabcmail@gmail.com>, Andy Wingo <wingo at pobox.com>, Steve Baker <stevebaker_org@yahoo.co.uk>, Erik Walthinsen <omega@cse.ogi.edu>, Stefan Sauer <ensonic@users.sf.net>, Wim Taymans <wim@fluendo.com></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 <juanmabcmail@gmail.com>, Andy Wingo <wingo at pobox.com>, Steve Baker <stevebaker_org@yahoo.co.uk>, Erik Walthinsen <omega@cse.ogi.edu>, Stefan Sauer <ensonic@users.sf.net>, Wim Taymans <wim@fluendo.com></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 <juanmabcmail@gmail.com>, Andy Wingo <wingo at pobox.com>, Steve Baker <stevebaker_org@yahoo.co.uk>, Erik Walthinsen <omega@cse.ogi.edu>, Stefan Sauer <ensonic@users.sf.net>, Wim Taymans <wim@fluendo.com></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 <opensource@struktur.de></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 <wim.taymans@gmail.com></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 <sebastian.droege@collabora.co.uk></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 <sebastian@centricular.com></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 <matthew@centricular.com></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 <julien.isorce@gmail.com></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 <julien.isorce@mail.com></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 <filippo.argiolas@gmail.com></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 <matthew@centricular.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <filippo.argiolas@gmail.com></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 <julien.isorce@gmail.com></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 <matthew@centricular.com></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 <julien.isorce@gmail.com></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 <julien.isorce@gmail.com></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 <matthew@centricular.com></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 <julien.isorce@gmail.com></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 <omega@cse.ogi.edu>,Wim Taymans <wim.taymans@gmail.com></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 <julien.isorce@gmail.com></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 <filippo.argiolas@gmail.com>, Matthew Waters <matthew@centricular.com></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><luc.deschenaux@freesurf.ch></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 <matthew@centricular.com></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 <matthew@centricular.com></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 <ds@schleef.org></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 <matthew@centricular.com></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 <omega@cse.ogi.edu>,Wim Taymans <wim.taymans@gmail.com></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 <matthew@centricular.com></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 <sebastian.droege@collabora.co.uk></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 <sebastian.droege@collabora.co.uk></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 <sebastian.droege@collabora.co.uk></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 <olivier.aubert@liris.cnrs.fr></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 <jurgenslowack@gmail.com></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 <jurgenslowack@gmail.com></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 <guillaume.desmottes@collabora.com></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 <guillaume.desmottes@collabora.com></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 <marcel@holtmann.org></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 <marcel@holtmann.org></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'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 <thiago.sousa.santos@collabora.com></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 <ensonic@user.sf.net></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 <millaire.gabriel@collabora.com></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 <millaire.gabriel@collabora.com></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's 'stereo-ness'</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 'stereo-ness'</description>
+ <author>Erik Walthinsen <omega@cse.ogi.edu></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 <youness.alaoui@collabora.co.uk></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 <youness.alaoui@collabora.co.uk></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 <omega@cse.ogi.edu></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 <ds@entropywave.com></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 <fixme@example.com></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 <ds@entropywave.com></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 <wim@fluendo.com></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 <wim@fluendo.com></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 <wim@fluendo.com></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 <msmith@xiph.org></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 <sreerenj.balachandrn@intel.com></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 <sreerenjb@gnome.org></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 <wouter@blue-gate.be></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 <thijs.vermeir@barco.com></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 <ds@schleef.org></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,
- ¤tChunk)) {
- 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,
- ¤tChunk)) {
- 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,
- ¤tChunk)) {
- 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>"barcode"</classname>. The structure containes these
@@ -56,6 +58,14 @@
* values.
* </para>
* </listitem>
+ * <listitem>
+ * <para>
+ * GstSample
+ * <classname>"frame"</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, ®istry_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, ®istry_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__