doc: Port to hotdoc
authorThibault Saunier <tsaunier@igalia.com>
Mon, 22 Oct 2018 06:17:24 +0000 (08:17 +0200)
committerThibault Saunier <tsaunier@igalia.com>
Mon, 13 May 2019 15:34:08 +0000 (11:34 -0400)
68 files changed:
docs/gst_api_version.in [new file with mode: 0644]
docs/index.md [new file with mode: 0644]
docs/libs/allocators/index.md [new file with mode: 0644]
docs/libs/allocators/sitemap.txt [new file with mode: 0644]
docs/libs/app/index.md [new file with mode: 0644]
docs/libs/app/sitemap.txt [new file with mode: 0644]
docs/libs/audio/index.md [new file with mode: 0644]
docs/libs/audio/sitemap.txt [new file with mode: 0644]
docs/libs/ext/sitemap.txt [new file with mode: 0644]
docs/libs/fft/index.md [new file with mode: 0644]
docs/libs/fft/sitemap.txt [new file with mode: 0644]
docs/libs/pbutils/index.md [new file with mode: 0644]
docs/libs/pbutils/sitemap.txt [new file with mode: 0644]
docs/libs/riff/index.md [new file with mode: 0644]
docs/libs/riff/sitemap.txt [new file with mode: 0644]
docs/libs/rtp/index.md [new file with mode: 0644]
docs/libs/rtp/sitemap.txt [new file with mode: 0644]
docs/libs/rtsp/index.md [new file with mode: 0644]
docs/libs/rtsp/sitemap.txt [new file with mode: 0644]
docs/libs/sdp/index.md [new file with mode: 0644]
docs/libs/sdp/sitemap.txt [new file with mode: 0644]
docs/libs/tag/index.md [new file with mode: 0644]
docs/libs/tag/sitemap.txt [new file with mode: 0644]
docs/libs/video/index.md [new file with mode: 0644]
docs/libs/video/sitemap.txt [new file with mode: 0644]
docs/meson.build [new file with mode: 0644]
docs/plugins/all_index.md [new file with mode: 0644]
docs/plugins/gst_plugins_cache.json [new file with mode: 0644]
docs/plugins/index.md [new file with mode: 0644]
docs/plugins/sitemap.txt [new file with mode: 0644]
docs/sitemap.txt [new file with mode: 0644]
docs/version.in [new file with mode: 0644]
ext/alsa/meson.build
ext/cdparanoia/meson.build
ext/gl/meson.build
ext/libvisual/meson.build
ext/ogg/meson.build
ext/opus/meson.build
ext/pango/meson.build
ext/theora/gsttheoraenc.c
ext/theora/meson.build
ext/vorbis/meson.build
gst-libs/gst/pbutils/encoding-profile.c
gst/adder/meson.build
gst/app/meson.build
gst/audioconvert/meson.build
gst/audiomixer/meson.build
gst/audiorate/meson.build
gst/audioresample/meson.build
gst/audiotestsrc/meson.build
gst/compositor/meson.build
gst/encoding/meson.build
gst/gio/meson.build
gst/pbtypes/meson.build
gst/playback/meson.build
gst/rawparse/meson.build
gst/subparse/meson.build
gst/tcp/meson.build
gst/typefind/meson.build
gst/videoconvert/meson.build
gst/videorate/meson.build
gst/videoscale/meson.build
gst/videotestsrc/meson.build
gst/volume/meson.build
meson.build
meson_options.txt
sys/ximage/meson.build
sys/xvimage/meson.build

diff --git a/docs/gst_api_version.in b/docs/gst_api_version.in
new file mode 100644 (file)
index 0000000..efa22cd
--- /dev/null
@@ -0,0 +1 @@
+@GST_API_VERSION@
diff --git a/docs/index.md b/docs/index.md
new file mode 100644 (file)
index 0000000..669e360
--- /dev/null
@@ -0,0 +1,6 @@
+---
+short-description:  GStreamer Base Plugins API reference.
+...
+
+# GStreamer Base Plugins
+
diff --git a/docs/libs/allocators/index.md b/docs/libs/allocators/index.md
new file mode 100644 (file)
index 0000000..511883e
--- /dev/null
@@ -0,0 +1,5 @@
+# Allocators Library
+
+This library should be linked to by getting cflags and libs from
+gstreamer-plugins-base-{{ gst_api_version.md }}.pc and adding
+-lgstallocators-{{ gst_api_version.md }} to the library flags.
diff --git a/docs/libs/allocators/sitemap.txt b/docs/libs/allocators/sitemap.txt
new file mode 100644 (file)
index 0000000..4f91fcd
--- /dev/null
@@ -0,0 +1 @@
+gi-index
diff --git a/docs/libs/app/index.md b/docs/libs/app/index.md
new file mode 100644 (file)
index 0000000..0a1289f
--- /dev/null
@@ -0,0 +1,8 @@
+# App Library
+
+This library should be linked to by getting cflags and libs from
+`gstreamer-plugins-base-{{ gst_api_version.md }}pc` and adding
+-lgstapp-{{ gst_api_version.md }} to the library flags.
+
+To use it the functionality, insert an `appsrc` or `appsink` element
+into a pipeline and call the appropriate functions on the element.
diff --git a/docs/libs/app/sitemap.txt b/docs/libs/app/sitemap.txt
new file mode 100644 (file)
index 0000000..4f91fcd
--- /dev/null
@@ -0,0 +1 @@
+gi-index
diff --git a/docs/libs/audio/index.md b/docs/libs/audio/index.md
new file mode 100644 (file)
index 0000000..6639373
--- /dev/null
@@ -0,0 +1,6 @@
+# Audio Library
+
+This library should be linked to by getting cflags and libs from
+`gstreamer-plugins-base-{{ gst_api_version.md }}.pc` and adding
+`-lgstaudio-{{ gst_api_version.md }}` to the library flags.
+
diff --git a/docs/libs/audio/sitemap.txt b/docs/libs/audio/sitemap.txt
new file mode 100644 (file)
index 0000000..4f91fcd
--- /dev/null
@@ -0,0 +1 @@
+gi-index
diff --git a/docs/libs/ext/sitemap.txt b/docs/libs/ext/sitemap.txt
new file mode 100644 (file)
index 0000000..4f91fcd
--- /dev/null
@@ -0,0 +1 @@
+gi-index
diff --git a/docs/libs/fft/index.md b/docs/libs/fft/index.md
new file mode 100644 (file)
index 0000000..09f9b50
--- /dev/null
@@ -0,0 +1,8 @@
+# FFT Library
+
+The gstfft library is based on
+[kissfft](http://sourceforge.net/projects/kissfft) by Mark Borgerding.
+
+This library should be linked to by getting cflags and libs from
+`gstreamer-plugins-base-{{ gst_api_version.md }}.pc` and adding
+`-lgstfft-{{ gst_api_version.md }}` to the library flags.
diff --git a/docs/libs/fft/sitemap.txt b/docs/libs/fft/sitemap.txt
new file mode 100644 (file)
index 0000000..4f91fcd
--- /dev/null
@@ -0,0 +1 @@
+gi-index
diff --git a/docs/libs/pbutils/index.md b/docs/libs/pbutils/index.md
new file mode 100644 (file)
index 0000000..34100a4
--- /dev/null
@@ -0,0 +1,7 @@
+# Base Utils Library
+
+This library should be linked to by getting cflags and libs from
+`gstreamer-plugins-base-{{ gst_api_version.md }}.pc` and adding
+`-lgstpbutils-{{ gst_api_version.md }}` to the library
+flags.
+
diff --git a/docs/libs/pbutils/sitemap.txt b/docs/libs/pbutils/sitemap.txt
new file mode 100644 (file)
index 0000000..a8f3fc4
--- /dev/null
@@ -0,0 +1,3 @@
+gi-index
+       pbutils.h
+       encoding-profile.h
diff --git a/docs/libs/riff/index.md b/docs/libs/riff/index.md
new file mode 100644 (file)
index 0000000..6e93a82
--- /dev/null
@@ -0,0 +1,5 @@
+# Riff Media Library
+
+This library should be linked to by getting cflags and libs from
+`gstreamer-plugins-base-{{ gst_api_version.md }}.pc` and adding
+`-lgstriff-{{ gst_api_version.md }}` to the library flags.
diff --git a/docs/libs/riff/sitemap.txt b/docs/libs/riff/sitemap.txt
new file mode 100644 (file)
index 0000000..e3577f1
--- /dev/null
@@ -0,0 +1 @@
+c-index
diff --git a/docs/libs/rtp/index.md b/docs/libs/rtp/index.md
new file mode 100644 (file)
index 0000000..4ca8cb8
--- /dev/null
@@ -0,0 +1,5 @@
+# RTP Library
+
+This library should be linked to by getting cflags and libs from
+`gstreamer-plugins-base-{{ gst_api_version.md }}.pc` and adding
+`-lgstrtp-{{ gst_api_version.md }}` to the library flags.
diff --git a/docs/libs/rtp/sitemap.txt b/docs/libs/rtp/sitemap.txt
new file mode 100644 (file)
index 0000000..4f91fcd
--- /dev/null
@@ -0,0 +1 @@
+gi-index
diff --git a/docs/libs/rtsp/index.md b/docs/libs/rtsp/index.md
new file mode 100644 (file)
index 0000000..dd22d34
--- /dev/null
@@ -0,0 +1,5 @@
+# RTSP Library
+
+This library should be linked to by getting cflags and libs from
+`gstreamer-plugins-base-{{ gst_api_version.md }}.pc` and adding
+`-lgstrtsp-{{ gst_api_version.md }}` to the library flags.
diff --git a/docs/libs/rtsp/sitemap.txt b/docs/libs/rtsp/sitemap.txt
new file mode 100644 (file)
index 0000000..4f91fcd
--- /dev/null
@@ -0,0 +1 @@
+gi-index
diff --git a/docs/libs/sdp/index.md b/docs/libs/sdp/index.md
new file mode 100644 (file)
index 0000000..d9ff06f
--- /dev/null
@@ -0,0 +1,6 @@
+# SDP Library
+
+This library should be linked to by getting cflags and libs from
+`gstreamer-plugins-base-{{ gst_api_version.md }}.pc` and adding
+`-lgstsdp-{{ gst_api_version.md }}` to the library flags.
+
diff --git a/docs/libs/sdp/sitemap.txt b/docs/libs/sdp/sitemap.txt
new file mode 100644 (file)
index 0000000..4f91fcd
--- /dev/null
@@ -0,0 +1 @@
+gi-index
diff --git a/docs/libs/tag/index.md b/docs/libs/tag/index.md
new file mode 100644 (file)
index 0000000..de82333
--- /dev/null
@@ -0,0 +1,6 @@
+# Tag Support Library
+
+This library should be linked to by getting cflags and libs from
+`gstreamer-plugins-base-{{ gst_api_version.md }}.pc` and adding
+`-lgsttag-{{ gst_api_version.md }}` to the library flags.
+
diff --git a/docs/libs/tag/sitemap.txt b/docs/libs/tag/sitemap.txt
new file mode 100644 (file)
index 0000000..4f91fcd
--- /dev/null
@@ -0,0 +1 @@
+gi-index
diff --git a/docs/libs/video/index.md b/docs/libs/video/index.md
new file mode 100644 (file)
index 0000000..63d7e73
--- /dev/null
@@ -0,0 +1,5 @@
+# Video Library
+
+This library should be linked to by getting cflags and libs from
+`gstreamer-plugins-base-{{ gst_api_version.md }}.pc` and adding
+`-lgstvideo-{{ gst_api_version.md }}` to the library flags.
diff --git a/docs/libs/video/sitemap.txt b/docs/libs/video/sitemap.txt
new file mode 100644 (file)
index 0000000..4f91fcd
--- /dev/null
@@ -0,0 +1 @@
+gi-index
diff --git a/docs/meson.build b/docs/meson.build
new file mode 100644 (file)
index 0000000..bab91b9
--- /dev/null
@@ -0,0 +1,173 @@
+build_hotdoc = false
+
+if meson.is_cross_build()
+    if get_option('doc').enabled()
+        error('Documentation enabled but building the doc while cross building is not supported yet.')
+    endif
+
+    message('Documentation not built as building it while cross building is not supported yet.')
+    subdir_done()
+endif
+
+required_hotdoc_extensions = ['gi-extension', 'gst-extension']
+if gst_dep.type_name() == 'internal'
+    gst_proj = subproject('gstreamer')
+    plugins_cache_generator = gst_proj.get_variable('plugins_cache_generator')
+else
+    plugins_cache_generator = find_program(join_paths(gst_dep.get_pkgconfig_variable('libexecdir'), 'gstreamer-' + api_version, 'gst-plugins-doc-cache-generator'),
+        required: false)
+endif
+
+plugins_cache = join_paths(meson.current_source_dir(), 'plugins', 'gst_plugins_cache.json')
+if plugins_cache_generator.found()
+    plugins_doc_dep = custom_target('base-plugins-doc-cache',
+        build_by_default: true,
+        command: [plugins_cache_generator, plugins_cache, '@OUTPUT@', '@INPUT@'],
+        input: plugins,
+        output: 'gst_plugins_cache.json',
+    )
+else
+    warning('GStreamer plugin inspector for documentation not found, can\'t update the cache')
+endif
+
+hotdoc_p = find_program('hotdoc', required: get_option('doc'))
+if not hotdoc_p.found()
+    message('Hotdoc not found, not building the documentation')
+    subdir_done()
+endif
+
+hotdoc = import('hotdoc')
+foreach extension: required_hotdoc_extensions
+    if not hotdoc.has_extensions(extension)
+        if get_option('doc').enabled()
+            error('Documentation enabled but @0@ missing'.format(extension))
+        endif
+
+        message('@0@ extension not found, not building documentation'.format(extension))
+        subdir_done()
+    endif
+endforeach
+
+if not build_gir
+    if get_option('doc').enabled()
+        error('Documentation enabled but introspection not built.')
+    endif
+
+    message('Introspection not built, can\'t build the documentation')
+    subdir_done()
+endif
+
+build_hotdoc = true
+docconf = configuration_data()
+docconf.set('GST_API_VERSION', api_version)
+
+version_entities = configure_file(input : 'version.in',
+    output : 'gst_api_version.md',
+    configuration : docconf)
+
+libs_excludes = []
+foreach h: ['pbutils-private.h', 'gsttageditingprivate.h', 'id3v2.h',
+  'kiss_fft_f32.h', 'kiss_fft_f64.h', 'kiss_fftr_f32.h', 'kiss_fftr_f64.h',
+  'kiss_fftr_s16.h', 'kiss_fftr_s32.h', 'kiss_fft_s16.h', 'kiss_fft_s32.h',
+  '_kiss_fft_guts_f32.h', '_kiss_fft_guts_f64.h', '_kiss_fft_guts_s16.h',
+  '_kiss_fft_guts_s16.h', '_kiss_fft_guts_s32.h', '_kiss_fft_guts_s32.h',
+  'pbutils-marshal.h', 'audio-resampler-private.h', '*orc-dist.*',
+  '*-neon.h', 'audio-resampler-macros.[ch]', '*-prelude.h'
+  ]
+
+    libs_excludes += [join_paths(meson.current_source_dir(), '..', 'gst-libs/gst/*/', h)]
+endforeach
+
+libs = [
+  ['allocators', allocators_gir, allocators_dep],
+  ['app', app_gir, app_dep],
+  ['audio', audio_gir, audio_dep],
+  # FIXME! ['fft', fft_gir, fft_dep],
+  ['pbutils', pbutils_gir, pbutils_dep],
+  ['rtp', rtp_gir, rtp_dep],
+  ['rtsp', rtsp_gir, rtsp_dep],
+  ['sdp', sdp_gir, sdp_dep],
+  ['tag', tag_gir, tag_dep],
+  ['video', video_gir, video_dep],
+]
+
+if build_gstgl
+  libs + [['gl', gl_gir, gstgl_dep]]
+endif
+
+libs_doc = []
+foreach lib: libs
+  name = lib[0]
+  gir = lib[1]
+  deps = [lib[2], gir]
+  libs_doc += [hotdoc.generate_doc('gst-plugins-base-' + name,
+      project_version: api_version,
+      gi_c_sources: [join_paths('../gst-libs/gst', name, '*.[hc]')],
+      gi_sources: gir[0].full_path(),
+      gi_c_source_filters: libs_excludes,
+      gi_c_source_roots: [join_paths(meson.current_source_dir(), '../gst-libs/gst/' + name), ],
+      sitemap: 'libs/' + name + '/sitemap.txt',
+      index: 'libs/' + name + '/index.md',
+      gi_index: 'libs/' + name + '/index.md',
+      gi_smart_index: true,
+      gi_order_generated_subpages: true,
+      dependencies: deps,
+      install: false,
+  )]
+endforeach
+
+if not hotdoc.has_extensions('c-extension')
+    if get_option('doc').enabled()
+        error('Documentation enabled but c-extension missing')
+    endif
+    message('c-extension not found, not building documentation')
+else
+    libs_doc += [hotdoc.generate_doc('gst-plugins-base-riff',
+        project_version: api_version,
+        c_sources: ['../gst-libs/gst/riff/*.[hc]'],
+        c_source_filters: libs_excludes,
+        sitemap: 'libs/riff/sitemap.txt',
+        index: 'libs/riff/index.md',
+        c_index: 'libs/riff/index.md',
+        c_smart_index: true,
+        c_order_generated_subpages: true,
+        dependencies: [gst_base_dep, riff_dep],
+        install: false,
+        disable_incremental_build: true,
+    )]
+endif
+
+plugins_doc = []
+sitemap = 'all_index.md\n'
+
+list_plugin_res = run_command(python3, '-c',
+'''
+import sys
+import json
+
+with open("@0@") as f:
+    print(':'.join(json.load(f).keys()), end='')
+'''.format(plugins_cache))
+
+assert(list_plugin_res.returncode() == 0,
+  'Could not list plugins from @0@\n@1@\n@1@'.format(plugins_cache, list_plugin_res.stdout(), list_plugin_res.stderr()))
+
+
+foreach plugin_name: list_plugin_res.stdout().split(':')
+    plugins_doc += [hotdoc.generate_doc(plugin_name,
+        project_version: api_version,
+        sitemap: 'plugins/sitemap.txt',
+        index: 'plugins/index.md',
+        gst_index: 'plugins/index.md',
+        gst_smart_index: true,
+        gst_c_sources: ['../sys/*/*.[ch]',
+                        '../ext/*/*.[ch]',
+                        '../gst/*/*.[ch]',
+                        ],
+        dependencies: [gst_dep, plugins],
+        gst_order_generated_subpages: true,
+        gst_cache_file: plugins_cache,
+        gst_plugin_name: plugin_name,
+    )]
+    sitemap += '        @0@-doc.json\n'.format(plugin_name)
+endforeach
\ No newline at end of file
diff --git a/docs/plugins/all_index.md b/docs/plugins/all_index.md
new file mode 100644 (file)
index 0000000..012f8cb
--- /dev/null
@@ -0,0 +1,5 @@
+---
+short-description: Plugins from gst-plugins-base
+...
+
+# Plugins
diff --git a/docs/plugins/gst_plugins_cache.json b/docs/plugins/gst_plugins_cache.json
new file mode 100644 (file)
index 0000000..bf46955
--- /dev/null
@@ -0,0 +1,19212 @@
+{
+    "adder": {
+        "description": "Adds multiple streams",
+        "elements": {
+            "adder": {
+                "author": "Thomas Vander Stichele <thomas at apestaart dot org>",
+                "description": "Add N audio channels together",
+                "hierarchy": [
+                    "GstAdder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Audio",
+                "long-name": "Adder",
+                "name": "adder",
+                "pad-templates": {
+                    "sink_%%u": {
+                        "caps": "audio/x-raw:\n         format: { S32LE, U32LE, S16LE, U16LE, S8, U8, F32LE, F64LE }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: { (string)interleaved }\n",
+                        "direction": "sink",
+                        "presence": "request"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { S32LE, U32LE, S16LE, U16LE, S8, U8, F32LE, F64LE }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: { (string)interleaved }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "caps": {
+                        "blurb": "Set target format for mixing (NULL means ANY). Setting this property takes a reference to the supplied GstCaps object.",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstCaps",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgstadder.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "alsa": {
+        "description": "ALSA plugin library",
+        "elements": {
+            "alsamidisrc": {
+                "author": "Antonio Ospite <ao2@ao2.it>",
+                "description": "Push ALSA MIDI sequencer events around",
+                "hierarchy": [
+                    "GstAlsaMidiSrc",
+                    "GstPushSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source",
+                "long-name": "AlsaMidi Source",
+                "pad-templates": {
+                    "src": {
+                        "caps": "audio/x-midi-event:\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "blocksize": {
+                        "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "do-timestamp": {
+                        "blurb": "Apply current stream time to buffers",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-buffers": {
+                        "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "ports": {
+                        "blurb": "Comma separated list of sequencer ports (e.g. client:port,...)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "typefind": {
+                        "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            },
+            "alsasink": {
+                "author": "Wim Taymans <wim@fluendo.com>",
+                "description": "Output to a sound card via ALSA",
+                "hierarchy": [
+                    "GstAlsaSink",
+                    "GstAudioSink",
+                    "GstAudioBaseSink",
+                    "GstBaseSink",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Sink/Audio",
+                "long-name": "Audio sink (ALSA)",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-raw:\n         format: { 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 }\n         layout: interleaved\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\naudio/x-ac3:\n         framed: true\naudio/x-eac3:\n         framed: true\naudio/x-dts:\n         framed: true\n     block-size: { (int)512, (int)1024, (int)2048 }\naudio/mpeg:\n    mpegversion: 1\nmpegaudioversion: [ 1, 3 ]\n         parsed: true\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "alignment-threshold": {
+                        "blurb": "Timestamp alignment threshold in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "40000000",
+                        "max": "18446744073709551614",
+                        "min": "1",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "async": {
+                        "blurb": "Go asynchronously to PAUSED",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "buffer-time": {
+                        "blurb": "Size of audio buffer in microseconds, this is the minimum latency that the sink reports",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "200000",
+                        "max": "9223372036854775807",
+                        "min": "1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "can-activate-pull": {
+                        "blurb": "Allow pull-based scheduling",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "card-name": {
+                        "blurb": "Human-readable name of the sound card",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "",
+                        "type-name": "gchararray",
+                        "writable": false
+                    },
+                    "device": {
+                        "blurb": "ALSA device, as defined in an asound configuration file",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "default",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "device-name": {
+                        "blurb": "Human-readable name of the sound device",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": false
+                    },
+                    "discont-wait": {
+                        "blurb": "Window of time in nanoseconds to wait before creating a discontinuity",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1000000000",
+                        "max": "18446744073709551614",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "drift-tolerance": {
+                        "blurb": "Tolerance for clock drift in microseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "40000",
+                        "max": "9223372036854775807",
+                        "min": "1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "enable-last-sample": {
+                        "blurb": "Enable the last-sample property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "last-sample": {
+                        "blurb": "The last sample received in the sink",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "latency-time": {
+                        "blurb": "The minimum amount of data to write in each iteration in microseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "10000",
+                        "max": "9223372036854775807",
+                        "min": "1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "max-bitrate": {
+                        "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-lateness": {
+                        "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "processing-deadline": {
+                        "blurb": "Maximum processing deadline in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "20000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "provide-clock": {
+                        "blurb": "Provide a clock to be used as the global pipeline clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Generate Quality-of-Service events upstream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "render-delay": {
+                        "blurb": "Additional render delay of the sink in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "slave-method": {
+                        "blurb": "Algorithm used to match the rate of the masterclock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "skew (1)",
+                        "enum": true,
+                        "type-name": "GstAudioBaseSinkSlaveMethod",
+                        "values": [
+                            {
+                                "desc": "GST_AUDIO_BASE_SINK_SLAVE_RESAMPLE",
+                                "name": "resample",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_AUDIO_BASE_SINK_SLAVE_SKEW",
+                                "name": "skew",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_AUDIO_BASE_SINK_SLAVE_NONE",
+                                "name": "none",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_AUDIO_BASE_SINK_SLAVE_CUSTOM",
+                                "name": "custom",
+                                "value": "3"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "sync": {
+                        "blurb": "Sync on the clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "throttle-time": {
+                        "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "ts-offset": {
+                        "blurb": "Timestamp offset in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            },
+            "alsasrc": {
+                "author": "Wim Taymans <wim@fluendo.com>",
+                "description": "Read from a sound card via ALSA",
+                "hierarchy": [
+                    "GstAlsaSrc",
+                    "GstAudioSrc",
+                    "GstAudioBaseSrc",
+                    "GstPushSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source/Audio",
+                "long-name": "Audio source (ALSA)",
+                "pad-templates": {
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { 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 }\n         layout: interleaved\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "actual-buffer-time": {
+                        "blurb": "Actual configured size of audio buffer in microseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": false
+                    },
+                    "actual-latency-time": {
+                        "blurb": "Actual configured audio latency in microseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": false
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "buffer-time": {
+                        "blurb": "Size of audio buffer in microseconds. This is the maximum amount of data that is buffered in the device and the maximum latency that the source reports. This value might be ignored by the element if necessary; see \"actual-buffer-time\"",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "200000",
+                        "max": "9223372036854775807",
+                        "min": "1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "card-name": {
+                        "blurb": "Human-readable name of the sound card",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "HDA Intel PCH",
+                        "type-name": "gchararray",
+                        "writable": false
+                    },
+                    "device": {
+                        "blurb": "ALSA device, as defined in an asound configuration file",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "default",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "device-name": {
+                        "blurb": "Human-readable name of the sound device",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": false
+                    },
+                    "do-timestamp": {
+                        "blurb": "Apply current stream time to buffers",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "latency-time": {
+                        "blurb": "The minimum amount of data to read in each iteration in microseconds. This is the minimum latency that the source reports. This value might be ignored by the element if necessary; see \"actual-latency-time\"",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "10000",
+                        "max": "9223372036854775807",
+                        "min": "1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-buffers": {
+                        "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "provide-clock": {
+                        "blurb": "Provide a clock to be used as the global pipeline clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "slave-method": {
+                        "blurb": "Algorithm used to match the rate of the masterclock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "skew (2)",
+                        "enum": true,
+                        "type-name": "GstAudioBaseSrcSlaveMethod",
+                        "values": [
+                            {
+                                "desc": "GST_AUDIO_BASE_SRC_SLAVE_RESAMPLE",
+                                "name": "resample",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_AUDIO_BASE_SRC_SLAVE_RE_TIMESTAMP",
+                                "name": "re-timestamp",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_AUDIO_BASE_SRC_SLAVE_SKEW",
+                                "name": "skew",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_AUDIO_BASE_SRC_SLAVE_NONE",
+                                "name": "none",
+                                "value": "3"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "typefind": {
+                        "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            }
+        },
+        "filename": "libgstalsa.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "app": {
+        "description": "Elements used to communicate with applications",
+        "elements": {
+            "appsink": {
+                "author": "David Schleef <ds@schleef.org>, Wim Taymans <wim.taymans@gmail.com>",
+                "description": "Allow the application to get access to raw buffer",
+                "hierarchy": [
+                    "GstAppSink",
+                    "GstBaseSink",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Sink",
+                "long-name": "AppSink",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async": {
+                        "blurb": "Go asynchronously to PAUSED",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "buffer-list": {
+                        "blurb": "Use buffer lists",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "caps": {
+                        "blurb": "The allowed caps for the sink pad",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstCaps",
+                        "writable": true
+                    },
+                    "drop": {
+                        "blurb": "Drop old buffers when the buffer queue is filled",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "emit-signals": {
+                        "blurb": "Emit new-preroll and new-sample signals",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "enable-last-sample": {
+                        "blurb": "Enable the last-sample property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "eos": {
+                        "blurb": "Check if the sink is EOS or not started",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": false
+                    },
+                    "last-sample": {
+                        "blurb": "The last sample received in the sink",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "max-bitrate": {
+                        "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-buffers": {
+                        "blurb": "The maximum number of buffers to queue internally (0 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "max-lateness": {
+                        "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "processing-deadline": {
+                        "blurb": "Maximum processing deadline in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "20000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Generate Quality-of-Service events upstream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "render-delay": {
+                        "blurb": "Additional render delay of the sink in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "sync": {
+                        "blurb": "Sync on the clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "throttle-time": {
+                        "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "ts-offset": {
+                        "blurb": "Timestamp offset in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "wait-on-eos": {
+                        "blurb": "Wait for all buffers to be processed after receiving an EOS",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "eos": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "new-preroll": {
+                        "args": [],
+                        "return-values": [
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS_2",
+                                "name": "custom-success-2",
+                                "value": "102"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS_1",
+                                "name": "custom-success-1",
+                                "value": "101"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS",
+                                "name": "custom-success",
+                                "value": "100"
+                            },
+                            {
+                                "desc": "GST_FLOW_OK",
+                                "name": "ok",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_LINKED",
+                                "name": "not-linked",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "GST_FLOW_FLUSHING",
+                                "name": "flushing",
+                                "value": "-2"
+                            },
+                            {
+                                "desc": "GST_FLOW_EOS",
+                                "name": "eos",
+                                "value": "-3"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_NEGOTIATED",
+                                "name": "not-negotiated",
+                                "value": "-4"
+                            },
+                            {
+                                "desc": "GST_FLOW_ERROR",
+                                "name": "error",
+                                "value": "-5"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_SUPPORTED",
+                                "name": "not-supported",
+                                "value": "-6"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR",
+                                "name": "custom-error",
+                                "value": "-100"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR_1",
+                                "name": "custom-error-1",
+                                "value": "-101"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR_2",
+                                "name": "custom-error-2",
+                                "value": "-102"
+                            }
+                        ],
+                        "retval": "GstFlowReturn"
+                    },
+                    "new-sample": {
+                        "args": [],
+                        "return-values": [
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS_2",
+                                "name": "custom-success-2",
+                                "value": "102"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS_1",
+                                "name": "custom-success-1",
+                                "value": "101"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS",
+                                "name": "custom-success",
+                                "value": "100"
+                            },
+                            {
+                                "desc": "GST_FLOW_OK",
+                                "name": "ok",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_LINKED",
+                                "name": "not-linked",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "GST_FLOW_FLUSHING",
+                                "name": "flushing",
+                                "value": "-2"
+                            },
+                            {
+                                "desc": "GST_FLOW_EOS",
+                                "name": "eos",
+                                "value": "-3"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_NEGOTIATED",
+                                "name": "not-negotiated",
+                                "value": "-4"
+                            },
+                            {
+                                "desc": "GST_FLOW_ERROR",
+                                "name": "error",
+                                "value": "-5"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_SUPPORTED",
+                                "name": "not-supported",
+                                "value": "-6"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR",
+                                "name": "custom-error",
+                                "value": "-100"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR_1",
+                                "name": "custom-error-1",
+                                "value": "-101"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR_2",
+                                "name": "custom-error-2",
+                                "value": "-102"
+                            }
+                        ],
+                        "retval": "GstFlowReturn"
+                    },
+                    "pull-preroll": {
+                        "args": [],
+                        "retval": "GstSample"
+                    },
+                    "pull-sample": {
+                        "args": [],
+                        "retval": "GstSample"
+                    },
+                    "try-pull-preroll": {
+                        "args": [
+                            "guint64"
+                        ],
+                        "retval": "GstSample"
+                    },
+                    "try-pull-sample": {
+                        "args": [
+                            "guint64"
+                        ],
+                        "retval": "GstSample"
+                    }
+                }
+            },
+            "appsrc": {
+                "author": "David Schleef <ds@schleef.org>, Wim Taymans <wim.taymans@gmail.com>",
+                "description": "Allow the application to feed buffers to a pipeline",
+                "hierarchy": [
+                    "GstAppSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Source",
+                "long-name": "AppSrc",
+                "pad-templates": {
+                    "src": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "block": {
+                        "blurb": "Block push-buffer when max-bytes are queued",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "caps": {
+                        "blurb": "The allowed caps for the src pad",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstCaps",
+                        "writable": true
+                    },
+                    "current-level-bytes": {
+                        "blurb": "The number of currently queued bytes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "do-timestamp": {
+                        "blurb": "Apply current stream time to buffers",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "duration": {
+                        "blurb": "The duration of the data stream in nanoseconds (GST_CLOCK_TIME_NONE if unknown)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "emit-signals": {
+                        "blurb": "Emit need-data, enough-data and seek-data signals",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "format": {
+                        "blurb": "The format of the segment events and seek",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "bytes (2)",
+                        "enum": true,
+                        "type-name": "GstFormat",
+                        "values": [
+                            {
+                                "desc": "GST_FORMAT_UNDEFINED",
+                                "name": "undefined",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_FORMAT_DEFAULT",
+                                "name": "default",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_FORMAT_BYTES",
+                                "name": "bytes",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_FORMAT_TIME",
+                                "name": "time",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_FORMAT_BUFFERS",
+                                "name": "buffers",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_FORMAT_PERCENT",
+                                "name": "percent",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "is-live": {
+                        "blurb": "Whether to act as a live source",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "max-bytes": {
+                        "blurb": "The maximum number of bytes to queue internally (0 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "200000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-latency": {
+                        "blurb": "The maximum latency (-1 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "min-latency": {
+                        "blurb": "The minimum latency (-1 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "min-percent": {
+                        "blurb": "Emit need-data when queued bytes drops below this percent of max-bytes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "100",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-buffers": {
+                        "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "size": {
+                        "blurb": "The size of the data stream in bytes (-1 if unknown)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "stream-type": {
+                        "blurb": "the type of the stream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "stream (0)",
+                        "enum": true,
+                        "type-name": "GstAppStreamType",
+                        "values": [
+                            {
+                                "desc": "GST_APP_STREAM_TYPE_STREAM",
+                                "name": "stream",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_APP_STREAM_TYPE_SEEKABLE",
+                                "name": "seekable",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_APP_STREAM_TYPE_RANDOM_ACCESS",
+                                "name": "random-access",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "typefind": {
+                        "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "end-of-stream": {
+                        "args": [],
+                        "return-values": [
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS_2",
+                                "name": "custom-success-2",
+                                "value": "102"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS_1",
+                                "name": "custom-success-1",
+                                "value": "101"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS",
+                                "name": "custom-success",
+                                "value": "100"
+                            },
+                            {
+                                "desc": "GST_FLOW_OK",
+                                "name": "ok",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_LINKED",
+                                "name": "not-linked",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "GST_FLOW_FLUSHING",
+                                "name": "flushing",
+                                "value": "-2"
+                            },
+                            {
+                                "desc": "GST_FLOW_EOS",
+                                "name": "eos",
+                                "value": "-3"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_NEGOTIATED",
+                                "name": "not-negotiated",
+                                "value": "-4"
+                            },
+                            {
+                                "desc": "GST_FLOW_ERROR",
+                                "name": "error",
+                                "value": "-5"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_SUPPORTED",
+                                "name": "not-supported",
+                                "value": "-6"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR",
+                                "name": "custom-error",
+                                "value": "-100"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR_1",
+                                "name": "custom-error-1",
+                                "value": "-101"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR_2",
+                                "name": "custom-error-2",
+                                "value": "-102"
+                            }
+                        ],
+                        "retval": "GstFlowReturn"
+                    },
+                    "enough-data": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "need-data": {
+                        "args": [
+                            "guint"
+                        ],
+                        "retval": "void"
+                    },
+                    "push-buffer": {
+                        "args": [
+                            "GstBuffer"
+                        ],
+                        "return-values": [
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS_2",
+                                "name": "custom-success-2",
+                                "value": "102"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS_1",
+                                "name": "custom-success-1",
+                                "value": "101"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS",
+                                "name": "custom-success",
+                                "value": "100"
+                            },
+                            {
+                                "desc": "GST_FLOW_OK",
+                                "name": "ok",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_LINKED",
+                                "name": "not-linked",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "GST_FLOW_FLUSHING",
+                                "name": "flushing",
+                                "value": "-2"
+                            },
+                            {
+                                "desc": "GST_FLOW_EOS",
+                                "name": "eos",
+                                "value": "-3"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_NEGOTIATED",
+                                "name": "not-negotiated",
+                                "value": "-4"
+                            },
+                            {
+                                "desc": "GST_FLOW_ERROR",
+                                "name": "error",
+                                "value": "-5"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_SUPPORTED",
+                                "name": "not-supported",
+                                "value": "-6"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR",
+                                "name": "custom-error",
+                                "value": "-100"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR_1",
+                                "name": "custom-error-1",
+                                "value": "-101"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR_2",
+                                "name": "custom-error-2",
+                                "value": "-102"
+                            }
+                        ],
+                        "retval": "GstFlowReturn"
+                    },
+                    "push-buffer-list": {
+                        "args": [
+                            "GstBufferList"
+                        ],
+                        "return-values": [
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS_2",
+                                "name": "custom-success-2",
+                                "value": "102"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS_1",
+                                "name": "custom-success-1",
+                                "value": "101"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS",
+                                "name": "custom-success",
+                                "value": "100"
+                            },
+                            {
+                                "desc": "GST_FLOW_OK",
+                                "name": "ok",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_LINKED",
+                                "name": "not-linked",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "GST_FLOW_FLUSHING",
+                                "name": "flushing",
+                                "value": "-2"
+                            },
+                            {
+                                "desc": "GST_FLOW_EOS",
+                                "name": "eos",
+                                "value": "-3"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_NEGOTIATED",
+                                "name": "not-negotiated",
+                                "value": "-4"
+                            },
+                            {
+                                "desc": "GST_FLOW_ERROR",
+                                "name": "error",
+                                "value": "-5"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_SUPPORTED",
+                                "name": "not-supported",
+                                "value": "-6"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR",
+                                "name": "custom-error",
+                                "value": "-100"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR_1",
+                                "name": "custom-error-1",
+                                "value": "-101"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR_2",
+                                "name": "custom-error-2",
+                                "value": "-102"
+                            }
+                        ],
+                        "retval": "GstFlowReturn"
+                    },
+                    "push-sample": {
+                        "args": [
+                            "GstSample"
+                        ],
+                        "return-values": [
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS_2",
+                                "name": "custom-success-2",
+                                "value": "102"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS_1",
+                                "name": "custom-success-1",
+                                "value": "101"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_SUCCESS",
+                                "name": "custom-success",
+                                "value": "100"
+                            },
+                            {
+                                "desc": "GST_FLOW_OK",
+                                "name": "ok",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_LINKED",
+                                "name": "not-linked",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "GST_FLOW_FLUSHING",
+                                "name": "flushing",
+                                "value": "-2"
+                            },
+                            {
+                                "desc": "GST_FLOW_EOS",
+                                "name": "eos",
+                                "value": "-3"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_NEGOTIATED",
+                                "name": "not-negotiated",
+                                "value": "-4"
+                            },
+                            {
+                                "desc": "GST_FLOW_ERROR",
+                                "name": "error",
+                                "value": "-5"
+                            },
+                            {
+                                "desc": "GST_FLOW_NOT_SUPPORTED",
+                                "name": "not-supported",
+                                "value": "-6"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR",
+                                "name": "custom-error",
+                                "value": "-100"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR_1",
+                                "name": "custom-error-1",
+                                "value": "-101"
+                            },
+                            {
+                                "desc": "GST_FLOW_CUSTOM_ERROR_2",
+                                "name": "custom-error-2",
+                                "value": "-102"
+                            }
+                        ],
+                        "retval": "GstFlowReturn"
+                    },
+                    "seek-data": {
+                        "args": [
+                            "guint64"
+                        ],
+                        "retval": "gboolean"
+                    }
+                }
+            }
+        },
+        "filename": "libgstapp.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "audioconvert": {
+        "description": "Convert audio to different formats",
+        "elements": {
+            "audioconvert": {
+                "author": "Benjamin Otte <otte@gnome.org>",
+                "description": "Convert audio to different formats",
+                "hierarchy": [
+                    "GstAudioConvert",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Converter/Audio",
+                "long-name": "Audio converter",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-raw:\n         format: { 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 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: { (string)interleaved, (string)non-interleaved }\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { 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 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: { (string)interleaved, (string)non-interleaved }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "dithering": {
+                        "blurb": "Selects between different dithering methods.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "tpdf (2)",
+                        "enum": true,
+                        "type-name": "GstAudioDitherMethod",
+                        "values": [
+                            {
+                                "desc": "GST_AUDIO_DITHER_NONE",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_AUDIO_DITHER_RPDF",
+                                "name": "rpdf",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_AUDIO_DITHER_TPDF",
+                                "name": "tpdf",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_AUDIO_DITHER_TPDF_HF",
+                                "name": "tpdf-hf",
+                                "value": "3"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "mix-matrix": {
+                        "blurb": "Transformation matrix for input/output channels",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstValueArray",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "noise-shaping": {
+                        "blurb": "Selects between different noise shaping methods.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (0)",
+                        "enum": true,
+                        "type-name": "GstAudioNoiseShapingMethod",
+                        "values": [
+                            {
+                                "desc": "GST_AUDIO_NOISE_SHAPING_NONE",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_AUDIO_NOISE_SHAPING_ERROR_FEEDBACK",
+                                "name": "error-feedback",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_AUDIO_NOISE_SHAPING_SIMPLE",
+                                "name": "simple",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_AUDIO_NOISE_SHAPING_MEDIUM",
+                                "name": "medium",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_AUDIO_NOISE_SHAPING_HIGH",
+                                "name": "high",
+                                "value": "4"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            }
+        },
+        "filename": "libgstaudioconvert.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "audiomixer": {
+        "description": "Mixes multiple audio streams",
+        "elements": {
+            "audiointerleave": {
+                "author": "Olivier Crete <olivier.crete@collabora.com>",
+                "description": "Mixes multiple audio streams",
+                "hierarchy": [
+                    "GstAudioInterleave",
+                    "GstAudioAggregator",
+                    "GstAggregator",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Audio",
+                "long-name": "AudioInterleave",
+                "pad-templates": {
+                    "sink_%%u": {
+                        "caps": "audio/x-raw:\n           rate: [ 1, 2147483647 ]\n       channels: 1\n         format: { 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 }\n         layout: { (string)non-interleaved, (string)interleaved }\n",
+                        "direction": "sink",
+                        "presence": "request"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         format: { 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 }\n         layout: interleaved\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "alignment-threshold": {
+                        "blurb": "Timestamp alignment threshold in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "40000000",
+                        "max": "18446744073709551614",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "channel-positions": {
+                        "blurb": "Channel positions used on the output",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GValueArray",
+                        "writable": true
+                    },
+                    "channel-positions-from-input": {
+                        "blurb": "Take channel positions from the input",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "discont-wait": {
+                        "blurb": "Window of time in nanoseconds to wait before creating a discontinuity",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1000000000",
+                        "max": "18446744073709551614",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "latency": {
+                        "blurb": "Additional latency in live mode to allow upstream to take longer to produce buffers for the current position (in nanoseconds)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "min-upstream-latency": {
+                        "blurb": "When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency. (nanoseconds)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "output-buffer-duration": {
+                        "blurb": "Output block size in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "10000000",
+                        "max": "18446744073709551615",
+                        "min": "1",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "start-time": {
+                        "blurb": "Start time to use if start-time-selection=set",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "start-time-selection": {
+                        "blurb": "Decides which start time is output",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "zero (0)",
+                        "enum": true,
+                        "type-name": "GstAggregatorStartTimeSelection",
+                        "values": [
+                            {
+                                "desc": "Start at 0 running time (default)",
+                                "name": "zero",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Start at first observed input running time",
+                                "name": "first",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Set start time with start-time property",
+                                "name": "set",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "audiomixer": {
+                "author": "Sebastian Dr\u00f6ge <sebastian@centricular.com>",
+                "description": "Mixes multiple audio streams",
+                "hierarchy": [
+                    "GstAudioMixer",
+                    "GstAudioAggregator",
+                    "GstAggregator",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Audio",
+                "long-name": "AudioMixer",
+                "pad-templates": {
+                    "sink_%%u": {
+                        "caps": "audio/x-raw:\n         format: { 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 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
+                        "direction": "sink",
+                        "presence": "request"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { S32LE, U32LE, S16LE, U16LE, S8, U8, F32LE, F64LE }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "alignment-threshold": {
+                        "blurb": "Timestamp alignment threshold in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "40000000",
+                        "max": "18446744073709551614",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "discont-wait": {
+                        "blurb": "Window of time in nanoseconds to wait before creating a discontinuity",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1000000000",
+                        "max": "18446744073709551614",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "latency": {
+                        "blurb": "Additional latency in live mode to allow upstream to take longer to produce buffers for the current position (in nanoseconds)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "min-upstream-latency": {
+                        "blurb": "When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency. (nanoseconds)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "output-buffer-duration": {
+                        "blurb": "Output block size in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "10000000",
+                        "max": "18446744073709551615",
+                        "min": "1",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "start-time": {
+                        "blurb": "Start time to use if start-time-selection=set",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "start-time-selection": {
+                        "blurb": "Decides which start time is output",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "zero (0)",
+                        "enum": true,
+                        "type-name": "GstAggregatorStartTimeSelection",
+                        "values": [
+                            {
+                                "desc": "Start at 0 running time (default)",
+                                "name": "zero",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Start at first observed input running time",
+                                "name": "first",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Set start time with start-time property",
+                                "name": "set",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "liveadder": {
+                "author": "Sebastian Dr\u00f6ge <sebastian@centricular.com>",
+                "description": "Mixes multiple audio streams",
+                "hierarchy": [
+                    "GstLiveAdder",
+                    "GstAudioMixer",
+                    "GstAudioAggregator",
+                    "GstAggregator",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Audio",
+                "long-name": "AudioMixer",
+                "pad-templates": {
+                    "sink_%%u": {
+                        "caps": "audio/x-raw:\n         format: { 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 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
+                        "direction": "sink",
+                        "presence": "request"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { S32LE, U32LE, S16LE, U16LE, S8, U8, F32LE, F64LE }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "alignment-threshold": {
+                        "blurb": "Timestamp alignment threshold in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "40000000",
+                        "max": "18446744073709551614",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "discont-wait": {
+                        "blurb": "Window of time in nanoseconds to wait before creating a discontinuity",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1000000000",
+                        "max": "18446744073709551614",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "latency": {
+                        "blurb": "Additional latency in live mode to allow upstream to take longer to produce buffers for the current position (in milliseconds)",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "30",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "min-upstream-latency": {
+                        "blurb": "When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency. (nanoseconds)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "output-buffer-duration": {
+                        "blurb": "Output block size in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "10000000",
+                        "max": "18446744073709551615",
+                        "min": "1",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "start-time": {
+                        "blurb": "Start time to use if start-time-selection=set",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "start-time-selection": {
+                        "blurb": "Decides which start time is output",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "zero (0)",
+                        "enum": true,
+                        "type-name": "GstAggregatorStartTimeSelection",
+                        "values": [
+                            {
+                                "desc": "Start at 0 running time (default)",
+                                "name": "zero",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Start at first observed input running time",
+                                "name": "first",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Set start time with start-time property",
+                                "name": "set",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgstaudiomixer.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "audiorate": {
+        "description": "Adjusts audio frames",
+        "elements": {
+            "audiorate": {
+                "author": "Wim Taymans <wim@fluendo.com>",
+                "description": "Drops/duplicates/adjusts timestamps on audio samples to make a perfect stream",
+                "hierarchy": [
+                    "GstAudioRate",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Audio",
+                "long-name": "Audio rate adjuster",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-raw:\n         format: { 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 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: { (string)interleaved, (string)non-interleaved }\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { 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 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: { (string)interleaved, (string)non-interleaved }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "add": {
+                        "blurb": "Number of added samples",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "drop": {
+                        "blurb": "Number of dropped samples",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "in": {
+                        "blurb": "Number of input samples",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "out": {
+                        "blurb": "Number of output samples",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "silent": {
+                        "blurb": "Don't emit notify for dropped and duplicated frames",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "skip-to-first": {
+                        "blurb": "Don't produce buffers before the first one we receive",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "tolerance": {
+                        "blurb": "Only act if timestamp jitter/imperfection exceeds indicated tolerance (ns)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "40000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgstaudiorate.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "audioresample": {
+        "description": "Resamples audio",
+        "elements": {
+            "audioresample": {
+                "author": "Sebastian Dr\u00f6ge <sebastian.droege@collabora.co.uk>",
+                "description": "Resamples audio",
+                "hierarchy": [
+                    "GstAudioResample",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Converter/Audio",
+                "long-name": "Audio resampler",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-raw:\n         format: { 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 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: { (string)interleaved, (string)non-interleaved }\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { 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 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: { (string)interleaved, (string)non-interleaved }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "quality": {
+                        "blurb": "Resample quality with 0 being the lowest and 10 being the best",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "4",
+                        "max": "10",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "resample-method": {
+                        "blurb": "What resample method to use",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "kaiser (4)",
+                        "enum": true,
+                        "type-name": "GstAudioResamplerMethod",
+                        "values": [
+                            {
+                                "desc": "GST_AUDIO_RESAMPLER_METHOD_NEAREST",
+                                "name": "nearest",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_AUDIO_RESAMPLER_METHOD_LINEAR",
+                                "name": "linear",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_AUDIO_RESAMPLER_METHOD_CUBIC",
+                                "name": "cubic",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL",
+                                "name": "blackman-nuttall",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_AUDIO_RESAMPLER_METHOD_KAISER",
+                                "name": "kaiser",
+                                "value": "4"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "sinc-filter-auto-threshold": {
+                        "blurb": "Memory usage threshold to use if sinc filter mode is AUTO, given in bytes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1048576",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "sinc-filter-interpolation": {
+                        "blurb": "How to interpolate the sinc filter table",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "cubic (2)",
+                        "enum": true,
+                        "type-name": "GstAudioResamplerFilterInterpolation",
+                        "values": [
+                            {
+                                "desc": "GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR",
+                                "name": "linear",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC",
+                                "name": "cubic",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "sinc-filter-mode": {
+                        "blurb": "What sinc filter table mode to use",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "auto (2)",
+                        "enum": true,
+                        "type-name": "GstAudioResamplerFilterMode",
+                        "values": [
+                            {
+                                "desc": "GST_AUDIO_RESAMPLER_FILTER_MODE_INTERPOLATED",
+                                "name": "interpolated",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_AUDIO_RESAMPLER_FILTER_MODE_FULL",
+                                "name": "full",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO",
+                                "name": "auto",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            }
+        },
+        "filename": "libgstaudioresample.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "audiotestsrc": {
+        "description": "Creates audio test signals of given frequency and volume",
+        "elements": {
+            "audiotestsrc": {
+                "author": "Stefan Kost <ensonic@users.sf.net>",
+                "description": "Creates audio test signals of given frequency and volume",
+                "hierarchy": [
+                    "GstAudioTestSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source/Audio",
+                "long-name": "Audio test source",
+                "pad-templates": {
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { 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, S8, U8 }\n         layout: { (string)interleaved, (string)non-interleaved }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "blocksize": {
+                        "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "can-activate-pull": {
+                        "blurb": "Can activate in pull mode",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "can-activate-push": {
+                        "blurb": "Can activate in push mode",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "do-timestamp": {
+                        "blurb": "Apply current stream time to buffers",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "freq": {
+                        "blurb": "Frequency of test signal. The sample rate needs to be at least 4 times higher.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "440",
+                        "max": "5.36871e+08",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "is-live": {
+                        "blurb": "Whether to act as a live source",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-buffers": {
+                        "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "samplesperbuffer": {
+                        "blurb": "Number of samples in each outgoing buffer",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1024",
+                        "max": "2147483647",
+                        "min": "1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "timestamp-offset": {
+                        "blurb": "An offset added to timestamps set on buffers (in ns)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "typefind": {
+                        "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "volume": {
+                        "blurb": "Volume of test signal",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.8",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "wave": {
+                        "blurb": "Oscillator waveform",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "sine (0)",
+                        "enum": true,
+                        "type-name": "GstAudioTestSrcWave",
+                        "values": [
+                            {
+                                "desc": "Sine",
+                                "name": "sine",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Square",
+                                "name": "square",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Saw",
+                                "name": "saw",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "Triangle",
+                                "name": "triangle",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "Silence",
+                                "name": "silence",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "White uniform noise",
+                                "name": "white-noise",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "Pink noise",
+                                "name": "pink-noise",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "Sine table",
+                                "name": "sine-table",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "Periodic Ticks",
+                                "name": "ticks",
+                                "value": "8"
+                            },
+                            {
+                                "desc": "White Gaussian noise",
+                                "name": "gaussian-noise",
+                                "value": "9"
+                            },
+                            {
+                                "desc": "Red (brownian) noise",
+                                "name": "red-noise",
+                                "value": "10"
+                            },
+                            {
+                                "desc": "Blue noise",
+                                "name": "blue-noise",
+                                "value": "11"
+                            },
+                            {
+                                "desc": "Violet noise",
+                                "name": "violet-noise",
+                                "value": "12"
+                            }
+                        ],
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgstaudiotestsrc.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "cdparanoia": {
+        "description": "Read audio from CD in paranoid mode",
+        "elements": {
+            "cdparanoiasrc": {
+                "author": "Erik Walthinsen <omega@cse.ogi.edu>, Wim Taymans <wim@fluendo.com>",
+                "description": "Read audio from CD in paranoid mode",
+                "hierarchy": [
+                    "GstCdParanoiaSrc",
+                    "GstAudioCdSrc",
+                    "GstPushSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source/File",
+                "long-name": "CD Audio (cdda) Source, Paranoia IV",
+                "pad-templates": {
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: S16LE\n         layout: interleaved\n           rate: 44100\n       channels: 2\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "blocksize": {
+                        "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "cache-size": {
+                        "blurb": "Set CD cache size to n sectors (-1 = auto)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "device": {
+                        "blurb": "CD device location",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "/dev/cdrom",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "do-timestamp": {
+                        "blurb": "Apply current stream time to buffers",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "generic-device": {
+                        "blurb": "Use specified generic scsi device",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "mode": {
+                        "blurb": "Mode",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "normal (0)",
+                        "enum": true,
+                        "type-name": "GstAudioCdSrcMode",
+                        "values": [
+                            {
+                                "desc": "GST_AUDIO_CD_SRC_MODE_NORMAL",
+                                "name": "normal",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_AUDIO_CD_SRC_MODE_CONTINUOUS",
+                                "name": "continuous",
+                                "value": "1"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-buffers": {
+                        "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "paranoia-mode": {
+                        "blurb": "Type of checking to perform",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "fragment",
+                        "type-name": "GstCdParanoiaMode",
+                        "values": [
+                            {
+                                "desc": "PARANOIA_MODE_DISABLE",
+                                "name": "disable",
+                                "value": "0x00000000"
+                            },
+                            {
+                                "desc": "PARANOIA_MODE_FRAGMENT",
+                                "name": "fragment",
+                                "value": "0x00000002"
+                            },
+                            {
+                                "desc": "PARANOIA_MODE_OVERLAP",
+                                "name": "overlap",
+                                "value": "0x00000004"
+                            },
+                            {
+                                "desc": "PARANOIA_MODE_SCRATCH",
+                                "name": "scratch",
+                                "value": "0x00000008"
+                            },
+                            {
+                                "desc": "PARANOIA_MODE_REPAIR",
+                                "name": "repair",
+                                "value": "0x00000010"
+                            },
+                            {
+                                "desc": "PARANOIA_MODE_FULL",
+                                "name": "full",
+                                "value": "0x000000ff"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "read-speed": {
+                        "blurb": "Read from device at specified speed (-1 and 0 = full speed)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "search-overlap": {
+                        "blurb": "Force minimum overlap search during verification to n sectors",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "75",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "track": {
+                        "blurb": "Track",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "99",
+                        "min": "1",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "typefind": {
+                        "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "secondary",
+                "signals": {
+                    "transport-error": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "void"
+                    },
+                    "uncorrected-error": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            }
+        },
+        "filename": "libgstcdparanoia.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "encoding": {
+        "description": "various encoding-related elements",
+        "elements": {
+            "encodebin": {
+                "author": "Edward Hervey <edward.hervey@collabora.co.uk>",
+                "description": "Convenience encoding/muxing element",
+                "hierarchy": [
+                    "GstEncodeBin",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Bin/Encoder",
+                "long-name": "Encoder Bin",
+                "pad-templates": {
+                    "audio_%%u": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "request"
+                    },
+                    "private_%%u": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "request"
+                    },
+                    "src": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "always"
+                    },
+                    "video_%%u": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "request"
+                    }
+                },
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "audio-jitter-tolerance": {
+                        "blurb": "Amount of timestamp jitter/imperfection to allow on audio streams before inserting/dropping samples (ns)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "20000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "avoid-reencoding": {
+                        "blurb": "Whether to re-encode portions of compatible video streams that lay on segment boundaries",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "flags": {
+                        "blurb": "Flags to control behaviour",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "(none)",
+                        "type-name": "GstEncodeBinFlags",
+                        "values": [
+                            {
+                                "desc": "Do not use audio conversion elements",
+                                "name": "no-audio-conversion",
+                                "value": "0x00000001"
+                            },
+                            {
+                                "desc": "Do not use video conversion elements",
+                                "name": "no-video-conversion",
+                                "value": "0x00000002"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "profile": {
+                        "blurb": "The GstEncodingProfile to use",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstEncodingProfile",
+                        "writable": true
+                    },
+                    "queue-buffers-max": {
+                        "blurb": "Max. number of buffers in the queue (0=disable)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "200",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "queue-bytes-max": {
+                        "blurb": "Max. amount of data in the queue (bytes, 0=disable)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "10485760",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "queue-time-max": {
+                        "blurb": "Max. amount of data in the queue (in ns, 0=disable)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1000000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "request-pad": {
+                        "args": [
+                            "GstCaps"
+                        ],
+                        "retval": "GstPad"
+                    },
+                    "request-profile-pad": {
+                        "args": [
+                            "gchararray"
+                        ],
+                        "retval": "GstPad"
+                    }
+                }
+            }
+        },
+        "filename": "libgstencoding.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "gio": {
+        "description": "GIO elements",
+        "elements": {
+            "giosink": {
+                "author": "Ren\u00e9 Stadler <mail@renestadler.de>, Sebastian Dr\u00f6ge <sebastian.droege@collabora.co.uk>",
+                "description": "Write to any GIO-supported location",
+                "hierarchy": [
+                    "GstGioSink",
+                    "GstGioBaseSink",
+                    "GstBaseSink",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Sink/File",
+                "long-name": "GIO sink",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async": {
+                        "blurb": "Go asynchronously to PAUSED",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "enable-last-sample": {
+                        "blurb": "Enable the last-sample property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "file": {
+                        "blurb": "GFile to write to",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GFile",
+                        "writable": true
+                    },
+                    "last-sample": {
+                        "blurb": "The last sample received in the sink",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "location": {
+                        "blurb": "URI location to write to",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "max-bitrate": {
+                        "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-lateness": {
+                        "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "processing-deadline": {
+                        "blurb": "Maximum processing deadline in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "20000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Generate Quality-of-Service events upstream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "render-delay": {
+                        "blurb": "Additional render delay of the sink in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "sync": {
+                        "blurb": "Sync on the clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "throttle-time": {
+                        "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "ts-offset": {
+                        "blurb": "Timestamp offset in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "secondary"
+            },
+            "giosrc": {
+                "author": "Ren\u00e9 Stadler <mail@renestadler.de>, Sebastian Dr\u00f6ge <sebastian.droege@collabora.co.uk>",
+                "description": "Read from any GIO-supported location",
+                "hierarchy": [
+                    "GstGioSrc",
+                    "GstGioBaseSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source/File",
+                "long-name": "GIO source",
+                "pad-templates": {
+                    "src": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "blocksize": {
+                        "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "do-timestamp": {
+                        "blurb": "Apply current stream time to buffers",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "file": {
+                        "blurb": "GFile to read from",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GFile",
+                        "writable": true
+                    },
+                    "location": {
+                        "blurb": "URI location to read from",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-buffers": {
+                        "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "typefind": {
+                        "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "secondary"
+            },
+            "giostreamsink": {
+                "author": "Sebastian Dr\u00f6ge <sebastian.droege@collabora.co.uk>",
+                "description": "Write to any GIO stream",
+                "hierarchy": [
+                    "GstGioStreamSink",
+                    "GstGioBaseSink",
+                    "GstBaseSink",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Sink",
+                "long-name": "GIO stream sink",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async": {
+                        "blurb": "Go asynchronously to PAUSED",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "enable-last-sample": {
+                        "blurb": "Enable the last-sample property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "last-sample": {
+                        "blurb": "The last sample received in the sink",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "max-bitrate": {
+                        "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-lateness": {
+                        "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "processing-deadline": {
+                        "blurb": "Maximum processing deadline in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "20000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Generate Quality-of-Service events upstream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "render-delay": {
+                        "blurb": "Additional render delay of the sink in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "stream": {
+                        "blurb": "Stream to write to",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GOutputStream",
+                        "writable": true
+                    },
+                    "sync": {
+                        "blurb": "Sync on the clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "throttle-time": {
+                        "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "ts-offset": {
+                        "blurb": "Timestamp offset in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "giostreamsrc": {
+                "author": "Sebastian Dr\u00f6ge <sebastian.droege@collabora.co.uk>",
+                "description": "Read from any GIO stream",
+                "hierarchy": [
+                    "GstGioStreamSrc",
+                    "GstGioBaseSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source",
+                "long-name": "GIO stream source",
+                "pad-templates": {
+                    "src": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "blocksize": {
+                        "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "do-timestamp": {
+                        "blurb": "Apply current stream time to buffers",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-buffers": {
+                        "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "stream": {
+                        "blurb": "Stream to read from",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GInputStream",
+                        "writable": true
+                    },
+                    "typefind": {
+                        "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgstgio.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "libvisual": {
+        "description": "libvisual visualization plugins",
+        "elements": {},
+        "filename": "libgstlibvisual.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "ogg": {
+        "description": "ogg stream manipulation (info about ogg: http://xiph.org)",
+        "elements": {
+            "oggaviparse": {
+                "author": "Wim Taymans <wim@fluendo.com>",
+                "description": "parse an ogg avi stream into pages (info about ogg: http://xiph.org)",
+                "hierarchy": [
+                    "GstOggAviParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Parser",
+                "long-name": "Ogg AVI parser",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "application/x-ogg-avi:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-vorbis:\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            },
+            "oggdemux": {
+                "author": "Wim Taymans <wim@fluendo.com>",
+                "description": "demux ogg streams (info about ogg: http://xiph.org)",
+                "hierarchy": [
+                    "GstOggDemux",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Demuxer",
+                "long-name": "Ogg demuxer",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "application/ogg:\naudio/ogg:\nvideo/ogg:\napplication/kate:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src_%%08x": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "primary",
+                "signals": {
+                    "no-more-pads": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "pad-added": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "pad-removed": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            },
+            "oggmux": {
+                "author": "Wim Taymans <wim@fluendo.com>",
+                "description": "mux ogg streams (info about ogg: http://xiph.org)",
+                "hierarchy": [
+                    "GstOggMux",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Muxer",
+                "long-name": "Ogg muxer",
+                "pad-templates": {
+                    "audio_%%u": {
+                        "caps": "audio/x-vorbis:\naudio/x-flac:\naudio/x-speex:\naudio/x-celt:\napplication/x-ogm-audio:\naudio/x-opus:\n",
+                        "direction": "sink",
+                        "presence": "request"
+                    },
+                    "src": {
+                        "caps": "application/ogg:\naudio/ogg:\nvideo/ogg:\n",
+                        "direction": "src",
+                        "presence": "always"
+                    },
+                    "subtitle_%%u": {
+                        "caps": "text/x-cmml:\n        encoded: true\nsubtitle/x-kate:\napplication/x-kate:\n",
+                        "direction": "sink",
+                        "presence": "request"
+                    },
+                    "video_%%u": {
+                        "caps": "video/x-theora:\napplication/x-ogm-video:\nvideo/x-dirac:\nvideo/x-smoke:\nvideo/x-vp8:\nvideo/x-daala:\n",
+                        "direction": "sink",
+                        "presence": "request"
+                    }
+                },
+                "properties": {
+                    "max-delay": {
+                        "blurb": "Maximum delay in multiplexing streams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "500000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-page-delay": {
+                        "blurb": "Maximum delay for sending out a page",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "500000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-tolerance": {
+                        "blurb": "Maximum timestamp difference for maintaining perfect granules",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "40000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "skeleton": {
+                        "blurb": "Whether to include a Skeleton track",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            },
+            "oggparse": {
+                "author": "Michael Smith <msmith@fluendo.com>",
+                "description": "parse ogg streams into pages (info about ogg: http://xiph.org)",
+                "hierarchy": [
+                    "GstOggParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Parser",
+                "long-name": "Ogg parser",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "application/ogg:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "application/ogg:\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "ogmaudioparse": {
+                "author": "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>",
+                "description": "parse an OGM audio header and stream",
+                "hierarchy": [
+                    "GstOgmAudioParse",
+                    "GstOgmParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Parser/Audio",
+                "long-name": "OGM audio stream parser",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "application/x-ogm-audio:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/ms-gsm:\naudio/mpeg:\n    mpegversion: 1\n          layer: 3\naudio/mpeg:\n    mpegversion: 1\n          layer: 2\naudio/x-raw:\n         format: { S8, U8, S16LE, U16LE, S24LE, U24LE, S32LE, U32LE }\n         layout: interleaved\naudio/x-vorbis:\naudio/x-ac3:\naudio/x-dts:\naudio/mpeg:\n    mpegversion: 4\naudio/x-alaw:\naudio/x-mulaw:\naudio/x-wms:\n        bitrate: [ 0, 2147483647 ]\n    block_align: [ 1, 2147483647 ]\naudio/x-adpcm:\n         layout: microsoft\n    block_align: [ 1, 2147483647 ]\naudio/x-adpcm:\n         layout: dvi\n    block_align: [ 1, 2147483647 ]\naudio/x-truespeech:\naudio/x-wma:\n     wmaversion: 1\n        bitrate: [ 0, 2147483647 ]\n    block_align: [ 1, 2147483647 ]\naudio/x-wma:\n     wmaversion: 2\n        bitrate: [ 0, 2147483647 ]\n    block_align: [ 1, 2147483647 ]\naudio/x-wma:\n     wmaversion: 3\n        bitrate: [ 0, 2147483647 ]\n    block_align: [ 1, 2147483647 ]\naudio/x-vnd.sony.atrac3:\naudio/x-raw:\n         format: { F32LE, F64LE }\n         layout: interleaved\naudio/x-voxware:\n    voxwaretype: 117\naudio/x-adpcm:\n         layout: dk4\naudio/x-adpcm:\n         layout: dk3\naudio/x-adpcm:\n         layout: dvi\naudio/AMR:\naudio/AMR-WB:\naudio/x-siren:\napplication/x-ogg-avi:\n",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "primary",
+                "signals": {
+                    "no-more-pads": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "pad-added": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "pad-removed": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            },
+            "ogmtextparse": {
+                "author": "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>",
+                "description": "parse an OGM text header and stream",
+                "hierarchy": [
+                    "GstOgmTextParse",
+                    "GstOgmParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Subtitle",
+                "long-name": "OGM text stream parser",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "application/x-ogm-text:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "text/x-raw:\n         format: utf8\n",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "primary",
+                "signals": {
+                    "no-more-pads": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "pad-added": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "pad-removed": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            },
+            "ogmvideoparse": {
+                "author": "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>",
+                "description": "parse an OGM video header and stream",
+                "hierarchy": [
+                    "GstOgmVideoParse",
+                    "GstOgmParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Parser/Video",
+                "long-name": "OGM video stream parser",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "application/x-ogm-video:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/mpeg:\n    mpegversion: 4\n   systemstream: false\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-asus:\n    asusversion: 1\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-asus:\n    asusversion: 2\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-cirrus-logic-accupak:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-camstudio:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-compressed-yuv:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-raw:\n         format: { RGB8P, BGR, BGRx }\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-divx:\n    divxversion: 3\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-divx:\n    divxversion: 4\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-truemotion:\n    trueversion: 1\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-dv:\n   systemstream: false\n      dvversion: 25\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-dv:\n   systemstream: false\n      dvversion: 50\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-divx:\n    divxversion: 5\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/mpeg:\n    mpegversion: 4\n   systemstream: false\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-flash-video:\n     flvversion: 1\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-vp6-flash:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-h263:\n        variant: itu\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-h263:\n        variant: lucent\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-h264:\n        variant: itu\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-huffyuv:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-intel-h263:\n        variant: intel\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-raw:\n         format: I420\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-indeo:\n   indeoversion: 3\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-indeo:\n   indeoversion: 4\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-indeo:\n   indeoversion: 5\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-h263:\n        variant: lead\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-h264:\n        variant: lead\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-h263:\n        variant: microsoft\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/mpeg:\n    mpegversion: 4\n   systemstream: false\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nimage/jpeg:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-msmpeg:\n  msmpegversion: 42\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-msmpeg:\n  msmpegversion: 43\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/mpeg:\n   systemstream: false\n    mpegversion: 1\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/mpeg:\n   systemstream: false\n    mpegversion: 2\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-msmpeg:\n  msmpegversion: 41\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-mszh:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nimage/png:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-rle:\n         layout: microsoft\n          depth: [ 1, 64 ]\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-indeo:\n   indeoversion: 2\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/sp5x:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-truemotion:\n    trueversion: 2\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-camtasia:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-ultimotion:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-raw:\n         format: UYVY\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-ati-vcr:\n     vcrversion: 1\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-ati-vcr:\n     vcrversion: 2\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-h263:\n        variant: vdolive\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-h263:\n        variant: vivo\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-vmnc:\n        version: 1\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-vp3:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-h264:\n        variant: videosoft\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-wmv:\n     wmvversion: 1\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-wmv:\n     wmvversion: 2\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-wmv:\n     wmvversion: 3\n         format: WMV3\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/mpeg:\n    mpegversion: 4\n   systemstream: false\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-xan:\n      wcversion: 4\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-raw:\n         format: YUY2\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-raw:\n         format: YVU9\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-zlib:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-cinepak:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-h264:\n        variant: itu\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-msvideocodec:\n msvideoversion: 1\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-h263:\n        variant: xirlink\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-dirac:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-ffv:\n     ffvversion: 1\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-kmvc:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-vp5:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-vp6:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-vp6-flash:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-vp7:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-vp8:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-mimic:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-apple-video:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-theora:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-fraps:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-aasc:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-raw:\n         format: YV12\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-loco:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-zmbv:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-raw:\n         format: v210\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nvideo/x-raw:\n         format: r210\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "primary",
+                "signals": {
+                    "no-more-pads": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "pad-added": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "pad-removed": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            }
+        },
+        "filename": "libgstogg.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "opengl": {
+        "description": "OpenGL plugin",
+        "elements": {
+            "glalpha": {
+                "author": "Matthew Waters <matthew@centricular.com>",
+                "description": "Adds an alpha channel to video using OpenGL - uniform or chroma-keying",
+                "hierarchy": [
+                    "GstGLAlpha",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "OpenGL Alpha Filter",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "alpha": {
+                        "blurb": "The value for the alpha channel",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "angle": {
+                        "blurb": "Size of the colorcube to change",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "20",
+                        "max": "90",
+                        "min": "0",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "black-sensitivity": {
+                        "blurb": "Sensitivity to dark colors",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "100",
+                        "max": "128",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "method": {
+                        "blurb": "How the alpha channels should be created",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "set (0)",
+                        "enum": true,
+                        "type-name": "GstGLAlphaMethod",
+                        "values": [
+                            {
+                                "desc": "Set/adjust alpha channel",
+                                "name": "set",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Chroma Key on pure green",
+                                "name": "green",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Chroma Key on pure blue",
+                                "name": "blue",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "Chroma Key on custom RGB values",
+                                "name": "custom",
+                                "value": "3"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "noise-level": {
+                        "blurb": "Size of noise radius",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "2",
+                        "max": "64",
+                        "min": "0",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "target-b": {
+                        "blurb": "The blue color value for custom RGB chroma keying",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "255",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "target-g": {
+                        "blurb": "The green color value for custom RGB chroma keying",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "255",
+                        "max": "255",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "target-r": {
+                        "blurb": "The red color value for custom RGB chroma keying",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "255",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "white-sensitivity": {
+                        "blurb": "Sensitivity to bright colors",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "100",
+                        "max": "128",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "glcolorbalance": {
+                "author": "Matthew Waters <matthew@centricular.com>",
+                "description": "Adjusts brightness, contrast, hue, saturation on a video stream",
+                "hierarchy": [
+                    "GstGLColorBalance",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Video balance",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)external-oes }\n\nvideo/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)external-oes }\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)external-oes }\n\nvideo/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)external-oes }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "brightness": {
+                        "blurb": "brightness",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1",
+                        "min": "-1",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "contrast": {
+                        "blurb": "contrast",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "2",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "hue": {
+                        "blurb": "hue",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1",
+                        "min": "-1",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "saturation": {
+                        "blurb": "saturation",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "2",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "glcolorconvert": {
+                "author": "Matthew Waters <matthew@centricular.com>",
+                "description": "Converts between color spaces using OpenGL shaders",
+                "hierarchy": [
+                    "GstGLColorConvertElement",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Converter/Video",
+                "long-name": "OpenGL color converter",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: { RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)rectangle, (string)external-oes }\n\nvideo/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition):\n         format: { RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)rectangle, (string)external-oes }\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: { RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)rectangle, (string)external-oes }\n\nvideo/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition):\n         format: { RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)rectangle, (string)external-oes }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "glcolorscale": {
+                "author": "Julien Isorce <julien.isorce@gmail.com>\nMatthew Waters <matthew@centricular.com>",
+                "description": "Colorspace converter and video scaler",
+                "hierarchy": [
+                    "GstGLColorscale",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "OpenGL color scale",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gldeinterlace": {
+                "author": "Julien Isorce <julien.isorce@mail.com>",
+                "description": "Deinterlacing based on fragment shaders",
+                "hierarchy": [
+                    "GstGLDeinterlace",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Deinterlace",
+                "long-name": "OpenGL deinterlacing filter",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "method": {
+                        "blurb": "Select which deinterlace method apply to GL video texture",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "vfir (0)",
+                        "enum": true,
+                        "type-name": "GstGLDeinterlaceMethod",
+                        "values": [
+                            {
+                                "desc": "Blur Vertical",
+                                "name": "vfir",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Motion Adaptive: Advanced Detection",
+                                "name": "greedyh",
+                                "value": "1"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gldifferencematte": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "Saves a background frame and replace it with a pixbuf",
+                "hierarchy": [
+                    "GstGLDifferenceMatte",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Gstreamer OpenGL DifferenceMatte",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "location": {
+                        "blurb": "Background image location",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gldownload": {
+                "author": "Matthew Waters <matthew@centricular.com>",
+                "description": "Downloads data from OpenGL",
+                "hierarchy": [
+                    "GstGLDownloadElement",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Video",
+                "long-name": "OpenGL downloader",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:GLMemory):\nvideo/x-raw:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:DMABuf):\nvideo/x-raw:\n\nvideo/x-raw(memory:GLMemory):\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects",
+                "hierarchy": [
+                    "GstGLEffectsGeneric",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Gstreamer OpenGL Effects",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "effect": {
+                        "blurb": "Select which effect apply to GL video texture",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "identity (0)",
+                        "enum": true,
+                        "type-name": "GstGLEffectsEffect",
+                        "values": [
+                            {
+                                "desc": "Do nothing Effect",
+                                "name": "identity",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Mirror Effect",
+                                "name": "mirror",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Squeeze Effect",
+                                "name": "squeeze",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "Stretch Effect",
+                                "name": "stretch",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "Light Tunnel Effect",
+                                "name": "tunnel",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "FishEye Effect",
+                                "name": "fisheye",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "Twirl Effect",
+                                "name": "twirl",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "Bulge Effect",
+                                "name": "bulge",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "Square Effect",
+                                "name": "square",
+                                "value": "8"
+                            },
+                            {
+                                "desc": "Heat Signature Effect",
+                                "name": "heat",
+                                "value": "9"
+                            },
+                            {
+                                "desc": "Sepia Toning Effect",
+                                "name": "sepia",
+                                "value": "10"
+                            },
+                            {
+                                "desc": "Cross Processing Effect",
+                                "name": "xpro",
+                                "value": "11"
+                            },
+                            {
+                                "desc": "Luma Cross Processing Effect",
+                                "name": "lumaxpro",
+                                "value": "12"
+                            },
+                            {
+                                "desc": "Glowing negative effect",
+                                "name": "xray",
+                                "value": "13"
+                            },
+                            {
+                                "desc": "All Grey but Red Effect",
+                                "name": "sin",
+                                "value": "14"
+                            },
+                            {
+                                "desc": "Glow Lighting Effect",
+                                "name": "glow",
+                                "value": "15"
+                            },
+                            {
+                                "desc": "Sobel edge detection Effect",
+                                "name": "sobel",
+                                "value": "16"
+                            },
+                            {
+                                "desc": "Blur with 9x9 separable convolution Effect",
+                                "name": "blur",
+                                "value": "17"
+                            },
+                            {
+                                "desc": "Laplacian Convolution Demo Effect",
+                                "name": "laplacian",
+                                "value": "18"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "invert": {
+                        "blurb": "Invert colors to get dark edges on bright background when using sobel effect",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_blur": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Blur with 9x9 separable convolution Effect",
+                "hierarchy": [
+                    "gleffects_blur",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Blur with 9x9 separable convolution Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_bulge": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Bulge Effect",
+                "hierarchy": [
+                    "gleffects_bulge",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Bulge Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_fisheye": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - FishEye Effect",
+                "hierarchy": [
+                    "gleffects_fisheye",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "FishEye Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_glow": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Glow Lighting Effect",
+                "hierarchy": [
+                    "gleffects_glow",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Glow Lighting Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_heat": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Heat Signature Effect",
+                "hierarchy": [
+                    "gleffects_heat",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Heat Signature Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_identity": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Do nothing Effect",
+                "hierarchy": [
+                    "gleffects_identity",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Do nothing Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_laplacian": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Laplacian Convolution Demo Effect",
+                "hierarchy": [
+                    "gleffects_laplacian",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Laplacian Convolution Demo Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "invert": {
+                        "blurb": "Invert colors to get dark edges on bright background when using sobel effect",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_lumaxpro": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Luma Cross Processing Effect",
+                "hierarchy": [
+                    "gleffects_lumaxpro",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Luma Cross Processing Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_mirror": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Mirror Effect",
+                "hierarchy": [
+                    "gleffects_mirror",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Mirror Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_sepia": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Sepia Toning Effect",
+                "hierarchy": [
+                    "gleffects_sepia",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Sepia Toning Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_sin": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - All Grey but Red Effect",
+                "hierarchy": [
+                    "gleffects_sin",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "All Grey but Red Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_sobel": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Sobel edge detection Effect",
+                "hierarchy": [
+                    "gleffects_sobel",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Sobel edge detection Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "invert": {
+                        "blurb": "Invert colors to get dark edges on bright background when using sobel effect",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_square": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Square Effect",
+                "hierarchy": [
+                    "gleffects_square",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Square Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_squeeze": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Squeeze Effect",
+                "hierarchy": [
+                    "gleffects_squeeze",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Squeeze Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_stretch": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Stretch Effect",
+                "hierarchy": [
+                    "gleffects_stretch",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Stretch Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_tunnel": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Light Tunnel Effect",
+                "hierarchy": [
+                    "gleffects_tunnel",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Light Tunnel Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_twirl": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Twirl Effect",
+                "hierarchy": [
+                    "gleffects_twirl",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Twirl Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_xpro": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Cross Processing Effect",
+                "hierarchy": [
+                    "gleffects_xpro",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Cross Processing Effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gleffects_xray": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>",
+                "description": "GL Shading Language effects - Glowing negative effect",
+                "hierarchy": [
+                    "gleffects_xray",
+                    "GstGLEffects",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Glowing negative effect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "hswap": {
+                        "blurb": "Switch video texture left to right, useful with webcams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "glfilterapp": {
+                "author": "Julien Isorce <julien.isorce@gmail.com>",
+                "description": "Use client callbacks to define the scene",
+                "hierarchy": [
+                    "GstGLFilterApp",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect",
+                "long-name": "OpenGL application filter",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "client-draw": {
+                        "args": [
+                            "guint",
+                            "guint",
+                            "guint"
+                        ],
+                        "retval": "gboolean"
+                    }
+                }
+            },
+            "glfilterbin": {
+                "author": "Matthew Waters <matthew@centricular.com>",
+                "description": "Infrastructure to process GL textures",
+                "hierarchy": [
+                    "GstGLFilterBin",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Video",
+                "long-name": "GL Filter Bin",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf, meta:GstVideoOverlayComposition):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(ANY):\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "filter": {
+                        "blurb": "The GL filter chain to use",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "create-element": {
+                        "args": [],
+                        "retval": "GstElement"
+                    }
+                }
+            },
+            "glfiltercube": {
+                "author": "Julien Isorce <julien.isorce@gmail.com>",
+                "description": "Map input texture on the 6 cube faces",
+                "hierarchy": [
+                    "GstGLFilterCube",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "OpenGL cube filter",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "aspect": {
+                        "blurb": "Field of view in the x direction",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "100",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "blue": {
+                        "blurb": "Background blue color",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "fovy": {
+                        "blurb": "Field of view angle in degrees",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "45",
+                        "max": "180",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "green": {
+                        "blurb": "Background green color",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "red": {
+                        "blurb": "Background red color",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "zfar": {
+                        "blurb": "Specifies the distance from the viewer to the far clipping plane",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "100",
+                        "max": "1000",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "znear": {
+                        "blurb": "Specifies the distance from the viewer to the near clipping plane",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.1",
+                        "max": "100",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "glfilterglass": {
+                "author": "Julien Isorce <julien.isorce@gmail.com>",
+                "description": "Glass Filter",
+                "hierarchy": [
+                    "GstGLFilterGlass",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "OpenGL glass filter",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "glimagesink": {
+                "author": "Matthew Waters <matthew@centricular.com>",
+                "description": "Infrastructure to process GL textures",
+                "hierarchy": [
+                    "GstGLImageSinkBin",
+                    "GstGLSinkBin",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Sink/Video",
+                "long-name": "GL Sink Bin",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf, meta:GstVideoOverlayComposition):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async": {
+                        "blurb": "Go asynchronously to PAUSED",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "brightness": {
+                        "blurb": "brightness",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1",
+                        "min": "-1",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "contrast": {
+                        "blurb": "contrast",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "2",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "enable-last-sample": {
+                        "blurb": "Enable the last-sample property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "force-aspect-ratio": {
+                        "blurb": "When enabled, scaling will respect original aspect ratio",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "handle-events": {
+                        "blurb": "When enabled, XEvents will be selected and handled",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "hue": {
+                        "blurb": "hue",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1",
+                        "min": "-1",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "ignore-alpha": {
+                        "blurb": "When enabled, alpha will be ignored and converted to black",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "last-sample": {
+                        "blurb": "The last sample received in the sink",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "max-bitrate": {
+                        "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-lateness": {
+                        "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "5000000",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "output-multiview-downmix-mode": {
+                        "blurb": "Output anaglyph type to generate when downmixing to mono",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "green-magenta-dubois (0)",
+                        "enum": true,
+                        "type-name": "GstGLStereoDownmix",
+                        "values": [
+                            {
+                                "desc": "GST_GL_STEREO_DOWNMIX_ANAGLYPH_GREEN_MAGENTA_DUBOIS",
+                                "name": "green-magenta-dubois",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_GL_STEREO_DOWNMIX_ANAGLYPH_RED_CYAN_DUBOIS",
+                                "name": "red-cyan-dubois",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_GL_STEREO_DOWNMIX_ANAGLYPH_AMBER_BLUE_DUBOIS",
+                                "name": "amber-blue-dubois",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "output-multiview-flags": {
+                        "blurb": "Output multiview layout modifier flags",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none",
+                        "type-name": "GstVideoMultiviewFlags",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_NONE",
+                                "name": "none",
+                                "value": "0x00000000"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST",
+                                "name": "right-view-first",
+                                "value": "0x00000001"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED",
+                                "name": "left-flipped",
+                                "value": "0x00000002"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED",
+                                "name": "left-flopped",
+                                "value": "0x00000004"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED",
+                                "name": "right-flipped",
+                                "value": "0x00000008"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED",
+                                "name": "right-flopped",
+                                "value": "0x00000010"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT",
+                                "name": "half-aspect",
+                                "value": "0x00004000"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO",
+                                "name": "mixed-mono",
+                                "value": "0x00008000"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "output-multiview-mode": {
+                        "blurb": "Choose output mode for multiview/3D video",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "mono (0)",
+                        "enum": true,
+                        "type-name": "GstVideoMultiviewMode",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_NONE",
+                                "name": "none",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_MONO",
+                                "name": "mono",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_LEFT",
+                                "name": "left",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_RIGHT",
+                                "name": "right",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE",
+                                "name": "side-by-side",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX",
+                                "name": "side-by-side-quincunx",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED",
+                                "name": "column-interleaved",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED",
+                                "name": "row-interleaved",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM",
+                                "name": "top-bottom",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD",
+                                "name": "checkerboard",
+                                "value": "8"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME",
+                                "name": "frame-by-frame",
+                                "value": "32"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME",
+                                "name": "multiview-frame-by-frame",
+                                "value": "33"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_SEPARATED",
+                                "name": "separated",
+                                "value": "34"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "pixel-aspect-ratio": {
+                        "blurb": "The pixel aspect ratio of the device",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0/1",
+                        "max": "2147483647/1",
+                        "min": "0/1",
+                        "type-name": "GstFraction",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Generate Quality-of-Service events upstream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "render-delay": {
+                        "blurb": "Additional render delay of the sink in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "render-rectangle": {
+                        "blurb": "The render rectangle ('<x, y, width, height>')",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstValueArray",
+                        "writable": true
+                    },
+                    "rotate-method": {
+                        "blurb": "rotate method",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (0)",
+                        "enum": true,
+                        "type-name": "GstGLRotateMethod",
+                        "values": [
+                            {
+                                "desc": "Identity (no rotation)",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Rotate clockwise 90 degrees",
+                                "name": "clockwise",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Rotate 180 degrees",
+                                "name": "rotate-180",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "Rotate counter-clockwise 90 degrees",
+                                "name": "counterclockwise",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "Flip horizontally",
+                                "name": "horizontal-flip",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "Flip vertically",
+                                "name": "vertical-flip",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "Flip across upper left/lower right diagonal",
+                                "name": "upper-left-diagonal",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "Flip across upper right/lower left diagonal",
+                                "name": "upper-right-diagonal",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "Select rotate method based on image-orientation tag",
+                                "name": "automatic",
+                                "value": "8"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "saturation": {
+                        "blurb": "saturation",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "2",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "show-preroll-frame": {
+                        "blurb": "Whether to render video frames during preroll",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "sink": {
+                        "blurb": "The GL sink chain to use",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "sync": {
+                        "blurb": "Sync on the clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "throttle-time": {
+                        "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "ts-offset": {
+                        "blurb": "Timestamp offset in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "secondary",
+                "signals": {
+                    "client-draw": {
+                        "args": [
+                            "GstGLContext",
+                            "GstSample"
+                        ],
+                        "retval": "gboolean"
+                    },
+                    "client-reshape": {
+                        "args": [
+                            "GstGLContext",
+                            "guint",
+                            "guint"
+                        ],
+                        "retval": "gboolean"
+                    },
+                    "create-element": {
+                        "args": [],
+                        "retval": "GstElement"
+                    }
+                }
+            },
+            "glimagesinkelement": {
+                "author": "Julien Isorce <julien.isorce@gmail.com>",
+                "description": "A videosink based on OpenGL",
+                "hierarchy": [
+                    "GstGLImageSink",
+                    "GstVideoSink",
+                    "GstBaseSink",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Sink/Video",
+                "long-name": "OpenGL video sink",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)external-oes }\n\nvideo/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)external-oes }\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async": {
+                        "blurb": "Go asynchronously to PAUSED",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "enable-last-sample": {
+                        "blurb": "Enable the last-sample property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "force-aspect-ratio": {
+                        "blurb": "When enabled, scaling will respect original aspect ratio",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "handle-events": {
+                        "blurb": "When enabled, XEvents will be selected and handled",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "ignore-alpha": {
+                        "blurb": "When enabled, alpha will be ignored and converted to black",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "last-sample": {
+                        "blurb": "The last sample received in the sink",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "max-bitrate": {
+                        "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-lateness": {
+                        "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "5000000",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "output-multiview-downmix-mode": {
+                        "blurb": "Output anaglyph type to generate when downmixing to mono",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "green-magenta-dubois (0)",
+                        "enum": true,
+                        "type-name": "GstGLStereoDownmix",
+                        "values": [
+                            {
+                                "desc": "GST_GL_STEREO_DOWNMIX_ANAGLYPH_GREEN_MAGENTA_DUBOIS",
+                                "name": "green-magenta-dubois",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_GL_STEREO_DOWNMIX_ANAGLYPH_RED_CYAN_DUBOIS",
+                                "name": "red-cyan-dubois",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_GL_STEREO_DOWNMIX_ANAGLYPH_AMBER_BLUE_DUBOIS",
+                                "name": "amber-blue-dubois",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "output-multiview-flags": {
+                        "blurb": "Output multiview layout modifier flags",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none",
+                        "type-name": "GstVideoMultiviewFlags",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_NONE",
+                                "name": "none",
+                                "value": "0x00000000"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST",
+                                "name": "right-view-first",
+                                "value": "0x00000001"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED",
+                                "name": "left-flipped",
+                                "value": "0x00000002"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED",
+                                "name": "left-flopped",
+                                "value": "0x00000004"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED",
+                                "name": "right-flipped",
+                                "value": "0x00000008"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED",
+                                "name": "right-flopped",
+                                "value": "0x00000010"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT",
+                                "name": "half-aspect",
+                                "value": "0x00004000"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO",
+                                "name": "mixed-mono",
+                                "value": "0x00008000"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "output-multiview-mode": {
+                        "blurb": "Choose output mode for multiview/3D video",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "mono (0)",
+                        "enum": true,
+                        "type-name": "GstVideoMultiviewMode",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_NONE",
+                                "name": "none",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_MONO",
+                                "name": "mono",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_LEFT",
+                                "name": "left",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_RIGHT",
+                                "name": "right",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE",
+                                "name": "side-by-side",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX",
+                                "name": "side-by-side-quincunx",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED",
+                                "name": "column-interleaved",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED",
+                                "name": "row-interleaved",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM",
+                                "name": "top-bottom",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD",
+                                "name": "checkerboard",
+                                "value": "8"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME",
+                                "name": "frame-by-frame",
+                                "value": "32"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME",
+                                "name": "multiview-frame-by-frame",
+                                "value": "33"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_SEPARATED",
+                                "name": "separated",
+                                "value": "34"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "pixel-aspect-ratio": {
+                        "blurb": "The pixel aspect ratio of the device",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0/1",
+                        "max": "2147483647/1",
+                        "min": "0/1",
+                        "type-name": "GstFraction",
+                        "writable": true
+                    },
+                    "processing-deadline": {
+                        "blurb": "Maximum processing deadline in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "15000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Generate Quality-of-Service events upstream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "render-delay": {
+                        "blurb": "Additional render delay of the sink in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "render-rectangle": {
+                        "blurb": "The render rectangle ('<x, y, width, height>')",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstValueArray",
+                        "writable": true
+                    },
+                    "rotate-method": {
+                        "blurb": "rotate method",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (0)",
+                        "enum": true,
+                        "type-name": "GstGLRotateMethod",
+                        "values": [
+                            {
+                                "desc": "Identity (no rotation)",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Rotate clockwise 90 degrees",
+                                "name": "clockwise",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Rotate 180 degrees",
+                                "name": "rotate-180",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "Rotate counter-clockwise 90 degrees",
+                                "name": "counterclockwise",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "Flip horizontally",
+                                "name": "horizontal-flip",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "Flip vertically",
+                                "name": "vertical-flip",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "Flip across upper left/lower right diagonal",
+                                "name": "upper-left-diagonal",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "Flip across upper right/lower left diagonal",
+                                "name": "upper-right-diagonal",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "Select rotate method based on image-orientation tag",
+                                "name": "automatic",
+                                "value": "8"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "show-preroll-frame": {
+                        "blurb": "Whether to render video frames during preroll",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "sync": {
+                        "blurb": "Sync on the clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "throttle-time": {
+                        "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "ts-offset": {
+                        "blurb": "Timestamp offset in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "client-draw": {
+                        "args": [
+                            "GstGLContext",
+                            "GstSample"
+                        ],
+                        "retval": "gboolean"
+                    },
+                    "client-reshape": {
+                        "args": [
+                            "GstGLContext",
+                            "guint",
+                            "guint"
+                        ],
+                        "retval": "gboolean"
+                    }
+                }
+            },
+            "gloverlay": {
+                "author": "Filippo Argiolas <filippo.argiolas@gmail.com>, Matthew Waters <matthew@centricular.com>",
+                "description": "Overlay GL video texture with a JPEG/PNG image",
+                "hierarchy": [
+                    "GstGLOverlay",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Gstreamer OpenGL Overlay",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "alpha": {
+                        "blurb": "Global alpha of overlay image",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "location": {
+                        "blurb": "Location of image file to overlay",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "offset-x": {
+                        "blurb": "For positive value, horizontal offset of overlay image in pixels from left of video image. For negative value, horizontal offset of overlay image in pixels from right of video image",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "offset-y": {
+                        "blurb": "For positive value, vertical offset of overlay image in pixels from top of video image. For negative value, vertical offset of overlay image in pixels from bottom of video image",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "overlay-height": {
+                        "blurb": "Height of overlay image in pixels (0 = same as overlay image)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "overlay-width": {
+                        "blurb": "Width of overlay image in pixels (0 = same as overlay image)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "relative-x": {
+                        "blurb": "Horizontal offset of overlay image in fractions of video image width, from top-left corner of video image",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "relative-y": {
+                        "blurb": "Vertical offset of overlay image in fractions of video image height, from top-left corner of video image",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gloverlaycompositor": {
+                "author": "<matthew@centricular.com>",
+                "description": "Flatten a stream containing GstVideoOverlayCompositionMeta",
+                "hierarchy": [
+                    "GstGLOverlayCompositorElement",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect",
+                "long-name": "OpenGL overlaying filter",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)rectangle }\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)rectangle }\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)rectangle }\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)rectangle }\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)rectangle }\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: { (string)2D, (string)rectangle }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "glshader": {
+                "author": "<matthew@centricular.com>",
+                "description": "Perform operations with a GLSL shader",
+                "hierarchy": [
+                    "GstGLFilterShader",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect",
+                "long-name": "OpenGL fragment shader filter",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "fragment": {
+                        "blurb": "GLSL fragment source",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "shader": {
+                        "blurb": "GstGLShader to use",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLShader",
+                        "writable": true
+                    },
+                    "uniforms": {
+                        "blurb": "GLSL Uniforms",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstStructure",
+                        "writable": true
+                    },
+                    "update-shader": {
+                        "blurb": "Emit the 'create-shader' signal for the next frame",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "vertex": {
+                        "blurb": "GLSL vertex source",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "create-shader": {
+                        "args": [],
+                        "retval": "GstGLShader"
+                    }
+                }
+            },
+            "glsinkbin": {
+                "author": "Matthew Waters <matthew@centricular.com>",
+                "description": "Infrastructure to process GL textures",
+                "hierarchy": [
+                    "GstGLSinkBin",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Sink/Video",
+                "long-name": "GL Sink Bin",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf, meta:GstVideoOverlayComposition):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async": {
+                        "blurb": "Go asynchronously to PAUSED",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "brightness": {
+                        "blurb": "brightness",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1",
+                        "min": "-1",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "contrast": {
+                        "blurb": "contrast",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "2",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "enable-last-sample": {
+                        "blurb": "Enable the last-sample property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "force-aspect-ratio": {
+                        "blurb": "When enabled, scaling will respect original aspect ratio",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "hue": {
+                        "blurb": "hue",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1",
+                        "min": "-1",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "last-sample": {
+                        "blurb": "The last sample received in the sink",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "max-bitrate": {
+                        "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-lateness": {
+                        "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Generate Quality-of-Service events upstream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "render-delay": {
+                        "blurb": "Additional render delay of the sink in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "saturation": {
+                        "blurb": "saturation",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "2",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "sink": {
+                        "blurb": "The GL sink chain to use",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "sync": {
+                        "blurb": "Sync on the clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "throttle-time": {
+                        "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "ts-offset": {
+                        "blurb": "Timestamp offset in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "create-element": {
+                        "args": [],
+                        "retval": "GstElement"
+                    }
+                }
+            },
+            "glsrcbin": {
+                "author": "Matthew Waters <matthew@centricular.com>",
+                "description": "Infrastructure to process GL textures",
+                "hierarchy": [
+                    "GstGLSrcBin",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Src/Video",
+                "long-name": "GL Src Bin",
+                "pad-templates": {
+                    "src": {
+                        "caps": "video/x-raw(ANY):\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "src": {
+                        "blurb": "The GL src chain to use",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "create-element": {
+                        "args": [],
+                        "retval": "GstElement"
+                    }
+                }
+            },
+            "glstereosplit": {
+                "author": "Jan Schmidt <jan@centricular.com>\nMatthew Waters <matthew@centricular.com>",
+                "description": "Splits a stereoscopic stream into separate left/right streams",
+                "hierarchy": [
+                    "GstGLStereoSplit",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Converter",
+                "long-name": "GLStereoSplit",
+                "pad-templates": {
+                    "left": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    },
+                    "right": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    },
+                    "sink": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gltestsrc": {
+                "author": "David A. Schleef <ds@schleef.org>",
+                "description": "Creates a test video stream",
+                "hierarchy": [
+                    "GstGLTestSrc",
+                    "GstPushSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source/Video",
+                "long-name": "Video test source",
+                "pad-templates": {
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "blocksize": {
+                        "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "do-timestamp": {
+                        "blurb": "Apply current stream time to buffers",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "is-live": {
+                        "blurb": "Whether to act as a live source",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-buffers": {
+                        "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "pattern": {
+                        "blurb": "Type of test pattern to generate",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "smpte (0)",
+                        "enum": true,
+                        "type-name": "GstGLTestSrcPattern",
+                        "values": [
+                            {
+                                "desc": "SMPTE 100%% color bars",
+                                "name": "smpte",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Random (television snow)",
+                                "name": "snow",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "100%% Black",
+                                "name": "black",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "100%% White",
+                                "name": "white",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "Red",
+                                "name": "red",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "Green",
+                                "name": "green",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "Blue",
+                                "name": "blue",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "Checkers 1px",
+                                "name": "checkers-1",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "Checkers 2px",
+                                "name": "checkers-2",
+                                "value": "8"
+                            },
+                            {
+                                "desc": "Checkers 4px",
+                                "name": "checkers-4",
+                                "value": "9"
+                            },
+                            {
+                                "desc": "Checkers 8px",
+                                "name": "checkers-8",
+                                "value": "10"
+                            },
+                            {
+                                "desc": "Circular",
+                                "name": "circular",
+                                "value": "11"
+                            },
+                            {
+                                "desc": "Blink",
+                                "name": "blink",
+                                "value": "12"
+                            },
+                            {
+                                "desc": "Mandelbrot Fractal",
+                                "name": "mandelbrot",
+                                "value": "13"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "timestamp-offset": {
+                        "blurb": "An offset added to timestamps set on buffers (in ns)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "typefind": {
+                        "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "gltransformation": {
+                "author": "Lubosz Sarnecki <lubosz@gmail.com>\nMatthew Waters <matthew@centricular.com>",
+                "description": "Transform video on the GPU",
+                "hierarchy": [
+                    "GstGLTransformation",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "OpenGL transformation filter",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "fov": {
+                        "blurb": "Field of view angle in degrees",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "90",
+                        "max": "3.40282e+38",
+                        "min": "0",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "mvp-matrix": {
+                        "blurb": "The final Graphene 4x4 Matrix for transformation",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GrapheneMatrix",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "ortho": {
+                        "blurb": "Use orthographic projection",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "pivot-x": {
+                        "blurb": "Rotation pivot point X coordinate, where 0 is the center, -1 the left border, +1 the right border and <-1, >1 outside.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "3.40282e+38",
+                        "min": "-3.40282e+38",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "pivot-y": {
+                        "blurb": "Rotation pivot point X coordinate, where 0 is the center, -1 the left border, +1 the right border and <-1, >1 outside.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "3.40282e+38",
+                        "min": "-3.40282e+38",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "pivot-z": {
+                        "blurb": "Relevant for rotation in 3D space. You look into the negative Z axis direction",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "3.40282e+38",
+                        "min": "-3.40282e+38",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "rotation-x": {
+                        "blurb": "Rotates the video around the X-Axis in degrees.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "3.40282e+38",
+                        "min": "-3.40282e+38",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "rotation-y": {
+                        "blurb": "Rotates the video around the Y-Axis in degrees.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "3.40282e+38",
+                        "min": "-3.40282e+38",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "rotation-z": {
+                        "blurb": "Rotates the video around the Z-Axis in degrees.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "3.40282e+38",
+                        "min": "-3.40282e+38",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "scale-x": {
+                        "blurb": "Scale multiplier for the X-Axis.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "3.40282e+38",
+                        "min": "-3.40282e+38",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "scale-y": {
+                        "blurb": "Scale multiplier for the Y-Axis.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "3.40282e+38",
+                        "min": "-3.40282e+38",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "translation-x": {
+                        "blurb": "Translates the video at the X-Axis, in universal [0-1] coordinate.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "3.40282e+38",
+                        "min": "-3.40282e+38",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "translation-y": {
+                        "blurb": "Translates the video at the Y-Axis, in universal [0-1] coordinate.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "3.40282e+38",
+                        "min": "-3.40282e+38",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "translation-z": {
+                        "blurb": "Translates the video at the Z-Axis, in universal [0-1] coordinate.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "3.40282e+38",
+                        "min": "-3.40282e+38",
+                        "type-name": "gfloat",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "glupload": {
+                "author": "Matthew Waters <matthew@centricular.com>",
+                "description": "Uploads data into OpenGL",
+                "hierarchy": [
+                    "GstGLUploadElement",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Video",
+                "long-name": "OpenGL uploader",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf, meta:GstVideoOverlayComposition):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { 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, ARGB64 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(ANY):\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "glvideoflip": {
+                "author": "Matthew Waters <matthew@centricular.com>",
+                "description": "Flip video on the GPU",
+                "hierarchy": [
+                    "GstGLVideoFlip",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "OpenGL video flip filter",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "method": {
+                        "blurb": "method (deprecated, use video-direction instead)",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "none (0)",
+                        "enum": true,
+                        "type-name": "GstGLVideoFlipMethod",
+                        "values": [
+                            {
+                                "desc": "Identity (no rotation)",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Rotate clockwise 90 degrees",
+                                "name": "clockwise",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Rotate 180 degrees",
+                                "name": "rotate-180",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "Rotate counter-clockwise 90 degrees",
+                                "name": "counterclockwise",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "Flip horizontally",
+                                "name": "horizontal-flip",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "Flip vertically",
+                                "name": "vertical-flip",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "Flip across upper left/lower right diagonal",
+                                "name": "upper-left-diagonal",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "Flip across upper right/lower left diagonal",
+                                "name": "upper-right-diagonal",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "Select flip method based on image-orientation tag",
+                                "name": "automatic",
+                                "value": "8"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "video-direction": {
+                        "blurb": "Video direction: rotation and flipping",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "identity (0)",
+                        "enum": true,
+                        "type-name": "GstVideoOrientationMethod",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_ORIENTATION_IDENTITY",
+                                "name": "identity",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_ORIENTATION_90R",
+                                "name": "90r",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_ORIENTATION_180",
+                                "name": "180",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_VIDEO_ORIENTATION_90L",
+                                "name": "90l",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_VIDEO_ORIENTATION_HORIZ",
+                                "name": "horiz",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_VIDEO_ORIENTATION_VERT",
+                                "name": "vert",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "GST_VIDEO_ORIENTATION_UL_LR",
+                                "name": "ul-lr",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "GST_VIDEO_ORIENTATION_UR_LL",
+                                "name": "ur-ll",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "GST_VIDEO_ORIENTATION_AUTO",
+                                "name": "auto",
+                                "value": "8"
+                            },
+                            {
+                                "desc": "GST_VIDEO_ORIENTATION_CUSTOM",
+                                "name": "custom",
+                                "value": "9"
+                            }
+                        ],
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "glviewconvert": {
+                "author": "Jan Schmidt <jan@centricular.com>\nMatthew Waters <matthew@centricular.com>",
+                "description": "Convert stereoscopic/multiview video formats",
+                "hierarchy": [
+                    "GstGLViewConvertElement",
+                    "GstGLFilter",
+                    "GstGLBaseFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter",
+                "long-name": "OpenGL Multiview/3D conversion filter",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:GLMemory):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n\nvideo/x-raw(ANY):\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "context": {
+                        "blurb": "Get OpenGL context",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstGLContext",
+                        "writable": false
+                    },
+                    "downmix-mode": {
+                        "blurb": "Output anaglyph type to generate when downmixing to mono",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "green-magenta-dubois (0)",
+                        "enum": true,
+                        "type-name": "GstGLStereoDownmix",
+                        "values": [
+                            {
+                                "desc": "GST_GL_STEREO_DOWNMIX_ANAGLYPH_GREEN_MAGENTA_DUBOIS",
+                                "name": "green-magenta-dubois",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_GL_STEREO_DOWNMIX_ANAGLYPH_RED_CYAN_DUBOIS",
+                                "name": "red-cyan-dubois",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_GL_STEREO_DOWNMIX_ANAGLYPH_AMBER_BLUE_DUBOIS",
+                                "name": "amber-blue-dubois",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "input-flags-override": {
+                        "blurb": "Override any input information about multiview layout flags",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none",
+                        "type-name": "GstVideoMultiviewFlags",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_NONE",
+                                "name": "none",
+                                "value": "0x00000000"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST",
+                                "name": "right-view-first",
+                                "value": "0x00000001"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED",
+                                "name": "left-flipped",
+                                "value": "0x00000002"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED",
+                                "name": "left-flopped",
+                                "value": "0x00000004"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED",
+                                "name": "right-flipped",
+                                "value": "0x00000008"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED",
+                                "name": "right-flopped",
+                                "value": "0x00000010"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT",
+                                "name": "half-aspect",
+                                "value": "0x00004000"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO",
+                                "name": "mixed-mono",
+                                "value": "0x00008000"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "input-mode-override": {
+                        "blurb": "Override any input information about multiview layout",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (-1)",
+                        "enum": true,
+                        "type-name": "GstVideoMultiviewFramePacking",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE",
+                                "name": "none",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO",
+                                "name": "mono",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT",
+                                "name": "left",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT",
+                                "name": "right",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE",
+                                "name": "side-by-side",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX",
+                                "name": "side-by-side-quincunx",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED",
+                                "name": "column-interleaved",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED",
+                                "name": "row-interleaved",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM",
+                                "name": "top-bottom",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD",
+                                "name": "checkerboard",
+                                "value": "8"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "output-flags-override": {
+                        "blurb": "Override automatic negotiation for output multiview layout flags",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none",
+                        "type-name": "GstVideoMultiviewFlags",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_NONE",
+                                "name": "none",
+                                "value": "0x00000000"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST",
+                                "name": "right-view-first",
+                                "value": "0x00000001"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED",
+                                "name": "left-flipped",
+                                "value": "0x00000002"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED",
+                                "name": "left-flopped",
+                                "value": "0x00000004"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED",
+                                "name": "right-flipped",
+                                "value": "0x00000008"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED",
+                                "name": "right-flopped",
+                                "value": "0x00000010"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT",
+                                "name": "half-aspect",
+                                "value": "0x00004000"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO",
+                                "name": "mixed-mono",
+                                "value": "0x00008000"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "output-mode-override": {
+                        "blurb": "Override automatic output mode selection for multiview layout",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (-1)",
+                        "enum": true,
+                        "type-name": "GstVideoMultiviewMode",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_NONE",
+                                "name": "none",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_MONO",
+                                "name": "mono",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_LEFT",
+                                "name": "left",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_RIGHT",
+                                "name": "right",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE",
+                                "name": "side-by-side",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX",
+                                "name": "side-by-side-quincunx",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED",
+                                "name": "column-interleaved",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED",
+                                "name": "row-interleaved",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM",
+                                "name": "top-bottom",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD",
+                                "name": "checkerboard",
+                                "value": "8"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME",
+                                "name": "frame-by-frame",
+                                "value": "32"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME",
+                                "name": "multiview-frame-by-frame",
+                                "value": "33"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_MODE_SEPARATED",
+                                "name": "separated",
+                                "value": "34"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgstopengl.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "opus": {
+        "description": "OPUS plugin library",
+        "elements": {
+            "opusdec": {
+                "author": "Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>",
+                "description": "decode opus streams to audio",
+                "hierarchy": [
+                    "GstOpusDec",
+                    "GstAudioDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Audio",
+                "long-name": "Opus audio decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-opus:\nchannel-mapping-family: 0\naudio/x-opus:\nchannel-mapping-family: [ 1, 255 ]\n       channels: [ 1, 255 ]\n   stream-count: [ 1, 255 ]\n  coupled-count: [ 0, 255 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: S16LE\n         layout: interleaved\n           rate: { (int)48000, (int)24000, (int)16000, (int)12000, (int)8000 }\n       channels: [ 1, 8 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "apply-gain": {
+                        "blurb": "Apply gain if any is specified in the header",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "min-latency": {
+                        "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "0",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "phase-inversion": {
+                        "blurb": "Set to true to enable phase inversion, this will slightly improve stereo quality, but will have side effects when downmixed to mono.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "plc": {
+                        "blurb": "Perform packet loss concealment (if supported)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "tolerance": {
+                        "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "0",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "use-inband-fec": {
+                        "blurb": "Use forward error correction if available (needs PLC enabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            },
+            "opusenc": {
+                "author": "Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>",
+                "description": "Encodes audio in Opus format",
+                "hierarchy": [
+                    "GstOpusEnc",
+                    "GstAudioEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Encoder/Audio",
+                "long-name": "Opus audio encoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-raw:\n         format: S16LE\n         layout: interleaved\n           rate: 48000\n       channels: [ 1, 8 ]\naudio/x-raw:\n         format: S16LE\n         layout: interleaved\n           rate: { (int)8000, (int)12000, (int)16000, (int)24000 }\n       channels: [ 1, 8 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-opus:\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "audio-type": {
+                        "blurb": "What type of audio to optimize for",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "generic (2049)",
+                        "enum": true,
+                        "type-name": "GstOpusEncAudioType",
+                        "values": [
+                            {
+                                "desc": "Generic audio",
+                                "name": "generic",
+                                "value": "2049"
+                            },
+                            {
+                                "desc": "Voice",
+                                "name": "voice",
+                                "value": "2048"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "bandwidth": {
+                        "blurb": "Audio Band Width",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "fullband (1105)",
+                        "enum": true,
+                        "type-name": "GstOpusEncBandwidth",
+                        "values": [
+                            {
+                                "desc": "Narrow band",
+                                "name": "narrowband",
+                                "value": "1101"
+                            },
+                            {
+                                "desc": "Medium band",
+                                "name": "mediumband",
+                                "value": "1102"
+                            },
+                            {
+                                "desc": "Wide band",
+                                "name": "wideband",
+                                "value": "1103"
+                            },
+                            {
+                                "desc": "Super wide band",
+                                "name": "superwideband",
+                                "value": "1104"
+                            },
+                            {
+                                "desc": "Full band",
+                                "name": "fullband",
+                                "value": "1105"
+                            },
+                            {
+                                "desc": "Auto",
+                                "name": "auto",
+                                "value": "-1000"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "bitrate": {
+                        "blurb": "Specify an encoding bit-rate (in bps).",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "64000",
+                        "max": "650000",
+                        "min": "4000",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "bitrate-type": {
+                        "blurb": "Bitrate type",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "cbr (0)",
+                        "enum": true,
+                        "type-name": "GstOpusEncBitrateType",
+                        "values": [
+                            {
+                                "desc": "CBR",
+                                "name": "cbr",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "VBR",
+                                "name": "vbr",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Constrained VBR",
+                                "name": "constrained-vbr",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "complexity": {
+                        "blurb": "Complexity",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "10",
+                        "max": "10",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "dtx": {
+                        "blurb": "DTX",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "frame-size": {
+                        "blurb": "The duration of an audio frame, in ms",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "20 (20)",
+                        "enum": true,
+                        "type-name": "GstOpusEncFrameSize",
+                        "values": [
+                            {
+                                "desc": "2.5",
+                                "name": "2.5",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "5",
+                                "name": "5",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "10",
+                                "name": "10",
+                                "value": "10"
+                            },
+                            {
+                                "desc": "20",
+                                "name": "20",
+                                "value": "20"
+                            },
+                            {
+                                "desc": "40",
+                                "name": "40",
+                                "value": "40"
+                            },
+                            {
+                                "desc": "60",
+                                "name": "60",
+                                "value": "60"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "hard-resync": {
+                        "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "inband-fec": {
+                        "blurb": "Enable forward error correction",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "mark-granule": {
+                        "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": false
+                    },
+                    "max-payload-size": {
+                        "blurb": "Maximum payload size in bytes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4000",
+                        "max": "4000",
+                        "min": "2",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "packet-loss-percentage": {
+                        "blurb": "Packet loss percentage",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "100",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "perfect-timestamp": {
+                        "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "tolerance": {
+                        "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "40000000",
+                        "max": "9223372036854775807",
+                        "min": "0",
+                        "type-name": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            }
+        },
+        "filename": "libgstopus.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "pango": {
+        "description": "Pango-based text rendering and overlay",
+        "elements": {
+            "clockoverlay": {
+                "author": "Tim-Philipp M\u00fcller <tim@centricular.net>",
+                "description": "Overlays the current clock time on a video stream",
+                "hierarchy": [
+                    "GstClockOverlay",
+                    "GstBaseTextOverlay",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Editor/Video",
+                "long-name": "Clock overlay",
+                "pad-templates": {
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { 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 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(ANY):\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    },
+                    "video_sink": {
+                        "caps": "video/x-raw:\n         format: { 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 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(ANY):\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "auto-resize": {
+                        "blurb": "Automatically adjust font size to screen-size.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "color": {
+                        "blurb": "Color to use for text (big-endian ARGB).",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "deltax": {
+                        "blurb": "Shift X position to the left or to the right. Unit is pixels.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "deltay": {
+                        "blurb": "Shift Y position up or down. Unit is pixels.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "draw-outline": {
+                        "blurb": "Whether to draw outline",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "draw-shadow": {
+                        "blurb": "Whether to draw shadow",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "font-desc": {
+                        "blurb": "Pango font description of font to be used for rendering. See documentation of pango_font_description_from_string for syntax.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "halignment": {
+                        "blurb": "Horizontal alignment of the text",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "left (0)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayHAlign",
+                        "values": [
+                            {
+                                "desc": "left",
+                                "name": "left",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "center",
+                                "name": "center",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "right",
+                                "name": "right",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "position",
+                                "name": "Absolute position clamped to canvas",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "absolute",
+                                "name": "Absolute position",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "line-alignment": {
+                        "blurb": "Alignment of text lines relative to each other.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "center (1)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayLineAlign",
+                        "values": [
+                            {
+                                "desc": "left",
+                                "name": "left",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "center",
+                                "name": "center",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "right",
+                                "name": "right",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "outline-color": {
+                        "blurb": "Color to use for outline the text (big-endian ARGB).",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-16777216",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "scale-mode": {
+                        "blurb": "Scale text to compensate for and avoid distortion by subsequent video scaling.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (0)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayScaleMode",
+                        "values": [
+                            {
+                                "desc": "none",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "par",
+                                "name": "par",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "display",
+                                "name": "display",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "user",
+                                "name": "user",
+                                "value": "3"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "scale-pixel-aspect-ratio": {
+                        "blurb": "Pixel aspect ratio of video scale to compensate for in user scale-mode",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1/1",
+                        "max": "100/1",
+                        "min": "1/100",
+                        "type-name": "GstFraction",
+                        "writable": true
+                    },
+                    "shaded-background": {
+                        "blurb": "Whether to shade the background under the text area",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "shading-value": {
+                        "blurb": "Shading value to apply if shaded-background is true",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "80",
+                        "max": "255",
+                        "min": "1",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "silent": {
+                        "blurb": "Whether to render the text string",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "text": {
+                        "blurb": "Text to be display.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "text-height": {
+                        "blurb": "Resulting height of font rendering",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": false
+                    },
+                    "text-width": {
+                        "blurb": "Resulting width of font rendering",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": false
+                    },
+                    "text-x": {
+                        "blurb": "Resulting X position of font rendering.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483647",
+                        "type-name": "gint",
+                        "writable": false
+                    },
+                    "text-y": {
+                        "blurb": "Resulting X position of font rendering.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483647",
+                        "type-name": "gint",
+                        "writable": false
+                    },
+                    "time-format": {
+                        "blurb": "Format to use for time and date value, as in strftime.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "%%H:%%M:%%S",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "valignment": {
+                        "blurb": "Vertical alignment of the text",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "top (2)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayVAlign",
+                        "values": [
+                            {
+                                "desc": "baseline",
+                                "name": "baseline",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "bottom",
+                                "name": "bottom",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "top",
+                                "name": "top",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "position",
+                                "name": "Absolute position clamped to canvas",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "center",
+                                "name": "center",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "absolute",
+                                "name": "Absolute position",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "vertical-render": {
+                        "blurb": "Vertical Render.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "wait-text": {
+                        "blurb": "Whether to wait for subtitles",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "wrap-mode": {
+                        "blurb": "Whether to wrap the text and if so how.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "wordchar (2)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayWrapMode",
+                        "values": [
+                            {
+                                "desc": "none",
+                                "name": "none",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "word",
+                                "name": "word",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "char",
+                                "name": "char",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "wordchar",
+                                "name": "wordchar",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "x-absolute": {
+                        "blurb": "Horizontal position when using absolute alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.5",
+                        "max": "1.79769e+308",
+                        "min": "-1.79769e+308",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "xpad": {
+                        "blurb": "Horizontal paddding when using left/right alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "25",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "xpos": {
+                        "blurb": "Horizontal position when using clamped position alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.5",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "y-absolute": {
+                        "blurb": "Vertical position when using absolute alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.5",
+                        "max": "1.79769e+308",
+                        "min": "-1.79769e+308",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "ypad": {
+                        "blurb": "Vertical padding when using top/bottom alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "25",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "ypos": {
+                        "blurb": "Vertical position when using clamped position alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.5",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "textoverlay": {
+                "author": "David Schleef <ds@schleef.org>, Zeeshan Ali <zeeshan.ali@nokia.com>",
+                "description": "Adds text strings on top of a video buffer",
+                "hierarchy": [
+                    "GstTextOverlay",
+                    "GstBaseTextOverlay",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Editor/Video",
+                "long-name": "Text overlay",
+                "pad-templates": {
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { 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 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(ANY):\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    },
+                    "text_sink": {
+                        "caps": "text/x-raw:\n         format: { pango-markup, utf8 }\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "video_sink": {
+                        "caps": "video/x-raw:\n         format: { 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 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(ANY):\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "auto-resize": {
+                        "blurb": "Automatically adjust font size to screen-size.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "color": {
+                        "blurb": "Color to use for text (big-endian ARGB).",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "deltax": {
+                        "blurb": "Shift X position to the left or to the right. Unit is pixels.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "deltay": {
+                        "blurb": "Shift Y position up or down. Unit is pixels.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "draw-outline": {
+                        "blurb": "Whether to draw outline",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "draw-shadow": {
+                        "blurb": "Whether to draw shadow",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "font-desc": {
+                        "blurb": "Pango font description of font to be used for rendering. See documentation of pango_font_description_from_string for syntax.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "halignment": {
+                        "blurb": "Horizontal alignment of the text",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "center (1)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayHAlign",
+                        "values": [
+                            {
+                                "desc": "left",
+                                "name": "left",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "center",
+                                "name": "center",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "right",
+                                "name": "right",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "position",
+                                "name": "Absolute position clamped to canvas",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "absolute",
+                                "name": "Absolute position",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "line-alignment": {
+                        "blurb": "Alignment of text lines relative to each other.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "center (1)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayLineAlign",
+                        "values": [
+                            {
+                                "desc": "left",
+                                "name": "left",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "center",
+                                "name": "center",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "right",
+                                "name": "right",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "outline-color": {
+                        "blurb": "Color to use for outline the text (big-endian ARGB).",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-16777216",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "scale-mode": {
+                        "blurb": "Scale text to compensate for and avoid distortion by subsequent video scaling.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (0)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayScaleMode",
+                        "values": [
+                            {
+                                "desc": "none",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "par",
+                                "name": "par",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "display",
+                                "name": "display",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "user",
+                                "name": "user",
+                                "value": "3"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "scale-pixel-aspect-ratio": {
+                        "blurb": "Pixel aspect ratio of video scale to compensate for in user scale-mode",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1/1",
+                        "max": "100/1",
+                        "min": "1/100",
+                        "type-name": "GstFraction",
+                        "writable": true
+                    },
+                    "shaded-background": {
+                        "blurb": "Whether to shade the background under the text area",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "shading-value": {
+                        "blurb": "Shading value to apply if shaded-background is true",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "80",
+                        "max": "255",
+                        "min": "1",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "silent": {
+                        "blurb": "Whether to render the text string",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "text": {
+                        "blurb": "Text to be display.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "text-height": {
+                        "blurb": "Resulting height of font rendering",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": false
+                    },
+                    "text-width": {
+                        "blurb": "Resulting width of font rendering",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": false
+                    },
+                    "text-x": {
+                        "blurb": "Resulting X position of font rendering.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483647",
+                        "type-name": "gint",
+                        "writable": false
+                    },
+                    "text-y": {
+                        "blurb": "Resulting X position of font rendering.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483647",
+                        "type-name": "gint",
+                        "writable": false
+                    },
+                    "valignment": {
+                        "blurb": "Vertical alignment of the text",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "baseline (0)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayVAlign",
+                        "values": [
+                            {
+                                "desc": "baseline",
+                                "name": "baseline",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "bottom",
+                                "name": "bottom",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "top",
+                                "name": "top",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "position",
+                                "name": "Absolute position clamped to canvas",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "center",
+                                "name": "center",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "absolute",
+                                "name": "Absolute position",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "vertical-render": {
+                        "blurb": "Vertical Render.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "wait-text": {
+                        "blurb": "Whether to wait for subtitles",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "wrap-mode": {
+                        "blurb": "Whether to wrap the text and if so how.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "wordchar (2)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayWrapMode",
+                        "values": [
+                            {
+                                "desc": "none",
+                                "name": "none",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "word",
+                                "name": "word",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "char",
+                                "name": "char",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "wordchar",
+                                "name": "wordchar",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "x-absolute": {
+                        "blurb": "Horizontal position when using absolute alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.5",
+                        "max": "1.79769e+308",
+                        "min": "-1.79769e+308",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "xpad": {
+                        "blurb": "Horizontal paddding when using left/right alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "25",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "xpos": {
+                        "blurb": "Horizontal position when using clamped position alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.5",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "y-absolute": {
+                        "blurb": "Vertical position when using absolute alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.5",
+                        "max": "1.79769e+308",
+                        "min": "-1.79769e+308",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "ypad": {
+                        "blurb": "Vertical padding when using top/bottom alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "25",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "ypos": {
+                        "blurb": "Vertical position when using clamped position alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.5",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "textrender": {
+                "author": "David Schleef <ds@schleef.org>, GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>",
+                "description": "Renders a text string to an image bitmap",
+                "hierarchy": [
+                    "GstTextRender",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Editor/Video",
+                "long-name": "Text renderer",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "text/x-raw:\n         format: { pango-markup, utf8 }\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { AYUV, ARGB }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "font-desc": {
+                        "blurb": "Pango font description of font to be used for rendering. See documentation of pango_font_description_from_string for syntax.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "halignment": {
+                        "blurb": "Horizontal alignment of the text",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "center (1)",
+                        "enum": true,
+                        "type-name": "GstTextRenderHAlign",
+                        "values": [
+                            {
+                                "desc": "left",
+                                "name": "left",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "center",
+                                "name": "center",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "right",
+                                "name": "right",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "line-alignment": {
+                        "blurb": "Alignment of text lines relative to each other.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "center (1)",
+                        "enum": true,
+                        "type-name": "GstTextRenderLineAlign",
+                        "values": [
+                            {
+                                "desc": "left",
+                                "name": "left",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "center",
+                                "name": "center",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "right",
+                                "name": "right",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "valignment": {
+                        "blurb": "Vertical alignment of the text",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "baseline (0)",
+                        "enum": true,
+                        "type-name": "GstTextRenderVAlign",
+                        "values": [
+                            {
+                                "desc": "baseline",
+                                "name": "baseline",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "bottom",
+                                "name": "bottom",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "top",
+                                "name": "top",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "xpad": {
+                        "blurb": "Horizontal paddding when using left/right alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "25",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "ypad": {
+                        "blurb": "Vertical padding when using top/bottom alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "25",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "timeoverlay": {
+                "author": "Tim-Philipp M\u00fcller <tim@centricular.net>",
+                "description": "Overlays buffer time stamps on a video stream",
+                "hierarchy": [
+                    "GstTimeOverlay",
+                    "GstBaseTextOverlay",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Editor/Video",
+                "long-name": "Time overlay",
+                "pad-templates": {
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { 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 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(ANY):\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    },
+                    "video_sink": {
+                        "caps": "video/x-raw:\n         format: { 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 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(ANY):\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "auto-resize": {
+                        "blurb": "Automatically adjust font size to screen-size.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "color": {
+                        "blurb": "Color to use for text (big-endian ARGB).",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "deltax": {
+                        "blurb": "Shift X position to the left or to the right. Unit is pixels.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "deltay": {
+                        "blurb": "Shift Y position up or down. Unit is pixels.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "draw-outline": {
+                        "blurb": "Whether to draw outline",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "draw-shadow": {
+                        "blurb": "Whether to draw shadow",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "font-desc": {
+                        "blurb": "Pango font description of font to be used for rendering. See documentation of pango_font_description_from_string for syntax.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "halignment": {
+                        "blurb": "Horizontal alignment of the text",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "left (0)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayHAlign",
+                        "values": [
+                            {
+                                "desc": "left",
+                                "name": "left",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "center",
+                                "name": "center",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "right",
+                                "name": "right",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "position",
+                                "name": "Absolute position clamped to canvas",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "absolute",
+                                "name": "Absolute position",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "line-alignment": {
+                        "blurb": "Alignment of text lines relative to each other.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "center (1)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayLineAlign",
+                        "values": [
+                            {
+                                "desc": "left",
+                                "name": "left",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "center",
+                                "name": "center",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "right",
+                                "name": "right",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "outline-color": {
+                        "blurb": "Color to use for outline the text (big-endian ARGB).",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-16777216",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "scale-mode": {
+                        "blurb": "Scale text to compensate for and avoid distortion by subsequent video scaling.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (0)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayScaleMode",
+                        "values": [
+                            {
+                                "desc": "none",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "par",
+                                "name": "par",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "display",
+                                "name": "display",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "user",
+                                "name": "user",
+                                "value": "3"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "scale-pixel-aspect-ratio": {
+                        "blurb": "Pixel aspect ratio of video scale to compensate for in user scale-mode",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1/1",
+                        "max": "100/1",
+                        "min": "1/100",
+                        "type-name": "GstFraction",
+                        "writable": true
+                    },
+                    "shaded-background": {
+                        "blurb": "Whether to shade the background under the text area",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "shading-value": {
+                        "blurb": "Shading value to apply if shaded-background is true",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "80",
+                        "max": "255",
+                        "min": "1",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "silent": {
+                        "blurb": "Whether to render the text string",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "text": {
+                        "blurb": "Text to be display.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "text-height": {
+                        "blurb": "Resulting height of font rendering",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": false
+                    },
+                    "text-width": {
+                        "blurb": "Resulting width of font rendering",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": false
+                    },
+                    "text-x": {
+                        "blurb": "Resulting X position of font rendering.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483647",
+                        "type-name": "gint",
+                        "writable": false
+                    },
+                    "text-y": {
+                        "blurb": "Resulting X position of font rendering.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483647",
+                        "type-name": "gint",
+                        "writable": false
+                    },
+                    "time-mode": {
+                        "blurb": "What time to show",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "buffer-time (0)",
+                        "enum": true,
+                        "type-name": "GstTimeOverlayTimeLine",
+                        "values": [
+                            {
+                                "desc": "buffer-time",
+                                "name": "buffer-time",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "stream-time",
+                                "name": "stream-time",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "running-time",
+                                "name": "running-time",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "time-code",
+                                "name": "time-code",
+                                "value": "3"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "valignment": {
+                        "blurb": "Vertical alignment of the text",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "top (2)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayVAlign",
+                        "values": [
+                            {
+                                "desc": "baseline",
+                                "name": "baseline",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "bottom",
+                                "name": "bottom",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "top",
+                                "name": "top",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "position",
+                                "name": "Absolute position clamped to canvas",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "center",
+                                "name": "center",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "absolute",
+                                "name": "Absolute position",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "vertical-render": {
+                        "blurb": "Vertical Render.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "wait-text": {
+                        "blurb": "Whether to wait for subtitles",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "wrap-mode": {
+                        "blurb": "Whether to wrap the text and if so how.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "wordchar (2)",
+                        "enum": true,
+                        "type-name": "GstBaseTextOverlayWrapMode",
+                        "values": [
+                            {
+                                "desc": "none",
+                                "name": "none",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "word",
+                                "name": "word",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "char",
+                                "name": "char",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "wordchar",
+                                "name": "wordchar",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "x-absolute": {
+                        "blurb": "Horizontal position when using absolute alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.5",
+                        "max": "1.79769e+308",
+                        "min": "-1.79769e+308",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "xpad": {
+                        "blurb": "Horizontal paddding when using left/right alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "25",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "xpos": {
+                        "blurb": "Horizontal position when using clamped position alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.5",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "y-absolute": {
+                        "blurb": "Vertical position when using absolute alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.5",
+                        "max": "1.79769e+308",
+                        "min": "-1.79769e+308",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "ypad": {
+                        "blurb": "Vertical padding when using top/bottom alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "25",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "ypos": {
+                        "blurb": "Vertical position when using clamped position alignment",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.5",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgstpango.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "pbtypes": {
+        "description": "gst-plugins-base dynamic types",
+        "elements": {},
+        "filename": "libgstpbtypes.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "playback": {
+        "description": "various playback elements",
+        "elements": {
+            "decodebin": {
+                "author": "Edward Hervey <edward.hervey@collabora.co.uk>, Sebastian Dr\u00f6ge <sebastian.droege@collabora.co.uk>",
+                "description": "Autoplug and decode to raw media",
+                "hierarchy": [
+                    "GstDecodeBin",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Bin/Decoder",
+                "long-name": "Decoder Bin",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src_%%u": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    }
+                },
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "caps": {
+                        "blurb": "The caps on which to stop decoding.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708",
+                        "type-name": "GstCaps",
+                        "writable": true
+                    },
+                    "connection-speed": {
+                        "blurb": "Network connection speed in kbps (0 = unknown)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "expose-all-streams": {
+                        "blurb": "Expose all streams, including those of unknown type or that don't match the 'caps' property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "high-percent": {
+                        "blurb": "High threshold for buffering to finish",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "99",
+                        "max": "100",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "low-percent": {
+                        "blurb": "Low threshold for buffering to start",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "10",
+                        "max": "100",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "max-size-buffers": {
+                        "blurb": "Max. number of buffers in the queue (0=automatic)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "max-size-bytes": {
+                        "blurb": "Max. amount of bytes in the queue (0=automatic)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "max-size-time": {
+                        "blurb": "Max. amount of data in the queue (in ns, 0=automatic)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "post-stream-topology": {
+                        "blurb": "Post stream-topology messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "sink-caps": {
+                        "blurb": "The caps of the input data. (NULL = use typefind element)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "ANY",
+                        "type-name": "GstCaps",
+                        "writable": true
+                    },
+                    "subtitle-encoding": {
+                        "blurb": "Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "use-buffering": {
+                        "blurb": "Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "autoplug-continue": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps"
+                        ],
+                        "retval": "gboolean"
+                    },
+                    "autoplug-factories": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps"
+                        ],
+                        "retval": "GValueArray"
+                    },
+                    "autoplug-query": {
+                        "args": [
+                            "GstPad",
+                            "GstElement",
+                            "GstQuery"
+                        ],
+                        "retval": "gboolean"
+                    },
+                    "autoplug-select": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps",
+                            "GstElementFactory"
+                        ],
+                        "return-values": [
+                            {
+                                "desc": "GST_AUTOPLUG_SELECT_TRY",
+                                "name": "try",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_AUTOPLUG_SELECT_EXPOSE",
+                                "name": "expose",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_AUTOPLUG_SELECT_SKIP",
+                                "name": "skip",
+                                "value": "2"
+                            }
+                        ],
+                        "retval": "GstAutoplugSelectResult"
+                    },
+                    "autoplug-sort": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps",
+                            "GValueArray"
+                        ],
+                        "retval": "GValueArray"
+                    },
+                    "drained": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "no-more-pads": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "pad-added": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "pad-removed": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "unknown-type": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            },
+            "decodebin3": {
+                "author": "Edward Hervey <edward@centricular.com>",
+                "description": "Autoplug and decode to raw media",
+                "hierarchy": [
+                    "GstDecodebin3",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Bin/Decoder",
+                "long-name": "Decoder Bin 3",
+                "pad-templates": {
+                    "audio_%%u": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    },
+                    "sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "sink_%%u": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "request"
+                    },
+                    "src_%%u": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    },
+                    "text_%%u": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    },
+                    "video_%%u": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    }
+                },
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "caps": {
+                        "blurb": "The caps on which to stop decoding. (NULL = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708",
+                        "type-name": "GstCaps",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "about-to-finish": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "no-more-pads": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "pad-added": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "pad-removed": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "select-stream": {
+                        "args": [
+                            "GstStreamCollection",
+                            "GstStream"
+                        ],
+                        "retval": "gint"
+                    }
+                }
+            },
+            "parsebin": {
+                "author": "Jan Schmidt <jan@centricular.com>, Edward Hervey <edward@centricular.com>",
+                "description": "Parse and de-multiplex to elementary stream",
+                "hierarchy": [
+                    "GstParseBin",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Bin/Parser",
+                "long-name": "Parse Bin",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src_%%u": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    }
+                },
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "connection-speed": {
+                        "blurb": "Network connection speed in kbps (0 = unknown)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "expose-all-streams": {
+                        "blurb": "Expose all streams, including those of unknown type or that don't match the 'caps' property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "sink-caps": {
+                        "blurb": "The caps of the input data. (NULL = use typefind element)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "ANY",
+                        "type-name": "GstCaps",
+                        "writable": true
+                    },
+                    "subtitle-encoding": {
+                        "blurb": "Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "autoplug-continue": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps"
+                        ],
+                        "retval": "gboolean"
+                    },
+                    "autoplug-factories": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps"
+                        ],
+                        "retval": "GValueArray"
+                    },
+                    "autoplug-query": {
+                        "args": [
+                            "GstPad",
+                            "GstElement",
+                            "GstQuery"
+                        ],
+                        "retval": "gboolean"
+                    },
+                    "autoplug-select": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps",
+                            "GstElementFactory"
+                        ],
+                        "return-values": [
+                            {
+                                "desc": "GST_AUTOPLUG_SELECT_TRY",
+                                "name": "try",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_AUTOPLUG_SELECT_EXPOSE",
+                                "name": "expose",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_AUTOPLUG_SELECT_SKIP",
+                                "name": "skip",
+                                "value": "2"
+                            }
+                        ],
+                        "retval": "GstAutoplugSelectResult"
+                    },
+                    "autoplug-sort": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps",
+                            "GValueArray"
+                        ],
+                        "retval": "GValueArray"
+                    },
+                    "drained": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "no-more-pads": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "pad-added": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "pad-removed": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "unknown-type": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            },
+            "playbin": {
+                "author": "Wim Taymans <wim.taymans@gmail.com>",
+                "description": "Autoplug and play media from an uri",
+                "hierarchy": [
+                    "GstPlayBin",
+                    "GstPipeline",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Bin/Player",
+                "long-name": "Player Bin 2",
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "audio-filter": {
+                        "blurb": "the audio filter(s) to apply, if possible",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "audio-sink": {
+                        "blurb": "the audio output element to use (NULL = default sink)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "audio-stream-combiner": {
+                        "blurb": "Current audio stream combiner (NULL = input-selector)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "auto-flush-bus": {
+                        "blurb": "Whether to automatically flush the pipeline's bus when going from READY into NULL state",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "av-offset": {
+                        "blurb": "The synchronisation offset between audio and video in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "buffer-duration": {
+                        "blurb": "Buffer duration when buffering network streams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "buffer-size": {
+                        "blurb": "Buffer size when buffering network streams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "connection-speed": {
+                        "blurb": "Network connection speed in kbps (0 = unknown)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "current-audio": {
+                        "blurb": "Currently playing audio stream (-1 = auto)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "current-suburi": {
+                        "blurb": "The currently playing URI of a subtitle",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": false
+                    },
+                    "current-text": {
+                        "blurb": "Currently playing text stream (-1 = auto)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "current-uri": {
+                        "blurb": "The currently playing URI",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": false
+                    },
+                    "current-video": {
+                        "blurb": "Currently playing video stream (-1 = auto)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "delay": {
+                        "blurb": "Expected delay needed for elements to spin up to PLAYING in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "flags": {
+                        "blurb": "Flags to control behaviour",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "soft-colorbalance+deinterlace+soft-volume+text+audio+video",
+                        "type-name": "GstPlayFlags",
+                        "values": [
+                            {
+                                "desc": "Render the video stream",
+                                "name": "video",
+                                "value": "0x00000001"
+                            },
+                            {
+                                "desc": "Render the audio stream",
+                                "name": "audio",
+                                "value": "0x00000002"
+                            },
+                            {
+                                "desc": "Render subtitles",
+                                "name": "text",
+                                "value": "0x00000004"
+                            },
+                            {
+                                "desc": "Render visualisation when no video is present",
+                                "name": "vis",
+                                "value": "0x00000008"
+                            },
+                            {
+                                "desc": "Use software volume",
+                                "name": "soft-volume",
+                                "value": "0x00000010"
+                            },
+                            {
+                                "desc": "Only use native audio formats",
+                                "name": "native-audio",
+                                "value": "0x00000020"
+                            },
+                            {
+                                "desc": "Only use native video formats",
+                                "name": "native-video",
+                                "value": "0x00000040"
+                            },
+                            {
+                                "desc": "Attempt progressive download buffering",
+                                "name": "download",
+                                "value": "0x00000080"
+                            },
+                            {
+                                "desc": "Buffer demuxed/parsed data",
+                                "name": "buffering",
+                                "value": "0x00000100"
+                            },
+                            {
+                                "desc": "Deinterlace video if necessary",
+                                "name": "deinterlace",
+                                "value": "0x00000200"
+                            },
+                            {
+                                "desc": "Use software color balance",
+                                "name": "soft-colorbalance",
+                                "value": "0x00000400"
+                            },
+                            {
+                                "desc": "Force audio/video filter(s) to be applied",
+                                "name": "force-filters",
+                                "value": "0x00000800"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "force-aspect-ratio": {
+                        "blurb": "When enabled, scaling will respect original aspect ratio",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "latency": {
+                        "blurb": "Latency to configure on the pipeline",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "mute": {
+                        "blurb": "Mute the audio channel without changing the volume",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "n-audio": {
+                        "blurb": "Total number of audio streams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": false
+                    },
+                    "n-text": {
+                        "blurb": "Total number of text streams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": false
+                    },
+                    "n-video": {
+                        "blurb": "Total number of video streams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": false
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "ring-buffer-max-size": {
+                        "blurb": "Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "4294967295",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "sample": {
+                        "blurb": "The last sample (NULL = no video available)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "source": {
+                        "blurb": "Source element",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": false
+                    },
+                    "subtitle-encoding": {
+                        "blurb": "Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "subtitle-font-desc": {
+                        "blurb": "Pango font description of font to be used for subtitle rendering",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "suburi": {
+                        "blurb": "Optional URI of a subtitle",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "text-offset": {
+                        "blurb": "The synchronisation offset between text and video in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "text-sink": {
+                        "blurb": "the text output element to use (NULL = default subtitleoverlay)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "text-stream-combiner": {
+                        "blurb": "Current text stream combiner (NULL = input-selector)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "uri": {
+                        "blurb": "URI of the media to play",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "video-filter": {
+                        "blurb": "the video filter(s) to apply, if possible",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "video-multiview-flags": {
+                        "blurb": "Override details of the multiview frame layout",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none",
+                        "type-name": "GstVideoMultiviewFlags",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_NONE",
+                                "name": "none",
+                                "value": "0x00000000"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST",
+                                "name": "right-view-first",
+                                "value": "0x00000001"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED",
+                                "name": "left-flipped",
+                                "value": "0x00000002"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED",
+                                "name": "left-flopped",
+                                "value": "0x00000004"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED",
+                                "name": "right-flipped",
+                                "value": "0x00000008"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED",
+                                "name": "right-flopped",
+                                "value": "0x00000010"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT",
+                                "name": "half-aspect",
+                                "value": "0x00004000"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO",
+                                "name": "mixed-mono",
+                                "value": "0x00008000"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "video-multiview-mode": {
+                        "blurb": "Re-interpret a video stream as one of several frame-packed stereoscopic modes.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (-1)",
+                        "enum": true,
+                        "type-name": "GstVideoMultiviewFramePacking",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE",
+                                "name": "none",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO",
+                                "name": "mono",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT",
+                                "name": "left",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT",
+                                "name": "right",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE",
+                                "name": "side-by-side",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX",
+                                "name": "side-by-side-quincunx",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED",
+                                "name": "column-interleaved",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED",
+                                "name": "row-interleaved",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM",
+                                "name": "top-bottom",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD",
+                                "name": "checkerboard",
+                                "value": "8"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "video-sink": {
+                        "blurb": "the video output element to use (NULL = default sink)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "video-stream-combiner": {
+                        "blurb": "Current video stream combiner (NULL = input-selector)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "vis-plugin": {
+                        "blurb": "the visualization element to use (NULL = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "volume": {
+                        "blurb": "The audio volume, 1.0=100%%",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "10",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "about-to-finish": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "audio-changed": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "audio-tags-changed": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "void"
+                    },
+                    "convert-sample": {
+                        "args": [
+                            "GstCaps"
+                        ],
+                        "retval": "GstSample"
+                    },
+                    "element-setup": {
+                        "args": [
+                            "GstElement"
+                        ],
+                        "retval": "void"
+                    },
+                    "get-audio-pad": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "GstPad"
+                    },
+                    "get-audio-tags": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "GstTagList"
+                    },
+                    "get-text-pad": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "GstPad"
+                    },
+                    "get-text-tags": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "GstTagList"
+                    },
+                    "get-video-pad": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "GstPad"
+                    },
+                    "get-video-tags": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "GstTagList"
+                    },
+                    "source-setup": {
+                        "args": [
+                            "GstElement"
+                        ],
+                        "retval": "void"
+                    },
+                    "text-changed": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "text-tags-changed": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "void"
+                    },
+                    "video-changed": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "video-tags-changed": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            },
+            "playbin3": {
+                "author": "Wim Taymans <wim.taymans@gmail.com>",
+                "description": "Autoplug and play media from an uri",
+                "hierarchy": [
+                    "GstPlayBin3",
+                    "GstPipeline",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Bin/Player",
+                "long-name": "Player Bin 3",
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "audio-filter": {
+                        "blurb": "the audio filter(s) to apply, if possible",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "audio-sink": {
+                        "blurb": "the audio output element to use (NULL = default sink)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "audio-stream-combiner": {
+                        "blurb": "Current audio stream combiner (default: none))",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "auto-flush-bus": {
+                        "blurb": "Whether to automatically flush the pipeline's bus when going from READY into NULL state",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "av-offset": {
+                        "blurb": "The synchronisation offset between audio and video in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "buffer-duration": {
+                        "blurb": "Buffer duration when buffering network streams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "buffer-size": {
+                        "blurb": "Buffer size when buffering network streams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "connection-speed": {
+                        "blurb": "Network connection speed in kbps (0 = unknown)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "current-suburi": {
+                        "blurb": "The currently playing URI of a subtitle",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": false
+                    },
+                    "current-uri": {
+                        "blurb": "The currently playing URI",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": false
+                    },
+                    "delay": {
+                        "blurb": "Expected delay needed for elements to spin up to PLAYING in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "flags": {
+                        "blurb": "Flags to control behaviour",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "soft-colorbalance+deinterlace+buffering+soft-volume+text+audio+video",
+                        "type-name": "GstPlayFlags",
+                        "values": [
+                            {
+                                "desc": "Render the video stream",
+                                "name": "video",
+                                "value": "0x00000001"
+                            },
+                            {
+                                "desc": "Render the audio stream",
+                                "name": "audio",
+                                "value": "0x00000002"
+                            },
+                            {
+                                "desc": "Render subtitles",
+                                "name": "text",
+                                "value": "0x00000004"
+                            },
+                            {
+                                "desc": "Render visualisation when no video is present",
+                                "name": "vis",
+                                "value": "0x00000008"
+                            },
+                            {
+                                "desc": "Use software volume",
+                                "name": "soft-volume",
+                                "value": "0x00000010"
+                            },
+                            {
+                                "desc": "Only use native audio formats",
+                                "name": "native-audio",
+                                "value": "0x00000020"
+                            },
+                            {
+                                "desc": "Only use native video formats",
+                                "name": "native-video",
+                                "value": "0x00000040"
+                            },
+                            {
+                                "desc": "Attempt progressive download buffering",
+                                "name": "download",
+                                "value": "0x00000080"
+                            },
+                            {
+                                "desc": "Buffer demuxed/parsed data",
+                                "name": "buffering",
+                                "value": "0x00000100"
+                            },
+                            {
+                                "desc": "Deinterlace video if necessary",
+                                "name": "deinterlace",
+                                "value": "0x00000200"
+                            },
+                            {
+                                "desc": "Use software color balance",
+                                "name": "soft-colorbalance",
+                                "value": "0x00000400"
+                            },
+                            {
+                                "desc": "Force audio/video filter(s) to be applied",
+                                "name": "force-filters",
+                                "value": "0x00000800"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "force-aspect-ratio": {
+                        "blurb": "When enabled, scaling will respect original aspect ratio",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "latency": {
+                        "blurb": "Latency to configure on the pipeline",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "mute": {
+                        "blurb": "Mute the audio channel without changing the volume",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "ring-buffer-max-size": {
+                        "blurb": "Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "4294967295",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "sample": {
+                        "blurb": "The last sample (NULL = no video available)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "subtitle-encoding": {
+                        "blurb": "Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "subtitle-font-desc": {
+                        "blurb": "Pango font description of font to be used for subtitle rendering",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "suburi": {
+                        "blurb": "Optional URI of a subtitle",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "text-offset": {
+                        "blurb": "The synchronisation offset between text and video in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "text-sink": {
+                        "blurb": "the text output element to use (NULL = default subtitleoverlay)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "text-stream-combiner": {
+                        "blurb": "Current text stream combiner (default: none)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "uri": {
+                        "blurb": "URI of the media to play",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "video-filter": {
+                        "blurb": "the video filter(s) to apply, if possible",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "video-multiview-flags": {
+                        "blurb": "Override details of the multiview frame layout",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none",
+                        "type-name": "GstVideoMultiviewFlags",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_NONE",
+                                "name": "none",
+                                "value": "0x00000000"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST",
+                                "name": "right-view-first",
+                                "value": "0x00000001"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED",
+                                "name": "left-flipped",
+                                "value": "0x00000002"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED",
+                                "name": "left-flopped",
+                                "value": "0x00000004"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED",
+                                "name": "right-flipped",
+                                "value": "0x00000008"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED",
+                                "name": "right-flopped",
+                                "value": "0x00000010"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT",
+                                "name": "half-aspect",
+                                "value": "0x00004000"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO",
+                                "name": "mixed-mono",
+                                "value": "0x00008000"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "video-multiview-mode": {
+                        "blurb": "Re-interpret a video stream as one of several frame-packed stereoscopic modes.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (-1)",
+                        "enum": true,
+                        "type-name": "GstVideoMultiviewFramePacking",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE",
+                                "name": "none",
+                                "value": "-1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO",
+                                "name": "mono",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT",
+                                "name": "left",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT",
+                                "name": "right",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE",
+                                "name": "side-by-side",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX",
+                                "name": "side-by-side-quincunx",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED",
+                                "name": "column-interleaved",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED",
+                                "name": "row-interleaved",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM",
+                                "name": "top-bottom",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD",
+                                "name": "checkerboard",
+                                "value": "8"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "video-sink": {
+                        "blurb": "the video output element to use (NULL = default sink)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "video-stream-combiner": {
+                        "blurb": "Current video stream combiner (default: none)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "vis-plugin": {
+                        "blurb": "the visualization element to use (NULL = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "volume": {
+                        "blurb": "The audio volume, 1.0=100%%",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "10",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "about-to-finish": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "convert-sample": {
+                        "args": [
+                            "GstCaps"
+                        ],
+                        "retval": "GstSample"
+                    },
+                    "element-setup": {
+                        "args": [
+                            "GstElement"
+                        ],
+                        "retval": "void"
+                    },
+                    "source-setup": {
+                        "args": [
+                            "GstElement"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            },
+            "playsink": {
+                "author": "Wim Taymans <wim.taymans@gmail.com>",
+                "description": "Convenience sink for multiple streams",
+                "hierarchy": [
+                    "GstPlaySink",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Bin/Sink",
+                "long-name": "Player Sink",
+                "pad-templates": {
+                    "audio_raw_sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "request"
+                    },
+                    "audio_sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "request"
+                    },
+                    "text_sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "request"
+                    },
+                    "video_raw_sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "request"
+                    },
+                    "video_sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "request"
+                    }
+                },
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "audio-filter": {
+                        "blurb": "the audio filter(s) to apply, if possible",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "audio-sink": {
+                        "blurb": "the audio output element to use (NULL = default sink)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "av-offset": {
+                        "blurb": "The synchronisation offset between audio and video in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "flags": {
+                        "blurb": "Flags to control behaviour",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "soft-colorbalance+soft-volume+text+audio+video",
+                        "type-name": "GstPlayFlags",
+                        "values": [
+                            {
+                                "desc": "Render the video stream",
+                                "name": "video",
+                                "value": "0x00000001"
+                            },
+                            {
+                                "desc": "Render the audio stream",
+                                "name": "audio",
+                                "value": "0x00000002"
+                            },
+                            {
+                                "desc": "Render subtitles",
+                                "name": "text",
+                                "value": "0x00000004"
+                            },
+                            {
+                                "desc": "Render visualisation when no video is present",
+                                "name": "vis",
+                                "value": "0x00000008"
+                            },
+                            {
+                                "desc": "Use software volume",
+                                "name": "soft-volume",
+                                "value": "0x00000010"
+                            },
+                            {
+                                "desc": "Only use native audio formats",
+                                "name": "native-audio",
+                                "value": "0x00000020"
+                            },
+                            {
+                                "desc": "Only use native video formats",
+                                "name": "native-video",
+                                "value": "0x00000040"
+                            },
+                            {
+                                "desc": "Attempt progressive download buffering",
+                                "name": "download",
+                                "value": "0x00000080"
+                            },
+                            {
+                                "desc": "Buffer demuxed/parsed data",
+                                "name": "buffering",
+                                "value": "0x00000100"
+                            },
+                            {
+                                "desc": "Deinterlace video if necessary",
+                                "name": "deinterlace",
+                                "value": "0x00000200"
+                            },
+                            {
+                                "desc": "Use software color balance",
+                                "name": "soft-colorbalance",
+                                "value": "0x00000400"
+                            },
+                            {
+                                "desc": "Force audio/video filter(s) to be applied",
+                                "name": "force-filters",
+                                "value": "0x00000800"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "force-aspect-ratio": {
+                        "blurb": "When enabled, scaling will respect original aspect ratio",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "mute": {
+                        "blurb": "Mute the audio channel without changing the volume",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "sample": {
+                        "blurb": "The last sample (NULL = no video available)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "send-event-mode": {
+                        "blurb": "How to send events received in send_event function",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "default (0)",
+                        "enum": true,
+                        "type-name": "GstPlaySinkSendEventMode",
+                        "values": [
+                            {
+                                "desc": "Default GstBin's send_event handling (default)",
+                                "name": "default",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Sends the event to sinks until the first one handles it",
+                                "name": "first",
+                                "value": "1"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "subtitle-encoding": {
+                        "blurb": "Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "subtitle-font-desc": {
+                        "blurb": "Pango font description of font to be used for subtitle rendering",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "text-offset": {
+                        "blurb": "The synchronisation offset between text and video in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "text-sink": {
+                        "blurb": "the text output element to use (NULL = default subtitleoverlay)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "video-filter": {
+                        "blurb": "the video filter(s) to apply, if possible",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "video-sink": {
+                        "blurb": "the video output element to use (NULL = default sink)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "vis-plugin": {
+                        "blurb": "the visualization element to use (NULL = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": true
+                    },
+                    "volume": {
+                        "blurb": "The audio volume, 1.0=100%%",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "10",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "convert-sample": {
+                        "args": [
+                            "GstCaps"
+                        ],
+                        "retval": "GstSample"
+                    },
+                    "reconfigure": {
+                        "args": [],
+                        "retval": "gboolean"
+                    }
+                }
+            },
+            "streamsynchronizer": {
+                "author": "Sebastian Dr\u00f6ge <sebastian.droege@collabora.co.uk>",
+                "description": "Synchronizes a group of streams to have equal durations and starting points",
+                "hierarchy": [
+                    "GstStreamSynchronizer",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic",
+                "long-name": "Stream Synchronizer",
+                "pad-templates": {
+                    "sink_%%u": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "request"
+                    },
+                    "src_%%u": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "no-more-pads": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "pad-added": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "pad-removed": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            },
+            "subtitleoverlay": {
+                "author": "Sebastian Dr\u00f6ge <sebastian.droege@collabora.co.uk>",
+                "description": "Overlays a video stream with subtitles",
+                "hierarchy": [
+                    "GstSubtitleOverlay",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Video/Overlay/Subtitle",
+                "long-name": "Subtitle Overlay",
+                "pad-templates": {
+                    "src": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "always"
+                    },
+                    "subtitle_sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "video_sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "font-desc": {
+                        "blurb": "Pango font description of font to be used for subtitle rendering",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "silent": {
+                        "blurb": "Whether to show subtitles",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "subtitle-encoding": {
+                        "blurb": "Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "subtitle-ts-offset": {
+                        "blurb": "The synchronisation offset between text and video in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "uridecodebin": {
+                "author": "Wim Taymans <wim.taymans@gmail.com>",
+                "description": "Autoplug and decode an URI to raw media",
+                "hierarchy": [
+                    "GstURIDecodeBin",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Bin/Decoder",
+                "long-name": "URI Decoder",
+                "pad-templates": {
+                    "src_%%u": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    }
+                },
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "buffer-duration": {
+                        "blurb": "Buffer duration when buffering streams (-1 default value)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "buffer-size": {
+                        "blurb": "Buffer size when buffering streams (-1 default value)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "caps": {
+                        "blurb": "The caps on which to stop decoding. (NULL = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708",
+                        "type-name": "GstCaps",
+                        "writable": true
+                    },
+                    "connection-speed": {
+                        "blurb": "Network connection speed in kbps (0 = unknown)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "download": {
+                        "blurb": "Attempt download buffering when buffering network streams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "expose-all-streams": {
+                        "blurb": "Expose all streams, including those of unknown type or that don't match the 'caps' property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "ring-buffer-max-size": {
+                        "blurb": "Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "4294967295",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "source": {
+                        "blurb": "Source object used",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": false
+                    },
+                    "subtitle-encoding": {
+                        "blurb": "Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "uri": {
+                        "blurb": "URI to decode",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "use-buffering": {
+                        "blurb": "Perform buffering on demuxed/parsed media",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "autoplug-continue": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps"
+                        ],
+                        "retval": "gboolean"
+                    },
+                    "autoplug-factories": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps"
+                        ],
+                        "retval": "GValueArray"
+                    },
+                    "autoplug-query": {
+                        "args": [
+                            "GstPad",
+                            "GstElement",
+                            "GstQuery"
+                        ],
+                        "retval": "gboolean"
+                    },
+                    "autoplug-select": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps",
+                            "GstElementFactory"
+                        ],
+                        "return-values": [
+                            {
+                                "desc": "GST_AUTOPLUG_SELECT_TRY",
+                                "name": "try",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_AUTOPLUG_SELECT_EXPOSE",
+                                "name": "expose",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_AUTOPLUG_SELECT_SKIP",
+                                "name": "skip",
+                                "value": "2"
+                            }
+                        ],
+                        "retval": "GstAutoplugSelectResult"
+                    },
+                    "autoplug-sort": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps",
+                            "GValueArray"
+                        ],
+                        "retval": "GValueArray"
+                    },
+                    "drained": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "no-more-pads": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "pad-added": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "pad-removed": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "source-setup": {
+                        "args": [
+                            "GstElement"
+                        ],
+                        "retval": "void"
+                    },
+                    "unknown-type": {
+                        "args": [
+                            "GstPad",
+                            "GstCaps"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            },
+            "uridecodebin3": {
+                "author": "Edward Hervey <edward@centricular.com>, Jan Schmidt <jan@centricular.com>",
+                "description": "Autoplug and decode an URI to raw media",
+                "hierarchy": [
+                    "GstURIDecodeBin3",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Bin/Decoder",
+                "long-name": "URI Decoder",
+                "pad-templates": {
+                    "audio_%%u": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    },
+                    "src_%%u": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    },
+                    "text_%%u": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    },
+                    "video_%%u": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    }
+                },
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "buffer-duration": {
+                        "blurb": "Buffer duration when buffering streams (-1 default value)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "buffer-size": {
+                        "blurb": "Buffer size when buffering streams (-1 default value)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "caps": {
+                        "blurb": "The caps on which to stop decoding. (NULL = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708",
+                        "type-name": "GstCaps",
+                        "writable": true
+                    },
+                    "connection-speed": {
+                        "blurb": "Network connection speed in kbps (0 = unknown)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "current-suburi": {
+                        "blurb": "The currently playing URI of a subtitle",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": false
+                    },
+                    "current-uri": {
+                        "blurb": "The currently playing URI",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": false
+                    },
+                    "download": {
+                        "blurb": "Attempt download buffering when buffering network streams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "ring-buffer-max-size": {
+                        "blurb": "Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "4294967295",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "source": {
+                        "blurb": "Source object used",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": false
+                    },
+                    "suburi": {
+                        "blurb": "Optional URI of a subtitle",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "uri": {
+                        "blurb": "URI to decode",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "use-buffering": {
+                        "blurb": "Perform buffering on demuxed/parsed media",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "about-to-finish": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "no-more-pads": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "pad-added": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "pad-removed": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "select-stream": {
+                        "args": [
+                            "GstStreamCollection",
+                            "GstStream"
+                        ],
+                        "retval": "gint"
+                    },
+                    "source-setup": {
+                        "args": [
+                            "GstElement"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            },
+            "urisourcebin": {
+                "author": "Jan Schmidt <jan@centricular.com>",
+                "description": "Download and buffer a URI as needed",
+                "hierarchy": [
+                    "GstURISourceBin",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Generic/Bin/Source",
+                "long-name": "URI reader",
+                "pad-templates": {
+                    "src_%%u": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "sometimes"
+                    }
+                },
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "buffer-duration": {
+                        "blurb": "Buffer duration when buffering streams (-1 default value)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "buffer-size": {
+                        "blurb": "Buffer size when buffering streams (-1 default value)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "connection-speed": {
+                        "blurb": "Network connection speed in kbps (0 = unknown)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "download": {
+                        "blurb": "Attempt download buffering when buffering network streams",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "high-watermark": {
+                        "blurb": "High threshold for buffering to finish. Only used if use-buffering is True",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.99",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "low-watermark": {
+                        "blurb": "Low threshold for buffering to start. Only used if use-buffering is True",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.01",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "ring-buffer-max-size": {
+                        "blurb": "Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "4294967295",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "source": {
+                        "blurb": "Source object used",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstElement",
+                        "writable": false
+                    },
+                    "statistics": {
+                        "blurb": "A set of statistics over all the queue-like elements contained in this element",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "application/x-urisourcebin-stats, minimum-byte-level=(uint)0, maximum-byte-level=(uint)0, average-byte-level=(uint)0, minimum-time-level=(guint64)0, maximum-time-level=(guint64)0, average-time-level=(guint64)0;",
+                        "type-name": "GstStructure",
+                        "writable": false
+                    },
+                    "uri": {
+                        "blurb": "URI to decode",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "use-buffering": {
+                        "blurb": "Perform buffering on demuxed/parsed media",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "about-to-finish": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "drained": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "no-more-pads": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "pad-added": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "pad-removed": {
+                        "args": [
+                            "GstPad"
+                        ],
+                        "retval": "void"
+                    },
+                    "source-setup": {
+                        "args": [
+                            "GstElement"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            }
+        },
+        "filename": "libgstplayback.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "rawparse": {
+        "description": "Parses byte streams into raw frames",
+        "elements": {
+            "rawaudioparse": {
+                "author": "Carlos Rafael Giani <dv@pseudoterminal.org>",
+                "description": "Converts unformatted data streams into timestamped raw audio frames",
+                "hierarchy": [
+                    "GstRawAudioParse",
+                    "GstRawBaseParse",
+                    "GstBaseParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Parser/Audio",
+                "long-name": "rawaudioparse",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-unaligned-raw:\n         format: { 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 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: { (string)interleaved, (string)non-interleaved }\naudio/x-raw:\n         format: { 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 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: { (string)interleaved, (string)non-interleaved }\naudio/x-alaw:\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\naudio/x-mulaw:\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { 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 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: { (string)interleaved, (string)non-interleaved }\naudio/x-alaw:\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\naudio/x-mulaw:\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "channel-positions": {
+                        "blurb": "Channel positions used on the output",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GValueArray",
+                        "writable": true
+                    },
+                    "disable-passthrough": {
+                        "blurb": "Force processing (disables passthrough)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "format": {
+                        "blurb": "Format of the raw audio stream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "pcm (0)",
+                        "enum": true,
+                        "type-name": "GstRawAudioParseFormat",
+                        "values": [
+                            {
+                                "desc": "PCM",
+                                "name": "pcm",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "A-Law",
+                                "name": "alaw",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "\u00b5-Law",
+                                "name": "mulaw",
+                                "value": "1"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "interleaved": {
+                        "blurb": "True if audio has interleaved layout",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-channels": {
+                        "blurb": "Number of channels in raw stream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "2",
+                        "max": "2147483647",
+                        "min": "1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "pcm-format": {
+                        "blurb": "Format of audio samples in PCM stream (ignored if format property is not set to pcm)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "s16 (4)",
+                        "enum": true,
+                        "type-name": "GstAudioFormat",
+                        "values": [
+                            {
+                                "desc": "GST_AUDIO_FORMAT_UNKNOWN",
+                                "name": "unknown",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_ENCODED",
+                                "name": "encoded",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S8",
+                                "name": "s8",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U8",
+                                "name": "u8",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S16LE",
+                                "name": "s16le",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S16BE",
+                                "name": "s16be",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U16LE",
+                                "name": "u16le",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U16BE",
+                                "name": "u16be",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S24_32LE",
+                                "name": "s24-32le",
+                                "value": "8"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S24_32BE",
+                                "name": "s24-32be",
+                                "value": "9"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U24_32LE",
+                                "name": "u24-32le",
+                                "value": "10"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U24_32BE",
+                                "name": "u24-32be",
+                                "value": "11"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S32LE",
+                                "name": "s32le",
+                                "value": "12"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S32BE",
+                                "name": "s32be",
+                                "value": "13"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U32LE",
+                                "name": "u32le",
+                                "value": "14"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U32BE",
+                                "name": "u32be",
+                                "value": "15"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S24LE",
+                                "name": "s24le",
+                                "value": "16"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S24BE",
+                                "name": "s24be",
+                                "value": "17"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U24LE",
+                                "name": "u24le",
+                                "value": "18"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U24BE",
+                                "name": "u24be",
+                                "value": "19"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S20LE",
+                                "name": "s20le",
+                                "value": "20"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S20BE",
+                                "name": "s20be",
+                                "value": "21"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U20LE",
+                                "name": "u20le",
+                                "value": "22"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U20BE",
+                                "name": "u20be",
+                                "value": "23"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S18LE",
+                                "name": "s18le",
+                                "value": "24"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S18BE",
+                                "name": "s18be",
+                                "value": "25"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U18LE",
+                                "name": "u18le",
+                                "value": "26"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U18BE",
+                                "name": "u18be",
+                                "value": "27"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_F32LE",
+                                "name": "f32le",
+                                "value": "28"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_F32BE",
+                                "name": "f32be",
+                                "value": "29"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_F64LE",
+                                "name": "f64le",
+                                "value": "30"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_F64BE",
+                                "name": "f64be",
+                                "value": "31"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S16",
+                                "name": "s16",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U16",
+                                "name": "u16",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S24_32",
+                                "name": "s24-32",
+                                "value": "8"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U24_32",
+                                "name": "u24-32",
+                                "value": "10"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S32",
+                                "name": "s32",
+                                "value": "12"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U32",
+                                "name": "u32",
+                                "value": "14"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S24",
+                                "name": "s24",
+                                "value": "16"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U24",
+                                "name": "u24",
+                                "value": "18"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S20",
+                                "name": "s20",
+                                "value": "20"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U20",
+                                "name": "u20",
+                                "value": "22"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_S18",
+                                "name": "s18",
+                                "value": "24"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_U18",
+                                "name": "u18",
+                                "value": "26"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_F32",
+                                "name": "f32",
+                                "value": "28"
+                            },
+                            {
+                                "desc": "GST_AUDIO_FORMAT_F64",
+                                "name": "f64",
+                                "value": "30"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "sample-rate": {
+                        "blurb": "Rate of audio samples in raw stream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "44100",
+                        "max": "2147483647",
+                        "min": "1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "use-sink-caps": {
+                        "blurb": "Use the sink caps for defining the output format",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "rawvideoparse": {
+                "author": "Carlos Rafael Giani <dv@pseudoterminal.org>",
+                "description": "Converts unformatted data streams into timestamped raw video frames",
+                "hierarchy": [
+                    "GstRawVideoParse",
+                    "GstRawBaseParse",
+                    "GstBaseParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Parser/Video",
+                "long-name": "rawvideoparse",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-unaligned-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "disable-passthrough": {
+                        "blurb": "Force processing (disables passthrough)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "format": {
+                        "blurb": "Format of frames in raw stream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "i420 (2)",
+                        "enum": true,
+                        "type-name": "GstVideoFormat",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_FORMAT_UNKNOWN",
+                                "name": "unknown",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_ENCODED",
+                                "name": "encoded",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_I420",
+                                "name": "i420",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_YV12",
+                                "name": "yv12",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_YUY2",
+                                "name": "yuy2",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_UYVY",
+                                "name": "uyvy",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_AYUV",
+                                "name": "ayuv",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_RGBx",
+                                "name": "rgbx",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_BGRx",
+                                "name": "bgrx",
+                                "value": "8"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_xRGB",
+                                "name": "xrgb",
+                                "value": "9"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_xBGR",
+                                "name": "xbgr",
+                                "value": "10"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_RGBA",
+                                "name": "rgba",
+                                "value": "11"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_BGRA",
+                                "name": "bgra",
+                                "value": "12"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_ARGB",
+                                "name": "argb",
+                                "value": "13"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_ABGR",
+                                "name": "abgr",
+                                "value": "14"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_RGB",
+                                "name": "rgb",
+                                "value": "15"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_BGR",
+                                "name": "bgr",
+                                "value": "16"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_Y41B",
+                                "name": "y41b",
+                                "value": "17"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_Y42B",
+                                "name": "y42b",
+                                "value": "18"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_YVYU",
+                                "name": "yvyu",
+                                "value": "19"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_Y444",
+                                "name": "y444",
+                                "value": "20"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_v210",
+                                "name": "v210",
+                                "value": "21"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_v216",
+                                "name": "v216",
+                                "value": "22"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_Y210",
+                                "name": "y210",
+                                "value": "23"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_NV12",
+                                "name": "nv12",
+                                "value": "24"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_NV21",
+                                "name": "nv21",
+                                "value": "25"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_GRAY8",
+                                "name": "gray8",
+                                "value": "26"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_GRAY16_BE",
+                                "name": "gray16-be",
+                                "value": "27"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_GRAY16_LE",
+                                "name": "gray16-le",
+                                "value": "28"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_v308",
+                                "name": "v308",
+                                "value": "29"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_RGB16",
+                                "name": "rgb16",
+                                "value": "30"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_BGR16",
+                                "name": "bgr16",
+                                "value": "31"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_RGB15",
+                                "name": "rgb15",
+                                "value": "32"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_BGR15",
+                                "name": "bgr15",
+                                "value": "33"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_UYVP",
+                                "name": "uyvp",
+                                "value": "34"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_A420",
+                                "name": "a420",
+                                "value": "35"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_RGB8P",
+                                "name": "rgb8p",
+                                "value": "36"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_YUV9",
+                                "name": "yuv9",
+                                "value": "37"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_YVU9",
+                                "name": "yvu9",
+                                "value": "38"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_IYU1",
+                                "name": "iyu1",
+                                "value": "39"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_ARGB64",
+                                "name": "argb64",
+                                "value": "40"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_AYUV64",
+                                "name": "ayuv64",
+                                "value": "41"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_r210",
+                                "name": "r210",
+                                "value": "42"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_I420_10BE",
+                                "name": "i420-10be",
+                                "value": "43"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_I420_10LE",
+                                "name": "i420-10le",
+                                "value": "44"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_I422_10BE",
+                                "name": "i422-10be",
+                                "value": "45"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_I422_10LE",
+                                "name": "i422-10le",
+                                "value": "46"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_Y444_10BE",
+                                "name": "y444-10be",
+                                "value": "47"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_Y444_10LE",
+                                "name": "y444-10le",
+                                "value": "48"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_GBR",
+                                "name": "gbr",
+                                "value": "49"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_GBR_10BE",
+                                "name": "gbr-10be",
+                                "value": "50"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_GBR_10LE",
+                                "name": "gbr-10le",
+                                "value": "51"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_NV16",
+                                "name": "nv16",
+                                "value": "52"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_NV24",
+                                "name": "nv24",
+                                "value": "53"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_NV12_64Z32",
+                                "name": "nv12-64z32",
+                                "value": "54"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_A420_10BE",
+                                "name": "a420-10be",
+                                "value": "55"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_A420_10LE",
+                                "name": "a420-10le",
+                                "value": "56"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_A422_10BE",
+                                "name": "a422-10be",
+                                "value": "57"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_A422_10LE",
+                                "name": "a422-10le",
+                                "value": "58"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_A444_10BE",
+                                "name": "a444-10be",
+                                "value": "59"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_A444_10LE",
+                                "name": "a444-10le",
+                                "value": "60"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_NV61",
+                                "name": "nv61",
+                                "value": "61"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_P010_10BE",
+                                "name": "p010-10be",
+                                "value": "62"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_P010_10LE",
+                                "name": "p010-10le",
+                                "value": "63"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_IYU2",
+                                "name": "iyu2",
+                                "value": "64"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_VYUY",
+                                "name": "vyuy",
+                                "value": "65"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_GBRA",
+                                "name": "gbra",
+                                "value": "66"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_GBRA_10BE",
+                                "name": "gbra-10be",
+                                "value": "67"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_GBRA_10LE",
+                                "name": "gbra-10le",
+                                "value": "68"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_GBR_12BE",
+                                "name": "gbr-12be",
+                                "value": "69"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_GBR_12LE",
+                                "name": "gbr-12le",
+                                "value": "70"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_GBRA_12BE",
+                                "name": "gbra-12be",
+                                "value": "71"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_GBRA_12LE",
+                                "name": "gbra-12le",
+                                "value": "72"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_I420_12BE",
+                                "name": "i420-12be",
+                                "value": "73"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_I420_12LE",
+                                "name": "i420-12le",
+                                "value": "74"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_I422_12BE",
+                                "name": "i422-12be",
+                                "value": "75"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_I422_12LE",
+                                "name": "i422-12le",
+                                "value": "76"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_Y444_12BE",
+                                "name": "y444-12be",
+                                "value": "77"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_Y444_12LE",
+                                "name": "y444-12le",
+                                "value": "78"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_GRAY10_LE32",
+                                "name": "gray10-le32",
+                                "value": "79"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_NV12_10LE32",
+                                "name": "nv12-10le32",
+                                "value": "80"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_NV16_10LE32",
+                                "name": "nv16-10le32",
+                                "value": "81"
+                            },
+                            {
+                                "desc": "GST_VIDEO_FORMAT_NV12_10LE40",
+                                "name": "nv12-10le40",
+                                "value": "82"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "frame-size": {
+                        "blurb": "Size of a frame (0 = frames are tightly packed together)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "framerate": {
+                        "blurb": "Rate of frames in raw stream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "25/1",
+                        "max": "2147483647/1",
+                        "min": "0/1",
+                        "type-name": "GstFraction",
+                        "writable": true
+                    },
+                    "height": {
+                        "blurb": "Height of frames in raw stream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "240",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "interlaced": {
+                        "blurb": "True if frames in raw stream are interlaced",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "pixel-aspect-ratio": {
+                        "blurb": "Pixel aspect ratio of frames in raw stream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1/1",
+                        "max": "100/1",
+                        "min": "1/100",
+                        "type-name": "GstFraction",
+                        "writable": true
+                    },
+                    "plane-offsets": {
+                        "blurb": "Offsets of the planes in bytes (e.g. plane-offsets=\"<0,76800>\")",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstValueArray",
+                        "writable": true
+                    },
+                    "plane-strides": {
+                        "blurb": "Strides of the planes in bytes (e.g. plane-strides=\"<320,320>\")",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstValueArray",
+                        "writable": true
+                    },
+                    "top-field-first": {
+                        "blurb": "True if top field in frames in raw stream come first (not used if frames aren't interlaced)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "use-sink-caps": {
+                        "blurb": "Use the sink caps for defining the output format",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "width": {
+                        "blurb": "Width of frames in raw stream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "320",
+                        "max": "2147483647",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "unalignedaudioparse": {
+                "author": "Carlos Rafael Giani <dv@pseudoterminal.org>",
+                "description": "Parse unaligned raw audio data",
+                "hierarchy": [
+                    "GstUnalignedAudioParse",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Parser/Bin/Audio",
+                "long-name": "unalignedaudioparse",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-unaligned-raw:\n         format: { 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 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: { (string)interleaved, (string)non-interleaved }\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { 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 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: { (string)interleaved, (string)non-interleaved }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "marginal"
+            },
+            "unalignedvideoparse": {
+                "author": "Carlos Rafael Giani <dv@pseudoterminal.org>",
+                "description": "Parse unaligned raw video data",
+                "hierarchy": [
+                    "GstUnalignedVideoParse",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Parser/Bin/Video",
+                "long-name": "unalignedvideoparse",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-unaligned-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async-handling": {
+                        "blurb": "The bin will handle Asynchronous state changes",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "message-forward": {
+                        "blurb": "Forwards all children messages",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "marginal"
+            }
+        },
+        "filename": "libgstrawparse.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "subparse": {
+        "description": "Subtitle parsing",
+        "elements": {
+            "ssaparse": {
+                "author": "Tim-Philipp M\u00fcller <tim centricular net>",
+                "description": "Parses SSA subtitle streams",
+                "hierarchy": [
+                    "GstSsaParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Parser/Subtitle",
+                "long-name": "SSA Subtitle Parser",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "application/x-ssa:\napplication/x-ass:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "text/x-raw:\n         format: pango-markup\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            },
+            "subparse": {
+                "author": "Gustavo J. A. M. Carneiro <gjc@inescporto.pt>, GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>",
+                "description": "Parses subtitle (.sub) files into text streams",
+                "hierarchy": [
+                    "GstSubParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Parser/Subtitle",
+                "long-name": "Subtitle parser",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "application/x-subtitle:\napplication/x-subtitle-sami:\napplication/x-subtitle-tmplayer:\napplication/x-subtitle-mpl2:\napplication/x-subtitle-dks:\napplication/x-subtitle-qttext:\napplication/x-subtitle-lrc:\napplication/x-subtitle-vtt:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "text/x-raw:\n         format: { pango-markup, utf8 }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "subtitle-encoding": {
+                        "blurb": "Encoding to assume if input subtitles are not in UTF-8 or any other Unicode encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "video-fps": {
+                        "blurb": "Framerate of the video stream. This is needed by some subtitle formats to synchronize subtitles and video properly. If not set and the subtitle format requires it subtitles may be out of sync.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "24000/1001",
+                        "max": "2147483647/1",
+                        "min": "0/1",
+                        "type-name": "GstFraction",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            }
+        },
+        "filename": "libgstsubparse.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "tcp": {
+        "description": "transfer data over the network via TCP",
+        "elements": {
+            "multifdsink": {
+                "author": "Thomas Vander Stichele <thomas at apestaart dot org>, Wim Taymans <wim@fluendo.com>",
+                "description": "Send data to multiple filedescriptors",
+                "hierarchy": [
+                    "GstMultiFdSink",
+                    "GstMultiHandleSink",
+                    "GstBaseSink",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Sink/Network",
+                "long-name": "Multi filedescriptor sink",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async": {
+                        "blurb": "Go asynchronously to PAUSED",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "buffers-max": {
+                        "blurb": "max number of buffers to queue for a client (-1 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "buffers-min": {
+                        "blurb": "min number of buffers to queue (-1 = as few as possible)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "buffers-queued": {
+                        "blurb": "Number of buffers currently queued",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": false
+                    },
+                    "buffers-soft-max": {
+                        "blurb": "Recover client when going over this limit (-1 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "burst-format": {
+                        "blurb": "The format of the burst units (when sync-method is burst[[-with]-keyframe])",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "undefined (0)",
+                        "enum": true,
+                        "type-name": "GstFormat",
+                        "values": [
+                            {
+                                "desc": "GST_FORMAT_UNDEFINED",
+                                "name": "undefined",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_FORMAT_DEFAULT",
+                                "name": "default",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_FORMAT_BYTES",
+                                "name": "bytes",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_FORMAT_TIME",
+                                "name": "time",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_FORMAT_BUFFERS",
+                                "name": "buffers",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_FORMAT_PERCENT",
+                                "name": "percent",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "burst-value": {
+                        "blurb": "The amount of burst expressed in burst-format",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "bytes-min": {
+                        "blurb": "min number of bytes to queue (-1 = as little as possible)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "bytes-served": {
+                        "blurb": "Total number of bytes send to all clients",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "bytes-to-serve": {
+                        "blurb": "Number of bytes received to serve to clients",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "enable-last-sample": {
+                        "blurb": "Enable the last-sample property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "handle-read": {
+                        "blurb": "Handle client reads and discard the data",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "last-sample": {
+                        "blurb": "The last sample received in the sink",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "max-bitrate": {
+                        "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-lateness": {
+                        "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-handles": {
+                        "blurb": "The current number of client handles",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": false
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "processing-deadline": {
+                        "blurb": "Maximum processing deadline in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "20000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Generate Quality-of-Service events upstream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "qos-dscp": {
+                        "blurb": "Quality of Service, differentiated services code point (-1 default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "63",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "recover-policy": {
+                        "blurb": "How to recover when client reaches the soft max",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (0)",
+                        "enum": true,
+                        "type-name": "GstMultiHandleSinkRecoverPolicy",
+                        "values": [
+                            {
+                                "desc": "Do not try to recover",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Resync client to latest buffer",
+                                "name": "latest",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Resync client to soft limit",
+                                "name": "soft-limit",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "Resync client to most recent keyframe",
+                                "name": "keyframe",
+                                "value": "3"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "render-delay": {
+                        "blurb": "Additional render delay of the sink in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "resend-streamheader": {
+                        "blurb": "Resend the streamheader if it changes in the caps",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "sync": {
+                        "blurb": "Sync on the clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "sync-method": {
+                        "blurb": "How to sync new clients to the stream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "latest (0)",
+                        "enum": true,
+                        "type-name": "GstMultiHandleSinkSyncMethod",
+                        "values": [
+                            {
+                                "desc": "Serve starting from the latest buffer",
+                                "name": "latest",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Serve starting from the next keyframe",
+                                "name": "next-keyframe",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Serve everything since the latest keyframe (burst)",
+                                "name": "latest-keyframe",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "Serve burst-value data to client",
+                                "name": "burst",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "Serve burst-value data starting on a keyframe",
+                                "name": "burst-keyframe",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "Serve burst-value data preferably starting on a keyframe",
+                                "name": "burst-with-keyframe",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "throttle-time": {
+                        "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "time-min": {
+                        "blurb": "min amount of time to queue (in nanoseconds) (-1 = as little as possible)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "timeout": {
+                        "blurb": "Maximum inactivity timeout in nanoseconds for a client (0 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "ts-offset": {
+                        "blurb": "Timestamp offset in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "unit-format": {
+                        "blurb": "The unit to measure the max/soft-max/queued properties",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "buffers (4)",
+                        "enum": true,
+                        "type-name": "GstFormat",
+                        "values": [
+                            {
+                                "desc": "GST_FORMAT_UNDEFINED",
+                                "name": "undefined",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_FORMAT_DEFAULT",
+                                "name": "default",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_FORMAT_BYTES",
+                                "name": "bytes",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_FORMAT_TIME",
+                                "name": "time",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_FORMAT_BUFFERS",
+                                "name": "buffers",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_FORMAT_PERCENT",
+                                "name": "percent",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "units-max": {
+                        "blurb": "max number of units to queue (-1 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "units-soft-max": {
+                        "blurb": "Recover client when going over this limit (-1 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "add": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "void"
+                    },
+                    "add-full": {
+                        "args": [
+                            "gint",
+                            "GstMultiHandleSinkSyncMethod",
+                            "GstFormat",
+                            "guint64",
+                            "GstFormat",
+                            "guint64"
+                        ],
+                        "retval": "void"
+                    },
+                    "clear": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "client-added": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "void"
+                    },
+                    "client-fd-removed": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "void"
+                    },
+                    "client-removed": {
+                        "args": [
+                            "gint",
+                            "GstMultiHandleSinkClientStatus"
+                        ],
+                        "retval": "void"
+                    },
+                    "get-stats": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "GstStructure"
+                    },
+                    "remove": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "void"
+                    },
+                    "remove-flush": {
+                        "args": [
+                            "gint"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            },
+            "multisocketsink": {
+                "author": "Thomas Vander Stichele <thomas at apestaart dot org>, Wim Taymans <wim@fluendo.com>, Sebastian Dr\u00f6ge <sebastian.droege@collabora.co.uk>",
+                "description": "Send data to multiple sockets",
+                "hierarchy": [
+                    "GstMultiSocketSink",
+                    "GstMultiHandleSink",
+                    "GstBaseSink",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Sink/Network",
+                "long-name": "Multi socket sink",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async": {
+                        "blurb": "Go asynchronously to PAUSED",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "buffers-max": {
+                        "blurb": "max number of buffers to queue for a client (-1 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "buffers-min": {
+                        "blurb": "min number of buffers to queue (-1 = as few as possible)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "buffers-queued": {
+                        "blurb": "Number of buffers currently queued",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": false
+                    },
+                    "buffers-soft-max": {
+                        "blurb": "Recover client when going over this limit (-1 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "burst-format": {
+                        "blurb": "The format of the burst units (when sync-method is burst[[-with]-keyframe])",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "undefined (0)",
+                        "enum": true,
+                        "type-name": "GstFormat",
+                        "values": [
+                            {
+                                "desc": "GST_FORMAT_UNDEFINED",
+                                "name": "undefined",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_FORMAT_DEFAULT",
+                                "name": "default",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_FORMAT_BYTES",
+                                "name": "bytes",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_FORMAT_TIME",
+                                "name": "time",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_FORMAT_BUFFERS",
+                                "name": "buffers",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_FORMAT_PERCENT",
+                                "name": "percent",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "burst-value": {
+                        "blurb": "The amount of burst expressed in burst-format",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "bytes-min": {
+                        "blurb": "min number of bytes to queue (-1 = as little as possible)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "bytes-served": {
+                        "blurb": "Total number of bytes send to all clients",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "bytes-to-serve": {
+                        "blurb": "Number of bytes received to serve to clients",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "enable-last-sample": {
+                        "blurb": "Enable the last-sample property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "last-sample": {
+                        "blurb": "The last sample received in the sink",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "max-bitrate": {
+                        "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-lateness": {
+                        "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-handles": {
+                        "blurb": "The current number of client handles",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": false
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "processing-deadline": {
+                        "blurb": "Maximum processing deadline in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "20000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Generate Quality-of-Service events upstream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "qos-dscp": {
+                        "blurb": "Quality of Service, differentiated services code point (-1 default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "63",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "recover-policy": {
+                        "blurb": "How to recover when client reaches the soft max",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (0)",
+                        "enum": true,
+                        "type-name": "GstMultiHandleSinkRecoverPolicy",
+                        "values": [
+                            {
+                                "desc": "Do not try to recover",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Resync client to latest buffer",
+                                "name": "latest",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Resync client to soft limit",
+                                "name": "soft-limit",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "Resync client to most recent keyframe",
+                                "name": "keyframe",
+                                "value": "3"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "render-delay": {
+                        "blurb": "Additional render delay of the sink in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "resend-streamheader": {
+                        "blurb": "Resend the streamheader if it changes in the caps",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "send-dispatched": {
+                        "blurb": "If GstNetworkMessageDispatched events should be pushed",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "send-messages": {
+                        "blurb": "If GstNetworkMessage events should be pushed",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "sync": {
+                        "blurb": "Sync on the clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "sync-method": {
+                        "blurb": "How to sync new clients to the stream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "latest (0)",
+                        "enum": true,
+                        "type-name": "GstMultiHandleSinkSyncMethod",
+                        "values": [
+                            {
+                                "desc": "Serve starting from the latest buffer",
+                                "name": "latest",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Serve starting from the next keyframe",
+                                "name": "next-keyframe",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Serve everything since the latest keyframe (burst)",
+                                "name": "latest-keyframe",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "Serve burst-value data to client",
+                                "name": "burst",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "Serve burst-value data starting on a keyframe",
+                                "name": "burst-keyframe",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "Serve burst-value data preferably starting on a keyframe",
+                                "name": "burst-with-keyframe",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "throttle-time": {
+                        "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "time-min": {
+                        "blurb": "min amount of time to queue (in nanoseconds) (-1 = as little as possible)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "timeout": {
+                        "blurb": "Maximum inactivity timeout in nanoseconds for a client (0 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "ts-offset": {
+                        "blurb": "Timestamp offset in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "unit-format": {
+                        "blurb": "The unit to measure the max/soft-max/queued properties",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "buffers (4)",
+                        "enum": true,
+                        "type-name": "GstFormat",
+                        "values": [
+                            {
+                                "desc": "GST_FORMAT_UNDEFINED",
+                                "name": "undefined",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_FORMAT_DEFAULT",
+                                "name": "default",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_FORMAT_BYTES",
+                                "name": "bytes",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_FORMAT_TIME",
+                                "name": "time",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_FORMAT_BUFFERS",
+                                "name": "buffers",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_FORMAT_PERCENT",
+                                "name": "percent",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "units-max": {
+                        "blurb": "max number of units to queue (-1 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "units-soft-max": {
+                        "blurb": "Recover client when going over this limit (-1 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "add": {
+                        "args": [
+                            "GSocket"
+                        ],
+                        "retval": "void"
+                    },
+                    "add-full": {
+                        "args": [
+                            "GSocket",
+                            "GstMultiHandleSinkSyncMethod",
+                            "GstFormat",
+                            "guint64",
+                            "GstFormat",
+                            "guint64"
+                        ],
+                        "retval": "void"
+                    },
+                    "clear": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "client-added": {
+                        "args": [
+                            "GObject"
+                        ],
+                        "retval": "void"
+                    },
+                    "client-removed": {
+                        "args": [
+                            "GSocket",
+                            "GstMultiHandleSinkClientStatus"
+                        ],
+                        "retval": "void"
+                    },
+                    "client-socket-removed": {
+                        "args": [
+                            "GSocket"
+                        ],
+                        "retval": "void"
+                    },
+                    "get-stats": {
+                        "args": [
+                            "GSocket"
+                        ],
+                        "retval": "GstStructure"
+                    },
+                    "remove": {
+                        "args": [
+                            "GSocket"
+                        ],
+                        "retval": "void"
+                    },
+                    "remove-flush": {
+                        "args": [
+                            "GSocket"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            },
+            "socketsrc": {
+                "author": "Thomas Vander Stichele <thomas at apestaart dot org>, William Manley <will@williammanley.net>",
+                "description": "Receive data from a socket",
+                "hierarchy": [
+                    "GstSocketSrc",
+                    "GstPushSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source/Network",
+                "long-name": "socket source",
+                "pad-templates": {
+                    "src": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "blocksize": {
+                        "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "caps": {
+                        "blurb": "The caps of the source pad",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstCaps",
+                        "writable": true
+                    },
+                    "do-timestamp": {
+                        "blurb": "Apply current stream time to buffers",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-buffers": {
+                        "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "send-messages": {
+                        "blurb": "If GstNetworkMessage events should be handled",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "socket": {
+                        "blurb": "The socket to receive packets from",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GSocket",
+                        "writable": true
+                    },
+                    "typefind": {
+                        "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "connection-closed-by-peer": {
+                        "args": [],
+                        "retval": "void"
+                    }
+                }
+            },
+            "tcpclientsink": {
+                "author": "Thomas Vander Stichele <thomas at apestaart dot org>",
+                "description": "Send data as a client over the network via TCP",
+                "hierarchy": [
+                    "GstTCPClientSink",
+                    "GstBaseSink",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Sink/Network",
+                "long-name": "TCP client sink",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async": {
+                        "blurb": "Go asynchronously to PAUSED",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "enable-last-sample": {
+                        "blurb": "Enable the last-sample property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "host": {
+                        "blurb": "The host/IP to send the packets to",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "localhost",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "last-sample": {
+                        "blurb": "The last sample received in the sink",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "max-bitrate": {
+                        "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-lateness": {
+                        "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "port": {
+                        "blurb": "The port to send the packets to",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4953",
+                        "max": "65535",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "processing-deadline": {
+                        "blurb": "Maximum processing deadline in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "20000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Generate Quality-of-Service events upstream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "render-delay": {
+                        "blurb": "Additional render delay of the sink in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "sync": {
+                        "blurb": "Sync on the clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "throttle-time": {
+                        "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "ts-offset": {
+                        "blurb": "Timestamp offset in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "tcpclientsrc": {
+                "author": "Thomas Vander Stichele <thomas at apestaart dot org>",
+                "description": "Receive data as a client over the network via TCP",
+                "hierarchy": [
+                    "GstTCPClientSrc",
+                    "GstPushSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source/Network",
+                "long-name": "TCP client source",
+                "pad-templates": {
+                    "src": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "blocksize": {
+                        "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "do-timestamp": {
+                        "blurb": "Apply current stream time to buffers",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "host": {
+                        "blurb": "The host IP address to receive packets from",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "localhost",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-buffers": {
+                        "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "port": {
+                        "blurb": "The port to receive packets from",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4953",
+                        "max": "65535",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "timeout": {
+                        "blurb": "Value in seconds to timeout a blocking I/O. 0 = No timeout. ",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "typefind": {
+                        "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "tcpserversink": {
+                "author": "Thomas Vander Stichele <thomas at apestaart dot org>",
+                "description": "Send data as a server over the network via TCP",
+                "hierarchy": [
+                    "GstTCPServerSink",
+                    "GstMultiSocketSink",
+                    "GstMultiHandleSink",
+                    "GstBaseSink",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Sink/Network",
+                "long-name": "TCP server sink",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async": {
+                        "blurb": "Go asynchronously to PAUSED",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "buffers-max": {
+                        "blurb": "max number of buffers to queue for a client (-1 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "buffers-min": {
+                        "blurb": "min number of buffers to queue (-1 = as few as possible)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "buffers-queued": {
+                        "blurb": "Number of buffers currently queued",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": false
+                    },
+                    "buffers-soft-max": {
+                        "blurb": "Recover client when going over this limit (-1 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "burst-format": {
+                        "blurb": "The format of the burst units (when sync-method is burst[[-with]-keyframe])",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "undefined (0)",
+                        "enum": true,
+                        "type-name": "GstFormat",
+                        "values": [
+                            {
+                                "desc": "GST_FORMAT_UNDEFINED",
+                                "name": "undefined",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_FORMAT_DEFAULT",
+                                "name": "default",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_FORMAT_BYTES",
+                                "name": "bytes",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_FORMAT_TIME",
+                                "name": "time",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_FORMAT_BUFFERS",
+                                "name": "buffers",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_FORMAT_PERCENT",
+                                "name": "percent",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "burst-value": {
+                        "blurb": "The amount of burst expressed in burst-format",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "bytes-min": {
+                        "blurb": "min number of bytes to queue (-1 = as little as possible)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "bytes-served": {
+                        "blurb": "Total number of bytes send to all clients",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "bytes-to-serve": {
+                        "blurb": "Number of bytes received to serve to clients",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "current-port": {
+                        "blurb": "The port number the socket is currently bound to",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "65535",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": false
+                    },
+                    "enable-last-sample": {
+                        "blurb": "Enable the last-sample property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "host": {
+                        "blurb": "The host/IP to listen on",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "localhost",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "last-sample": {
+                        "blurb": "The last sample received in the sink",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "max-bitrate": {
+                        "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-lateness": {
+                        "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-handles": {
+                        "blurb": "The current number of client handles",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": false
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "port": {
+                        "blurb": "The port to listen to (0=random available port)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4953",
+                        "max": "65535",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "processing-deadline": {
+                        "blurb": "Maximum processing deadline in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "20000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Generate Quality-of-Service events upstream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "qos-dscp": {
+                        "blurb": "Quality of Service, differentiated services code point (-1 default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "63",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "recover-policy": {
+                        "blurb": "How to recover when client reaches the soft max",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (0)",
+                        "enum": true,
+                        "type-name": "GstMultiHandleSinkRecoverPolicy",
+                        "values": [
+                            {
+                                "desc": "Do not try to recover",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Resync client to latest buffer",
+                                "name": "latest",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Resync client to soft limit",
+                                "name": "soft-limit",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "Resync client to most recent keyframe",
+                                "name": "keyframe",
+                                "value": "3"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "render-delay": {
+                        "blurb": "Additional render delay of the sink in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "resend-streamheader": {
+                        "blurb": "Resend the streamheader if it changes in the caps",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "send-dispatched": {
+                        "blurb": "If GstNetworkMessageDispatched events should be pushed",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "send-messages": {
+                        "blurb": "If GstNetworkMessage events should be pushed",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "sync": {
+                        "blurb": "Sync on the clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "sync-method": {
+                        "blurb": "How to sync new clients to the stream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "latest (0)",
+                        "enum": true,
+                        "type-name": "GstMultiHandleSinkSyncMethod",
+                        "values": [
+                            {
+                                "desc": "Serve starting from the latest buffer",
+                                "name": "latest",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Serve starting from the next keyframe",
+                                "name": "next-keyframe",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Serve everything since the latest keyframe (burst)",
+                                "name": "latest-keyframe",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "Serve burst-value data to client",
+                                "name": "burst",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "Serve burst-value data starting on a keyframe",
+                                "name": "burst-keyframe",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "Serve burst-value data preferably starting on a keyframe",
+                                "name": "burst-with-keyframe",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "throttle-time": {
+                        "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "time-min": {
+                        "blurb": "min amount of time to queue (in nanoseconds) (-1 = as little as possible)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "timeout": {
+                        "blurb": "Maximum inactivity timeout in nanoseconds for a client (0 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "ts-offset": {
+                        "blurb": "Timestamp offset in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "unit-format": {
+                        "blurb": "The unit to measure the max/soft-max/queued properties",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "buffers (4)",
+                        "enum": true,
+                        "type-name": "GstFormat",
+                        "values": [
+                            {
+                                "desc": "GST_FORMAT_UNDEFINED",
+                                "name": "undefined",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_FORMAT_DEFAULT",
+                                "name": "default",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_FORMAT_BYTES",
+                                "name": "bytes",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_FORMAT_TIME",
+                                "name": "time",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_FORMAT_BUFFERS",
+                                "name": "buffers",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "GST_FORMAT_PERCENT",
+                                "name": "percent",
+                                "value": "5"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "units-max": {
+                        "blurb": "max number of units to queue (-1 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "units-soft-max": {
+                        "blurb": "Recover client when going over this limit (-1 = no limit)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "none",
+                "signals": {
+                    "add": {
+                        "args": [
+                            "GSocket"
+                        ],
+                        "retval": "void"
+                    },
+                    "add-full": {
+                        "args": [
+                            "GSocket",
+                            "GstMultiHandleSinkSyncMethod",
+                            "GstFormat",
+                            "guint64",
+                            "GstFormat",
+                            "guint64"
+                        ],
+                        "retval": "void"
+                    },
+                    "clear": {
+                        "args": [],
+                        "retval": "void"
+                    },
+                    "client-added": {
+                        "args": [
+                            "GObject"
+                        ],
+                        "retval": "void"
+                    },
+                    "client-removed": {
+                        "args": [
+                            "GSocket",
+                            "GstMultiHandleSinkClientStatus"
+                        ],
+                        "retval": "void"
+                    },
+                    "client-socket-removed": {
+                        "args": [
+                            "GSocket"
+                        ],
+                        "retval": "void"
+                    },
+                    "get-stats": {
+                        "args": [
+                            "GSocket"
+                        ],
+                        "retval": "GstStructure"
+                    },
+                    "remove": {
+                        "args": [
+                            "GSocket"
+                        ],
+                        "retval": "void"
+                    },
+                    "remove-flush": {
+                        "args": [
+                            "GSocket"
+                        ],
+                        "retval": "void"
+                    }
+                }
+            },
+            "tcpserversrc": {
+                "author": "Thomas Vander Stichele <thomas at apestaart dot org>",
+                "description": "Receive data as a server over the network via TCP",
+                "hierarchy": [
+                    "GstTCPServerSrc",
+                    "GstPushSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source/Network",
+                "long-name": "TCP server source",
+                "pad-templates": {
+                    "src": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "blocksize": {
+                        "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "current-port": {
+                        "blurb": "The port number the socket is currently bound to",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "65535",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": false
+                    },
+                    "do-timestamp": {
+                        "blurb": "Apply current stream time to buffers",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "host": {
+                        "blurb": "The hostname to listen as",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "localhost",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-buffers": {
+                        "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "port": {
+                        "blurb": "The port to listen to (0=random available port)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4953",
+                        "max": "65535",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "typefind": {
+                        "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgsttcp.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "theora": {
+        "description": "Theora plugin library",
+        "elements": {
+            "theoradec": {
+                "author": "Benjamin Otte <otte@gnome.org>, Wim Taymans <wim@fluendo.com>",
+                "description": "decode raw theora streams to raw YUV video",
+                "hierarchy": [
+                    "GstTheoraDec",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "long-name": "Theora video decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-theora:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { I420, Y42B, Y444 }\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "visualize-bit-usage": {
+                        "blurb": "Sets the bitstream breakdown visualization mode. Values influence the width of the bit usage bars to show",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "255",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "visualize-macroblock-modes": {
+                        "blurb": "Show macroblock mode selection overlaid on image. Value gives a mask for macroblock (MB) modes to show",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "65535",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "visualize-motion-vectors": {
+                        "blurb": "Show motion vector selection overlaid on image. Value gives a mask for motion vector (MV) modes to show",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "65535",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "visualize-quantization-modes": {
+                        "blurb": "Show adaptive quantization mode selection overlaid on image. Value gives a mask for quantization (QI) modes to show",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "65535",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            },
+            "theoraenc": {
+                "author": "Wim Taymans <wim@fluendo.com>",
+                "description": "encode raw YUV video to a theora stream",
+                "hierarchy": [
+                    "GstTheoraEnc",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Encoder/Video",
+                "long-name": "Theora video encoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: { I420, Y42B, Y444 }\n      framerate: [ 1/2147483647, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-theora:\n      framerate: [ 1/2147483647, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "bitrate": {
+                        "blurb": "Compressed video bitrate (kbps)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "16777215",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "cap-overflow": {
+                        "blurb": "Enable capping of bit reservoir overflows",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "cap-underflow": {
+                        "blurb": "Enable capping of bit reservoir underflows",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "drop-frames": {
+                        "blurb": "Allow or disallow frame dropping",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "keyframe-auto": {
+                        "blurb": "Automatic keyframe detection",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "keyframe-force": {
+                        "blurb": "Force keyframe every N frames",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "64",
+                        "max": "32768",
+                        "min": "1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "keyframe-freq": {
+                        "blurb": "Keyframe frequency",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "64",
+                        "max": "32768",
+                        "min": "1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "multipass-cache-file": {
+                        "blurb": "Multipass cache file",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "multipass-mode": {
+                        "blurb": "Single pass or first/second pass",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "single-pass (0)",
+                        "enum": true,
+                        "type-name": "GstTheoraEncMultipassMode",
+                        "values": [
+                            {
+                                "desc": "Single pass",
+                                "name": "single-pass",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "First pass",
+                                "name": "first-pass",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "Second pass",
+                                "name": "second-pass",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events from downstream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "quality": {
+                        "blurb": "Video quality",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "48",
+                        "max": "63",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "rate-buffer": {
+                        "blurb": "Sets the size of the rate control buffer, in units of frames.  The default value of 0 instructs the encoder to automatically select an appropriate value",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1000",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "speed-level": {
+                        "blurb": "Controls the amount of motion vector searching done while encoding",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "3",
+                        "min": "0",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "vp3-compatible": {
+                        "blurb": "Disables non-VP3 compatible features",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            },
+            "theoraparse": {
+                "author": "Andy Wingo <wingo@pobox.com>",
+                "description": "parse raw theora streams",
+                "hierarchy": [
+                    "GstTheoraParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Parser/Video",
+                "long-name": "Theora video parser",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-theora:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-theora:\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgsttheora.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "typefindfunctions": {
+        "description": "default typefind functions",
+        "elements": {},
+        "filename": "libgsttypefindfunctions.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "videoconvert": {
+        "description": "Colorspace conversion",
+        "elements": {
+            "videoconvert": {
+                "author": "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>",
+                "description": "Converts video from one colorspace to another",
+                "hierarchy": [
+                    "GstVideoConvert",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Converter/Video",
+                "long-name": "Colorspace converter",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(ANY):\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(ANY):\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "alpha-mode": {
+                        "blurb": "Alpha Mode to use",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "copy (0)",
+                        "enum": true,
+                        "type-name": "GstVideoAlphaMode",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_ALPHA_MODE_COPY",
+                                "name": "copy",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_ALPHA_MODE_SET",
+                                "name": "set",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_ALPHA_MODE_MULT",
+                                "name": "mult",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "alpha-value": {
+                        "blurb": "Alpha Value to use",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "chroma-mode": {
+                        "blurb": "Chroma Resampling Mode",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "full (0)",
+                        "enum": true,
+                        "type-name": "GstVideoChromaMode",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_CHROMA_MODE_FULL",
+                                "name": "full",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_CHROMA_MODE_UPSAMPLE_ONLY",
+                                "name": "upsample-only",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_CHROMA_MODE_DOWNSAMPLE_ONLY",
+                                "name": "downsample-only",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_VIDEO_CHROMA_MODE_NONE",
+                                "name": "none",
+                                "value": "3"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "chroma-resampler": {
+                        "blurb": "Chroma resampler method",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "linear (1)",
+                        "enum": true,
+                        "type-name": "GstVideoResamplerMethod",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_RESAMPLER_METHOD_NEAREST",
+                                "name": "nearest",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_RESAMPLER_METHOD_LINEAR",
+                                "name": "linear",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_RESAMPLER_METHOD_CUBIC",
+                                "name": "cubic",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_VIDEO_RESAMPLER_METHOD_SINC",
+                                "name": "sinc",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_VIDEO_RESAMPLER_METHOD_LANCZOS",
+                                "name": "lanczos",
+                                "value": "4"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "dither": {
+                        "blurb": "Apply dithering while converting",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "bayer (4)",
+                        "enum": true,
+                        "type-name": "GstVideoDitherMethod",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_DITHER_NONE",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_DITHER_VERTERR",
+                                "name": "verterr",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_DITHER_FLOYD_STEINBERG",
+                                "name": "floyd-steinberg",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_VIDEO_DITHER_SIERRA_LITE",
+                                "name": "sierra-lite",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "GST_VIDEO_DITHER_BAYER",
+                                "name": "bayer",
+                                "value": "4"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "dither-quantization": {
+                        "blurb": "Quantizer to use",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "gamma-mode": {
+                        "blurb": "Gamma Conversion Mode",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (0)",
+                        "enum": true,
+                        "type-name": "GstVideoGammaMode",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_GAMMA_MODE_NONE",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_GAMMA_MODE_REMAP",
+                                "name": "remap",
+                                "value": "1"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "matrix-mode": {
+                        "blurb": "Matrix Conversion Mode",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "full (0)",
+                        "enum": true,
+                        "type-name": "GstVideoMatrixMode",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_MATRIX_MODE_FULL",
+                                "name": "full",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MATRIX_MODE_INPUT_ONLY",
+                                "name": "input-only",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MATRIX_MODE_OUTPUT_ONLY",
+                                "name": "output-only",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "GST_VIDEO_MATRIX_MODE_NONE",
+                                "name": "none",
+                                "value": "3"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "n-threads": {
+                        "blurb": "Maximum number of threads to use",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "primaries-mode": {
+                        "blurb": "Primaries Conversion Mode",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "none (0)",
+                        "enum": true,
+                        "type-name": "GstVideoPrimariesMode",
+                        "values": [
+                            {
+                                "desc": "GST_VIDEO_PRIMARIES_MODE_NONE",
+                                "name": "none",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "GST_VIDEO_PRIMARIES_MODE_MERGE_ONLY",
+                                "name": "merge-only",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "GST_VIDEO_PRIMARIES_MODE_FAST",
+                                "name": "fast",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgstvideoconvert.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "videorate": {
+        "description": "Adjusts video frames",
+        "elements": {
+            "videorate": {
+                "author": "Wim Taymans <wim@fluendo.com>",
+                "description": "Drops/duplicates/adjusts timestamps on video frames to make a perfect stream",
+                "hierarchy": [
+                    "GstVideoRate",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Video rate adjuster",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(ANY):\n\nvideo/x-bayer(ANY):\n\nimage/jpeg(ANY):\n\nimage/png(ANY):\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(ANY):\n\nvideo/x-bayer(ANY):\n\nimage/jpeg(ANY):\n\nimage/png(ANY):\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "average-period": {
+                        "blurb": "Period over which to average the framerate (in ns) (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "drop": {
+                        "blurb": "Number of dropped frames",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "drop-only": {
+                        "blurb": "Only drop frames, no duplicates are produced",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "duplicate": {
+                        "blurb": "Number of duplicated frames",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "in": {
+                        "blurb": "Number of input frames",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "max-rate": {
+                        "blurb": "Maximum framerate allowed to pass through (in frames per second, implies drop-only)",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "2147483647",
+                        "max": "2147483647",
+                        "min": "1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "new-pref": {
+                        "blurb": "Value indicating how much to prefer new frames (unused)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "out": {
+                        "blurb": "Number of output frames",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "rate": {
+                        "blurb": "Factor of speed for frame displaying",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "1.79769e+308",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "silent": {
+                        "blurb": "Don't emit notify for dropped and duplicated frames",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "skip-to-first": {
+                        "blurb": "Don't produce buffers before the first one we receive",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgstvideorate.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "videoscale": {
+        "description": "Resizes video",
+        "elements": {
+            "videoscale": {
+                "author": "Wim Taymans <wim.taymans@gmail.com>",
+                "description": "Resizes video",
+                "hierarchy": [
+                    "GstVideoScale",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Converter/Video/Scaler",
+                "long-name": "Video scaler",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 32767 ]\n         height: [ 1, 32767 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(ANY):\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 32767 ]\n         height: [ 1, 32767 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 32767 ]\n         height: [ 1, 32767 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(ANY):\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 32767 ]\n         height: [ 1, 32767 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "add-borders": {
+                        "blurb": "Add black borders if necessary to keep the display aspect ratio",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "dither": {
+                        "blurb": "Add dither (only used for Lanczos method)",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "envelope": {
+                        "blurb": "Size of filter envelope",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "2",
+                        "max": "5",
+                        "min": "1",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "gamma-decode": {
+                        "blurb": "Decode gamma before scaling",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "method": {
+                        "blurb": "method",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "bilinear (1)",
+                        "enum": true,
+                        "type-name": "GstVideoScaleMethod",
+                        "values": [
+                            {
+                                "desc": "Nearest Neighbour",
+                                "name": "nearest-neighbour",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Bilinear (2-tap)",
+                                "name": "bilinear",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "4-tap Sinc",
+                                "name": "4-tap",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "Lanczos",
+                                "name": "lanczos",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "Bilinear (multi-tap)",
+                                "name": "bilinear2",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "Sinc (multi-tap)",
+                                "name": "sinc",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "Hermite (multi-tap)",
+                                "name": "hermite",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "Spline (multi-tap)",
+                                "name": "spline",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "Catmull-Rom (multi-tap)",
+                                "name": "catrom",
+                                "value": "8"
+                            },
+                            {
+                                "desc": "Mitchell (multi-tap)",
+                                "name": "mitchell",
+                                "value": "9"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "n-threads": {
+                        "blurb": "Maximum number of threads to use",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "sharpen": {
+                        "blurb": "Sharpening",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    },
+                    "sharpness": {
+                        "blurb": "Sharpness of filter",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "1.5",
+                        "min": "0.5",
+                        "type-name": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgstvideoscale.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "videotestsrc": {
+        "description": "Creates a test video stream",
+        "elements": {
+            "videotestsrc": {
+                "author": "David A. Schleef <ds@schleef.org>",
+                "description": "Creates a test video stream",
+                "hierarchy": [
+                    "GstVideoTestSrc",
+                    "GstPushSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source/Video",
+                "long-name": "Video test source",
+                "pad-templates": {
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n multiview-mode: { (string)mono, (string)left, (string)right }\nvideo/x-bayer:\n         format: { bggr, rggb, grbg, gbrg }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n multiview-mode: { (string)mono, (string)left, (string)right }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "animation-mode": {
+                        "blurb": "For pattern=ball, which counter defines the position of the ball.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "frames (0)",
+                        "enum": true,
+                        "type-name": "GstVideoTestSrcAnimationMode",
+                        "values": [
+                            {
+                                "desc": "frame count",
+                                "name": "frames",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "wall clock time",
+                                "name": "wall-time",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "running time",
+                                "name": "running-time",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "background-color": {
+                        "blurb": "Background color to use (big-endian ARGB)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-16777216",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "do-timestamp": {
+                        "blurb": "Apply current stream time to buffers",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "flip": {
+                        "blurb": "For pattern=ball, invert colors every second.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "foreground-color": {
+                        "blurb": "Foreground color to use (big-endian ARGB)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "horizontal-speed": {
+                        "blurb": "Scroll image number of pixels per frame (positive is scroll to the left)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "is-live": {
+                        "blurb": "Whether to act as a live source",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "k0": {
+                        "blurb": "Zoneplate zero order phase, for generating plain fields or phase offsets",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "kt": {
+                        "blurb": "Zoneplate 1st order t phase, for generating phase rotation as a function of time",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "kt2": {
+                        "blurb": "Zoneplate 2nd order t phase, t*t/256 cycles per picture",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "kx": {
+                        "blurb": "Zoneplate 1st order x phase, for generating constant horizontal frequencies",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "kx2": {
+                        "blurb": "Zoneplate 2nd order x phase, normalised to kx2/256 cycles per horizontal pixel at width/2 from origin",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "kxt": {
+                        "blurb": "Zoneplate x*t product phase, normalised to kxy/256 cycles per vertical pixel at width/2 from origin",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "kxy": {
+                        "blurb": "Zoneplate x*y product phase",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "ky": {
+                        "blurb": "Zoneplate 1st order y phase, for generating contant vertical frequencies",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "ky2": {
+                        "blurb": "Zoneplate 2nd order y phase, normailsed to ky2/256 cycles per vertical pixel at height/2 from origin",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "kyt": {
+                        "blurb": "Zoneplate y*t product phase",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "motion": {
+                        "blurb": "For pattern=ball, what motion the ball does",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "wavy (0)",
+                        "enum": true,
+                        "type-name": "GstVideoTestSrcMotionType",
+                        "values": [
+                            {
+                                "desc": "Ball waves back and forth, up and down",
+                                "name": "wavy",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "1 revolution per second",
+                                "name": "sweep",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "1/2 revolution per second, then reset to top",
+                                "name": "hsweep",
+                                "value": "2"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "num-buffers": {
+                        "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "pattern": {
+                        "blurb": "Type of test pattern to generate",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "smpte (0)",
+                        "enum": true,
+                        "type-name": "GstVideoTestSrcPattern",
+                        "values": [
+                            {
+                                "desc": "SMPTE 100%% color bars",
+                                "name": "smpte",
+                                "value": "0"
+                            },
+                            {
+                                "desc": "Random (television snow)",
+                                "name": "snow",
+                                "value": "1"
+                            },
+                            {
+                                "desc": "100%% Black",
+                                "name": "black",
+                                "value": "2"
+                            },
+                            {
+                                "desc": "100%% White",
+                                "name": "white",
+                                "value": "3"
+                            },
+                            {
+                                "desc": "Red",
+                                "name": "red",
+                                "value": "4"
+                            },
+                            {
+                                "desc": "Green",
+                                "name": "green",
+                                "value": "5"
+                            },
+                            {
+                                "desc": "Blue",
+                                "name": "blue",
+                                "value": "6"
+                            },
+                            {
+                                "desc": "Checkers 1px",
+                                "name": "checkers-1",
+                                "value": "7"
+                            },
+                            {
+                                "desc": "Checkers 2px",
+                                "name": "checkers-2",
+                                "value": "8"
+                            },
+                            {
+                                "desc": "Checkers 4px",
+                                "name": "checkers-4",
+                                "value": "9"
+                            },
+                            {
+                                "desc": "Checkers 8px",
+                                "name": "checkers-8",
+                                "value": "10"
+                            },
+                            {
+                                "desc": "Circular",
+                                "name": "circular",
+                                "value": "11"
+                            },
+                            {
+                                "desc": "Blink",
+                                "name": "blink",
+                                "value": "12"
+                            },
+                            {
+                                "desc": "SMPTE 75%% color bars",
+                                "name": "smpte75",
+                                "value": "13"
+                            },
+                            {
+                                "desc": "Zone plate",
+                                "name": "zone-plate",
+                                "value": "14"
+                            },
+                            {
+                                "desc": "Gamut checkers",
+                                "name": "gamut",
+                                "value": "15"
+                            },
+                            {
+                                "desc": "Chroma zone plate",
+                                "name": "chroma-zone-plate",
+                                "value": "16"
+                            },
+                            {
+                                "desc": "Solid color",
+                                "name": "solid-color",
+                                "value": "17"
+                            },
+                            {
+                                "desc": "Moving ball",
+                                "name": "ball",
+                                "value": "18"
+                            },
+                            {
+                                "desc": "SMPTE 100%% color bars",
+                                "name": "smpte100",
+                                "value": "19"
+                            },
+                            {
+                                "desc": "Bar",
+                                "name": "bar",
+                                "value": "20"
+                            },
+                            {
+                                "desc": "Pinwheel",
+                                "name": "pinwheel",
+                                "value": "21"
+                            },
+                            {
+                                "desc": "Spokes",
+                                "name": "spokes",
+                                "value": "22"
+                            },
+                            {
+                                "desc": "Gradient",
+                                "name": "gradient",
+                                "value": "23"
+                            },
+                            {
+                                "desc": "Colors",
+                                "name": "colors",
+                                "value": "24"
+                            }
+                        ],
+                        "writable": true
+                    },
+                    "timestamp-offset": {
+                        "blurb": "An offset added to timestamps set on buffers (in ns)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "0",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "typefind": {
+                        "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "xoffset": {
+                        "blurb": "Zoneplate 2nd order products x offset",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "yoffset": {
+                        "blurb": "Zoneplate 2nd order products y offset",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgstvideotestsrc.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "volume": {
+        "description": "plugin for controlling audio volume",
+        "elements": {
+            "volume": {
+                "author": "Andy Wingo <wingo@pobox.com>",
+                "description": "Set volume on audio/raw streams",
+                "hierarchy": [
+                    "GstVolume",
+                    "GstAudioFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Audio",
+                "long-name": "Volume",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-raw:\n         format: { F32LE, F64LE, S8, S16LE, S24LE, S32LE }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { F32LE, F64LE, S8, S16LE, S24LE, S32LE }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "mute": {
+                        "blurb": "mute channel",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "volume": {
+                        "blurb": "volume factor, 1.0=100%%",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "10",
+                        "min": "0",
+                        "type-name": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgstvolume.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "vorbis": {
+        "description": "Vorbis plugin library",
+        "elements": {
+            "vorbisdec": {
+                "author": "Benjamin Otte <otte@gnome.org>, Chris Lord <chris@openedhand.com>",
+                "description": "decode raw vorbis streams to float audio",
+                "hierarchy": [
+                    "GstVorbisDec",
+                    "GstAudioDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Audio",
+                "long-name": "Vorbis audio decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-vorbis:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: F32LE\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 256 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "min-latency": {
+                        "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "0",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "plc": {
+                        "blurb": "Perform packet loss concealment (if supported)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "tolerance": {
+                        "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "0",
+                        "type-name": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            },
+            "vorbisenc": {
+                "author": "Monty <monty@xiph.org>, Wim Taymans <wim@fluendo.com>",
+                "description": "Encodes audio in Vorbis format",
+                "hierarchy": [
+                    "GstVorbisEnc",
+                    "GstAudioEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Encoder/Audio",
+                "long-name": "Vorbis audio encoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-raw:\n         format: F32LE\n         layout: interleaved\n           rate: [ 1, 200000 ]\n       channels: 1\naudio/x-raw:\n         format: F32LE\n         layout: interleaved\n           rate: [ 1, 200000 ]\n       channels: 2\n   channel-mask: 0x0000000000000003\naudio/x-raw:\n         format: F32LE\n         layout: interleaved\n           rate: [ 1, 200000 ]\n       channels: 3\n   channel-mask: 0x0000000000000007\naudio/x-raw:\n         format: F32LE\n         layout: interleaved\n           rate: [ 1, 200000 ]\n       channels: 4\n   channel-mask: 0x0000000000000033\naudio/x-raw:\n         format: F32LE\n         layout: interleaved\n           rate: [ 1, 200000 ]\n       channels: 5\n   channel-mask: 0x0000000000000037\naudio/x-raw:\n         format: F32LE\n         layout: interleaved\n           rate: [ 1, 200000 ]\n       channels: 6\n   channel-mask: 0x000000000000003f\naudio/x-raw:\n         format: F32LE\n         layout: interleaved\n           rate: [ 1, 200000 ]\n       channels: 7\n   channel-mask: 0x0000000000000d0f\naudio/x-raw:\n         format: F32LE\n         layout: interleaved\n           rate: [ 1, 200000 ]\n       channels: 8\n   channel-mask: 0x0000000000000c3f\naudio/x-raw:\n         format: F32LE\n         layout: interleaved\n           rate: [ 1, 200000 ]\n       channels: [ 9, 255 ]\n   channel-mask: 0x0000000000000000\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-vorbis:\n           rate: [ 1, 200000 ]\n       channels: [ 1, 255 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "bitrate": {
+                        "blurb": "Attempt to encode at a bitrate averaging this (in bps). This uses the bitrate management engine, and is not recommended for most users. Quality is a better alternative. (-1 == disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "250001",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "hard-resync": {
+                        "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "last-message": {
+                        "blurb": "The last status message",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": false
+                    },
+                    "managed": {
+                        "blurb": "Enable bitrate management engine",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "mark-granule": {
+                        "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": false
+                    },
+                    "max-bitrate": {
+                        "blurb": "Specify a maximum bitrate (in bps). Useful for streaming applications. (-1 == disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "250001",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "min-bitrate": {
+                        "blurb": "Specify a minimum bitrate (in bps). Useful for encoding for a fixed-size channel. (-1 == disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "-1",
+                        "max": "250001",
+                        "min": "-1",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "perfect-timestamp": {
+                        "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "quality": {
+                        "blurb": "Specify quality instead of specifying a particular bitrate.",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0.3",
+                        "max": "1",
+                        "min": "-0.1",
+                        "type-name": "gfloat",
+                        "writable": true
+                    },
+                    "tolerance": {
+                        "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "40000000",
+                        "max": "9223372036854775807",
+                        "min": "0",
+                        "type-name": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            },
+            "vorbisparse": {
+                "author": "Thomas Vander Stichele <thomas at apestaart dot org>",
+                "description": "parse raw vorbis streams",
+                "hierarchy": [
+                    "GstVorbisParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Parser/Audio",
+                "long-name": "VorbisParse",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-vorbis:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-vorbis:\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "vorbistag": {
+                "author": "James Livingston <doclivingston@gmail.com>",
+                "description": "Retags vorbis streams",
+                "hierarchy": [
+                    "GstVorbisTag",
+                    "GstVorbisParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Formatter/Metadata",
+                "long-name": "VorbisTag",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-vorbis:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-vorbis:\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "libgstvorbis.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "ximagesink": {
+        "description": "X11 video output element based on standard Xlib calls",
+        "elements": {
+            "ximagesink": {
+                "author": "Julien Moutte <julien@moutte.net>",
+                "description": "A standard X based videosink",
+                "hierarchy": [
+                    "GstXImageSink",
+                    "GstVideoSink",
+                    "GstBaseSink",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Sink/Video",
+                "long-name": "Video sink",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async": {
+                        "blurb": "Go asynchronously to PAUSED",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "display": {
+                        "blurb": "X Display name",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "enable-last-sample": {
+                        "blurb": "Enable the last-sample property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "force-aspect-ratio": {
+                        "blurb": "When enabled, reverse caps negotiation (scaling) will respect original aspect ratio",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "handle-events": {
+                        "blurb": "When enabled, XEvents will be selected and handled",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "handle-expose": {
+                        "blurb": "When enabled, the current frame will always be drawn in response to X Expose events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "last-sample": {
+                        "blurb": "The last sample received in the sink",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "max-bitrate": {
+                        "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-lateness": {
+                        "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "5000000",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "pixel-aspect-ratio": {
+                        "blurb": "The pixel aspect ratio of the device",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "processing-deadline": {
+                        "blurb": "Maximum processing deadline in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "15000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Generate Quality-of-Service events upstream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "render-delay": {
+                        "blurb": "Additional render delay of the sink in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "show-preroll-frame": {
+                        "blurb": "Whether to render video frames during preroll",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "sync": {
+                        "blurb": "Sync on the clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "synchronous": {
+                        "blurb": "When enabled, runs the X display in synchronous mode. (unrelated to A/V sync, used only for debugging)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "throttle-time": {
+                        "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "ts-offset": {
+                        "blurb": "Timestamp offset in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "window-height": {
+                        "blurb": "Height of the window",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "window-width": {
+                        "blurb": "Width of the window",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    }
+                },
+                "rank": "secondary"
+            }
+        },
+        "filename": "libgstximagesink.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    },
+    "xvimagesink": {
+        "description": "XFree86 video output plugin using Xv extension",
+        "elements": {
+            "xvimagesink": {
+                "author": "Julien Moutte <julien@moutte.net>",
+                "description": "A Xv based videosink",
+                "hierarchy": [
+                    "GstXvImageSink",
+                    "GstVideoSink",
+                    "GstBaseSink",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Sink/Video",
+                "long-name": "Video sink",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "async": {
+                        "blurb": "Go asynchronously to PAUSED",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "autopaint-colorkey": {
+                        "blurb": "Whether to autofill overlay with colorkey",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "type-name": "guint",
+                        "writable": true
+                    },
+                    "brightness": {
+                        "blurb": "The brightness of the video",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1000",
+                        "min": "-1000",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "colorkey": {
+                        "blurb": "Color to use for the overlay mask",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "526352",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "contrast": {
+                        "blurb": "The contrast of the video",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1000",
+                        "min": "-1000",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "device": {
+                        "blurb": "The number of the video adaptor",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "device-name": {
+                        "blurb": "The name of the video adaptor",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": false
+                    },
+                    "display": {
+                        "blurb": "X Display name",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "double-buffer": {
+                        "blurb": "Whether to double-buffer the output",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "draw-borders": {
+                        "blurb": "Draw black borders to fill unused area in force-aspect-ratio mode",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "enable-last-sample": {
+                        "blurb": "Enable the last-sample property",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "force-aspect-ratio": {
+                        "blurb": "When enabled, scaling will respect original aspect ratio",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "handle-events": {
+                        "blurb": "When enabled, XEvents will be selected and handled",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "handle-expose": {
+                        "blurb": "When enabled, the current frame will always be drawn in response to X Expose events",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "hue": {
+                        "blurb": "The hue of the video",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1000",
+                        "min": "-1000",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "last-sample": {
+                        "blurb": "The last sample received in the sink",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstSample",
+                        "writable": false
+                    },
+                    "max-bitrate": {
+                        "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "max-lateness": {
+                        "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "5000000",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "name": {
+                        "blurb": "The name of the object",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "parent": {
+                        "blurb": "The parent of the object",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstObject",
+                        "writable": true
+                    },
+                    "pixel-aspect-ratio": {
+                        "blurb": "The pixel aspect ratio of the device",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "NULL",
+                        "type-name": "gchararray",
+                        "writable": true
+                    },
+                    "processing-deadline": {
+                        "blurb": "Maximum processing deadline in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "15000000",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "qos": {
+                        "blurb": "Generate Quality-of-Service events upstream",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "render-delay": {
+                        "blurb": "Additional render delay of the sink in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "render-rectangle": {
+                        "blurb": "The render rectangle ('<x, y, width, height>')",
+                        "construct": false,
+                        "construct-only": false,
+                        "type-name": "GstValueArray",
+                        "writable": true
+                    },
+                    "saturation": {
+                        "blurb": "The saturation of the video",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "1000",
+                        "min": "-1000",
+                        "type-name": "gint",
+                        "writable": true
+                    },
+                    "show-preroll-frame": {
+                        "blurb": "Whether to render video frames during preroll",
+                        "construct": true,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "sync": {
+                        "blurb": "Sync on the clock",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "synchronous": {
+                        "blurb": "When enabled, runs the X display in synchronous mode. (unrelated to A/V sync, used only for debugging)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "false",
+                        "type-name": "gboolean",
+                        "writable": true
+                    },
+                    "throttle-time": {
+                        "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": true
+                    },
+                    "ts-offset": {
+                        "blurb": "Timestamp offset in nanoseconds",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "type-name": "gint64",
+                        "writable": true
+                    },
+                    "window-height": {
+                        "blurb": "Height of the window",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    },
+                    "window-width": {
+                        "blurb": "Width of the window",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "type-name": "guint64",
+                        "writable": false
+                    }
+                },
+                "rank": "primary"
+            }
+        },
+        "filename": "libgstxvimagesink.so",
+        "license": "LGPL",
+        "package": "GStreamer Base Plug-ins git",
+        "source": "gst-plugins-base",
+        "url": "Unknown package origin"
+    }
+}
\ No newline at end of file
diff --git a/docs/plugins/index.md b/docs/plugins/index.md
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/docs/plugins/sitemap.txt b/docs/plugins/sitemap.txt
new file mode 100644 (file)
index 0000000..058a271
--- /dev/null
@@ -0,0 +1 @@
+gst-index
diff --git a/docs/sitemap.txt b/docs/sitemap.txt
new file mode 100644 (file)
index 0000000..d845de6
--- /dev/null
@@ -0,0 +1,3 @@
+index.md
+        gst-plugins-base-libs-doc.json
+        gst-plugins-base-plugins-doc.json
diff --git a/docs/version.in b/docs/version.in
new file mode 100644 (file)
index 0000000..a75a366
--- /dev/null
@@ -0,0 +1 @@
+@GST_API_VERSION@
\ No newline at end of file
index 7ad4ed7..50d26b8 100644 (file)
@@ -19,4 +19,5 @@ if alsa_dep.found()
     install_dir : plugins_install_dir,
   )
   pkgconfig.generate(gstalsa, install_dir : plugins_pkgconfig_install_dir)
+  plugins += [gstalsa]
 endif
index 5166fbf..89fa6f0 100644 (file)
@@ -38,4 +38,5 @@ if cdparanoia_found
     install_dir : plugins_install_dir,
   )
   pkgconfig.generate(gstcdparanoia, install_dir : plugins_pkgconfig_install_dir)
+  plugins += [gstcdparanoia]
 endif
index 8bbbcbe..834c13d 100644 (file)
@@ -123,3 +123,4 @@ gstopengl = library('gstopengl',
   install_dir : plugins_install_dir)
 
 pkgconfig.generate(gstopengl, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstopengl]
\ No newline at end of file
index 48498c2..fb921fd 100644 (file)
@@ -18,4 +18,5 @@ if libvisual_dep.found()
     install_dir : plugins_install_dir,
   )
   pkgconfig.generate(gstlibvisual, install_dir : plugins_pkgconfig_install_dir)
+  plugins += [gstlibvisual]
 endif
index 1ab0430..2272844 100644 (file)
@@ -24,4 +24,5 @@ if ogg_dep.found()
     install_dir : plugins_install_dir,
   )
   pkgconfig.generate(gstogg, install_dir : plugins_pkgconfig_install_dir)
+  plugins += [gstogg]
 endif
index 86abba0..1dadcbf 100644 (file)
@@ -19,4 +19,5 @@ if opus_dep.found()
     install_dir : plugins_install_dir,
   )
   pkgconfig.generate(gstopus, install_dir : plugins_pkgconfig_install_dir)
+  plugins += [gstopus]
 endif
index 01baa31..418d0b9 100644 (file)
@@ -19,4 +19,5 @@ if pango_dep.found()
     install_dir : plugins_install_dir,
   )
   pkgconfig.generate(gstpango, install_dir : plugins_pkgconfig_install_dir)
+  plugins += [gstpango]
 endif
index 552068b..90118fb 100644 (file)
@@ -37,8 +37,8 @@
  * set up a correct cropping region if the dimensions are not multiples of 16
  * pixels.
  *
- * To control the quality of the encoding, the #GstTheoraEnc::bitrate and
- * #GstTheoraEnc::quality properties can be used. These two properties are
+ * To control the quality of the encoding, the #GstTheoraEnc:bitrate and
+ * #GstTheoraEnc:quality properties can be used. These two properties are
  * mutualy exclusive. Setting the bitrate property will produce a constant
  * bitrate (CBR) stream while setting the quality property will produce a
  * variable bitrate (VBR) stream.
@@ -704,7 +704,7 @@ theora_enc_init_buffer (th_ycbcr_buffer buf, GstVideoFrame * frame)
   GstVideoInfo vinfo;
   guint i;
 
-  /* According to Theora developer Timothy Terriberry, the Theora 
+  /* According to Theora developer Timothy Terriberry, the Theora
    * encoder will not use memory outside of pic_width/height, even when
    * the frame size is bigger. The values outside this region will be encoded
    * to default values.
index cd5e30a..0949924 100644 (file)
@@ -27,4 +27,5 @@ if theoradec_dep.found() or theoraenc_dep.found()
     install_dir : plugins_install_dir,
   )
   pkgconfig.generate(gsttheora, install_dir : plugins_pkgconfig_install_dir)
+  plugins += [gsttheora]
 endif
index 3da041b..f008d84 100644 (file)
@@ -40,6 +40,7 @@ if vorbis_dep.found()
     install_dir : plugins_install_dir,
   )
   pkgconfig.generate(gstvorbis, install_dir : plugins_pkgconfig_install_dir)
+  plugins += [gstvorbis]
 endif
 
 if vorbisidec_dep.found()
@@ -55,4 +56,5 @@ if vorbisidec_dep.found()
     install_dir : plugins_install_dir,
   )
   pkgconfig.generate(gstivorbisdec, install_dir : plugins_pkgconfig_install_dir)
+  plugins += [gstivorbisdec]
 endif
index 1593417..3242c3c 100644 (file)
  * SECTION:encoding-profile
  * @title: GstEncodingProfile
  * @short_description: Encoding profile library
+ * @symbols:
+ * - GstEncodingProfile
+ * - GstEncodingContainerProfile
+ * - GstEncodingVideoProfile
+ * - GstEncodingAudioProfile
  *
  * Functions to create and handle encoding profiles.
  *
index 7ba1ff1..6e47908 100644 (file)
@@ -28,3 +28,4 @@ adder = library('gstadder',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(adder, install_dir : plugins_pkgconfig_install_dir)
+plugins += [adder]
index 2bf4c10..79b3142 100644 (file)
@@ -7,3 +7,5 @@ gstapp_plugin = library('gstapp',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstapp_plugin, install_dir : plugins_pkgconfig_install_dir)
+
+plugins += [gstapp_plugin]
index e7a1527..55ea1c5 100644 (file)
@@ -12,3 +12,4 @@ gstaudioconvert = library('gstaudioconvert',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstaudioconvert, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstaudioconvert]
index 0bca202..6bd3fe5 100644 (file)
@@ -31,3 +31,4 @@ gstaudiomixer = library('gstaudiomixer',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstaudiomixer, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstaudiomixer]
index 22bad0d..a571d16 100644 (file)
@@ -7,3 +7,4 @@ audiorate = library('gstaudiorate',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(audiorate, install_dir : plugins_pkgconfig_install_dir)
+plugins += [audiorate]
index 53c428b..4fbd1e8 100644 (file)
@@ -9,3 +9,4 @@ audioresample = library('gstaudioresample',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(audioresample, install_dir : plugins_pkgconfig_install_dir)
+plugins += [audioresample]
index 8fa6a40..d9dd5ce 100644 (file)
@@ -7,3 +7,4 @@ audiotest = library('gstaudiotestsrc',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(audiotest, install_dir : plugins_pkgconfig_install_dir)
+plugins += [audiotest]
index 4f38fe7..8d81b86 100644 (file)
@@ -31,3 +31,4 @@ gstcompositor = library('gstcompositor',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstcompositor, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstcompositor]
index 296c13c..645011c 100644 (file)
@@ -13,3 +13,4 @@ gstencoding = library('gstencoding',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstencoding, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstencoding]
index 7925216..fea4be6 100644 (file)
@@ -16,3 +16,4 @@ gstgio = library('gstgio',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstgio, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstgio]
index b256b57..9566c83 100644 (file)
@@ -11,3 +11,4 @@ gstpbtypes = library('gstpbtypes',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstpbtypes, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstpbtypes]
index fc0e5d9..babcb6e 100644 (file)
@@ -27,3 +27,4 @@ gstplayback = library('gstplayback',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstplayback, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstplayback]
index ff12429..1bdd493 100644 (file)
@@ -16,4 +16,5 @@ gstrawparse = library('gstrawparse',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstrawparse, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstrawparse]
 
index a31bde3..9a76601 100644 (file)
@@ -16,3 +16,4 @@ gstsubparse = library('gstsubparse',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstsubparse, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstsubparse]
index 77b813a..d89e265 100644 (file)
@@ -22,3 +22,4 @@ gsttcp = library('gsttcp',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gsttcp, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gsttcp]
index 09a2c71..ad9853f 100644 (file)
@@ -7,3 +7,4 @@ gsttypefind = library('gsttypefindfunctions',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gsttypefind, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gsttypefind]
index 8dda897..2798f8d 100644 (file)
@@ -11,3 +11,4 @@ gstvideoconvert = library('gstvideoconvert',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstvideoconvert, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstvideoconvert]
index f260790..9535156 100644 (file)
@@ -7,3 +7,4 @@ gstvideorate = library('gstvideorate',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstvideorate, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstvideorate]
index 7e4bf2f..7dc39fb 100644 (file)
@@ -11,3 +11,4 @@ gstvideoscale = library('gstvideoscale',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstvideoscale, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstvideoscale]
index 6a81838..df6725c 100644 (file)
@@ -28,3 +28,4 @@ gstvideotestsrc = library('gstvideotestsrc',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstvideotestsrc, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstvideotestsrc]
index 3af909f..3a08684 100644 (file)
@@ -27,3 +27,4 @@ gstvolume = library('gstvolume', 'gstvolume.c', orc_c, orc_h,
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstvolume, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstvolume]
index d5a05d0..1a6bdd6 100644 (file)
@@ -1,6 +1,6 @@
 project('gst-plugins-base', 'c',
   version : '1.17.0.1',
-  meson_version : '>= 0.47',
+  meson_version : '>= 0.48',
   default_options : [ 'warning_level=1',
                       'buildtype=debugoptimized' ])
 
@@ -32,6 +32,7 @@ libversion = '@0@.@1@.0'.format(soversion, curversion)
 osxversion = curversion + 1
 
 plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
+plugins = []
 
 cc = meson.get_compiler('c')
 host_system = host_machine.system()
@@ -371,6 +372,7 @@ if get_option('default_library') == 'shared'
   plugins_pkgconfig_install_dir = disabler()
 endif
 
+python3 = import('python').find_installation()
 subdir('gst-libs')
 subdir('gst')
 subdir('ext')
@@ -380,25 +382,14 @@ if not get_option('tools').disabled()
 endif
 subdir('tests')
 subdir('pkgconfig')
-
 # xgettext is optional (on Windows for instance)
 if find_program('xgettext', required : get_option('nls')).found()
   core_conf.set('ENABLE_NLS', 1)
   subdir('po')
 endif
-
-if build_machine.system() == 'windows'
-  message('Disabling gtk-doc while building on Windows')
-else
-  if find_program('gtkdoc-scan', required : get_option('gtk_doc')).found()
-    subdir('docs')
-  else
-    message('Not building documentation as gtk-doc was not found')
-  endif
-endif
+subdir('docs')
 
 # Use core_conf after all subdirs have set values
 configure_file(output : 'config.h', configuration : core_conf)
 
-python3 = import('python').find_installation()
 run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
index 2983409..141bb3e 100644 (file)
@@ -69,7 +69,6 @@ option('xvideo', type : 'feature', value : 'auto', description : 'X11 XVideo xvi
 option('examples', type : 'feature', value : 'auto', yield : true)
 option('tests', type : 'feature', value : 'auto', yield : true)
 option('tools', type : 'feature', value : 'auto', yield : true)
-option('gtk_doc', type : 'feature', value : 'auto', yield : true, description : 'Build API documentation with gtk-doc')
 option('introspection', type : 'feature', value : 'auto', yield : true, description : 'Generate gobject-introspection bindings')
 option('nls', type : 'feature', value : 'auto', yield: true, description : 'Enable native language support (translations)')
 option('orc', type : 'feature', value : 'auto', yield : true)
@@ -85,3 +84,5 @@ option('package-name', type : 'string', yield : true,
        description : 'package name to use in plugins')
 option('package-origin', type : 'string', value : 'Unknown package origin', yield : true,
        description : 'package origin URL to use in plugins')
+option('doc', type : 'feature', value : 'auto', yield: true,
+       description: 'Enable documentation.')
\ No newline at end of file
index b1bcf1d..f01bc20 100644 (file)
@@ -7,3 +7,4 @@ gstximage = library('gstximagesink',
   install_dir : plugins_install_dir,
 )
 pkgconfig.generate(gstximage, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstximage]
index 2f48645..17a736a 100644 (file)
@@ -19,4 +19,5 @@ if xvideo_dep.found()
     install_dir : plugins_install_dir,
   )
   pkgconfig.generate(gstxvimage, install_dir : plugins_pkgconfig_install_dir)
+  plugins += [gstxvimage]
 endif