[gstreamermm/devel-other-plugins] gen_scripts: add gst-plugins-bad to gen_scripts



commit fa87772138b73284493ef959c4cfb4725c689d6e
Author: Marcin Kolny <marcin kolny flytronic pl>
Date:   Wed Jul 22 13:08:56 2015 +0200

    gen_scripts: add gst-plugins-bad to gen_scripts
    
        * gst-plugins-bad/src/gst_docs.xml:
        * gst-plugins-bad/src/gst_enums.defs:
        * gst-plugins-bad/src/gst_methods.defs: add gst-plugins-bad defs
          files.
        * gstreamer/src/gst_docs.xml:
        * gstreamer/src/gst_enums.defs:
        * gstreamer/src/gst_enums.defs.patch:
        * gstreamer/src/gst_methods.defs: update gstreamer and
          gst-plugins-base defs files.
        * tools/gen_scripts/generate_docs.sh:
        * tools/gen_scripts/generate_enums.sh:
        * tools/gen_scripts/generate_methods.sh: add to gen-scripts generatign
          gst-plugins-bad definitions.

 gst-plugins-bad/src/gst_docs.xml      | 9687 +++++++++++++++++++++++++++++++++
 gst-plugins-bad/src/gst_enums.defs    | 3314 +++++++++++
 gst-plugins-bad/src/gst_methods.defs  | 6526 ++++++++++++++++++++++
 gstreamer/src/gst_docs.xml            | 1773 ++++++-
 gstreamer/src/gst_enums.defs          | 3314 -----------
 gstreamer/src/gst_enums.defs.patch    |    2 -
 gstreamer/src/gst_methods.defs        | 7128 ++----------------------
 tools/gen_scripts/generate_docs.sh    |   13 +
 tools/gen_scripts/generate_enums.sh   |    9 +-
 tools/gen_scripts/generate_methods.sh |    8 +-
 10 files changed, 21925 insertions(+), 9849 deletions(-)
---
diff --git a/gst-plugins-bad/src/gst_docs.xml b/gst-plugins-bad/src/gst_docs.xml
new file mode 100644
index 0000000..1c0628e
--- /dev/null
+++ b/gst-plugins-bad/src/gst_docs.xml
@@ -0,0 +1,9687 @@
+<root>
+<enum name="GstCameraBinMode">
+<description>
+Capture mode to use.
+
+</description>
+<parameters>
+<parameter name="MODE_IMAGE">
+<parameter_description> image capture
+</parameter_description>
+</parameter>
+<parameter name="MODE_VIDEO">
+<parameter_description> video capture
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<signal name="GstGLDisplay::create-context">
+<description>
+Overrides the @GstGLContext creation mechanism.
+It can be called in any thread and it is emitted with
+display's object lock held.
+
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> the #GstGLDisplay
+</parameter_description>
+</parameter>
+<parameter name="context">
+<parameter_description> other context to share resources with.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new context.
+</return>
+</signal>
+
+<enum name="GstGLUploadReturn">
+<description>
+
+</description>
+<parameters>
+<parameter name="GST_GL_UPLOAD_DONE">
+<parameter_description> No further processing required
+</parameter_description>
+</parameter>
+<parameter name="GST_GL_UPLOAD_ERROR">
+<parameter_description> An unspecified error occured
+</parameter_description>
+</parameter>
+<parameter name="GST_GL_UPLOAD_UNSUPPORTED">
+<parameter_description> The configuration is unsupported.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<signal name="GstGLWindow::key-event">
+<description>
+Will be emitted when a key event is received by the GstGLwindow.
+
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> the #GstGLWindow
+</parameter_description>
+</parameter>
+<parameter name="id">
+<parameter_description> the name of the event
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> the id of the key pressed
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GstGLWindow::mouse-event">
+<description>
+Will be emitted when a mouse event is received by the GstGLwindow.
+
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> the #GstGLWindow
+</parameter_description>
+</parameter>
+<parameter name="id">
+<parameter_description> the name of the event
+</parameter_description>
+</parameter>
+<parameter name="button">
+<parameter_description> the id of the button
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate of the mouse event
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate of the mouse event
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+
+<enum name="GstH264FramePackingType">
+<description>
+Frame packing arrangement types.
+
+
+</description>
+<parameters>
+<parameter name="GST_H264_FRAME_PACKING_NONE">
+<parameter_description> A complete 2D frame without any frame packing
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_FRAME_PACKING_CHECKERBOARD_INTERLEAVING">
+<parameter_description> Checkerboard
+based interleaving
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_FRAME_PACKING_COLUMN_INTERLEAVING">
+<parameter_description> Column based interleaving
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_FRAME_PACKING_ROW_INTERLEAVING">
+<parameter_description> Row based interleaving
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_FRAME_PACKING_SIDE_BY_SIDE">
+<parameter_description> Side-by-side packing
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_FRMAE_PACKING_TOP_BOTTOM">
+<parameter_description> Top-Bottom packing
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_FRAME_PACKING_TEMPORAL_INTERLEAVING">
+<parameter_description> Temporal interleaving
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstH264NalUnitExtensionType">
+<description>
+Indicates the type of H.264 NAL unit extension.
+
+
+</description>
+<parameters>
+<parameter name="GST_H264_NAL_EXTENSION_NONE">
+<parameter_description> No NAL unit header extension is available
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_EXTENSION_SVC">
+<parameter_description> NAL unit header extension for SVC (Annex G)
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_EXTENSION_MVC">
+<parameter_description> NAL unit header extension for MVC (Annex H)
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstH264NalUnitType">
+<description>
+Indicates the type of H264 Nal Units
+
+</description>
+<parameters>
+<parameter name="GST_H264_NAL_UNKNOWN">
+<parameter_description> Unknown nal type
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_SLICE">
+<parameter_description> Slice nal
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_SLICE_DPA">
+<parameter_description> DPA slice nal
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_SLICE_DPB">
+<parameter_description> DPB slice nal
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_SLICE_DPC">
+<parameter_description> DPC slice nal
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_SLICE_IDR">
+<parameter_description> DPR slice nal
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_SEI">
+<parameter_description> Supplemental enhancement information (SEI) nal unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_SPS">
+<parameter_description> Sequence parameter set (SPS) nal unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_PPS">
+<parameter_description> Picture parameter set (PPS) nal unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_AU_DELIMITER">
+<parameter_description> Access unit (AU) delimiter nal unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_SEQ_END">
+<parameter_description> End of sequence nal unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_STREAM_END">
+<parameter_description> End of stream nal unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_FILLER_DATA">
+<parameter_description> Filler data nal lunit
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_SPS_EXT">
+<parameter_description> Sequence parameter set (SPS) extension NAL unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_PREFIX_UNIT">
+<parameter_description> Prefix NAL unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_SUBSET_SPS">
+<parameter_description> Subset sequence parameter set (SPS) NAL unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_SLICE_AUX">
+<parameter_description> Auxiliary coded picture without partitioning NAL unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_NAL_SLICE_EXT">
+<parameter_description> Coded slice extension NAL unit
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstH264ParserResult">
+<description>
+The result of parsing H264 data.
+
+</description>
+<parameters>
+<parameter name="GST_H264_PARSER_OK">
+<parameter_description> The parsing succeded
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PARSER_BROKEN_DATA">
+<parameter_description> The data to parse is broken
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PARSER_BROKEN_LINK">
+<parameter_description> The link to structure needed for the parsing couldn't be found
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PARSER_ERROR">
+<parameter_description> An error occured when parsing
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PARSER_NO_NAL">
+<parameter_description> No nal found during the parsing
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PARSER_NO_NAL_END">
+<parameter_description> Start of the nal found, but not the end.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstH264Profile">
+<description>
+H.264 Profiles.
+
+
+</description>
+<parameters>
+<parameter name="GST_H264_PROFILE_BASELINE">
+<parameter_description> Baseline profile (A.2.1)
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PROFILE_MAIN">
+<parameter_description> Main profile (A.2.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PROFILE_EXTENDED">
+<parameter_description> Extended profile (A.2.3)
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PROFILE_HIGH">
+<parameter_description> High profile (A.2.4)
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PROFILE_HIGH10">
+<parameter_description> High 10 profile (A.2.5) or High 10 Intra
+profile (A.2.8), depending on constraint_set3_flag
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PROFILE_HIGH_422">
+<parameter_description> High 4:2:2 profile (A.2.6) or High
+4:2:2 Intra profile (A.2.9), depending on constraint_set3_flag
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PROFILE_HIGH_444">
+<parameter_description> High 4:4:4 Predictive profile (A.2.7)
+or High 4:4:4 Intra profile (A.2.10), depending on the value of
+constraint_set3_flag
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PROFILE_MULTIVIEW_HIGH">
+<parameter_description> Multiview High profile (H.10.1.1)
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PROFILE_STEREO_HIGH">
+<parameter_description> Stereo High profile (H.10.1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PROFILE_SCALABLE_BASELINE">
+<parameter_description> Scalable Baseline profile (G.10.1.1)
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_PROFILE_SCALABLE_HIGH">
+<parameter_description> Scalable High profile (G.10.1.2)
+or Scalable High Intra profile (G.10.1.3), depending on the value
+of constraint_set3_flag
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstH264SEIPayloadType">
+<description>
+The type of SEI message.
+
+</description>
+<parameters>
+<parameter name="GST_H264_SEI_BUF_PERIOD">
+<parameter_description> Buffering Period SEI Message
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_SEI_PIC_TIMING">
+<parameter_description> Picture Timing SEI Message
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_SEI_RECOVERY_POINT">
+<parameter_description> Recovery Point SEI Message (D.2.7)
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_SEI_STEREO_VIDEO_INFO">
+<parameter_description> stereo video info SEI message (Since: 1.6)
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_SEI_FRAME_PACKING">
+<parameter_description> Frame Packing Arrangement (FPA) message that
+contains the 3D arrangement for stereoscopic 3D video (Since: 1.6)
+...
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstH264SEIPicStructType">
+<description>
+SEI pic_struct type
+
+</description>
+<parameters>
+<parameter name="GST_H264_SEI_PIC_STRUCT_FRAME">
+<parameter_description> Picture is a frame
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_SEI_PIC_STRUCT_TOP_FIELD">
+<parameter_description> Top field of frame
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_SEI_PIC_STRUCT_BOTTOM_FIELD">
+<parameter_description> Botom field of frame
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_SEI_PIC_STRUCT_TOP_BOTTOM">
+<parameter_description> Top bottom field of frame
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_SEI_PIC_STRUCT_BOTTOM_TOP">
+<parameter_description> bottom top field of frame
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_SEI_PIC_STRUCT_TOP_BOTTOM_TOP">
+<parameter_description> top bottom top field of frame
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM">
+<parameter_description> bottom top bottom field of frame
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_SEI_PIC_STRUCT_FRAME_DOUBLING">
+<parameter_description> indicates that the frame should
+be displayed two times consecutively
+</parameter_description>
+</parameter>
+<parameter name="GST_H264_SEI_PIC_STRUCT_FRAME_TRIPLING">
+<parameter_description> indicates that the frame should be
+displayed three times consecutively
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstH265NalUnitType">
+<description>
+Indicates the type of H265 Nal Units
+
+</description>
+<parameters>
+<parameter name="GST_H265_NAL_SLICE_TRAIL_N">
+<parameter_description> Slice nal of a non-TSA, non-STSA trailing picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_TRAIL_R">
+<parameter_description> Slice nal of a non-TSA, non-STSA trailing picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_TSA_N">
+<parameter_description> Slice nal of a TSA picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_TSA_R">
+<parameter_description> Slice nal of a TSA picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_STSA_N">
+<parameter_description> Slice nal of a STSA picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_STSA_R">
+<parameter_description> Slice nal of a STSA picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_RADL_N">
+<parameter_description> Slice nal of a RADL picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_RADL_R">
+<parameter_description> Slice nal of a RADL piicture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_RASL_N">
+<parameter_description> Slice nal of a RASL picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_RASL_R">
+<parameter_description> Slice nal of a RASL picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_BLA_W_LP">
+<parameter_description> Slice nal of a BLA picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_BLA_W_RADL">
+<parameter_description> Slice nal of a BLA picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_BLA_N_LP">
+<parameter_description> Slice nal of a BLA picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_IDR_W_RADL">
+<parameter_description> Slice nal of an IDR picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_IDR_N_LP">
+<parameter_description> Slice nal of an IDR picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SLICE_CRA_NUT">
+<parameter_description> Slice nal of a CRA picture
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_VPS">
+<parameter_description> Video parameter set(VPS) nal unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SPS">
+<parameter_description> Sequence parameter set (SPS) nal unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_PPS">
+<parameter_description> Picture parameter set (PPS) nal unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_AUD">
+<parameter_description> Access unit (AU) delimiter nal unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_EOS">
+<parameter_description> End of sequence (EOS) nal unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_EOB">
+<parameter_description> End of bitstream (EOB) nal unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_FD">
+<parameter_description> Filler data (FD) nal lunit
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_PREFIX_SEI">
+<parameter_description> Supplemental enhancement information prefix nal unit
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_NAL_SUFFIX_SEI">
+<parameter_description> Suppliemental enhancement information suffix nal unit
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstH265ParserResult">
+<description>
+The result of parsing H265 data.
+
+</description>
+<parameters>
+<parameter name="GST_H265_PARSER_OK">
+<parameter_description> The parsing succeded
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_PARSER_BROKEN_DATA">
+<parameter_description> The data to parse is broken
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_PARSER_BROKEN_LINK">
+<parameter_description> The link to structure needed for the parsing couldn't be found
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_PARSER_ERROR">
+<parameter_description> An error accured when parsing
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_PARSER_NO_NAL">
+<parameter_description> No nal found during the parsing
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_PARSER_NO_NAL_END">
+<parameter_description> Start of the nal found, but not the end.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstH265Profile">
+<description>
+H.265 Profiles.
+
+
+</description>
+<parameters>
+<parameter name="GST_H265_PROFILE_MAIN">
+<parameter_description> Main profile (A.3.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_PROFILE_MAIN_10">
+<parameter_description> Main 10 profile (A.3.3)
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_PROFILE_MAIN_STILL_PICTURE">
+<parameter_description> Main Still Picture profile (A.3.4)
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstH265SEIPayloadType">
+<description>
+The type of SEI message.
+
+</description>
+<parameters>
+<parameter name="GST_H265_SEI_BUF_PERIOD">
+<parameter_description> Buffering Period SEI Message
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_SEI_PIC_TIMING">
+<parameter_description> Picture Timing SEI Message
+...
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstH265SEIPicStructType">
+<description>
+SEI pic_struct type
+
+</description>
+<parameters>
+<parameter name="GST_H265_SEI_PIC_STRUCT_FRAME">
+<parameter_description> Picture is a frame
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_SEI_PIC_STRUCT_TOP_FIELD">
+<parameter_description> Top field of frame
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_SEI_PIC_STRUCT_BOTTOM_FIELD">
+<parameter_description> Botom field of frame
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_SEI_PIC_STRUCT_TOP_BOTTOM">
+<parameter_description> Top bottom field of frame
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_SEI_PIC_STRUCT_BOTTOM_TOP">
+<parameter_description> bottom top field of frame
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_SEI_PIC_STRUCT_TOP_BOTTOM_TOP">
+<parameter_description> top bottom top field of frame
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM">
+<parameter_description> bottom top bottom field of frame
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_SEI_PIC_STRUCT_FRAME_DOUBLING">
+<parameter_description> indicates that the frame should
+be displayed two times consecutively
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_SEI_PIC_STRUCT_FRAME_TRIPLING">
+<parameter_description> indicates that the frame should be
+displayed three times consecutively
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_SEI_PIC_STRUCT_TOP_PAIRED_PREVIOUS_BOTTOM">
+<parameter_description> top field paired with
+previous bottom field in output order
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_SEI_PIC_STRUCT_BOTTOM_PAIRED_PREVIOUS_TOP">
+<parameter_description> bottom field paried with
+previous top field in output order
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_SEI_PIC_STRUCT_TOP_PAIRED_NEXT_BOTTOM">
+<parameter_description> top field paired with next
+bottom field in output order
+</parameter_description>
+</parameter>
+<parameter name="GST_H265_SEI_PIC_STRUCT_BOTTOM_PAIRED_NEXT_TOP">
+<parameter_description> bottom field paired with
+next top field in output order
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<signal name="GstInsertBin::append">
+<description>
+This action signal adds the filter like element after any other element
+in the bin.
+
+Same as gst_insert_bin_append()
+
+</description>
+<parameters>
+<parameter name="element">
+<parameter_description> the #GstElement to add
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the callback to call when the element has been added or not, or
+%NULL
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> The data to pass to the callback
+</parameter_description>
+</parameter>
+<parameter name="user_data2">
+<parameter_description> The user data of the signal (ignored)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GstInsertBin::insert-after">
+<description>
+This action signal adds the filter like element after the @sibling
+element in the bin.
+element in the bin.
+
+Same as gst_insert_bin_insert_after()
+
+</description>
+<parameters>
+<parameter name="element">
+<parameter_description> the #GstElement to add
+</parameter_description>
+</parameter>
+<parameter name="sibling">
+<parameter_description> the #GstElement to add @element after
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the callback to call when the element has been added or not, or
+%NULL
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> The data to pass to the callback
+</parameter_description>
+</parameter>
+<parameter name="user_data2">
+<parameter_description> The user data of the signal (ignored)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GstInsertBin::insert-before">
+<description>
+This action signal adds the filter like element before the @sibling
+element in the bin.
+
+Same as gst_insert_bin_insert_before()
+
+</description>
+<parameters>
+<parameter name="element">
+<parameter_description> the #GstElement to add
+</parameter_description>
+</parameter>
+<parameter name="sibling">
+<parameter_description> the #GstElement to add @element before
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the callback to call when the element has been added or not, or
+%NULL
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> The data to pass to the callback
+</parameter_description>
+</parameter>
+<parameter name="user_data2">
+<parameter_description> The user data of the signal (ignored)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GstInsertBin::prepend">
+<description>
+This action signal adds the filter like element before any other element
+in the bin.
+
+Same as gst_insert_bin_prepend()
+
+</description>
+<parameters>
+<parameter name="element">
+<parameter_description> the #GstElement to add
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the callback to call when the element has been added or not, or
+%NULL
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> The data to pass to the callback
+</parameter_description>
+</parameter>
+<parameter name="user_data2">
+<parameter_description> The user data of the signal (ignored)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GstInsertBin::remove">
+<description>
+This action signal removed the filter like element from the bin.
+
+Same as gst_insert_bin_remove()
+
+</description>
+<parameters>
+<parameter name="element">
+<parameter_description> the #GstElement to remove
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the callback to call when the element has been removed or not,
+or %NULL
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> The data to pass to the callback
+</parameter_description>
+</parameter>
+<parameter name="user_data2">
+<parameter_description> The user data of the signal (ignored)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+
+<enum name="GstJpegEntropyCodingMode">
+<description>
+JPEG entropy coding mode.
+
+
+</description>
+<parameters>
+<parameter name="GST_JPEG_ENTROPY_CODING_HUFFMAN">
+<parameter_description> Huffman coding
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_ENTROPY_CODING_ARITHMETIC">
+<parameter_description> arithmetic coding
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstJpegMarker">
+<description>
+Indicates the type of JPEG segment.
+
+
+</description>
+<parameters>
+<parameter name="GST_JPEG_MARKER_SOF0">
+<parameter_description> Start of frame marker code (Baseline)
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_SOF1">
+<parameter_description> Start of frame marker code (Extended Sequential, Huffman)
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_SOF2">
+<parameter_description> Start of frame marker code (Progressive, Huffman)
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_SOF3">
+<parameter_description> Start of frame marker code (Lossless, Huffman)
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_SOF5">
+<parameter_description> Start of frame marker code (Differential Sequential, Huffman)
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_SOF6">
+<parameter_description> Start of frame marker code (Differential Progressive, Huffman)
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_SOF7">
+<parameter_description> Start of frame marker code (Differential Lossless, Huffman)
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_SOF9">
+<parameter_description> Start of frame marker code (Extended Sequential, Arithmetic)
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_SOF10">
+<parameter_description> Start of frame marker code (Progressive, Arithmetic)
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_SOF11">
+<parameter_description> Start of frame marker code (Lossless, Arithmetic)
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_SOF13">
+<parameter_description> Start of frame marker code (Differential Sequential, Arithmetic)
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_SOF14">
+<parameter_description> Start of frame marker code (Differential Progressive, Arithmetic)
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_SOF15">
+<parameter_description> Start of frame marker code (Differential Lossless, Arithmetic)
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_DHT">
+<parameter_description> Huffman table marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_DAC">
+<parameter_description> Arithmetic coding marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_RST_MIN">
+<parameter_description> Restart interval min marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_RST_MAX">
+<parameter_description> Restart interval max marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_SOI">
+<parameter_description> Start of image marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_EOI">
+<parameter_description> End of image marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_SOS">
+<parameter_description> Start of scan marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_DQT">
+<parameter_description> Define quantization table marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_DNL">
+<parameter_description> Define number of lines marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_DRI">
+<parameter_description> Define restart interval marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP0">
+<parameter_description> Application segment 0 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP1">
+<parameter_description> Application segment 1 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP2">
+<parameter_description> Application segment 2 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP3">
+<parameter_description> Application segment 3 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP4">
+<parameter_description> Application segment 4 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP5">
+<parameter_description> Application segment 5 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP6">
+<parameter_description> Application segment 6 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP7">
+<parameter_description> Application segment 7 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP8">
+<parameter_description> Application segment 8 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP9">
+<parameter_description> Application segment 9 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP10">
+<parameter_description> Application segment 10 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP11">
+<parameter_description> Application segment 11 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP12">
+<parameter_description> Application segment 12 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP13">
+<parameter_description> Application segment 13 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP14">
+<parameter_description> Application segment 14 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_APP15">
+<parameter_description> Application segment 15 marker code
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_MARKER_COM">
+<parameter_description> Comment marker code
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstJpegProfile">
+<description>
+JPEG encoding processes.
+
+
+</description>
+<parameters>
+<parameter name="GST_JPEG_PROFILE_BASELINE">
+<parameter_description> Baseline DCT
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_PROFILE_EXTENDED">
+<parameter_description> Extended sequential DCT
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_PROFILE_PROGRESSIVE">
+<parameter_description> Progressive DCT
+</parameter_description>
+</parameter>
+<parameter name="GST_JPEG_PROFILE_LOSSLESS">
+<parameter_description> Lossless (sequential)
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpeg4AspectRatioInfo">
+<description>
+Defines the different pixel aspect ratios as
+defined in: Table 6-12 -- Meaning of pixel aspect ratio
+
+</description>
+<parameters>
+<parameter name="GST_MPEG4_SQUARE">
+<parameter_description> 1:1 square
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG4_625_TYPE_4_3">
+<parameter_description> 12:11 (625-type for 4:3 picture)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG4_525_TYPE_4_3">
+<parameter_description> 10:11 (525-type for 4:3 picture)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG4_625_TYPE_16_9">
+<parameter_description> 16:11 (625-type stretched for 16:9 picture)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG4_525_TYPE_16_9">
+<parameter_description> 40:33 (525-type stretched for 16:9 picture)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG4_EXTENDED_PAR">
+<parameter_description> Extended par
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpeg4ParseResult">
+<description>
+Result type of any parsing function.
+
+</description>
+<parameters>
+<parameter name="GST_MPEG4_PARSER_OK">
+<parameter_description> The parsing went well
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG4_PARSER_BROKEN_DATA">
+<parameter_description> The bitstream was broken
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG4_PARSER_NO_PACKET">
+<parameter_description> There was no packet in the buffer
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG4_PARSER_NO_PACKET_END">
+<parameter_description> There was no packet end in the buffer
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG4_PARSER_NO_PACKET_ERROR">
+<parameter_description> An error accured durint the parsing
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpeg4VideoObjectCodingType">
+<description>
+The vop coding types as defined in:
+Table 6-20 -- Meaning of vop_coding_type
+
+</description>
+<parameters>
+<parameter name="GST_MPEG4_I_VOP">
+<parameter_description> intra-coded (I)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG4_P_VOP">
+<parameter_description> predictive-coded (P)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG4_B_VOP">
+<parameter_description> bidirectionally-predictive-coded (B)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG4_S_VOP">
+<parameter_description> sprite (S)
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpegVideoChromaFormat">
+<description>
+Chroma subsampling type.
+
+</description>
+<parameters>
+<parameter name="GST_MPEG_VIDEO_CHROMA_RES">
+<parameter_description> Invalid (reserved for future use)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_CHROMA_420">
+<parameter_description> 4:2:0 subsampling
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_CHROMA_422">
+<parameter_description> 4:2:2 subsampling
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_CHROMA_444">
+<parameter_description> 4:4:4 (non-subsampled)
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpegVideoLevel">
+<description>
+Mpeg-2 Levels.
+
+</description>
+<parameters>
+<parameter name="GST_MPEG_VIDEO_LEVEL_LOW">
+<parameter_description> Low level (LL)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_LEVEL_MAIN">
+<parameter_description> Main level (ML)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_LEVEL_HIGH_1440">
+<parameter_description> High 1440 level (H-14)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_LEVEL_HIGH">
+<parameter_description> High level (HL)
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpegVideoPacketExtensionCode">
+<description>
+Indicates what type of packets are in this block, some are mutually
+exclusive though - ie, sequence packs are accumulated separately. GOP &amp;
+Picture may occur together or separately.
+
+</description>
+<parameters>
+<parameter name="GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE">
+<parameter_description> Sequence extension code
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_DISPLAY">
+<parameter_description> Sequence Display extension code
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PACKET_EXT_QUANT_MATRIX">
+<parameter_description> Quantization Matrix extension code
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_SCALABLE">
+<parameter_description> Sequence Scalable extension code
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PACKET_EXT_PICTURE">
+<parameter_description> Picture coding extension
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpegVideoPacketTypeCode">
+<description>
+Indicates the type of MPEG packet
+
+</description>
+<parameters>
+<parameter name="GST_MPEG_VIDEO_PACKET_PICTURE">
+<parameter_description> Picture packet starting code
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PACKET_SLICE_MIN">
+<parameter_description> Slice min packet starting code
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PACKET_SLICE_MAX">
+<parameter_description> Slice max packet starting code
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PACKET_USER_DATA">
+<parameter_description> User data packet starting code
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PACKET_SEQUENCE">
+<parameter_description> Sequence packet starting code
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PACKET_EXTENSION">
+<parameter_description> Extension packet starting code
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PACKET_SEQUENCE_END">
+<parameter_description> Sequence end packet code
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PACKET_GOP">
+<parameter_description> Group of Picture packet starting code
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PACKET_NONE">
+<parameter_description> None packet code
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpegVideoPictureStructure">
+<description>
+Picture structure type.
+
+</description>
+<parameters>
+<parameter name="GST_MPEG_VIDEO_PICTURE_STRUCTURE_TOP_FIELD">
+<parameter_description> Top field
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PICTURE_STRUCTURE_BOTTOM_FIELD">
+<parameter_description> Bottom field
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PICTURE_STRUCTURE_FRAME">
+<parameter_description> Frame picture
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpegVideoPictureType">
+<description>
+Picture type.
+
+</description>
+<parameters>
+<parameter name="GST_MPEG_VIDEO_PICTURE_TYPE_I">
+<parameter_description> Intra-coded (I) frame
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PICTURE_TYPE_P">
+<parameter_description> Predictive-codec (P) frame
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PICTURE_TYPE_B">
+<parameter_description> Bidirectionally predictive-coded (B) frame
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PICTURE_TYPE_D">
+<parameter_description> D frame
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpegVideoProfile">
+<description>
+Mpeg-2 Profiles.
+
+</description>
+<parameters>
+<parameter name="GST_MPEG_VIDEO_PROFILE_422">
+<parameter_description> 4:2:2 profile (422)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PROFILE_HIGH">
+<parameter_description> High profile (HP)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PROFILE_SPATIALLY_SCALABLE">
+<parameter_description> Spatially Scalable profile (Spatial)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PROFILE_SNR_SCALABLE">
+<parameter_description> SNR Scalable profile (SNR)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PROFILE_MAIN">
+<parameter_description> Main profile (MP)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_PROFILE_SIMPLE">
+<parameter_description> Simple profile (SP)
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpegVideoSequenceScalableMode">
+<description>
+
+</description>
+<parameters>
+<parameter name="GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_DATA_PARTITIONING">
+<parameter_description> Data partitioning
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_SPATIAL">
+<parameter_description> Spatial Scalability
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_SNR">
+<parameter_description> SNR Scalability
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_TEMPORAL">
+<parameter_description> Temporal Scalability
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpegtsScteStreamType">
+<description>
+Type of mpeg-ts streams for SCTE
+
+
+</description>
+<parameters>
+<parameter name="GST_MPEGTS_STREAM_TYPE_SCTE_SUBTITLING">
+<parameter_description>  SCTE-27 Subtitling
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_SCTE_ISOCH_DATA">
+<parameter_description>  SCTE-19 Isochronous data
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_SCTE_DST_NRT">
+<parameter_description>     SCTE-07 Data Service or
+Network Resource Table
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB">
+<parameter_description>   Type B - DSM-CC Data Carousel
+[IEC 13818-6])
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING">
+<parameter_description>   Enhanced Television Application
+Signaling (OC-SP-ETV-AM1.0.1-120614)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_SCTE_SYNC_DATA">
+<parameter_description>   SCTE-07 Synchronous data
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_SCTE_ASYNC_DATA">
+<parameter_description>  SCTE-53 Asynchronous data
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpegtsSectionSCTETableID">
+<description>
+Values for a #GstMpegtsSection table_id.
+
+These are the registered SCTE table_id variants.
+
+see also: #GstMpegtsSectionTableID
+
+</description>
+<parameters>
+<parameter name="GST_MTS_TABLE_ID_SCTE_EAS">
+<parameter_description>    SCTE-18 Emergency Alert System
+</parameter_description>
+</parameter>
+<parameter name="GST_MTS_TABLE_ID_SCTE_EBIF">
+<parameter_description>   CL-SP-ETV-AM 1.0.1 EBIF message
+</parameter_description>
+</parameter>
+<parameter name="GST_MTS_TABLE_ID_SCTE_EISS">
+<parameter_description>   CL-SP-ETV-AM 1.0.1 EBIF Int. Signaling Sect.
+</parameter_description>
+</parameter>
+<parameter name="GST_MTS_TABLE_ID_SCTE_DII">
+<parameter_description>    CL-SP-ETV-AM 1.0.1 DSMCC DII message
+</parameter_description>
+</parameter>
+<parameter name="GST_MTS_TABLE_ID_SCTE_DDB">
+<parameter_description>    CL-SP-ETV-AM 1.0.1 DSMCC Data Download Block
+</parameter_description>
+</parameter>
+<parameter name="GST_MTS_TABLE_ID_SCTE_SPLICE">
+<parameter_description> SCTE-35 splice information is carried in a
+section stream on a separate PID in the program’s Map Table (PMT) allowing
+Splice Event notifications to remain associated with the program and pass
+through multiplexers.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpegtsSectionType">
+<description>
+Types of #GstMpegtsSection that the library handles.
+
+</description>
+<parameters>
+<parameter name="GST_MPEGTS_SECTION_UNKNOWN">
+<parameter_description> Unknown section type
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_PAT">
+<parameter_description> Program Association Table (ISO/IEC 13818-1)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_PMT">
+<parameter_description> Program Map Table (ISO/IEC 13818-1)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_CAT">
+<parameter_description> Conditional Access Table (ISO/IEC 13818-1)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_TSDT">
+<parameter_description> Transport Stream Description Table (ISO/IEC 13818-1)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_EIT">
+<parameter_description> Event Information Table (EN 300 468)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_NIT">
+<parameter_description> Network Information Table (ISO/IEC 13818-1 / EN 300 468)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_BAT">
+<parameter_description> Bouquet Association Table ((EN 300 468)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_SDT">
+<parameter_description> Service Description Table (EN 300 468)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_TDT">
+<parameter_description> Time and Date Table (EN 300 468)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_TOT">
+<parameter_description> Time Offset Table (EN 300 468)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_ATSC_TVCT">
+<parameter_description> ATSC Terrestrial Virtual Channel Table (A65)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_ATSC_CVCT">
+<parameter_description> ATSC Cable Virtual Channel Table (A65)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_ATSC_MGT">
+<parameter_description> ATSC Master Guide Table (A65)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_ATSC_ETT">
+<parameter_description> ATSC Extended Text Table (A65)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_ATSC_EIT">
+<parameter_description> ATSC Event Information Table (A65)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_SECTION_ATSC_STT">
+<parameter_description> ATSC System Time Table (A65)
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstMpegtsStreamType">
+<description>
+Type of mpeg-ts stream type.
+
+These values correspond to the base standard registered types. Depending
+on the variant of mpeg-ts being used (Bluray, ATSC, DVB, ...), other
+types might also be used, but will not conflict with these.
+
+Corresponds to table 2-34 of ITU H.222.0 | ISO/IEC 13818-1
+
+</description>
+<parameters>
+<parameter name="GST_MPEGTS_STREAM_TYPE_RESERVED_00">
+<parameter_description> ITU-T | ISO/IEC Reserved
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1">
+<parameter_description> ISO/IEC 11172-2 Video
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2">
+<parameter_description> Rec. ITU-T H.262 | ISO/IEC 13818-2
+Video or ISO/IEC 11172-2 constrained parameter video stream
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1">
+<parameter_description> ISO/IEC 11172-3 Audio
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2">
+<parameter_description> ISO/IEC 13818-3 Audio
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS">
+<parameter_description> private sections
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS">
+<parameter_description> PES packets containing private data
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_MHEG">
+<parameter_description> ISO/IEC 13522 MHEG
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_DSM_CC">
+<parameter_description> Annex A DSM-CC
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_H_222_1">
+<parameter_description> Rec. ITU-T H.222.1
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_DSMCC_A">
+<parameter_description> ISO/IEC 13818-6 type A
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_DSMCC_B">
+<parameter_description> ISO/IEC 13818-6 type B
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_DSMCC_C">
+<parameter_description> ISO/IEC 13818-6 type C
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_DSMCC_D">
+<parameter_description> ISO/IEC 13818-6 type D
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_AUXILIARY">
+<parameter_description> auxiliary streams
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS">
+<parameter_description> ISO/IEC 13818-7 Audio with ADTS
+transport syntax
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4">
+<parameter_description> ISO/IEC 14496-2 Visual
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM">
+<parameter_description> ISO/IEC 14496-3 Audio with the LATM
+transport syntax as defined in ISO/IEC 14496-3
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS">
+<parameter_description> ISO/IEC 14496-1
+SL-packetized stream or FlexMux stream carried in PES packets
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS">
+<parameter_description> ISO/IEC 14496-1 SL-packetized
+stream or FlexMux stream carried in ISO/IEC 14496_sections
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD">
+<parameter_description> ISO/IEC 13818-6 Synchronized
+Download Protocol
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS">
+<parameter_description> Metadata carried in PES packets
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS">
+<parameter_description> Metadata carried in metadata_sections
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL">
+<parameter_description> Metadata carried in ISO/IEC
+13818-6 Data Carousel
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL">
+<parameter_description> Metadata carried in
+ISO/IEC 13818-6 Object Carousel
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD">
+<parameter_description> Metadata carried in
+ISO/IEC 13818-6 Synchronized Download Protocol
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP">
+<parameter_description> IPMP stream (defined in ISO/IEC 13818-11,
+MPEG-2 IPMP)
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_VIDEO_H264">
+<parameter_description> AVC video stream conforming to one or
+more profiles defined in Annex A of Rec. ITU-T H.264 | ISO/IEC 14496-10 or
+AVC video sub-bitstream of SVC as defined in 2.1.78 or MVC base view
+sub-bitstream, as defined in 2.1.85, or AVC video sub-bitstream of MVC, as
+defined in 2.1.88
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN">
+<parameter_description> ISO/IEC 14496-3 Audio, without
+using any additional transport syntax, such as DST, ALS and SLS
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT">
+<parameter_description> ISO/IEC 14496-17 Text
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_VIDEO_RVC">
+<parameter_description> Auxiliary video stream as defined in
+ISO/IEC 23002-3
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM">
+<parameter_description> SVC video sub-bitstream
+of an AVC video stream conforming to one or more profiles defined in Annex G
+of Rec. ITU-T H.264 | ISO/IEC 14496-10
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM">
+<parameter_description> MVC video sub-bitstream
+of an AVC video stream conforming to one or more profiles defined in Annex H
+of Rec. ITU-T H.264 | ISO/IEC 14496-10
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K">
+<parameter_description> Video stream conforming to one or more
+profiles as defined in Rec. ITU-T T.800 | ISO/IEC 15444-1
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW">
+<parameter_description> Additional view
+Rec. ITU-T H.262 | ISO/IEC 13818-2 video stream for service-compatible
+stereoscopic 3D services
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW">
+<parameter_description> Additional view
+Rec. ITU-T H.264 | ISO/IEC 14496-10 video stream conforming to one or more
+profiles defined in Annex A for service-compatible stereoscopic 3D services
+</parameter_description>
+</parameter>
+<parameter name="GST_MPEGTS_STREAM_TYPE_IPMP_STREAM">
+<parameter_description> IPMP stream
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstPhotographyColorToneMode">
+<description>
+Modes for special color effects.
+
+</description>
+<parameters>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_NORMAL">
+<parameter_description> No effects
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_SEPIA">
+<parameter_description> Sepia
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_NEGATIVE">
+<parameter_description> Negative
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRAYSCALE">
+<parameter_description> Grayscale
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_NATURAL">
+<parameter_description> Natural
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_VIVID">
+<parameter_description> Vivid
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_COLORSWAP">
+<parameter_description> Colorswap
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_SOLARIZE">
+<parameter_description> Solarize
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_OUT_OF_FOCUS">
+<parameter_description> Out of focus
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKY_BLUE">
+<parameter_description> Sky blue
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRASS_GREEN">
+<parameter_description> Grass green
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKIN_WHITEN">
+<parameter_description> Skin whiten
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_POSTERIZE">
+<parameter_description> Posterize (Since 1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_WHITEBOARD">
+<parameter_description> Whiteboard (Since 1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_BLACKBOARD">
+<parameter_description> Blackboard (Since 1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_COLOR_TONE_MODE_AQUA">
+<parameter_description> Aqua (Since 1.2)
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstPhotographyExposureMode">
+<description>
+
+</description>
+<parameters>
+<parameter name="GST_PHOTOGRAPHY_EXPOSURE_MODE_AUTO">
+<parameter_description> Adjust exposure automatically
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_EXPOSURE_MODE_MANUAL">
+<parameter_description> Disable automatic exposure adjustment
+and keep current values.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstPhotographyFlashMode">
+<description>
+Modes for flash control.
+
+</description>
+<parameters>
+<parameter name="GST_PHOTOGRAPHY_FLASH_MODE_AUTO">
+<parameter_description> Fire flash automatically according to
+lighting conditions.
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FLASH_MODE_OFF">
+<parameter_description> Never fire flash
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FLASH_MODE_ON">
+<parameter_description> Always fire flash
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FLASH_MODE_FILL_IN">
+<parameter_description> Fill in flash
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FLASH_MODE_RED_EYE">
+<parameter_description> Flash mode for reducing chance of
+capturing red eyes
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstPhotographyFlickerReductionMode">
+<description>
+Reduce flicker in video caused by light source fluctuation.
+
+</description>
+<parameters>
+<parameter name="GST_PHOTOGRAPHY_FLICKER_REDUCTION_OFF">
+<parameter_description> Disable flicker reduction
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FLICKER_REDUCTION_50HZ">
+<parameter_description> 50Hz flicker reduction
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FLICKER_REDUCTION_60HZ">
+<parameter_description> 60Hz flicker reduction
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FLICKER_REDUCTION_AUTO">
+<parameter_description> Choose mode automatically
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstPhotographyFocusMode">
+<description>
+Choose mode for focusing algorithm.
+
+</description>
+<parameters>
+<parameter name="GST_PHOTOGRAPHY_FOCUS_MODE_AUTO">
+<parameter_description> Choose focus mode automatically
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FOCUS_MODE_MACRO">
+<parameter_description> Mode for focusing objects close to lens
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT">
+<parameter_description> Mode for portraits
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY">
+<parameter_description> Mode for landscapes and far away objects
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL">
+<parameter_description> Mode for maximum depth of field, keeping
+focus acceptable both in infinify and as close objects as possible
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FOCUS_MODE_EXTENDED">
+<parameter_description> Extended focus mode
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL">
+<parameter_description> Continuous autofocus mode
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED">
+<parameter_description> Extended continuous
+autofocus mode
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FOCUS_MODE_MANUAL">
+<parameter_description> Disable automatic focusing
+and keep current value. #GstPhotography:lens-focus property can
+be used to change focus manually.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstPhotographyFocusStatus">
+<description>
+Status of the focusing operation, used in #GST_PHOTOGRAPHY_AUTOFOCUS_DONE
+message.
+
+</description>
+<parameters>
+<parameter name="GST_PHOTOGRAPHY_FOCUS_STATUS_NONE">
+<parameter_description> No status available
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FOCUS_STATUS_RUNNING">
+<parameter_description> Focusing is ongoing
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FOCUS_STATUS_FAIL">
+<parameter_description> Focusing failed
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_FOCUS_STATUS_SUCCESS">
+<parameter_description> Focusing succeeded
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstPhotographyNoiseReduction">
+<description>
+Noise Reduction features of a photography capture or filter element.
+
+
+</description>
+<parameters>
+<parameter name="GST_PHOTOGRAPHY_NOISE_REDUCTION_BAYER">
+<parameter_description> Adaptive noise reduction on Bayer
+format
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_NOISE_REDUCTION_YCC">
+<parameter_description> reduces the noise on Y and 2-chroma
+images.
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_NOISE_REDUCTION_TEMPORAL">
+<parameter_description> Multi-frame adaptive NR,
+provided for the video mode
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_NOISE_REDUCTION_FIXED">
+<parameter_description> Fixed Pattern Noise refers to noise
+that does not change between frames. The noise is removed from the sensor
+image, by subtracting a previously-captured black image in memory.
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_NOISE_REDUCTION_EXTRA">
+<parameter_description> Extra Noise Reduction. In the case
+of high-ISO capturing, some noise remains after YCC NR. XNR reduces this
+remaining noise.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstPhotographySceneMode">
+<description>
+Each mode contains preset #GstPhotography options in order to produce
+good capturing result in certain scene.
+
+</description>
+<parameters>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_MANUAL">
+<parameter_description> Set individual options manually
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_CLOSEUP">
+<parameter_description> Mode for close objects
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_PORTRAIT">
+<parameter_description> Mode for portraits
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_LANDSCAPE">
+<parameter_description> Mode for landscapes
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_SPORT">
+<parameter_description> Mode for scene with fast motion
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_NIGHT">
+<parameter_description> Mode for night conditions
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_AUTO">
+<parameter_description> Choose scene mode automatically
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_ACTION">
+<parameter_description> Take photos of fast moving
+objects (Since 1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_NIGHT_PORTRAIT">
+<parameter_description> Take people pictures
+at night (Since 1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_THEATRE">
+<parameter_description> Take photos in a theater (Since 1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_BEACH">
+<parameter_description> Take pictures on the beach (Since 1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_SNOW">
+<parameter_description> Take pictures on the snow (Since 1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_SUNSET">
+<parameter_description> Take sunset photos (Since 1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_STEADY_PHOTO">
+<parameter_description> Avoid blurry pictures
+(for example, due to hand shake) (Since 1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_FIREWORKS">
+<parameter_description> For shooting firework
+displays (Since 1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_PARTY">
+<parameter_description> Take indoor low-light shot (Since 1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_CANDLELIGHT">
+<parameter_description> Capture the naturally warm color
+of scenes lit by candles (Since 1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SCENE_MODE_BARCODE">
+<parameter_description> Applications are looking for
+a barcode (Since 1.2)
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstPhotographyShakeRisk">
+<description>
+Risk level of captured image becoming &quot;shaken&quot; due to camera movement and
+too long exposure time. Used in #GST_PHOTOGRAPHY_SHAKE_RISK #GstMessage.
+
+</description>
+<parameters>
+<parameter name="GST_PHOTOGRAPHY_SHAKE_RISK_LOW">
+<parameter_description> Low risk
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SHAKE_RISK_MEDIUM">
+<parameter_description> Medium risk
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_SHAKE_RISK_HIGH">
+<parameter_description> High risk
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstPhotographyWhiteBalanceMode">
+<description>
+Modes for white balance control.
+
+</description>
+<parameters>
+<parameter name="GST_PHOTOGRAPHY_WB_MODE_AUTO">
+<parameter_description> Choose white balance mode automatically
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_WB_MODE_DAYLIGHT">
+<parameter_description> Mode for daylight conditions
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_WB_MODE_CLOUDY">
+<parameter_description> Mode for cloudy conditions
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_WB_MODE_SUNSET">
+<parameter_description> Mode for sunset conditions
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_WB_MODE_TUNGSTEN">
+<parameter_description> Mode for tungsten lighting
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_WB_MODE_FLUORESCENT">
+<parameter_description> Mode for fluorescent lighting
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_WB_MODE_MANUAL">
+<parameter_description> Disable automatic white balance adjustment
+and keep current values.
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_WB_MODE_WARM_FLUORESCENT">
+<parameter_description> Mode for warm fluorescent lighting (Since 1.2)
+</parameter_description>
+</parameter>
+<parameter name="GST_PHOTOGRAPHY_WB_MODE_SHADE">
+<parameter_description> Mode for shade lighting (Since 1.2)
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GstVp8ParserResult">
+<description>
+The result of parsing VP8 data.
+
+</description>
+<parameters>
+<parameter name="GST_VP8_PARSER_OK">
+<parameter_description> The parsing succeeded
+</parameter_description>
+</parameter>
+<parameter name="GST_VP8_PARSER_BROKEN_DATA">
+<parameter_description> The data to parse is broken
+</parameter_description>
+</parameter>
+<parameter name="GST_VP8_PARSER_ERROR">
+<parameter_description> An error accured when parsing
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<function name="advance_period">
+<description>
+Advances the manifest to the next period. New streams should be created
+using gst_adaptive_demux_stream_new().
+
+</description>
+<parameters>
+<parameter name="demux">
+<parameter_description> #GstAdaptiveDemux
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="data_received">
+<description>
+Notifies the subclass that a fragment chunk was downloaded. The subclass
+can look at the data at the adapter and modify/push data as desired.
+
+
+</description>
+<parameters>
+<parameter name="demux">
+<parameter_description> #GstAdaptiveDemux
+</parameter_description>
+</parameter>
+<parameter name="stream">
+<parameter_description> #GstAdaptiveDemuxStream
+</parameter_description>
+</parameter>
+</parameters>
+<return> #GST_FLOW_OK if successful, #GST_FLOW_ERROR in case of error.
+</return>
+</function>
+
+<function name="dvb_text_from_utf8">
+<description>
+Converts UTF-8 strings to text characters compliant with EN 300 468.
+The converted text can be used directly in DVB #GstMpegtsDescriptor
+
+The function will try different character maps until the string is
+completely converted.
+
+The function tries the default ISO 6937 character map first.
+
+If no character map that contains all characters could be found, the
+string is converted to ISO 6937 with unknown characters set to `?`.
+
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> The text to convert. This should be in UTF-8 format
+</parameter_description>
+</parameter>
+<parameter name="out_size">
+<parameter_description> the byte length of the new text
+</parameter_description>
+</parameter>
+</parameters>
+<return> byte array of size @out_size
+</return>
+</function>
+
+<function name="finish_fragment">
+<description>
+Notifies the subclass that a fragment download was finished.
+It can be used to cleanup internal state after a fragment and
+also push any pending data before moving to the next fragment.
+
+</description>
+<parameters>
+<parameter name="demux">
+<parameter_description> #GstAdaptiveDemux
+</parameter_description>
+</parameter>
+<parameter name="stream">
+<parameter_description> #GstAdaptiveDemuxStream
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="get_live_seek_range">
+<description>
+Gets the allowed seek start and stop positions for the current live stream
+
+Return: %TRUE if successful
+
+</description>
+<parameters>
+<parameter name="demux">
+<parameter_description> #GstAdaptiveDemux
+</parameter_description>
+</parameter>
+<parameter name="start">
+<parameter_description> pointer to put the start position allowed to seek to
+</parameter_description>
+</parameter>
+<parameter name="stop">
+<parameter_description> pointer to put the stop position allowed to seek to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="get_manifest_update_interval">
+<description>
+Used during live streaming, the subclass should return the interval
+between successive manifest updates
+
+
+</description>
+<parameters>
+<parameter name="demux">
+<parameter_description> #GstAdaptiveDemux
+</parameter_description>
+</parameter>
+</parameters>
+<return> the update interval in microseconds
+</return>
+</function>
+
+<function name="get_presentation_offset">
+<description>
+Gets the delay to apply to @stream.
+
+Return: a #GstClockTime representing the (positive) time offset to apply to
+ stream 
+
+</description>
+<parameters>
+<parameter name="demux">
+<parameter_description> #GstAdaptiveDemux
+</parameter_description>
+</parameter>
+<parameter name="stream">
+<parameter_description> #GstAdaptiveDemuxStream
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_aggregator_finish_buffer">
+<description>
+This method will push the provided output buffer downstream. If needed,
+mandatory events such as stream-start, caps, and segment events will be
+sent before pushing the buffer.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> The #GstAggregator
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> the #GstBuffer to push.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_aggregator_get_latency">
+<description>
+Retrieves the latency values reported by @self in response to the latency
+query, or %GST_CLOCK_TIME_NONE if there is not live source connected and the element
+will not wait for the clock.
+
+Typically only called by subclasses.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GstAggregator
+</parameter_description>
+</parameter>
+</parameters>
+<return> The latency or %GST_CLOCK_TIME_NONE if the element does not sync
+</return>
+</function>
+
+<function name="gst_aggregator_iterate_sinkpads">
+<description>
+Iterate the sinkpads of aggregator to call a function on them.
+
+This method guarantees that @func will be called only once for each
+sink pad.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> The #GstAggregator
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> The function to call.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> The data to pass to @func.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_aggregator_merge_tags">
+<description>
+Adds tags to so-called pending tags, which will be processed
+before pushing out data downstream.
+
+Note that this is provided for convenience, and the subclass is
+not required to use this and can still do tag handling on its own.
+
+MT safe.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GstAggregator
+</parameter_description>
+</parameter>
+<parameter name="tags">
+<parameter_description> a #GstTagList to merge
+</parameter_description>
+</parameter>
+<parameter name="mode">
+<parameter_description> the #GstTagMergeMode to use
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_aggregator_pad_drop_buffer">
+<description>
+Drop the buffer currently queued in @pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> the pad where to drop any pending buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if there was a buffer queued in @pad, or FALSE if not.
+</return>
+</function>
+
+<function name="gst_aggregator_pad_get_buffer">
+<description>
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> the pad to get buffer from
+</parameter_description>
+</parameter>
+</parameters>
+<return> A reference to the buffer in @pad or
+NULL if no buffer was queued. You should unref the buffer after
+usage.
+</return>
+</function>
+
+<function name="gst_aggregator_pad_steal_buffer">
+<description>
+Steal the ref to the buffer currently queued in @pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> the pad to get buffer from
+</parameter_description>
+</parameter>
+</parameters>
+<return> The buffer in @pad or NULL if no buffer was
+queued. You should unref the buffer after usage.
+</return>
+</function>
+
+<function name="gst_aggregator_set_latency">
+<description>
+Lets #GstAggregator sub-classes tell the baseclass what their internal
+latency is. Will also post a LATENCY message on the bus so the pipeline
+can reconfigure its global latency.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GstAggregator
+</parameter_description>
+</parameter>
+<parameter name="min_latency">
+<parameter_description> minimum latency
+</parameter_description>
+</parameter>
+<parameter name="max_latency">
+<parameter_description> maximum latency
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_aggregator_set_src_caps">
+<description>
+Sets the caps to be used on the src pad.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> The #GstAggregator
+</parameter_description>
+</parameter>
+<parameter name="caps">
+<parameter_description> The #GstCaps to set on the src pad.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_base_camera_src_set_mode">
+<description>
+Set the chosen #GstCameraBinMode capture mode.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> the camerasrc bin
+</parameter_description>
+</parameter>
+<parameter name="mode">
+<parameter_description> the mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_base_camera_src_setup_preview">
+<description>
+Apply preview caps to preview pipeline and to video source.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> camerasrc bin
+</parameter_description>
+</parameter>
+<parameter name="preview_caps">
+<parameter_description> preview caps to set
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_base_camera_src_setup_zoom">
+<description>
+Apply zoom configured to camerabin to capture.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> camerasrc object
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_buffer_add_mpeg_video_meta">
+<description>
+Creates and adds a #GstMpegVideoMeta to a @buffer.
+
+Provided structures must either be %NULL or GSlice-allocated.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #GstBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly created #GstMpegVideoMeta
+
+</return>
+</function>
+
+<function name="gst_camerabin_create_preview_pipeline">
+<description>
+Creates a new previewing pipeline that can receive buffers
+to be posted as camerabin preview messages for @element
+
+
+</description>
+<parameters>
+<parameter name="element">
+<parameter_description> Owner of this pipeline
+</parameter_description>
+</parameter>
+<parameter name="filter">
+<parameter_description> Custom filter to process preview data (an extra ref is taken)
+</parameter_description>
+</parameter>
+</parameters>
+<return> The newly created #GstCameraBinPreviewPipelineData
+</return>
+</function>
+
+<function name="gst_camerabin_destroy_preview_pipeline">
+<description>
+Frees a #GstCameraBinPreviewPipelineData
+
+</description>
+<parameters>
+<parameter name="preview">
+<parameter_description> the #GstCameraBinPreviewPipelineData
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_camerabin_preview_pipeline_post">
+<description>
+Converts the @sample to the desired format and posts the preview
+message to the bus.
+
+
+</description>
+<parameters>
+<parameter name="preview">
+<parameter_description> the #GstCameraBinPreviewPipelineData
+</parameter_description>
+</parameter>
+<parameter name="sample">
+<parameter_description> the sample to be posted as a preview
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success
+</return>
+</function>
+
+<function name="gst_camerabin_preview_set_caps">
+<description>
+The caps that preview buffers should have when posted
+on the bus
+
+</description>
+<parameters>
+<parameter name="preview">
+<parameter_description> the #GstCameraBinPreviewPipelineData
+</parameter_description>
+</parameter>
+<parameter name="caps">
+<parameter_description> the #GstCaps to be set (a new ref will be taken)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_camerabin_preview_set_filter">
+<description>
+Set the filter element into preview pipeline.
+
+
+</description>
+<parameters>
+<parameter name="preview">
+<parameter_description> the #GstCameraBinPreviewPipelineData
+</parameter_description>
+</parameter>
+<parameter name="filter">
+<parameter_description> Custom filter to process preview data (an extra ref is taken)
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success
+</return>
+</function>
+
+<function name="gst_context_get_gl_display">
+<description>
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstContext
+</parameter_description>
+</parameter>
+<parameter name="display">
+<parameter_description> resulting #GstGLDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> Whether @display was in @context
+
+</return>
+</function>
+
+<function name="gst_context_set_gl_display">
+<description>
+Sets @display on @context
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstContext
+</parameter_description>
+</parameter>
+<parameter name="display">
+<parameter_description> resulting #GstGLDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_event_parse_mpegts_section">
+<description>
+Extracts the #GstMpegtsSection contained in the @event #GstEvent
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> #GstEvent containing a #GstMpegtsSection
+</parameter_description>
+</parameter>
+</parameters>
+<return> The extracted #GstMpegtsSection
+</return>
+</function>
+
+<function name="gst_gl_api_from_string">
+<description>
+
+</description>
+<parameters>
+<parameter name="api_s">
+<parameter_description> a space seperated string of OpenGL apis
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstGLAPI represented by @api_s
+</return>
+</function>
+
+<function name="gst_gl_api_to_string">
+<description>
+
+</description>
+<parameters>
+<parameter name="api">
+<parameter_description> a #GstGLAPI to stringify
+</parameter_description>
+</parameter>
+</parameters>
+<return> A space seperated string of the OpenGL api's enabled in @api
+</return>
+</function>
+
+<function name="gst_gl_base_buffer_init_once">
+<description>
+Initializes the GL Buffer allocator. It is safe to call this function
+multiple times.  This must be called before any other GstGLBaseBuffer operation.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_buffer_pool_new">
+<description>
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> the #GstGLContext to use
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstBufferPool that allocates buffers with #GstGLMemory
+</return>
+</function>
+
+<function name="gst_gl_buffer_pool_replace_last_buffer">
+<description>
+Set @pool&lt;--  --&gt;s last buffer to @buffer for #GstGLPlatform&lt;--  --&gt;s that
+require it.
+
+</description>
+<parameters>
+<parameter name="pool">
+<parameter_description> a #GstGLBufferPool
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GstBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_color_convert_new">
+<description>
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstGLColorConvert object
+</return>
+</function>
+
+<function name="gst_gl_color_convert_perform">
+<description>
+Converts the data contained by @inbuf using the formats specified by the
+#GstVideoInfo&lt;!--  --&gt;s passed to gst_gl_color_convert_set_caps() 
+
+
+</description>
+<parameters>
+<parameter name="convert">
+<parameter_description> a #GstGLColorConvert
+</parameter_description>
+</parameter>
+<parameter name="inbuf">
+<parameter_description> the texture ids for input formatted according to in_info
+</parameter_description>
+</parameter>
+</parameters>
+<return> a converted #GstBuffer or %NULL%
+</return>
+</function>
+
+<function name="gst_gl_color_convert_set_caps">
+<description>
+Initializes @convert with the information required for conversion.
+
+</description>
+<parameters>
+<parameter name="convert">
+<parameter_description> a #GstGLColorConvert
+</parameter_description>
+</parameter>
+<parameter name="in_caps">
+<parameter_description> input #GstCaps
+</parameter_description>
+</parameter>
+<parameter name="out_caps">
+<parameter_description> output #GstCaps
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_context_activate">
+<description>
+(De)activate the OpenGL context represented by this @context.
+
+In OpenGL terms, calls eglMakeCurrent or similar with this context and the
+currently set window.  See gst_gl_context_set_window() for details.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+<parameter name="activate">
+<parameter_description> %TRUE to activate, %FALSE to deactivate
+</parameter_description>
+</parameter>
+</parameters>
+<return> Whether the activation succeeded
+
+</return>
+</function>
+
+<function name="gst_gl_context_can_share">
+<description>
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+<parameter name="other_context">
+<parameter_description> another #GstGLContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @context and @other_context are able to share OpenGL
+resources.
+
+</return>
+</function>
+
+<function name="gst_gl_context_check_feature">
+<description>
+Some features require that the context be created before it is possible to
+determine their existence and so will fail if that is not the case.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+<parameter name="feature">
+<parameter_description> a platform specific feature
+</parameter_description>
+</parameter>
+</parameters>
+<return> Whether @feature is supported by @context
+
+</return>
+</function>
+
+<function name="gst_gl_context_check_gl_version">
+<description>
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+<parameter name="api">
+<parameter_description> api type required
+</parameter_description>
+</parameter>
+<parameter name="maj">
+<parameter_description> major version required
+</parameter_description>
+</parameter>
+<parameter name="min">
+<parameter_description> minor version required
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether OpenGL context implements the required api and specified
+version.
+
+</return>
+</function>
+
+<function name="gst_gl_context_create">
+<description>
+Creates an OpenGL context in the current thread with the specified
+ other_context as a context to share shareable OpenGL objects with.  See the
+OpenGL specification for what is shared between contexts.
+
+If an error occurs, and @error is not %NULL, then error will contain details
+of the error and %FALSE will be returned.
+
+Should only be called once.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext:
+</parameter_description>
+</parameter>
+<parameter name="other_context">
+<parameter_description> a #GstGLContext to share OpenGL objects with
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a #GError
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the context could successfully be created
+
+</return>
+</function>
+
+<function name="gst_gl_context_destroy">
+<description>
+Destroys an OpenGL context.
+
+Should only be called after gst_gl_context_create() has been successfully
+called for this context.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext:
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_context_fill_info">
+<description>
+Fills @context's info (version, extensions, vtable, etc) from the GL
+context in the current thread.  Typically used with wrapped contexts to
+allow wrapped contexts to be used as regular #GstGLContext's.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext:
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_context_get_current">
+<description>
+See also gst_gl_context_activate().
+
+
+</description>
+<parameters>
+</parameters>
+<return> the #GstGLContext active in the current thread or %NULL
+
+</return>
+</function>
+
+<function name="gst_gl_context_get_current_gl_api">
+<description>
+If an error occurs, @major and @minor aren't modified and %GST_GL_API_NONE is
+returned.
+
+
+</description>
+<parameters>
+<parameter name="major">
+<parameter_description> the major version
+</parameter_description>
+</parameter>
+<parameter name="minor">
+<parameter_description> the minor version
+</parameter_description>
+</parameter>
+</parameters>
+<return> The version supported by the OpenGL context current in the calling
+thread or %GST_GL_API_NONE
+
+</return>
+</function>
+
+<function name="gst_gl_context_get_current_gl_context">
+<description>
+
+</description>
+<parameters>
+<parameter name="context_type">
+<parameter_description> a #GstGLPlatform specifying the type of context to retrieve
+</parameter_description>
+</parameter>
+</parameters>
+<return> The OpenGL context handle current in the calling thread or %NULL
+
+</return>
+</function>
+
+<function name="gst_gl_context_get_display">
+<description>
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext:
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GstGLDisplay associated with this @context
+
+</return>
+</function>
+
+<function name="gst_gl_context_get_gl_api">
+<description>
+Get the currently enabled OpenGL api.
+
+The currently available API may be limited by the #GstGLDisplay in use and/or
+the #GstGLWindow chosen.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the available OpenGL api
+
+</return>
+</function>
+
+<function name="gst_gl_context_get_gl_context">
+<description>
+Gets the backing OpenGL context used by @context.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext:
+</parameter_description>
+</parameter>
+</parameters>
+<return> The platform specific backing OpenGL context
+
+</return>
+</function>
+
+<function name="gst_gl_context_get_gl_platform">
+<description>
+Gets the OpenGL platform that used by @context.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext:
+</parameter_description>
+</parameter>
+</parameters>
+<return> The platform specific backing OpenGL context
+
+</return>
+</function>
+
+<function name="gst_gl_context_get_gl_version">
+<description>
+Returns the OpenGL version implemented by @context.  See
+gst_gl_context_get_gl_api() for retreiving the OpenGL api implemented by
+ context 
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+<parameter name="maj">
+<parameter_description> resulting major version
+</parameter_description>
+</parameter>
+<parameter name="min">
+<parameter_description> resulting minor version
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_context_get_proc_address">
+<description>
+Get a function pointer to a specified opengl function, @name.  If the the
+specific function does not exist, NULL is returned instead.
+
+Platform specfic functions (names starting 'egl', 'glX', 'wgl', etc) can also
+be retrieved using this method.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> an opengl function name
+</parameter_description>
+</parameter>
+</parameters>
+<return> a function pointer or NULL
+
+</return>
+</function>
+
+<function name="gst_gl_context_get_thread">
+<description>
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GThread, @context is current in or NULL
+
+</return>
+</function>
+
+<function name="gst_gl_context_get_window">
+<description>
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the currently set window
+
+</return>
+</function>
+
+<function name="gst_gl_context_new">
+<description>
+Create a new #GstGLContext with the specified @display
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GstGLDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstGLContext
+
+</return>
+</function>
+
+<function name="gst_gl_context_new_wrapped">
+<description>
+Wraps an existing OpenGL context into a #GstGLContext.  
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GstGLDisplay
+</parameter_description>
+</parameter>
+<parameter name="handle">
+<parameter_description> the OpenGL context to wrap
+</parameter_description>
+</parameter>
+<parameter name="context_type">
+<parameter_description> a #GstGLPlatform specifying the type of context in @handle
+</parameter_description>
+</parameter>
+<parameter name="available_apis">
+<parameter_description> a #GstGLAPI containing the available OpenGL apis in @handle
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstGLContext wrapping @handle
+
+</return>
+</function>
+
+<function name="gst_gl_context_set_window">
+<description>
+Set's the current window on @context to @window.  The window can only be
+changed before gst_gl_context_create() has been called and the @window is not
+already running.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> Whether the window was successfully updated
+
+</return>
+</function>
+
+<function name="gst_gl_context_thread_add">
+<description>
+Execute @func in the OpenGL thread of @context with @data
+
+MT-safe
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> a #GstGLContextThreadFunc
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data to call @func with
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_display_add_context">
+<description>
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GstGLDisplay
+</parameter_description>
+</parameter>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @context was successfully added. %FALSE may be returned
+if there already exists another context for @context's active thread.
+
+Must be called with the object lock held.
+
+</return>
+</function>
+
+<function name="gst_gl_display_create_context">
+<description>
+It requires the display's object lock to be held.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GstGLDisplay
+</parameter_description>
+</parameter>
+<parameter name="other_context">
+<parameter_description> other #GstGLContext to share resources with.
+</parameter_description>
+</parameter>
+<parameter name="p_context">
+<parameter_description> resulting #GstGLContext
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> resulting #GError
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether a new context could be created.
+
+</return>
+</function>
+
+<function name="gst_gl_display_egl_new">
+<description>
+Create a new #GstGLDisplayEGL from the x11 display name.  See XOpenDisplay()
+for details on what is a valid name.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a display name
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstGLDisplayEGL or %NULL
+</return>
+</function>
+
+<function name="gst_gl_display_egl_new_with_display">
+<description>
+Creates a new display connection from a X11 Display.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> an existing, x11 display
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstGLDisplayEGL
+</return>
+</function>
+
+<function name="gst_gl_display_filter_gl_api">
+<description>
+limit the use of OpenGL to the requested @gl_api.  This is intended to allow
+application and elements to request a specific set of OpenGL API's based on
+what they support.  See gst_gl_context_get_gl_api() for the retreiving the
+API supported by a #GstGLContext.
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GstGLDisplay
+</parameter_description>
+</parameter>
+<parameter name="gl_api">
+<parameter_description> a #GstGLAPI to filter with
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_display_get_gl_api">
+<description>
+see gst_gl_display_filter_gl_api() for what the returned value represents
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GstGLDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GstGLAPI configured for @display
+</return>
+</function>
+
+<function name="gst_gl_display_get_gl_context_for_thread">
+<description>
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GstGLDisplay
+</parameter_description>
+</parameter>
+<parameter name="thread">
+<parameter_description> a #GThread
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GstGLContext current on @thread or %NULL
+
+Must be called with the object lock held.
+
+</return>
+</function>
+
+<function name="gst_gl_display_get_handle_type">
+<description>
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GstGLDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GstGLDisplayType of @display
+
+</return>
+</function>
+
+<function name="gst_gl_display_new">
+<description>
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GstGLDisplay
+
+</return>
+</function>
+
+<function name="gst_gl_display_wayland_new">
+<description>
+Create a new #GstGLDisplayWayland from the wayland display name.  See wl_display_connect()
+for details on what is a valid name.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a display name
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstGLDisplayWayland or %NULL
+</return>
+</function>
+
+<function name="gst_gl_display_wayland_new_with_display">
+<description>
+Creates a new display connection from a wl_display Display.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> an existing, wayland display
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstGLDisplayWayland
+</return>
+</function>
+
+<function name="gst_gl_display_x11_new">
+<description>
+Create a new #GstGLDisplayX11 from the x11 display name.  See XOpenDisplay()
+for details on what is a valid name.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a display name
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstGLDisplayX11 or %NULL
+</return>
+</function>
+
+<function name="gst_gl_display_x11_new_with_display">
+<description>
+Creates a new display connection from a X11 Display.
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> an existing, x11 display
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstGLDisplayX11
+</return>
+</function>
+
+<function name="gst_gl_download_new">
+<description>
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstGLDownload object
+</return>
+</function>
+
+<function name="gst_gl_download_perform">
+<description>
+Downloads the contents of @inbuf into @outbuf.
+
+The output buffer contents must match the #GstVideoFormat passed
+to gst_gl_download_set_format(), and the input buffer must
+contain #GstGLMemory memory items.
+
+This method supports downloading multiple views.
+
+
+</description>
+<parameters>
+<parameter name="download">
+<parameter_description> a #GstGLDownload
+</parameter_description>
+</parameter>
+<parameter name="inbuf">
+<parameter_description> a #GstBuffer input buffer
+</parameter_description>
+</parameter>
+<parameter name="outbuf">
+<parameter_description> a #GstBuffer output buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the download was successful
+</return>
+</function>
+
+<function name="gst_gl_download_perform_with_data">
+<description>
+Downloads @texture_id into @data. @data size and format is specified by
+the #GstVideoFormat passed to gst_gl_download_set_format()
+
+This method can only be used for download a single view.
+
+
+</description>
+<parameters>
+<parameter name="download">
+<parameter_description> a #GstGLDownload
+</parameter_description>
+</parameter>
+<parameter name="texture_id">
+<parameter_description> the texture id to download
+</parameter_description>
+</parameter>
+<parameter name="texture_target">
+<parameter_description> the GL texture target
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> where the downloaded data should go
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the download was successful
+</return>
+</function>
+
+<function name="gst_gl_download_set_format">
+<description>
+Initializes @download with the information required for download.
+
+</description>
+<parameters>
+<parameter name="download">
+<parameter_description> a #GstGLDownload
+</parameter_description>
+</parameter>
+<parameter name="out_info">
+<parameter_description> a #GstVideoInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_filter_draw_texture">
+<description>
+Draws @texture into the OpenGL scene at the specified @width and @height.
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GstGLFilter
+</parameter_description>
+</parameter>
+<parameter name="texture">
+<parameter_description> the texture to draw
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of @texture
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of texture
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_filter_filter_texture">
+<description>
+Perform automatic upload if needed, call filter_texture vfunc and then an
+automatic download if needed.
+
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GstGLFilter
+</parameter_description>
+</parameter>
+<parameter name="inbuf">
+<parameter_description> an input buffer
+</parameter_description>
+</parameter>
+<parameter name="outbuf">
+<parameter_description> an output buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the transformation succeeded
+</return>
+</function>
+
+<function name="gst_gl_filter_render_to_target">
+<description>
+Transforms @input into @output using @func on through FBO.  @resize should
+only ever be %TRUE whenever @input is the input texture of @filter.
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GstGLFilter
+</parameter_description>
+</parameter>
+<parameter name="resize">
+<parameter_description> whether to automatically resize the texture between the input size
+and the output size
+</parameter_description>
+</parameter>
+<parameter name="input">
+<parameter_description> the input texture
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> the output texture
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the function to transform @input into @output. called with @data
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> the data associated with @func
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_filter_render_to_target_with_shader">
+<description>
+Transforms @input into @output using @shader on FBO.  @resize should
+only ever be %TRUE whenever @input is the input texture of @filter.
+
+See also: gst_gl_filter_render_to_target()
+
+</description>
+<parameters>
+<parameter name="filter">
+<parameter_description> a #GstGLFilter
+</parameter_description>
+</parameter>
+<parameter name="resize">
+<parameter_description> whether to automatically resize the texture between the input size
+and the output size
+</parameter_description>
+</parameter>
+<parameter name="input">
+<parameter_description> the input texture
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> the output texture
+</parameter_description>
+</parameter>
+<parameter name="shader">
+<parameter_description> the shader to use.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_memory_alloc">
+<description>
+Allocated a new #GstGlMemory.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description>a #GstGLContext
+</parameter_description>
+</parameter>
+<parameter name="params">
+<parameter_description> a #GstAllocationParams
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> the #GstVideoInfo of the memory
+</parameter_description>
+</parameter>
+<parameter name="plane">
+<parameter_description> the plane this memory will represent
+</parameter_description>
+</parameter>
+<parameter name="valign">
+<parameter_description> the #GstVideoAlignment applied to @info
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstMemory object with a GL texture specified by @vinfo
+from @context
+</return>
+</function>
+
+<function name="gst_gl_memory_copy_into_texture">
+<description>
+Copies @gl_mem into the texture specfified by @tex_id.  The format of @tex_id
+is specified by @tex_type, @width and @height.
+
+If @respecify is %TRUE, then the copy is performed in terms of the texture
+data.  This is useful for splitting RGBA textures into RG or R textures or
+vice versa. The requirement for this to succeed is that the backing texture
+data must be the same size, i.e. say a RGBA8 texture is converted into a RG8
+texture, then the RG texture must have twice as many pixels available for
+output as the RGBA texture.
+
+Otherwise, if @respecify is %FALSE, then the copy is performed per texel
+using glCopyTexImage.  See the OpenGL specification for details on the
+mappings between texture formats.
+
+
+</description>
+<parameters>
+<parameter name="gl_mem">
+<parameter_description>a #GstGLMemory
+</parameter_description>
+</parameter>
+<parameter name="tex_id">
+<parameter_description>OpenGL texture id
+</parameter_description>
+</parameter>
+<parameter name="tex_type">
+<parameter_description> a #GstVideoGLTextureType
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width of @tex_id
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of @tex_id
+</parameter_description>
+</parameter>
+<parameter name="stride">
+<parameter_description> stride of the backing texture data
+</parameter_description>
+</parameter>
+<parameter name="respecify">
+<parameter_description> whether to copy the data or copy per texel
+</parameter_description>
+</parameter>
+</parameters>
+<return> Whether the copy suceeded
+</return>
+</function>
+
+<function name="gst_gl_memory_init">
+<description>
+Initializes the GL Memory allocator. It is safe to call this function
+multiple times.  This must be called before any other GstGLMemory operation.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_memory_setup_buffer">
+<description>
+Adds the required #GstGLMemory&lt;!--  --&gt;s with the correct configuration to
+ buffer based on @info. This version handles padding through @valign.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+<parameter name="params">
+<parameter_description> a #GstAllocationParams
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> a #GstVideoInfo
+</parameter_description>
+</parameter>
+<parameter name="valign">
+<parameter_description> the #GstVideoAlignment applied to @info
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GstBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the memory's were sucessfully added.
+</return>
+</function>
+
+<function name="gst_gl_memory_setup_wrapped">
+<description>
+Wraps per plane data pointer in @data into the corresponding entry in
+ textures based on @info and padding from @valign.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> a #GstVideoInfo
+</parameter_description>
+</parameter>
+<parameter name="valign">
+<parameter_description> a #GstVideoInfo
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> a list of per plane data pointers
+</parameter_description>
+</parameter>
+<parameter name="textures">
+<parameter_description> a list of #GstGLMemory
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the memory's were sucessfully created.
+</return>
+</function>
+
+<function name="gst_gl_memory_wrapped">
+<description>
+Wrapped @data into a #GstGLMemory. This version will account for padding
+added to the allocation and expressed through @valign.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description>a #GstGLContext
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> the #GstVideoInfo of the memory and data
+</parameter_description>
+</parameter>
+<parameter name="plane">
+<parameter_description> the plane this memory will represent
+</parameter_description>
+</parameter>
+<parameter name="valign">
+<parameter_description> the #GstVideoAlignment applied to @info
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> the data to wrap
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> data called with for @notify
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> function called with @user_data when @data needs to be freed
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstGLMemory object with a GL texture specified by @v_info
+from @context and contents specified by @data
+</return>
+</function>
+
+<function name="gst_gl_memory_wrapped_texture">
+<description>
+Wraps a texture handle into a #GstGLMemory.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+<parameter name="texture_id">
+<parameter_description> the GL texture handle
+</parameter_description>
+</parameter>
+<parameter name="texture_target">
+<parameter_description> the GL texture target
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> the #GstVideoInfo of the memory
+</parameter_description>
+</parameter>
+<parameter name="plane">
+<parameter_description> The plane this memory will represent
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> Destroy callback for the user data
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated #GstGLMemory
+</return>
+</function>
+
+<function name="gst_gl_platform_from_string">
+<description>
+
+</description>
+<parameters>
+<parameter name="platform_s">
+<parameter_description> a space seperated string of OpenGL platformss
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstGLPlatform represented by @platform_s
+</return>
+</function>
+
+<function name="gst_gl_platform_to_string">
+<description>
+
+</description>
+<parameters>
+<parameter name="api">
+<parameter_description> a #GstGLPlatform to stringify
+</parameter_description>
+</parameter>
+</parameters>
+<return> A space seperated string of the OpenGL platforms enabled in @api
+</return>
+</function>
+
+<function name="gst_gl_upload_get_caps">
+<description>
+
+</description>
+<parameters>
+<parameter name="upload">
+<parameter_description> a #GstGLUpload
+</parameter_description>
+</parameter>
+<parameter name="in_caps">
+<parameter_description> the input #GstCaps
+</parameter_description>
+</parameter>
+<parameter name="out_caps">
+<parameter_description> the output #GstCaps
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstCaps set by gst_gl_upload_set_caps()
+</return>
+</function>
+
+<function name="gst_gl_upload_meta_add_to_buffer">
+<description>
+Adds a #GstVideoGLTextureUploadMeta on @buffer using @upload
+
+
+</description>
+<parameters>
+<parameter name="upload">
+<parameter_description> a #GstGLUploadMeta
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GstBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether it was successful
+</return>
+</function>
+
+<function name="gst_gl_upload_meta_get_format">
+<description>
+
+</description>
+<parameters>
+<parameter name="upload">
+<parameter_description> a #GstGLUpload
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstVideoInfo set by
+gst_gl_upload_meta_set_format()
+</return>
+</function>
+
+<function name="gst_gl_upload_meta_new">
+<description>
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstGLUploadMeta object
+</return>
+</function>
+
+<function name="gst_gl_upload_meta_set_format">
+<description>
+Initializes @upload with the information required for upload.
+
+</description>
+<parameters>
+<parameter name="upload">
+<parameter_description> a #GstGLUpload
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> input #GstVideoInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_upload_new">
+<description>
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GstGLContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstGLUpload object
+</return>
+</function>
+
+<function name="gst_gl_upload_perform_with_buffer">
+<description>
+Uploads @buffer to the texture given by @tex_id.  @tex_id is valid
+until gst_gl_upload_release_buffer() is called.
+
+
+</description>
+<parameters>
+<parameter name="upload">
+<parameter_description> a #GstGLUpload
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GstBuffer
+</parameter_description>
+</parameter>
+<parameter name="outbuf_ptr">
+<parameter_description> resulting buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the upload was successful
+</return>
+</function>
+
+<function name="gst_gl_upload_propose_allocation">
+<description>
+Adds the required allocation parameters to support uploading.
+
+</description>
+<parameters>
+<parameter name="upload">
+<parameter_description> a #GstGLUpload
+</parameter_description>
+</parameter>
+<parameter name="decide_query">
+<parameter_description> a #GstQuery from a decide allocation
+</parameter_description>
+</parameter>
+<parameter name="query">
+<parameter_description> the proposed allocation query
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_upload_release_buffer">
+<description>
+Releases any buffers currently referenced by @upload
+
+</description>
+<parameters>
+<parameter name="upload">
+<parameter_description> a #GstGLUpload
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_upload_set_caps">
+<description>
+Initializes @upload with the information required for upload.
+
+
+</description>
+<parameters>
+<parameter name="upload">
+<parameter_description> a #GstGLUpload
+</parameter_description>
+</parameter>
+<parameter name="in_caps">
+<parameter_description> input #GstCaps
+</parameter_description>
+</parameter>
+<parameter name="out_caps">
+<parameter_description> output #GstCaps
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether @in_caps and @out_caps could be set on @upload
+</return>
+</function>
+
+<function name="gst_gl_view_convert_set_caps">
+<description>
+Initializes @viewconvert with the information required for conversion.
+
+</description>
+<parameters>
+<parameter name="viewconvert">
+<parameter_description> a #GstGLViewConvert
+</parameter_description>
+</parameter>
+<parameter name="in_caps">
+<parameter_description> input #GstCaps
+</parameter_description>
+</parameter>
+<parameter name="out_caps">
+<parameter_description> output #GstCaps
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_draw">
+<description>
+Redraw the window contents.  Implementations should invoke the draw callback.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_draw_unlocked">
+<description>
+Redraw the window contents.  Implementations should invoke the draw callback.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_get_context">
+<description>
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GstGLContext associated with this @window
+
+</return>
+</function>
+
+<function name="gst_gl_window_get_display">
+<description>
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the windowing system display handle for this @window
+
+</return>
+</function>
+
+<function name="gst_gl_window_get_surface_dimensions">
+<description>
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> resulting surface width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> resulting surface height
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_get_window_handle">
+<description>
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return> the window handle we are currently rendering into
+
+</return>
+</function>
+
+<function name="gst_gl_window_handle_events">
+<description>
+Tell a @window that it should handle events from the window system. These
+events are forwarded upstream as navigation events. In some window systems
+events are not propagated in the window hierarchy if a client is listening
+for them. This method allows you to disable events handling completely
+from the @window.
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+<parameter name="handle_events">
+<parameter_description> a #gboolean indicating if events should be handled or not.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_is_running">
+<description>
+Whether the runloop is running
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_new">
+<description>
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GstGLDisplay
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstGLWindow using @display's connection
+
+</return>
+</function>
+
+<function name="gst_gl_window_quit">
+<description>
+Quit the runloop's execution.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_run">
+<description>
+Start the execution of the runloop.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_run_navigation">
+<description>
+Start the execution of the navigation runloop.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_send_message">
+<description>
+Invoke @callback with data on the window thread.  @callback is guarenteed to
+have executed when this function returns.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> function to invoke
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to invoke @callback with
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_send_message_async">
+<description>
+Invoke @callback with @data on the window thread.  The callback may not
+have been executed when this function returns.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> function to invoke
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to invoke @callback with
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> called when @data is not needed anymore
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_set_close_callback">
+<description>
+Sets the callback called when the window is about to close.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> function to invoke
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to invoke @callback with
+</parameter_description>
+</parameter>
+<parameter name="destroy_notify">
+<parameter_description> called when @data is not needed any more
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_set_draw_callback">
+<description>
+Sets the draw callback called everytime gst_gl_window_draw() is called
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> function to invoke
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to invoke @callback with
+</parameter_description>
+</parameter>
+<parameter name="destroy_notify">
+<parameter_description> called when @data is not needed any more
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_set_preferred_size">
+<description>
+Set the preferred width and height of the window.  Implementations are free
+to ignore this information.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> new preferred width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> new preferred height
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_set_render_rectangle">
+<description>
+Tell a @window that it should render into a specific region of the window
+according to the #GstVideoOverlay interface.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> x position
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> y position
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the specified region could be set
+</return>
+</function>
+
+<function name="gst_gl_window_set_resize_callback">
+<description>
+Sets the resize callback called everytime a resize of the window occurs.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> function to invoke
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to invoke @callback with
+</parameter_description>
+</parameter>
+<parameter name="destroy_notify">
+<parameter_description> called when @data is not needed any more
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_set_window_handle">
+<description>
+Sets the window that this @window should render into.  Some implementations
+require this to be called with a valid handle before drawing can commence.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+<parameter name="handle">
+<parameter_description> handle to the window
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_show">
+<description>
+Present the window to the screen.
+
+
+</description>
+<parameters>
+<parameter name="window">
+<parameter_description> a #GstGLWindow
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_x11_trap_x_errors">
+<description>
+Traps every X error until gst_gl_window_x11_untrap_x_errors() is called.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_gl_window_x11_untrap_x_errors">
+<description>
+Removes the X error trap and returns the current status.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the trapped error code, or 0 for success
+</return>
+</function>
+
+<function name="gst_h263_parse">
+<description>
+Parses @data and fills @packet with the information of the next packet
+found.
+
+Note that the type of the packet is meaningless in this case.
+
+
+</description>
+<parameters>
+<parameter name="packet">
+<parameter_description> The #GstMpeg4Packet to fill
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> offset from which to start the parsing
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of the @data to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstMpeg4ParseResult
+</return>
+</function>
+
+<function name="gst_h264_nal_parser_free">
+<description>
+Frees @nalparser and sets it to %NULL
+
+</description>
+<parameters>
+<parameter name="nalparser">
+<parameter_description> the #GstH264NalParser to free
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_h264_nal_parser_new">
+<description>
+Creates a new #GstH264NalParser. It should be freed with
+gst_h264_nal_parser_free after use.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GstH264NalParser
+</return>
+</function>
+
+<function name="gst_h264_parse_pps">
+<description>
+Parses @data, and fills the @pps structure.
+
+The resulting @pps data structure shall be deallocated with the
+gst_h264_pps_clear() function when it is no longer needed, or prior
+to parsing a new PPS NAL unit.
+
+
+</description>
+<parameters>
+<parameter name="nalparser">
+<parameter_description> a #GstH264NalParser
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GST_H264_NAL_PPS #GstH264NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="pps">
+<parameter_description> The #GstH264PPS to fill.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH264ParserResult
+</return>
+</function>
+
+<function name="gst_h264_parse_sps">
+<description>
+Parses @data, and fills the @sps structure.
+
+
+</description>
+<parameters>
+<parameter name="nalu">
+<parameter_description> The #GST_H264_NAL_SPS #GstH264NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="sps">
+<parameter_description> The #GstH264SPS to fill.
+</parameter_description>
+</parameter>
+<parameter name="parse_vui_params">
+<parameter_description> Whether to parse the vui_params or not
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH264ParserResult
+</return>
+</function>
+
+<function name="gst_h264_parse_subset_sps">
+<description>
+Parses @data, and fills in the @sps structure.
+
+This function fully parses @data and allocates all the necessary
+data structures needed for MVC extensions. The resulting @sps
+structure shall be deallocated with gst_h264_sps_clear() when it is
+no longer needed.
+
+Note: if the caller doesn't need any of the MVC-specific data, then
+gst_h264_parser_parse_sps() is more efficient because those extra
+syntax elements are not parsed and no extra memory is allocated.
+
+
+</description>
+<parameters>
+<parameter name="nalu">
+<parameter_description> The #GST_H264_NAL_SUBSET_SPS #GstH264NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="sps">
+<parameter_description> The #GstH264SPS to fill.
+</parameter_description>
+</parameter>
+<parameter name="parse_vui_params">
+<parameter_description> Whether to parse the vui_params or not
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH264ParserResult
+
+</return>
+</function>
+
+<function name="gst_h264_parser_identify_nalu">
+<description>
+Parses @data and fills @nalu from the next nalu data from @data
+
+
+</description>
+<parameters>
+<parameter name="nalparser">
+<parameter_description> a #GstH264NalParser
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> the offset from which to parse @data
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GstH264NalUnit where to store parsed nal headers
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH264ParserResult
+</return>
+</function>
+
+<function name="gst_h264_parser_identify_nalu_avc">
+<description>
+Parses @data and sets @nalu.
+
+
+</description>
+<parameters>
+<parameter name="nalparser">
+<parameter_description> a #GstH264NalParser
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse, must be the beging of the Nal unit
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> the offset from which to parse @data
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="nal_length_size">
+<parameter_description> the size in bytes of the AVC nal length prefix.
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GstH264NalUnit where to store parsed nal headers
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH264ParserResult
+</return>
+</function>
+
+<function name="gst_h264_parser_identify_nalu_unchecked">
+<description>
+Parses @data and fills @nalu from the next nalu data from @data.
+
+This differs from @gst_h264_parser_identify_nalu in that it doesn't
+check whether the packet is complete or not.
+
+Note: Only use this function if you already know the provided @data
+is a complete NALU, else use @gst_h264_parser_identify_nalu.
+
+
+</description>
+<parameters>
+<parameter name="nalparser">
+<parameter_description> a #GstH264NalParser
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> the offset from which to parse @data
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GstH264NalUnit where to store parsed nal headers
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH264ParserResult
+</return>
+</function>
+
+<function name="gst_h264_parser_parse_nal">
+<description>
+This function should be called in the case one doesn't need to
+parse a specific structure. It is necessary to do so to make
+sure @nalparser is up to date.
+
+
+</description>
+<parameters>
+<parameter name="nalparser">
+<parameter_description> a #GstH264NalParser
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GstH264NalUnit to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH264ParserResult
+</return>
+</function>
+
+<function name="gst_h264_parser_parse_pps">
+<description>
+Parses @data, and fills the @pps structure.
+
+The resulting @pps data structure shall be deallocated with the
+gst_h264_pps_clear() function when it is no longer needed, or prior
+to parsing a new PPS NAL unit.
+
+
+</description>
+<parameters>
+<parameter name="nalparser">
+<parameter_description> a #GstH264NalParser
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GST_H264_NAL_PPS #GstH264NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="pps">
+<parameter_description> The #GstH264PPS to fill.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH264ParserResult
+</return>
+</function>
+
+<function name="gst_h264_parser_parse_sei">
+<description>
+Parses @data, create and fills the @messages array.
+
+
+</description>
+<parameters>
+<parameter name="nalparser">
+<parameter_description> a #GstH264NalParser
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GST_H264_NAL_SEI #GstH264NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="messages">
+<parameter_description> The GArray of #GstH264SEIMessage to fill. The caller must free it when done.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH264ParserResult
+</return>
+</function>
+
+<function name="gst_h264_parser_parse_slice_hdr">
+<description>
+Parses @data, and fills the @slice structure.
+
+
+</description>
+<parameters>
+<parameter name="nalparser">
+<parameter_description> a #GstH264NalParser
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GST_H264_NAL_SLICE #GstH264NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="slice">
+<parameter_description> The #GstH264SliceHdr to fill.
+</parameter_description>
+</parameter>
+<parameter name="parse_pred_weight_table">
+<parameter_description> Whether to parse the pred_weight_table or not
+</parameter_description>
+</parameter>
+<parameter name="parse_dec_ref_pic_marking">
+<parameter_description> Whether to parse the dec_ref_pic_marking or not
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH264ParserResult
+</return>
+</function>
+
+<function name="gst_h264_parser_parse_sps">
+<description>
+Parses @data, and fills the @sps structure.
+
+
+</description>
+<parameters>
+<parameter name="nalparser">
+<parameter_description> a #GstH264NalParser
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GST_H264_NAL_SPS #GstH264NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="sps">
+<parameter_description> The #GstH264SPS to fill.
+</parameter_description>
+</parameter>
+<parameter name="parse_vui_params">
+<parameter_description> Whether to parse the vui_params or not
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH264ParserResult
+</return>
+</function>
+
+<function name="gst_h264_parser_parse_subset_sps">
+<description>
+Parses @data, and fills in the @sps structure.
+
+This function fully parses @data and allocates all the necessary
+data structures needed for MVC extensions. The resulting @sps
+structure shall be deallocated with gst_h264_sps_clear() when it is
+no longer needed.
+
+Note: if the caller doesn't need any of the MVC-specific data, then
+gst_h264_parser_parse_sps() is more efficient because those extra
+syntax elements are not parsed and no extra memory is allocated.
+
+
+</description>
+<parameters>
+<parameter name="nalparser">
+<parameter_description> a #GstH264NalParser
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GST_H264_NAL_SUBSET_SPS #GstH264NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="sps">
+<parameter_description> The #GstH264SPS to fill.
+</parameter_description>
+</parameter>
+<parameter name="parse_vui_params">
+<parameter_description> Whether to parse the vui_params or not
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH264ParserResult
+
+</return>
+</function>
+
+<function name="gst_h264_pps_clear">
+<description>
+Clears all @pps internal resources.
+
+
+</description>
+<parameters>
+<parameter name="pps">
+<parameter_description> The #GstH264PPS to free
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_h264_quant_matrix_4x4_get_raster_from_zigzag">
+<description>
+Converts quantization matrix @quant from zigzag scan order to
+raster scan order and store the resulting factors into @out_quant.
+
+Note: it is an error to pass the same table in both @quant and
+ out_quant arguments.
+
+
+</description>
+<parameters>
+<parameter name="out_quant">
+<parameter_description> The resulting quantization matrix
+</parameter_description>
+</parameter>
+<parameter name="quant">
+<parameter_description> The source quantization matrix
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_h264_quant_matrix_4x4_get_zigzag_from_raster">
+<description>
+Converts quantization matrix @quant from raster scan order to
+zigzag scan order and store the resulting factors into @out_quant.
+
+Note: it is an error to pass the same table in both @quant and
+ out_quant arguments.
+
+
+</description>
+<parameters>
+<parameter name="out_quant">
+<parameter_description> The resulting quantization matrix
+</parameter_description>
+</parameter>
+<parameter name="quant">
+<parameter_description> The source quantization matrix
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_h264_quant_matrix_8x8_get_raster_from_zigzag">
+<description>
+Converts quantization matrix @quant from zigzag scan order to
+raster scan order and store the resulting factors into @out_quant.
+
+Note: it is an error to pass the same table in both @quant and
+ out_quant arguments.
+
+
+</description>
+<parameters>
+<parameter name="out_quant">
+<parameter_description> The resulting quantization matrix
+</parameter_description>
+</parameter>
+<parameter name="quant">
+<parameter_description> The source quantization matrix
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_h264_quant_matrix_8x8_get_zigzag_from_raster">
+<description>
+Converts quantization matrix @quant from raster scan order to
+zigzag scan order and store the resulting factors into @out_quant.
+
+Note: it is an error to pass the same table in both @quant and
+ out_quant arguments.
+
+
+</description>
+<parameters>
+<parameter name="out_quant">
+<parameter_description> The resulting quantization matrix
+</parameter_description>
+</parameter>
+<parameter name="quant">
+<parameter_description> The source quantization matrix
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_h264_sps_clear">
+<description>
+Clears all @sps internal resources.
+
+
+</description>
+<parameters>
+<parameter name="sps">
+<parameter_description> The #GstH264SPS to free
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_h264_video_calculate_framerate">
+<description>
+Calculate framerate of a video sequence using @sps VUI information,
+ field_pic_flag from a slice header and @pic_struct from #GstH264PicTiming SEI
+message.
+
+If framerate is variable or can't be determined, @fps_num will be set to 0
+and @fps_den to 1.
+
+</description>
+<parameters>
+<parameter name="sps">
+<parameter_description> Current Sequence Parameter Set
+</parameter_description>
+</parameter>
+<parameter name="field_pic_flag">
+<parameter_description> Current @field_pic_flag, obtained from latest slice header
+</parameter_description>
+</parameter>
+<parameter name="pic_struct">
+<parameter_description> @pic_struct value if available, 0 otherwise
+</parameter_description>
+</parameter>
+<parameter name="fps_num">
+<parameter_description> The resulting fps numerator
+</parameter_description>
+</parameter>
+<parameter name="fps_den">
+<parameter_description> The resulting fps denominator
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_h265_parse_pps">
+<description>
+Parses @data, and fills the @pps structure.
+
+
+</description>
+<parameters>
+<parameter name="parser">
+<parameter_description> a #GstH265Parser
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GST_H265_NAL_PPS #GstH265NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="pps">
+<parameter_description> The #GstH265PPS to fill.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH265ParserResult
+</return>
+</function>
+
+<function name="gst_h265_parse_sps">
+<description>
+parser: The #GstH265Parser
+ nalu: The #GST_H265_NAL_SPS #GstH265NalUnit to parse
+ sps: The #GstH265SPS to fill.
+ parse_vui_params: Whether to parse the vui_params or not
+
+Parses @data, and fills the @sps structure.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a #GstH265ParserResult
+</return>
+</function>
+
+<function name="gst_h265_parse_vps">
+<description>
+Parses @data, and fills the @vps structure.
+
+
+</description>
+<parameters>
+<parameter name="nalu">
+<parameter_description> The #GST_H265_NAL_VPS #GstH265NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="sps">
+<parameter_description> The #GstH265VPS to fill.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH265ParserResult
+</return>
+</function>
+
+<function name="gst_h265_parser_free">
+<description>
+Frees @parser and sets it to %NULL
+
+</description>
+<parameters>
+<parameter name="parser">
+<parameter_description> the #GstH265Parser to free
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_h265_parser_identify_nalu">
+<description>
+Parses @data and fills @nalu from the next nalu data from @data
+
+
+</description>
+<parameters>
+<parameter name="parser">
+<parameter_description> a #GstH265Parser
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> the offset from which to parse @data
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GstH265NalUnit where to store parsed nal headers
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH265ParserResult
+</return>
+</function>
+
+<function name="gst_h265_parser_identify_nalu_hevc">
+<description>
+Parses @data and sets @nalu.
+
+
+</description>
+<parameters>
+<parameter name="parser">
+<parameter_description> a #GstH265Parser
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse, must be the beging of the Nal unit
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> the offset from which to parse @data
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="nal_length_size">
+<parameter_description> the size in bytes of the HEVC nal length prefix.
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GstH265NalUnit where to store parsed nal headers
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH265ParserResult
+</return>
+</function>
+
+<function name="gst_h265_parser_identify_nalu_unchecked">
+<description>
+Parses @data and fills @nalu from the next nalu data from @data.
+
+This differs from @gst_h265_parser_identify_nalu in that it doesn't
+check whether the packet is complete or not.
+
+Note: Only use this function if you already know the provided @data
+is a complete NALU, else use @gst_h265_parser_identify_nalu.
+
+
+</description>
+<parameters>
+<parameter name="parser">
+<parameter_description> a #GstH265Parser
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> the offset from which to parse @data
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GstH265NalUnit where to store parsed nal headers
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH265ParserResult
+</return>
+</function>
+
+<function name="gst_h265_parser_new">
+<description>
+Creates a new #GstH265Parser. It should be freed with
+gst_h265_parser_free after use.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GstH265Parser
+</return>
+</function>
+
+<function name="gst_h265_parser_parse_nal">
+<description>
+This function should be called in the case one doesn't need to
+parse a specific structure. It is necessary to do so to make
+sure @parser is up to date.
+
+
+</description>
+<parameters>
+<parameter name="parser">
+<parameter_description> a #GstH265Parser
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GstH265NalUnit to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH265ParserResult
+</return>
+</function>
+
+<function name="gst_h265_parser_parse_pps">
+<description>
+Parses @data, and fills the @pps structure.
+
+
+</description>
+<parameters>
+<parameter name="parser">
+<parameter_description> a #GstH265Parser
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GST_H265_NAL_PPS #GstH265NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="pps">
+<parameter_description> The #GstH265PPS to fill.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH265ParserResult
+</return>
+</function>
+
+<function name="gst_h265_parser_parse_sei">
+<description>
+Parses @data, create and fills the @messages array.
+
+
+</description>
+<parameters>
+<parameter name="nalparser">
+<parameter_description> a #GstH265Parser
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GST_H265_NAL_SEI #GstH265NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="messages">
+<parameter_description> The GArray of #GstH265SEIMessage to fill. The caller must free it when done.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH265ParserResult
+</return>
+</function>
+
+<function name="gst_h265_parser_parse_slice_hdr">
+<description>
+Parses @data, and fills the @slice structure.
+The resulting @slice_hdr structure shall be deallocated with
+gst_h265_slice_hdr_free() when it is no longer needed
+
+
+</description>
+<parameters>
+<parameter name="parser">
+<parameter_description> a #GstH265Parser
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GST_H265_NAL_SLICE #GstH265NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="slice">
+<parameter_description> The #GstH265SliceHdr to fill.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH265ParserResult
+</return>
+</function>
+
+<function name="gst_h265_parser_parse_sps">
+<description>
+Parses @data, and fills the @sps structure.
+
+
+</description>
+<parameters>
+<parameter name="parser">
+<parameter_description> a #GstH265Parser
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GST_H265_NAL_SPS #GstH265NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="sps">
+<parameter_description> The #GstH265SPS to fill.
+</parameter_description>
+</parameter>
+<parameter name="parse_vui_params">
+<parameter_description> Whether to parse the vui_params or not
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH265ParserResult
+</return>
+</function>
+
+<function name="gst_h265_parser_parse_vps">
+<description>
+Parses @data, and fills the @vps structure.
+
+
+</description>
+<parameters>
+<parameter name="parser">
+<parameter_description> a #GstH265Parser
+</parameter_description>
+</parameter>
+<parameter name="nalu">
+<parameter_description> The #GST_H265_NAL_VPS #GstH265NalUnit to parse
+</parameter_description>
+</parameter>
+<parameter name="vps">
+<parameter_description> The #GstH265VPS to fill.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstH265ParserResult
+</return>
+</function>
+
+<function name="gst_h265_quant_matrix_4x4_get_raster_from_zigzag">
+<description>
+Converts quantization matrix @quant from zigzag scan order to
+raster scan order and store the resulting factors into @out_quant.
+
+Note: it is an error to pass the same table in both @quant and
+ out_quant arguments.
+
+
+</description>
+<parameters>
+<parameter name="out_quant">
+<parameter_description> The resulting quantization matrix
+</parameter_description>
+</parameter>
+<parameter name="quant">
+<parameter_description> The source quantization matrix
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_h265_quant_matrix_4x4_get_zigzag_from_raster">
+<description>
+Converts quantization matrix @quant from raster scan order to
+zigzag scan order and store the resulting factors into @out_quant.
+
+Note: it is an error to pass the same table in both @quant and
+ out_quant arguments.
+
+
+</description>
+<parameters>
+<parameter name="out_quant">
+<parameter_description> The resulting quantization matrix
+</parameter_description>
+</parameter>
+<parameter name="quant">
+<parameter_description> The source quantization matrix
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_h265_quant_matrix_8x8_get_raster_from_zigzag">
+<description>
+Converts quantization matrix @quant from zigzag scan order to
+raster scan order and store the resulting factors into @out_quant.
+
+Note: it is an error to pass the same table in both @quant and
+ out_quant arguments.
+
+
+</description>
+<parameters>
+<parameter name="out_quant">
+<parameter_description> The resulting quantization matrix
+</parameter_description>
+</parameter>
+<parameter name="quant">
+<parameter_description> The source quantization matrix
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_h265_quant_matrix_8x8_get_zigzag_from_raster">
+<description>
+Converts quantization matrix @quant from raster scan order to
+zigzag scan order and store the resulting factors into @out_quant.
+
+Note: it is an error to pass the same table in both @quant and
+ out_quant arguments.
+
+
+</description>
+<parameters>
+<parameter name="out_quant">
+<parameter_description> The resulting quantization matrix
+</parameter_description>
+</parameter>
+<parameter name="quant">
+<parameter_description> The source quantization matrix
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_h265_sei_copy">
+<description>
+Copies @src_sei into @dst_sei
+
+
+</description>
+<parameters>
+<parameter name="dst_sei">
+<parameter_description> The destination #GstH265SEIMessage to copy into
+</parameter_description>
+</parameter>
+<parameter name="src_sei">
+<parameter_description> The source #GstH265SEIMessage to copy from
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if everything went fine, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_h265_sei_free">
+<description>
+sei: The #GstH265SEIMessage to free
+
+Frees @sei fields.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_h265_slice_hdr_copy">
+<description>
+Copies @src_slice into @dst_slice
+
+
+</description>
+<parameters>
+<parameter name="dst_slice">
+<parameter_description> The destination #GstH265SliceHdr to copy into
+</parameter_description>
+</parameter>
+<parameter name="src_slice">
+<parameter_description> The source #GstH265SliceHdr to copy from
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if everything went fine, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_h265_slice_hdr_free">
+<description>
+slice_hdr: The #GstH265SliceHdr to free
+
+Frees @slice_hdr fields.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_insert_bin_append">
+<description>
+This action signal adds the filter like element after any other element
+in the bin.
+
+Same as the #GstInsertBin::append signal.
+
+
+</description>
+<parameters>
+<parameter name="element">
+<parameter_description> the #GstElement to add
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the callback to call when the element has been
+added or not, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> The data to pass to the callback
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_insert_bin_insert_after">
+<description>
+This action signal adds the filter like element after the @sibling
+element in the bin.
+
+Same as the #GstInsertBin::insert-after signal.
+
+
+</description>
+<parameters>
+<parameter name="element">
+<parameter_description> the #GstElement to add
+</parameter_description>
+</parameter>
+<parameter name="sibling">
+<parameter_description> the #GstElement to add @element after
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the callback to call when the element has been
+added or not, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> The data to pass to the callback
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_insert_bin_insert_before">
+<description>
+This action signal adds the filter like element before the @sibling
+element in the bin.
+
+Same as the #GstInsertBin::insert-before signal.
+
+
+</description>
+<parameters>
+<parameter name="element">
+<parameter_description> the #GstElement to add
+</parameter_description>
+</parameter>
+<parameter name="sibling">
+<parameter_description> the #GstElement to add @element before
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the callback to call when the element has been
+added or not, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> The data to pass to the callback
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_insert_bin_new">
+<description>
+Creates a new #GstInsertBin
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> The name of the new #GstInsertBin element (or %NULL)
+</parameter_description>
+</parameter>
+</parameters>
+<return> The new #GstInsertBin
+
+</return>
+</function>
+
+<function name="gst_insert_bin_prepend">
+<description>
+This action signal adds the filter like element before any other element
+in the bin.
+
+Same as the #GstInsertBin::prepend signal.
+
+
+</description>
+<parameters>
+<parameter name="element">
+<parameter_description> the #GstElement to add
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the callback to call when the element has been
+added or not, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> The data to pass to the callback
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_insert_bin_remove">
+<description>
+This action signal removed the filter like element from the bin.
+
+Same as the #GstInsertBin::remove signal.
+
+
+</description>
+<parameters>
+<parameter name="element">
+<parameter_description> the #GstElement to remove
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the callback to call when the element has been
+removed or not, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> The data to pass to the callback
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_is_gl_base_buffer">
+<description>
+
+</description>
+<parameters>
+<parameter name="mem">
+<parameter_description>a #GstMemory
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the memory at @mem is a #GstGLBaseBuffer
+</return>
+</function>
+
+<function name="gst_is_gl_memory">
+<description>
+
+</description>
+<parameters>
+<parameter name="mem">
+<parameter_description>a #GstMemory
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the memory at @mem is a #GstGLMemory
+</return>
+</function>
+
+<function name="gst_jpeg_get_default_huffman_tables">
+<description>
+Fills in @huf_tables with the default AC/DC Huffman tables, as
+specified by the JPEG standard.
+
+
+</description>
+<parameters>
+<parameter name="huf_tables">
+<parameter_description> The default DC/AC Huffman tables to fill in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_jpeg_get_default_quantization_table">
+<description>
+Fills in @quant_tables with the default quantization tables, as
+specified by the JPEG standard.
+
+
+</description>
+<parameters>
+<parameter name="quant_tables">
+<parameter_description> The default luma/chroma quant-tables in zigzag mode
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_jpeg_parse">
+<description>
+Parses the JPEG bitstream contained in @data, and returns the
+detected segment as a #GstJpegSegment.
+
+Note that a valid segment may be returned with a length that exceeds
+the available data. It is up to the caller to make sure there's enough
+data available when parsing the segment.
+
+
+</description>
+<parameters>
+<parameter name="segment">
+<parameter_description> pointer to a #GstJpegSegment structure to fill in
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of @data
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> The offset from which to start parsing
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if a packet start code was found.
+
+</return>
+</function>
+
+<function name="gst_jpeg_segment_parse_frame_header">
+<description>
+Parses the @frame_hdr JPEG frame header structure members from @segment.
+
+The caller must make sure there is enough data for the whole segment
+available.
+
+
+</description>
+<parameters>
+<parameter name="segment">
+<parameter_description> the JPEG segment
+</parameter_description>
+</parameter>
+<parameter name="frame_hdr">
+<parameter_description> The #GstJpegFrameHdr structure to fill in
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the frame header was correctly parsed.
+
+</return>
+</function>
+
+<function name="gst_jpeg_segment_parse_huffman_table">
+<description>
+Parses the JPEG Huffman table structure members from @segment.
+
+The caller must make sure there is enough data for the whole segment
+available.
+
+Note: @huf_tables represents the complete set of possible Huffman
+tables. However, the parser will only write to the Huffman table
+specified by the table destination identifier (Th). While doing so,
+the @valid flag of the specified Huffman table will also be set to
+%TRUE;
+
+
+</description>
+<parameters>
+<parameter name="segment">
+<parameter_description> the JPEG segment
+</parameter_description>
+</parameter>
+<parameter name="huff_tables">
+<parameter_description> The #GstJpegHuffmanTables structure to fill in
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the Huffman table was correctly parsed.
+
+</return>
+</function>
+
+<function name="gst_jpeg_segment_parse_quantization_table">
+<description>
+Parses the JPEG quantization table structure members from @segment.
+
+The caller must make sure there is enough data for the whole segment
+available.
+
+Note: @quant_tables represents the complete set of possible
+quantization tables. However, the parser will only write to the
+quantization table specified by the table destination identifier
+(Tq). While doing so, the @valid flag of the specified quantization
+table will also be set to %TRUE.
+
+
+</description>
+<parameters>
+<parameter name="segment">
+<parameter_description> the JPEG segment
+</parameter_description>
+</parameter>
+<parameter name="quant_tables">
+<parameter_description> The #GstJpegQuantTables structure to fill in
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the quantization table was correctly parsed.
+
+</return>
+</function>
+
+<function name="gst_jpeg_segment_parse_restart_interval">
+<description>
+The caller must make sure there is enough data for the whole segment
+available.
+
+
+</description>
+<parameters>
+<parameter name="segment">
+<parameter_description> the JPEG segment
+</parameter_description>
+</parameter>
+<parameter name="interval">
+<parameter_description> The parsed restart interval value
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the restart interval value was correctly parsed.
+
+</return>
+</function>
+
+<function name="gst_jpeg_segment_parse_scan_header">
+<description>
+Parses the @scan_hdr JPEG scan header structure members from @segment.
+
+The caller must make sure there is enough data for the whole segment
+available.
+
+
+</description>
+<parameters>
+<parameter name="segment">
+<parameter_description> the JPEG segment
+</parameter_description>
+</parameter>
+<parameter name="scan_hdr">
+<parameter_description> The #GstJpegScanHdr structure to fill in
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the scan header was correctly parsed
+
+</return>
+</function>
+
+<function name="gst_message_new_mpegts_section">
+<description>
+Creates a new #GstMessage for a @GstMpegtsSection.
+
+
+</description>
+<parameters>
+<parameter name="parent">
+<parameter_description> The creator of the message
+</parameter_description>
+</parameter>
+<parameter name="section">
+<parameter_description> The #GstMpegtsSection to put in a message
+</parameter_description>
+</parameter>
+</parameters>
+<return> The new #GstMessage to be posted, or %NULL if the
+section is not valid.
+</return>
+</function>
+
+<function name="gst_message_parse_mpegts_section">
+<description>
+Returns the #GstMpegtsSection contained in a message.
+
+
+</description>
+<parameters>
+<parameter name="message">
+<parameter_description> a #GstMessage
+</parameter_description>
+</parameter>
+</parameters>
+<return> the contained #GstMpegtsSection, or %NULL.
+</return>
+</function>
+
+<function name="gst_mpeg4_next_resync">
+<description>
+Parses @data and fills @packet with the information of the next resync packet
+found.
+
+
+</description>
+<parameters>
+<parameter name="packet">
+<parameter_description> The #GstMpeg4Packet to fill
+</parameter_description>
+</parameter>
+<parameter name="vop">
+<parameter_description> The previously parsed #GstMpeg4VideoObjectPlane
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> offset from which to start the parsing
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of the @data to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstMpeg4ParseResult
+</return>
+</function>
+
+<function name="gst_mpeg4_parse">
+<description>
+Parses @data and fills @packet with the information of the next packet
+found.
+
+
+</description>
+<parameters>
+<parameter name="packet">
+<parameter_description> The #GstMpeg4Packet to fill
+</parameter_description>
+</parameter>
+<parameter name="skip_user_data">
+<parameter_description> %TRUE to skip user data packet %FALSE otherwize
+</parameter_description>
+</parameter>
+<parameter name="vop">
+<parameter_description> The last parsed #GstMpeg4VideoObjectPlane or %NULL if you do
+not need to detect the resync codes.
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> offset from which to start the parsing
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of the @data to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstMpeg4ParseResult
+</return>
+</function>
+
+<function name="gst_mpeg4_parse_group_of_vop">
+<description>
+Parses @data containing the group of video object plane packet, and fills
+the @gov structure.
+
+
+</description>
+<parameters>
+<parameter name="gov">
+<parameter_description> The #GstMpeg4GroupOfVOP structure to fill
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of the @data to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstMpeg4ParseResult
+</return>
+</function>
+
+<function name="gst_mpeg4_parse_video_object_layer">
+<description>
+Parses @data containing the video object layer packet, and fills
+the @vol structure.
+
+
+</description>
+<parameters>
+<parameter name="vol">
+<parameter_description> The #GstMpeg4VideoObjectLayer structure to fill
+</parameter_description>
+</parameter>
+<parameter name="vo">
+<parameter_description> The #GstMpeg4VisualObject currently being parsed or %NULL
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of the @data to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstMpeg4ParseResult
+</return>
+</function>
+
+<function name="gst_mpeg4_parse_video_object_plane">
+<description>
+Parses @data containing the video object plane packet, and fills the @vol
+structure.
+
+
+</description>
+<parameters>
+<parameter name="vop">
+<parameter_description> The #GstMpeg4VideoObjectPlane currently being parsed
+</parameter_description>
+</parameter>
+<parameter name="sprite_trajectory">
+<parameter_description> A #GstMpeg4SpriteTrajectory to fill or %NULL
+</parameter_description>
+</parameter>
+<parameter name="vol">
+<parameter_description> The #GstMpeg4VideoObjectLayer structure to fill
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of the @data to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstMpeg4ParseResult
+</return>
+</function>
+
+<function name="gst_mpeg4_parse_video_packet_header">
+<description>
+Parsers @data containing the video packet header
+and fills the @videopackethdr structure
+
+</description>
+<parameters>
+<parameter name="videopackethdr">
+<parameter_description> The #GstMpeg4VideoPacketHdr structure to fill
+</parameter_description>
+</parameter>
+<parameter name="vol">
+<parameter_description> The last parsed #GstMpeg4VideoObjectLayer, will be updated
+with the informations found during the parsing
+</parameter_description>
+</parameter>
+<parameter name="vop">
+<parameter_description> The last parsed #GstMpeg4VideoObjectPlane, will be updated
+with the informations found during the parsing
+</parameter_description>
+</parameter>
+<parameter name="sprite_trajectory">
+<parameter_description> A #GstMpeg4SpriteTrajectory to fill or %NULL
+with the informations found during the parsing
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse, should be set after the resync marker.
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of the data to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_mpeg4_parse_video_plane_with_short_header">
+<description>
+
+</description>
+<parameters>
+<parameter name="shorthdr">
+<parameter_description> The #GstMpeg4VideoPlaneShortHdr to parse
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of the @data to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_mpeg4_parse_visual_object">
+<description>
+Parses @data containing the visual object packet, and fills
+the @vo structure.
+
+
+</description>
+<parameters>
+<parameter name="vo">
+<parameter_description> The #GstMpeg4VisualObject structure to fill
+</parameter_description>
+</parameter>
+<parameter name="signal_type">
+<parameter_description> The #GstMpeg4VideoSignalType to fill or %NULL
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse, should contain the vo_start_code
+but not the start code prefix
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of the @data to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstMpeg4ParseResult
+</return>
+</function>
+
+<function name="gst_mpeg4_parse_visual_object_sequence">
+<description>
+Parses @data containing the visual object sequence packet, and fills
+the @vos structure.
+
+
+</description>
+<parameters>
+<parameter name="vos">
+<parameter_description> The #GstMpeg4VisualObjectSequence structure to fill
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse, should contain the visual_object_sequence_start_code
+but not the start code prefix
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of the @data to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstMpeg4ParseResult
+</return>
+</function>
+
+<function name="gst_mpeg_video_packet_parse_gop">
+<description>
+Parses the @gop MPEG Video Group of Picture structure members from
+video @packet
+
+
+</description>
+<parameters>
+<parameter name="packet">
+<parameter_description> The #GstMpegVideoPacket that carries the data
+</parameter_description>
+</parameter>
+<parameter name="gop">
+<parameter_description> The #GstMpegVideoGop structure to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the gop could be parsed correctly, %FALSE otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_packet_parse_picture_extension">
+<description>
+Parse the @ext MPEG Video Picture Extension structure members from
+video @packet
+
+
+</description>
+<parameters>
+<parameter name="packet">
+<parameter_description> The #GstMpegVideoPacket that carries the data
+</parameter_description>
+</parameter>
+<parameter name="ext">
+<parameter_description> The #GstMpegVideoPictureExt structure to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the picture extension could be parsed correctly,
+%FALSE otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_packet_parse_picture_header">
+<description>
+Parsers the @pichdr MPEG Video Picture Header structure members
+from video @packet
+
+
+</description>
+<parameters>
+<parameter name="packet">
+<parameter_description> The #GstMpegVideoPacket that carries the data
+</parameter_description>
+</parameter>
+<parameter name="pichdr">
+<parameter_description> The #GstMpegVideoPictureHdr structure to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the picture sequence could be parsed correctly, %FALSE
+otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_packet_parse_quant_matrix_extension">
+<description>
+Parses the @quant MPEG Video Quantization Matrix Extension
+structure members from video @packet
+
+
+</description>
+<parameters>
+<parameter name="packet">
+<parameter_description> The #GstMpegVideoPacket that carries the data
+</parameter_description>
+</parameter>
+<parameter name="quant">
+<parameter_description> The #GstMpegVideoQuantMatrixExt structure to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the quant matrix extension could be parsed correctly,
+%FALSE otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_packet_parse_sequence_display_extension">
+<description>
+Parses the @seqext MPEG Video Sequence Display Extension structure
+members from video @packet
+
+
+</description>
+<parameters>
+<parameter name="packet">
+<parameter_description> The #GstMpegVideoPacket that carries the data
+</parameter_description>
+</parameter>
+<parameter name="seqdisplayext">
+<parameter_description> The #GstMpegVideoSequenceDisplayExt
+structure to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the seqext could be parsed correctly, %FALSE otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_packet_parse_sequence_extension">
+<description>
+Parses the @seqext MPEG Video Sequence Extension structure members
+from video @packet
+
+
+</description>
+<parameters>
+<parameter name="packet">
+<parameter_description> The #GstMpegVideoPacket that carries the data
+</parameter_description>
+</parameter>
+<parameter name="seqext">
+<parameter_description> The #GstMpegVideoSequenceExt structure to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the seqext could be parsed correctly, %FALSE otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_packet_parse_sequence_header">
+<description>
+Parses the @seqhdr MPEG Video Sequence Header structure members
+from video @packet
+
+
+</description>
+<parameters>
+<parameter name="packet">
+<parameter_description> The #GstMpegVideoPacket that carries the data
+</parameter_description>
+</parameter>
+<parameter name="seqhdr">
+<parameter_description> The #GstMpegVideoSequenceHdr structure to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the seqhdr could be parsed correctly, %FALSE otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_packet_parse_sequence_scalable_extension">
+<description>
+Parses the @seqscaleext MPEG Video Sequence Scalable Extension structure
+members from video @packet
+
+
+</description>
+<parameters>
+<parameter name="packet">
+<parameter_description> The #GstMpegVideoPacket that carries the data
+</parameter_description>
+</parameter>
+<parameter name="seqscaleext">
+<parameter_description> The #GstMpegVideoSequenceScalableExt structure to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the seqext could be parsed correctly, %FALSE otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_packet_parse_slice_header">
+<description>
+Parses the @GstMpegVideoSliceHdr  structure members from @data
+
+
+</description>
+<parameters>
+<parameter name="packet">
+<parameter_description> The #GstMpegVideoPacket that carries the data
+</parameter_description>
+</parameter>
+<parameter name="slice_hdr">
+<parameter_description> The #GstMpegVideoSliceHdr structure to fill
+</parameter_description>
+</parameter>
+<parameter name="seqhdr">
+<parameter_description> The #GstMpegVideoSequenceHdr header
+</parameter_description>
+</parameter>
+<parameter name="seqscaleext">
+<parameter_description> The #GstMpegVideoSequenceScalableExt header
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the slice could be parsed correctly, %FALSE otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_parse">
+<description>
+Parses the MPEG 1/2 video bitstream contained in @data, and returns the
+offset, and if known also the size, in @packet. This function will scan
+the data to find the next packet if needed.
+
+
+</description>
+<parameters>
+<parameter name="packet">
+<parameter_description> a #GstMpegVideoPacket to fill with the data and offset of the
+next packet found
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of @data
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> The offset from which to start parsing
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if a packet start code was found, otherwise FALSE.
+</return>
+</function>
+
+<function name="gst_mpeg_video_parse_gop">
+<description>
+Parses the @gop Mpeg Video Group of Picture structure members from @data
+
+Deprecated: Use gst_mpeg_video_packet_parse_gop() instead.
+
+</description>
+<parameters>
+<parameter name="gop">
+<parameter_description> The #GstMpegVideoGop structure to fill
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data from which to parse the gop
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of @data
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> The offset in byte from which to start the parsing
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the gop could be parsed correctly, %FALSE otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_parse_picture_extension">
+<description>
+Parse the @ext Mpeg Video Picture Extension structure members from @data
+
+Deprecated: Use gst_mpeg_video_packet_parse_picture_extension() instead.
+
+</description>
+<parameters>
+<parameter name="ext">
+<parameter_description> The #GstMpegVideoPictureExt structure to fill
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data from which to parse the picture extension
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of @data
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> The offset in byte from which to start the parsing
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the picture extension could be parsed correctly,
+%FALSE otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_parse_picture_header">
+<description>
+Parsers the @hdr Mpeg Video Picture Header structure members from @data
+
+Deprecated: Use gst_mpeg_video_packet_parse_picture_header() instead.
+
+</description>
+<parameters>
+<parameter name="hdr">
+<parameter_description> The #GstMpegVideoPictureHdr structure to fill
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data from which to parse the picture header
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of @data
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> The offset in byte from which to start the parsing
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the picture sequence could be parsed correctly, %FALSE
+otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_parse_quant_matrix_extension">
+<description>
+Parses the @quant Mpeg Video Quant Matrix Extension structure members from
+ data
+
+Deprecated: Use gst_mpeg_video_packet_parse_quant_matrix_extension() instead.
+
+</description>
+<parameters>
+<parameter name="quant">
+<parameter_description> The #GstMpegVideoQuantMatrixExt structure to fill
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data from which to parse the Quantization Matrix extension
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of @data
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> The offset in byte from which to start the parsing
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the quant matrix extension could be parsed correctly,
+%FALSE otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_parse_sequence_extension">
+<description>
+Parses the @seqext Mpeg Video Sequence Extension structure members from @data
+
+Deprecated: Use gst_mpeg_video_packet_parse_sequence_extension() instead.
+
+</description>
+<parameters>
+<parameter name="seqext">
+<parameter_description> The #GstMpegVideoSequenceExt structure to fill
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data from which to parse the sequence extension
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of @data
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> The offset in byte from which to start parsing @data
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the seqext could be parsed correctly, %FALSE otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_parse_sequence_header">
+<description>
+Parses the @seqhdr Mpeg Video Sequence Header structure members from @data
+
+Deprecated: Use gst_mpeg_video_packet_parse_sequence_header() instead.
+
+</description>
+<parameters>
+<parameter name="seqhdr">
+<parameter_description> The #GstMpegVideoSequenceHdr structure to fill
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data from which to parse the sequence header
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of @data
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> The offset in byte from which to start parsing @data
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the seqhdr could be parsed correctly, %FALSE otherwize.
+
+</return>
+</function>
+
+<function name="gst_mpeg_video_quant_matrix_get_raster_from_zigzag">
+<description>
+Converts quantization matrix @quant from zigzag scan order to
+raster scan order and store the resulting factors into @out_quant.
+
+Note: it is an error to pass the same table in both @quant and
+ out_quant arguments.
+
+
+</description>
+<parameters>
+<parameter name="out_quant">
+<parameter_description> The resulting quantization matrix
+</parameter_description>
+</parameter>
+<parameter name="quant">
+<parameter_description> The source quantization matrix
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_mpeg_video_quant_matrix_get_zigzag_from_raster">
+<description>
+Converts quantization matrix @quant from raster scan order to
+zigzag scan order and store the resulting factors into @out_quant.
+
+Note: it is an error to pass the same table in both @quant and
+ out_quant arguments.
+
+
+</description>
+<parameters>
+<parameter name="out_quant">
+<parameter_description> The resulting quantization matrix
+</parameter_description>
+</parameter>
+<parameter name="quant">
+<parameter_description> The source quantization matrix
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_mpegts_descriptor_free">
+<description>
+Frees @desc
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> The descriptor to free
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_mpegts_descriptor_from_custom">
+<description>
+Creates a #GstMpegtsDescriptor with custom @tag and @data
+
+
+</description>
+<parameters>
+<parameter name="tag">
+<parameter_description> descriptor tag
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> descriptor data (after tag and length field)
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of @data
+</parameter_description>
+</parameter>
+</parameters>
+<return> #GstMpegtsDescriptor
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_from_dvb_network_name">
+<description>
+Creates a #GstMpegtsDescriptor to be a %GST_MTS_DESC_DVB_NETWORK_NAME,
+with the network name @name. The data field of the #GstMpegtsDescriptor
+will be allocated, and transferred to the caller.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> the network name to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GstMpegtsDescriptor or %NULL on fail
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_from_dvb_service">
+<description>
+Fills a #GstMpegtsDescriptor to be a %GST_MTS_DESC_DVB_SERVICE.
+The data field of the #GstMpegtsDescriptor will be allocated,
+and transferred to the caller.
+
+
+</description>
+<parameters>
+<parameter name="service_type">
+<parameter_description> Service type defined as a #GstMpegtsDVBServiceType
+</parameter_description>
+</parameter>
+<parameter name="service_name">
+<parameter_description> Name of the service
+</parameter_description>
+</parameter>
+<parameter name="service_provider">
+<parameter_description> Name of the service provider
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GstMpegtsDescriptor or %NULL on fail
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_from_dvb_subtitling">
+<description>
+
+</description>
+<parameters>
+<parameter name="lang">
+<parameter_description> a string containing the ISO639 language
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> subtitling type
+</parameter_description>
+</parameter>
+<parameter name="composition">
+<parameter_description> composition page id
+</parameter_description>
+</parameter>
+<parameter name="ancillary">
+<parameter_description> ancillary page id
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_mpegts_descriptor_from_registration">
+<description>
+Creates a %GST_MTS_DESC_REGISTRATION #GstMpegtsDescriptor
+
+Return: #GstMpegtsDescriptor, %NULL on failure
+
+</description>
+<parameters>
+<parameter name="format_identifier">
+<parameter_description> a 4 character format identifier string
+</parameter_description>
+</parameter>
+<parameter name="additional_info">
+<parameter_description> pointer to optional additional info
+</parameter_description>
+</parameter>
+<parameter name="additional_info_length">
+<parameter_description> length of the optional @additional_info
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_ca">
+<description>
+Extracts the Conditional Access information from @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_CA #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="ca_system_id">
+<parameter_description> the type of CA system used
+</parameter_description>
+</parameter>
+<parameter name="ca_pid">
+<parameter_description> The PID containing ECM or EMM data
+</parameter_description>
+</parameter>
+<parameter name="private_data">
+<parameter_description> The private data
+</parameter_description>
+</parameter>
+<parameter name="private_data_size">
+<parameter_description> The size of @private_data in bytes
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if parsing succeeded, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_cable_delivery_system">
+<description>
+Extracts the cable delivery system information from @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="res">
+<parameter_description> the #GstMpegtsCableDeliverySystemDescriptor to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if parsing succeeded, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_bouquet_name">
+<description>
+Extracts the bouquet name from @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="bouquet_name">
+<parameter_description> the bouquet name
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if parsing succeeded, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_ca_identifier">
+<description>
+Extracts ca id's from @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_CA_IDENTIFIER #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="list">
+<parameter_description> a list of ca identifier.
+Edge entry identifies the CA system. Allocations of the value of this field
+are found in http://www.dvbservices.com
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_component">
+<description>
+Extracts the DVB component information from @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_COMPONENT #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="res">
+<parameter_description> the #GstMpegtsComponentDescriptor to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if parsing succeeded, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_content">
+<description>
+Extracts the DVB content information from @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_CONTENT #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="content">
+<parameter_description> #GstMpegtsContent
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_data_broadcast">
+<description>
+Parses out the data broadcast from the @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_DATA_BROADCAST #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="res">
+<parameter_description> #GstMpegtsDataBroadcastDescriptor
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_data_broadcast_id">
+<description>
+Parses out the data broadcast id from the @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_DATA_BROADCAST_ID #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="data_broadcast_id">
+<parameter_description> the data broadcast id
+</parameter_description>
+</parameter>
+<parameter name="id_selector_bytes">
+<parameter_description> the selector bytes, if present
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> the length of #id_selector_bytes
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_extended_event">
+<description>
+Extracts the DVB extended event information from @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_EXTENDED_EVENT #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="res">
+<parameter_description> the #GstMpegtsExtendedEventDescriptor to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if parsing succeeded, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_frequency_list">
+<description>
+Parses out a list of frequencies from the @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_FREQUENCY_LIST #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> %FALSE in Hz, %TRUE in kHz
+</parameter_description>
+</parameter>
+<parameter name="list">
+<parameter_description> a list of all frequencies in Hz/kHz
+depending on %offset
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_linkage">
+<description>
+Extracts the DVB linkage information from @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_LINKAGE #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="res">
+<parameter_description> the #GstMpegtsDVBLinkageDescriptor to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if parsing succeeded, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name">
+<description>
+Parses out the multilingual bouquet name from the @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME
+#GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="bouquet_name_items">
+<parameter_description>
+a #GstMpegtsDvbMultilingualBouquetNameItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_multilingual_component">
+<description>
+Parses out the multilingual component from the @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT
+#GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="component_tag">
+<parameter_description> the component tag
+</parameter_description>
+</parameter>
+<parameter name="component_description_items">
+<parameter_description>
+a #GstMpegtsDvbMultilingualComponentItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_multilingual_network_name">
+<description>
+Parses out the multilingual network name from the @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME
+#GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="network_name_items">
+<parameter_description>
+a #GstMpegtsDvbMultilingualNetworkNameItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_multilingual_service_name">
+<description>
+Parses out the multilingual service name from the @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME
+#GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="service_name_items">
+<parameter_description>
+a #GstMpegtsDvbMultilingualServiceNameItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_network_name">
+<description>
+Parses out the dvb network name from the @descriptor:
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_NETWORK_NAME #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the extracted name
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_parental_rating">
+<description>
+Extracts the DVB parental rating information from @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_PARENTAL_RATING #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="rating">
+<parameter_description>
+#GstMpegtsDVBParentalRatingItem
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_private_data_specifier">
+<description>
+Parses out the private data specifier from the @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="private_data_specifier">
+<parameter_description> the private data specifier id
+registered by http://www.dvbservices.com/
+</parameter_description>
+</parameter>
+<parameter name="private_data">
+<parameter_description> additional data or NULL
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of %private_data
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_scrambling">
+<description>
+Parses out the scrambling mode from the @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_SCRAMBLING #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="scrambling_mode">
+<parameter_description> This 8-bit field identifies the selected
+mode of the scrambling algorithm (#GstMpegtsDVBScramblingModeType).
+The technical details of the scrambling algorithm are available only
+to bona-fide users upon signature of a Non Disclosure Agreement (NDA)
+administered by the DVB Common Scrambling Algorithm Custodian.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_service">
+<description>
+Extracts the dvb service information from @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_SERVICE #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="service_type">
+<parameter_description> the service type
+</parameter_description>
+</parameter>
+<parameter name="service_name">
+<parameter_description> the service name
+</parameter_description>
+</parameter>
+<parameter name="provider_name">
+<parameter_description> the provider name
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if parsing succeeded, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_service_list">
+<description>
+Parses out a list of services from the @descriptor:
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_SERVICE_LIST #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="list">
+<parameter_description>
+the list of services
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_short_event">
+<description>
+Extracts the DVB short event information from @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_SHORT_EVENT #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="language_code">
+<parameter_description> the language code
+</parameter_description>
+</parameter>
+<parameter name="event_name">
+<parameter_description> the event name
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the event text
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if parsing succeeded, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_stream_identifier">
+<description>
+Extracts the component tag from @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_CONTENT #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="component_tag">
+<parameter_description> the component tag
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happended correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_stuffing">
+<description>
+Parses out the stuffing bytes from the @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_STUFFING #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="stuffing_bytes">
+<parameter_description> the stuffing bytes
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_subtitling_idx">
+<description>
+Extracts the DVB subtitling informatio from specific table id in @descriptor.
+
+Note: Use #gst_tag_get_language_code if you want to get the the
+ISO 639-1 language code from the returned ISO 639-2 one.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_SUBTITLING #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="idx">
+<parameter_description> Table id of the entry to parse
+</parameter_description>
+</parameter>
+<parameter name="lang">
+<parameter_description> the language code
+</parameter_description>
+</parameter>
+<parameter name="type">
+<parameter_description> the type of subtitling
+</parameter_description>
+</parameter>
+<parameter name="composition_page_id">
+<parameter_description> the composition page id
+</parameter_description>
+</parameter>
+<parameter name="ancillary_page_id">
+<parameter_description> the ancillary page id
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if parsing succeeded, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_subtitling_nb">
+<description>
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_SUBTITLING #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of entries in @descriptor
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_t2_delivery_system">
+<description>
+Parses out the DVB-T2 delivery system from the @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="res">
+<parameter_description> #GstMpegtsT2DeliverySystemDescriptor
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_teletext_idx">
+<description>
+Parses teletext number @idx in the @descriptor. The language is in ISO639 format.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_TELETEXT #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="idx">
+<parameter_description> The id of the teletext to get
+</parameter_description>
+</parameter>
+<parameter name="language_code">
+<parameter_description> a null-terminated string
+</parameter_description>
+</parameter>
+<parameter name="teletext_type">
+<parameter_description> #GstMpegtsDVBTeletextType
+</parameter_description>
+</parameter>
+<parameter name="magazine_number">
+<parameter_description>
+</parameter_description>
+</parameter>
+<parameter name="page_number">
+<parameter_description>
+</parameter_description>
+</parameter>
+</parameters>
+<return> FALSE on out-of-bounds and errors
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_dvb_teletext_nb">
+<description>
+Find the number of teletext entries in @descriptor
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_TELETEXT #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+</parameters>
+<return> Number of teletext entries
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_iso_639_language">
+<description>
+Extracts the iso 639-2 language information from @descriptor.
+
+Note: Use #gst_tag_get_language_code if you want to get the the
+ISO 639-1 language code from the returned ISO 639-2 one.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="res">
+<parameter_description> the #GstMpegtsISO639LanguageDescriptor to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if parsing succeeded, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_iso_639_language_idx">
+<description>
+Extracts the iso 639-2 language information from specific table id in @descriptor.
+
+Note: Use #gst_tag_get_language_code if you want to get the the
+ISO 639-1 language code from the returned ISO 639-2 one.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="idx">
+<parameter_description> Table id of the language to parse
+</parameter_description>
+</parameter>
+<parameter name="lang">
+<parameter_description> 4-byte gchar array to hold the language code
+</parameter_description>
+</parameter>
+<parameter name="audio_type">
+<parameter_description> the #GstMpegtsIso639AudioType to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if parsing succeeded, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_iso_639_language_nb">
+<description>
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+</parameters>
+<return> The number of languages in @descriptor
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_logical_channel">
+<description>
+Extracts the logical channels from @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DTG_LOGICAL_CHANNEL #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="res">
+<parameter_description> the #GstMpegtsLogicalChannelDescriptor to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if parsing succeeded, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_satellite_delivery_system">
+<description>
+Extracts the satellite delivery system information from @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="res">
+<parameter_description> the #GstMpegtsSatelliteDeliverySystemDescriptor to fill
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if parsing succeeded, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_descriptor_parse_terrestrial_delivery_system">
+<description>
+Parses out the terrestrial delivery system from the @descriptor.
+
+
+</description>
+<parameters>
+<parameter name="descriptor">
+<parameter_description> a %GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="res">
+<parameter_description> #GstMpegtsTerrestrialDeliverySystemDescriptor
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing happened correctly, else %FALSE.
+</return>
+</function>
+
+<function name="gst_mpegts_dvb_linkage_descriptor_get_event">
+<description>
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> the #GstMpegtsDVBLinkageDescriptor
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstMpegtsDVBLinkageEvent or %NULL if an error happened
+</return>
+</function>
+
+<function name="gst_mpegts_dvb_linkage_descriptor_get_extended_event">
+<description>
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> the #GstMpegtsDVBLinkageDescriptor
+</parameter_description>
+</parameter>
+</parameters>
+<return> an #GstMpegtsDVBLinkageExtendedEvent array or %NULL if an error happened
+</return>
+</function>
+
+<function name="gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over">
+<description>
+
+</description>
+<parameters>
+<parameter name="desc">
+<parameter_description> the #GstMpegtsDVBLinkageDescriptor
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstMpegtsDVBLinkageMobileHandOver or %NULL if an error happened
+</return>
+</function>
+
+<function name="gst_mpegts_find_descriptor">
+<description>
+Finds the first descriptor of type @tag in the array.
+
+Note: To look for descriptors that can be present more than once in an
+array of descriptors, iterate the #GArray manually.
+
+
+</description>
+<parameters>
+<parameter name="descriptors">
+<parameter_description> an array
+of #GstMpegtsDescriptor
+</parameter_description>
+</parameter>
+<parameter name="tag">
+<parameter_description> the tag to look for
+</parameter_description>
+</parameter>
+</parameters>
+<return> the first descriptor matchin @tag, else %NULL.
+</return>
+</function>
+
+<function name="gst_mpegts_initialize">
+<description>
+Initializes the MPEG-TS helper library. Must be called before any
+usage.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_mpegts_nit_new">
+<description>
+Allocates and initializes a #GstMpegtsNIT.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly allocated #GstMpegtsNIT
+</return>
+</function>
+
+<function name="gst_mpegts_nit_stream_new">
+<description>
+Allocates and initializes a #GstMpegtsNITStream
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly allocated #GstMpegtsNITStream
+</return>
+</function>
+
+<function name="gst_mpegts_parse_descriptors">
+<description>
+Parses the descriptors present in @buffer and returns them as an
+array.
+
+Note: The data provided in @buffer will not be copied.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> descriptors to parse
+</parameter_description>
+</parameter>
+<parameter name="buf_len">
+<parameter_description> Size of @buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> an
+array of the parsed descriptors or %NULL if there was an error.
+Release with #g_array_unref when done with it.
+</return>
+</function>
+
+<function name="gst_mpegts_pat_new">
+<description>
+Allocates a new #GPtrArray for #GstMpegtsPatProgram
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly allocated #GPtrArray
+</return>
+</function>
+
+<function name="gst_mpegts_pat_program_new">
+<description>
+Allocates a new #GstMpegtsPatProgram.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly allocated #GstMpegtsPatProgram
+</return>
+</function>
+
+<function name="gst_mpegts_pmt_new">
+<description>
+Allocates and initializes a new #GstMpegtsPMT.
+
+
+</description>
+<parameters>
+</parameters>
+<return> #GstMpegtsPMT
+</return>
+</function>
+
+<function name="gst_mpegts_pmt_stream_new">
+<description>
+Allocates and initializes a new #GstMpegtsPMTStream.
+
+
+</description>
+<parameters>
+</parameters>
+<return> #GstMpegtsPMTStream
+</return>
+</function>
+
+<function name="gst_mpegts_sdt_new">
+<description>
+Allocates and initializes a #GstMpegtsSDT.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly allocated #GstMpegtsSDT
+</return>
+</function>
+
+<function name="gst_mpegts_sdt_service_new">
+<description>
+Allocates and initializes a #GstMpegtsSDTService.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A newly allocated #GstMpegtsSDTService
+</return>
+</function>
+
+<function name="gst_mpegts_section_from_nit">
+<description>
+Ownership of @nit is taken. The data in @nit is managed by the #GstMpegtsSection
+
+
+</description>
+<parameters>
+<parameter name="nit">
+<parameter_description> a #GstMpegtsNIT to create the #GstMpegtsSection from
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GstMpegtsSection
+</return>
+</function>
+
+<function name="gst_mpegts_section_from_pat">
+<description>
+Creates a PAT #GstMpegtsSection from the @programs array of #GstMpegtsPatPrograms
+
+
+</description>
+<parameters>
+<parameter name="programs">
+<parameter_description> an array of #GstMpegtsPatProgram
+</parameter_description>
+</parameter>
+<parameter name="ts_id">
+<parameter_description> Transport stream ID of the PAT
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstMpegtsSection
+</return>
+</function>
+
+<function name="gst_mpegts_section_from_pmt">
+<description>
+Creates a #GstMpegtsSection from @pmt that is bound to @pid
+
+
+</description>
+<parameters>
+<parameter name="pmt">
+<parameter_description> a #GstMpegtsPMT to create a #GstMpegtsSection from
+</parameter_description>
+</parameter>
+<parameter name="pid">
+<parameter_description> The PID that the #GstMpegtsPMT belongs to
+</parameter_description>
+</parameter>
+</parameters>
+<return> #GstMpegtsSection
+</return>
+</function>
+
+<function name="gst_mpegts_section_from_sdt">
+<description>
+Ownership of @sdt is taken. The data in @sdt is managed by the #GstMpegtsSection
+
+
+</description>
+<parameters>
+<parameter name="sdt">
+<parameter_description> a #GstMpegtsSDT to create the #GstMpegtsSection from
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GstMpegtsSection
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_atsc_cvct">
+<description>
+Returns the #GstMpegtsAtscVCT contained in the @section
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_CVCT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstMpegtsAtscVCT contained in the section, or %NULL if an error
+happened.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_atsc_eit">
+<description>
+Returns the #GstMpegtsAtscEIT contained in the @section.
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_EIT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstMpegtsAtscEIT contained in the section, or %NULL if an error
+happened.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_atsc_ett">
+<description>
+Returns the #GstMpegtsAtscETT contained in the @section.
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_ETT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstMpegtsAtscETT contained in the section, or %NULL if an error
+happened.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_atsc_mgt">
+<description>
+Returns the #GstMpegtsAtscMGT contained in the @section.
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_MGT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstMpegtsAtscMGT contained in the section, or %NULL if an error
+happened.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_atsc_stt">
+<description>
+Returns the #GstMpegtsAtscSTT contained in the @section.
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_STT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstMpegtsAtscSTT contained in the section, or %NULL if an error
+happened.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_atsc_tvct">
+<description>
+Returns the #GstMpegtsAtscVCT contained in the @section
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_ATSC_TVCT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstMpegtsAtscVCT contained in the section, or %NULL if an error
+happened.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_bat">
+<description>
+Returns the #GstMpegtsBAT contained in the @section.
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_BAT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstMpegtsBAT contained in the section, or %NULL if an error
+happened.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_cat">
+<description>
+Returns the array of #GstMpegtsDescriptor contained in the Conditional
+Access Table.
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_CAT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The
+#GstMpegtsDescriptor contained in the section, or %NULL if an error
+happened. Release with #g_array_unref when done.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_data">
+<description>
+Gets the original unparsed section data.
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection
+</parameter_description>
+</parameter>
+</parameters>
+<return> The original unparsed section data.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_eit">
+<description>
+Returns the #GstMpegtsEIT contained in the @section.
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_EIT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstMpegtsEIT contained in the section, or %NULL if an error
+happened.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_nit">
+<description>
+Returns the #GstMpegtsNIT contained in the @section.
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_NIT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstMpegtsNIT contained in the section, or %NULL if an error
+happened.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_pat">
+<description>
+Parses a Program Association Table (ITU H.222.0, ISO/IEC 13818-1).
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_PAT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The
+#GstMpegtsPatProgram contained in the section, or %NULL if an error
+happened. Release with #g_ptr_array_unref when done.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_pmt">
+<description>
+Returns the #GstMpegtsPMT contained in the @section.
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_PMT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstMpegtsPMT contained in the section, or %NULL if an error
+happened.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_sdt">
+<description>
+Returns the #GstMpegtsSDT contained in the @section.
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_SDT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstMpegtsSDT contained in the section, or %NULL if an error
+happened.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_tdt">
+<description>
+Returns the #GstDateTime of the TDT
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_TDT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstDateTime contained in the section, or %NULL
+if an error happened. Release with #gst_date_time_unref when done.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_tot">
+<description>
+Returns the #GstMpegtsTOT contained in the @section.
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_TOT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GstMpegtsTOT contained in the section, or %NULL if an error
+happened.
+</return>
+</function>
+
+<function name="gst_mpegts_section_get_tsdt">
+<description>
+Returns the array of #GstMpegtsDescriptor contained in the section
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> a #GstMpegtsSection of type %GST_MPEGTS_SECTION_TSDT
+</parameter_description>
+</parameter>
+</parameters>
+<return> The
+#GstMpegtsDescriptor contained in the section, or %NULL if an error
+happened. Release with #g_array_unref when done.
+</return>
+</function>
+
+<function name="gst_mpegts_section_new">
+<description>
+Creates a new #GstMpegtsSection from the provided @data.
+
+Note: Ensuring @data is big enough to contain the full section is the
+responsibility of the caller. If it is not big enough, %NULL will be
+returned.
+
+Note: it is the responsibility of the caller to ensure @data does point
+to the beginning of the section.
+
+
+</description>
+<parameters>
+<parameter name="pid">
+<parameter_description> the PID to which this section belongs
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> a pointer to the beginning of the section (i.e. the first byte
+should contain the table_id field).
+</parameter_description>
+</parameter>
+<parameter name="data_size">
+<parameter_description> size of the @data argument.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GstMpegtsSection if the data was valid,
+else %NULL
+</return>
+</function>
+
+<function name="gst_mpegts_section_packetize">
+<description>
+If the data in @section has already been packetized, the data pointer is returned
+immediately. Otherwise, the data field is allocated and populated.
+
+
+</description>
+<parameters>
+<parameter name="section">
+<parameter_description> the #GstMpegtsSection that holds the data
+</parameter_description>
+</parameter>
+<parameter name="output_size">
+<parameter_description> #gsize to hold the size of the data
+</parameter_description>
+</parameter>
+</parameters>
+<return> pointer to section data, or %NULL on fail
+</return>
+</function>
+
+<function name="gst_mpegts_section_send_event">
+<description>
+Creates a custom #GstEvent with a @GstMpegtsSection.
+The #GstEvent is sent to the @element #GstElement.
+
+
+</description>
+<parameters>
+<parameter name="element">
+<parameter_description> The #GstElement to send to section event to
+</parameter_description>
+</parameter>
+<parameter name="section">
+<parameter_description> The #GstMpegtsSection to put in the event
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the event is sent
+</return>
+</function>
+
+<function name="gst_photography_get_aperture">
+<description>
+Get the aperture value for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="aperture">
+<parameter_description> aperture value to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if getting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_get_capabilities">
+<description>
+Get #GstPhotographyCaps bitmask value that indicates what photography
+interface features the #GstElement supports
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+</parameters>
+<return> #GstPhotographyCaps value
+</return>
+</function>
+
+<function name="gst_photography_get_color_tone_mode">
+<description>
+Get the color tone mode for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="tone_mode">
+<parameter_description> #GstPhotographyColorToneMode to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if getting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_get_config">
+<description>
+Get all configuration settings at once.
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="config">
+<parameter_description> #GstPhotographySettings containg the configuration
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if configuration was got successfully, otherwise FALSE.
+</return>
+</function>
+
+<function name="gst_photography_get_ev_compensation">
+<description>
+Get the ev compensation value for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="ev_comp">
+<parameter_description> ev compensation value to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if getting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_get_exposure">
+<description>
+Get the fixed exposure time (in us) for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="exposure">
+<parameter_description> exposure time to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if getting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_get_flash_mode">
+<description>
+Get the flash mode for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="flash_mode">
+<parameter_description> #GstPhotographyFlashMode to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if getting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_get_flicker_mode">
+<description>
+Get the flicker mode value for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="flicker_mode">
+<parameter_description> flicker mode value to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if getting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_get_focus_mode">
+<description>
+Get the focus mode value for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="focus_mode">
+<parameter_description> focus_mode value to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if getting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_get_iso_speed">
+<description>
+Get the ISO value (light sensivity) for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="iso_speed">
+<parameter_description> ISO speed value to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if getting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_get_noise_reduction">
+<description>
+Get the noise reduction mode for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="noise_reduction">
+<parameter_description> #GstPhotographyNoiseReductionMode to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if getting the value succeeded, %FALSE otherwise
+
+</return>
+</function>
+
+<function name="gst_photography_get_scene_mode">
+<description>
+Get the scene mode for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="scene_mode">
+<parameter_description> #GstPhotographySceneMode to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if getting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_get_white_balance_mode">
+<description>
+Get the white balance mode for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="wb_mode">
+<parameter_description> #GstPhotographyWhiteBalanceMode to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if getting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_get_zoom">
+<description>
+Get the zoom value for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="zoom">
+<parameter_description> zoom value to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if getting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_prepare_for_capture">
+<description>
+Start preparations for capture. Preparations can take indeterminate
+amount of time and @func callback is called after preparations are
+done. Image capture will begin after callback returns.
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> callback that is called after capturing has been prepared
+</parameter_description>
+</parameter>
+<parameter name="capture_caps">
+<parameter_description> #GstCaps defining the desired format of the captured image
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data that will be passed to the callback @func
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if preparations were started (caps were OK), otherwise %FALSE.
+</return>
+</function>
+
+<function name="gst_photography_set_aperture">
+<description>
+Set the aperture value for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="aperture">
+<parameter_description> aperture value to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_set_autofocus">
+<description>
+Start or stop autofocusing. %GST_PHOTOGRAPHY_AUTOFOCUS_DONE
+message is posted to bus when autofocusing has finished.
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="on">
+<parameter_description> %TRUE to start autofocusing, %FALSE to stop autofocusing
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_photography_set_color_tone_mode">
+<description>
+Set the color tone mode for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="tone_mode">
+<parameter_description> #GstPhotographyColorToneMode to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_set_config">
+<description>
+Set all configuration settings at once.
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="config">
+<parameter_description> #GstPhotographySettings containg the configuration
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if configuration was set successfully, otherwise FALSE.
+</return>
+</function>
+
+<function name="gst_photography_set_ev_compensation">
+<description>
+Set the ev compensation value for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="ev_comp">
+<parameter_description> ev compensation value to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_set_exposure">
+<description>
+Set the fixed exposure time (in us) for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="exposure">
+<parameter_description> exposure time to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_set_flash_mode">
+<description>
+Set the flash mode for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="flash_mode">
+<parameter_description> #GstPhotographyFlashMode to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_set_flicker_mode">
+<description>
+Set the flicker mode value for the #GstElement.
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="flicker_mode">
+<parameter_description> flicker mode value to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_set_focus_mode">
+<description>
+Set the focus mode value for the #GstElement.
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="focus_mode">
+<parameter_description> focus mode value to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_set_iso_speed">
+<description>
+Set the ISO value (light sensivity) for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="iso_speed">
+<parameter_description> ISO speed value to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_set_noise_reduction">
+<description>
+Set the noise reduction mode for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="noise_reduction">
+<parameter_description> #GstPhotographyNoiseReductionMode to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the value succeeded, %FALSE otherwise
+
+</return>
+</function>
+
+<function name="gst_photography_set_scene_mode">
+<description>
+Set the scene mode for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="scene_mode">
+<parameter_description> #GstPhotographySceneMode to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_set_white_balance_mode">
+<description>
+Set the white balance mode for the #GstElement
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="wb_mode">
+<parameter_description> #GstPhotographyWhiteBalanceMode to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_photography_set_zoom">
+<description>
+Set the zoom value for the #GstElement.
+E.g. 1.0 to get original image and 3.0 for 3x zoom and so on.
+
+
+</description>
+<parameters>
+<parameter name="photo">
+<parameter_description> #GstPhotography interface of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="zoom">
+<parameter_description> zoom value to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if setting the value succeeded, %FALSE otherwise
+</return>
+</function>
+
+<function name="gst_uri_downloader_fetch_uri_with_range">
+<description>
+Returns the downloaded #GstFragment
+
+</description>
+<parameters>
+<parameter name="downloader">
+<parameter_description> the #GstUriDownloader
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> the uri
+</parameter_description>
+</parameter>
+<parameter name="range_start">
+<parameter_description> the starting byte index
+</parameter_description>
+</parameter>
+<parameter name="range_end">
+<parameter_description> the final byte index, use -1 for unspecified
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_vc1_bitplane_free">
+<description>
+Frees @bitplanes.
+
+</description>
+<parameters>
+<parameter name="bitplanes">
+<parameter_description> the #GstVC1BitPlanes to free
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_vc1_bitplane_free_1">
+<description>
+Frees @bitplanes fields.
+
+</description>
+<parameters>
+<parameter name="bitplanes">
+<parameter_description> The #GstVC1BitPlanes to free
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_vc1_bitplanes_ensure_size">
+<description>
+Fills the @bitplanes structure from @seqhdr, this function
+should be called after #gst_vc1_parse_sequence_header if
+in simple or main mode, or after #gst_vc1_parse_entry_point_header
+if in advanced mode.
+
+
+</description>
+<parameters>
+<parameter name="bitplanes">
+<parameter_description> The #GstVC1BitPlanes to reset
+</parameter_description>
+</parameter>
+<parameter name="seqhdr">
+<parameter_description> The #GstVC1SeqHdr from which to set @bitplanes
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if everything went fine, %FALSE otherwize
+</return>
+</function>
+
+<function name="gst_vc1_bitplanes_new">
+<description>
+Creates a new #GstVC1BitPlanes. It should be freed with
+gst_vc1_bitplanes_free() after use.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GstVC1BitPlanes
+</return>
+</function>
+
+<function name="gst_vc1_identify_next_bdu">
+<description>
+Parses @data and fills @bdu fields
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="bdu">
+<parameter_description> The #GstVC1BDU where to store parsed bdu headers
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstVC1ParserResult
+</return>
+</function>
+
+<function name="gst_vc1_parse_entry_point_header">
+<description>
+Parses @data, and sets @entrypoint fields.
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="entrypoint">
+<parameter_description> The #GstVC1EntryPointHdr to set.
+</parameter_description>
+</parameter>
+<parameter name="seqhdr">
+<parameter_description> The #GstVC1SeqHdr currently being parsed
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstVC1EntryPointHdr
+</return>
+</function>
+
+<function name="gst_vc1_parse_field_header">
+<description>
+Parses @data, and fills @fieldhdr fields.
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="fieldhdr">
+<parameter_description> The #GstVC1FrameHdr to fill.
+</parameter_description>
+</parameter>
+<parameter name="seqhdr">
+<parameter_description> The #GstVC1SeqHdr currently being parsed
+</parameter_description>
+</parameter>
+<parameter name="bitplanes">
+<parameter_description> The #GstVC1BitPlanes to store bitplanes in or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstVC1ParserResult
+</return>
+</function>
+
+<function name="gst_vc1_parse_frame_header">
+<description>
+Parses @data, and fills @entrypoint fields.
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="framehdr">
+<parameter_description> The #GstVC1FrameHdr to fill.
+</parameter_description>
+</parameter>
+<parameter name="seqhdr">
+<parameter_description> The #GstVC1SeqHdr currently being parsed
+</parameter_description>
+</parameter>
+<parameter name="bitplanes">
+<parameter_description> The #GstVC1BitPlanes to store bitplanes in or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstVC1ParserResult
+</return>
+</function>
+
+<function name="gst_vc1_parse_frame_layer">
+<description>
+Parses @data, and fills @framelayer fields.
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="framelayer">
+<parameter_description> The #GstVC1FrameLayer to fill.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstVC1ParserResult
+</return>
+</function>
+
+<function name="gst_vc1_parse_sequence_header">
+<description>
+Parses @data, and fills @seqhdr fields.
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="seqhdr">
+<parameter_description> The #GstVC1SeqHdr to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstVC1ParserResult
+</return>
+</function>
+
+<function name="gst_vc1_parse_sequence_header_struct_a">
+<description>
+Parses @data, and fills @structa fields.
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="structa">
+<parameter_description> The #GstVC1SeqStructA to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstVC1ParserResult
+</return>
+</function>
+
+<function name="gst_vc1_parse_sequence_header_struct_b">
+<description>
+Parses @data, and fills @structb fields.
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="structb">
+<parameter_description> The #GstVC1SeqStructB to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstVC1ParserResult
+</return>
+</function>
+
+<function name="gst_vc1_parse_sequence_header_struct_c">
+<description>
+Parses @data, and fills @structc fields.
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="structc">
+<parameter_description> The #GstVC1SeqStructC to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstVC1ParserResult
+</return>
+</function>
+
+<function name="gst_vc1_parse_sequence_layer">
+<description>
+Parses @data, and fills @seqlayer fields.
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of @data
+</parameter_description>
+</parameter>
+<parameter name="seqlayer">
+<parameter_description> The #GstVC1SeqLayer to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstVC1ParserResult
+</return>
+</function>
+
+<function name="gst_vc1_parse_slice_header">
+<description>
+Parses @data, and fills @slicehdr fields.
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of @data
+</parameter_description>
+</parameter>
+<parameter name="slicehdr">
+<parameter_description> The #GstVC1SliceHdr to fill
+</parameter_description>
+</parameter>
+<parameter name="seqhdr">
+<parameter_description> The #GstVC1SeqHdr that was previously parsed
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstVC1ParserResult
+
+</return>
+</function>
+
+<function name="gst_vp8_parser_init">
+<description>
+Initializes the supplied @parser structure with its default values.
+
+
+</description>
+<parameters>
+<parameter name="parser">
+<parameter_description> The #GstVp8Parser to initialize
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_vp8_parser_parse_frame_header">
+<description>
+Parses the VP8 bitstream contained in @data, and fills in @frame_hdr
+with the information. The supplied @data shall point to a complete
+frame since there is no sync code specified for VP8 bitstreams. Thus,
+the @size argument shall represent the whole frame size.
+
+
+</description>
+<parameters>
+<parameter name="parser">
+<parameter_description> The #GstVp8Parser
+</parameter_description>
+</parameter>
+<parameter name="frame_hdr">
+<parameter_description> The #GstVp8FrameHdr to fill
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> The data to parse
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The size of the @data to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstVp8ParserResult
+
+</return>
+</function>
+
+<function name="gst_wayland_video_begin_geometry_change">
+<description>
+Notifies the video sink that we are about to change its
+geometry (probably using set_render_rectangle()). This is useful
+in order to allow the sink to synchronize resizing/moving of the
+video area with the parent surface and avoid glitches, in cases
+where the video area is being painted asynchronously from another
+thread, like in waylandsink.
+
+Please note that any calls to this method MUST be matched by
+calls to end_geometry_change() and AFTER the parent surface has
+commited its geometry changes.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_wayland_video_end_geometry_change">
+<description>
+Notifies the video sink that we just finished changing the
+geometry of both itself and its parent surface. This should
+have been earlier preceeded by a call to begin_geometry_change()
+which notified the sink before any of these changes had happened.
+
+It is important to call this method only AFTER the parent surface
+has commited its geometry changes, otherwise no synchronization
+is actually achieved.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="has_next_period">
+<description>
+Checks if there is a next period following the current one.
+DASH can have multiple medias chained in its manifest, when one finishes
+this function is called to verify if there is a new period to be played
+in sequence.
+
+
+</description>
+<parameters>
+<parameter name="demux">
+<parameter_description> #GstAdaptiveDemux
+</parameter_description>
+</parameter>
+</parameters>
+<return> #TRUE if there is another period
+</return>
+</function>
+
+<function name="reset">
+<description>
+Reset the internal state of the subclass, getting ready to restart with
+a new stream afterwards
+
+</description>
+<parameters>
+<parameter name="demux">
+<parameter_description> #GstAdaptiveDemux
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="seek">
+<description>
+The demuxer should seek on all its streams to the specified position
+in the seek event
+
+
+</description>
+<parameters>
+<parameter name="demux">
+<parameter_description> #GstAdaptiveDemux
+</parameter_description>
+</parameter>
+<parameter name="seek">
+<parameter_description> a seek #GstEvent
+</parameter_description>
+</parameter>
+</parameters>
+<return> #TRUE if successful
+</return>
+</function>
+
+<function name="start_fragment">
+<description>
+Notifies the subclass that the given stream is starting the download
+of a new fragment. Can be used to reset/init internal state that is
+needed before each fragment, like decryption engines.
+
+
+</description>
+<parameters>
+<parameter name="demux">
+<parameter_description> #GstAdaptiveDemux
+</parameter_description>
+</parameter>
+<parameter name="stream">
+<parameter_description> #GstAdaptiveDemuxStream
+</parameter_description>
+</parameter>
+</parameters>
+<return> #TRUE if successful.
+</return>
+</function>
+
+<function name="stream_get_fragment_waiting_time">
+<description>
+For live streams, requests how much time should be waited before starting
+to download the fragment. This is useful to avoid downloading a fragment that
+isn't available yet.
+
+
+</description>
+<parameters>
+<parameter name="stream">
+<parameter_description> #GstAdaptiveDemuxStream
+</parameter_description>
+</parameter>
+</parameters>
+<return> The waiting time in microsseconds
+</return>
+</function>
+
+<function name="stream_select_bitrate">
+<description>
+The stream should try to select the bitrate that is the greater, but not
+greater than the requested bitrate. If it needs a codec change it should
+create the new stream using gst_adaptive_demux_stream_new(). If it only
+needs a caps change it should set the new caps using
+gst_adaptive_demux_stream_set_caps().
+
+
+</description>
+<parameters>
+<parameter name="stream">
+<parameter_description> #GstAdaptiveDemuxStream
+</parameter_description>
+</parameter>
+<parameter name="bitrate">
+<parameter_description> the bitrate to select (in bytes per second)
+</parameter_description>
+</parameter>
+</parameters>
+<return> #TRUE if the stream changed bitrate, #FALSE otherwise
+</return>
+</function>
+
+<function name="stream_update_fragment_info">
+<description>
+Requests the stream to set the information about the current fragment to its
+current fragment struct
+
+
+</description>
+<parameters>
+<parameter name="stream">
+<parameter_description> #GstAdaptiveDemuxStream
+</parameter_description>
+</parameter>
+</parameters>
+<return> #GST_FLOW_OK in success, #GST_FLOW_ERROR on error and #GST_FLOW_EOS
+if there is no fragment.
+</return>
+</function>
+
+<function name="update_manifest">
+<description>
+During live streaming, this will be called for the subclass to update its
+manifest with the new version. By default it fetches the manifest URI
+and passes it to GstAdaptiveDemux::update_manifest_data().
+
+
+</description>
+<parameters>
+<parameter name="demux">
+<parameter_description> #GstAdaptiveDemux
+</parameter_description>
+</parameter>
+</parameters>
+<return> #GST_FLOW_OK is all succeeded, #GST_FLOW_EOS if the stream ended
+or #GST_FLOW_ERROR if an error happened
+</return>
+</function>
+
+<function name="update_manifest_data">
+<description>
+During live streaming, this will be called for the subclass to update its
+manifest with the new version
+
+
+</description>
+<parameters>
+<parameter name="demux">
+<parameter_description> #GstAdaptiveDemux
+</parameter_description>
+</parameter>
+<parameter name="buf">
+<parameter_description> Downloaded manifest data
+</parameter_description>
+</parameter>
+</parameters>
+<return> #GST_FLOW_OK is all succeeded, #GST_FLOW_EOS if the stream ended
+or #GST_FLOW_ERROR if an error happened
+</return>
+</function>
+
+</root>
diff --git a/gst-plugins-bad/src/gst_enums.defs b/gst-plugins-bad/src/gst_enums.defs
new file mode 100644
index 0000000..5e1e5b5
--- /dev/null
+++ b/gst-plugins-bad/src/gst_enums.defs
@@ -0,0 +1,3314 @@
+;; From gstcamerabin-enum.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   /* MODE_PREVIEW = 0, No use for this */
+;;   MODE_IMAGE = 1,
+;;   MODE_VIDEO = 2,
+;; } GstCameraBinMode;
+
+(define-enum-extended CameraBinMode
+  (in-module "Gst")
+  (c-name "GstCameraBinMode")
+  (values
+    '("image" "MODE_IMAGE" "1")
+    '("video" "MODE_VIDEO" "2")
+  )
+)
+
+;; From gsth264parser.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_H264_PROFILE_BASELINE             = 66,
+;;   GST_H264_PROFILE_MAIN                 = 77,
+;;   GST_H264_PROFILE_EXTENDED             = 88,
+;;   GST_H264_PROFILE_HIGH                 = 100,
+;;   GST_H264_PROFILE_HIGH10               = 110,
+;;   GST_H264_PROFILE_HIGH_422             = 122,
+;;   GST_H264_PROFILE_HIGH_444             = 244,
+;;   GST_H264_PROFILE_MULTIVIEW_HIGH       = 118,
+;;   GST_H264_PROFILE_STEREO_HIGH          = 128,
+;;   GST_H264_PROFILE_SCALABLE_BASELINE    = 83,
+;;   GST_H264_PROFILE_SCALABLE_HIGH        = 86
+;; } GstH264Profile;
+
+(define-enum-extended H264Profile
+  (in-module "Gst")
+  (c-name "GstH264Profile")
+  (values
+    '("baseline" "GST_H264_PROFILE_BASELINE" "66")
+    '("main" "GST_H264_PROFILE_MAIN" "77")
+    '("extended" "GST_H264_PROFILE_EXTENDED" "88")
+    '("high" "GST_H264_PROFILE_HIGH" "100")
+    '("high10" "GST_H264_PROFILE_HIGH10" "110")
+    '("high-422" "GST_H264_PROFILE_HIGH_422" "122")
+    '("high-444" "GST_H264_PROFILE_HIGH_444" "244")
+    '("multiview-high" "GST_H264_PROFILE_MULTIVIEW_HIGH" "118")
+    '("stereo-high" "GST_H264_PROFILE_STEREO_HIGH" "128")
+    '("scalable-baseline" "GST_H264_PROFILE_SCALABLE_BASELINE" "83")
+    '("scalable-high" "GST_H264_PROFILE_SCALABLE_HIGH" "86")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_H264_NAL_UNKNOWN      = 0,
+;;   GST_H264_NAL_SLICE        = 1,
+;;   GST_H264_NAL_SLICE_DPA    = 2,
+;;   GST_H264_NAL_SLICE_DPB    = 3,
+;;   GST_H264_NAL_SLICE_DPC    = 4,
+;;   GST_H264_NAL_SLICE_IDR    = 5,
+;;   GST_H264_NAL_SEI          = 6,
+;;   GST_H264_NAL_SPS          = 7,
+;;   GST_H264_NAL_PPS          = 8,
+;;   GST_H264_NAL_AU_DELIMITER = 9,
+;;   GST_H264_NAL_SEQ_END      = 10,
+;;   GST_H264_NAL_STREAM_END   = 11,
+;;   GST_H264_NAL_FILLER_DATA  = 12,
+;;   GST_H264_NAL_SPS_EXT      = 13,
+;;   GST_H264_NAL_PREFIX_UNIT  = 14,
+;;   GST_H264_NAL_SUBSET_SPS   = 15,
+;;   GST_H264_NAL_SLICE_AUX    = 19,
+;;   GST_H264_NAL_SLICE_EXT    = 20
+;; } GstH264NalUnitType;
+
+(define-enum-extended H264NalUnitType
+  (in-module "Gst")
+  (c-name "GstH264NalUnitType")
+  (values
+    '("unknown" "GST_H264_NAL_UNKNOWN" "0")
+    '("slice" "GST_H264_NAL_SLICE" "1")
+    '("slice-dpa" "GST_H264_NAL_SLICE_DPA" "2")
+    '("slice-dpb" "GST_H264_NAL_SLICE_DPB" "3")
+    '("slice-dpc" "GST_H264_NAL_SLICE_DPC" "4")
+    '("slice-idr" "GST_H264_NAL_SLICE_IDR" "5")
+    '("sei" "GST_H264_NAL_SEI" "6")
+    '("sps" "GST_H264_NAL_SPS" "7")
+    '("pps" "GST_H264_NAL_PPS" "8")
+    '("au-delimiter" "GST_H264_NAL_AU_DELIMITER" "9")
+    '("seq-end" "GST_H264_NAL_SEQ_END" "10")
+    '("stream-end" "GST_H264_NAL_STREAM_END" "11")
+    '("filler-data" "GST_H264_NAL_FILLER_DATA" "12")
+    '("sps-ext" "GST_H264_NAL_SPS_EXT" "13")
+    '("prefix-unit" "GST_H264_NAL_PREFIX_UNIT" "14")
+    '("subset-sps" "GST_H264_NAL_SUBSET_SPS" "15")
+    '("slice-aux" "GST_H264_NAL_SLICE_AUX" "19")
+    '("slice-ext" "GST_H264_NAL_SLICE_EXT" "20")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_H264_NAL_EXTENSION_NONE = 0,
+;;   GST_H264_NAL_EXTENSION_SVC,
+;;   GST_H264_NAL_EXTENSION_MVC,
+;; } GstH264NalUnitExtensionType;
+
+(define-enum-extended H264NalUnitExtensionType
+  (in-module "Gst")
+  (c-name "GstH264NalUnitExtensionType")
+  (values
+    '("none" "GST_H264_NAL_EXTENSION_NONE" "0")
+    '("svc" "GST_H264_NAL_EXTENSION_SVC" "1")
+    '("mvc" "GST_H264_NAL_EXTENSION_MVC" "2")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_H264_PARSER_OK,
+;;   GST_H264_PARSER_BROKEN_DATA,
+;;   GST_H264_PARSER_BROKEN_LINK,
+;;   GST_H264_PARSER_ERROR,
+;;   GST_H264_PARSER_NO_NAL,
+;;   GST_H264_PARSER_NO_NAL_END
+;; } GstH264ParserResult;
+
+(define-enum-extended H264ParserResult
+  (in-module "Gst")
+  (c-name "GstH264ParserResult")
+  (values
+    '("ok" "GST_H264_PARSER_OK" "0")
+    '("broken-data" "GST_H264_PARSER_BROKEN_DATA" "1")
+    '("broken-link" "GST_H264_PARSER_BROKEN_LINK" "2")
+    '("error" "GST_H264_PARSER_ERROR" "3")
+    '("no-nal" "GST_H264_PARSER_NO_NAL" "4")
+    '("no-nal-end" "GST_H264_PARSER_NO_NAL_END" "5")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_H264_FRAME_PACKING_NONE                           = 6,
+;;   GST_H264_FRAME_PACKING_CHECKERBOARD_INTERLEAVING      = 0,
+;;   GST_H264_FRAME_PACKING_COLUMN_INTERLEAVING            = 1,
+;;   GST_H264_FRAME_PACKING_ROW_INTERLEAVING               = 2,
+;;   GST_H264_FRAME_PACKING_SIDE_BY_SIDE                   = 3,
+;;   GST_H264_FRMAE_PACKING_TOP_BOTTOM                     = 4,
+;;   GST_H264_FRAME_PACKING_TEMPORAL_INTERLEAVING          = 5
+;; } GstH264FramePackingType;
+
+(define-enum-extended H264FramePackingType
+  (in-module "Gst")
+  (c-name "GstH264FramePackingType")
+  (values
+    '("frame-packing-none" "GST_H264_FRAME_PACKING_NONE" "6")
+    '("frame-packing-checkerboard-interleaving" "GST_H264_FRAME_PACKING_CHECKERBOARD_INTERLEAVING" "0")
+    '("frame-packing-column-interleaving" "GST_H264_FRAME_PACKING_COLUMN_INTERLEAVING" "1")
+    '("frame-packing-row-interleaving" "GST_H264_FRAME_PACKING_ROW_INTERLEAVING" "2")
+    '("frame-packing-side-by-side" "GST_H264_FRAME_PACKING_SIDE_BY_SIDE" "3")
+    '("frmae-packing-top-bottom" "GST_H264_FRMAE_PACKING_TOP_BOTTOM" "4")
+    '("frame-packing-temporal-interleaving" "GST_H264_FRAME_PACKING_TEMPORAL_INTERLEAVING" "5")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_H264_SEI_BUF_PERIOD = 0,
+;;   GST_H264_SEI_PIC_TIMING = 1,
+;;   GST_H264_SEI_RECOVERY_POINT = 6,
+;;   GST_H264_SEI_STEREO_VIDEO_INFO = 21,
+;;   GST_H264_SEI_FRAME_PACKING = 45
+;;       /* and more...  */
+;; } GstH264SEIPayloadType;
+
+(define-enum-extended H264SEIPayloadType
+  (in-module "Gst")
+  (c-name "GstH264SEIPayloadType")
+  (values
+    '("buf-period" "GST_H264_SEI_BUF_PERIOD" "0")
+    '("pic-timing" "GST_H264_SEI_PIC_TIMING" "1")
+    '("recovery-point" "GST_H264_SEI_RECOVERY_POINT" "6")
+    '("stereo-video-info" "GST_H264_SEI_STEREO_VIDEO_INFO" "21")
+    '("frame-packing" "GST_H264_SEI_FRAME_PACKING" "45")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_H264_SEI_PIC_STRUCT_FRAME             = 0,
+;;   GST_H264_SEI_PIC_STRUCT_TOP_FIELD         = 1,
+;;   GST_H264_SEI_PIC_STRUCT_BOTTOM_FIELD      = 2,
+;;   GST_H264_SEI_PIC_STRUCT_TOP_BOTTOM        = 3,
+;;   GST_H264_SEI_PIC_STRUCT_BOTTOM_TOP        = 4,
+;;   GST_H264_SEI_PIC_STRUCT_TOP_BOTTOM_TOP    = 5,
+;;   GST_H264_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM = 6,
+;;   GST_H264_SEI_PIC_STRUCT_FRAME_DOUBLING    = 7,
+;;   GST_H264_SEI_PIC_STRUCT_FRAME_TRIPLING    = 8
+;; } GstH264SEIPicStructType;
+
+(define-enum-extended H264SEIPicStructType
+  (in-module "Gst")
+  (c-name "GstH264SEIPicStructType")
+  (values
+    '("frame" "GST_H264_SEI_PIC_STRUCT_FRAME" "0")
+    '("top-field" "GST_H264_SEI_PIC_STRUCT_TOP_FIELD" "1")
+    '("bottom-field" "GST_H264_SEI_PIC_STRUCT_BOTTOM_FIELD" "2")
+    '("top-bottom" "GST_H264_SEI_PIC_STRUCT_TOP_BOTTOM" "3")
+    '("bottom-top" "GST_H264_SEI_PIC_STRUCT_BOTTOM_TOP" "4")
+    '("top-bottom-top" "GST_H264_SEI_PIC_STRUCT_TOP_BOTTOM_TOP" "5")
+    '("bottom-top-bottom" "GST_H264_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM" "6")
+    '("frame-doubling" "GST_H264_SEI_PIC_STRUCT_FRAME_DOUBLING" "7")
+    '("frame-tripling" "GST_H264_SEI_PIC_STRUCT_FRAME_TRIPLING" "8")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_H264_P_SLICE    = 0,
+;;   GST_H264_B_SLICE    = 1,
+;;   GST_H264_I_SLICE    = 2,
+;;   GST_H264_SP_SLICE   = 3,
+;;   GST_H264_SI_SLICE   = 4,
+;;   GST_H264_S_P_SLICE  = 5,
+;;   GST_H264_S_B_SLICE  = 6,
+;;   GST_H264_S_I_SLICE  = 7,
+;;   GST_H264_S_SP_SLICE = 8,
+;;   GST_H264_S_SI_SLICE = 9
+;; } GstH264SliceType;
+
+(define-enum-extended H264SliceType
+  (in-module "Gst")
+  (c-name "GstH264SliceType")
+  (values
+    '("p-slice" "GST_H264_P_SLICE" "0")
+    '("b-slice" "GST_H264_B_SLICE" "1")
+    '("i-slice" "GST_H264_I_SLICE" "2")
+    '("sp-slice" "GST_H264_SP_SLICE" "3")
+    '("si-slice" "GST_H264_SI_SLICE" "4")
+    '("s-p-slice" "GST_H264_S_P_SLICE" "5")
+    '("s-b-slice" "GST_H264_S_B_SLICE" "6")
+    '("s-i-slice" "GST_H264_S_I_SLICE" "7")
+    '("s-sp-slice" "GST_H264_S_SP_SLICE" "8")
+    '("s-si-slice" "GST_H264_S_SI_SLICE" "9")
+  )
+)
+
+;; From gsth265parser.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_H265_PROFILE_MAIN                 = 1,
+;;   GST_H265_PROFILE_MAIN_10              = 2,
+;;   GST_H265_PROFILE_MAIN_STILL_PICTURE   = 3
+;; } GstH265Profile;
+
+(define-enum-extended H265Profile
+  (in-module "Gst")
+  (c-name "GstH265Profile")
+  (values
+    '("main" "GST_H265_PROFILE_MAIN" "1")
+    '("main-10" "GST_H265_PROFILE_MAIN_10" "2")
+    '("main-still-picture" "GST_H265_PROFILE_MAIN_STILL_PICTURE" "3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_H265_NAL_SLICE_TRAIL_N    = 0,
+;;   GST_H265_NAL_SLICE_TRAIL_R    = 1,
+;;   GST_H265_NAL_SLICE_TSA_N      = 2,
+;;   GST_H265_NAL_SLICE_TSA_R      = 3,
+;;   GST_H265_NAL_SLICE_STSA_N     = 4,
+;;   GST_H265_NAL_SLICE_STSA_R     = 5,
+;;   GST_H265_NAL_SLICE_RADL_N     = 6,
+;;   GST_H265_NAL_SLICE_RADL_R     = 7,
+;;   GST_H265_NAL_SLICE_RASL_N     = 8,
+;;   GST_H265_NAL_SLICE_RASL_R     = 9,
+;;   GST_H265_NAL_SLICE_BLA_W_LP   = 16,
+;;   GST_H265_NAL_SLICE_BLA_W_RADL = 17,
+;;   GST_H265_NAL_SLICE_BLA_N_LP   = 18,
+;;   GST_H265_NAL_SLICE_IDR_W_RADL = 19,
+;;   GST_H265_NAL_SLICE_IDR_N_LP   = 20,
+;;   GST_H265_NAL_SLICE_CRA_NUT    = 21,
+;;   GST_H265_NAL_VPS              = 32,
+;;   GST_H265_NAL_SPS              = 33,
+;;   GST_H265_NAL_PPS              = 34,
+;;   GST_H265_NAL_AUD              = 35,
+;;   GST_H265_NAL_EOS              = 36,
+;;   GST_H265_NAL_EOB              = 37,
+;;   GST_H265_NAL_FD               = 38,
+;;   GST_H265_NAL_PREFIX_SEI       = 39,
+;;   GST_H265_NAL_SUFFIX_SEI       = 40
+;; } GstH265NalUnitType;
+
+(define-enum-extended H265NalUnitType
+  (in-module "Gst")
+  (c-name "GstH265NalUnitType")
+  (values
+    '("slice-trail-n" "GST_H265_NAL_SLICE_TRAIL_N" "0")
+    '("slice-trail-r" "GST_H265_NAL_SLICE_TRAIL_R" "1")
+    '("slice-tsa-n" "GST_H265_NAL_SLICE_TSA_N" "2")
+    '("slice-tsa-r" "GST_H265_NAL_SLICE_TSA_R" "3")
+    '("slice-stsa-n" "GST_H265_NAL_SLICE_STSA_N" "4")
+    '("slice-stsa-r" "GST_H265_NAL_SLICE_STSA_R" "5")
+    '("slice-radl-n" "GST_H265_NAL_SLICE_RADL_N" "6")
+    '("slice-radl-r" "GST_H265_NAL_SLICE_RADL_R" "7")
+    '("slice-rasl-n" "GST_H265_NAL_SLICE_RASL_N" "8")
+    '("slice-rasl-r" "GST_H265_NAL_SLICE_RASL_R" "9")
+    '("slice-bla-w-lp" "GST_H265_NAL_SLICE_BLA_W_LP" "16")
+    '("slice-bla-w-radl" "GST_H265_NAL_SLICE_BLA_W_RADL" "17")
+    '("slice-bla-n-lp" "GST_H265_NAL_SLICE_BLA_N_LP" "18")
+    '("slice-idr-w-radl" "GST_H265_NAL_SLICE_IDR_W_RADL" "19")
+    '("slice-idr-n-lp" "GST_H265_NAL_SLICE_IDR_N_LP" "20")
+    '("slice-cra-nut" "GST_H265_NAL_SLICE_CRA_NUT" "21")
+    '("vps" "GST_H265_NAL_VPS" "32")
+    '("sps" "GST_H265_NAL_SPS" "33")
+    '("pps" "GST_H265_NAL_PPS" "34")
+    '("aud" "GST_H265_NAL_AUD" "35")
+    '("eos" "GST_H265_NAL_EOS" "36")
+    '("eob" "GST_H265_NAL_EOB" "37")
+    '("fd" "GST_H265_NAL_FD" "38")
+    '("prefix-sei" "GST_H265_NAL_PREFIX_SEI" "39")
+    '("suffix-sei" "GST_H265_NAL_SUFFIX_SEI" "40")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_H265_PARSER_OK,
+;;   GST_H265_PARSER_BROKEN_DATA,
+;;   GST_H265_PARSER_BROKEN_LINK,
+;;   GST_H265_PARSER_ERROR,
+;;   GST_H265_PARSER_NO_NAL,
+;;   GST_H265_PARSER_NO_NAL_END
+;; } GstH265ParserResult;
+
+(define-enum-extended H265ParserResult
+  (in-module "Gst")
+  (c-name "GstH265ParserResult")
+  (values
+    '("ok" "GST_H265_PARSER_OK" "0")
+    '("broken-data" "GST_H265_PARSER_BROKEN_DATA" "1")
+    '("broken-link" "GST_H265_PARSER_BROKEN_LINK" "2")
+    '("error" "GST_H265_PARSER_ERROR" "3")
+    '("no-nal" "GST_H265_PARSER_NO_NAL" "4")
+    '("no-nal-end" "GST_H265_PARSER_NO_NAL_END" "5")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_H265_SEI_BUF_PERIOD = 0,
+;;   GST_H265_SEI_PIC_TIMING = 1
+;;       /* and more...  */
+;; } GstH265SEIPayloadType;
+
+(define-enum-extended H265SEIPayloadType
+  (in-module "Gst")
+  (c-name "GstH265SEIPayloadType")
+  (values
+    '("buf-period" "GST_H265_SEI_BUF_PERIOD" "0")
+    '("pic-timing" "GST_H265_SEI_PIC_TIMING" "1")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_H265_SEI_PIC_STRUCT_FRAME                         = 0,
+;;   GST_H265_SEI_PIC_STRUCT_TOP_FIELD                     = 1,
+;;   GST_H265_SEI_PIC_STRUCT_BOTTOM_FIELD                  = 2,
+;;   GST_H265_SEI_PIC_STRUCT_TOP_BOTTOM                    = 3,
+;;   GST_H265_SEI_PIC_STRUCT_BOTTOM_TOP                    = 4,
+;;   GST_H265_SEI_PIC_STRUCT_TOP_BOTTOM_TOP                = 5,
+;;   GST_H265_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM             = 6,
+;;   GST_H265_SEI_PIC_STRUCT_FRAME_DOUBLING                = 7,
+;;   GST_H265_SEI_PIC_STRUCT_FRAME_TRIPLING                = 8,
+;;   GST_H265_SEI_PIC_STRUCT_TOP_PAIRED_PREVIOUS_BOTTOM    = 9,
+;;   GST_H265_SEI_PIC_STRUCT_BOTTOM_PAIRED_PREVIOUS_TOP    = 10,
+;;   GST_H265_SEI_PIC_STRUCT_TOP_PAIRED_NEXT_BOTTOM        = 11,
+;;   GST_H265_SEI_PIC_STRUCT_BOTTOM_PAIRED_NEXT_TOP        = 12
+;; } GstH265SEIPicStructType;
+
+(define-enum-extended H265SEIPicStructType
+  (in-module "Gst")
+  (c-name "GstH265SEIPicStructType")
+  (values
+    '("frame" "GST_H265_SEI_PIC_STRUCT_FRAME" "0")
+    '("top-field" "GST_H265_SEI_PIC_STRUCT_TOP_FIELD" "1")
+    '("bottom-field" "GST_H265_SEI_PIC_STRUCT_BOTTOM_FIELD" "2")
+    '("top-bottom" "GST_H265_SEI_PIC_STRUCT_TOP_BOTTOM" "3")
+    '("bottom-top" "GST_H265_SEI_PIC_STRUCT_BOTTOM_TOP" "4")
+    '("top-bottom-top" "GST_H265_SEI_PIC_STRUCT_TOP_BOTTOM_TOP" "5")
+    '("bottom-top-bottom" "GST_H265_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM" "6")
+    '("frame-doubling" "GST_H265_SEI_PIC_STRUCT_FRAME_DOUBLING" "7")
+    '("frame-tripling" "GST_H265_SEI_PIC_STRUCT_FRAME_TRIPLING" "8")
+    '("top-paired-previous-bottom" "GST_H265_SEI_PIC_STRUCT_TOP_PAIRED_PREVIOUS_BOTTOM" "9")
+    '("bottom-paired-previous-top" "GST_H265_SEI_PIC_STRUCT_BOTTOM_PAIRED_PREVIOUS_TOP" "10")
+    '("top-paired-next-bottom" "GST_H265_SEI_PIC_STRUCT_TOP_PAIRED_NEXT_BOTTOM" "11")
+    '("bottom-paired-next-top" "GST_H265_SEI_PIC_STRUCT_BOTTOM_PAIRED_NEXT_TOP" "12")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_H265_B_SLICE    = 0,
+;;   GST_H265_P_SLICE    = 1,
+;;   GST_H265_I_SLICE    = 2
+;; } GstH265SliceType;
+
+(define-enum-extended H265SliceType
+  (in-module "Gst")
+  (c-name "GstH265SliceType")
+  (values
+    '("b-slice" "GST_H265_B_SLICE" "0")
+    '("p-slice" "GST_H265_P_SLICE" "1")
+    '("i-slice" "GST_H265_I_SLICE" "2")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_H265_QUANT_MATIX_4X4   = 0,
+;;   GST_H265_QUANT_MATIX_8X8   = 1,
+;;   GST_H265_QUANT_MATIX_16X16 = 2,
+;;   GST_H265_QUANT_MATIX_32X32 = 3
+;; } GstH265QuantMatrixSize;
+
+(define-enum-extended H265QuantMatrixSize
+  (in-module "Gst")
+  (c-name "GstH265QuantMatrixSize")
+  (values
+    '("4x4" "GST_H265_QUANT_MATIX_4X4" "0")
+    '("8x8" "GST_H265_QUANT_MATIX_8X8" "1")
+    '("16x16" "GST_H265_QUANT_MATIX_16X16" "2")
+    '("32x32" "GST_H265_QUANT_MATIX_32X32" "3")
+  )
+)
+
+;; From gstjpegparser.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_JPEG_MARKER_SOF0          = 0xC0,
+;;   GST_JPEG_MARKER_SOF1          = 0xC1,
+;;   GST_JPEG_MARKER_SOF2          = 0xC2,
+;;   GST_JPEG_MARKER_SOF3          = 0xC3,
+;;   /* 0xC4 = DHT see below */
+;;   GST_JPEG_MARKER_SOF5          = 0xC5,
+;;   GST_JPEG_MARKER_SOF6          = 0xC6,
+;;   GST_JPEG_MARKER_SOF7          = 0xC7,
+;;   /* 0xC8 = reserved */
+;;   GST_JPEG_MARKER_SOF9          = 0xC9,
+;;   GST_JPEG_MARKER_SOF10         = 0xCA,
+;;   GST_JPEG_MARKER_SOF11         = 0xCB,
+;;   /* 0xCC = DAC see below */
+;;   GST_JPEG_MARKER_SOF13         = 0xCD,
+;;   GST_JPEG_MARKER_SOF14         = 0xCE,
+;;   GST_JPEG_MARKER_SOF15         = 0xCF,
+;;   GST_JPEG_MARKER_DHT           = 0xC4,
+;;   GST_JPEG_MARKER_DAC           = 0xCC,
+;;   GST_JPEG_MARKER_RST0          = 0xD0,
+;;   GST_JPEG_MARKER_RST1          = 0xD1,
+;;   GST_JPEG_MARKER_RST2          = 0xD2,
+;;   GST_JPEG_MARKER_RST3          = 0xD3,
+;;   GST_JPEG_MARKER_RST4          = 0xD4,
+;;   GST_JPEG_MARKER_RST5          = 0xD5,
+;;   GST_JPEG_MARKER_RST6          = 0xD6,
+;;   GST_JPEG_MARKER_RST7          = 0xD7,
+;;   GST_JPEG_MARKER_SOI           = 0xD8,
+;;   GST_JPEG_MARKER_EOI           = 0xD9,
+;;   GST_JPEG_MARKER_SOS           = 0xDA,
+;;   GST_JPEG_MARKER_DQT           = 0xDB,
+;;   GST_JPEG_MARKER_DNL           = 0xDC,
+;;   GST_JPEG_MARKER_DRI           = 0xDD,
+;;   GST_JPEG_MARKER_APP0          = 0xE0,
+;;   GST_JPEG_MARKER_APP1          = 0xE1,
+;;   GST_JPEG_MARKER_APP2          = 0xE2,
+;;   GST_JPEG_MARKER_APP3          = 0xE3,
+;;   GST_JPEG_MARKER_APP4          = 0xE4,
+;;   GST_JPEG_MARKER_APP5          = 0xE5,
+;;   GST_JPEG_MARKER_APP6          = 0xE6,
+;;   GST_JPEG_MARKER_APP7          = 0xE7,
+;;   GST_JPEG_MARKER_APP8          = 0xE8,
+;;   GST_JPEG_MARKER_APP9          = 0xE9,
+;;   GST_JPEG_MARKER_APP10         = 0xEA,
+;;   GST_JPEG_MARKER_APP11         = 0xEB,
+;;   GST_JPEG_MARKER_APP12         = 0xEC,
+;;   GST_JPEG_MARKER_APP13         = 0xED,
+;;   GST_JPEG_MARKER_APP14         = 0xEE,
+;;   GST_JPEG_MARKER_APP15         = 0xEF,
+;;   GST_JPEG_MARKER_COM           = 0xFE,
+;; } GstJpegMarker;
+
+(define-flags-extended JpegMarker
+  (in-module "Gst")
+  (c-name "GstJpegMarker")
+  (values
+    '("sof0" "GST_JPEG_MARKER_SOF0" "0xC0")
+    '("sof1" "GST_JPEG_MARKER_SOF1" "0xC1")
+    '("sof2" "GST_JPEG_MARKER_SOF2" "0xC2")
+    '("sof3" "GST_JPEG_MARKER_SOF3" "0xC3")
+    '("sof5" "GST_JPEG_MARKER_SOF5" "0xC5")
+    '("sof6" "GST_JPEG_MARKER_SOF6" "0xC6")
+    '("sof7" "GST_JPEG_MARKER_SOF7" "0xC7")
+    '("sof9" "GST_JPEG_MARKER_SOF9" "0xC9")
+    '("sof10" "GST_JPEG_MARKER_SOF10" "0xCA")
+    '("sof11" "GST_JPEG_MARKER_SOF11" "0xCB")
+    '("sof13" "GST_JPEG_MARKER_SOF13" "0xCD")
+    '("sof14" "GST_JPEG_MARKER_SOF14" "0xCE")
+    '("sof15" "GST_JPEG_MARKER_SOF15" "0xCF")
+    '("dht" "GST_JPEG_MARKER_DHT" "0xC4")
+    '("dac" "GST_JPEG_MARKER_DAC" "0xCC")
+    '("rst0" "GST_JPEG_MARKER_RST0" "0xD0")
+    '("rst1" "GST_JPEG_MARKER_RST1" "0xD1")
+    '("rst2" "GST_JPEG_MARKER_RST2" "0xD2")
+    '("rst3" "GST_JPEG_MARKER_RST3" "0xD3")
+    '("rst4" "GST_JPEG_MARKER_RST4" "0xD4")
+    '("rst5" "GST_JPEG_MARKER_RST5" "0xD5")
+    '("rst6" "GST_JPEG_MARKER_RST6" "0xD6")
+    '("rst7" "GST_JPEG_MARKER_RST7" "0xD7")
+    '("soi" "GST_JPEG_MARKER_SOI" "0xD8")
+    '("eoi" "GST_JPEG_MARKER_EOI" "0xD9")
+    '("sos" "GST_JPEG_MARKER_SOS" "0xDA")
+    '("dqt" "GST_JPEG_MARKER_DQT" "0xDB")
+    '("dnl" "GST_JPEG_MARKER_DNL" "0xDC")
+    '("dri" "GST_JPEG_MARKER_DRI" "0xDD")
+    '("app0" "GST_JPEG_MARKER_APP0" "0xE0")
+    '("app1" "GST_JPEG_MARKER_APP1" "0xE1")
+    '("app2" "GST_JPEG_MARKER_APP2" "0xE2")
+    '("app3" "GST_JPEG_MARKER_APP3" "0xE3")
+    '("app4" "GST_JPEG_MARKER_APP4" "0xE4")
+    '("app5" "GST_JPEG_MARKER_APP5" "0xE5")
+    '("app6" "GST_JPEG_MARKER_APP6" "0xE6")
+    '("app7" "GST_JPEG_MARKER_APP7" "0xE7")
+    '("app8" "GST_JPEG_MARKER_APP8" "0xE8")
+    '("app9" "GST_JPEG_MARKER_APP9" "0xE9")
+    '("app10" "GST_JPEG_MARKER_APP10" "0xEA")
+    '("app11" "GST_JPEG_MARKER_APP11" "0xEB")
+    '("app12" "GST_JPEG_MARKER_APP12" "0xEC")
+    '("app13" "GST_JPEG_MARKER_APP13" "0xED")
+    '("app14" "GST_JPEG_MARKER_APP14" "0xEE")
+    '("app15" "GST_JPEG_MARKER_APP15" "0xEF")
+    '("com" "GST_JPEG_MARKER_COM" "0xFE")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_JPEG_PROFILE_BASELINE     = 0x00,
+;;   GST_JPEG_PROFILE_EXTENDED     = 0x01,
+;;   GST_JPEG_PROFILE_PROGRESSIVE  = 0x02,
+;;   GST_JPEG_PROFILE_LOSSLESS     = 0x03,
+;; } GstJpegProfile;
+
+(define-flags-extended JpegProfile
+  (in-module "Gst")
+  (c-name "GstJpegProfile")
+  (values
+    '("baseline" "GST_JPEG_PROFILE_BASELINE" "0x00")
+    '("extended" "GST_JPEG_PROFILE_EXTENDED" "0x01")
+    '("progressive" "GST_JPEG_PROFILE_PROGRESSIVE" "0x02")
+    '("lossless" "GST_JPEG_PROFILE_LOSSLESS" "0x03")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_JPEG_ENTROPY_CODING_HUFFMAN       = 0x00,
+;;   GST_JPEG_ENTROPY_CODING_ARITHMETIC    = 0x08
+;; } GstJpegEntropyCodingMode;
+
+(define-flags-extended JpegEntropyCodingMode
+  (in-module "Gst")
+  (c-name "GstJpegEntropyCodingMode")
+  (values
+    '("huffman" "GST_JPEG_ENTROPY_CODING_HUFFMAN" "0x00")
+    '("arithmetic" "GST_JPEG_ENTROPY_CODING_ARITHMETIC" "0x08")
+  )
+)
+
+;; From gstmpeg4parser.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_MPEG4_VIDEO_OBJ_FIRST      = 0x00,
+;;   GST_MPEG4_VIDEO_OBJ_LAST       = 0x1f,
+;;   GST_MPEG4_VIDEO_LAYER_FIRST    = 0x20,
+;;   GST_MPEG4_VIDEO_LAYER_LAST     = 0x2f,
+;;   GST_MPEG4_VISUAL_OBJ_SEQ_START = 0xb0,
+;;   GST_MPEG4_VISUAL_OBJ_SEQ_END   = 0xb1,
+;;   GST_MPEG4_USER_DATA            = 0xb2,
+;;   GST_MPEG4_GROUP_OF_VOP         = 0xb3,
+;;   GST_MPEG4_VIDEO_SESSION_ERR    = 0xb4,
+;;   GST_MPEG4_VISUAL_OBJ           = 0xb5,
+;;   GST_MPEG4_VIDEO_OBJ_PLANE      = 0xb6,
+;;   GST_MPEG4_FBA                  = 0xba,
+;;   GST_MPEG4_FBA_PLAN             = 0xbb,
+;;   GST_MPEG4_MESH                 = 0xbc,
+;;   GST_MPEG4_MESH_PLAN            = 0xbd,
+;;   GST_MPEG4_STILL_TEXTURE_OBJ    = 0xbe,
+;;   GST_MPEG4_TEXTURE_SPATIAL      = 0xbf,
+;;   GST_MPEG4_TEXTURE_SNR_LAYER    = 0xc0,
+;;   GST_MPEG4_TEXTURE_TILE         = 0xc1,
+;;   GST_MPEG4_SHAPE_LAYER          = 0xc2,
+;;   GST_MPEG4_STUFFING             = 0xc3,
+;;   GST_MPEG4_SYSTEM_FIRST         = 0xc6,
+;;   GST_MPEG4_SYSTEM_LAST          = 0xff,
+;;   GST_MPEG4_RESYNC               = 0xfff
+;; } GstMpeg4StartCode;
+
+(define-flags-extended Mpeg4StartCode
+  (in-module "Gst")
+  (c-name "GstMpeg4StartCode")
+  (values
+    '("video-obj-first" "GST_MPEG4_VIDEO_OBJ_FIRST" "0x00")
+    '("video-obj-last" "GST_MPEG4_VIDEO_OBJ_LAST" "0x1f")
+    '("video-layer-first" "GST_MPEG4_VIDEO_LAYER_FIRST" "0x20")
+    '("video-layer-last" "GST_MPEG4_VIDEO_LAYER_LAST" "0x2f")
+    '("visual-obj-seq-start" "GST_MPEG4_VISUAL_OBJ_SEQ_START" "0xb0")
+    '("visual-obj-seq-end" "GST_MPEG4_VISUAL_OBJ_SEQ_END" "0xb1")
+    '("user-data" "GST_MPEG4_USER_DATA" "0xb2")
+    '("group-of-vop" "GST_MPEG4_GROUP_OF_VOP" "0xb3")
+    '("video-session-err" "GST_MPEG4_VIDEO_SESSION_ERR" "0xb4")
+    '("visual-obj" "GST_MPEG4_VISUAL_OBJ" "0xb5")
+    '("video-obj-plane" "GST_MPEG4_VIDEO_OBJ_PLANE" "0xb6")
+    '("fba" "GST_MPEG4_FBA" "0xba")
+    '("fba-plan" "GST_MPEG4_FBA_PLAN" "0xbb")
+    '("mesh" "GST_MPEG4_MESH" "0xbc")
+    '("mesh-plan" "GST_MPEG4_MESH_PLAN" "0xbd")
+    '("still-texture-obj" "GST_MPEG4_STILL_TEXTURE_OBJ" "0xbe")
+    '("texture-spatial" "GST_MPEG4_TEXTURE_SPATIAL" "0xbf")
+    '("texture-snr-layer" "GST_MPEG4_TEXTURE_SNR_LAYER" "0xc0")
+    '("texture-tile" "GST_MPEG4_TEXTURE_TILE" "0xc1")
+    '("shape-layer" "GST_MPEG4_SHAPE_LAYER" "0xc2")
+    '("stuffing" "GST_MPEG4_STUFFING" "0xc3")
+    '("system-first" "GST_MPEG4_SYSTEM_FIRST" "0xc6")
+    '("system-last" "GST_MPEG4_SYSTEM_LAST" "0xff")
+    '("resync" "GST_MPEG4_RESYNC" "0xfff")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEG4_VIDEO_ID         = 0x01,
+;;   GST_MPEG4_STILL_TEXTURE_ID = 0x02,
+;;   GST_MPEG4_STILL_MESH_ID    = 0x03,
+;;   GST_MPEG4_STILL_FBA_ID     = 0x04,
+;;   GST_MPEG4_STILL_3D_MESH_ID = 0x05,
+;;   /*... reserved */
+;; 
+;; } GstMpeg4VisualObjectType;
+
+(define-flags-extended Mpeg4VisualObjectType
+  (in-module "Gst")
+  (c-name "GstMpeg4VisualObjectType")
+  (values
+    '("video-id" "GST_MPEG4_VIDEO_ID" "0x01")
+    '("still-texture-id" "GST_MPEG4_STILL_TEXTURE_ID" "0x02")
+    '("still-mesh-id" "GST_MPEG4_STILL_MESH_ID" "0x03")
+    '("still-fba-id" "GST_MPEG4_STILL_FBA_ID" "0x04")
+    '("still-3d-mesh-id" "GST_MPEG4_STILL_3D_MESH_ID" "0x05")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEG4_SQUARE        = 0x01,
+;;   GST_MPEG4_625_TYPE_4_3  = 0x02,
+;;   GST_MPEG4_525_TYPE_4_3  = 0x03,
+;;   GST_MPEG4_625_TYPE_16_9 = 0x04,
+;;   GST_MPEG4_525_TYPE_16_9 = 0x05,
+;;   GST_MPEG4_EXTENDED_PAR  = 0x0f,
+;; } GstMpeg4AspectRatioInfo;
+
+(define-flags-extended Mpeg4AspectRatioInfo
+  (in-module "Gst")
+  (c-name "GstMpeg4AspectRatioInfo")
+  (values
+    '("square" "GST_MPEG4_SQUARE" "0x01")
+    '("625-type-4-3" "GST_MPEG4_625_TYPE_4_3" "0x02")
+    '("525-type-4-3" "GST_MPEG4_525_TYPE_4_3" "0x03")
+    '("625-type-16-9" "GST_MPEG4_625_TYPE_16_9" "0x04")
+    '("525-type-16-9" "GST_MPEG4_525_TYPE_16_9" "0x05")
+    '("extended-par" "GST_MPEG4_EXTENDED_PAR" "0x0f")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEG4_PARSER_OK,
+;;   GST_MPEG4_PARSER_BROKEN_DATA,
+;;   GST_MPEG4_PARSER_NO_PACKET,
+;;   GST_MPEG4_PARSER_NO_PACKET_END,
+;;   GST_MPEG4_PARSER_ERROR,
+;; } GstMpeg4ParseResult;
+
+(define-enum-extended Mpeg4ParseResult
+  (in-module "Gst")
+  (c-name "GstMpeg4ParseResult")
+  (values
+    '("ok" "GST_MPEG4_PARSER_OK" "0")
+    '("broken-data" "GST_MPEG4_PARSER_BROKEN_DATA" "1")
+    '("no-packet" "GST_MPEG4_PARSER_NO_PACKET" "2")
+    '("no-packet-end" "GST_MPEG4_PARSER_NO_PACKET_END" "3")
+    '("error" "GST_MPEG4_PARSER_ERROR" "4")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEG4_I_VOP = 0x0,
+;;   GST_MPEG4_P_VOP = 0x1,
+;;   GST_MPEG4_B_VOP = 0x2,
+;;   GST_MPEG4_S_VOP = 0x3
+;; } GstMpeg4VideoObjectCodingType;
+
+(define-flags-extended Mpeg4VideoObjectCodingType
+  (in-module "Gst")
+  (c-name "GstMpeg4VideoObjectCodingType")
+  (values
+    '("i-vop" "GST_MPEG4_I_VOP" "0x0")
+    '("p-vop" "GST_MPEG4_P_VOP" "0x1")
+    '("b-vop" "GST_MPEG4_B_VOP" "0x2")
+    '("s-vop" "GST_MPEG4_S_VOP" "0x3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   /* Other value are reserved */
+;;   GST_MPEG4_CHROMA_4_2_0 = 0x01
+;; } GstMpeg4ChromaFormat;
+
+(define-flags-extended Mpeg4ChromaFormat
+  (in-module "Gst")
+  (c-name "GstMpeg4ChromaFormat")
+  (values
+    '("4-2-0" "GST_MPEG4_CHROMA_4_2_0" "0x01")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEG4_RECTANGULAR,
+;;   GST_MPEG4_BINARY,
+;;   GST_MPEG4_BINARY_ONLY,
+;;   GST_MPEG4_GRAYSCALE
+;; } GstMpeg4VideoObjectLayerShape;
+
+(define-enum-extended Mpeg4VideoObjectLayerShape
+  (in-module "Gst")
+  (c-name "GstMpeg4VideoObjectLayerShape")
+  (values
+    '("rectangular" "GST_MPEG4_RECTANGULAR" "0")
+    '("binary" "GST_MPEG4_BINARY" "1")
+    '("binary-only" "GST_MPEG4_BINARY_ONLY" "2")
+    '("grayscale" "GST_MPEG4_GRAYSCALE" "3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEG4_SPRITE_UNUSED,
+;;   GST_MPEG4_SPRITE_STATIC,
+;;   GST_MPEG4_SPRITE_GMG
+;; } GstMpeg4SpriteEnable;
+
+(define-enum-extended Mpeg4SpriteEnable
+  (in-module "Gst")
+  (c-name "GstMpeg4SpriteEnable")
+  (values
+    '("unused" "GST_MPEG4_SPRITE_UNUSED" "0")
+    '("static" "GST_MPEG4_SPRITE_STATIC" "1")
+    '("gmg" "GST_MPEG4_SPRITE_GMG" "2")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEG4_PROFILE_CORE,
+;;   GST_MPEG4_PROFILE_MAIN,
+;;   GST_MPEG4_PROFILE_N_BIT,
+;;   GST_MPEG4_PROFILE_SIMPLE,
+;;   GST_MPEG4_PROFILE_HYBRID,
+;;   GST_MPEG4_PROFILE_RESERVED,
+;;   GST_MPEG4_PROFILE_SIMPLE_FBA,
+;;   GST_MPEG4_PROFILE_CORE_STUDIO,
+;;   GST_MPEG4_PROFILE_SIMPLE_STUDIO,
+;;   GST_MPEG4_PROFILE_CORE_SCALABLE,
+;;   GST_MPEG4_PROFILE_ADVANCED_CORE,
+;;   GST_MPEG4_PROFILE_ADVANCED_SIMPLE,
+;;   GST_MPEG4_PROFILE_SIMPLE_SCALABLE,
+;;   GST_MPEG4_PROFILE_SCALABLE_TEXTURE,
+;;   GST_MPEG4_PROFILE_SIMPLE_FACE_ANIMATION,
+;;   GST_MPEG4_PROFILE_BASIC_ANIMATED_TEXTURE,
+;;   GST_MPEG4_PROFILE_ADVANCED_REALTIME_SIMPLE,
+;;   GST_MPEG4_PROFILE_ADVANCED_SCALABLE_TEXTURE,
+;;   GST_MPEG4_PROFILE_FINE_GRANULARITY_SCALABLE,
+;;   GST_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY
+;; } GstMpeg4Profile;
+
+(define-enum-extended Mpeg4Profile
+  (in-module "Gst")
+  (c-name "GstMpeg4Profile")
+  (values
+    '("core" "GST_MPEG4_PROFILE_CORE" "0")
+    '("main" "GST_MPEG4_PROFILE_MAIN" "1")
+    '("n-bit" "GST_MPEG4_PROFILE_N_BIT" "2")
+    '("simple" "GST_MPEG4_PROFILE_SIMPLE" "3")
+    '("hybrid" "GST_MPEG4_PROFILE_HYBRID" "4")
+    '("reserved" "GST_MPEG4_PROFILE_RESERVED" "5")
+    '("simple-fba" "GST_MPEG4_PROFILE_SIMPLE_FBA" "6")
+    '("core-studio" "GST_MPEG4_PROFILE_CORE_STUDIO" "7")
+    '("simple-studio" "GST_MPEG4_PROFILE_SIMPLE_STUDIO" "8")
+    '("core-scalable" "GST_MPEG4_PROFILE_CORE_SCALABLE" "9")
+    '("advanced-core" "GST_MPEG4_PROFILE_ADVANCED_CORE" "10")
+    '("advanced-simple" "GST_MPEG4_PROFILE_ADVANCED_SIMPLE" "11")
+    '("simple-scalable" "GST_MPEG4_PROFILE_SIMPLE_SCALABLE" "12")
+    '("scalable-texture" "GST_MPEG4_PROFILE_SCALABLE_TEXTURE" "13")
+    '("simple-face-animation" "GST_MPEG4_PROFILE_SIMPLE_FACE_ANIMATION" "14")
+    '("basic-animated-texture" "GST_MPEG4_PROFILE_BASIC_ANIMATED_TEXTURE" "15")
+    '("advanced-realtime-simple" "GST_MPEG4_PROFILE_ADVANCED_REALTIME_SIMPLE" "16")
+    '("advanced-scalable-texture" "GST_MPEG4_PROFILE_ADVANCED_SCALABLE_TEXTURE" "17")
+    '("fine-granularity-scalable" "GST_MPEG4_PROFILE_FINE_GRANULARITY_SCALABLE" "18")
+    '("advanced-coding-efficiency" "GST_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY" "19")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEG4_LEVEL0,
+;;   GST_MPEG4_LEVEL1,
+;;   GST_MPEG4_LEVEL2,
+;;   GST_MPEG4_LEVEL3,
+;;   GST_MPEG4_LEVEL3b,
+;;   GST_MPEG4_LEVEL4,
+;;   GST_MPEG4_LEVEL5,
+;;   GST_MPEG4_LEVEL_RESERVED
+;; } GstMpeg4Level;
+
+(define-enum-extended Mpeg4Level
+  (in-module "Gst")
+  (c-name "GstMpeg4Level")
+  (values
+    '("level0" "GST_MPEG4_LEVEL0" "0")
+    '("level1" "GST_MPEG4_LEVEL1" "1")
+    '("level2" "GST_MPEG4_LEVEL2" "2")
+    '("level3" "GST_MPEG4_LEVEL3" "3")
+    '("level3b" "GST_MPEG4_LEVEL3b" "4")
+    '("level4" "GST_MPEG4_LEVEL4" "5")
+    '("level5" "GST_MPEG4_LEVEL5" "6")
+    '("level-reserved" "GST_MPEG4_LEVEL_RESERVED" "7")
+  )
+)
+
+;; From gstmpegvideoparser.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEG_VIDEO_PACKET_PICTURE      = 0x00,
+;;   GST_MPEG_VIDEO_PACKET_SLICE_MIN    = 0x01,
+;;   GST_MPEG_VIDEO_PACKET_SLICE_MAX    = 0xaf,
+;;   GST_MPEG_VIDEO_PACKET_USER_DATA    = 0xb2,
+;;   GST_MPEG_VIDEO_PACKET_SEQUENCE     = 0xb3,
+;;   GST_MPEG_VIDEO_PACKET_EXTENSION    = 0xb5,
+;;   GST_MPEG_VIDEO_PACKET_SEQUENCE_END = 0xb7,
+;;   GST_MPEG_VIDEO_PACKET_GOP          = 0xb8,
+;;   GST_MPEG_VIDEO_PACKET_NONE         = 0xff
+;; } GstMpegVideoPacketTypeCode;
+
+(define-flags-extended MpegVideoPacketTypeCode
+  (in-module "Gst")
+  (c-name "GstMpegVideoPacketTypeCode")
+  (values
+    '("picture" "GST_MPEG_VIDEO_PACKET_PICTURE" "0x00")
+    '("slice-min" "GST_MPEG_VIDEO_PACKET_SLICE_MIN" "0x01")
+    '("slice-max" "GST_MPEG_VIDEO_PACKET_SLICE_MAX" "0xaf")
+    '("user-data" "GST_MPEG_VIDEO_PACKET_USER_DATA" "0xb2")
+    '("sequence" "GST_MPEG_VIDEO_PACKET_SEQUENCE" "0xb3")
+    '("extension" "GST_MPEG_VIDEO_PACKET_EXTENSION" "0xb5")
+    '("sequence-end" "GST_MPEG_VIDEO_PACKET_SEQUENCE_END" "0xb7")
+    '("gop" "GST_MPEG_VIDEO_PACKET_GOP" "0xb8")
+    '("none" "GST_MPEG_VIDEO_PACKET_NONE" "0xff")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE          = 0x01,
+;;   GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_DISPLAY  = 0x02,
+;;   GST_MPEG_VIDEO_PACKET_EXT_QUANT_MATRIX      = 0x03,
+;;   GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_SCALABLE = 0x05,
+;;   GST_MPEG_VIDEO_PACKET_EXT_PICTURE           = 0x08
+;; } GstMpegVideoPacketExtensionCode;
+
+(define-flags-extended MpegVideoPacketExtensionCode
+  (in-module "Gst")
+  (c-name "GstMpegVideoPacketExtensionCode")
+  (values
+    '("sequence" "GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE" "0x01")
+    '("sequence-display" "GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_DISPLAY" "0x02")
+    '("quant-matrix" "GST_MPEG_VIDEO_PACKET_EXT_QUANT_MATRIX" "0x03")
+    '("sequence-scalable" "GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_SCALABLE" "0x05")
+    '("picture" "GST_MPEG_VIDEO_PACKET_EXT_PICTURE" "0x08")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_DATA_PARTITIONING  = 0x00,
+;;   GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_SPATIAL            = 0x01,
+;;   GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_SNR                = 0x02,
+;;   GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_TEMPORAL           = 0x03
+;; } GstMpegVideoSequenceScalableMode;
+
+(define-flags-extended MpegVideoSequenceScalableMode
+  (in-module "Gst")
+  (c-name "GstMpegVideoSequenceScalableMode")
+  (values
+    '("data-partitioning" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_DATA_PARTITIONING" "0x00")
+    '("spatial" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_SPATIAL" "0x01")
+    '("snr" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_SNR" "0x02")
+    '("temporal" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_TEMPORAL" "0x03")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;  GST_MPEG_VIDEO_LEVEL_HIGH      = 0x04,
+;;  GST_MPEG_VIDEO_LEVEL_HIGH_1440 = 0x06,
+;;  GST_MPEG_VIDEO_LEVEL_MAIN      = 0x08,
+;;  GST_MPEG_VIDEO_LEVEL_LOW       = 0x0a
+;; } GstMpegVideoLevel;
+
+(define-flags-extended MpegVideoLevel
+  (in-module "Gst")
+  (c-name "GstMpegVideoLevel")
+  (values
+    '("high" "GST_MPEG_VIDEO_LEVEL_HIGH" "0x04")
+    '("high-1440" "GST_MPEG_VIDEO_LEVEL_HIGH_1440" "0x06")
+    '("main" "GST_MPEG_VIDEO_LEVEL_MAIN" "0x08")
+    '("low" "GST_MPEG_VIDEO_LEVEL_LOW" "0x0a")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEG_VIDEO_PROFILE_422                 = 0x00,
+;;   GST_MPEG_VIDEO_PROFILE_HIGH                = 0x01,
+;;   GST_MPEG_VIDEO_PROFILE_SPATIALLY_SCALABLE  = 0x02,
+;;   GST_MPEG_VIDEO_PROFILE_SNR_SCALABLE        = 0x03,
+;;   GST_MPEG_VIDEO_PROFILE_MAIN                = 0x04,
+;;   GST_MPEG_VIDEO_PROFILE_SIMPLE              = 0x05
+;; } GstMpegVideoProfile;
+
+(define-flags-extended MpegVideoProfile
+  (in-module "Gst")
+  (c-name "GstMpegVideoProfile")
+  (values
+    '("422" "GST_MPEG_VIDEO_PROFILE_422" "0x00")
+    '("high" "GST_MPEG_VIDEO_PROFILE_HIGH" "0x01")
+    '("spatially-scalable" "GST_MPEG_VIDEO_PROFILE_SPATIALLY_SCALABLE" "0x02")
+    '("snr-scalable" "GST_MPEG_VIDEO_PROFILE_SNR_SCALABLE" "0x03")
+    '("main" "GST_MPEG_VIDEO_PROFILE_MAIN" "0x04")
+    '("simple" "GST_MPEG_VIDEO_PROFILE_SIMPLE" "0x05")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEG_VIDEO_CHROMA_RES = 0x00,
+;;   GST_MPEG_VIDEO_CHROMA_420 = 0x01,
+;;   GST_MPEG_VIDEO_CHROMA_422 = 0x02,
+;;   GST_MPEG_VIDEO_CHROMA_444 = 0x03,
+;; } GstMpegVideoChromaFormat;
+
+(define-flags-extended MpegVideoChromaFormat
+  (in-module "Gst")
+  (c-name "GstMpegVideoChromaFormat")
+  (values
+    '("res" "GST_MPEG_VIDEO_CHROMA_RES" "0x00")
+    '("420" "GST_MPEG_VIDEO_CHROMA_420" "0x01")
+    '("422" "GST_MPEG_VIDEO_CHROMA_422" "0x02")
+    '("444" "GST_MPEG_VIDEO_CHROMA_444" "0x03")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEG_VIDEO_PICTURE_TYPE_I = 0x01,
+;;   GST_MPEG_VIDEO_PICTURE_TYPE_P = 0x02,
+;;   GST_MPEG_VIDEO_PICTURE_TYPE_B = 0x03,
+;;   GST_MPEG_VIDEO_PICTURE_TYPE_D = 0x04
+;; } GstMpegVideoPictureType;
+
+(define-flags-extended MpegVideoPictureType
+  (in-module "Gst")
+  (c-name "GstMpegVideoPictureType")
+  (values
+    '("i" "GST_MPEG_VIDEO_PICTURE_TYPE_I" "0x01")
+    '("p" "GST_MPEG_VIDEO_PICTURE_TYPE_P" "0x02")
+    '("b" "GST_MPEG_VIDEO_PICTURE_TYPE_B" "0x03")
+    '("d" "GST_MPEG_VIDEO_PICTURE_TYPE_D" "0x04")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;     GST_MPEG_VIDEO_PICTURE_STRUCTURE_TOP_FIELD    = 0x01,
+;;     GST_MPEG_VIDEO_PICTURE_STRUCTURE_BOTTOM_FIELD = 0x02,
+;;     GST_MPEG_VIDEO_PICTURE_STRUCTURE_FRAME        = 0x03
+;; } GstMpegVideoPictureStructure;
+
+(define-flags-extended MpegVideoPictureStructure
+  (in-module "Gst")
+  (c-name "GstMpegVideoPictureStructure")
+  (values
+    '("top-field" "GST_MPEG_VIDEO_PICTURE_STRUCTURE_TOP_FIELD" "0x01")
+    '("bottom-field" "GST_MPEG_VIDEO_PICTURE_STRUCTURE_BOTTOM_FIELD" "0x02")
+    '("frame" "GST_MPEG_VIDEO_PICTURE_STRUCTURE_FRAME" "0x03")
+  )
+)
+
+;; From gstvc1parser.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_VC1_END_OF_SEQ       = 0x0A,
+;;   GST_VC1_SLICE            = 0x0B,
+;;   GST_VC1_FIELD            = 0x0C,
+;;   GST_VC1_FRAME            = 0x0D,
+;;   GST_VC1_ENTRYPOINT       = 0x0E,
+;;   GST_VC1_SEQUENCE         = 0x0F,
+;;   GST_VC1_SLICE_USER       = 0x1B,
+;;   GST_VC1_FIELD_USER       = 0x1C,
+;;   GST_VC1_FRAME_USER       = 0x1D,
+;;   GST_VC1_ENTRY_POINT_USER = 0x1E,
+;;   GST_VC1_SEQUENCE_USER    = 0x1F
+;; } GstVC1StartCode;
+
+(define-flags-extended VC1StartCode
+  (in-module "Gst")
+  (c-name "GstVC1StartCode")
+  (values
+    '("end-of-seq" "GST_VC1_END_OF_SEQ" "0x0A")
+    '("slice" "GST_VC1_SLICE" "0x0B")
+    '("field" "GST_VC1_FIELD" "0x0C")
+    '("frame" "GST_VC1_FRAME" "0x0D")
+    '("entrypoint" "GST_VC1_ENTRYPOINT" "0x0E")
+    '("sequence" "GST_VC1_SEQUENCE" "0x0F")
+    '("slice-user" "GST_VC1_SLICE_USER" "0x1B")
+    '("field-user" "GST_VC1_FIELD_USER" "0x1C")
+    '("frame-user" "GST_VC1_FRAME_USER" "0x1D")
+    '("entry-point-user" "GST_VC1_ENTRY_POINT_USER" "0x1E")
+    '("sequence-user" "GST_VC1_SEQUENCE_USER" "0x1F")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_VC1_PROFILE_SIMPLE,
+;;   GST_VC1_PROFILE_MAIN,
+;;   GST_VC1_PROFILE_RESERVED,
+;;   GST_VC1_PROFILE_ADVANCED
+;; } GstVC1Profile;
+
+(define-enum-extended VC1Profile
+  (in-module "Gst")
+  (c-name "GstVC1Profile")
+  (values
+    '("simple" "GST_VC1_PROFILE_SIMPLE" "0")
+    '("main" "GST_VC1_PROFILE_MAIN" "1")
+    '("reserved" "GST_VC1_PROFILE_RESERVED" "2")
+    '("advanced" "GST_VC1_PROFILE_ADVANCED" "3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_VC1_PARSER_OK,
+;;   GST_VC1_PARSER_BROKEN_DATA,
+;;   GST_VC1_PARSER_NO_BDU,
+;;   GST_VC1_PARSER_NO_BDU_END,
+;;   GST_VC1_PARSER_ERROR,
+;; } GstVC1ParserResult;
+
+(define-enum-extended VC1ParserResult
+  (in-module "Gst")
+  (c-name "GstVC1ParserResult")
+  (values
+    '("ok" "GST_VC1_PARSER_OK" "0")
+    '("broken-data" "GST_VC1_PARSER_BROKEN_DATA" "1")
+    '("no-bdu" "GST_VC1_PARSER_NO_BDU" "2")
+    '("no-bdu-end" "GST_VC1_PARSER_NO_BDU_END" "3")
+    '("error" "GST_VC1_PARSER_ERROR" "4")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_VC1_PICTURE_TYPE_P,
+;;   GST_VC1_PICTURE_TYPE_B,
+;;   GST_VC1_PICTURE_TYPE_I,
+;;   GST_VC1_PICTURE_TYPE_BI,
+;;   GST_VC1_PICTURE_TYPE_SKIPPED
+;; } GstVC1PictureType;
+
+(define-enum-extended VC1PictureType
+  (in-module "Gst")
+  (c-name "GstVC1PictureType")
+  (values
+    '("p" "GST_VC1_PICTURE_TYPE_P" "0")
+    '("b" "GST_VC1_PICTURE_TYPE_B" "1")
+    '("i" "GST_VC1_PICTURE_TYPE_I" "2")
+    '("bi" "GST_VC1_PICTURE_TYPE_BI" "3")
+    '("skipped" "GST_VC1_PICTURE_TYPE_SKIPPED" "4")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;     GST_VC1_LEVEL_LOW    = 0,    /* Simple/Main profile low level */
+;;     GST_VC1_LEVEL_MEDIUM = 2,    /* Simple/Main profile medium level */
+;;     GST_VC1_LEVEL_HIGH   = 4,   /* Main profile high level */
+;; 
+;;     GST_VC1_LEVEL_L0    = 0,    /* Advanced profile level 0 */
+;;     GST_VC1_LEVEL_L1    = 1,    /* Advanced profile level 1 */
+;;     GST_VC1_LEVEL_L2    = 2,    /* Advanced profile level 2 */
+;;     GST_VC1_LEVEL_L3    = 3,    /* Advanced profile level 3 */
+;;     GST_VC1_LEVEL_L4    = 4,    /* Advanced profile level 4 */
+;; 
+;;     /* 5 to 7 reserved */
+;;     GST_VC1_LEVEL_UNKNOWN = 255  /* Unknown profile */
+;; } GstVC1Level;
+
+(define-enum-extended VC1Level
+  (in-module "Gst")
+  (c-name "GstVC1Level")
+  (values
+    '("low" "GST_VC1_LEVEL_LOW" "0")
+    '("medium" "GST_VC1_LEVEL_MEDIUM" "2")
+    '("high" "GST_VC1_LEVEL_HIGH" "4")
+    '("l0" "GST_VC1_LEVEL_L0" "0")
+    '("l1" "GST_VC1_LEVEL_L1" "1")
+    '("l2" "GST_VC1_LEVEL_L2" "2")
+    '("l3" "GST_VC1_LEVEL_L3" "3")
+    '("l4" "GST_VC1_LEVEL_L4" "4")
+    '("unknown" "GST_VC1_LEVEL_UNKNOWN" "255")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_VC1_QUANTIZER_IMPLICITLY,
+;;   GST_VC1_QUANTIZER_EXPLICITLY,
+;;   GST_VC1_QUANTIZER_NON_UNIFORM,
+;;   GST_VC1_QUANTIZER_UNIFORM
+;; } GstVC1QuantizerSpec;
+
+(define-enum-extended VC1QuantizerSpec
+  (in-module "Gst")
+  (c-name "GstVC1QuantizerSpec")
+  (values
+    '("implicitly" "GST_VC1_QUANTIZER_IMPLICITLY" "0")
+    '("explicitly" "GST_VC1_QUANTIZER_EXPLICITLY" "1")
+    '("non-uniform" "GST_VC1_QUANTIZER_NON_UNIFORM" "2")
+    '("uniform" "GST_VC1_QUANTIZER_UNIFORM" "3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_VC1_DQPROFILE_FOUR_EDGES,
+;;   GST_VC1_DQPROFILE_DOUBLE_EDGES,
+;;   GST_VC1_DQPROFILE_SINGLE_EDGE,
+;;   GST_VC1_DQPROFILE_ALL_MBS
+;; } GstVC1DQProfile;
+
+(define-enum-extended VC1DQProfile
+  (in-module "Gst")
+  (c-name "GstVC1DQProfile")
+  (values
+    '("four-edges" "GST_VC1_DQPROFILE_FOUR_EDGES" "0")
+    '("double-edges" "GST_VC1_DQPROFILE_DOUBLE_EDGES" "1")
+    '("single-edge" "GST_VC1_DQPROFILE_SINGLE_EDGE" "2")
+    '("all-mbs" "GST_VC1_DQPROFILE_ALL_MBS" "3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_VC1_CONDOVER_NONE,
+;;   GST_VC1_CONDOVER_ALL,
+;;   GST_VC1_CONDOVER_SELECT
+;; } GstVC1Condover;
+
+(define-enum-extended VC1Condover
+  (in-module "Gst")
+  (c-name "GstVC1Condover")
+  (values
+    '("none" "GST_VC1_CONDOVER_NONE" "0")
+    '("all" "GST_VC1_CONDOVER_ALL" "1")
+    '("select" "GST_VC1_CONDOVER_SELECT" "2")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_VC1_MVMODE_1MV_HPEL_BILINEAR,
+;;   GST_VC1_MVMODE_1MV,
+;;   GST_VC1_MVMODE_1MV_HPEL,
+;;   GST_VC1_MVMODE_MIXED_MV,
+;;   GST_VC1_MVMODE_INTENSITY_COMP
+;; } GstVC1MvMode;
+
+(define-enum-extended VC1MvMode
+  (in-module "Gst")
+  (c-name "GstVC1MvMode")
+  (values
+    '("1mv-hpel-bilinear" "GST_VC1_MVMODE_1MV_HPEL_BILINEAR" "0")
+    '("1mv" "GST_VC1_MVMODE_1MV" "1")
+    '("1mv-hpel" "GST_VC1_MVMODE_1MV_HPEL" "2")
+    '("mixed-mv" "GST_VC1_MVMODE_MIXED_MV" "3")
+    '("intensity-comp" "GST_VC1_MVMODE_INTENSITY_COMP" "4")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_VC1_FRAME_PROGRESSIVE = 0x0,
+;;   GST_VC1_FRAME_INTERLACE   = 0x10,
+;;   GST_VC1_FIELD_INTERLACE   = 0x11
+;; } GstVC1FrameCodingMode;
+
+(define-flags-extended VC1FrameCodingMode
+  (in-module "Gst")
+  (c-name "GstVC1FrameCodingMode")
+  (values
+    '("frame-progressive" "GST_VC1_FRAME_PROGRESSIVE" "0x0")
+    '("frame-interlace" "GST_VC1_FRAME_INTERLACE" "0x10")
+    '("field-interlace" "GST_VC1_FIELD_INTERLACE" "0x11")
+  )
+)
+
+;; From gstvp8parser.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_VP8_PARSER_OK,
+;;   GST_VP8_PARSER_BROKEN_DATA,
+;;   GST_VP8_PARSER_ERROR,
+;; } GstVp8ParserResult;
+
+(define-enum-extended Vp8ParserResult
+  (in-module "Gst")
+  (c-name "GstVp8ParserResult")
+  (values
+    '("ok" "GST_VP8_PARSER_OK" "0")
+    '("broken-data" "GST_VP8_PARSER_BROKEN_DATA" "1")
+    '("error" "GST_VP8_PARSER_ERROR" "2")
+  )
+)
+
+;; From gstglapi.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_GL_API_NONE = 0,
+;;   GST_GL_API_OPENGL = (1 << 0),
+;;   GST_GL_API_OPENGL3 = (1 << 1),
+;;   GST_GL_API_GLES1 = (1 << 15),
+;;   GST_GL_API_GLES2 = (1 << 16),
+;; 
+;;   GST_GL_API_ANY = G_MAXUINT32
+;; } GstGLAPI;
+
+(define-flags-extended GLAPI
+  (in-module "Gst")
+  (c-name "GstGLAPI")
+  (values
+    '("none" "GST_GL_API_NONE" "0x0")
+    '("opengl" "GST_GL_API_OPENGL" "(1 << 0)")
+    '("opengl3" "GST_GL_API_OPENGL3" "(1 << 1)")
+    '("gles1" "GST_GL_API_GLES1" "(1 << 15)")
+    '("gles2" "GST_GL_API_GLES2" "(1 << 16)")
+    '("any" "GST_GL_API_ANY" "G_MAXUINT32")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_GL_PLATFORM_NONE = 0,
+;;   GST_GL_PLATFORM_EGL = (1 << 0),
+;;   GST_GL_PLATFORM_GLX = (1 << 1),
+;;   GST_GL_PLATFORM_WGL = (1 << 2),
+;;   GST_GL_PLATFORM_CGL = (1 << 3),
+;;   GST_GL_PLATFORM_EAGL = (1 << 4),
+;; 
+;;   GST_GL_PLATFORM_ANY = G_MAXUINT32
+;; } GstGLPlatform;
+
+(define-flags-extended GLPlatform
+  (in-module "Gst")
+  (c-name "GstGLPlatform")
+  (values
+    '("none" "GST_GL_PLATFORM_NONE" "0x0")
+    '("egl" "GST_GL_PLATFORM_EGL" "(1 << 0)")
+    '("glx" "GST_GL_PLATFORM_GLX" "(1 << 1)")
+    '("wgl" "GST_GL_PLATFORM_WGL" "(1 << 2)")
+    '("cgl" "GST_GL_PLATFORM_CGL" "(1 << 3)")
+    '("eagl" "GST_GL_PLATFORM_EAGL" "(1 << 4)")
+    '("any" "GST_GL_PLATFORM_ANY" "G_MAXUINT32")
+  )
+)
+
+;; From gstglbasebuffer.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_GL_BASE_BUFFER_ERROR_FAILED,
+;;   GST_GL_BASE_BUFFER_ERROR_OLD_LIBS,
+;;   GST_GL_BASE_BUFFER_ERROR_RESOURCE_UNAVAILABLE,
+;; } GstGLBufferError;
+
+(define-enum-extended GLBufferError
+  (in-module "Gst")
+  (c-name "GstGLBufferError")
+  (values
+    '("failed" "GST_GL_BASE_BUFFER_ERROR_FAILED" "0")
+    '("old-libs" "GST_GL_BASE_BUFFER_ERROR_OLD_LIBS" "1")
+    '("resource-unavailable" "GST_GL_BASE_BUFFER_ERROR_RESOURCE_UNAVAILABLE" "2")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_GL_BASE_BUFFER_FLAG_NEED_DOWNLOAD   = (GST_MEMORY_FLAG_LAST << 0),
+;;   GST_GL_BASE_BUFFER_FLAG_NEED_UPLOAD     = (GST_MEMORY_FLAG_LAST << 1)
+;; } GstGLBaseBufferFlags;
+
+(define-flags-extended GLBaseBufferFlags
+  (in-module "Gst")
+  (c-name "GstGLBaseBufferFlags")
+  (values
+    '("download" "GST_GL_BASE_BUFFER_FLAG_NEED_DOWNLOAD" "(GST_MEMORY_FLAG_LAST << 0)")
+    '("upload" "GST_GL_BASE_BUFFER_FLAG_NEED_UPLOAD" "(GST_MEMORY_FLAG_LAST << 1)")
+  )
+)
+
+;; From gstglcontext.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_GL_CONTEXT_ERROR_FAILED,
+;;   GST_GL_CONTEXT_ERROR_WRONG_CONFIG,
+;;   GST_GL_CONTEXT_ERROR_WRONG_API,
+;;   GST_GL_CONTEXT_ERROR_OLD_LIBS,
+;;   GST_GL_CONTEXT_ERROR_CREATE_CONTEXT,
+;;   GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE,
+;; } GstGLContextError;
+
+(define-enum-extended GLContextError
+  (in-module "Gst")
+  (c-name "GstGLContextError")
+  (values
+    '("failed" "GST_GL_CONTEXT_ERROR_FAILED" "0")
+    '("wrong-config" "GST_GL_CONTEXT_ERROR_WRONG_CONFIG" "1")
+    '("wrong-api" "GST_GL_CONTEXT_ERROR_WRONG_API" "2")
+    '("old-libs" "GST_GL_CONTEXT_ERROR_OLD_LIBS" "3")
+    '("create-context" "GST_GL_CONTEXT_ERROR_CREATE_CONTEXT" "4")
+    '("resource-unavailable" "GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE" "5")
+  )
+)
+
+;; From gstgldisplay.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_GL_DISPLAY_TYPE_NONE = 0,
+;;   GST_GL_DISPLAY_TYPE_X11 = (1 << 0),
+;;   GST_GL_DISPLAY_TYPE_WAYLAND = (1 << 1),
+;;   GST_GL_DISPLAY_TYPE_COCOA = (1 << 2),
+;;   GST_GL_DISPLAY_TYPE_WIN32 = (1 << 3),
+;;   GST_GL_DISPLAY_TYPE_DISPMANX = (1 << 4),
+;;   GST_GL_DISPLAY_TYPE_EGL = (1 << 5),
+;; 
+;;   GST_GL_DISPLAY_TYPE_ANY = G_MAXUINT32
+;; } GstGLDisplayType;
+
+(define-flags-extended GLDisplayType
+  (in-module "Gst")
+  (c-name "GstGLDisplayType")
+  (values
+    '("none" "GST_GL_DISPLAY_TYPE_NONE" "0x0")
+    '("x11" "GST_GL_DISPLAY_TYPE_X11" "(1 << 0)")
+    '("wayland" "GST_GL_DISPLAY_TYPE_WAYLAND" "(1 << 1)")
+    '("cocoa" "GST_GL_DISPLAY_TYPE_COCOA" "(1 << 2)")
+    '("win32" "GST_GL_DISPLAY_TYPE_WIN32" "(1 << 3)")
+    '("dispmanx" "GST_GL_DISPLAY_TYPE_DISPMANX" "(1 << 4)")
+    '("egl" "GST_GL_DISPLAY_TYPE_EGL" "(1 << 5)")
+    '("any" "GST_GL_DISPLAY_TYPE_ANY" "G_MAXUINT32")
+  )
+)
+
+;; From gstglmemory.h
+
+;; Original typedef:
+;; typedef enum _GstGLMemoryTransfer
+;; {
+;;   /* force a transfer between the texture and the PBO (if available) */
+;;   GST_GL_MEMORY_TRANSFER_NEED_UPLOAD = (1 << 0),
+;;   GST_GL_MEMORY_TRANSFER_NEED_DOWNLOAD = (1 << 1),
+;; } GstGLMemoryTransfer;
+
+(define-flags-extended GLMemoryTransfer
+  (in-module "Gst")
+  (c-name "GstGLMemoryTransfer")
+  (values
+    '("upload" "GST_GL_MEMORY_TRANSFER_NEED_UPLOAD" "(1 << 0)")
+    '("download" "GST_GL_MEMORY_TRANSFER_NEED_DOWNLOAD" "(1 << 1)")
+  )
+)
+
+;; From gstglshader.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_GL_SHADER_ERROR_COMPILE,
+;;   GST_GL_SHADER_ERROR_LINK,
+;;   GST_GL_SHADER_ERROR_PROGRAM
+;; } GstGLShaderError;
+
+(define-enum-extended GLShaderError
+  (in-module "Gst")
+  (c-name "GstGLShaderError")
+  (values
+    '("compile" "GST_GL_SHADER_ERROR_COMPILE" "0")
+    '("link" "GST_GL_SHADER_ERROR_LINK" "1")
+    '("program" "GST_GL_SHADER_ERROR_PROGRAM" "2")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_GL_SHADER_FRAGMENT_SOURCE,
+;;   GST_GL_SHADER_VERTEX_SOURCE
+;; } GstGLShaderSourceType;
+
+(define-enum-extended GLShaderSourceType
+  (in-module "Gst")
+  (c-name "GstGLShaderSourceType")
+  (values
+    '("fragment-source" "GST_GL_SHADER_FRAGMENT_SOURCE" "0")
+    '("vertex-source" "GST_GL_SHADER_VERTEX_SOURCE" "1")
+  )
+)
+
+;; From gstglupload.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_GL_UPLOAD_DONE = 1,
+;; 
+;;   GST_GL_UPLOAD_ERROR = -1,
+;;   GST_GL_UPLOAD_UNSUPPORTED = -2,
+;;   /* <private> */
+;;   GST_GL_UPLOAD_UNSHARED_GL_CONTEXT = -3,
+;; } GstGLUploadReturn;
+
+(define-enum-extended GLUploadReturn
+  (in-module "Gst")
+  (c-name "GstGLUploadReturn")
+  (values
+    '("done" "GST_GL_UPLOAD_DONE" "1")
+    '("error" "GST_GL_UPLOAD_ERROR" "-1")
+    '("unsupported" "GST_GL_UPLOAD_UNSUPPORTED" "-2")
+    '("unshared-gl-context" "GST_GL_UPLOAD_UNSHARED_GL_CONTEXT" "-3")
+  )
+)
+
+;; From gstglutils.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_GL_DISPLAY_PROJECTION_ORTHO2D,
+;;   GST_GL_DISPLAY_PROJECTION_PERSPECTIVE
+;; } GstGLDisplayProjection;
+
+(define-enum-extended GLDisplayProjection
+  (in-module "Gst")
+  (c-name "GstGLDisplayProjection")
+  (values
+    '("ortho2d" "GST_GL_DISPLAY_PROJECTION_ORTHO2D" "0")
+    '("perspective" "GST_GL_DISPLAY_PROJECTION_PERSPECTIVE" "1")
+  )
+)
+
+;; From gstglviewconvert.h
+
+;; Original typedef:
+;; typedef enum _GstGLStereoDownmix GstGLStereoDownmix;
+;; 
+;; struct _GstGLViewConvert
+;; {
+;;   GstObject object;
+;; 
+;;   GstGLContext *context;
+;; 
+;;   GstGLShader *shader;
+;; 
+;;   GstVideoMultiviewMode input_mode_override;
+;;   GstVideoMultiviewFlags input_flags_override;
+;;   GstVideoMultiviewMode output_mode_override;
+;;   GstVideoMultiviewFlags output_flags_override;
+;; 
+;;   GstGLStereoDownmix downmix_mode;
+;; 
+;;   GstVideoInfo in_info;
+;;   GstVideoInfo out_info;
+;; 
+;;   gboolean initted;
+;;   gboolean reconfigure;
+;; 
+;;   GLuint fbo;
+;;   GLuint depth_buffer;
+;; 
+;;   GstGLViewConvertPrivate *priv;
+;; };
+
+(define-flags-extended 
+  (in-module "Gst")
+  (c-name "")
+  (values
+  )
+)
+
+;; From gstglwindow.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_GL_WINDOW_ERROR_FAILED,
+;;   GST_GL_WINDOW_ERROR_OLD_LIBS,
+;;   GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE,
+;; } GstGLWindowError;
+
+(define-enum-extended GLWindowError
+  (in-module "Gst")
+  (c-name "GstGLWindowError")
+  (values
+    '("failed" "GST_GL_WINDOW_ERROR_FAILED" "0")
+    '("old-libs" "GST_GL_WINDOW_ERROR_OLD_LIBS" "1")
+    '("resource-unavailable" "GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE" "2")
+  )
+)
+
+;; From photography.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_PHOTOGRAPHY_NOISE_REDUCTION_BAYER = ( 1<<0 ),
+;;   GST_PHOTOGRAPHY_NOISE_REDUCTION_YCC = ( 1<<1 ),
+;;   GST_PHOTOGRAPHY_NOISE_REDUCTION_TEMPORAL= ( 1<< 2),
+;;   GST_PHOTOGRAPHY_NOISE_REDUCTION_FIXED = (1 << 3),
+;;   GST_PHOTOGRAPHY_NOISE_REDUCTION_EXTRA = (1 << 4)
+;; } GstPhotographyNoiseReduction;
+
+(define-flags-extended PhotographyNoiseReduction
+  (in-module "Gst")
+  (c-name "GstPhotographyNoiseReduction")
+  (values
+    '("bayer" "GST_PHOTOGRAPHY_NOISE_REDUCTION_BAYER" "( 1<<0 )")
+    '("ycc" "GST_PHOTOGRAPHY_NOISE_REDUCTION_YCC" "( 1<<1 )")
+    '("temporal=" "GST_PHOTOGRAPHY_NOISE_REDUCTION_TEMPORAL=" "( 1<< 2)")
+    '("fixed" "GST_PHOTOGRAPHY_NOISE_REDUCTION_FIXED" "(1 << 3)")
+    '("extra" "GST_PHOTOGRAPHY_NOISE_REDUCTION_EXTRA" "(1 << 4)")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_PHOTOGRAPHY_WB_MODE_AUTO = 0,
+;;   GST_PHOTOGRAPHY_WB_MODE_DAYLIGHT,
+;;   GST_PHOTOGRAPHY_WB_MODE_CLOUDY,
+;;   GST_PHOTOGRAPHY_WB_MODE_SUNSET,
+;;   GST_PHOTOGRAPHY_WB_MODE_TUNGSTEN,
+;;   GST_PHOTOGRAPHY_WB_MODE_FLUORESCENT,
+;;   GST_PHOTOGRAPHY_WB_MODE_MANUAL,
+;;   GST_PHOTOGRAPHY_WB_MODE_WARM_FLUORESCENT,
+;;   GST_PHOTOGRAPHY_WB_MODE_SHADE
+;; } GstPhotographyWhiteBalanceMode;
+
+(define-enum-extended PhotographyWhiteBalanceMode
+  (in-module "Gst")
+  (c-name "GstPhotographyWhiteBalanceMode")
+  (values
+    '("auto" "GST_PHOTOGRAPHY_WB_MODE_AUTO" "0")
+    '("daylight" "GST_PHOTOGRAPHY_WB_MODE_DAYLIGHT" "1")
+    '("cloudy" "GST_PHOTOGRAPHY_WB_MODE_CLOUDY" "2")
+    '("sunset" "GST_PHOTOGRAPHY_WB_MODE_SUNSET" "3")
+    '("tungsten" "GST_PHOTOGRAPHY_WB_MODE_TUNGSTEN" "4")
+    '("fluorescent" "GST_PHOTOGRAPHY_WB_MODE_FLUORESCENT" "5")
+    '("manual" "GST_PHOTOGRAPHY_WB_MODE_MANUAL" "6")
+    '("warm-fluorescent" "GST_PHOTOGRAPHY_WB_MODE_WARM_FLUORESCENT" "7")
+    '("shade" "GST_PHOTOGRAPHY_WB_MODE_SHADE" "8")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_NORMAL = 0,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_SEPIA,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_NEGATIVE,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRAYSCALE,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_NATURAL,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_VIVID,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_COLORSWAP,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_SOLARIZE,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_OUT_OF_FOCUS,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKY_BLUE,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRASS_GREEN,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKIN_WHITEN,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_POSTERIZE,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_WHITEBOARD,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_BLACKBOARD,
+;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_AQUA
+;; } GstPhotographyColorToneMode;
+
+(define-enum-extended PhotographyColorToneMode
+  (in-module "Gst")
+  (c-name "GstPhotographyColorToneMode")
+  (values
+    '("normal" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_NORMAL" "0")
+    '("sepia" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SEPIA" "1")
+    '("negative" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_NEGATIVE" "2")
+    '("grayscale" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRAYSCALE" "3")
+    '("natural" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_NATURAL" "4")
+    '("vivid" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_VIVID" "5")
+    '("colorswap" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_COLORSWAP" "6")
+    '("solarize" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SOLARIZE" "7")
+    '("out-of-focus" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_OUT_OF_FOCUS" "8")
+    '("sky-blue" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKY_BLUE" "9")
+    '("grass-green" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRASS_GREEN" "10")
+    '("skin-whiten" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKIN_WHITEN" "11")
+    '("posterize" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_POSTERIZE" "12")
+    '("whiteboard" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_WHITEBOARD" "13")
+    '("blackboard" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_BLACKBOARD" "14")
+    '("aqua" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_AQUA" "15")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_PHOTOGRAPHY_SCENE_MODE_MANUAL = 0,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_CLOSEUP,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_PORTRAIT,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_LANDSCAPE,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_SPORT,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_NIGHT,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_AUTO,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_ACTION,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_NIGHT_PORTRAIT,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_THEATRE,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_BEACH,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_SNOW,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_SUNSET,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_STEADY_PHOTO,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_FIREWORKS,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_PARTY,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_CANDLELIGHT,
+;;   GST_PHOTOGRAPHY_SCENE_MODE_BARCODE
+;; } GstPhotographySceneMode;
+
+(define-enum-extended PhotographySceneMode
+  (in-module "Gst")
+  (c-name "GstPhotographySceneMode")
+  (values
+    '("manual" "GST_PHOTOGRAPHY_SCENE_MODE_MANUAL" "0")
+    '("closeup" "GST_PHOTOGRAPHY_SCENE_MODE_CLOSEUP" "1")
+    '("portrait" "GST_PHOTOGRAPHY_SCENE_MODE_PORTRAIT" "2")
+    '("landscape" "GST_PHOTOGRAPHY_SCENE_MODE_LANDSCAPE" "3")
+    '("sport" "GST_PHOTOGRAPHY_SCENE_MODE_SPORT" "4")
+    '("night" "GST_PHOTOGRAPHY_SCENE_MODE_NIGHT" "5")
+    '("auto" "GST_PHOTOGRAPHY_SCENE_MODE_AUTO" "6")
+    '("action" "GST_PHOTOGRAPHY_SCENE_MODE_ACTION" "7")
+    '("night-portrait" "GST_PHOTOGRAPHY_SCENE_MODE_NIGHT_PORTRAIT" "8")
+    '("theatre" "GST_PHOTOGRAPHY_SCENE_MODE_THEATRE" "9")
+    '("beach" "GST_PHOTOGRAPHY_SCENE_MODE_BEACH" "10")
+    '("snow" "GST_PHOTOGRAPHY_SCENE_MODE_SNOW" "11")
+    '("sunset" "GST_PHOTOGRAPHY_SCENE_MODE_SUNSET" "12")
+    '("steady-photo" "GST_PHOTOGRAPHY_SCENE_MODE_STEADY_PHOTO" "13")
+    '("fireworks" "GST_PHOTOGRAPHY_SCENE_MODE_FIREWORKS" "14")
+    '("party" "GST_PHOTOGRAPHY_SCENE_MODE_PARTY" "15")
+    '("candlelight" "GST_PHOTOGRAPHY_SCENE_MODE_CANDLELIGHT" "16")
+    '("barcode" "GST_PHOTOGRAPHY_SCENE_MODE_BARCODE" "17")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_PHOTOGRAPHY_FLASH_MODE_AUTO = 0,
+;;   GST_PHOTOGRAPHY_FLASH_MODE_OFF,
+;;   GST_PHOTOGRAPHY_FLASH_MODE_ON,
+;;   GST_PHOTOGRAPHY_FLASH_MODE_FILL_IN,
+;;   GST_PHOTOGRAPHY_FLASH_MODE_RED_EYE
+;; } GstPhotographyFlashMode;
+
+(define-enum-extended PhotographyFlashMode
+  (in-module "Gst")
+  (c-name "GstPhotographyFlashMode")
+  (values
+    '("auto" "GST_PHOTOGRAPHY_FLASH_MODE_AUTO" "0")
+    '("off" "GST_PHOTOGRAPHY_FLASH_MODE_OFF" "1")
+    '("on" "GST_PHOTOGRAPHY_FLASH_MODE_ON" "2")
+    '("fill-in" "GST_PHOTOGRAPHY_FLASH_MODE_FILL_IN" "3")
+    '("red-eye" "GST_PHOTOGRAPHY_FLASH_MODE_RED_EYE" "4")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_PHOTOGRAPHY_FOCUS_STATUS_NONE = 0,
+;;   GST_PHOTOGRAPHY_FOCUS_STATUS_RUNNING,
+;;   GST_PHOTOGRAPHY_FOCUS_STATUS_FAIL,
+;;   GST_PHOTOGRAPHY_FOCUS_STATUS_SUCCESS
+;; } GstPhotographyFocusStatus;
+
+(define-enum-extended PhotographyFocusStatus
+  (in-module "Gst")
+  (c-name "GstPhotographyFocusStatus")
+  (values
+    '("none" "GST_PHOTOGRAPHY_FOCUS_STATUS_NONE" "0")
+    '("running" "GST_PHOTOGRAPHY_FOCUS_STATUS_RUNNING" "1")
+    '("fail" "GST_PHOTOGRAPHY_FOCUS_STATUS_FAIL" "2")
+    '("success" "GST_PHOTOGRAPHY_FOCUS_STATUS_SUCCESS" "3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_PHOTOGRAPHY_CAPS_NONE = (0 << 0),
+;;   GST_PHOTOGRAPHY_CAPS_EV_COMP = (1 << 0),
+;;   GST_PHOTOGRAPHY_CAPS_ISO_SPEED = (1 << 1),
+;;   GST_PHOTOGRAPHY_CAPS_WB_MODE = (1 << 2),
+;;   GST_PHOTOGRAPHY_CAPS_TONE = (1 << 3),
+;;   GST_PHOTOGRAPHY_CAPS_SCENE = (1 << 4),
+;;   GST_PHOTOGRAPHY_CAPS_FLASH = (1 << 5),
+;;   GST_PHOTOGRAPHY_CAPS_ZOOM = (1 << 6),
+;;   GST_PHOTOGRAPHY_CAPS_FOCUS = (1 << 7),
+;;   GST_PHOTOGRAPHY_CAPS_APERTURE = (1 << 8),
+;;   GST_PHOTOGRAPHY_CAPS_EXPOSURE = (1 << 9),
+;;   GST_PHOTOGRAPHY_CAPS_SHAKE = (1 << 10),
+;;   GST_PHOTOGRAPHY_CAPS_WHITE_BALANCE = (1 << 11),
+;;   GST_PHOTOGRAPHY_CAPS_NOISE_REDUCTION = (1 << 12),
+;;   GST_PHOTOGRAPHY_CAPS_FLICKER_REDUCTION = (1 << 13),
+;;   GST_PHOTOGRAPHY_CAPS_ALL = (~0)
+;; } GstPhotographyCaps;
+
+(define-flags-extended PhotographyCaps
+  (in-module "Gst")
+  (c-name "GstPhotographyCaps")
+  (values
+    '("none" "GST_PHOTOGRAPHY_CAPS_NONE" "(0 << 0)")
+    '("ev-comp" "GST_PHOTOGRAPHY_CAPS_EV_COMP" "(1 << 0)")
+    '("iso-speed" "GST_PHOTOGRAPHY_CAPS_ISO_SPEED" "(1 << 1)")
+    '("wb-mode" "GST_PHOTOGRAPHY_CAPS_WB_MODE" "(1 << 2)")
+    '("tone" "GST_PHOTOGRAPHY_CAPS_TONE" "(1 << 3)")
+    '("scene" "GST_PHOTOGRAPHY_CAPS_SCENE" "(1 << 4)")
+    '("flash" "GST_PHOTOGRAPHY_CAPS_FLASH" "(1 << 5)")
+    '("zoom" "GST_PHOTOGRAPHY_CAPS_ZOOM" "(1 << 6)")
+    '("focus" "GST_PHOTOGRAPHY_CAPS_FOCUS" "(1 << 7)")
+    '("aperture" "GST_PHOTOGRAPHY_CAPS_APERTURE" "(1 << 8)")
+    '("exposure" "GST_PHOTOGRAPHY_CAPS_EXPOSURE" "(1 << 9)")
+    '("shake" "GST_PHOTOGRAPHY_CAPS_SHAKE" "(1 << 10)")
+    '("white-balance" "GST_PHOTOGRAPHY_CAPS_WHITE_BALANCE" "(1 << 11)")
+    '("noise-reduction" "GST_PHOTOGRAPHY_CAPS_NOISE_REDUCTION" "(1 << 12)")
+    '("flicker-reduction" "GST_PHOTOGRAPHY_CAPS_FLICKER_REDUCTION" "(1 << 13)")
+    '("all" "GST_PHOTOGRAPHY_CAPS_ALL" "0x0")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_PHOTOGRAPHY_SHAKE_RISK_LOW = 0,
+;;   GST_PHOTOGRAPHY_SHAKE_RISK_MEDIUM,
+;;   GST_PHOTOGRAPHY_SHAKE_RISK_HIGH,
+;; } GstPhotographyShakeRisk;
+
+(define-enum-extended PhotographyShakeRisk
+  (in-module "Gst")
+  (c-name "GstPhotographyShakeRisk")
+  (values
+    '("low" "GST_PHOTOGRAPHY_SHAKE_RISK_LOW" "0")
+    '("medium" "GST_PHOTOGRAPHY_SHAKE_RISK_MEDIUM" "1")
+    '("high" "GST_PHOTOGRAPHY_SHAKE_RISK_HIGH" "2")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_PHOTOGRAPHY_FLICKER_REDUCTION_OFF = 0,
+;;   GST_PHOTOGRAPHY_FLICKER_REDUCTION_50HZ,
+;;   GST_PHOTOGRAPHY_FLICKER_REDUCTION_60HZ,
+;;   GST_PHOTOGRAPHY_FLICKER_REDUCTION_AUTO,
+;; } GstPhotographyFlickerReductionMode;
+
+(define-enum-extended PhotographyFlickerReductionMode
+  (in-module "Gst")
+  (c-name "GstPhotographyFlickerReductionMode")
+  (values
+    '("off" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_OFF" "0")
+    '("50hz" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_50HZ" "1")
+    '("60hz" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_60HZ" "2")
+    '("auto" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_AUTO" "3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;     GST_PHOTOGRAPHY_FOCUS_MODE_AUTO = 0,
+;;     GST_PHOTOGRAPHY_FOCUS_MODE_MACRO,
+;;     GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT,
+;;     GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY,
+;;     GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL,
+;;     GST_PHOTOGRAPHY_FOCUS_MODE_EXTENDED,
+;;     GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL,
+;;     GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED,
+;;     GST_PHOTOGRAPHY_FOCUS_MODE_MANUAL
+;; } GstPhotographyFocusMode;
+
+(define-enum-extended PhotographyFocusMode
+  (in-module "Gst")
+  (c-name "GstPhotographyFocusMode")
+  (values
+    '("auto" "GST_PHOTOGRAPHY_FOCUS_MODE_AUTO" "0")
+    '("macro" "GST_PHOTOGRAPHY_FOCUS_MODE_MACRO" "1")
+    '("portrait" "GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT" "2")
+    '("infinity" "GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY" "3")
+    '("hyperfocal" "GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL" "4")
+    '("extended" "GST_PHOTOGRAPHY_FOCUS_MODE_EXTENDED" "5")
+    '("continuous-normal" "GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL" "6")
+    '("continuous-extended" "GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED" "7")
+    '("manual" "GST_PHOTOGRAPHY_FOCUS_MODE_MANUAL" "8")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;     GST_PHOTOGRAPHY_EXPOSURE_MODE_AUTO = 0,
+;;     GST_PHOTOGRAPHY_EXPOSURE_MODE_MANUAL
+;; } GstPhotographyExposureMode;
+
+(define-enum-extended PhotographyExposureMode
+  (in-module "Gst")
+  (c-name "GstPhotographyExposureMode")
+  (values
+    '("auto" "GST_PHOTOGRAPHY_EXPOSURE_MODE_AUTO" "0")
+    '("manual" "GST_PHOTOGRAPHY_EXPOSURE_MODE_MANUAL" "1")
+  )
+)
+
+;; From gst-atsc-section.h
+
+;; Original typedef:
+;; typedef enum {
+;; 
+;; 
+;;   /* ATSC (A/65) */
+;;   GST_MTS_TABLE_ID_ATSC_MASTER_GUIDE                    = 0xC7,
+;;   GST_MTS_TABLE_ID_ATSC_TERRESTRIAL_VIRTUAL_CHANNEL     = 0xC8,
+;;   GST_MTS_TABLE_ID_ATSC_CABLE_VIRTUAL_CHANNEL           = 0xC9,
+;;   GST_MTS_TABLE_ID_ATSC_RATING_REGION                   = 0xCA,
+;;   GST_MTS_TABLE_ID_ATSC_EVENT_INFORMATION               = 0xCB,
+;;   GST_MTS_TABLE_ID_ATSC_CHANNEL_OR_EVENT_EXTENDED_TEXT  = 0xCC,
+;;   GST_MTS_TABLE_ID_ATSC_SYSTEM_TIME                     = 0xCD,
+;;   /* ATSC (A/90) */
+;;   GST_MTS_TABLE_ID_ATSC_DATA_EVENT                      = 0xCE,
+;;   GST_MTS_TABLE_ID_ATSC_DATA_SERVICE                    = 0xCF,
+;;   /* 0xD0 ?? */
+;;   GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE                = 0xD1,
+;;   GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE               = 0xD2,
+;;   GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE         = 0xD3,
+;;   GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE_SECTION_CODE = 0xD4,
+;;   /* 0xD5 ?? */
+;;   GST_MTS_TABLE_ID_ATSC_AGGREGATE_EVENT_INFORMATION     = 0xD6,
+;;   GST_MTS_TABLE_ID_ATSC_AGGREGATE_EXTENDED_TEXT         = 0xD7,
+;;   /* 0xD8 ?? */
+;;   GST_MTS_TABLE_ID_ATSC_AGGREGATE_DATA_EVENT            = 0xD9,
+;;   GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL       = 0xDA,
+;; } GstMpegtsSectionATSCTableID;
+
+(define-flags-extended MpegtsSectionATSCTableID
+  (in-module "Gst")
+  (c-name "GstMpegtsSectionATSCTableID")
+  (values
+    '("master-guide" "GST_MTS_TABLE_ID_ATSC_MASTER_GUIDE" "0xC7")
+    '("terrestrial-virtual-channel" "GST_MTS_TABLE_ID_ATSC_TERRESTRIAL_VIRTUAL_CHANNEL" "0xC8")
+    '("cable-virtual-channel" "GST_MTS_TABLE_ID_ATSC_CABLE_VIRTUAL_CHANNEL" "0xC9")
+    '("rating-region" "GST_MTS_TABLE_ID_ATSC_RATING_REGION" "0xCA")
+    '("event-information" "GST_MTS_TABLE_ID_ATSC_EVENT_INFORMATION" "0xCB")
+    '("channel-or-event-extended-text" "GST_MTS_TABLE_ID_ATSC_CHANNEL_OR_EVENT_EXTENDED_TEXT" "0xCC")
+    '("system-time" "GST_MTS_TABLE_ID_ATSC_SYSTEM_TIME" "0xCD")
+    '("data-event" "GST_MTS_TABLE_ID_ATSC_DATA_EVENT" "0xCE")
+    '("data-service" "GST_MTS_TABLE_ID_ATSC_DATA_SERVICE" "0xCF")
+    '("network-resource" "GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE" "0xD1")
+    '("long-term-service" "GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE" "0xD2")
+    '("directed-channel-change" "GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE" "0xD3")
+    '("directed-channel-change-section-code" "GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE_SECTION_CODE" 
"0xD4")
+    '("aggregate-event-information" "GST_MTS_TABLE_ID_ATSC_AGGREGATE_EVENT_INFORMATION" "0xD6")
+    '("aggregate-extended-text" "GST_MTS_TABLE_ID_ATSC_AGGREGATE_EXTENDED_TEXT" "0xD7")
+    '("aggregate-data-event" "GST_MTS_TABLE_ID_ATSC_AGGREGATE_DATA_EVENT" "0xD9")
+    '("satellite-virtual-channel" "GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL" "0xDA")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0 = 0x0100,
+;;   GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127 = 0x017F,
+;;   GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT0 = 0x0200,
+;;   GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT127 = 0x027F
+;; } GstMpegtsAtscMGTTableType;
+
+(define-flags-extended MpegtsAtscMGTTableType
+  (in-module "Gst")
+  (c-name "GstMpegtsAtscMGTTableType")
+  (values
+    '("eit0" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0" "0x0100")
+    '("eit127" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127" "0x017F")
+    '("ett0" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT0" "0x0200")
+    '("ett127" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT127" "0x027F")
+  )
+)
+
+;; From gst-dvb-descriptor.h
+
+;; Original typedef:
+;; typedef enum {
+;;   /* 64-127 DVB tags ETSI EN 300 468
+;;    * (Specification for Service Information (SI) in DVB systems)
+;;    */
+;;   GST_MTS_DESC_DVB_NETWORK_NAME                 = 0x40,
+;;   GST_MTS_DESC_DVB_SERVICE_LIST                 = 0x41,
+;;   GST_MTS_DESC_DVB_STUFFING                     = 0x42,
+;;   GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM    = 0x43,
+;;   GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM        = 0x44,
+;;   GST_MTS_DESC_DVB_VBI_DATA                     = 0x45,
+;;   GST_MTS_DESC_DVB_VBI_TELETEXT                 = 0x46,
+;;   GST_MTS_DESC_DVB_BOUQUET_NAME                 = 0x47,
+;;   GST_MTS_DESC_DVB_SERVICE                      = 0x48,
+;;   GST_MTS_DESC_DVB_COUNTRY_AVAILABILITY         = 0x49,
+;;   GST_MTS_DESC_DVB_LINKAGE                      = 0x4A,
+;;   GST_MTS_DESC_DVB_NVOD_REFERENCE               = 0x4B,
+;;   GST_MTS_DESC_DVB_TIME_SHIFTED_SERVICE         = 0x4C,
+;;   GST_MTS_DESC_DVB_SHORT_EVENT                  = 0x4D,
+;;   GST_MTS_DESC_DVB_EXTENDED_EVENT               = 0x4E,
+;;   GST_MTS_DESC_DVB_TIME_SHIFTED_EVENT           = 0x4F,
+;;   GST_MTS_DESC_DVB_COMPONENT                    = 0x50,
+;;   GST_MTS_DESC_DVB_MOSAIC                       = 0x51,
+;;   GST_MTS_DESC_DVB_STREAM_IDENTIFIER            = 0x52,
+;;   GST_MTS_DESC_DVB_CA_IDENTIFIER                = 0x53,
+;;   GST_MTS_DESC_DVB_CONTENT                      = 0x54,
+;;   GST_MTS_DESC_DVB_PARENTAL_RATING              = 0x55,
+;;   GST_MTS_DESC_DVB_TELETEXT                     = 0x56,
+;;   GST_MTS_DESC_DVB_TELEPHONE                    = 0x57,
+;;   GST_MTS_DESC_DVB_LOCAL_TIME_OFFSET            = 0x58,
+;;   GST_MTS_DESC_DVB_SUBTITLING                   = 0x59,
+;;   GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM  = 0x5A,
+;;   GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME    = 0x5B,
+;;   GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME    = 0x5C,
+;;   GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME    = 0x5D,
+;;   GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT       = 0x5E,
+;;   GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER       = 0x5F,
+;;   GST_MTS_DESC_DVB_SERVICE_MOVE                 = 0x60,
+;;   GST_MTS_DESC_DVB_SHORT_SMOOTHING_BUFFER       = 0x61,
+;;   GST_MTS_DESC_DVB_FREQUENCY_LIST               = 0x62,
+;;   GST_MTS_DESC_DVB_PARTIAL_TRANSPORT_STREAM     = 0x63,
+;;   GST_MTS_DESC_DVB_DATA_BROADCAST               = 0x64,
+;;   GST_MTS_DESC_DVB_SCRAMBLING                   = 0x65,
+;;   GST_MTS_DESC_DVB_DATA_BROADCAST_ID            = 0x66,
+;;   GST_MTS_DESC_DVB_TRANSPORT_STREAM             = 0x67,
+;;   GST_MTS_DESC_DVB_DSNG                         = 0x68,
+;;   GST_MTS_DESC_DVB_PDC                          = 0x69,
+;;   GST_MTS_DESC_DVB_AC3                          = 0x6A,
+;;   GST_MTS_DESC_DVB_ANCILLARY_DATA               = 0x6B,
+;;   GST_MTS_DESC_DVB_CELL_LIST                    = 0x6C,
+;;   GST_MTS_DESC_DVB_CELL_FREQUENCY_LINK          = 0x6D,
+;;   GST_MTS_DESC_DVB_ANNOUNCEMENT_SUPPORT         = 0x6E,
+;;   GST_MTS_DESC_DVB_APPLICATION_SIGNALLING       = 0x6F,
+;;   GST_MTS_DESC_DVB_ADAPTATION_FIELD_DATA        = 0x70,
+;;   GST_MTS_DESC_DVB_SERVICE_IDENTIFIER           = 0x71,
+;;   GST_MTS_DESC_DVB_SERVICE_AVAILABILITY         = 0x72,
+;;   GST_MTS_DESC_DVB_DEFAULT_AUTHORITY            = 0x73,
+;;   GST_MTS_DESC_DVB_RELATED_CONTENT              = 0x74,
+;;   GST_MTS_DESC_DVB_TVA_ID                       = 0x75,
+;;   GST_MTS_DESC_DVB_CONTENT_IDENTIFIER           = 0x76,
+;;   GST_MTS_DESC_DVB_TIMESLICE_FEC_IDENTIFIER     = 0x77,
+;;   GST_MTS_DESC_DVB_ECM_REPETITION_RATE          = 0x78,
+;;   GST_MTS_DESC_DVB_S2_SATELLITE_DELIVERY_SYSTEM = 0x79,
+;;   GST_MTS_DESC_DVB_ENHANCED_AC3                 = 0x7A,
+;;   GST_MTS_DESC_DVB_DTS                          = 0x7B,
+;;   GST_MTS_DESC_DVB_AAC                          = 0x7C,
+;;   GST_MTS_DESC_DVB_XAIT_LOCATION                = 0x7D,
+;;   GST_MTS_DESC_DVB_FTA_CONTENT_MANAGEMENT       = 0x7E,
+;;   GST_MTS_DESC_DVB_EXTENSION                    = 0x7F,
+;; } GstMpegtsDVBDescriptorType;
+
+(define-flags-extended MpegtsDVBDescriptorType
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBDescriptorType")
+  (values
+    '("network-name" "GST_MTS_DESC_DVB_NETWORK_NAME" "0x40")
+    '("service-list" "GST_MTS_DESC_DVB_SERVICE_LIST" "0x41")
+    '("stuffing" "GST_MTS_DESC_DVB_STUFFING" "0x42")
+    '("satellite-delivery-system" "GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM" "0x43")
+    '("cable-delivery-system" "GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM" "0x44")
+    '("vbi-data" "GST_MTS_DESC_DVB_VBI_DATA" "0x45")
+    '("vbi-teletext" "GST_MTS_DESC_DVB_VBI_TELETEXT" "0x46")
+    '("bouquet-name" "GST_MTS_DESC_DVB_BOUQUET_NAME" "0x47")
+    '("service" "GST_MTS_DESC_DVB_SERVICE" "0x48")
+    '("country-availability" "GST_MTS_DESC_DVB_COUNTRY_AVAILABILITY" "0x49")
+    '("linkage" "GST_MTS_DESC_DVB_LINKAGE" "0x4A")
+    '("nvod-reference" "GST_MTS_DESC_DVB_NVOD_REFERENCE" "0x4B")
+    '("time-shifted-service" "GST_MTS_DESC_DVB_TIME_SHIFTED_SERVICE" "0x4C")
+    '("short-event" "GST_MTS_DESC_DVB_SHORT_EVENT" "0x4D")
+    '("extended-event" "GST_MTS_DESC_DVB_EXTENDED_EVENT" "0x4E")
+    '("time-shifted-event" "GST_MTS_DESC_DVB_TIME_SHIFTED_EVENT" "0x4F")
+    '("component" "GST_MTS_DESC_DVB_COMPONENT" "0x50")
+    '("mosaic" "GST_MTS_DESC_DVB_MOSAIC" "0x51")
+    '("stream-identifier" "GST_MTS_DESC_DVB_STREAM_IDENTIFIER" "0x52")
+    '("ca-identifier" "GST_MTS_DESC_DVB_CA_IDENTIFIER" "0x53")
+    '("content" "GST_MTS_DESC_DVB_CONTENT" "0x54")
+    '("parental-rating" "GST_MTS_DESC_DVB_PARENTAL_RATING" "0x55")
+    '("teletext" "GST_MTS_DESC_DVB_TELETEXT" "0x56")
+    '("telephone" "GST_MTS_DESC_DVB_TELEPHONE" "0x57")
+    '("local-time-offset" "GST_MTS_DESC_DVB_LOCAL_TIME_OFFSET" "0x58")
+    '("subtitling" "GST_MTS_DESC_DVB_SUBTITLING" "0x59")
+    '("terrestrial-delivery-system" "GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM" "0x5A")
+    '("multilingual-network-name" "GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME" "0x5B")
+    '("multilingual-bouquet-name" "GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME" "0x5C")
+    '("multilingual-service-name" "GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME" "0x5D")
+    '("multilingual-component" "GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT" "0x5E")
+    '("private-data-specifier" "GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER" "0x5F")
+    '("service-move" "GST_MTS_DESC_DVB_SERVICE_MOVE" "0x60")
+    '("short-smoothing-buffer" "GST_MTS_DESC_DVB_SHORT_SMOOTHING_BUFFER" "0x61")
+    '("frequency-list" "GST_MTS_DESC_DVB_FREQUENCY_LIST" "0x62")
+    '("partial-transport-stream" "GST_MTS_DESC_DVB_PARTIAL_TRANSPORT_STREAM" "0x63")
+    '("data-broadcast" "GST_MTS_DESC_DVB_DATA_BROADCAST" "0x64")
+    '("scrambling" "GST_MTS_DESC_DVB_SCRAMBLING" "0x65")
+    '("data-broadcast-id" "GST_MTS_DESC_DVB_DATA_BROADCAST_ID" "0x66")
+    '("transport-stream" "GST_MTS_DESC_DVB_TRANSPORT_STREAM" "0x67")
+    '("dsng" "GST_MTS_DESC_DVB_DSNG" "0x68")
+    '("pdc" "GST_MTS_DESC_DVB_PDC" "0x69")
+    '("ac3" "GST_MTS_DESC_DVB_AC3" "0x6A")
+    '("ancillary-data" "GST_MTS_DESC_DVB_ANCILLARY_DATA" "0x6B")
+    '("cell-list" "GST_MTS_DESC_DVB_CELL_LIST" "0x6C")
+    '("cell-frequency-link" "GST_MTS_DESC_DVB_CELL_FREQUENCY_LINK" "0x6D")
+    '("announcement-support" "GST_MTS_DESC_DVB_ANNOUNCEMENT_SUPPORT" "0x6E")
+    '("application-signalling" "GST_MTS_DESC_DVB_APPLICATION_SIGNALLING" "0x6F")
+    '("adaptation-field-data" "GST_MTS_DESC_DVB_ADAPTATION_FIELD_DATA" "0x70")
+    '("service-identifier" "GST_MTS_DESC_DVB_SERVICE_IDENTIFIER" "0x71")
+    '("service-availability" "GST_MTS_DESC_DVB_SERVICE_AVAILABILITY" "0x72")
+    '("default-authority" "GST_MTS_DESC_DVB_DEFAULT_AUTHORITY" "0x73")
+    '("related-content" "GST_MTS_DESC_DVB_RELATED_CONTENT" "0x74")
+    '("tva-id" "GST_MTS_DESC_DVB_TVA_ID" "0x75")
+    '("content-identifier" "GST_MTS_DESC_DVB_CONTENT_IDENTIFIER" "0x76")
+    '("timeslice-fec-identifier" "GST_MTS_DESC_DVB_TIMESLICE_FEC_IDENTIFIER" "0x77")
+    '("ecm-repetition-rate" "GST_MTS_DESC_DVB_ECM_REPETITION_RATE" "0x78")
+    '("s2-satellite-delivery-system" "GST_MTS_DESC_DVB_S2_SATELLITE_DELIVERY_SYSTEM" "0x79")
+    '("enhanced-ac3" "GST_MTS_DESC_DVB_ENHANCED_AC3" "0x7A")
+    '("dts" "GST_MTS_DESC_DVB_DTS" "0x7B")
+    '("aac" "GST_MTS_DESC_DVB_AAC" "0x7C")
+    '("xait-location" "GST_MTS_DESC_DVB_XAIT_LOCATION" "0x7D")
+    '("fta-content-management" "GST_MTS_DESC_DVB_FTA_CONTENT_MANAGEMENT" "0x7E")
+    '("extension" "GST_MTS_DESC_DVB_EXTENSION" "0x7F")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   /* 00 - 0x7F DVB extended tags ETSI EN 300 468
+;;    * (Specification for Service Information (SI) in DVB systems)
+;;    */
+;;   GST_MTS_DESC_EXT_DVB_IMAGE_ICON               = 0x00,
+;;   /* TS/TR 102 825 */
+;;   GST_MTS_DESC_EXT_DVB_CPCM_DELIVERY_SIGNALLING = 0x01,
+;;   GST_MTS_DESC_EXT_DVB_CP                       = 0x02,
+;;   GST_MTS_DESC_EXT_DVB_CP_IDENTIFIER            = 0x03,
+;;   GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM       = 0x04,
+;;   GST_MTS_DESC_EXT_DVB_SH_DELIVERY_SYSTEM       = 0x05,
+;;   GST_MTS_DESC_EXT_DVB_SUPPLEMENTARY_AUDIO      = 0x06,
+;;   GST_MTS_DESC_EXT_DVB_NETWORK_CHANGE_NOTIFY    = 0x07,
+;;   GST_MTS_DESC_EXT_DVB_MESSAGE                  = 0x08,
+;;   GST_MTS_DESC_EXT_DVB_TARGET_REGION            = 0x09,
+;;   GST_MTS_DESC_EXT_DVB_TARGET_REGION_NAME       = 0x0A,
+;;   GST_MTS_DESC_EXT_DVB_SERVICE_RELOCATED        = 0x0B,
+;;   GST_MTS_DESC_EXT_DVB_XAIT_PID                 = 0x0C,
+;;   GST_MTS_DESC_EXT_DVB_C2_DELIVERY_SYSTEM       = 0x0D,
+;;   GST_MTS_DESC_EXT_DVB_DTS_HD_AUDIO_STREAM      = 0x0E,
+;;   GST_MTS_DESC_EXT_DVB_DTS_NEUTRAL              = 0x0F,
+;;   GST_MTS_DESC_EXT_DVB_VIDEO_DEPTH_RANGE        = 0x10,
+;;   GST_MTS_DESC_EXT_DVB_T2MI                     = 0x11,
+;;   GST_MTS_DESC_EXT_DVB_URI_LINKAGE              = 0x13,
+;; } GstMpegtsDVBExtendedDescriptorType;
+
+(define-flags-extended MpegtsDVBExtendedDescriptorType
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBExtendedDescriptorType")
+  (values
+    '("image-icon" "GST_MTS_DESC_EXT_DVB_IMAGE_ICON" "0x00")
+    '("cpcm-delivery-signalling" "GST_MTS_DESC_EXT_DVB_CPCM_DELIVERY_SIGNALLING" "0x01")
+    '("cp" "GST_MTS_DESC_EXT_DVB_CP" "0x02")
+    '("cp-identifier" "GST_MTS_DESC_EXT_DVB_CP_IDENTIFIER" "0x03")
+    '("t2-delivery-system" "GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM" "0x04")
+    '("sh-delivery-system" "GST_MTS_DESC_EXT_DVB_SH_DELIVERY_SYSTEM" "0x05")
+    '("supplementary-audio" "GST_MTS_DESC_EXT_DVB_SUPPLEMENTARY_AUDIO" "0x06")
+    '("network-change-notify" "GST_MTS_DESC_EXT_DVB_NETWORK_CHANGE_NOTIFY" "0x07")
+    '("message" "GST_MTS_DESC_EXT_DVB_MESSAGE" "0x08")
+    '("target-region" "GST_MTS_DESC_EXT_DVB_TARGET_REGION" "0x09")
+    '("target-region-name" "GST_MTS_DESC_EXT_DVB_TARGET_REGION_NAME" "0x0A")
+    '("service-relocated" "GST_MTS_DESC_EXT_DVB_SERVICE_RELOCATED" "0x0B")
+    '("xait-pid" "GST_MTS_DESC_EXT_DVB_XAIT_PID" "0x0C")
+    '("c2-delivery-system" "GST_MTS_DESC_EXT_DVB_C2_DELIVERY_SYSTEM" "0x0D")
+    '("dts-hd-audio-stream" "GST_MTS_DESC_EXT_DVB_DTS_HD_AUDIO_STREAM" "0x0E")
+    '("dts-neutral" "GST_MTS_DESC_EXT_DVB_DTS_NEUTRAL" "0x0F")
+    '("video-depth-range" "GST_MTS_DESC_EXT_DVB_VIDEO_DEPTH_RANGE" "0x10")
+    '("t2mi" "GST_MTS_DESC_EXT_DVB_T2MI" "0x11")
+    '("uri-linkage" "GST_MTS_DESC_EXT_DVB_URI_LINKAGE" "0x13")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_MODULATION_QPSK    = 0,
+;;   GST_MPEGTS_MODULATION_QAM_16,
+;;   GST_MPEGTS_MODULATION_QAM_32,
+;;   GST_MPEGTS_MODULATION_QAM_64,
+;;   GST_MPEGTS_MODULATION_QAM_128,
+;;   GST_MPEGTS_MODULATION_QAM_256,
+;;   GST_MPEGTS_MODULATION_QAM_AUTO,
+;;   GST_MPEGTS_MODULATION_VSB_8,
+;;   GST_MPEGTS_MODULATION_VSB_16,
+;;   GST_MPEGTS_MODULATION_PSK_8,
+;;   GST_MPEGTS_MODULATION_APSK_16,
+;;   GST_MPEGTS_MODULATION_APSK_32,
+;;   GST_MPEGTS_MODULATION_DQPSK,
+;;   GST_MPEGTS_MODULATION_QAM_4_NR_,
+;;   GST_MPEGTS_MODULATION_NONE
+;; } GstMpegtsModulationType;
+
+(define-enum-extended MpegtsModulationType
+  (in-module "Gst")
+  (c-name "GstMpegtsModulationType")
+  (values
+    '("qpsk" "GST_MPEGTS_MODULATION_QPSK" "0")
+    '("qam-16" "GST_MPEGTS_MODULATION_QAM_16" "1")
+    '("qam-32" "GST_MPEGTS_MODULATION_QAM_32" "2")
+    '("qam-64" "GST_MPEGTS_MODULATION_QAM_64" "3")
+    '("qam-128" "GST_MPEGTS_MODULATION_QAM_128" "4")
+    '("qam-256" "GST_MPEGTS_MODULATION_QAM_256" "5")
+    '("qam-auto" "GST_MPEGTS_MODULATION_QAM_AUTO" "6")
+    '("vsb-8" "GST_MPEGTS_MODULATION_VSB_8" "7")
+    '("vsb-16" "GST_MPEGTS_MODULATION_VSB_16" "8")
+    '("psk-8" "GST_MPEGTS_MODULATION_PSK_8" "9")
+    '("apsk-16" "GST_MPEGTS_MODULATION_APSK_16" "10")
+    '("apsk-32" "GST_MPEGTS_MODULATION_APSK_32" "11")
+    '("dqpsk" "GST_MPEGTS_MODULATION_DQPSK" "12")
+    '("qam-4-nr-" "GST_MPEGTS_MODULATION_QAM_4_NR_" "13")
+    '("none" "GST_MPEGTS_MODULATION_NONE" "14")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_FEC_NONE = 0,
+;;   GST_MPEGTS_FEC_1_2,
+;;   GST_MPEGTS_FEC_2_3,
+;;   GST_MPEGTS_FEC_3_4,
+;;   GST_MPEGTS_FEC_4_5,
+;;   GST_MPEGTS_FEC_5_6,
+;;   GST_MPEGTS_FEC_6_7,
+;;   GST_MPEGTS_FEC_7_8,
+;;   GST_MPEGTS_FEC_8_9,
+;;   GST_MPEGTS_FEC_AUTO,
+;;   GST_MPEGTS_FEC_3_5,
+;;   GST_MPEGTS_FEC_9_10,
+;;   GST_MPEGTS_FEC_2_5
+;; } GstMpegtsDVBCodeRate;
+
+(define-enum-extended MpegtsDVBCodeRate
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBCodeRate")
+  (values
+    '("none" "GST_MPEGTS_FEC_NONE" "0")
+    '("1-2" "GST_MPEGTS_FEC_1_2" "1")
+    '("2-3" "GST_MPEGTS_FEC_2_3" "2")
+    '("3-4" "GST_MPEGTS_FEC_3_4" "3")
+    '("4-5" "GST_MPEGTS_FEC_4_5" "4")
+    '("5-6" "GST_MPEGTS_FEC_5_6" "5")
+    '("6-7" "GST_MPEGTS_FEC_6_7" "6")
+    '("7-8" "GST_MPEGTS_FEC_7_8" "7")
+    '("8-9" "GST_MPEGTS_FEC_8_9" "8")
+    '("auto" "GST_MPEGTS_FEC_AUTO" "9")
+    '("3-5" "GST_MPEGTS_FEC_3_5" "10")
+    '("9-10" "GST_MPEGTS_FEC_9_10" "11")
+    '("2-5" "GST_MPEGTS_FEC_2_5" "12")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_ROLLOFF_35 = 0,
+;;   GST_MPEGTS_ROLLOFF_20,
+;;   GST_MPEGTS_ROLLOFF_25,
+;;   GST_MPEGTS_ROLLOFF_RESERVED,
+;;   GST_MPEGTS_ROLLOFF_AUTO
+;; } GstMpegtsSatelliteRolloff;
+
+(define-enum-extended MpegtsSatelliteRolloff
+  (in-module "Gst")
+  (c-name "GstMpegtsSatelliteRolloff")
+  (values
+    '("35" "GST_MPEGTS_ROLLOFF_35" "0")
+    '("20" "GST_MPEGTS_ROLLOFF_20" "1")
+    '("25" "GST_MPEGTS_ROLLOFF_25" "2")
+    '("reserved" "GST_MPEGTS_ROLLOFF_RESERVED" "3")
+    '("auto" "GST_MPEGTS_ROLLOFF_AUTO" "4")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_POLARIZATION_LINEAR_HORIZONTAL = 0,
+;;   GST_MPEGTS_POLARIZATION_LINEAR_VERTICAL,
+;;   GST_MPEGTS_POLARIZATION_CIRCULAR_LEFT,
+;;   GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT
+;; } GstMpegtsSatellitePolarizationType;
+
+(define-enum-extended MpegtsSatellitePolarizationType
+  (in-module "Gst")
+  (c-name "GstMpegtsSatellitePolarizationType")
+  (values
+    '("linear-horizontal" "GST_MPEGTS_POLARIZATION_LINEAR_HORIZONTAL" "0")
+    '("linear-vertical" "GST_MPEGTS_POLARIZATION_LINEAR_VERTICAL" "1")
+    '("circular-left" "GST_MPEGTS_POLARIZATION_CIRCULAR_LEFT" "2")
+    '("circular-right" "GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT" "3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_CABLE_OUTER_FEC_UNDEFINED = 0,
+;;   GST_MPEGTS_CABLE_OUTER_FEC_NONE,
+;;   GST_MPEGTS_CABLE_OUTER_FEC_RS_204_188,
+;; } GstMpegtsCableOuterFECScheme;
+
+(define-enum-extended MpegtsCableOuterFECScheme
+  (in-module "Gst")
+  (c-name "GstMpegtsCableOuterFECScheme")
+  (values
+    '("undefined" "GST_MPEGTS_CABLE_OUTER_FEC_UNDEFINED" "0")
+    '("none" "GST_MPEGTS_CABLE_OUTER_FEC_NONE" "1")
+    '("rs-204-188" "GST_MPEGTS_CABLE_OUTER_FEC_RS_204_188" "2")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_DVB_SERVICE_RESERVED_00               = 0x00,
+;;   GST_DVB_SERVICE_DIGITAL_TELEVISION,
+;;   GST_DVB_SERVICE_DIGITAL_RADIO_SOUND,
+;;   GST_DVB_SERVICE_TELETEXT,
+;;   GST_DVB_SERVICE_NVOD_REFERENCE,
+;;   GST_DVB_SERVICE_NVOD_TIME_SHIFTED,
+;;   GST_DVB_SERVICE_MOSAIC,
+;;   GST_DVB_SERVICE_FM_RADIO,
+;;   GST_DVB_SERVICE_DVB_SRM,
+;;   GST_DVB_SERVICE_RESERVED_09,
+;;   GST_DVB_SERVICE_ADVANCED_CODEC_DIGITAL_RADIO_SOUND,
+;;   GST_DVB_SERVICE_ADVANCED_CODEC_MOSAIC,
+;;   GST_DVB_SERVICE_DATA_BROADCAST,
+;;   GST_DVB_SERVICE_RESERVED_0D_COMMON_INTERFACE,
+;;   GST_DVB_SERVICE_RCS_MAP,
+;;   GST_DVB_SERVICE_RCS_FLS,
+;;   GST_DVB_SERVICE_DVB_MHP,
+;;   GST_DVB_SERVICE_MPEG2_HD_DIGITAL_TELEVISION,
+;;   /* 0x12 - 015 Reserved for future use */
+;;   GST_DVB_SERVICE_ADVANCED_CODEC_SD_DIGITAL_TELEVISION = 0x16,
+;;   GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED,
+;;   GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_REFERENCE,
+;;   GST_DVB_SERVICE_ADVANCED_CODEC_HD_DIGITAL_TELEVISION,
+;;   GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED,
+;;   GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_REFERENCE,
+;;   GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION,
+;;   GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED,
+;;   GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE,
+;;   /* 0x1F - 0x7f Reserved for future use */
+;;   /* 0x80 - 0xfe user defined */
+;;   /* 0xff Reserved for future use */
+;;   GST_DVB_SERVICE_RESERVED_FF
+;; } GstMpegtsDVBServiceType;
+
+(define-enum-extended MpegtsDVBServiceType
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBServiceType")
+  (values
+    '("reserved-00" "GST_DVB_SERVICE_RESERVED_00" "0x00")
+    '("digital-television" "GST_DVB_SERVICE_DIGITAL_TELEVISION" "1")
+    '("digital-radio-sound" "GST_DVB_SERVICE_DIGITAL_RADIO_SOUND" "2")
+    '("teletext" "GST_DVB_SERVICE_TELETEXT" "3")
+    '("nvod-reference" "GST_DVB_SERVICE_NVOD_REFERENCE" "4")
+    '("nvod-time-shifted" "GST_DVB_SERVICE_NVOD_TIME_SHIFTED" "5")
+    '("mosaic" "GST_DVB_SERVICE_MOSAIC" "6")
+    '("fm-radio" "GST_DVB_SERVICE_FM_RADIO" "7")
+    '("dvb-srm" "GST_DVB_SERVICE_DVB_SRM" "8")
+    '("reserved-09" "GST_DVB_SERVICE_RESERVED_09" "9")
+    '("advanced-codec-digital-radio-sound" "GST_DVB_SERVICE_ADVANCED_CODEC_DIGITAL_RADIO_SOUND" "10")
+    '("advanced-codec-mosaic" "GST_DVB_SERVICE_ADVANCED_CODEC_MOSAIC" "11")
+    '("data-broadcast" "GST_DVB_SERVICE_DATA_BROADCAST" "12")
+    '("reserved-0d-common-interface" "GST_DVB_SERVICE_RESERVED_0D_COMMON_INTERFACE" "13")
+    '("rcs-map" "GST_DVB_SERVICE_RCS_MAP" "14")
+    '("rcs-fls" "GST_DVB_SERVICE_RCS_FLS" "15")
+    '("dvb-mhp" "GST_DVB_SERVICE_DVB_MHP" "16")
+    '("mpeg2-hd-digital-television" "GST_DVB_SERVICE_MPEG2_HD_DIGITAL_TELEVISION" "17")
+    '("advanced-codec-sd-digital-television" "GST_DVB_SERVICE_ADVANCED_CODEC_SD_DIGITAL_TELEVISION" "0x16")
+    '("advanced-codec-sd-nvod-time-shifted" "GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED" "23")
+    '("advanced-codec-sd-nvod-reference" "GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_REFERENCE" "24")
+    '("advanced-codec-hd-digital-television" "GST_DVB_SERVICE_ADVANCED_CODEC_HD_DIGITAL_TELEVISION" "25")
+    '("advanced-codec-hd-nvod-time-shifted" "GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED" "26")
+    '("advanced-codec-hd-nvod-reference" "GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_REFERENCE" "27")
+    '("advanced-codec-stereo-hd-digital-television" 
"GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION" "28")
+    '("advanced-codec-stereo-hd-nvod-time-shifted" 
"GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED" "29")
+    '("advanced-codec-stereo-hd-nvod-reference" "GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE" 
"30")
+    '("reserved-ff" "GST_DVB_SERVICE_RESERVED_FF" "31")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   /* 0x00, 0x0F-0x7F reserved for future use */
+;;   GST_MPEGTS_DVB_LINKAGE_RESERVED_00               = 0x00,
+;;   GST_MPEGTS_DVB_LINKAGE_INFORMATION               = 0x01,
+;;   GST_MPEGTS_DVB_LINKAGE_EPG                       = 0x02,
+;;   GST_MPEGTS_DVB_LINKAGE_CA_REPLACEMENT            = 0x03,
+;;   GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_COMPLETE_SI = 0x04,
+;;   GST_MPEGTS_DVB_LINKAGE_SERVICE_REPLACEMENT       = 0x05,
+;;   GST_MPEGTS_DVB_LINKAGE_DATA_BROADCAST            = 0x06,
+;;   GST_MPEGTS_DVB_LINKAGE_RCS_MAP                   = 0x07,
+;;   GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER          = 0x08,
+;;   GST_MPEGTS_DVB_LINKAGE_SYSTEM_SOFTWARE_UPDATE    = 0x09,
+;;   GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_SSU         = 0x0A,
+;;   GST_MPEGTS_DVB_LINKAGE_IP_MAC_NOTIFICATION       = 0x0B,
+;;   GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_INT         = 0x0C,
+;;   GST_MPEGTS_DVB_LINKAGE_EVENT                     = 0x0D,
+;;   GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT            = 0x0E,
+;; } GstMpegtsDVBLinkageType;
+
+(define-flags-extended MpegtsDVBLinkageType
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBLinkageType")
+  (values
+    '("reserved-00" "GST_MPEGTS_DVB_LINKAGE_RESERVED_00" "0x00")
+    '("information" "GST_MPEGTS_DVB_LINKAGE_INFORMATION" "0x01")
+    '("epg" "GST_MPEGTS_DVB_LINKAGE_EPG" "0x02")
+    '("ca-replacement" "GST_MPEGTS_DVB_LINKAGE_CA_REPLACEMENT" "0x03")
+    '("ts-containing-complete-si" "GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_COMPLETE_SI" "0x04")
+    '("service-replacement" "GST_MPEGTS_DVB_LINKAGE_SERVICE_REPLACEMENT" "0x05")
+    '("data-broadcast" "GST_MPEGTS_DVB_LINKAGE_DATA_BROADCAST" "0x06")
+    '("rcs-map" "GST_MPEGTS_DVB_LINKAGE_RCS_MAP" "0x07")
+    '("mobile-hand-over" "GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER" "0x08")
+    '("system-software-update" "GST_MPEGTS_DVB_LINKAGE_SYSTEM_SOFTWARE_UPDATE" "0x09")
+    '("ts-containing-ssu" "GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_SSU" "0x0A")
+    '("ip-mac-notification" "GST_MPEGTS_DVB_LINKAGE_IP_MAC_NOTIFICATION" "0x0B")
+    '("ts-containing-int" "GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_INT" "0x0C")
+    '("event" "GST_MPEGTS_DVB_LINKAGE_EVENT" "0x0D")
+    '("extended-event" "GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT" "0x0E")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_DVB_LINKAGE_HAND_OVER_RESERVED        = 0x00,
+;;   GST_MPEGTS_DVB_LINKAGE_HAND_OVER_IDENTICAL       = 0x01,
+;;   GST_MPEGTS_DVB_LINKAGE_HAND_OVER_LOCAL_VARIATION = 0x02,
+;;   GST_MPEGTS_DVB_LINKAGE_HAND_OVER_ASSOCIATED      = 0x03,
+;; } GstMpegtsDVBLinkageHandOverType;
+
+(define-flags-extended MpegtsDVBLinkageHandOverType
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBLinkageHandOverType")
+  (values
+    '("reserved" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_RESERVED" "0x00")
+    '("identical" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_IDENTICAL" "0x01")
+    '("local-variation" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_LOCAL_VARIATION" "0x02")
+    '("associated" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_ASSOCIATED" "0x03")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_STREAM_CONTENT_MPEG2_VIDEO          = 0x01,
+;;   GST_MPEGTS_STREAM_CONTENT_MPEG1_LAYER2_AUDIO   = 0x02,
+;;   GST_MPEGTS_STREAM_CONTENT_TELETEXT_OR_SUBTITLE = 0x03,
+;;   GST_MPEGTS_STREAM_CONTENT_AC_3                 = 0x04,
+;;   GST_MPEGTS_STREAM_CONTENT_AVC                  = 0x05,
+;;   GST_MPEGTS_STREAM_CONTENT_AAC                  = 0x06,
+;;   GST_MPEGTS_STREAM_CONTENT_DTS                  = 0x07,
+;;   GST_MPEGTS_STREAM_CONTENT_SRM_CPCM             = 0x08
+;; } GstMpegtsComponentStreamContent;
+
+(define-flags-extended MpegtsComponentStreamContent
+  (in-module "Gst")
+  (c-name "GstMpegtsComponentStreamContent")
+  (values
+    '("mpeg2-video" "GST_MPEGTS_STREAM_CONTENT_MPEG2_VIDEO" "0x01")
+    '("mpeg1-layer2-audio" "GST_MPEGTS_STREAM_CONTENT_MPEG1_LAYER2_AUDIO" "0x02")
+    '("teletext-or-subtitle" "GST_MPEGTS_STREAM_CONTENT_TELETEXT_OR_SUBTITLE" "0x03")
+    '("ac-3" "GST_MPEGTS_STREAM_CONTENT_AC_3" "0x04")
+    '("avc" "GST_MPEGTS_STREAM_CONTENT_AVC" "0x05")
+    '("aac" "GST_MPEGTS_STREAM_CONTENT_AAC" "0x06")
+    '("dts" "GST_MPEGTS_STREAM_CONTENT_DTS" "0x07")
+    '("srm-cpcm" "GST_MPEGTS_STREAM_CONTENT_SRM_CPCM" "0x08")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_CONTENT_MOVIE_DRAMA                = 0x01,
+;;   GST_MPEGTS_CONTENT_NEWS_CURRENT_AFFAIRS       = 0x02,
+;;   GST_MPEGTS_CONTENT_SHOW_GAME_SHOW             = 0x03,
+;;   GST_MPEGTS_CONTENT_SPORTS                     = 0x04,
+;;   GST_MPEGTS_CONTENT_CHILDREN_YOUTH_PROGRAM     = 0x05,
+;;   GST_MPEGTS_CONTENT_MUSIC_BALLET_DANCE         = 0x06,
+;;   GST_MPEGTS_CONTENT_ARTS_CULTURE               = 0x07,
+;;   GST_MPEGTS_CONTENT_SOCIAL_POLITICAL_ECONOMICS = 0x08,
+;;   GST_MPEGTS_CONTENT_EDUCATION_SCIENCE_FACTUAL  = 0x09,
+;;   GST_MPEGTS_CONTENT_LEISURE_HOBBIES            = 0x0A,
+;;   GST_MPEGTS_CONTENT_SPECIAL_CHARACTERISTICS    = 0x0B
+;; } GstMpegtsContentNibbleHi;
+
+(define-flags-extended MpegtsContentNibbleHi
+  (in-module "Gst")
+  (c-name "GstMpegtsContentNibbleHi")
+  (values
+    '("movie-drama" "GST_MPEGTS_CONTENT_MOVIE_DRAMA" "0x01")
+    '("news-current-affairs" "GST_MPEGTS_CONTENT_NEWS_CURRENT_AFFAIRS" "0x02")
+    '("show-game-show" "GST_MPEGTS_CONTENT_SHOW_GAME_SHOW" "0x03")
+    '("sports" "GST_MPEGTS_CONTENT_SPORTS" "0x04")
+    '("children-youth-program" "GST_MPEGTS_CONTENT_CHILDREN_YOUTH_PROGRAM" "0x05")
+    '("music-ballet-dance" "GST_MPEGTS_CONTENT_MUSIC_BALLET_DANCE" "0x06")
+    '("arts-culture" "GST_MPEGTS_CONTENT_ARTS_CULTURE" "0x07")
+    '("social-political-economics" "GST_MPEGTS_CONTENT_SOCIAL_POLITICAL_ECONOMICS" "0x08")
+    '("education-science-factual" "GST_MPEGTS_CONTENT_EDUCATION_SCIENCE_FACTUAL" "0x09")
+    '("leisure-hobbies" "GST_MPEGTS_CONTENT_LEISURE_HOBBIES" "0x0A")
+    '("special-characteristics" "GST_MPEGTS_CONTENT_SPECIAL_CHARACTERISTICS" "0x0B")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   INITIAL_PAGE = 0x01,
+;;   SUBTITLE_PAGE,
+;;   ADDITIONAL_INFO_PAGE,
+;;   PROGRAMME_SCHEDULE_PAGE,
+;;   HEARING_IMPAIRED_PAGE
+;; } GstMpegtsDVBTeletextType;
+
+(define-enum-extended MpegtsDVBTeletextType
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBTeletextType")
+  (values
+    '("initial-page" "INITIAL_PAGE" "0x01")
+    '("subtitle-page" "SUBTITLE_PAGE" "2")
+    '("additional-info-page" "ADDITIONAL_INFO_PAGE" "3")
+    '("programme-schedule-page" "PROGRAMME_SCHEDULE_PAGE" "4")
+    '("hearing-impaired-page" "HEARING_IMPAIRED_PAGE" "5")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_TRANSMISSION_MODE_2K = 0,
+;;   GST_MPEGTS_TRANSMISSION_MODE_8K,
+;;   GST_MPEGTS_TRANSMISSION_MODE_AUTO,
+;;   GST_MPEGTS_TRANSMISSION_MODE_4K,
+;;   GST_MPEGTS_TRANSMISSION_MODE_1K,
+;;   GST_MPEGTS_TRANSMISSION_MODE_16K,
+;;   GST_MPEGTS_TRANSMISSION_MODE_32K,
+;;   GST_MPEGTS_TRANSMISSION_MODE_C1,
+;;   GST_MPEGTS_TRANSMISSION_MODE_C3780
+;; } GstMpegtsTerrestrialTransmissionMode;
+
+(define-enum-extended MpegtsTerrestrialTransmissionMode
+  (in-module "Gst")
+  (c-name "GstMpegtsTerrestrialTransmissionMode")
+  (values
+    '("2k" "GST_MPEGTS_TRANSMISSION_MODE_2K" "0")
+    '("8k" "GST_MPEGTS_TRANSMISSION_MODE_8K" "1")
+    '("auto" "GST_MPEGTS_TRANSMISSION_MODE_AUTO" "2")
+    '("4k" "GST_MPEGTS_TRANSMISSION_MODE_4K" "3")
+    '("1k" "GST_MPEGTS_TRANSMISSION_MODE_1K" "4")
+    '("16k" "GST_MPEGTS_TRANSMISSION_MODE_16K" "5")
+    '("32k" "GST_MPEGTS_TRANSMISSION_MODE_32K" "6")
+    '("c1" "GST_MPEGTS_TRANSMISSION_MODE_C1" "7")
+    '("c3780" "GST_MPEGTS_TRANSMISSION_MODE_C3780" "8")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_GUARD_INTERVAL_1_32 = 0,
+;;   GST_MPEGTS_GUARD_INTERVAL_1_16,
+;;   GST_MPEGTS_GUARD_INTERVAL_1_8,
+;;   GST_MPEGTS_GUARD_INTERVAL_1_4,
+;;   GST_MPEGTS_GUARD_INTERVAL_AUTO,
+;;   GST_MPEGTS_GUARD_INTERVAL_1_128,
+;;   GST_MPEGTS_GUARD_INTERVAL_19_128,
+;;   GST_MPEGTS_GUARD_INTERVAL_19_256,
+;;   GST_MPEGTS_GUARD_INTERVAL_PN420,
+;;   GST_MPEGTS_GUARD_INTERVAL_PN595,
+;;   GST_MPEGTS_GUARD_INTERVAL_PN945
+;; } GstMpegtsTerrestrialGuardInterval;
+
+(define-enum-extended MpegtsTerrestrialGuardInterval
+  (in-module "Gst")
+  (c-name "GstMpegtsTerrestrialGuardInterval")
+  (values
+    '("1-32" "GST_MPEGTS_GUARD_INTERVAL_1_32" "0")
+    '("1-16" "GST_MPEGTS_GUARD_INTERVAL_1_16" "1")
+    '("1-8" "GST_MPEGTS_GUARD_INTERVAL_1_8" "2")
+    '("1-4" "GST_MPEGTS_GUARD_INTERVAL_1_4" "3")
+    '("auto" "GST_MPEGTS_GUARD_INTERVAL_AUTO" "4")
+    '("1-128" "GST_MPEGTS_GUARD_INTERVAL_1_128" "5")
+    '("19-128" "GST_MPEGTS_GUARD_INTERVAL_19_128" "6")
+    '("19-256" "GST_MPEGTS_GUARD_INTERVAL_19_256" "7")
+    '("pn420" "GST_MPEGTS_GUARD_INTERVAL_PN420" "8")
+    '("pn595" "GST_MPEGTS_GUARD_INTERVAL_PN595" "9")
+    '("pn945" "GST_MPEGTS_GUARD_INTERVAL_PN945" "10")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_HIERARCHY_NONE = 0,
+;;   GST_MPEGTS_HIERARCHY_1,
+;;   GST_MPEGTS_HIERARCHY_2,
+;;   GST_MPEGTS_HIERARCHY_4,
+;;   GST_MPEGTS_HIERARCHY_AUTO
+;; } GstMpegtsTerrestrialHierarchy;
+
+(define-enum-extended MpegtsTerrestrialHierarchy
+  (in-module "Gst")
+  (c-name "GstMpegtsTerrestrialHierarchy")
+  (values
+    '("none" "GST_MPEGTS_HIERARCHY_NONE" "0")
+    '("1" "GST_MPEGTS_HIERARCHY_1" "1")
+    '("2" "GST_MPEGTS_HIERARCHY_2" "2")
+    '("4" "GST_MPEGTS_HIERARCHY_4" "3")
+    '("auto" "GST_MPEGTS_HIERARCHY_AUTO" "4")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_RESERVED              = 0x00,
+;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA1                  = 0x01,
+;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA2                  = 0x02,
+;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_STANDARD         = 0x03,
+;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_MINIMAL_ENHANCED = 0x04,
+;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_FULL_ENHANCED    = 0x05,
+;;   /* 0x06 - 0x0f reserved for future use */
+;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_CISSA                 = 0x10,
+;;   /* 0x11 - 0x1f reserved for future DVB-CISSA versions */
+;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_0                = 0x70,
+;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_F                = 0x7f,
+;; } GstMpegtsDVBScramblingModeType;
+
+(define-flags-extended MpegtsDVBScramblingModeType
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBScramblingModeType")
+  (values
+    '("reserved" "GST_MPEGTS_DVB_SCRAMBLING_MODE_RESERVED" "0x00")
+    '("csa1" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA1" "0x01")
+    '("csa2" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA2" "0x02")
+    '("csa3-standard" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_STANDARD" "0x03")
+    '("csa3-minimal-enhanced" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_MINIMAL_ENHANCED" "0x04")
+    '("csa3-full-enhanced" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_FULL_ENHANCED" "0x05")
+    '("cissa" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CISSA" "0x10")
+    '("atis-0" "GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_0" "0x70")
+    '("atis-f" "GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_F" "0x7f")
+  )
+)
+
+;; From gst-dvb-section.h
+
+;; Original typedef:
+;; typedef enum {
+;;   /* EN 300 468 (DVB) v 1.12.1 */
+;;   GST_MTS_TABLE_ID_NETWORK_INFORMATION_ACTUAL_NETWORK       = 0x40,
+;;   GST_MTS_TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK        = 0x41,
+;;   GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS    = 0x42,
+;;   GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS             = 0x46,
+;;   GST_MTS_TABLE_ID_BOUQUET_ASSOCIATION                      = 0x4A,
+;;   GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT      = 0x4E,
+;;   GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_PRESENT       = 0x4F,
+;;   GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1   = 0x50,
+;;   GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N   = 0x5F,
+;;   GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_1    = 0x60,
+;;   GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_N    = 0x6F,
+;;   GST_MTS_TABLE_ID_TIME_DATE                                = 0x70,
+;;   GST_MTS_TABLE_ID_RUNNING_STATUS                   = 0x71,
+;;   GST_MTS_TABLE_ID_STUFFING                         = 0x72,
+;;   GST_MTS_TABLE_ID_TIME_OFFSET                              = 0x73,
+;; 
+;;   /* TS 102 812 (MHP v1.1.3) */
+;;   GST_MTS_TABLE_ID_APPLICATION_INFORMATION_TABLE    = 0x74,
+;; 
+;;   /* TS 102 323 (DVB TV Anytime v1.5.1) */
+;;   GST_MTS_TABLE_ID_CONTAINER                                = 0x75,
+;;   GST_MTS_TABLE_ID_RELATED_CONTENT                  = 0x76,
+;;   GST_MTS_TABLE_ID_CONTENT_IDENTIFIER                       = 0x77,
+;;   
+;;   /* EN 301 192 (DVB specification for data broadcasting) */
+;;   GST_MTS_TABLE_ID_MPE_FEC                          = 0x78,
+;; 
+;;   /* TS 102 323 (DVB TV Anytime v1.5.1) */
+;;   GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION          = 0x79,
+;; 
+;;   /* TS 102 772 (DVB-SH Multi-Protocol Encapsulation) */
+;;   GST_MTS_TABLE_ID_MPE_IFEC                         = 0x7A,
+;;   
+;;   /* EN 300 468 (DVB) v 1.12.1 */
+;;   GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION                = 0x7E,
+;;   GST_MTS_TABLE_ID_SELECTION_INFORMATION            = 0x7F,
+;; 
+;;   /* ETR 289 (DVB Support for use of scrambling and CA) */
+;;   GST_MTS_TABLE_ID_CA_MESSAGE_ECM_0                 = 0x80,
+;;   GST_MTS_TABLE_ID_CA_MESSAGE_ECM_1                 = 0x81,
+;;   GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_1              = 0x82,
+;;   GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_N              = 0x8F,
+;; 
+;;   /* ... */
+;; 
+;;   /* EN 301 790 (DVB interaction channel for satellite distribution channels) */
+;;   GST_MTS_TABLE_ID_SCT                                      = 0xA0,
+;;   GST_MTS_TABLE_ID_FCT                                      = 0xA1,
+;;   GST_MTS_TABLE_ID_TCT                                      = 0xA2,
+;;   GST_MTS_TABLE_ID_SPT                                      = 0xA3,
+;;   GST_MTS_TABLE_ID_CMT                                      = 0xA4,
+;;   GST_MTS_TABLE_ID_TBTP                                     = 0xA5,
+;;   GST_MTS_TABLE_ID_PCR_PACKET_PAYLOAD                       = 0xA6,
+;;   GST_MTS_TABLE_ID_TRANSMISSION_MODE_SUPPORT_PAYLOAD        = 0xAA,
+;;   GST_MTS_TABLE_ID_TIM                                      = 0xB0,
+;;   GST_MTS_TABLE_ID_LL_FEC_PARITY_DATA_TABLE         = 0xB1
+;; 
+;; } GstMpegtsSectionDVBTableID;
+
+(define-flags-extended MpegtsSectionDVBTableID
+  (in-module "Gst")
+  (c-name "GstMpegtsSectionDVBTableID")
+  (values
+    '("network-information-actual-network" "GST_MTS_TABLE_ID_NETWORK_INFORMATION_ACTUAL_NETWORK" "0x40")
+    '("network-information-other-network" "GST_MTS_TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK" "0x41")
+    '("service-description-actual-ts" "GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS" "0x42")
+    '("service-description-other-ts" "GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS" "0x46")
+    '("bouquet-association" "GST_MTS_TABLE_ID_BOUQUET_ASSOCIATION" "0x4A")
+    '("event-information-actual-ts-present" "GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT" "0x4E")
+    '("event-information-other-ts-present" "GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_PRESENT" "0x4F")
+    '("event-information-actual-ts-schedule-1" "GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1" 
"0x50")
+    '("event-information-actual-ts-schedule-n" "GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N" 
"0x5F")
+    '("event-information-other-ts-schedule-1" "GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_1" 
"0x60")
+    '("event-information-other-ts-schedule-n" "GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_N" 
"0x6F")
+    '("time-date" "GST_MTS_TABLE_ID_TIME_DATE" "0x70")
+    '("running-status" "GST_MTS_TABLE_ID_RUNNING_STATUS" "0x71")
+    '("stuffing" "GST_MTS_TABLE_ID_STUFFING" "0x72")
+    '("time-offset" "GST_MTS_TABLE_ID_TIME_OFFSET" "0x73")
+    '("application-information-table" "GST_MTS_TABLE_ID_APPLICATION_INFORMATION_TABLE" "0x74")
+    '("container" "GST_MTS_TABLE_ID_CONTAINER" "0x75")
+    '("related-content" "GST_MTS_TABLE_ID_RELATED_CONTENT" "0x76")
+    '("content-identifier" "GST_MTS_TABLE_ID_CONTENT_IDENTIFIER" "0x77")
+    '("mpe-fec" "GST_MTS_TABLE_ID_MPE_FEC" "0x78")
+    '("resolution-notification" "GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION" "0x79")
+    '("mpe-ifec" "GST_MTS_TABLE_ID_MPE_IFEC" "0x7A")
+    '("discontinuity-information" "GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION" "0x7E")
+    '("selection-information" "GST_MTS_TABLE_ID_SELECTION_INFORMATION" "0x7F")
+    '("ca-message-ecm-0" "GST_MTS_TABLE_ID_CA_MESSAGE_ECM_0" "0x80")
+    '("ca-message-ecm-1" "GST_MTS_TABLE_ID_CA_MESSAGE_ECM_1" "0x81")
+    '("ca-message-system-private-1" "GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_1" "0x82")
+    '("ca-message-system-private-n" "GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_N" "0x8F")
+    '("sct" "GST_MTS_TABLE_ID_SCT" "0xA0")
+    '("fct" "GST_MTS_TABLE_ID_FCT" "0xA1")
+    '("tct" "GST_MTS_TABLE_ID_TCT" "0xA2")
+    '("spt" "GST_MTS_TABLE_ID_SPT" "0xA3")
+    '("cmt" "GST_MTS_TABLE_ID_CMT" "0xA4")
+    '("tbtp" "GST_MTS_TABLE_ID_TBTP" "0xA5")
+    '("pcr-packet-payload" "GST_MTS_TABLE_ID_PCR_PACKET_PAYLOAD" "0xA6")
+    '("transmission-mode-support-payload" "GST_MTS_TABLE_ID_TRANSMISSION_MODE_SUPPORT_PAYLOAD" "0xAA")
+    '("tim" "GST_MTS_TABLE_ID_TIM" "0xB0")
+    '("ll-fec-parity-data-table" "GST_MTS_TABLE_ID_LL_FEC_PARITY_DATA_TABLE" "0xB1")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_MPEGTS_RUNNING_STATUS_UNDEFINED = 0,
+;;   GST_MPEGTS_RUNNING_STATUS_NOT_RUNNING,
+;;   GST_MPEGTS_RUNNING_STATUS_STARTS_IN_FEW_SECONDS,
+;;   GST_MPEGTS_RUNNING_STATUS_PAUSING,
+;;   GST_MPEGTS_RUNNING_STATUS_RUNNING,
+;;   GST_MPEGTS_RUNNING_STATUS_OFF_AIR
+;; } GstMpegtsRunningStatus;
+
+(define-enum-extended MpegtsRunningStatus
+  (in-module "Gst")
+  (c-name "GstMpegtsRunningStatus")
+  (values
+    '("undefined" "GST_MPEGTS_RUNNING_STATUS_UNDEFINED" "0")
+    '("not-running" "GST_MPEGTS_RUNNING_STATUS_NOT_RUNNING" "1")
+    '("starts-in-few-seconds" "GST_MPEGTS_RUNNING_STATUS_STARTS_IN_FEW_SECONDS" "2")
+    '("pausing" "GST_MPEGTS_RUNNING_STATUS_PAUSING" "3")
+    '("running" "GST_MPEGTS_RUNNING_STATUS_RUNNING" "4")
+    '("off-air" "GST_MPEGTS_RUNNING_STATUS_OFF_AIR" "5")
+  )
+)
+
+;; From gstmpegtsdescriptor.h
+
+;; Original typedef:
+;; typedef enum {
+;;   /* 0-18 ISO/IEC 13818-1 (H222.0 06/2012) */
+;;   GST_MTS_DESC_RESERVED_00                      = 0x00,
+;;   GST_MTS_DESC_RESERVED_01                      = 0x01,
+;;   GST_MTS_DESC_VIDEO_STREAM                     = 0x02,
+;;   GST_MTS_DESC_AUDIO_STREAM                     = 0x03,
+;;   GST_MTS_DESC_HIERARCHY                        = 0x04,
+;;   GST_MTS_DESC_REGISTRATION                     = 0x05,
+;;   GST_MTS_DESC_DATA_STREAM_ALIGNMENT            = 0x06,
+;;   GST_MTS_DESC_TARGET_BACKGROUND_GRID           = 0x07,
+;;   GST_MTS_DESC_VIDEO_WINDOW                     = 0x08,
+;;   GST_MTS_DESC_CA                               = 0x09,
+;;   GST_MTS_DESC_ISO_639_LANGUAGE                 = 0x0A,
+;;   GST_MTS_DESC_SYSTEM_CLOCK                     = 0x0B,
+;;   GST_MTS_DESC_MULTIPLEX_BUFFER_UTILISATION     = 0x0C,
+;;   GST_MTS_DESC_COPYRIGHT                        = 0x0D,
+;;   GST_MTS_DESC_MAXIMUM_BITRATE                  = 0x0E,
+;;   GST_MTS_DESC_PRIVATE_DATA_INDICATOR           = 0x0F,
+;;   GST_MTS_DESC_SMOOTHING_BUFFER                 = 0x10,
+;;   GST_MTS_DESC_STD                              = 0x11,
+;;   GST_MTS_DESC_IBP                              = 0x12,
+;; 
+;;   /* 19-26 Defined in ISO/IEC 13818-6 (Extensions for DSM-CC) */
+;;   GST_MTS_DESC_DSMCC_CAROUSEL_IDENTIFIER        = 0x13,
+;;   GST_MTS_DESC_DSMCC_ASSOCIATION_TAG            = 0x14,
+;;   GST_MTS_DESC_DSMCC_DEFERRED_ASSOCIATION_TAG   = 0x15,
+;;   /* 0x16 is reserved (so far) */
+;;   GST_MTS_DESC_DSMCC_NPT_REFERENCE              = 0x17,
+;;   GST_MTS_DESC_DSMCC_NPT_ENDPOINT               = 0x18,
+;;   GST_MTS_DESC_DSMCC_STREAM_MODE                = 0x19,
+;;   GST_MTS_DESC_DSMCC_STREAM_EVENT               = 0x1A,
+;; 
+;;   /* 27-54 Later additions to ISO/IEC 13818-1 (H222.0 06/2012) */
+;;   GST_MTS_DESC_MPEG4_VIDEO                      = 0x1B,
+;;   GST_MTS_DESC_MPEG4_AUDIO                      = 0x1C,
+;;   GST_MTS_DESC_IOD                              = 0x1D,
+;;   GST_MTS_DESC_SL                               = 0x1E,
+;;   GST_MTS_DESC_FMC                              = 0x1F,
+;;   GST_MTS_DESC_EXTERNAL_ES_ID                   = 0x20,
+;;   GST_MTS_DESC_MUX_CODE                         = 0x21,
+;;   GST_MTS_DESC_FMX_BUFFER_SIZE                  = 0x22,
+;;   GST_MTS_DESC_MULTIPLEX_BUFFER                 = 0x23,
+;;   GST_MTS_DESC_CONTENT_LABELING                 = 0x24,
+;;   GST_MTS_DESC_METADATA_POINTER                 = 0x25,
+;;   GST_MTS_DESC_METADATA                         = 0x26,
+;;   GST_MTS_DESC_METADATA_STD                     = 0x27,
+;;   GST_MTS_DESC_AVC_VIDEO                        = 0x28,
+;;   /* defined in ISO/IEC 13818-11, MPEG-2 IPMP */
+;;   GST_MTS_DESC_IPMP                             = 0x29,
+;;   GST_MTS_DESC_AVC_TIMING_AND_HRD               = 0x2A,
+;;   GST_MTS_DESC_MPEG2_AAC_AUDIO                  = 0x2B,
+;;   GST_MTS_DESC_FLEX_MUX_TIMING                  = 0x2C,
+;;   GST_MTS_DESC_MPEG4_TEXT                       = 0x2D,
+;;   GST_MTS_DESC_MPEG4_AUDIO_EXTENSION            = 0x2E,
+;;   GST_MTS_DESC_AUXILIARY_VIDEO_STREAM           = 0x2F,
+;;   GST_MTS_DESC_SVC_EXTENSION                    = 0x30,
+;;   GST_MTS_DESC_MVC_EXTENSION                    = 0x31,
+;;   GST_MTS_DESC_J2K_VIDEO                        = 0x32,
+;;   GST_MTS_DESC_MVC_OPERATION_POINT              = 0x33,
+;;   GST_MTS_DESC_MPEG2_STEREOSCOPIC_VIDEO_FORMAT  = 0x34,
+;;   GST_MTS_DESC_STEREOSCOPIC_PROGRAM_INFO        = 0x35,
+;;   GST_MTS_DESC_STEREOSCOPIC_VIDEO_INFO          = 0x36,
+;; 
+;;   /* 55-63 ITU-T Rec. H.222.0 | ISO/IEC 13818-1 Reserved */
+;; } GstMpegtsDescriptorType;
+
+(define-flags-extended MpegtsDescriptorType
+  (in-module "Gst")
+  (c-name "GstMpegtsDescriptorType")
+  (values
+    '("reserved-00" "GST_MTS_DESC_RESERVED_00" "0x00")
+    '("reserved-01" "GST_MTS_DESC_RESERVED_01" "0x01")
+    '("video-stream" "GST_MTS_DESC_VIDEO_STREAM" "0x02")
+    '("audio-stream" "GST_MTS_DESC_AUDIO_STREAM" "0x03")
+    '("hierarchy" "GST_MTS_DESC_HIERARCHY" "0x04")
+    '("registration" "GST_MTS_DESC_REGISTRATION" "0x05")
+    '("data-stream-alignment" "GST_MTS_DESC_DATA_STREAM_ALIGNMENT" "0x06")
+    '("target-background-grid" "GST_MTS_DESC_TARGET_BACKGROUND_GRID" "0x07")
+    '("video-window" "GST_MTS_DESC_VIDEO_WINDOW" "0x08")
+    '("ca" "GST_MTS_DESC_CA" "0x09")
+    '("iso-639-language" "GST_MTS_DESC_ISO_639_LANGUAGE" "0x0A")
+    '("system-clock" "GST_MTS_DESC_SYSTEM_CLOCK" "0x0B")
+    '("multiplex-buffer-utilisation" "GST_MTS_DESC_MULTIPLEX_BUFFER_UTILISATION" "0x0C")
+    '("copyright" "GST_MTS_DESC_COPYRIGHT" "0x0D")
+    '("maximum-bitrate" "GST_MTS_DESC_MAXIMUM_BITRATE" "0x0E")
+    '("private-data-indicator" "GST_MTS_DESC_PRIVATE_DATA_INDICATOR" "0x0F")
+    '("smoothing-buffer" "GST_MTS_DESC_SMOOTHING_BUFFER" "0x10")
+    '("std" "GST_MTS_DESC_STD" "0x11")
+    '("ibp" "GST_MTS_DESC_IBP" "0x12")
+    '("dsmcc-carousel-identifier" "GST_MTS_DESC_DSMCC_CAROUSEL_IDENTIFIER" "0x13")
+    '("dsmcc-association-tag" "GST_MTS_DESC_DSMCC_ASSOCIATION_TAG" "0x14")
+    '("dsmcc-deferred-association-tag" "GST_MTS_DESC_DSMCC_DEFERRED_ASSOCIATION_TAG" "0x15")
+    '("dsmcc-npt-reference" "GST_MTS_DESC_DSMCC_NPT_REFERENCE" "0x17")
+    '("dsmcc-npt-endpoint" "GST_MTS_DESC_DSMCC_NPT_ENDPOINT" "0x18")
+    '("dsmcc-stream-mode" "GST_MTS_DESC_DSMCC_STREAM_MODE" "0x19")
+    '("dsmcc-stream-event" "GST_MTS_DESC_DSMCC_STREAM_EVENT" "0x1A")
+    '("mpeg4-video" "GST_MTS_DESC_MPEG4_VIDEO" "0x1B")
+    '("mpeg4-audio" "GST_MTS_DESC_MPEG4_AUDIO" "0x1C")
+    '("iod" "GST_MTS_DESC_IOD" "0x1D")
+    '("sl" "GST_MTS_DESC_SL" "0x1E")
+    '("fmc" "GST_MTS_DESC_FMC" "0x1F")
+    '("external-es-id" "GST_MTS_DESC_EXTERNAL_ES_ID" "0x20")
+    '("mux-code" "GST_MTS_DESC_MUX_CODE" "0x21")
+    '("fmx-buffer-size" "GST_MTS_DESC_FMX_BUFFER_SIZE" "0x22")
+    '("multiplex-buffer" "GST_MTS_DESC_MULTIPLEX_BUFFER" "0x23")
+    '("content-labeling" "GST_MTS_DESC_CONTENT_LABELING" "0x24")
+    '("metadata-pointer" "GST_MTS_DESC_METADATA_POINTER" "0x25")
+    '("metadata" "GST_MTS_DESC_METADATA" "0x26")
+    '("metadata-std" "GST_MTS_DESC_METADATA_STD" "0x27")
+    '("avc-video" "GST_MTS_DESC_AVC_VIDEO" "0x28")
+    '("ipmp" "GST_MTS_DESC_IPMP" "0x29")
+    '("avc-timing-and-hrd" "GST_MTS_DESC_AVC_TIMING_AND_HRD" "0x2A")
+    '("mpeg2-aac-audio" "GST_MTS_DESC_MPEG2_AAC_AUDIO" "0x2B")
+    '("flex-mux-timing" "GST_MTS_DESC_FLEX_MUX_TIMING" "0x2C")
+    '("mpeg4-text" "GST_MTS_DESC_MPEG4_TEXT" "0x2D")
+    '("mpeg4-audio-extension" "GST_MTS_DESC_MPEG4_AUDIO_EXTENSION" "0x2E")
+    '("auxiliary-video-stream" "GST_MTS_DESC_AUXILIARY_VIDEO_STREAM" "0x2F")
+    '("svc-extension" "GST_MTS_DESC_SVC_EXTENSION" "0x30")
+    '("mvc-extension" "GST_MTS_DESC_MVC_EXTENSION" "0x31")
+    '("j2k-video" "GST_MTS_DESC_J2K_VIDEO" "0x32")
+    '("mvc-operation-point" "GST_MTS_DESC_MVC_OPERATION_POINT" "0x33")
+    '("mpeg2-stereoscopic-video-format" "GST_MTS_DESC_MPEG2_STEREOSCOPIC_VIDEO_FORMAT" "0x34")
+    '("stereoscopic-program-info" "GST_MTS_DESC_STEREOSCOPIC_PROGRAM_INFO" "0x35")
+    '("stereoscopic-video-info" "GST_MTS_DESC_STEREOSCOPIC_VIDEO_INFO" "0x36")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   /* 0x80 - 0xFE are user defined */
+;;   GST_MTS_DESC_AC3_AUDIO_STREAM                 = 0x81,
+;;   GST_MTS_DESC_DTG_LOGICAL_CHANNEL              = 0x83,    /* from DTG D-Book */
+;; } GstMpegtsMiscDescriptorType;
+
+(define-flags-extended MpegtsMiscDescriptorType
+  (in-module "Gst")
+  (c-name "GstMpegtsMiscDescriptorType")
+  (values
+    '("ac3-audio-stream" "GST_MTS_DESC_AC3_AUDIO_STREAM" "0x81")
+    '("dtg-logical-channel" "GST_MTS_DESC_DTG_LOGICAL_CHANNEL" "0x83")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   /* ATSC A/65 2009 */
+;;   GST_MTS_DESC_ATSC_STUFFING                    = 0x80,
+;;   GST_MTS_DESC_ATSC_AC3                         = 0x83,
+;;   GST_MTS_DESC_ATSC_CAPTION_SERVICE             = 0x86,
+;;   GST_MTS_DESC_ATSC_CONTENT_ADVISORY            = 0x87,
+;;   GST_MTS_DESC_ATSC_EXTENDED_CHANNEL_NAME       = 0xA0,
+;;   GST_MTS_DESC_ATSC_SERVICE_LOCATION            = 0xA1,
+;;   GST_MTS_DESC_ATSC_TIME_SHIFTED_SERVICE        = 0xA2,
+;;   GST_MTS_DESC_ATSC_COMPONENT_NAME              = 0xA3,
+;;   GST_MTS_DESC_ATSC_DCC_DEPARTING_REQUEST       = 0xA8,
+;;   GST_MTS_DESC_ATSC_DCC_ARRIVING_REQUEST        = 0xA9,
+;;   GST_MTS_DESC_ATSC_REDISTRIBUTION_CONTROL      = 0xAA,
+;;   GST_MTS_DESC_ATSC_GENRE                       = 0xAB,
+;;   GST_MTS_DESC_ATSC_PRIVATE_INFORMATION         = 0xAD,
+;; 
+;;   /* ATSC A/53:3 2009 */
+;;   GST_MTS_DESC_ATSC_ENHANCED_SIGNALING          = 0xB2,
+;; 
+;;   /* ATSC A/90 */
+;;   GST_MTS_DESC_ATSC_DATA_SERVICE                = 0xA4,
+;;   GST_MTS_DESC_ATSC_PID_COUNT                   = 0xA5,
+;;   GST_MTS_DESC_ATSC_DOWNLOAD_DESCRIPTOR         = 0xA6,
+;;   GST_MTS_DESC_ATSC_MULTIPROTOCOL_ENCAPSULATION = 0xA7,
+;;   GST_MTS_DESC_ATSC_MODULE_LINK                 = 0xB4,
+;;   GST_MTS_DESC_ATSC_CRC32                       = 0xB5,
+;;   GST_MTS_DESC_ATSC_GROUP_LINK                  = 0xB8,
+;; } GstMpegtsATSCDescriptorType;
+
+(define-flags-extended MpegtsATSCDescriptorType
+  (in-module "Gst")
+  (c-name "GstMpegtsATSCDescriptorType")
+  (values
+    '("stuffing" "GST_MTS_DESC_ATSC_STUFFING" "0x80")
+    '("ac3" "GST_MTS_DESC_ATSC_AC3" "0x83")
+    '("caption-service" "GST_MTS_DESC_ATSC_CAPTION_SERVICE" "0x86")
+    '("content-advisory" "GST_MTS_DESC_ATSC_CONTENT_ADVISORY" "0x87")
+    '("extended-channel-name" "GST_MTS_DESC_ATSC_EXTENDED_CHANNEL_NAME" "0xA0")
+    '("service-location" "GST_MTS_DESC_ATSC_SERVICE_LOCATION" "0xA1")
+    '("time-shifted-service" "GST_MTS_DESC_ATSC_TIME_SHIFTED_SERVICE" "0xA2")
+    '("component-name" "GST_MTS_DESC_ATSC_COMPONENT_NAME" "0xA3")
+    '("dcc-departing-request" "GST_MTS_DESC_ATSC_DCC_DEPARTING_REQUEST" "0xA8")
+    '("dcc-arriving-request" "GST_MTS_DESC_ATSC_DCC_ARRIVING_REQUEST" "0xA9")
+    '("redistribution-control" "GST_MTS_DESC_ATSC_REDISTRIBUTION_CONTROL" "0xAA")
+    '("genre" "GST_MTS_DESC_ATSC_GENRE" "0xAB")
+    '("private-information" "GST_MTS_DESC_ATSC_PRIVATE_INFORMATION" "0xAD")
+    '("enhanced-signaling" "GST_MTS_DESC_ATSC_ENHANCED_SIGNALING" "0xB2")
+    '("data-service" "GST_MTS_DESC_ATSC_DATA_SERVICE" "0xA4")
+    '("pid-count" "GST_MTS_DESC_ATSC_PID_COUNT" "0xA5")
+    '("download-descriptor" "GST_MTS_DESC_ATSC_DOWNLOAD_DESCRIPTOR" "0xA6")
+    '("multiprotocol-encapsulation" "GST_MTS_DESC_ATSC_MULTIPROTOCOL_ENCAPSULATION" "0xA7")
+    '("module-link" "GST_MTS_DESC_ATSC_MODULE_LINK" "0xB4")
+    '("crc32" "GST_MTS_DESC_ATSC_CRC32" "0xB5")
+    '("group-link" "GST_MTS_DESC_ATSC_GROUP_LINK" "0xB8")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   /* ISDB ARIB B10 v4.6 */
+;;   GST_MTS_DESC_ISDB_HIERARCHICAL_TRANSMISSION   = 0xC0,
+;;   GST_MTS_DESC_ISDB_DIGITAL_COPY_CONTROL        = 0xC1,
+;;   GST_MTS_DESC_ISDB_NETWORK_IDENTIFICATION      = 0xC2,
+;;   GST_MTS_DESC_ISDB_PARTIAL_TS_TIME             = 0xc3,
+;;   GST_MTS_DESC_ISDB_AUDIO_COMPONENT             = 0xc4,
+;;   GST_MTS_DESC_ISDB_HYPERLINK                   = 0xc5,
+;;   GST_MTS_DESC_ISDB_TARGET_REGION               = 0xc6,
+;;   GST_MTS_DESC_ISDB_DATA_CONTENT                = 0xc7,
+;;   GST_MTS_DESC_ISDB_VIDEO_DECODE_CONTROL        = 0xc8,
+;;   GST_MTS_DESC_ISDB_DOWNLOAD_CONTENT            = 0xc9,
+;;   GST_MTS_DESC_ISDB_CA_EMM_TS                   = 0xca,
+;;   GST_MTS_DESC_ISDB_CA_CONTRACT_INFORMATION     = 0xcb,
+;;   GST_MTS_DESC_ISDB_CA_SERVICE                  = 0xcc,
+;;   GST_MTS_DESC_ISDB_TS_INFORMATION              = 0xcd,
+;;   GST_MTS_DESC_ISDB_EXTENDED_BROADCASTER        = 0xce,
+;;   GST_MTS_DESC_ISDB_LOGO_TRANSMISSION           = 0xcf,
+;;   GST_MTS_DESC_ISDB_BASIC_LOCAL_EVENT           = 0xd0,
+;;   GST_MTS_DESC_ISDB_REFERENCE                   = 0xd1,
+;;   GST_MTS_DESC_ISDB_NODE_RELATION               = 0xd2,
+;;   GST_MTS_DESC_ISDB_SHORT_NODE_INFORMATION      = 0xd3,
+;;   GST_MTS_DESC_ISDB_STC_REFERENCE               = 0xd4,
+;;   GST_MTS_DESC_ISDB_SERIES                      = 0xd5,
+;;   GST_MTS_DESC_ISDB_EVENT_GROUP                 = 0xd6,
+;;   GST_MTS_DESC_ISDB_SI_PARAMETER                = 0xd7,
+;;   GST_MTS_DESC_ISDB_BROADCASTER_NAME            = 0xd8,
+;;   GST_MTS_DESC_ISDB_COMPONENT_GROUP             = 0xd9,
+;;   GST_MTS_DESC_ISDB_SI_PRIME_TS                 = 0xda,
+;;   GST_MTS_DESC_ISDB_BOARD_INFORMATION           = 0xdb,
+;;   GST_MTS_DESC_ISDB_LDT_LINKAGE                 = 0xdc,
+;;   GST_MTS_DESC_ISDB_CONNECTED_TRANSMISSION      = 0xdd,
+;;   GST_MTS_DESC_ISDB_CONTENT_AVAILABILITY        = 0xde,
+;;   /* ... */
+;;   GST_MTS_DESC_ISDB_SERVICE_GROUP               = 0xe0
+;;   
+;; } GstMpegtsISDBDescriptorType;
+
+(define-flags-extended MpegtsISDBDescriptorType
+  (in-module "Gst")
+  (c-name "GstMpegtsISDBDescriptorType")
+  (values
+    '("hierarchical-transmission" "GST_MTS_DESC_ISDB_HIERARCHICAL_TRANSMISSION" "0xC0")
+    '("digital-copy-control" "GST_MTS_DESC_ISDB_DIGITAL_COPY_CONTROL" "0xC1")
+    '("network-identification" "GST_MTS_DESC_ISDB_NETWORK_IDENTIFICATION" "0xC2")
+    '("partial-ts-time" "GST_MTS_DESC_ISDB_PARTIAL_TS_TIME" "0xc3")
+    '("audio-component" "GST_MTS_DESC_ISDB_AUDIO_COMPONENT" "0xc4")
+    '("hyperlink" "GST_MTS_DESC_ISDB_HYPERLINK" "0xc5")
+    '("target-region" "GST_MTS_DESC_ISDB_TARGET_REGION" "0xc6")
+    '("data-content" "GST_MTS_DESC_ISDB_DATA_CONTENT" "0xc7")
+    '("video-decode-control" "GST_MTS_DESC_ISDB_VIDEO_DECODE_CONTROL" "0xc8")
+    '("download-content" "GST_MTS_DESC_ISDB_DOWNLOAD_CONTENT" "0xc9")
+    '("ca-emm-ts" "GST_MTS_DESC_ISDB_CA_EMM_TS" "0xca")
+    '("ca-contract-information" "GST_MTS_DESC_ISDB_CA_CONTRACT_INFORMATION" "0xcb")
+    '("ca-service" "GST_MTS_DESC_ISDB_CA_SERVICE" "0xcc")
+    '("ts-information" "GST_MTS_DESC_ISDB_TS_INFORMATION" "0xcd")
+    '("extended-broadcaster" "GST_MTS_DESC_ISDB_EXTENDED_BROADCASTER" "0xce")
+    '("logo-transmission" "GST_MTS_DESC_ISDB_LOGO_TRANSMISSION" "0xcf")
+    '("basic-local-event" "GST_MTS_DESC_ISDB_BASIC_LOCAL_EVENT" "0xd0")
+    '("reference" "GST_MTS_DESC_ISDB_REFERENCE" "0xd1")
+    '("node-relation" "GST_MTS_DESC_ISDB_NODE_RELATION" "0xd2")
+    '("short-node-information" "GST_MTS_DESC_ISDB_SHORT_NODE_INFORMATION" "0xd3")
+    '("stc-reference" "GST_MTS_DESC_ISDB_STC_REFERENCE" "0xd4")
+    '("series" "GST_MTS_DESC_ISDB_SERIES" "0xd5")
+    '("event-group" "GST_MTS_DESC_ISDB_EVENT_GROUP" "0xd6")
+    '("si-parameter" "GST_MTS_DESC_ISDB_SI_PARAMETER" "0xd7")
+    '("broadcaster-name" "GST_MTS_DESC_ISDB_BROADCASTER_NAME" "0xd8")
+    '("component-group" "GST_MTS_DESC_ISDB_COMPONENT_GROUP" "0xd9")
+    '("si-prime-ts" "GST_MTS_DESC_ISDB_SI_PRIME_TS" "0xda")
+    '("board-information" "GST_MTS_DESC_ISDB_BOARD_INFORMATION" "0xdb")
+    '("ldt-linkage" "GST_MTS_DESC_ISDB_LDT_LINKAGE" "0xdc")
+    '("connected-transmission" "GST_MTS_DESC_ISDB_CONNECTED_TRANSMISSION" "0xdd")
+    '("content-availability" "GST_MTS_DESC_ISDB_CONTENT_AVAILABILITY" "0xde")
+    '("service-group" "GST_MTS_DESC_ISDB_SERVICE_GROUP" "0xe0")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_AUDIO_TYPE_UNDEFINED = 0,
+;;   GST_MPEGTS_AUDIO_TYPE_CLEAN_EFFECTS,
+;;   GST_MPEGTS_AUDIO_TYPE_HEARING_IMPAIRED,
+;;   GST_MPEGTS_AUDIO_TYPE_VISUAL_IMPAIRED_COMMENTARY
+;; } GstMpegtsIso639AudioType;
+
+(define-enum-extended MpegtsIso639AudioType
+  (in-module "Gst")
+  (c-name "GstMpegtsIso639AudioType")
+  (values
+    '("undefined" "GST_MPEGTS_AUDIO_TYPE_UNDEFINED" "0")
+    '("clean-effects" "GST_MPEGTS_AUDIO_TYPE_CLEAN_EFFECTS" "1")
+    '("hearing-impaired" "GST_MPEGTS_AUDIO_TYPE_HEARING_IMPAIRED" "2")
+    '("visual-impaired-commentary" "GST_MPEGTS_AUDIO_TYPE_VISUAL_IMPAIRED_COMMENTARY" "3")
+  )
+)
+
+;; From gstmpegtssection.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_SECTION_UNKNOWN           = 0,
+;;   GST_MPEGTS_SECTION_PAT, 
+;;   GST_MPEGTS_SECTION_PMT, 
+;;   GST_MPEGTS_SECTION_CAT, 
+;;   GST_MPEGTS_SECTION_TSDT,
+;;   GST_MPEGTS_SECTION_EIT, 
+;;   GST_MPEGTS_SECTION_NIT, 
+;;   GST_MPEGTS_SECTION_BAT, 
+;;   GST_MPEGTS_SECTION_SDT, 
+;;   GST_MPEGTS_SECTION_TDT, 
+;;   GST_MPEGTS_SECTION_TOT,
+;;   GST_MPEGTS_SECTION_ATSC_TVCT,
+;;   GST_MPEGTS_SECTION_ATSC_CVCT,
+;;   GST_MPEGTS_SECTION_ATSC_MGT,
+;;   GST_MPEGTS_SECTION_ATSC_ETT,
+;;   GST_MPEGTS_SECTION_ATSC_EIT,
+;;   GST_MPEGTS_SECTION_ATSC_STT
+;; } GstMpegtsSectionType;
+
+(define-enum-extended MpegtsSectionType
+  (in-module "Gst")
+  (c-name "GstMpegtsSectionType")
+  (values
+    '("unknown" "GST_MPEGTS_SECTION_UNKNOWN" "0")
+    '("pat" "GST_MPEGTS_SECTION_PAT" "1")
+    '("pmt" "GST_MPEGTS_SECTION_PMT" "2")
+    '("cat" "GST_MPEGTS_SECTION_CAT" "3")
+    '("tsdt" "GST_MPEGTS_SECTION_TSDT" "4")
+    '("eit" "GST_MPEGTS_SECTION_EIT" "5")
+    '("nit" "GST_MPEGTS_SECTION_NIT" "6")
+    '("bat" "GST_MPEGTS_SECTION_BAT" "7")
+    '("sdt" "GST_MPEGTS_SECTION_SDT" "8")
+    '("tdt" "GST_MPEGTS_SECTION_TDT" "9")
+    '("tot" "GST_MPEGTS_SECTION_TOT" "10")
+    '("atsc-tvct" "GST_MPEGTS_SECTION_ATSC_TVCT" "11")
+    '("atsc-cvct" "GST_MPEGTS_SECTION_ATSC_CVCT" "12")
+    '("atsc-mgt" "GST_MPEGTS_SECTION_ATSC_MGT" "13")
+    '("atsc-ett" "GST_MPEGTS_SECTION_ATSC_ETT" "14")
+    '("atsc-eit" "GST_MPEGTS_SECTION_ATSC_EIT" "15")
+    '("atsc-stt" "GST_MPEGTS_SECTION_ATSC_STT" "16")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   /* ITU H.222.0 / IEC 13818-1 */
+;;   GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION              = 0x00,
+;;   GST_MTS_TABLE_ID_CONDITIONAL_ACCESS               = 0x01,
+;;   GST_MTS_TABLE_ID_TS_PROGRAM_MAP           = 0x02,
+;;   GST_MTS_TABLE_ID_TS_DESCRIPTION           = 0x03,
+;;   GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION  = 0x04,
+;;   GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR   = 0x05,
+;;   GST_MTS_TABLE_ID_METADATA                 = 0x06,
+;;   GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION = 0x07,
+;; 
+;;   /* 0x08 - 0x39 : ITU H.222.0 | ISO/IEC 13818-1 reserved */
+;; 
+;;   /* IEC 13818-6 (DSM-CC) */
+;;   GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA      = 0x3A,
+;;   GST_MTS_TABLE_ID_DSM_CC_U_N_MESSAGES                      = 0x3B,
+;;   GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES    = 0x3C,
+;;   GST_MTS_TABLE_ID_DSM_CC_STREAM_DESCRIPTORS                = 0x3D,
+;;   GST_MTS_TABLE_ID_DSM_CC_PRIVATE_DATA                      = 0x3E,
+;;   GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS              = 0x3F,
+;; 
+;;   /* Unset */
+;;   GST_MTS_TABLE_ID_UNSET = 0xFF
+;;   
+;; } GstMpegtsSectionTableID;
+
+(define-flags-extended MpegtsSectionTableID
+  (in-module "Gst")
+  (c-name "GstMpegtsSectionTableID")
+  (values
+    '("program-association" "GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION" "0x00")
+    '("conditional-access" "GST_MTS_TABLE_ID_CONDITIONAL_ACCESS" "0x01")
+    '("ts-program-map" "GST_MTS_TABLE_ID_TS_PROGRAM_MAP" "0x02")
+    '("ts-description" "GST_MTS_TABLE_ID_TS_DESCRIPTION" "0x03")
+    '("14496-scene-description" "GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION" "0x04")
+    '("14496-objet-descriptor" "GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR" "0x05")
+    '("metadata" "GST_MTS_TABLE_ID_METADATA" "0x06")
+    '("ipmp-control-information" "GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION" "0x07")
+    '("dsm-cc-multiproto-encapsulated-data" "GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA" "0x3A")
+    '("dsm-cc-u-n-messages" "GST_MTS_TABLE_ID_DSM_CC_U_N_MESSAGES" "0x3B")
+    '("dsm-cc-download-data-messages" "GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES" "0x3C")
+    '("dsm-cc-stream-descriptors" "GST_MTS_TABLE_ID_DSM_CC_STREAM_DESCRIPTORS" "0x3D")
+    '("dsm-cc-private-data" "GST_MTS_TABLE_ID_DSM_CC_PRIVATE_DATA" "0x3E")
+    '("dsm-cc-addressable-sections" "GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS" "0x3F")
+    '("unset" "GST_MTS_TABLE_ID_UNSET" "0xFF")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_MPEGTS_STREAM_TYPE_RESERVED_00                  = 0x00,
+;;   GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1                  = 0x01,
+;;   GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2                  = 0x02,
+;;   GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1                  = 0x03,
+;;   GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2                  = 0x04,
+;;   GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS             = 0x05,
+;;   GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS          = 0x06,
+;;   GST_MPEGTS_STREAM_TYPE_MHEG                         = 0x07,
+;;   GST_MPEGTS_STREAM_TYPE_DSM_CC                       = 0x08,
+;;   GST_MPEGTS_STREAM_TYPE_H_222_1                      = 0x09,
+;;   GST_MPEGTS_STREAM_TYPE_DSMCC_A                      = 0x0a,
+;;   GST_MPEGTS_STREAM_TYPE_DSMCC_B                      = 0x0b,
+;;   GST_MPEGTS_STREAM_TYPE_DSMCC_C                      = 0x0c,
+;;   GST_MPEGTS_STREAM_TYPE_DSMCC_D                      = 0x0d,
+;;   GST_MPEGTS_STREAM_TYPE_AUXILIARY                    = 0x0e,
+;;   GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS               = 0x0f,
+;;   GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4                  = 0x10,
+;;   GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM               = 0x11,
+;;   GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS       = 0x12,
+;;   GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS          = 0x13,
+;;   GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD        = 0x14,
+;;   GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS         = 0x15,
+;;   GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS            = 0x16,
+;;   GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL       = 0x17,
+;;   GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL     = 0x18,
+;;   GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD  = 0x19,
+;;   GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP                   = 0x1a,
+;;   GST_MPEGTS_STREAM_TYPE_VIDEO_H264                   = 0x1b,
+;;   GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN              = 0x1c,
+;;   GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT             = 0x1d,
+;;   GST_MPEGTS_STREAM_TYPE_VIDEO_RVC                    = 0x1e,
+;;   GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM = 0x1f,
+;;   GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM = 0x20,
+;;   GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K                   = 0x21,
+;;   GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW = 0x22,
+;;   GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW  = 0x23,
+;;   GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC                   = 0x24,
+;;   /* 0x24 - 0x7e : Rec. ITU-T H.222.0 | ISO/IEC 13818-1 Reserved */
+;;   GST_MPEGTS_STREAM_TYPE_IPMP_STREAM                  = 0x7f
+;;   /* 0x80 - 0xff : User Private (or defined in other specs) */
+;; } GstMpegtsStreamType;
+
+(define-flags-extended MpegtsStreamType
+  (in-module "Gst")
+  (c-name "GstMpegtsStreamType")
+  (values
+    '("reserved-00" "GST_MPEGTS_STREAM_TYPE_RESERVED_00" "0x00")
+    '("video-mpeg1" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1" "0x01")
+    '("video-mpeg2" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2" "0x02")
+    '("audio-mpeg1" "GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1" "0x03")
+    '("audio-mpeg2" "GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2" "0x04")
+    '("private-sections" "GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS" "0x05")
+    '("private-pes-packets" "GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS" "0x06")
+    '("mheg" "GST_MPEGTS_STREAM_TYPE_MHEG" "0x07")
+    '("dsm-cc" "GST_MPEGTS_STREAM_TYPE_DSM_CC" "0x08")
+    '("h-222-1" "GST_MPEGTS_STREAM_TYPE_H_222_1" "0x09")
+    '("dsmcc-a" "GST_MPEGTS_STREAM_TYPE_DSMCC_A" "0x0a")
+    '("dsmcc-b" "GST_MPEGTS_STREAM_TYPE_DSMCC_B" "0x0b")
+    '("dsmcc-c" "GST_MPEGTS_STREAM_TYPE_DSMCC_C" "0x0c")
+    '("dsmcc-d" "GST_MPEGTS_STREAM_TYPE_DSMCC_D" "0x0d")
+    '("auxiliary" "GST_MPEGTS_STREAM_TYPE_AUXILIARY" "0x0e")
+    '("audio-aac-adts" "GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS" "0x0f")
+    '("video-mpeg4" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4" "0x10")
+    '("audio-aac-latm" "GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM" "0x11")
+    '("sl-flexmux-pes-packets" "GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS" "0x12")
+    '("sl-flexmux-sections" "GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS" "0x13")
+    '("synchronized-download" "GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD" "0x14")
+    '("metadata-pes-packets" "GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS" "0x15")
+    '("metadata-sections" "GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS" "0x16")
+    '("metadata-data-carousel" "GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL" "0x17")
+    '("metadata-object-carousel" "GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL" "0x18")
+    '("metadata-synchronized-download" "GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD" "0x19")
+    '("mpeg2-ipmp" "GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP" "0x1a")
+    '("video-h264" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264" "0x1b")
+    '("audio-aac-clean" "GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN" "0x1c")
+    '("mpeg4-timed-text" "GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT" "0x1d")
+    '("video-rvc" "GST_MPEGTS_STREAM_TYPE_VIDEO_RVC" "0x1e")
+    '("video-h264-svc-sub-bitstream" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM" "0x1f")
+    '("video-h264-mvc-sub-bitstream" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM" "0x20")
+    '("video-jp2k" "GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K" "0x21")
+    '("video-mpeg2-stereo-additional-view" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW" 
"0x22")
+    '("video-h264-stereo-additional-view" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW" "0x23")
+    '("video-hevc" "GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC" "0x24")
+    '("ipmp-stream" "GST_MPEGTS_STREAM_TYPE_IPMP_STREAM" "0x7f")
+  )
+)
+
+;; From gst-scte-section.h
+
+;; Original typedef:
+;; typedef enum {
+;; 
+;;   /* 0x01 - 0x82 : defined in other specs */
+;;   GST_MPEGTS_STREAM_TYPE_SCTE_SUBTITLING = 0x82,   /* Subtitling data */
+;;   GST_MPEGTS_STREAM_TYPE_SCTE_ISOCH_DATA = 0x83,   /* Isochronous data */
+;;   /* 0x84 - 0x94 : defined in other specs */
+;;   GST_MPEGTS_STREAM_TYPE_SCTE_DST_NRT    = 0x95,   /* DST / NRT data */
+;;   /* 0x96 - 0xaf : defined in other specs */
+;;   GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB  = 0xb0,   /* Data Carousel Type B */
+;;   /* 0xb1 - 0xbf : User Private (or defined in other specs) */
+;;   GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING  = 0xc0,   /* EBIF Signaling */
+;;   GST_MPEGTS_STREAM_TYPE_SCTE_SYNC_DATA  = 0xc2,   /* Synchronous data */
+;;   GST_MPEGTS_STREAM_TYPE_SCTE_ASYNC_DATA = 0xc3,   /* Asynchronous data */
+;;   /* 0xc4 - 0xff : User Private (or defined in other specs) */
+;; 
+;; } GstMpegtsScteStreamType;
+
+(define-flags-extended MpegtsScteStreamType
+  (in-module "Gst")
+  (c-name "GstMpegtsScteStreamType")
+  (values
+    '("subtitling" "GST_MPEGTS_STREAM_TYPE_SCTE_SUBTITLING" "0x82")
+    '("isoch-data" "GST_MPEGTS_STREAM_TYPE_SCTE_ISOCH_DATA" "0x83")
+    '("dst-nrt" "GST_MPEGTS_STREAM_TYPE_SCTE_DST_NRT" "0x95")
+    '("dsmcc-dcb" "GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB" "0xb0")
+    '("signaling" "GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING" "0xc0")
+    '("sync-data" "GST_MPEGTS_STREAM_TYPE_SCTE_SYNC_DATA" "0xc2")
+    '("async-data" "GST_MPEGTS_STREAM_TYPE_SCTE_ASYNC_DATA" "0xc3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;; 
+;;   /* 0x01 - 0xd7 : defined in other specs */
+;;   GST_MTS_TABLE_ID_SCTE_EAS      = 0xd8,     /* emergency alert information */
+;;   /* 0xd8 - 0xdf : defined in other specs */
+;;   GST_MTS_TABLE_ID_SCTE_EBIF     = 0xE0,     /* EBIF message */
+;;   GST_MTS_TABLE_ID_SCTE_RESERVED = 0xE1,
+;;   GST_MTS_TABLE_ID_SCTE_EISS     = 0xE2,     /* EBIF Int. Signaling Sect. */
+;;   GST_MTS_TABLE_ID_SCTE_DII      = 0xE3,     /* DSMCC DII message */
+;;   GST_MTS_TABLE_ID_SCTE_DDB      = 0xE4,     /* DSMCC Data Download Block */
+;;   /* 0xe5 - 0xfb : defined in other specs */
+;;   GST_MTS_TABLE_ID_SCTE_SPLICE   = 0xfc,     /* splice information table */
+;; 
+;; } GstMpegtsSectionSCTETableID;
+
+(define-flags-extended MpegtsSectionSCTETableID
+  (in-module "Gst")
+  (c-name "GstMpegtsSectionSCTETableID")
+  (values
+    '("eas" "GST_MTS_TABLE_ID_SCTE_EAS" "0xd8")
+    '("ebif" "GST_MTS_TABLE_ID_SCTE_EBIF" "0xE0")
+    '("reserved" "GST_MTS_TABLE_ID_SCTE_RESERVED" "0xE1")
+    '("eiss" "GST_MTS_TABLE_ID_SCTE_EISS" "0xE2")
+    '("dii" "GST_MTS_TABLE_ID_SCTE_DII" "0xE3")
+    '("ddb" "GST_MTS_TABLE_ID_SCTE_DDB" "0xE4")
+    '("splice" "GST_MTS_TABLE_ID_SCTE_SPLICE" "0xfc")
+  )
+)
+
diff --git a/gst-plugins-bad/src/gst_methods.defs b/gst-plugins-bad/src/gst_methods.defs
new file mode 100644
index 0000000..cf6395a
--- /dev/null
+++ b/gst-plugins-bad/src/gst_methods.defs
@@ -0,0 +1,6526 @@
+;; -*- scheme -*-
+; object definitions ...
+(define-object AdaptiveDemux
+  (in-module "Gst")
+  (parent "GstBin")
+  (c-name "GstAdaptiveDemux")
+  (gtype-id "GST_TYPE_ADAPTIVE_DEMUX")
+)
+
+(define-object Aggregator
+  (in-module "Gst")
+  (parent "GstElement")
+  (c-name "GstAggregator")
+  (gtype-id "GST_TYPE_AGGREGATOR")
+)
+
+(define-object AggregatorPad
+  (in-module "Gst")
+  (parent "GstPad")
+  (c-name "GstAggregatorPad")
+  (gtype-id "GST_TYPE_AGGREGATOR_PAD")
+)
+
+(define-object BaseCameraSrc
+  (in-module "Gst")
+  (parent "GstBin")
+  (c-name "GstBaseCameraSrc")
+  (gtype-id "GST_TYPE_BASE_CAMERA_SRC")
+)
+
+(define-object Fragment
+  (in-module "Gst")
+  (parent "GObject")
+  (c-name "GstFragment")
+  (gtype-id "GST_TYPE_FRAGMENT")
+)
+
+(define-object GLBaseBufferAllocator
+  (in-module "Gst")
+  (parent "GstAllocator")
+  (c-name "GstGLBaseBufferAllocator")
+  (gtype-id "GST_TYPE_GL_BASE_BUFFER_ALLOCATOR")
+)
+
+(define-object GLAllocator
+  (in-module "Gst")
+  (parent "GstGLBaseBufferAllocator")
+  (c-name "GstGLAllocator")
+  (gtype-id "GST_TYPE_GL_ALLOCATOR")
+)
+
+(define-object GLBaseFilter
+  (in-module "Gst")
+  (parent "GstBaseTransform")
+  (c-name "GstGLBaseFilter")
+  (gtype-id "GST_TYPE_GL_BASE_FILTER")
+)
+
+(define-object GLBufferPool
+  (in-module "Gst")
+  (parent "GstBufferPool")
+  (c-name "GstGLBufferPool")
+  (gtype-id "GST_TYPE_GL_BUFFER_POOL")
+)
+
+(define-object GLColorConvert
+  (in-module "Gst")
+  (parent "GstObject")
+  (c-name "GstGLColorConvert")
+  (gtype-id "GST_TYPE_GL_COLOR_CONVERT")
+)
+
+(define-object GLContext
+  (in-module "Gst")
+  (parent "GstObject")
+  (c-name "GstGLContext")
+  (gtype-id "GST_TYPE_GL_CONTEXT")
+)
+
+(define-object GLDisplay
+  (in-module "Gst")
+  (parent "GstObject")
+  (c-name "GstGLDisplay")
+  (gtype-id "GST_TYPE_GL_DISPLAY")
+)
+
+(define-object GLDownload
+  (in-module "Gst")
+  (parent "GstObject")
+  (c-name "GstGLDownload")
+  (gtype-id "GST_TYPE_GL_DOWNLOAD")
+)
+
+(define-object GLFilter
+  (in-module "Gst")
+  (parent "GstGLBaseFilter")
+  (c-name "GstGLFilter")
+  (gtype-id "GST_TYPE_GL_FILTER")
+)
+
+(define-object GLFramebuffer
+  (in-module "Gst")
+  (parent "GObject")
+  (c-name "GstGLFramebuffer")
+  (gtype-id "GST_TYPE_GL_FRAMEBUFFER")
+)
+
+(define-object GLShader
+  (in-module "Gst")
+  (parent "GstObject")
+  (c-name "GstGLShader")
+  (gtype-id "GST_TYPE_GL_SHADER")
+)
+
+(define-object GLUpload
+  (in-module "Gst")
+  (parent "GstObject")
+  (c-name "GstGLUpload")
+  (gtype-id "GST_TYPE_GL_UPLOAD")
+)
+
+(define-object GLUploadMeta
+  (in-module "Gst")
+  (parent "GstObject")
+  (c-name "GstGLUploadMeta")
+  (gtype-id "GST_TYPE_GL_UPLOAD_META")
+)
+
+(define-object GLViewConvert
+  (in-module "Gst")
+  (parent "GstObject")
+  (c-name "GstGLViewConvert")
+  (gtype-id "GST_TYPE_GL_VIEW_CONVERT")
+)
+
+(define-object GLWindow
+  (in-module "Gst")
+  (parent "GstObject")
+  (c-name "GstGLWindow")
+  (gtype-id "GST_TYPE_GL_WINDOW")
+)
+
+(define-object InsertBin
+  (in-module "Gst")
+  (parent "GstBin")
+  (c-name "GstInsertBin")
+  (gtype-id "GST_TYPE_INSERT_BIN")
+)
+
+(define-object UriDownloader
+  (in-module "Gst")
+  (parent "GstObject")
+  (c-name "GstUriDownloader")
+  (gtype-id "GST_TYPE_URI_DOWNLOADER")
+)
+
+(define-object VideoAggregator
+  (in-module "Gst")
+  (parent "GstAggregator")
+  (c-name "GstVideoAggregator")
+  (gtype-id "GST_TYPE_VIDEO_AGGREGATOR")
+)
+
+(define-object VideoAggregatorPad
+  (in-module "Gst")
+  (parent "GstAggregatorPad")
+  (c-name "GstVideoAggregatorPad")
+  (gtype-id "GST_TYPE_VIDEO_AGGREGATOR_PAD")
+)
+
+;; Enumerations and flags ...
+
+(define-enum CameraBinMode
+  (in-module "Gst")
+  (c-name "GstCameraBinMode")
+  (gtype-id "GST_TYPE_CAMERA_BIN_MODE")
+  (values
+    '("image" "MODE_IMAGE")
+    '("video" "MODE_VIDEO")
+  )
+)
+
+(define-enum JpegMarker
+  (in-module "Gst")
+  (c-name "GstJpegMarker")
+  (gtype-id "GST_TYPE_JPEG_MARKER")
+  (values
+    '("sof0" "GST_JPEG_MARKER_SOF0")
+    '("sof1" "GST_JPEG_MARKER_SOF1")
+    '("sof2" "GST_JPEG_MARKER_SOF2")
+    '("sof3" "GST_JPEG_MARKER_SOF3")
+    '("sof5" "GST_JPEG_MARKER_SOF5")
+    '("sof6" "GST_JPEG_MARKER_SOF6")
+    '("sof7" "GST_JPEG_MARKER_SOF7")
+    '("sof9" "GST_JPEG_MARKER_SOF9")
+    '("sof10" "GST_JPEG_MARKER_SOF10")
+    '("sof11" "GST_JPEG_MARKER_SOF11")
+    '("sof13" "GST_JPEG_MARKER_SOF13")
+    '("sof14" "GST_JPEG_MARKER_SOF14")
+    '("sof15" "GST_JPEG_MARKER_SOF15")
+    '("dht" "GST_JPEG_MARKER_DHT")
+    '("dac" "GST_JPEG_MARKER_DAC")
+    '("rst0" "GST_JPEG_MARKER_RST0")
+    '("rst1" "GST_JPEG_MARKER_RST1")
+    '("rst2" "GST_JPEG_MARKER_RST2")
+    '("rst3" "GST_JPEG_MARKER_RST3")
+    '("rst4" "GST_JPEG_MARKER_RST4")
+    '("rst5" "GST_JPEG_MARKER_RST5")
+    '("rst6" "GST_JPEG_MARKER_RST6")
+    '("rst7" "GST_JPEG_MARKER_RST7")
+    '("soi" "GST_JPEG_MARKER_SOI")
+    '("eoi" "GST_JPEG_MARKER_EOI")
+    '("sos" "GST_JPEG_MARKER_SOS")
+    '("dqt" "GST_JPEG_MARKER_DQT")
+    '("dnl" "GST_JPEG_MARKER_DNL")
+    '("dri" "GST_JPEG_MARKER_DRI")
+    '("app0" "GST_JPEG_MARKER_APP0")
+    '("app1" "GST_JPEG_MARKER_APP1")
+    '("app2" "GST_JPEG_MARKER_APP2")
+    '("app3" "GST_JPEG_MARKER_APP3")
+    '("app4" "GST_JPEG_MARKER_APP4")
+    '("app5" "GST_JPEG_MARKER_APP5")
+    '("app6" "GST_JPEG_MARKER_APP6")
+    '("app7" "GST_JPEG_MARKER_APP7")
+    '("app8" "GST_JPEG_MARKER_APP8")
+    '("app9" "GST_JPEG_MARKER_APP9")
+    '("app10" "GST_JPEG_MARKER_APP10")
+    '("app11" "GST_JPEG_MARKER_APP11")
+    '("app12" "GST_JPEG_MARKER_APP12")
+    '("app13" "GST_JPEG_MARKER_APP13")
+    '("app14" "GST_JPEG_MARKER_APP14")
+    '("app15" "GST_JPEG_MARKER_APP15")
+    '("com" "GST_JPEG_MARKER_COM")
+  )
+)
+
+(define-enum JpegProfile
+  (in-module "Gst")
+  (c-name "GstJpegProfile")
+  (gtype-id "GST_TYPE_JPEG_PROFILE")
+  (values
+    '("baseline" "GST_JPEG_PROFILE_BASELINE")
+    '("extended" "GST_JPEG_PROFILE_EXTENDED")
+    '("progressive" "GST_JPEG_PROFILE_PROGRESSIVE")
+    '("lossless" "GST_JPEG_PROFILE_LOSSLESS")
+  )
+)
+
+(define-enum JpegEntropyCodingMode
+  (in-module "Gst")
+  (c-name "GstJpegEntropyCodingMode")
+  (gtype-id "GST_TYPE_JPEG_ENTROPY_CODING_MODE")
+  (values
+    '("huffman" "GST_JPEG_ENTROPY_CODING_HUFFMAN")
+    '("arithmetic" "GST_JPEG_ENTROPY_CODING_ARITHMETIC")
+  )
+)
+
+(define-enum MpegVideoPacketTypeCode
+  (in-module "Gst")
+  (c-name "GstMpegVideoPacketTypeCode")
+  (gtype-id "GST_TYPE_MPEG_VIDEO_PACKET_TYPE_CODE")
+  (values
+    '("picture" "GST_MPEG_VIDEO_PACKET_PICTURE")
+    '("slice-min" "GST_MPEG_VIDEO_PACKET_SLICE_MIN")
+    '("slice-max" "GST_MPEG_VIDEO_PACKET_SLICE_MAX")
+    '("user-data" "GST_MPEG_VIDEO_PACKET_USER_DATA")
+    '("sequence" "GST_MPEG_VIDEO_PACKET_SEQUENCE")
+    '("extension" "GST_MPEG_VIDEO_PACKET_EXTENSION")
+    '("sequence-end" "GST_MPEG_VIDEO_PACKET_SEQUENCE_END")
+    '("gop" "GST_MPEG_VIDEO_PACKET_GOP")
+    '("none" "GST_MPEG_VIDEO_PACKET_NONE")
+  )
+)
+
+(define-enum MpegVideoPacketExtensionCode
+  (in-module "Gst")
+  (c-name "GstMpegVideoPacketExtensionCode")
+  (gtype-id "GST_TYPE_MPEG_VIDEO_PACKET_EXTENSION_CODE")
+  (values
+    '("sequence" "GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE")
+    '("sequence-display" "GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_DISPLAY")
+    '("quant-matrix" "GST_MPEG_VIDEO_PACKET_EXT_QUANT_MATRIX")
+    '("sequence-scalable" "GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_SCALABLE")
+    '("picture" "GST_MPEG_VIDEO_PACKET_EXT_PICTURE")
+  )
+)
+
+(define-enum MpegVideoSequenceScalableMode
+  (in-module "Gst")
+  (c-name "GstMpegVideoSequenceScalableMode")
+  (gtype-id "GST_TYPE_MPEG_VIDEO_SEQUENCE_SCALABLE_MODE")
+  (values
+    '("data-partitioning" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_DATA_PARTITIONING")
+    '("spatial" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_SPATIAL")
+    '("snr" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_SNR")
+    '("temporal" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_TEMPORAL")
+  )
+)
+
+(define-enum MpegVideoLevel
+  (in-module "Gst")
+  (c-name "GstMpegVideoLevel")
+  (gtype-id "GST_TYPE_MPEG_VIDEO_LEVEL")
+  (values
+    '("high" "GST_MPEG_VIDEO_LEVEL_HIGH")
+    '("high-1440" "GST_MPEG_VIDEO_LEVEL_HIGH_1440")
+    '("main" "GST_MPEG_VIDEO_LEVEL_MAIN")
+    '("low" "GST_MPEG_VIDEO_LEVEL_LOW")
+  )
+)
+
+(define-enum MpegVideoProfile
+  (in-module "Gst")
+  (c-name "GstMpegVideoProfile")
+  (gtype-id "GST_TYPE_MPEG_VIDEO_PROFILE")
+  (values
+    '("422" "GST_MPEG_VIDEO_PROFILE_422")
+    '("high" "GST_MPEG_VIDEO_PROFILE_HIGH")
+    '("spatially-scalable" "GST_MPEG_VIDEO_PROFILE_SPATIALLY_SCALABLE")
+    '("snr-scalable" "GST_MPEG_VIDEO_PROFILE_SNR_SCALABLE")
+    '("main" "GST_MPEG_VIDEO_PROFILE_MAIN")
+    '("simple" "GST_MPEG_VIDEO_PROFILE_SIMPLE")
+  )
+)
+
+(define-enum MpegVideoChromaFormat
+  (in-module "Gst")
+  (c-name "GstMpegVideoChromaFormat")
+  (gtype-id "GST_TYPE_MPEG_VIDEO_CHROMA_FORMAT")
+  (values
+    '("res" "GST_MPEG_VIDEO_CHROMA_RES")
+    '("420" "GST_MPEG_VIDEO_CHROMA_420")
+    '("422" "GST_MPEG_VIDEO_CHROMA_422")
+    '("444" "GST_MPEG_VIDEO_CHROMA_444")
+  )
+)
+
+(define-enum MpegVideoPictureType
+  (in-module "Gst")
+  (c-name "GstMpegVideoPictureType")
+  (gtype-id "GST_TYPE_MPEG_VIDEO_PICTURE_TYPE")
+  (values
+    '("i" "GST_MPEG_VIDEO_PICTURE_TYPE_I")
+    '("p" "GST_MPEG_VIDEO_PICTURE_TYPE_P")
+    '("b" "GST_MPEG_VIDEO_PICTURE_TYPE_B")
+    '("d" "GST_MPEG_VIDEO_PICTURE_TYPE_D")
+  )
+)
+
+(define-enum MpegVideoPictureStructure
+  (in-module "Gst")
+  (c-name "GstMpegVideoPictureStructure")
+  (gtype-id "GST_TYPE_MPEG_VIDEO_PICTURE_STRUCTURE")
+  (values
+    '("top-field" "GST_MPEG_VIDEO_PICTURE_STRUCTURE_TOP_FIELD")
+    '("bottom-field" "GST_MPEG_VIDEO_PICTURE_STRUCTURE_BOTTOM_FIELD")
+    '("frame" "GST_MPEG_VIDEO_PICTURE_STRUCTURE_FRAME")
+  )
+)
+
+(define-flags GLAPI
+  (in-module "Gst")
+  (c-name "GstGLAPI")
+  (gtype-id "GST_TYPE_GLAPI")
+  (values
+    '("none" "GST_GL_API_NONE")
+    '("opengl" "GST_GL_API_OPENGL")
+    '("opengl3" "GST_GL_API_OPENGL3")
+    '("gles1" "GST_GL_API_GLES1")
+    '("gles2" "GST_GL_API_GLES2")
+    '("any" "GST_GL_API_ANY")
+  )
+)
+
+(define-flags GLPlatform
+  (in-module "Gst")
+  (c-name "GstGLPlatform")
+  (gtype-id "GST_TYPE_GL_PLATFORM")
+  (values
+    '("none" "GST_GL_PLATFORM_NONE")
+    '("egl" "GST_GL_PLATFORM_EGL")
+    '("glx" "GST_GL_PLATFORM_GLX")
+    '("wgl" "GST_GL_PLATFORM_WGL")
+    '("cgl" "GST_GL_PLATFORM_CGL")
+    '("eagl" "GST_GL_PLATFORM_EAGL")
+    '("any" "GST_GL_PLATFORM_ANY")
+  )
+)
+
+(define-enum GLBufferError
+  (in-module "Gst")
+  (c-name "GstGLBufferError")
+  (gtype-id "GST_TYPE_GL_BUFFER_ERROR")
+  (values
+    '("failed" "GST_GL_BASE_BUFFER_ERROR_FAILED")
+    '("old-libs" "GST_GL_BASE_BUFFER_ERROR_OLD_LIBS")
+    '("resource-unavailable" "GST_GL_BASE_BUFFER_ERROR_RESOURCE_UNAVAILABLE")
+  )
+)
+
+(define-flags GLBaseBufferFlags
+  (in-module "Gst")
+  (c-name "GstGLBaseBufferFlags")
+  (gtype-id "GST_TYPE_GL_BASE_BUFFER_FLAGS")
+  (values
+    '("download" "GST_GL_BASE_BUFFER_FLAG_NEED_DOWNLOAD")
+    '("upload" "GST_GL_BASE_BUFFER_FLAG_NEED_UPLOAD")
+  )
+)
+
+(define-enum GLContextError
+  (in-module "Gst")
+  (c-name "GstGLContextError")
+  (gtype-id "GST_TYPE_GL_CONTEXT_ERROR")
+  (values
+    '("failed" "GST_GL_CONTEXT_ERROR_FAILED")
+    '("wrong-config" "GST_GL_CONTEXT_ERROR_WRONG_CONFIG")
+    '("wrong-api" "GST_GL_CONTEXT_ERROR_WRONG_API")
+    '("old-libs" "GST_GL_CONTEXT_ERROR_OLD_LIBS")
+    '("create-context" "GST_GL_CONTEXT_ERROR_CREATE_CONTEXT")
+    '("resource-unavailable" "GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE")
+  )
+)
+
+(define-flags GLDisplayType
+  (in-module "Gst")
+  (c-name "GstGLDisplayType")
+  (gtype-id "GST_TYPE_GL_DISPLAY_TYPE")
+  (values
+    '("none" "GST_GL_DISPLAY_TYPE_NONE")
+    '("x11" "GST_GL_DISPLAY_TYPE_X11")
+    '("wayland" "GST_GL_DISPLAY_TYPE_WAYLAND")
+    '("cocoa" "GST_GL_DISPLAY_TYPE_COCOA")
+    '("win32" "GST_GL_DISPLAY_TYPE_WIN32")
+    '("dispmanx" "GST_GL_DISPLAY_TYPE_DISPMANX")
+    '("egl" "GST_GL_DISPLAY_TYPE_EGL")
+    '("any" "GST_GL_DISPLAY_TYPE_ANY")
+  )
+)
+
+(define-enum GLShaderError
+  (in-module "Gst")
+  (c-name "GstGLShaderError")
+  (gtype-id "GST_TYPE_GL_SHADER_ERROR")
+  (values
+    '("compile" "GST_GL_SHADER_ERROR_COMPILE")
+    '("link" "GST_GL_SHADER_ERROR_LINK")
+    '("program" "GST_GL_SHADER_ERROR_PROGRAM")
+  )
+)
+
+(define-enum GLShaderSourceType
+  (in-module "Gst")
+  (c-name "GstGLShaderSourceType")
+  (gtype-id "GST_TYPE_GL_SHADER_SOURCE_TYPE")
+  (values
+    '("fragment-source" "GST_GL_SHADER_FRAGMENT_SOURCE")
+    '("vertex-source" "GST_GL_SHADER_VERTEX_SOURCE")
+  )
+)
+
+(define-enum GLUploadReturn
+  (in-module "Gst")
+  (c-name "GstGLUploadReturn")
+  (gtype-id "GST_TYPE_GL_UPLOAD_RETURN")
+  (values
+    '("done" "GST_GL_UPLOAD_DONE")
+    '("error" "GST_GL_UPLOAD_ERROR")
+    '("unsupported" "GST_GL_UPLOAD_UNSUPPORTED")
+    '("unshared-gl-context" "GST_GL_UPLOAD_UNSHARED_GL_CONTEXT")
+  )
+)
+
+(define-enum GLDisplayProjection
+  (in-module "Gst")
+  (c-name "GstGLDisplayProjection")
+  (gtype-id "GST_TYPE_GL_DISPLAY_PROJECTION")
+  (values
+    '("ortho2d" "GST_GL_DISPLAY_PROJECTION_ORTHO2D")
+    '("perspective" "GST_GL_DISPLAY_PROJECTION_PERSPECTIVE")
+  )
+)
+
+(define-enum GLWindowError
+  (in-module "Gst")
+  (c-name "GstGLWindowError")
+  (gtype-id "GST_TYPE_GL_WINDOW_ERROR")
+  (values
+    '("failed" "GST_GL_WINDOW_ERROR_FAILED")
+    '("old-libs" "GST_GL_WINDOW_ERROR_OLD_LIBS")
+    '("resource-unavailable" "GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE")
+  )
+)
+
+(define-flags PhotographyNoiseReduction
+  (in-module "Gst")
+  (c-name "GstPhotographyNoiseReduction")
+  (gtype-id "GST_TYPE_PHOTOGRAPHY_NOISE_REDUCTION")
+  (values
+    '("bayer" "GST_PHOTOGRAPHY_NOISE_REDUCTION_BAYER")
+    '("ycc" "GST_PHOTOGRAPHY_NOISE_REDUCTION_YCC")
+    '("temporal=" "GST_PHOTOGRAPHY_NOISE_REDUCTION_TEMPORAL=")
+    '("fixed" "GST_PHOTOGRAPHY_NOISE_REDUCTION_FIXED")
+    '("extra" "GST_PHOTOGRAPHY_NOISE_REDUCTION_EXTRA")
+  )
+)
+
+(define-enum PhotographyWhiteBalanceMode
+  (in-module "Gst")
+  (c-name "GstPhotographyWhiteBalanceMode")
+  (gtype-id "GST_TYPE_PHOTOGRAPHY_WHITE_BALANCE_MODE")
+  (values
+    '("auto" "GST_PHOTOGRAPHY_WB_MODE_AUTO")
+    '("daylight" "GST_PHOTOGRAPHY_WB_MODE_DAYLIGHT")
+    '("cloudy" "GST_PHOTOGRAPHY_WB_MODE_CLOUDY")
+    '("sunset" "GST_PHOTOGRAPHY_WB_MODE_SUNSET")
+    '("tungsten" "GST_PHOTOGRAPHY_WB_MODE_TUNGSTEN")
+    '("fluorescent" "GST_PHOTOGRAPHY_WB_MODE_FLUORESCENT")
+    '("manual" "GST_PHOTOGRAPHY_WB_MODE_MANUAL")
+    '("warm-fluorescent" "GST_PHOTOGRAPHY_WB_MODE_WARM_FLUORESCENT")
+    '("shade" "GST_PHOTOGRAPHY_WB_MODE_SHADE")
+  )
+)
+
+(define-enum PhotographyColorToneMode
+  (in-module "Gst")
+  (c-name "GstPhotographyColorToneMode")
+  (gtype-id "GST_TYPE_PHOTOGRAPHY_COLOR_TONE_MODE")
+  (values
+    '("normal" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_NORMAL")
+    '("sepia" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SEPIA")
+    '("negative" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_NEGATIVE")
+    '("grayscale" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRAYSCALE")
+    '("natural" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_NATURAL")
+    '("vivid" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_VIVID")
+    '("colorswap" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_COLORSWAP")
+    '("solarize" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SOLARIZE")
+    '("out-of-focus" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_OUT_OF_FOCUS")
+    '("sky-blue" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKY_BLUE")
+    '("grass-green" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRASS_GREEN")
+    '("skin-whiten" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKIN_WHITEN")
+    '("posterize" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_POSTERIZE")
+    '("whiteboard" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_WHITEBOARD")
+    '("blackboard" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_BLACKBOARD")
+    '("aqua" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_AQUA")
+  )
+)
+
+(define-enum PhotographySceneMode
+  (in-module "Gst")
+  (c-name "GstPhotographySceneMode")
+  (gtype-id "GST_TYPE_PHOTOGRAPHY_SCENE_MODE")
+  (values
+    '("manual" "GST_PHOTOGRAPHY_SCENE_MODE_MANUAL")
+    '("closeup" "GST_PHOTOGRAPHY_SCENE_MODE_CLOSEUP")
+    '("portrait" "GST_PHOTOGRAPHY_SCENE_MODE_PORTRAIT")
+    '("landscape" "GST_PHOTOGRAPHY_SCENE_MODE_LANDSCAPE")
+    '("sport" "GST_PHOTOGRAPHY_SCENE_MODE_SPORT")
+    '("night" "GST_PHOTOGRAPHY_SCENE_MODE_NIGHT")
+    '("auto" "GST_PHOTOGRAPHY_SCENE_MODE_AUTO")
+    '("action" "GST_PHOTOGRAPHY_SCENE_MODE_ACTION")
+    '("night-portrait" "GST_PHOTOGRAPHY_SCENE_MODE_NIGHT_PORTRAIT")
+    '("theatre" "GST_PHOTOGRAPHY_SCENE_MODE_THEATRE")
+    '("beach" "GST_PHOTOGRAPHY_SCENE_MODE_BEACH")
+    '("snow" "GST_PHOTOGRAPHY_SCENE_MODE_SNOW")
+    '("sunset" "GST_PHOTOGRAPHY_SCENE_MODE_SUNSET")
+    '("steady-photo" "GST_PHOTOGRAPHY_SCENE_MODE_STEADY_PHOTO")
+    '("fireworks" "GST_PHOTOGRAPHY_SCENE_MODE_FIREWORKS")
+    '("party" "GST_PHOTOGRAPHY_SCENE_MODE_PARTY")
+    '("candlelight" "GST_PHOTOGRAPHY_SCENE_MODE_CANDLELIGHT")
+    '("barcode" "GST_PHOTOGRAPHY_SCENE_MODE_BARCODE")
+  )
+)
+
+(define-enum PhotographyFlashMode
+  (in-module "Gst")
+  (c-name "GstPhotographyFlashMode")
+  (gtype-id "GST_TYPE_PHOTOGRAPHY_FLASH_MODE")
+  (values
+    '("auto" "GST_PHOTOGRAPHY_FLASH_MODE_AUTO")
+    '("off" "GST_PHOTOGRAPHY_FLASH_MODE_OFF")
+    '("on" "GST_PHOTOGRAPHY_FLASH_MODE_ON")
+    '("fill-in" "GST_PHOTOGRAPHY_FLASH_MODE_FILL_IN")
+    '("red-eye" "GST_PHOTOGRAPHY_FLASH_MODE_RED_EYE")
+  )
+)
+
+(define-enum PhotographyFocusStatus
+  (in-module "Gst")
+  (c-name "GstPhotographyFocusStatus")
+  (gtype-id "GST_TYPE_PHOTOGRAPHY_FOCUS_STATUS")
+  (values
+    '("none" "GST_PHOTOGRAPHY_FOCUS_STATUS_NONE")
+    '("running" "GST_PHOTOGRAPHY_FOCUS_STATUS_RUNNING")
+    '("fail" "GST_PHOTOGRAPHY_FOCUS_STATUS_FAIL")
+    '("success" "GST_PHOTOGRAPHY_FOCUS_STATUS_SUCCESS")
+  )
+)
+
+(define-flags PhotographyCaps
+  (in-module "Gst")
+  (c-name "GstPhotographyCaps")
+  (gtype-id "GST_TYPE_PHOTOGRAPHY_CAPS")
+  (values
+    '("none" "GST_PHOTOGRAPHY_CAPS_NONE")
+    '("ev-comp" "GST_PHOTOGRAPHY_CAPS_EV_COMP")
+    '("iso-speed" "GST_PHOTOGRAPHY_CAPS_ISO_SPEED")
+    '("wb-mode" "GST_PHOTOGRAPHY_CAPS_WB_MODE")
+    '("tone" "GST_PHOTOGRAPHY_CAPS_TONE")
+    '("scene" "GST_PHOTOGRAPHY_CAPS_SCENE")
+    '("flash" "GST_PHOTOGRAPHY_CAPS_FLASH")
+    '("zoom" "GST_PHOTOGRAPHY_CAPS_ZOOM")
+    '("focus" "GST_PHOTOGRAPHY_CAPS_FOCUS")
+    '("aperture" "GST_PHOTOGRAPHY_CAPS_APERTURE")
+    '("exposure" "GST_PHOTOGRAPHY_CAPS_EXPOSURE")
+    '("shake" "GST_PHOTOGRAPHY_CAPS_SHAKE")
+    '("white-balance" "GST_PHOTOGRAPHY_CAPS_WHITE_BALANCE")
+    '("noise-reduction" "GST_PHOTOGRAPHY_CAPS_NOISE_REDUCTION")
+    '("flicker-reduction" "GST_PHOTOGRAPHY_CAPS_FLICKER_REDUCTION")
+    '("all" "GST_PHOTOGRAPHY_CAPS_ALL")
+  )
+)
+
+(define-enum PhotographyShakeRisk
+  (in-module "Gst")
+  (c-name "GstPhotographyShakeRisk")
+  (gtype-id "GST_TYPE_PHOTOGRAPHY_SHAKE_RISK")
+  (values
+    '("low" "GST_PHOTOGRAPHY_SHAKE_RISK_LOW")
+    '("medium" "GST_PHOTOGRAPHY_SHAKE_RISK_MEDIUM")
+    '("high" "GST_PHOTOGRAPHY_SHAKE_RISK_HIGH")
+  )
+)
+
+(define-enum PhotographyFlickerReductionMode
+  (in-module "Gst")
+  (c-name "GstPhotographyFlickerReductionMode")
+  (gtype-id "GST_TYPE_PHOTOGRAPHY_FLICKER_REDUCTION_MODE")
+  (values
+    '("off" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_OFF")
+    '("50hz" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_50HZ")
+    '("60hz" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_60HZ")
+    '("auto" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_AUTO")
+  )
+)
+
+(define-enum PhotographyFocusMode
+  (in-module "Gst")
+  (c-name "GstPhotographyFocusMode")
+  (gtype-id "GST_TYPE_PHOTOGRAPHY_FOCUS_MODE")
+  (values
+    '("auto" "GST_PHOTOGRAPHY_FOCUS_MODE_AUTO")
+    '("macro" "GST_PHOTOGRAPHY_FOCUS_MODE_MACRO")
+    '("portrait" "GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT")
+    '("infinity" "GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY")
+    '("hyperfocal" "GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL")
+    '("extended" "GST_PHOTOGRAPHY_FOCUS_MODE_EXTENDED")
+    '("continuous-normal" "GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL")
+    '("continuous-extended" "GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED")
+    '("manual" "GST_PHOTOGRAPHY_FOCUS_MODE_MANUAL")
+  )
+)
+
+(define-enum PhotographyExposureMode
+  (in-module "Gst")
+  (c-name "GstPhotographyExposureMode")
+  (gtype-id "GST_TYPE_PHOTOGRAPHY_EXPOSURE_MODE")
+  (values
+    '("auto" "GST_PHOTOGRAPHY_EXPOSURE_MODE_AUTO")
+    '("manual" "GST_PHOTOGRAPHY_EXPOSURE_MODE_MANUAL")
+  )
+)
+
+(define-enum MpegtsSectionATSCTableID
+  (in-module "Gst")
+  (c-name "GstMpegtsSectionATSCTableID")
+  (gtype-id "GST_TYPE_MPEGTS_SECTION_ATSC_TABLE_ID")
+  (values
+    '("master-guide" "GST_MTS_TABLE_ID_ATSC_MASTER_GUIDE")
+    '("terrestrial-virtual-channel" "GST_MTS_TABLE_ID_ATSC_TERRESTRIAL_VIRTUAL_CHANNEL")
+    '("cable-virtual-channel" "GST_MTS_TABLE_ID_ATSC_CABLE_VIRTUAL_CHANNEL")
+    '("rating-region" "GST_MTS_TABLE_ID_ATSC_RATING_REGION")
+    '("event-information" "GST_MTS_TABLE_ID_ATSC_EVENT_INFORMATION")
+    '("channel-or-event-extended-text" "GST_MTS_TABLE_ID_ATSC_CHANNEL_OR_EVENT_EXTENDED_TEXT")
+    '("system-time" "GST_MTS_TABLE_ID_ATSC_SYSTEM_TIME")
+    '("data-event" "GST_MTS_TABLE_ID_ATSC_DATA_EVENT")
+    '("data-service" "GST_MTS_TABLE_ID_ATSC_DATA_SERVICE")
+    '("network-resource" "GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE")
+    '("long-term-service" "GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE")
+    '("directed-channel-change" "GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE")
+    '("directed-channel-change-section-code" "GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE_SECTION_CODE")
+    '("aggregate-event-information" "GST_MTS_TABLE_ID_ATSC_AGGREGATE_EVENT_INFORMATION")
+    '("aggregate-extended-text" "GST_MTS_TABLE_ID_ATSC_AGGREGATE_EXTENDED_TEXT")
+    '("aggregate-data-event" "GST_MTS_TABLE_ID_ATSC_AGGREGATE_DATA_EVENT")
+    '("satellite-virtual-channel" "GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL")
+  )
+)
+
+(define-enum MpegtsAtscMGTTableType
+  (in-module "Gst")
+  (c-name "GstMpegtsAtscMGTTableType")
+  (gtype-id "GST_TYPE_MPEGTS_ATSC_MGT_TABLE_TYPE")
+  (values
+    '("eit0" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0")
+    '("eit127" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127")
+    '("ett0" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT0")
+    '("ett127" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT127")
+  )
+)
+
+(define-enum MpegtsDVBDescriptorType
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBDescriptorType")
+  (gtype-id "GST_TYPE_MPEGTS_DVB_DESCRIPTOR_TYPE")
+  (values
+    '("network-name" "GST_MTS_DESC_DVB_NETWORK_NAME")
+    '("service-list" "GST_MTS_DESC_DVB_SERVICE_LIST")
+    '("stuffing" "GST_MTS_DESC_DVB_STUFFING")
+    '("satellite-delivery-system" "GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM")
+    '("cable-delivery-system" "GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM")
+    '("vbi-data" "GST_MTS_DESC_DVB_VBI_DATA")
+    '("vbi-teletext" "GST_MTS_DESC_DVB_VBI_TELETEXT")
+    '("bouquet-name" "GST_MTS_DESC_DVB_BOUQUET_NAME")
+    '("service" "GST_MTS_DESC_DVB_SERVICE")
+    '("country-availability" "GST_MTS_DESC_DVB_COUNTRY_AVAILABILITY")
+    '("linkage" "GST_MTS_DESC_DVB_LINKAGE")
+    '("nvod-reference" "GST_MTS_DESC_DVB_NVOD_REFERENCE")
+    '("time-shifted-service" "GST_MTS_DESC_DVB_TIME_SHIFTED_SERVICE")
+    '("short-event" "GST_MTS_DESC_DVB_SHORT_EVENT")
+    '("extended-event" "GST_MTS_DESC_DVB_EXTENDED_EVENT")
+    '("time-shifted-event" "GST_MTS_DESC_DVB_TIME_SHIFTED_EVENT")
+    '("component" "GST_MTS_DESC_DVB_COMPONENT")
+    '("mosaic" "GST_MTS_DESC_DVB_MOSAIC")
+    '("stream-identifier" "GST_MTS_DESC_DVB_STREAM_IDENTIFIER")
+    '("ca-identifier" "GST_MTS_DESC_DVB_CA_IDENTIFIER")
+    '("content" "GST_MTS_DESC_DVB_CONTENT")
+    '("parental-rating" "GST_MTS_DESC_DVB_PARENTAL_RATING")
+    '("teletext" "GST_MTS_DESC_DVB_TELETEXT")
+    '("telephone" "GST_MTS_DESC_DVB_TELEPHONE")
+    '("local-time-offset" "GST_MTS_DESC_DVB_LOCAL_TIME_OFFSET")
+    '("subtitling" "GST_MTS_DESC_DVB_SUBTITLING")
+    '("terrestrial-delivery-system" "GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM")
+    '("multilingual-network-name" "GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME")
+    '("multilingual-bouquet-name" "GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME")
+    '("multilingual-service-name" "GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME")
+    '("multilingual-component" "GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT")
+    '("private-data-specifier" "GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER")
+    '("service-move" "GST_MTS_DESC_DVB_SERVICE_MOVE")
+    '("short-smoothing-buffer" "GST_MTS_DESC_DVB_SHORT_SMOOTHING_BUFFER")
+    '("frequency-list" "GST_MTS_DESC_DVB_FREQUENCY_LIST")
+    '("partial-transport-stream" "GST_MTS_DESC_DVB_PARTIAL_TRANSPORT_STREAM")
+    '("data-broadcast" "GST_MTS_DESC_DVB_DATA_BROADCAST")
+    '("scrambling" "GST_MTS_DESC_DVB_SCRAMBLING")
+    '("data-broadcast-id" "GST_MTS_DESC_DVB_DATA_BROADCAST_ID")
+    '("transport-stream" "GST_MTS_DESC_DVB_TRANSPORT_STREAM")
+    '("dsng" "GST_MTS_DESC_DVB_DSNG")
+    '("pdc" "GST_MTS_DESC_DVB_PDC")
+    '("ac3" "GST_MTS_DESC_DVB_AC3")
+    '("ancillary-data" "GST_MTS_DESC_DVB_ANCILLARY_DATA")
+    '("cell-list" "GST_MTS_DESC_DVB_CELL_LIST")
+    '("cell-frequency-link" "GST_MTS_DESC_DVB_CELL_FREQUENCY_LINK")
+    '("announcement-support" "GST_MTS_DESC_DVB_ANNOUNCEMENT_SUPPORT")
+    '("application-signalling" "GST_MTS_DESC_DVB_APPLICATION_SIGNALLING")
+    '("adaptation-field-data" "GST_MTS_DESC_DVB_ADAPTATION_FIELD_DATA")
+    '("service-identifier" "GST_MTS_DESC_DVB_SERVICE_IDENTIFIER")
+    '("service-availability" "GST_MTS_DESC_DVB_SERVICE_AVAILABILITY")
+    '("default-authority" "GST_MTS_DESC_DVB_DEFAULT_AUTHORITY")
+    '("related-content" "GST_MTS_DESC_DVB_RELATED_CONTENT")
+    '("tva-id" "GST_MTS_DESC_DVB_TVA_ID")
+    '("content-identifier" "GST_MTS_DESC_DVB_CONTENT_IDENTIFIER")
+    '("timeslice-fec-identifier" "GST_MTS_DESC_DVB_TIMESLICE_FEC_IDENTIFIER")
+    '("ecm-repetition-rate" "GST_MTS_DESC_DVB_ECM_REPETITION_RATE")
+    '("s2-satellite-delivery-system" "GST_MTS_DESC_DVB_S2_SATELLITE_DELIVERY_SYSTEM")
+    '("enhanced-ac3" "GST_MTS_DESC_DVB_ENHANCED_AC3")
+    '("dts" "GST_MTS_DESC_DVB_DTS")
+    '("aac" "GST_MTS_DESC_DVB_AAC")
+    '("xait-location" "GST_MTS_DESC_DVB_XAIT_LOCATION")
+    '("fta-content-management" "GST_MTS_DESC_DVB_FTA_CONTENT_MANAGEMENT")
+    '("extension" "GST_MTS_DESC_DVB_EXTENSION")
+  )
+)
+
+(define-enum MpegtsDVBExtendedDescriptorType
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBExtendedDescriptorType")
+  (gtype-id "GST_TYPE_MPEGTS_DVB_EXTENDED_DESCRIPTOR_TYPE")
+  (values
+    '("image-icon" "GST_MTS_DESC_EXT_DVB_IMAGE_ICON")
+    '("cpcm-delivery-signalling" "GST_MTS_DESC_EXT_DVB_CPCM_DELIVERY_SIGNALLING")
+    '("cp" "GST_MTS_DESC_EXT_DVB_CP")
+    '("cp-identifier" "GST_MTS_DESC_EXT_DVB_CP_IDENTIFIER")
+    '("t2-delivery-system" "GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM")
+    '("sh-delivery-system" "GST_MTS_DESC_EXT_DVB_SH_DELIVERY_SYSTEM")
+    '("supplementary-audio" "GST_MTS_DESC_EXT_DVB_SUPPLEMENTARY_AUDIO")
+    '("network-change-notify" "GST_MTS_DESC_EXT_DVB_NETWORK_CHANGE_NOTIFY")
+    '("message" "GST_MTS_DESC_EXT_DVB_MESSAGE")
+    '("target-region" "GST_MTS_DESC_EXT_DVB_TARGET_REGION")
+    '("target-region-name" "GST_MTS_DESC_EXT_DVB_TARGET_REGION_NAME")
+    '("service-relocated" "GST_MTS_DESC_EXT_DVB_SERVICE_RELOCATED")
+    '("xait-pid" "GST_MTS_DESC_EXT_DVB_XAIT_PID")
+    '("c2-delivery-system" "GST_MTS_DESC_EXT_DVB_C2_DELIVERY_SYSTEM")
+    '("dts-hd-audio-stream" "GST_MTS_DESC_EXT_DVB_DTS_HD_AUDIO_STREAM")
+    '("dts-neutral" "GST_MTS_DESC_EXT_DVB_DTS_NEUTRAL")
+    '("video-depth-range" "GST_MTS_DESC_EXT_DVB_VIDEO_DEPTH_RANGE")
+    '("t2mi" "GST_MTS_DESC_EXT_DVB_T2MI")
+    '("uri-linkage" "GST_MTS_DESC_EXT_DVB_URI_LINKAGE")
+  )
+)
+
+(define-enum MpegtsModulationType
+  (in-module "Gst")
+  (c-name "GstMpegtsModulationType")
+  (gtype-id "GST_TYPE_MPEGTS_MODULATION_TYPE")
+  (values
+    '("qpsk" "GST_MPEGTS_MODULATION_QPSK")
+    '("qam-16" "GST_MPEGTS_MODULATION_QAM_16")
+    '("qam-32" "GST_MPEGTS_MODULATION_QAM_32")
+    '("qam-64" "GST_MPEGTS_MODULATION_QAM_64")
+    '("qam-128" "GST_MPEGTS_MODULATION_QAM_128")
+    '("qam-256" "GST_MPEGTS_MODULATION_QAM_256")
+    '("qam-auto" "GST_MPEGTS_MODULATION_QAM_AUTO")
+    '("vsb-8" "GST_MPEGTS_MODULATION_VSB_8")
+    '("vsb-16" "GST_MPEGTS_MODULATION_VSB_16")
+    '("psk-8" "GST_MPEGTS_MODULATION_PSK_8")
+    '("apsk-16" "GST_MPEGTS_MODULATION_APSK_16")
+    '("apsk-32" "GST_MPEGTS_MODULATION_APSK_32")
+    '("dqpsk" "GST_MPEGTS_MODULATION_DQPSK")
+    '("qam-4-nr-" "GST_MPEGTS_MODULATION_QAM_4_NR_")
+    '("none" "GST_MPEGTS_MODULATION_NONE")
+  )
+)
+
+(define-enum MpegtsDVBCodeRate
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBCodeRate")
+  (gtype-id "GST_TYPE_MPEGTS_DVB_CODE_RATE")
+  (values
+    '("none" "GST_MPEGTS_FEC_NONE")
+    '("1-2" "GST_MPEGTS_FEC_1_2")
+    '("2-3" "GST_MPEGTS_FEC_2_3")
+    '("3-4" "GST_MPEGTS_FEC_3_4")
+    '("4-5" "GST_MPEGTS_FEC_4_5")
+    '("5-6" "GST_MPEGTS_FEC_5_6")
+    '("6-7" "GST_MPEGTS_FEC_6_7")
+    '("7-8" "GST_MPEGTS_FEC_7_8")
+    '("8-9" "GST_MPEGTS_FEC_8_9")
+    '("auto" "GST_MPEGTS_FEC_AUTO")
+    '("3-5" "GST_MPEGTS_FEC_3_5")
+    '("9-10" "GST_MPEGTS_FEC_9_10")
+    '("2-5" "GST_MPEGTS_FEC_2_5")
+  )
+)
+
+(define-enum MpegtsSatelliteRolloff
+  (in-module "Gst")
+  (c-name "GstMpegtsSatelliteRolloff")
+  (gtype-id "GST_TYPE_MPEGTS_SATELLITE_ROLLOFF")
+  (values
+    '("35" "GST_MPEGTS_ROLLOFF_35")
+    '("20" "GST_MPEGTS_ROLLOFF_20")
+    '("25" "GST_MPEGTS_ROLLOFF_25")
+    '("reserved" "GST_MPEGTS_ROLLOFF_RESERVED")
+    '("auto" "GST_MPEGTS_ROLLOFF_AUTO")
+  )
+)
+
+(define-enum MpegtsSatellitePolarizationType
+  (in-module "Gst")
+  (c-name "GstMpegtsSatellitePolarizationType")
+  (gtype-id "GST_TYPE_MPEGTS_SATELLITE_POLARIZATION_TYPE")
+  (values
+    '("linear-horizontal" "GST_MPEGTS_POLARIZATION_LINEAR_HORIZONTAL")
+    '("linear-vertical" "GST_MPEGTS_POLARIZATION_LINEAR_VERTICAL")
+    '("circular-left" "GST_MPEGTS_POLARIZATION_CIRCULAR_LEFT")
+    '("circular-right" "GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT")
+  )
+)
+
+(define-enum MpegtsCableOuterFECScheme
+  (in-module "Gst")
+  (c-name "GstMpegtsCableOuterFECScheme")
+  (gtype-id "GST_TYPE_MPEGTS_CABLE_OUTER_FEC_SCHEME")
+  (values
+    '("undefined" "GST_MPEGTS_CABLE_OUTER_FEC_UNDEFINED")
+    '("none" "GST_MPEGTS_CABLE_OUTER_FEC_NONE")
+    '("rs-204-188" "GST_MPEGTS_CABLE_OUTER_FEC_RS_204_188")
+  )
+)
+
+(define-enum MpegtsDVBServiceType
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBServiceType")
+  (gtype-id "GST_TYPE_MPEGTS_DVB_SERVICE_TYPE")
+  (values
+    '("reserved-00" "GST_DVB_SERVICE_RESERVED_00")
+    '("digital-television" "GST_DVB_SERVICE_DIGITAL_TELEVISION")
+    '("digital-radio-sound" "GST_DVB_SERVICE_DIGITAL_RADIO_SOUND")
+    '("teletext" "GST_DVB_SERVICE_TELETEXT")
+    '("nvod-reference" "GST_DVB_SERVICE_NVOD_REFERENCE")
+    '("nvod-time-shifted" "GST_DVB_SERVICE_NVOD_TIME_SHIFTED")
+    '("mosaic" "GST_DVB_SERVICE_MOSAIC")
+    '("fm-radio" "GST_DVB_SERVICE_FM_RADIO")
+    '("dvb-srm" "GST_DVB_SERVICE_DVB_SRM")
+    '("reserved-09" "GST_DVB_SERVICE_RESERVED_09")
+    '("advanced-codec-digital-radio-sound" "GST_DVB_SERVICE_ADVANCED_CODEC_DIGITAL_RADIO_SOUND")
+    '("advanced-codec-mosaic" "GST_DVB_SERVICE_ADVANCED_CODEC_MOSAIC")
+    '("data-broadcast" "GST_DVB_SERVICE_DATA_BROADCAST")
+    '("reserved-0d-common-interface" "GST_DVB_SERVICE_RESERVED_0D_COMMON_INTERFACE")
+    '("rcs-map" "GST_DVB_SERVICE_RCS_MAP")
+    '("rcs-fls" "GST_DVB_SERVICE_RCS_FLS")
+    '("dvb-mhp" "GST_DVB_SERVICE_DVB_MHP")
+    '("mpeg2-hd-digital-television" "GST_DVB_SERVICE_MPEG2_HD_DIGITAL_TELEVISION")
+    '("advanced-codec-sd-digital-television" "GST_DVB_SERVICE_ADVANCED_CODEC_SD_DIGITAL_TELEVISION")
+    '("advanced-codec-sd-nvod-time-shifted" "GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED")
+    '("advanced-codec-sd-nvod-reference" "GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_REFERENCE")
+    '("advanced-codec-hd-digital-television" "GST_DVB_SERVICE_ADVANCED_CODEC_HD_DIGITAL_TELEVISION")
+    '("advanced-codec-hd-nvod-time-shifted" "GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED")
+    '("advanced-codec-hd-nvod-reference" "GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_REFERENCE")
+    '("advanced-codec-stereo-hd-digital-television" 
"GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION")
+    '("advanced-codec-stereo-hd-nvod-time-shifted" 
"GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED")
+    '("advanced-codec-stereo-hd-nvod-reference" "GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE")
+    '("reserved-ff" "GST_DVB_SERVICE_RESERVED_FF")
+  )
+)
+
+(define-enum MpegtsDVBLinkageType
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBLinkageType")
+  (gtype-id "GST_TYPE_MPEGTS_DVB_LINKAGE_TYPE")
+  (values
+    '("reserved-00" "GST_MPEGTS_DVB_LINKAGE_RESERVED_00")
+    '("information" "GST_MPEGTS_DVB_LINKAGE_INFORMATION")
+    '("epg" "GST_MPEGTS_DVB_LINKAGE_EPG")
+    '("ca-replacement" "GST_MPEGTS_DVB_LINKAGE_CA_REPLACEMENT")
+    '("ts-containing-complete-si" "GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_COMPLETE_SI")
+    '("service-replacement" "GST_MPEGTS_DVB_LINKAGE_SERVICE_REPLACEMENT")
+    '("data-broadcast" "GST_MPEGTS_DVB_LINKAGE_DATA_BROADCAST")
+    '("rcs-map" "GST_MPEGTS_DVB_LINKAGE_RCS_MAP")
+    '("mobile-hand-over" "GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER")
+    '("system-software-update" "GST_MPEGTS_DVB_LINKAGE_SYSTEM_SOFTWARE_UPDATE")
+    '("ts-containing-ssu" "GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_SSU")
+    '("ip-mac-notification" "GST_MPEGTS_DVB_LINKAGE_IP_MAC_NOTIFICATION")
+    '("ts-containing-int" "GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_INT")
+    '("event" "GST_MPEGTS_DVB_LINKAGE_EVENT")
+    '("extended-event" "GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT")
+  )
+)
+
+(define-enum MpegtsDVBLinkageHandOverType
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBLinkageHandOverType")
+  (gtype-id "GST_TYPE_MPEGTS_DVB_LINKAGE_HAND_OVER_TYPE")
+  (values
+    '("reserved" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_RESERVED")
+    '("identical" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_IDENTICAL")
+    '("local-variation" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_LOCAL_VARIATION")
+    '("associated" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_ASSOCIATED")
+  )
+)
+
+(define-enum MpegtsComponentStreamContent
+  (in-module "Gst")
+  (c-name "GstMpegtsComponentStreamContent")
+  (gtype-id "GST_TYPE_MPEGTS_COMPONENT_STREAM_CONTENT")
+  (values
+    '("mpeg2-video" "GST_MPEGTS_STREAM_CONTENT_MPEG2_VIDEO")
+    '("mpeg1-layer2-audio" "GST_MPEGTS_STREAM_CONTENT_MPEG1_LAYER2_AUDIO")
+    '("teletext-or-subtitle" "GST_MPEGTS_STREAM_CONTENT_TELETEXT_OR_SUBTITLE")
+    '("ac-3" "GST_MPEGTS_STREAM_CONTENT_AC_3")
+    '("avc" "GST_MPEGTS_STREAM_CONTENT_AVC")
+    '("aac" "GST_MPEGTS_STREAM_CONTENT_AAC")
+    '("dts" "GST_MPEGTS_STREAM_CONTENT_DTS")
+    '("srm-cpcm" "GST_MPEGTS_STREAM_CONTENT_SRM_CPCM")
+  )
+)
+
+(define-enum MpegtsContentNibbleHi
+  (in-module "Gst")
+  (c-name "GstMpegtsContentNibbleHi")
+  (gtype-id "GST_TYPE_MPEGTS_CONTENT_NIBBLE_HI")
+  (values
+    '("movie-drama" "GST_MPEGTS_CONTENT_MOVIE_DRAMA")
+    '("news-current-affairs" "GST_MPEGTS_CONTENT_NEWS_CURRENT_AFFAIRS")
+    '("show-game-show" "GST_MPEGTS_CONTENT_SHOW_GAME_SHOW")
+    '("sports" "GST_MPEGTS_CONTENT_SPORTS")
+    '("children-youth-program" "GST_MPEGTS_CONTENT_CHILDREN_YOUTH_PROGRAM")
+    '("music-ballet-dance" "GST_MPEGTS_CONTENT_MUSIC_BALLET_DANCE")
+    '("arts-culture" "GST_MPEGTS_CONTENT_ARTS_CULTURE")
+    '("social-political-economics" "GST_MPEGTS_CONTENT_SOCIAL_POLITICAL_ECONOMICS")
+    '("education-science-factual" "GST_MPEGTS_CONTENT_EDUCATION_SCIENCE_FACTUAL")
+    '("leisure-hobbies" "GST_MPEGTS_CONTENT_LEISURE_HOBBIES")
+    '("special-characteristics" "GST_MPEGTS_CONTENT_SPECIAL_CHARACTERISTICS")
+  )
+)
+
+(define-enum MpegtsDVBTeletextType
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBTeletextType")
+  (gtype-id "GST_TYPE_MPEGTS_DVB_TELETEXT_TYPE")
+  (values
+    '("initial-page" "INITIAL_PAGE")
+    '("subtitle-page" "SUBTITLE_PAGE")
+    '("additional-info-page" "ADDITIONAL_INFO_PAGE")
+    '("programme-schedule-page" "PROGRAMME_SCHEDULE_PAGE")
+    '("hearing-impaired-page" "HEARING_IMPAIRED_PAGE")
+  )
+)
+
+(define-enum MpegtsTerrestrialTransmissionMode
+  (in-module "Gst")
+  (c-name "GstMpegtsTerrestrialTransmissionMode")
+  (gtype-id "GST_TYPE_MPEGTS_TERRESTRIAL_TRANSMISSION_MODE")
+  (values
+    '("2k" "GST_MPEGTS_TRANSMISSION_MODE_2K")
+    '("8k" "GST_MPEGTS_TRANSMISSION_MODE_8K")
+    '("auto" "GST_MPEGTS_TRANSMISSION_MODE_AUTO")
+    '("4k" "GST_MPEGTS_TRANSMISSION_MODE_4K")
+    '("1k" "GST_MPEGTS_TRANSMISSION_MODE_1K")
+    '("16k" "GST_MPEGTS_TRANSMISSION_MODE_16K")
+    '("32k" "GST_MPEGTS_TRANSMISSION_MODE_32K")
+    '("c1" "GST_MPEGTS_TRANSMISSION_MODE_C1")
+    '("c3780" "GST_MPEGTS_TRANSMISSION_MODE_C3780")
+  )
+)
+
+(define-enum MpegtsTerrestrialGuardInterval
+  (in-module "Gst")
+  (c-name "GstMpegtsTerrestrialGuardInterval")
+  (gtype-id "GST_TYPE_MPEGTS_TERRESTRIAL_GUARD_INTERVAL")
+  (values
+    '("1-32" "GST_MPEGTS_GUARD_INTERVAL_1_32")
+    '("1-16" "GST_MPEGTS_GUARD_INTERVAL_1_16")
+    '("1-8" "GST_MPEGTS_GUARD_INTERVAL_1_8")
+    '("1-4" "GST_MPEGTS_GUARD_INTERVAL_1_4")
+    '("auto" "GST_MPEGTS_GUARD_INTERVAL_AUTO")
+    '("1-128" "GST_MPEGTS_GUARD_INTERVAL_1_128")
+    '("19-128" "GST_MPEGTS_GUARD_INTERVAL_19_128")
+    '("19-256" "GST_MPEGTS_GUARD_INTERVAL_19_256")
+    '("pn420" "GST_MPEGTS_GUARD_INTERVAL_PN420")
+    '("pn595" "GST_MPEGTS_GUARD_INTERVAL_PN595")
+    '("pn945" "GST_MPEGTS_GUARD_INTERVAL_PN945")
+  )
+)
+
+(define-enum MpegtsTerrestrialHierarchy
+  (in-module "Gst")
+  (c-name "GstMpegtsTerrestrialHierarchy")
+  (gtype-id "GST_TYPE_MPEGTS_TERRESTRIAL_HIERARCHY")
+  (values
+    '("none" "GST_MPEGTS_HIERARCHY_NONE")
+    '("1" "GST_MPEGTS_HIERARCHY_1")
+    '("2" "GST_MPEGTS_HIERARCHY_2")
+    '("4" "GST_MPEGTS_HIERARCHY_4")
+    '("auto" "GST_MPEGTS_HIERARCHY_AUTO")
+  )
+)
+
+(define-enum MpegtsDVBScramblingModeType
+  (in-module "Gst")
+  (c-name "GstMpegtsDVBScramblingModeType")
+  (gtype-id "GST_TYPE_MPEGTS_DVB_SCRAMBLING_MODE_TYPE")
+  (values
+    '("reserved" "GST_MPEGTS_DVB_SCRAMBLING_MODE_RESERVED")
+    '("csa1" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA1")
+    '("csa2" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA2")
+    '("csa3-standard" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_STANDARD")
+    '("csa3-minimal-enhanced" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_MINIMAL_ENHANCED")
+    '("csa3-full-enhanced" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_FULL_ENHANCED")
+    '("cissa" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CISSA")
+    '("atis-0" "GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_0")
+    '("atis-f" "GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_F")
+  )
+)
+
+(define-enum MpegtsSectionDVBTableID
+  (in-module "Gst")
+  (c-name "GstMpegtsSectionDVBTableID")
+  (gtype-id "GST_TYPE_MPEGTS_SECTION_DVB_TABLE_ID")
+  (values
+    '("network-information-actual-network" "GST_MTS_TABLE_ID_NETWORK_INFORMATION_ACTUAL_NETWORK")
+    '("network-information-other-network" "GST_MTS_TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK")
+    '("service-description-actual-ts" "GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS")
+    '("service-description-other-ts" "GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS")
+    '("bouquet-association" "GST_MTS_TABLE_ID_BOUQUET_ASSOCIATION")
+    '("event-information-actual-ts-present" "GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT")
+    '("event-information-other-ts-present" "GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_PRESENT")
+    '("event-information-actual-ts-schedule-1" "GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1")
+    '("event-information-actual-ts-schedule-n" "GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N")
+    '("event-information-other-ts-schedule-1" "GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_1")
+    '("event-information-other-ts-schedule-n" "GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_N")
+    '("time-date" "GST_MTS_TABLE_ID_TIME_DATE")
+    '("running-status" "GST_MTS_TABLE_ID_RUNNING_STATUS")
+    '("stuffing" "GST_MTS_TABLE_ID_STUFFING")
+    '("time-offset" "GST_MTS_TABLE_ID_TIME_OFFSET")
+    '("application-information-table" "GST_MTS_TABLE_ID_APPLICATION_INFORMATION_TABLE")
+    '("container" "GST_MTS_TABLE_ID_CONTAINER")
+    '("related-content" "GST_MTS_TABLE_ID_RELATED_CONTENT")
+    '("content-identifier" "GST_MTS_TABLE_ID_CONTENT_IDENTIFIER")
+    '("mpe-fec" "GST_MTS_TABLE_ID_MPE_FEC")
+    '("resolution-notification" "GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION")
+    '("mpe-ifec" "GST_MTS_TABLE_ID_MPE_IFEC")
+    '("discontinuity-information" "GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION")
+    '("selection-information" "GST_MTS_TABLE_ID_SELECTION_INFORMATION")
+    '("ca-message-ecm-0" "GST_MTS_TABLE_ID_CA_MESSAGE_ECM_0")
+    '("ca-message-ecm-1" "GST_MTS_TABLE_ID_CA_MESSAGE_ECM_1")
+    '("ca-message-system-private-1" "GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_1")
+    '("ca-message-system-private-n" "GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_N")
+    '("sct" "GST_MTS_TABLE_ID_SCT")
+    '("fct" "GST_MTS_TABLE_ID_FCT")
+    '("tct" "GST_MTS_TABLE_ID_TCT")
+    '("spt" "GST_MTS_TABLE_ID_SPT")
+    '("cmt" "GST_MTS_TABLE_ID_CMT")
+    '("tbtp" "GST_MTS_TABLE_ID_TBTP")
+    '("pcr-packet-payload" "GST_MTS_TABLE_ID_PCR_PACKET_PAYLOAD")
+    '("transmission-mode-support-payload" "GST_MTS_TABLE_ID_TRANSMISSION_MODE_SUPPORT_PAYLOAD")
+    '("tim" "GST_MTS_TABLE_ID_TIM")
+    '("ll-fec-parity-data-table" "GST_MTS_TABLE_ID_LL_FEC_PARITY_DATA_TABLE")
+  )
+)
+
+(define-enum MpegtsRunningStatus
+  (in-module "Gst")
+  (c-name "GstMpegtsRunningStatus")
+  (gtype-id "GST_TYPE_MPEGTS_RUNNING_STATUS")
+  (values
+    '("undefined" "GST_MPEGTS_RUNNING_STATUS_UNDEFINED")
+    '("not-running" "GST_MPEGTS_RUNNING_STATUS_NOT_RUNNING")
+    '("starts-in-few-seconds" "GST_MPEGTS_RUNNING_STATUS_STARTS_IN_FEW_SECONDS")
+    '("pausing" "GST_MPEGTS_RUNNING_STATUS_PAUSING")
+    '("running" "GST_MPEGTS_RUNNING_STATUS_RUNNING")
+    '("off-air" "GST_MPEGTS_RUNNING_STATUS_OFF_AIR")
+  )
+)
+
+(define-enum MpegtsDescriptorType
+  (in-module "Gst")
+  (c-name "GstMpegtsDescriptorType")
+  (gtype-id "GST_TYPE_MPEGTS_DESCRIPTOR_TYPE")
+  (values
+    '("reserved-00" "GST_MTS_DESC_RESERVED_00")
+    '("reserved-01" "GST_MTS_DESC_RESERVED_01")
+    '("video-stream" "GST_MTS_DESC_VIDEO_STREAM")
+    '("audio-stream" "GST_MTS_DESC_AUDIO_STREAM")
+    '("hierarchy" "GST_MTS_DESC_HIERARCHY")
+    '("registration" "GST_MTS_DESC_REGISTRATION")
+    '("data-stream-alignment" "GST_MTS_DESC_DATA_STREAM_ALIGNMENT")
+    '("target-background-grid" "GST_MTS_DESC_TARGET_BACKGROUND_GRID")
+    '("video-window" "GST_MTS_DESC_VIDEO_WINDOW")
+    '("ca" "GST_MTS_DESC_CA")
+    '("iso-639-language" "GST_MTS_DESC_ISO_639_LANGUAGE")
+    '("system-clock" "GST_MTS_DESC_SYSTEM_CLOCK")
+    '("multiplex-buffer-utilisation" "GST_MTS_DESC_MULTIPLEX_BUFFER_UTILISATION")
+    '("copyright" "GST_MTS_DESC_COPYRIGHT")
+    '("maximum-bitrate" "GST_MTS_DESC_MAXIMUM_BITRATE")
+    '("private-data-indicator" "GST_MTS_DESC_PRIVATE_DATA_INDICATOR")
+    '("smoothing-buffer" "GST_MTS_DESC_SMOOTHING_BUFFER")
+    '("std" "GST_MTS_DESC_STD")
+    '("ibp" "GST_MTS_DESC_IBP")
+    '("dsmcc-carousel-identifier" "GST_MTS_DESC_DSMCC_CAROUSEL_IDENTIFIER")
+    '("dsmcc-association-tag" "GST_MTS_DESC_DSMCC_ASSOCIATION_TAG")
+    '("dsmcc-deferred-association-tag" "GST_MTS_DESC_DSMCC_DEFERRED_ASSOCIATION_TAG")
+    '("dsmcc-npt-reference" "GST_MTS_DESC_DSMCC_NPT_REFERENCE")
+    '("dsmcc-npt-endpoint" "GST_MTS_DESC_DSMCC_NPT_ENDPOINT")
+    '("dsmcc-stream-mode" "GST_MTS_DESC_DSMCC_STREAM_MODE")
+    '("dsmcc-stream-event" "GST_MTS_DESC_DSMCC_STREAM_EVENT")
+    '("mpeg4-video" "GST_MTS_DESC_MPEG4_VIDEO")
+    '("mpeg4-audio" "GST_MTS_DESC_MPEG4_AUDIO")
+    '("iod" "GST_MTS_DESC_IOD")
+    '("sl" "GST_MTS_DESC_SL")
+    '("fmc" "GST_MTS_DESC_FMC")
+    '("external-es-id" "GST_MTS_DESC_EXTERNAL_ES_ID")
+    '("mux-code" "GST_MTS_DESC_MUX_CODE")
+    '("fmx-buffer-size" "GST_MTS_DESC_FMX_BUFFER_SIZE")
+    '("multiplex-buffer" "GST_MTS_DESC_MULTIPLEX_BUFFER")
+    '("content-labeling" "GST_MTS_DESC_CONTENT_LABELING")
+    '("metadata-pointer" "GST_MTS_DESC_METADATA_POINTER")
+    '("metadata" "GST_MTS_DESC_METADATA")
+    '("metadata-std" "GST_MTS_DESC_METADATA_STD")
+    '("avc-video" "GST_MTS_DESC_AVC_VIDEO")
+    '("ipmp" "GST_MTS_DESC_IPMP")
+    '("avc-timing-and-hrd" "GST_MTS_DESC_AVC_TIMING_AND_HRD")
+    '("mpeg2-aac-audio" "GST_MTS_DESC_MPEG2_AAC_AUDIO")
+    '("flex-mux-timing" "GST_MTS_DESC_FLEX_MUX_TIMING")
+    '("mpeg4-text" "GST_MTS_DESC_MPEG4_TEXT")
+    '("mpeg4-audio-extension" "GST_MTS_DESC_MPEG4_AUDIO_EXTENSION")
+    '("auxiliary-video-stream" "GST_MTS_DESC_AUXILIARY_VIDEO_STREAM")
+    '("svc-extension" "GST_MTS_DESC_SVC_EXTENSION")
+    '("mvc-extension" "GST_MTS_DESC_MVC_EXTENSION")
+    '("j2k-video" "GST_MTS_DESC_J2K_VIDEO")
+    '("mvc-operation-point" "GST_MTS_DESC_MVC_OPERATION_POINT")
+    '("mpeg2-stereoscopic-video-format" "GST_MTS_DESC_MPEG2_STEREOSCOPIC_VIDEO_FORMAT")
+    '("stereoscopic-program-info" "GST_MTS_DESC_STEREOSCOPIC_PROGRAM_INFO")
+    '("stereoscopic-video-info" "GST_MTS_DESC_STEREOSCOPIC_VIDEO_INFO")
+  )
+)
+
+(define-enum MpegtsMiscDescriptorType
+  (in-module "Gst")
+  (c-name "GstMpegtsMiscDescriptorType")
+  (gtype-id "GST_TYPE_MPEGTS_MISC_DESCRIPTOR_TYPE")
+  (values
+    '("ac3-audio-stream" "GST_MTS_DESC_AC3_AUDIO_STREAM")
+    '("dtg-logical-channel" "GST_MTS_DESC_DTG_LOGICAL_CHANNEL")
+  )
+)
+
+(define-enum MpegtsATSCDescriptorType
+  (in-module "Gst")
+  (c-name "GstMpegtsATSCDescriptorType")
+  (gtype-id "GST_TYPE_MPEGTS_ATSC_DESCRIPTOR_TYPE")
+  (values
+    '("stuffing" "GST_MTS_DESC_ATSC_STUFFING")
+    '("ac3" "GST_MTS_DESC_ATSC_AC3")
+    '("caption-service" "GST_MTS_DESC_ATSC_CAPTION_SERVICE")
+    '("content-advisory" "GST_MTS_DESC_ATSC_CONTENT_ADVISORY")
+    '("extended-channel-name" "GST_MTS_DESC_ATSC_EXTENDED_CHANNEL_NAME")
+    '("service-location" "GST_MTS_DESC_ATSC_SERVICE_LOCATION")
+    '("time-shifted-service" "GST_MTS_DESC_ATSC_TIME_SHIFTED_SERVICE")
+    '("component-name" "GST_MTS_DESC_ATSC_COMPONENT_NAME")
+    '("dcc-departing-request" "GST_MTS_DESC_ATSC_DCC_DEPARTING_REQUEST")
+    '("dcc-arriving-request" "GST_MTS_DESC_ATSC_DCC_ARRIVING_REQUEST")
+    '("redistribution-control" "GST_MTS_DESC_ATSC_REDISTRIBUTION_CONTROL")
+    '("genre" "GST_MTS_DESC_ATSC_GENRE")
+    '("private-information" "GST_MTS_DESC_ATSC_PRIVATE_INFORMATION")
+    '("enhanced-signaling" "GST_MTS_DESC_ATSC_ENHANCED_SIGNALING")
+    '("data-service" "GST_MTS_DESC_ATSC_DATA_SERVICE")
+    '("pid-count" "GST_MTS_DESC_ATSC_PID_COUNT")
+    '("download-descriptor" "GST_MTS_DESC_ATSC_DOWNLOAD_DESCRIPTOR")
+    '("multiprotocol-encapsulation" "GST_MTS_DESC_ATSC_MULTIPROTOCOL_ENCAPSULATION")
+    '("module-link" "GST_MTS_DESC_ATSC_MODULE_LINK")
+    '("crc32" "GST_MTS_DESC_ATSC_CRC32")
+    '("group-link" "GST_MTS_DESC_ATSC_GROUP_LINK")
+  )
+)
+
+(define-enum MpegtsISDBDescriptorType
+  (in-module "Gst")
+  (c-name "GstMpegtsISDBDescriptorType")
+  (gtype-id "GST_TYPE_MPEGTS_ISDB_DESCRIPTOR_TYPE")
+  (values
+    '("hierarchical-transmission" "GST_MTS_DESC_ISDB_HIERARCHICAL_TRANSMISSION")
+    '("digital-copy-control" "GST_MTS_DESC_ISDB_DIGITAL_COPY_CONTROL")
+    '("network-identification" "GST_MTS_DESC_ISDB_NETWORK_IDENTIFICATION")
+    '("partial-ts-time" "GST_MTS_DESC_ISDB_PARTIAL_TS_TIME")
+    '("audio-component" "GST_MTS_DESC_ISDB_AUDIO_COMPONENT")
+    '("hyperlink" "GST_MTS_DESC_ISDB_HYPERLINK")
+    '("target-region" "GST_MTS_DESC_ISDB_TARGET_REGION")
+    '("data-content" "GST_MTS_DESC_ISDB_DATA_CONTENT")
+    '("video-decode-control" "GST_MTS_DESC_ISDB_VIDEO_DECODE_CONTROL")
+    '("download-content" "GST_MTS_DESC_ISDB_DOWNLOAD_CONTENT")
+    '("ca-emm-ts" "GST_MTS_DESC_ISDB_CA_EMM_TS")
+    '("ca-contract-information" "GST_MTS_DESC_ISDB_CA_CONTRACT_INFORMATION")
+    '("ca-service" "GST_MTS_DESC_ISDB_CA_SERVICE")
+    '("ts-information" "GST_MTS_DESC_ISDB_TS_INFORMATION")
+    '("extended-broadcaster" "GST_MTS_DESC_ISDB_EXTENDED_BROADCASTER")
+    '("logo-transmission" "GST_MTS_DESC_ISDB_LOGO_TRANSMISSION")
+    '("basic-local-event" "GST_MTS_DESC_ISDB_BASIC_LOCAL_EVENT")
+    '("reference" "GST_MTS_DESC_ISDB_REFERENCE")
+    '("node-relation" "GST_MTS_DESC_ISDB_NODE_RELATION")
+    '("short-node-information" "GST_MTS_DESC_ISDB_SHORT_NODE_INFORMATION")
+    '("stc-reference" "GST_MTS_DESC_ISDB_STC_REFERENCE")
+    '("series" "GST_MTS_DESC_ISDB_SERIES")
+    '("event-group" "GST_MTS_DESC_ISDB_EVENT_GROUP")
+    '("si-parameter" "GST_MTS_DESC_ISDB_SI_PARAMETER")
+    '("broadcaster-name" "GST_MTS_DESC_ISDB_BROADCASTER_NAME")
+    '("component-group" "GST_MTS_DESC_ISDB_COMPONENT_GROUP")
+    '("si-prime-ts" "GST_MTS_DESC_ISDB_SI_PRIME_TS")
+    '("board-information" "GST_MTS_DESC_ISDB_BOARD_INFORMATION")
+    '("ldt-linkage" "GST_MTS_DESC_ISDB_LDT_LINKAGE")
+    '("connected-transmission" "GST_MTS_DESC_ISDB_CONNECTED_TRANSMISSION")
+    '("content-availability" "GST_MTS_DESC_ISDB_CONTENT_AVAILABILITY")
+    '("service-group" "GST_MTS_DESC_ISDB_SERVICE_GROUP")
+  )
+)
+
+(define-enum MpegtsSectionType
+  (in-module "Gst")
+  (c-name "GstMpegtsSectionType")
+  (gtype-id "GST_TYPE_MPEGTS_SECTION_TYPE")
+  (values
+    '("unknown" "GST_MPEGTS_SECTION_UNKNOWN")
+    '("pat" "GST_MPEGTS_SECTION_PAT")
+    '("pmt" "GST_MPEGTS_SECTION_PMT")
+    '("cat" "GST_MPEGTS_SECTION_CAT")
+    '("tsdt" "GST_MPEGTS_SECTION_TSDT")
+    '("eit" "GST_MPEGTS_SECTION_EIT")
+    '("nit" "GST_MPEGTS_SECTION_NIT")
+    '("bat" "GST_MPEGTS_SECTION_BAT")
+    '("sdt" "GST_MPEGTS_SECTION_SDT")
+    '("tdt" "GST_MPEGTS_SECTION_TDT")
+    '("tot" "GST_MPEGTS_SECTION_TOT")
+    '("atsc-tvct" "GST_MPEGTS_SECTION_ATSC_TVCT")
+    '("atsc-cvct" "GST_MPEGTS_SECTION_ATSC_CVCT")
+    '("atsc-mgt" "GST_MPEGTS_SECTION_ATSC_MGT")
+    '("atsc-ett" "GST_MPEGTS_SECTION_ATSC_ETT")
+    '("atsc-eit" "GST_MPEGTS_SECTION_ATSC_EIT")
+    '("atsc-stt" "GST_MPEGTS_SECTION_ATSC_STT")
+  )
+)
+
+(define-enum MpegtsSectionTableID
+  (in-module "Gst")
+  (c-name "GstMpegtsSectionTableID")
+  (gtype-id "GST_TYPE_MPEGTS_SECTION_TABLE_ID")
+  (values
+    '("program-association" "GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION")
+    '("conditional-access" "GST_MTS_TABLE_ID_CONDITIONAL_ACCESS")
+    '("ts-program-map" "GST_MTS_TABLE_ID_TS_PROGRAM_MAP")
+    '("ts-description" "GST_MTS_TABLE_ID_TS_DESCRIPTION")
+    '("14496-scene-description" "GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION")
+    '("14496-objet-descriptor" "GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR")
+    '("metadata" "GST_MTS_TABLE_ID_METADATA")
+    '("ipmp-control-information" "GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION")
+    '("dsm-cc-multiproto-encapsulated-data" "GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA")
+    '("dsm-cc-u-n-messages" "GST_MTS_TABLE_ID_DSM_CC_U_N_MESSAGES")
+    '("dsm-cc-download-data-messages" "GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES")
+    '("dsm-cc-stream-descriptors" "GST_MTS_TABLE_ID_DSM_CC_STREAM_DESCRIPTORS")
+    '("dsm-cc-private-data" "GST_MTS_TABLE_ID_DSM_CC_PRIVATE_DATA")
+    '("dsm-cc-addressable-sections" "GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS")
+    '("unset" "GST_MTS_TABLE_ID_UNSET")
+  )
+)
+
+(define-enum MpegtsStreamType
+  (in-module "Gst")
+  (c-name "GstMpegtsStreamType")
+  (gtype-id "GST_TYPE_MPEGTS_STREAM_TYPE")
+  (values
+    '("reserved-00" "GST_MPEGTS_STREAM_TYPE_RESERVED_00")
+    '("video-mpeg1" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1")
+    '("video-mpeg2" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2")
+    '("audio-mpeg1" "GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1")
+    '("audio-mpeg2" "GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2")
+    '("private-sections" "GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS")
+    '("private-pes-packets" "GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS")
+    '("mheg" "GST_MPEGTS_STREAM_TYPE_MHEG")
+    '("dsm-cc" "GST_MPEGTS_STREAM_TYPE_DSM_CC")
+    '("h-222-1" "GST_MPEGTS_STREAM_TYPE_H_222_1")
+    '("dsmcc-a" "GST_MPEGTS_STREAM_TYPE_DSMCC_A")
+    '("dsmcc-b" "GST_MPEGTS_STREAM_TYPE_DSMCC_B")
+    '("dsmcc-c" "GST_MPEGTS_STREAM_TYPE_DSMCC_C")
+    '("dsmcc-d" "GST_MPEGTS_STREAM_TYPE_DSMCC_D")
+    '("auxiliary" "GST_MPEGTS_STREAM_TYPE_AUXILIARY")
+    '("audio-aac-adts" "GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS")
+    '("video-mpeg4" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4")
+    '("audio-aac-latm" "GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM")
+    '("sl-flexmux-pes-packets" "GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS")
+    '("sl-flexmux-sections" "GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS")
+    '("synchronized-download" "GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD")
+    '("metadata-pes-packets" "GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS")
+    '("metadata-sections" "GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS")
+    '("metadata-data-carousel" "GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL")
+    '("metadata-object-carousel" "GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL")
+    '("metadata-synchronized-download" "GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD")
+    '("mpeg2-ipmp" "GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP")
+    '("video-h264" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264")
+    '("audio-aac-clean" "GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN")
+    '("mpeg4-timed-text" "GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT")
+    '("video-rvc" "GST_MPEGTS_STREAM_TYPE_VIDEO_RVC")
+    '("video-h264-svc-sub-bitstream" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM")
+    '("video-h264-mvc-sub-bitstream" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM")
+    '("video-jp2k" "GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K")
+    '("video-mpeg2-stereo-additional-view" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW")
+    '("video-h264-stereo-additional-view" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW")
+    '("video-hevc" "GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC")
+    '("ipmp-stream" "GST_MPEGTS_STREAM_TYPE_IPMP_STREAM")
+  )
+)
+
+(define-enum MpegtsScteStreamType
+  (in-module "Gst")
+  (c-name "GstMpegtsScteStreamType")
+  (gtype-id "GST_TYPE_MPEGTS_SCTE_STREAM_TYPE")
+  (values
+    '("subtitling" "GST_MPEGTS_STREAM_TYPE_SCTE_SUBTITLING")
+    '("isoch-data" "GST_MPEGTS_STREAM_TYPE_SCTE_ISOCH_DATA")
+    '("dst-nrt" "GST_MPEGTS_STREAM_TYPE_SCTE_DST_NRT")
+    '("dsmcc-dcb" "GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB")
+    '("signaling" "GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING")
+    '("sync-data" "GST_MPEGTS_STREAM_TYPE_SCTE_SYNC_DATA")
+    '("async-data" "GST_MPEGTS_STREAM_TYPE_SCTE_ASYNC_DATA")
+  )
+)
+
+(define-enum MpegtsSectionSCTETableID
+  (in-module "Gst")
+  (c-name "GstMpegtsSectionSCTETableID")
+  (gtype-id "GST_TYPE_MPEGTS_SECTION_SCTE_TABLE_ID")
+  (values
+    '("eas" "GST_MTS_TABLE_ID_SCTE_EAS")
+    '("ebif" "GST_MTS_TABLE_ID_SCTE_EBIF")
+    '("reserved" "GST_MTS_TABLE_ID_SCTE_RESERVED")
+    '("eiss" "GST_MTS_TABLE_ID_SCTE_EISS")
+    '("dii" "GST_MTS_TABLE_ID_SCTE_DII")
+    '("ddb" "GST_MTS_TABLE_ID_SCTE_DDB")
+    '("splice" "GST_MTS_TABLE_ID_SCTE_SPLICE")
+  )
+)
+
+
+;; From gstadaptivedemux.h
+
+(define-function gst_adaptive_demux_get_type
+  (c-name "gst_adaptive_demux_get_type")
+  (return-type "GType")
+)
+
+(define-method set_stream_struct_size
+  (of-object "GstAdaptiveDemux")
+  (c-name "gst_adaptive_demux_set_stream_struct_size")
+  (return-type "none")
+  (parameters
+    '("gsize" "struct_size")
+  )
+)
+
+(define-method stream_new
+  (of-object "GstAdaptiveDemux")
+  (c-name "gst_adaptive_demux_stream_new")
+  (return-type "GstAdaptiveDemuxStream*")
+  (parameters
+    '("GstPad*" "pad")
+  )
+)
+
+(define-method set_caps
+  (of-object "GstAdaptiveDemuxStream")
+  (c-name "gst_adaptive_demux_stream_set_caps")
+  (return-type "none")
+  (parameters
+    '("GstCaps*" "caps")
+  )
+)
+
+(define-method set_tags
+  (of-object "GstAdaptiveDemuxStream")
+  (c-name "gst_adaptive_demux_stream_set_tags")
+  (return-type "none")
+  (parameters
+    '("GstTagList*" "tags")
+  )
+)
+
+(define-method clear
+  (of-object "GstAdaptiveDemuxStreamFragment")
+  (c-name "gst_adaptive_demux_stream_fragment_clear")
+  (return-type "none")
+)
+
+(define-method push_buffer
+  (of-object "GstAdaptiveDemuxStream")
+  (c-name "gst_adaptive_demux_stream_push_buffer")
+  (return-type "GstFlowReturn")
+  (parameters
+    '("GstBuffer*" "buffer")
+  )
+)
+
+(define-method stream_advance_fragment
+  (of-object "GstAdaptiveDemux")
+  (c-name "gst_adaptive_demux_stream_advance_fragment")
+  (return-type "GstFlowReturn")
+  (parameters
+    '("GstAdaptiveDemuxStream*" "stream")
+    '("GstClockTime" "duration")
+  )
+)
+
+(define-method stream_advance_fragment_unlocked
+  (of-object "GstAdaptiveDemux")
+  (c-name "gst_adaptive_demux_stream_advance_fragment_unlocked")
+  (return-type "GstFlowReturn")
+  (parameters
+    '("GstAdaptiveDemuxStream*" "stream")
+    '("GstClockTime" "duration")
+  )
+)
+
+
+
+;; From gstaggregator.h
+
+(define-function gst_aggregator_pad_get_type
+  (c-name "gst_aggregator_pad_get_type")
+  (return-type "GType")
+)
+
+(define-method steal_buffer
+  (of-object "GstAggregatorPad")
+  (c-name "gst_aggregator_pad_steal_buffer")
+  (return-type "GstBuffer*")
+)
+
+(define-method get_buffer
+  (of-object "GstAggregatorPad")
+  (c-name "gst_aggregator_pad_get_buffer")
+  (return-type "GstBuffer*")
+)
+
+(define-method drop_buffer
+  (of-object "GstAggregatorPad")
+  (c-name "gst_aggregator_pad_drop_buffer")
+  (return-type "gboolean")
+)
+
+(define-method is_eos
+  (of-object "GstAggregatorPad")
+  (c-name "gst_aggregator_pad_is_eos")
+  (return-type "gboolean")
+)
+
+(define-method finish_buffer
+  (of-object "GstAggregator")
+  (c-name "gst_aggregator_finish_buffer")
+  (return-type "GstFlowReturn")
+  (parameters
+    '("GstBuffer*" "buffer")
+  )
+)
+
+(define-method set_src_caps
+  (of-object "GstAggregator")
+  (c-name "gst_aggregator_set_src_caps")
+  (return-type "none")
+  (parameters
+    '("GstCaps*" "caps")
+  )
+)
+
+(define-method set_latency
+  (of-object "GstAggregator")
+  (c-name "gst_aggregator_set_latency")
+  (return-type "none")
+  (parameters
+    '("GstClockTime" "min_latency")
+    '("GstClockTime" "max_latency")
+  )
+)
+
+(define-function gst_aggregator_get_type
+  (c-name "gst_aggregator_get_type")
+  (return-type "GType")
+)
+
+(define-method iterate_sinkpads
+  (of-object "GstAggregator")
+  (c-name "gst_aggregator_iterate_sinkpads")
+  (return-type "gboolean")
+  (parameters
+    '("GstAggregatorPadForeachFunc" "func")
+    '("gpointer" "user_data")
+  )
+)
+
+(define-method get_latency
+  (of-object "GstAggregator")
+  (c-name "gst_aggregator_get_latency")
+  (return-type "GstClockTime")
+)
+
+
+
+;; From gstbasecamerasrc.h
+
+(define-function gst_base_camera_src_get_type
+  (c-name "gst_base_camera_src_get_type")
+  (return-type "GType")
+)
+
+(define-method set_mode
+  (of-object "GstBaseCameraSrc")
+  (c-name "gst_base_camera_src_set_mode")
+  (return-type "gboolean")
+  (parameters
+    '("GstCameraBinMode" "mode")
+  )
+)
+
+(define-method setup_zoom
+  (of-object "GstBaseCameraSrc")
+  (c-name "gst_base_camera_src_setup_zoom")
+  (return-type "none")
+)
+
+(define-method setup_preview
+  (of-object "GstBaseCameraSrc")
+  (c-name "gst_base_camera_src_setup_preview")
+  (return-type "none")
+  (parameters
+    '("GstCaps*" "preview_caps")
+  )
+)
+
+(define-method finish_capture
+  (of-object "GstBaseCameraSrc")
+  (c-name "gst_base_camera_src_finish_capture")
+  (return-type "none")
+)
+
+(define-method post_preview
+  (of-object "GstBaseCameraSrc")
+  (c-name "gst_base_camera_src_post_preview")
+  (return-type "none")
+  (parameters
+    '("GstSample*" "sample")
+  )
+)
+
+
+
+;; From gstcamerabin-enum.h
+
+(define-function gst_camerabin_mode_get_type
+  (c-name "gst_camerabin_mode_get_type")
+  (return-type "GType")
+)
+
+
+
+;; From gstcamerabinpreview.h
+
+(define-function gst_camerabin_create_preview_pipeline
+  (c-name "gst_camerabin_create_preview_pipeline")
+  (return-type "GstCameraBinPreviewPipelineData*")
+  (parameters
+    '("GstElement*" "element")
+    '("GstElement*" "filter")
+  )
+)
+
+(define-function gst_camerabin_destroy_preview_pipeline
+  (c-name "gst_camerabin_destroy_preview_pipeline")
+  (return-type "none")
+  (parameters
+    '("GstCameraBinPreviewPipelineData*" "preview")
+  )
+)
+
+(define-function gst_camerabin_preview_pipeline_post
+  (c-name "gst_camerabin_preview_pipeline_post")
+  (return-type "gboolean")
+  (parameters
+    '("GstCameraBinPreviewPipelineData*" "preview")
+    '("GstSample*" "sample")
+  )
+)
+
+(define-function gst_camerabin_preview_set_caps
+  (c-name "gst_camerabin_preview_set_caps")
+  (return-type "none")
+  (parameters
+    '("GstCameraBinPreviewPipelineData*" "preview")
+    '("GstCaps*" "caps")
+  )
+)
+
+(define-function gst_camerabin_preview_set_filter
+  (c-name "gst_camerabin_preview_set_filter")
+  (return-type "gboolean")
+  (parameters
+    '("GstCameraBinPreviewPipelineData*" "preview")
+    '("GstElement*" "filter")
+  )
+)
+
+
+
+;; From dboolhuff.h
+
+(define-function vp8dx_start_decode
+  (c-name "vp8dx_start_decode")
+  (return-type "int")
+  (parameters
+    '("BOOL_DECODER*" "br")
+    '("const-unsigned-char*" "source")
+    '("unsigned-int" "source_sz")
+    '("vp8_decrypt_cb*" "decrypt_cb")
+    '("void*" "decrypt_state")
+  )
+)
+
+(define-function vp8dx_bool_decoder_fill
+  (c-name "vp8dx_bool_decoder_fill")
+  (return-type "none")
+  (parameters
+    '("BOOL_DECODER*" "br")
+  )
+)
+
+(define-function vp8dx_decode_bool
+  (c-name "vp8dx_decode_bool")
+  (return-type "int")
+  (parameters
+    '("BOOL_DECODER*" "br")
+    '("int" "probability")
+  )
+)
+
+(define-function vp8_decode_value
+  (c-name "vp8_decode_value")
+  (return-type "int")
+  (parameters
+    '("BOOL_DECODER*" "br")
+    '("int" "bits")
+  )
+)
+
+(define-function vp8dx_bool_error
+  (c-name "vp8dx_bool_error")
+  (return-type "int")
+  (parameters
+    '("BOOL_DECODER*" "br")
+  )
+)
+
+
+
+;; From gsth264parser.h
+
+(define-function gst_h264_nal_parser_new
+  (c-name "gst_h264_nal_parser_new")
+  (is-constructor-of "GstH264NalParser")
+  (return-type "GstH264NalParser*")
+)
+
+(define-function gst_h264_parser_identify_nalu
+  (c-name "gst_h264_parser_identify_nalu")
+  (return-type "GstH264ParserResult")
+  (parameters
+    '("GstH264NalParser*" "nalparser")
+    '("const-guint8*" "data")
+    '("guint" "offset")
+    '("gsize" "size")
+    '("GstH264NalUnit*" "nalu")
+  )
+)
+
+(define-function gst_h264_parser_identify_nalu_unchecked
+  (c-name "gst_h264_parser_identify_nalu_unchecked")
+  (return-type "GstH264ParserResult")
+  (parameters
+    '("GstH264NalParser*" "nalparser")
+    '("const-guint8*" "data")
+    '("guint" "offset")
+    '("gsize" "size")
+    '("GstH264NalUnit*" "nalu")
+  )
+)
+
+(define-function gst_h264_parser_identify_nalu_avc
+  (c-name "gst_h264_parser_identify_nalu_avc")
+  (return-type "GstH264ParserResult")
+  (parameters
+    '("GstH264NalParser*" "nalparser")
+    '("const-guint8*" "data")
+    '("guint" "offset")
+    '("gsize" "size")
+    '("guint8" "nal_length_size")
+    '("GstH264NalUnit*" "nalu")
+  )
+)
+
+(define-function gst_h264_parser_parse_nal
+  (c-name "gst_h264_parser_parse_nal")
+  (return-type "GstH264ParserResult")
+  (parameters
+    '("GstH264NalParser*" "nalparser")
+    '("GstH264NalUnit*" "nalu")
+  )
+)
+
+(define-function gst_h264_parser_parse_slice_hdr
+  (c-name "gst_h264_parser_parse_slice_hdr")
+  (return-type "GstH264ParserResult")
+  (parameters
+    '("GstH264NalParser*" "nalparser")
+    '("GstH264NalUnit*" "nalu")
+    '("GstH264SliceHdr*" "slice")
+    '("gboolean" "parse_pred_weight_table")
+    '("gboolean" "parse_dec_ref_pic_marking")
+  )
+)
+
+(define-function gst_h264_parser_parse_subset_sps
+  (c-name "gst_h264_parser_parse_subset_sps")
+  (return-type "GstH264ParserResult")
+  (parameters
+    '("GstH264NalParser*" "nalparser")
+    '("GstH264NalUnit*" "nalu")
+    '("GstH264SPS*" "sps")
+    '("gboolean" "parse_vui_params")
+  )
+)
+
+(define-function gst_h264_parser_parse_sps
+  (c-name "gst_h264_parser_parse_sps")
+  (return-type "GstH264ParserResult")
+  (parameters
+    '("GstH264NalParser*" "nalparser")
+    '("GstH264NalUnit*" "nalu")
+    '("GstH264SPS*" "sps")
+    '("gboolean" "parse_vui_params")
+  )
+)
+
+(define-function gst_h264_parser_parse_pps
+  (c-name "gst_h264_parser_parse_pps")
+  (return-type "GstH264ParserResult")
+  (parameters
+    '("GstH264NalParser*" "nalparser")
+    '("GstH264NalUnit*" "nalu")
+    '("GstH264PPS*" "pps")
+  )
+)
+
+(define-function gst_h264_parser_parse_sei
+  (c-name "gst_h264_parser_parse_sei")
+  (return-type "GstH264ParserResult")
+  (parameters
+    '("GstH264NalParser*" "nalparser")
+    '("GstH264NalUnit*" "nalu")
+    '("GArray**" "messages")
+  )
+)
+
+(define-method free
+  (of-object "GstH264NalParser")
+  (c-name "gst_h264_nal_parser_free")
+  (return-type "none")
+)
+
+(define-function gst_h264_parse_subset_sps
+  (c-name "gst_h264_parse_subset_sps")
+  (return-type "GstH264ParserResult")
+  (parameters
+    '("GstH264NalUnit*" "nalu")
+    '("GstH264SPS*" "sps")
+    '("gboolean" "parse_vui_params")
+  )
+)
+
+(define-function gst_h264_parse_sps
+  (c-name "gst_h264_parse_sps")
+  (return-type "GstH264ParserResult")
+  (parameters
+    '("GstH264NalUnit*" "nalu")
+    '("GstH264SPS*" "sps")
+    '("gboolean" "parse_vui_params")
+  )
+)
+
+(define-function gst_h264_parse_pps
+  (c-name "gst_h264_parse_pps")
+  (return-type "GstH264ParserResult")
+  (parameters
+    '("GstH264NalParser*" "nalparser")
+    '("GstH264NalUnit*" "nalu")
+    '("GstH264PPS*" "pps")
+  )
+)
+
+(define-method clear
+  (of-object "GstH264SPS")
+  (c-name "gst_h264_sps_clear")
+  (return-type "none")
+)
+
+(define-method clear
+  (of-object "GstH264PPS")
+  (c-name "gst_h264_pps_clear")
+  (return-type "none")
+)
+
+(define-function gst_h264_quant_matrix_8x8_get_zigzag_from_raster
+  (c-name "gst_h264_quant_matrix_8x8_get_zigzag_from_raster")
+  (return-type "none")
+  (parameters
+    '("guint8" "out_quant[64]")
+    '("const-guint8" "quant[64]")
+  )
+)
+
+(define-function gst_h264_quant_matrix_8x8_get_raster_from_zigzag
+  (c-name "gst_h264_quant_matrix_8x8_get_raster_from_zigzag")
+  (return-type "none")
+  (parameters
+    '("guint8" "out_quant[64]")
+    '("const-guint8" "quant[64]")
+  )
+)
+
+(define-function gst_h264_quant_matrix_4x4_get_zigzag_from_raster
+  (c-name "gst_h264_quant_matrix_4x4_get_zigzag_from_raster")
+  (return-type "none")
+  (parameters
+    '("guint8" "out_quant[16]")
+    '("const-guint8" "quant[16]")
+  )
+)
+
+(define-function gst_h264_quant_matrix_4x4_get_raster_from_zigzag
+  (c-name "gst_h264_quant_matrix_4x4_get_raster_from_zigzag")
+  (return-type "none")
+  (parameters
+    '("guint8" "out_quant[16]")
+    '("const-guint8" "quant[16]")
+  )
+)
+
+(define-function gst_h264_video_calculate_framerate
+  (c-name "gst_h264_video_calculate_framerate")
+  (return-type "none")
+  (parameters
+    '("const-GstH264SPS*" "sps")
+    '("guint" "field_pic_flag")
+    '("guint" "pic_struct")
+    '("gint*" "fps_num")
+    '("gint*" "fps_den")
+  )
+)
+
+
+
+;; From gsth265parser.h
+
+(define-function gst_h265_parser_new
+  (c-name "gst_h265_parser_new")
+  (is-constructor-of "GstH265Parser")
+  (return-type "GstH265Parser*")
+)
+
+(define-method identify_nalu
+  (of-object "GstH265Parser")
+  (c-name "gst_h265_parser_identify_nalu")
+  (return-type "GstH265ParserResult")
+  (parameters
+    '("const-guint8*" "data")
+    '("guint" "offset")
+    '("gsize" "size")
+    '("GstH265NalUnit*" "nalu")
+  )
+)
+
+(define-method identify_nalu_unchecked
+  (of-object "GstH265Parser")
+  (c-name "gst_h265_parser_identify_nalu_unchecked")
+  (return-type "GstH265ParserResult")
+  (parameters
+    '("const-guint8*" "data")
+    '("guint" "offset")
+    '("gsize" "size")
+    '("GstH265NalUnit*" "nalu")
+  )
+)
+
+(define-method identify_nalu_hevc
+  (of-object "GstH265Parser")
+  (c-name "gst_h265_parser_identify_nalu_hevc")
+  (return-type "GstH265ParserResult")
+  (parameters
+    '("const-guint8*" "data")
+    '("guint" "offset")
+    '("gsize" "size")
+    '("guint8" "nal_length_size")
+    '("GstH265NalUnit*" "nalu")
+  )
+)
+
+(define-method parse_nal
+  (of-object "GstH265Parser")
+  (c-name "gst_h265_parser_parse_nal")
+  (return-type "GstH265ParserResult")
+  (parameters
+    '("GstH265NalUnit*" "nalu")
+  )
+)
+
+(define-method parse_slice_hdr
+  (of-object "GstH265Parser")
+  (c-name "gst_h265_parser_parse_slice_hdr")
+  (return-type "GstH265ParserResult")
+  (parameters
+    '("GstH265NalUnit*" "nalu")
+    '("GstH265SliceHdr*" "slice")
+  )
+)
+
+(define-method parse_vps
+  (of-object "GstH265Parser")
+  (c-name "gst_h265_parser_parse_vps")
+  (return-type "GstH265ParserResult")
+  (parameters
+    '("GstH265NalUnit*" "nalu")
+    '("GstH265VPS*" "vps")
+  )
+)
+
+(define-method parse_sps
+  (of-object "GstH265Parser")
+  (c-name "gst_h265_parser_parse_sps")
+  (return-type "GstH265ParserResult")
+  (parameters
+    '("GstH265NalUnit*" "nalu")
+    '("GstH265SPS*" "sps")
+    '("gboolean" "parse_vui_params")
+  )
+)
+
+(define-method parse_pps
+  (of-object "GstH265Parser")
+  (c-name "gst_h265_parser_parse_pps")
+  (return-type "GstH265ParserResult")
+  (parameters
+    '("GstH265NalUnit*" "nalu")
+    '("GstH265PPS*" "pps")
+  )
+)
+
+(define-method parse_sei
+  (of-object "GstH265Parser")
+  (c-name "gst_h265_parser_parse_sei")
+  (return-type "GstH265ParserResult")
+  (parameters
+    '("GstH265NalUnit*" "nalu")
+    '("GArray**" "messages")
+  )
+)
+
+(define-method free
+  (of-object "GstH265Parser")
+  (c-name "gst_h265_parser_free")
+  (return-type "none")
+)
+
+(define-function gst_h265_parse_vps
+  (c-name "gst_h265_parse_vps")
+  (return-type "GstH265ParserResult")
+  (parameters
+    '("GstH265NalUnit*" "nalu")
+    '("GstH265VPS*" "vps")
+  )
+)
+
+(define-function gst_h265_parse_sps
+  (c-name "gst_h265_parse_sps")
+  (return-type "GstH265ParserResult")
+  (parameters
+    '("GstH265Parser*" "parser")
+    '("GstH265NalUnit*" "nalu")
+    '("GstH265SPS*" "sps")
+    '("gboolean" "parse_vui_params")
+  )
+)
+
+(define-function gst_h265_parse_pps
+  (c-name "gst_h265_parse_pps")
+  (return-type "GstH265ParserResult")
+  (parameters
+    '("GstH265Parser*" "parser")
+    '("GstH265NalUnit*" "nalu")
+    '("GstH265PPS*" "pps")
+  )
+)
+
+(define-method copy
+  (of-object "GstH265SliceHdr")
+  (c-name "gst_h265_slice_hdr_copy")
+  (return-type "gboolean")
+  (parameters
+    '("const-GstH265SliceHdr*" "src_slice")
+  )
+)
+
+(define-method free
+  (of-object "GstH265SliceHdr")
+  (c-name "gst_h265_slice_hdr_free")
+  (return-type "none")
+)
+
+(define-function gst_h265_sei_copy
+  (c-name "gst_h265_sei_copy")
+  (return-type "gboolean")
+  (parameters
+    '("GstH265SEIMessage*" "dest_sei")
+    '("const-GstH265SEIMessage*" "src_sei")
+  )
+)
+
+(define-function gst_h265_sei_free
+  (c-name "gst_h265_sei_free")
+  (return-type "none")
+  (parameters
+    '("GstH265SEIMessage*" "sei")
+  )
+)
+
+(define-function gst_h265_quant_matrix_4x4_get_zigzag_from_raster
+  (c-name "gst_h265_quant_matrix_4x4_get_zigzag_from_raster")
+  (return-type "none")
+  (parameters
+    '("guint8" "out_quant[16]")
+    '("const-guint8" "quant[16]")
+  )
+)
+
+(define-function gst_h265_quant_matrix_4x4_get_raster_from_zigzag
+  (c-name "gst_h265_quant_matrix_4x4_get_raster_from_zigzag")
+  (return-type "none")
+  (parameters
+    '("guint8" "out_quant[16]")
+    '("const-guint8" "quant[16]")
+  )
+)
+
+(define-function gst_h265_quant_matrix_8x8_get_zigzag_from_raster
+  (c-name "gst_h265_quant_matrix_8x8_get_zigzag_from_raster")
+  (return-type "none")
+  (parameters
+    '("guint8" "out_quant[64]")
+    '("const-guint8" "quant[64]")
+  )
+)
+
+(define-function gst_h265_quant_matrix_8x8_get_raster_from_zigzag
+  (c-name "gst_h265_quant_matrix_8x8_get_raster_from_zigzag")
+  (return-type "none")
+  (parameters
+    '("guint8" "out_quant[64]")
+    '("const-guint8" "quant[64]")
+  )
+)
+
+
+
+;; From gstjpegparser.h
+
+(define-function gst_jpeg_parse
+  (c-name "gst_jpeg_parse")
+  (return-type "gboolean")
+  (parameters
+    '("GstJpegSegment*" "seg")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("guint" "offset")
+  )
+)
+
+(define-method parse_frame_header
+  (of-object "GstJpegSegment")
+  (c-name "gst_jpeg_segment_parse_frame_header")
+  (return-type "gboolean")
+  (parameters
+    '("GstJpegFrameHdr*" "frame_hdr")
+  )
+)
+
+(define-method parse_scan_header
+  (of-object "GstJpegSegment")
+  (c-name "gst_jpeg_segment_parse_scan_header")
+  (return-type "gboolean")
+  (parameters
+    '("GstJpegScanHdr*" "scan_hdr")
+  )
+)
+
+(define-method parse_huffman_table
+  (of-object "GstJpegSegment")
+  (c-name "gst_jpeg_segment_parse_huffman_table")
+  (return-type "gboolean")
+  (parameters
+    '("GstJpegHuffmanTables*" "huff_tables")
+  )
+)
+
+(define-method parse_restart_interval
+  (of-object "GstJpegSegment")
+  (c-name "gst_jpeg_segment_parse_restart_interval")
+  (return-type "gboolean")
+  (parameters
+    '("guint*" "interval")
+  )
+)
+
+(define-method parse_quantization_table
+  (of-object "GstJpegSegment")
+  (c-name "gst_jpeg_segment_parse_quantization_table")
+  (return-type "gboolean")
+  (parameters
+    '("GstJpegQuantTables*" "quant_tables")
+  )
+)
+
+(define-function gst_jpeg_get_default_quantization_tables
+  (c-name "gst_jpeg_get_default_quantization_tables")
+  (return-type "none")
+  (parameters
+    '("GstJpegQuantTables*" "quant_tables")
+  )
+)
+
+(define-function gst_jpeg_get_default_huffman_tables
+  (c-name "gst_jpeg_get_default_huffman_tables")
+  (return-type "none")
+  (parameters
+    '("GstJpegHuffmanTables*" "huff_tables")
+  )
+)
+
+
+
+;; From gstmpeg4parser.h
+
+(define-function gst_h263_parse
+  (c-name "gst_h263_parse")
+  (return-type "GstMpeg4ParseResult")
+  (parameters
+    '("GstMpeg4Packet*" "packet")
+    '("const-guint8*" "data")
+    '("guint" "offset")
+    '("gsize" "size")
+  )
+)
+
+(define-function gst_mpeg4_parse
+  (c-name "gst_mpeg4_parse")
+  (return-type "GstMpeg4ParseResult")
+  (parameters
+    '("GstMpeg4Packet*" "packet")
+    '("gboolean" "skip_user_data")
+    '("GstMpeg4VideoObjectPlane*" "vop")
+    '("const-guint8*" "data")
+    '("guint" "offset")
+    '("gsize" "size")
+  )
+)
+
+(define-function gst_mpeg4_parse_video_object_plane
+  (c-name "gst_mpeg4_parse_video_object_plane")
+  (return-type "GstMpeg4ParseResult")
+  (parameters
+    '("GstMpeg4VideoObjectPlane*" "vop")
+    '("GstMpeg4SpriteTrajectory*" "sprite_trajectory")
+    '("GstMpeg4VideoObjectLayer*" "vol")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+  )
+)
+
+(define-function gst_mpeg4_parse_group_of_vop
+  (c-name "gst_mpeg4_parse_group_of_vop")
+  (return-type "GstMpeg4ParseResult")
+  (parameters
+    '("GstMpeg4GroupOfVOP*" "gov")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+  )
+)
+
+(define-function gst_mpeg4_parse_video_object_layer
+  (c-name "gst_mpeg4_parse_video_object_layer")
+  (return-type "GstMpeg4ParseResult")
+  (parameters
+    '("GstMpeg4VideoObjectLayer*" "vol")
+    '("GstMpeg4VisualObject*" "vo")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+  )
+)
+
+(define-function gst_mpeg4_parse_visual_object
+  (c-name "gst_mpeg4_parse_visual_object")
+  (return-type "GstMpeg4ParseResult")
+  (parameters
+    '("GstMpeg4VisualObject*" "vo")
+    '("GstMpeg4VideoSignalType*" "signal_type")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+  )
+)
+
+(define-function gst_mpeg4_parse_visual_object_sequence
+  (c-name "gst_mpeg4_parse_visual_object_sequence")
+  (return-type "GstMpeg4ParseResult")
+  (parameters
+    '("GstMpeg4VisualObjectSequence*" "vos")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+  )
+)
+
+(define-function gst_mpeg4_parse_video_plane_short_header
+  (c-name "gst_mpeg4_parse_video_plane_short_header")
+  (return-type "GstMpeg4ParseResult")
+  (parameters
+    '("GstMpeg4VideoPlaneShortHdr*" "shorthdr")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+  )
+)
+
+(define-function gst_mpeg4_parse_video_packet_header
+  (c-name "gst_mpeg4_parse_video_packet_header")
+  (return-type "GstMpeg4ParseResult")
+  (parameters
+    '("GstMpeg4VideoPacketHdr*" "videopackethdr")
+    '("GstMpeg4VideoObjectLayer*" "vol")
+    '("GstMpeg4VideoObjectPlane*" "vop")
+    '("GstMpeg4SpriteTrajectory*" "sprite_trajectory")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+  )
+)
+
+
+
+;; From gstmpegvideometa.h
+
+(define-function gst_mpeg_video_meta_api_get_type
+  (c-name "gst_mpeg_video_meta_api_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpeg_video_meta_get_info
+  (c-name "gst_mpeg_video_meta_get_info")
+  (return-type "const-GstMetaInfo*")
+)
+
+(define-method add_mpeg_video_meta
+  (of-object "GstBuffer")
+  (c-name "gst_buffer_add_mpeg_video_meta")
+  (return-type "GstMpegVideoMeta*")
+  (parameters
+    '("const-GstMpegVideoSequenceHdr*" "seq_hdr")
+    '("const-GstMpegVideoSequenceExt*" "seq_ext")
+    '("const-GstMpegVideoSequenceDisplayExt*" "disp_ext")
+    '("const-GstMpegVideoPictureHdr*" "pic_hdr")
+    '("const-GstMpegVideoPictureExt*" "pic_ext")
+    '("const-GstMpegVideoQuantMatrixExt*" "quant_ext")
+  )
+)
+
+
+
+;; From gstmpegvideoparser.h
+
+(define-function gst_mpeg_video_parse
+  (c-name "gst_mpeg_video_parse")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoPacket*" "packet")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("guint" "offset")
+  )
+)
+
+(define-method parse_sequence_header
+  (of-object "GstMpegVideoPacket")
+  (c-name "gst_mpeg_video_packet_parse_sequence_header")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoSequenceHdr*" "seqhdr")
+  )
+)
+
+(define-method parse_sequence_extension
+  (of-object "GstMpegVideoPacket")
+  (c-name "gst_mpeg_video_packet_parse_sequence_extension")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoSequenceExt*" "seqext")
+  )
+)
+
+(define-method parse_sequence_display_extension
+  (of-object "GstMpegVideoPacket")
+  (c-name "gst_mpeg_video_packet_parse_sequence_display_extension")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoSequenceDisplayExt*" "seqdisplayext")
+  )
+)
+
+(define-method parse_sequence_scalable_extension
+  (of-object "GstMpegVideoPacket")
+  (c-name "gst_mpeg_video_packet_parse_sequence_scalable_extension")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoSequenceScalableExt*" "seqscaleext")
+  )
+)
+
+(define-method parse_picture_header
+  (of-object "GstMpegVideoPacket")
+  (c-name "gst_mpeg_video_packet_parse_picture_header")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoPictureHdr*" "pichdr")
+  )
+)
+
+(define-method parse_picture_extension
+  (of-object "GstMpegVideoPacket")
+  (c-name "gst_mpeg_video_packet_parse_picture_extension")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoPictureExt*" "picext")
+  )
+)
+
+(define-method parse_gop
+  (of-object "GstMpegVideoPacket")
+  (c-name "gst_mpeg_video_packet_parse_gop")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoGop*" "gop")
+  )
+)
+
+(define-method parse_slice_header
+  (of-object "GstMpegVideoPacket")
+  (c-name "gst_mpeg_video_packet_parse_slice_header")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoSliceHdr*" "slice_hdr")
+    '("GstMpegVideoSequenceHdr*" "seq_hdr")
+    '("GstMpegVideoSequenceScalableExt*" "seqscaleext")
+  )
+)
+
+(define-method parse_quant_matrix_extension
+  (of-object "GstMpegVideoPacket")
+  (c-name "gst_mpeg_video_packet_parse_quant_matrix_extension")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoQuantMatrixExt*" "quant")
+  )
+)
+
+(define-function gst_mpeg_video_finalise_mpeg2_sequence_header
+  (c-name "gst_mpeg_video_finalise_mpeg2_sequence_header")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoSequenceHdr*" "hdr")
+    '("GstMpegVideoSequenceExt*" "seqext")
+    '("GstMpegVideoSequenceDisplayExt*" "displayext")
+  )
+)
+
+(define-function gst_mpeg_video_parse_picture_header
+  (c-name "gst_mpeg_video_parse_picture_header")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoPictureHdr*" "hdr")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("guint" "offset")
+  )
+)
+
+(define-function gst_mpeg_video_parse_picture_extension
+  (c-name "gst_mpeg_video_parse_picture_extension")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoPictureExt*" "ext")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("guint" "offset")
+  )
+)
+
+(define-function gst_mpeg_video_parse_gop
+  (c-name "gst_mpeg_video_parse_gop")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoGop*" "gop")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("guint" "offset")
+  )
+)
+
+(define-function gst_mpeg_video_parse_sequence_header
+  (c-name "gst_mpeg_video_parse_sequence_header")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoSequenceHdr*" "seqhdr")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("guint" "offset")
+  )
+)
+
+(define-function gst_mpeg_video_parse_sequence_extension
+  (c-name "gst_mpeg_video_parse_sequence_extension")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoSequenceExt*" "seqext")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("guint" "offset")
+  )
+)
+
+(define-function gst_mpeg_video_parse_sequence_display_extension
+  (c-name "gst_mpeg_video_parse_sequence_display_extension")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoSequenceDisplayExt*" "seqdisplayext")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("guint" "offset")
+  )
+)
+
+(define-function gst_mpeg_video_parse_quant_matrix_extension
+  (c-name "gst_mpeg_video_parse_quant_matrix_extension")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegVideoQuantMatrixExt*" "quant")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("guint" "offset")
+  )
+)
+
+(define-function gst_mpeg_video_quant_matrix_get_raster_from_zigzag
+  (c-name "gst_mpeg_video_quant_matrix_get_raster_from_zigzag")
+  (return-type "none")
+  (parameters
+    '("guint8" "out_quant[64]")
+    '("const-guint8" "quant[64]")
+  )
+)
+
+(define-function gst_mpeg_video_quant_matrix_get_zigzag_from_raster
+  (c-name "gst_mpeg_video_quant_matrix_get_zigzag_from_raster")
+  (return-type "none")
+  (parameters
+    '("guint8" "out_quant[64]")
+    '("const-guint8" "quant[64]")
+  )
+)
+
+
+
+;; From gstvc1parser.h
+
+(define-function gst_vc1_identify_next_bdu
+  (c-name "gst_vc1_identify_next_bdu")
+  (return-type "GstVC1ParserResult")
+  (parameters
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("GstVC1BDU*" "bdu")
+  )
+)
+
+(define-function gst_vc1_parse_sequence_header
+  (c-name "gst_vc1_parse_sequence_header")
+  (return-type "GstVC1ParserResult")
+  (parameters
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("GstVC1SeqHdr*" "seqhdr")
+  )
+)
+
+(define-function gst_vc1_parse_entry_point_header
+  (c-name "gst_vc1_parse_entry_point_header")
+  (return-type "GstVC1ParserResult")
+  (parameters
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("GstVC1EntryPointHdr*" "entrypoint")
+    '("GstVC1SeqHdr*" "seqhdr")
+  )
+)
+
+(define-function gst_vc1_parse_sequence_layer
+  (c-name "gst_vc1_parse_sequence_layer")
+  (return-type "GstVC1ParserResult")
+  (parameters
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("GstVC1SeqLayer*" "seqlayer")
+  )
+)
+
+(define-function gst_vc1_parse_sequence_header_struct_a
+  (c-name "gst_vc1_parse_sequence_header_struct_a")
+  (return-type "GstVC1ParserResult")
+  (parameters
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("GstVC1SeqStructA*" "structa")
+  )
+)
+
+(define-function gst_vc1_parse_sequence_header_struct_b
+  (c-name "gst_vc1_parse_sequence_header_struct_b")
+  (return-type "GstVC1ParserResult")
+  (parameters
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("GstVC1SeqStructB*" "structb")
+  )
+)
+
+(define-function gst_vc1_parse_sequence_header_struct_c
+  (c-name "gst_vc1_parse_sequence_header_struct_c")
+  (return-type "GstVC1ParserResult")
+  (parameters
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("GstVC1SeqStructC*" "structc")
+  )
+)
+
+(define-function gst_vc1_parse_frame_layer
+  (c-name "gst_vc1_parse_frame_layer")
+  (return-type "GstVC1ParserResult")
+  (parameters
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("GstVC1FrameLayer*" "framelayer")
+  )
+)
+
+(define-function gst_vc1_parse_frame_header
+  (c-name "gst_vc1_parse_frame_header")
+  (return-type "GstVC1ParserResult")
+  (parameters
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("GstVC1FrameHdr*" "framehdr")
+    '("GstVC1SeqHdr*" "seqhdr")
+    '("GstVC1BitPlanes*" "bitplanes")
+  )
+)
+
+(define-function gst_vc1_parse_field_header
+  (c-name "gst_vc1_parse_field_header")
+  (return-type "GstVC1ParserResult")
+  (parameters
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("GstVC1FrameHdr*" "fieldhdr")
+    '("GstVC1SeqHdr*" "seqhdr")
+    '("GstVC1BitPlanes*" "bitplanes")
+  )
+)
+
+(define-function gst_vc1_parse_slice_header
+  (c-name "gst_vc1_parse_slice_header")
+  (return-type "GstVC1ParserResult")
+  (parameters
+    '("const-guint8*" "data")
+    '("gsize" "size")
+    '("GstVC1SliceHdr*" "slicehdr")
+    '("GstVC1SeqHdr*" "seqhdr")
+  )
+)
+
+(define-function gst_vc1_bitplanes_new
+  (c-name "gst_vc1_bitplanes_new")
+  (is-constructor-of "GstVc1Bitplanes")
+  (return-type "GstVC1BitPlanes*")
+)
+
+(define-method free
+  (of-object "GstVC1BitPlanes")
+  (c-name "gst_vc1_bitplanes_free")
+  (return-type "none")
+)
+
+(define-method free_1
+  (of-object "GstVC1BitPlanes")
+  (c-name "gst_vc1_bitplanes_free_1")
+  (return-type "none")
+)
+
+(define-method ensure_size
+  (of-object "GstVC1BitPlanes")
+  (c-name "gst_vc1_bitplanes_ensure_size")
+  (return-type "gboolean")
+  (parameters
+    '("GstVC1SeqHdr*" "seqhdr")
+  )
+)
+
+
+
+;; From gstvp8parser.h
+
+(define-method init
+  (of-object "GstVp8Parser")
+  (c-name "gst_vp8_parser_init")
+  (return-type "none")
+)
+
+(define-method parse_frame_header
+  (of-object "GstVp8Parser")
+  (c-name "gst_vp8_parser_parse_frame_header")
+  (return-type "GstVp8ParserResult")
+  (parameters
+    '("GstVp8FrameHdr*" "frame_hdr")
+    '("const-guint8*" "data")
+    '("gsize" "size")
+  )
+)
+
+
+
+;; From gstvp8rangedecoder.h
+
+(define-method init
+  (of-object "GstVp8RangeDecoder")
+  (c-name "gst_vp8_range_decoder_init")
+  (return-type "gboolean")
+  (parameters
+    '("const-guchar*" "buf")
+    '("guint" "buf_size")
+  )
+)
+
+(define-method read
+  (of-object "GstVp8RangeDecoder")
+  (c-name "gst_vp8_range_decoder_read")
+  (return-type "gint")
+  (parameters
+    '("guint8" "prob")
+  )
+)
+
+(define-method read_literal
+  (of-object "GstVp8RangeDecoder")
+  (c-name "gst_vp8_range_decoder_read_literal")
+  (return-type "gint")
+  (parameters
+    '("gint" "bits")
+  )
+)
+
+(define-method get_pos
+  (of-object "GstVp8RangeDecoder")
+  (c-name "gst_vp8_range_decoder_get_pos")
+  (return-type "guint")
+)
+
+(define-method get_state
+  (of-object "GstVp8RangeDecoder")
+  (c-name "gst_vp8_range_decoder_get_state")
+  (return-type "none")
+  (parameters
+    '("GstVp8RangeDecoderState*" "state")
+  )
+)
+
+
+
+;; From nalutils.h
+
+(define-function ceil_log2
+  (c-name "ceil_log2")
+  (return-type "guint")
+  (parameters
+    '("guint32" "v")
+  )
+)
+
+(define-method init
+  (of-object "NalReader")
+  (c-name "nal_reader_init")
+  (return-type "none")
+  (parameters
+    '("const-guint8*" "data")
+    '("guint" "size")
+  )
+)
+
+(define-method read
+  (of-object "NalReader")
+  (c-name "nal_reader_read")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "nbits")
+  )
+)
+
+(define-method skip
+  (of-object "NalReader")
+  (c-name "nal_reader_skip")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "nbits")
+  )
+)
+
+(define-method skip_long
+  (of-object "NalReader")
+  (c-name "nal_reader_skip_long")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "nbits")
+  )
+)
+
+(define-method get_pos
+  (of-object "NalReader")
+  (c-name "nal_reader_get_pos")
+  (return-type "guint")
+)
+
+(define-method get_remaining
+  (of-object "NalReader")
+  (c-name "nal_reader_get_remaining")
+  (return-type "guint")
+)
+
+(define-method get_epb_count
+  (of-object "NalReader")
+  (c-name "nal_reader_get_epb_count")
+  (return-type "guint")
+)
+
+(define-method is_byte_aligned
+  (of-object "NalReader")
+  (c-name "nal_reader_is_byte_aligned")
+  (return-type "gboolean")
+)
+
+(define-method has_more_data
+  (of-object "NalReader")
+  (c-name "nal_reader_has_more_data")
+  (return-type "gboolean")
+)
+
+(define-method get_ue
+  (of-object "NalReader")
+  (c-name "nal_reader_get_ue")
+  (return-type "gboolean")
+  (parameters
+    '("guint32*" "val")
+  )
+)
+
+(define-method get_se
+  (of-object "NalReader")
+  (c-name "nal_reader_get_se")
+  (return-type "gboolean")
+  (parameters
+    '("gint32*" "val")
+  )
+)
+
+(define-function scan_for_start_codes
+  (c-name "scan_for_start_codes")
+  (return-type "gint")
+  (parameters
+    '("const-guint8*" "data")
+    '("guint" "size")
+  )
+)
+
+
+
+;; From parserutils.h
+
+(define-function decode_vlc
+  (c-name "decode_vlc")
+  (return-type "gboolean")
+  (parameters
+    '("GstBitReader*" "br")
+    '("guint*" "res")
+    '("const-VLCTable*" "table")
+    '("guint" "length")
+  )
+)
+
+
+
+;; From vp8utils.h
+
+(define-function gst_vp8_token_update_probs_init
+  (c-name "gst_vp8_token_update_probs_init")
+  (return-type "none")
+  (parameters
+    '("GstVp8TokenProbs*" "probs")
+  )
+)
+
+(define-method init_defaults
+  (of-object "GstVp8TokenProbs")
+  (c-name "gst_vp8_token_probs_init_defaults")
+  (return-type "none")
+)
+
+(define-function gst_vp8_mv_update_probs_init
+  (c-name "gst_vp8_mv_update_probs_init")
+  (return-type "none")
+  (parameters
+    '("GstVp8MvProbs*" "probs")
+  )
+)
+
+(define-method init_defaults
+  (of-object "GstVp8MvProbs")
+  (c-name "gst_vp8_mv_probs_init_defaults")
+  (return-type "none")
+)
+
+(define-method init_defaults
+  (of-object "GstVp8ModeProbs")
+  (c-name "gst_vp8_mode_probs_init_defaults")
+  (return-type "none")
+  (parameters
+    '("gboolean" "key_frame")
+  )
+)
+
+
+
+;; From gl.h
+
+
+
+;; From gstglapi.h
+
+(define-method to_string
+  (of-object "GstGLAPI")
+  (c-name "gst_gl_api_to_string")
+  (return-type "gchar*")
+)
+
+(define-function gst_gl_api_from_string
+  (c-name "gst_gl_api_from_string")
+  (return-type "GstGLAPI")
+  (parameters
+    '("const-gchar*" "api_s")
+  )
+)
+
+(define-method to_string
+  (of-object "GstGLPlatform")
+  (c-name "gst_gl_platform_to_string")
+  (return-type "gchar*")
+)
+
+(define-function gst_gl_platform_from_string
+  (c-name "gst_gl_platform_from_string")
+  (return-type "GstGLPlatform")
+  (parameters
+    '("const-gchar*" "platform_s")
+  )
+)
+
+
+
+;; From gstglbasebuffer.h
+
+(define-function gst_gl_base_buffer_allocator_get_type
+  (c-name "gst_gl_base_buffer_allocator_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_base_buffer_error_quark
+  (c-name "gst_gl_base_buffer_error_quark")
+  (return-type "GQuark")
+)
+
+(define-function gst_gl_base_buffer_init_once
+  (c-name "gst_gl_base_buffer_init_once")
+  (return-type "none")
+)
+
+(define-function gst_is_gl_base_buffer
+  (c-name "gst_is_gl_base_buffer")
+  (return-type "gboolean")
+  (parameters
+    '("GstMemory*" "mem")
+  )
+)
+
+(define-method init
+  (of-object "GstGLBaseBuffer")
+  (c-name "gst_gl_base_buffer_init")
+  (return-type "none")
+  (parameters
+    '("GstAllocator*" "allocator")
+    '("GstMemory*" "parent")
+    '("GstGLContext*" "context")
+    '("GstAllocationParams*" "params")
+    '("gsize" "maxsize")
+  )
+)
+
+(define-method alloc_data
+  (of-object "GstGLBaseBuffer")
+  (c-name "gst_gl_base_buffer_alloc_data")
+  (return-type "GstGLBaseBuffer*")
+)
+
+(define-method copy_buffer_sub_data
+  (of-object "GstGLBaseBuffer")
+  (c-name "gst_gl_base_buffer_copy_buffer_sub_data")
+  (return-type "gboolean")
+  (parameters
+    '("GstGLBaseBuffer*" "dest")
+    '("gssize" "offset")
+    '("gssize" "size")
+  )
+)
+
+(define-method memcpy
+  (of-object "GstGLBaseBuffer")
+  (c-name "gst_gl_base_buffer_memcpy")
+  (return-type "gboolean")
+  (parameters
+    '("GstGLBaseBuffer*" "dest")
+    '("gssize" "offset")
+    '("gssize" "size")
+  )
+)
+
+
+
+;; From gstglbasefilter.h
+
+(define-function gst_gl_base_filter_get_type
+  (c-name "gst_gl_base_filter_get_type")
+  (return-type "GType")
+)
+
+
+
+;; From gstglbufferpool.h
+
+(define-function gst_gl_buffer_pool_get_type
+  (c-name "gst_gl_buffer_pool_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_buffer_pool_new
+  (c-name "gst_gl_buffer_pool_new")
+  (is-constructor-of "GstGlBufferPool")
+  (return-type "GstBufferPool*")
+  (parameters
+    '("GstGLContext*" "context")
+  )
+)
+
+(define-method replace_last_buffer
+  (of-object "GstGLBufferPool")
+  (c-name "gst_gl_buffer_pool_replace_last_buffer")
+  (return-type "none")
+  (parameters
+    '("GstBuffer*" "buffer")
+  )
+)
+
+
+
+;; From gstglcolorconvert.h
+
+(define-function gst_gl_color_convert_get_type
+  (c-name "gst_gl_color_convert_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_color_convert_new
+  (c-name "gst_gl_color_convert_new")
+  (is-constructor-of "GstGlColorConvert")
+  (return-type "GstGLColorConvert*")
+  (parameters
+    '("GstGLContext*" "context")
+  )
+)
+
+(define-function gst_gl_color_convert_transform_caps
+  (c-name "gst_gl_color_convert_transform_caps")
+  (return-type "GstCaps*")
+  (parameters
+    '("GstGLContext*" "convert")
+    '("GstPadDirection" "direction")
+    '("GstCaps*" "caps")
+    '("GstCaps*" "filter")
+  )
+)
+
+(define-method set_caps
+  (of-object "GstGLColorConvert")
+  (c-name "gst_gl_color_convert_set_caps")
+  (return-type "gboolean")
+  (parameters
+    '("GstCaps*" "in_caps")
+    '("GstCaps*" "out_caps")
+  )
+)
+
+(define-method perform
+  (of-object "GstGLColorConvert")
+  (c-name "gst_gl_color_convert_perform")
+  (return-type "GstBuffer*")
+  (parameters
+    '("GstBuffer*" "inbuf")
+  )
+)
+
+
+
+;; From gstglconfig.h
+
+
+
+;; From gstglcontext.h
+
+(define-function gst_gl_context_get_type
+  (c-name "gst_gl_context_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_context_error_quark
+  (c-name "gst_gl_context_error_quark")
+  (return-type "GQuark")
+)
+
+(define-function gst_gl_context_new
+  (c-name "gst_gl_context_new")
+  (is-constructor-of "GstGlContext")
+  (return-type "GstGLContext*")
+  (parameters
+    '("GstGLDisplay*" "display")
+  )
+)
+
+(define-function gst_gl_context_new_wrapped
+  (c-name "gst_gl_context_new_wrapped")
+  (return-type "GstGLContext*")
+  (parameters
+    '("GstGLDisplay*" "display")
+    '("guintptr" "handle")
+    '("GstGLPlatform" "context_type")
+    '("GstGLAPI" "available_apis")
+  )
+)
+
+(define-method activate
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_activate")
+  (return-type "gboolean")
+  (parameters
+    '("gboolean" "activate")
+  )
+)
+
+(define-method get_thread
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_get_thread")
+  (return-type "GThread*")
+)
+
+(define-function gst_gl_context_get_current
+  (c-name "gst_gl_context_get_current")
+  (return-type "GstGLContext*")
+)
+
+(define-method get_display
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_get_display")
+  (return-type "GstGLDisplay*")
+)
+
+(define-method get_proc_address
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_get_proc_address")
+  (return-type "gpointer")
+  (parameters
+    '("const-gchar*" "name")
+  )
+)
+
+(define-method get_gl_platform
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_get_gl_platform")
+  (return-type "GstGLPlatform")
+)
+
+(define-method get_gl_api
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_get_gl_api")
+  (return-type "GstGLAPI")
+)
+
+(define-method get_gl_context
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_get_gl_context")
+  (return-type "guintptr")
+)
+
+(define-method can_share
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_can_share")
+  (return-type "gboolean")
+  (parameters
+    '("GstGLContext*" "other_context")
+  )
+)
+
+(define-method create
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_create")
+  (return-type "gboolean")
+  (parameters
+    '("GstGLContext*" "other_context")
+    '("GError**" "error")
+  )
+)
+
+(define-method destroy
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_destroy")
+  (return-type "none")
+)
+
+(define-function gst_gl_context_default_get_proc_address
+  (c-name "gst_gl_context_default_get_proc_address")
+  (return-type "gpointer")
+  (parameters
+    '("GstGLAPI" "gl_api")
+    '("const-gchar*" "name")
+  )
+)
+
+(define-method set_window
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_set_window")
+  (return-type "gboolean")
+  (parameters
+    '("GstGLWindow*" "window")
+  )
+)
+
+(define-method get_window
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_get_window")
+  (return-type "GstGLWindow*")
+)
+
+(define-method get_gl_version
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_get_gl_version")
+  (return-type "none")
+  (parameters
+    '("gint*" "maj")
+    '("gint*" "min")
+  )
+)
+
+(define-method check_gl_version
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_check_gl_version")
+  (return-type "gboolean")
+  (parameters
+    '("GstGLAPI" "api")
+    '("gint" "maj")
+    '("gint" "min")
+  )
+)
+
+(define-method check_feature
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_check_feature")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "feature")
+  )
+)
+
+(define-function gst_gl_context_get_current_gl_context
+  (c-name "gst_gl_context_get_current_gl_context")
+  (return-type "guintptr")
+  (parameters
+    '("GstGLPlatform" "platform")
+  )
+)
+
+(define-function gst_gl_context_get_current_gl_api
+  (c-name "gst_gl_context_get_current_gl_api")
+  (return-type "GstGLAPI")
+  (parameters
+    '("guint*" "major")
+    '("guint*" "minor")
+  )
+)
+
+(define-method fill_info
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_fill_info")
+  (return-type "gboolean")
+  (parameters
+    '("GError**" "error")
+  )
+)
+
+(define-method thread_add
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_thread_add")
+  (return-type "none")
+  (parameters
+    '("GstGLContextThreadFunc" "func")
+    '("gpointer" "data")
+  )
+)
+
+
+
+;; From gstgldisplay.h
+
+(define-function gst_gl_display_get_type
+  (c-name "gst_gl_display_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_display_new
+  (c-name "gst_gl_display_new")
+  (is-constructor-of "GstGlDisplay")
+  (return-type "GstGLDisplay*")
+)
+
+(define-method get_handle
+  (of-object "GstGLDisplay")
+  (c-name "gst_gl_display_get_handle")
+  (return-type "guintptr")
+)
+
+(define-method get_handle_type
+  (of-object "GstGLDisplay")
+  (c-name "gst_gl_display_get_handle_type")
+  (return-type "GstGLDisplayType")
+)
+
+(define-method filter_gl_api
+  (of-object "GstGLDisplay")
+  (c-name "gst_gl_display_filter_gl_api")
+  (return-type "none")
+  (parameters
+    '("GstGLAPI" "api")
+  )
+)
+
+(define-method get_gl_api
+  (of-object "GstGLDisplay")
+  (c-name "gst_gl_display_get_gl_api")
+  (return-type "GstGLAPI")
+)
+
+(define-method get_gl_api_unlocked
+  (of-object "GstGLDisplay")
+  (c-name "gst_gl_display_get_gl_api_unlocked")
+  (return-type "GstGLAPI")
+)
+
+(define-method set_gl_display
+  (of-object "GstContext")
+  (c-name "gst_context_set_gl_display")
+  (return-type "none")
+  (parameters
+    '("GstGLDisplay*" "display")
+  )
+)
+
+(define-method get_gl_display
+  (of-object "GstContext")
+  (c-name "gst_context_get_gl_display")
+  (return-type "gboolean")
+  (parameters
+    '("GstGLDisplay**" "display")
+  )
+)
+
+(define-method create_context
+  (of-object "GstGLDisplay")
+  (c-name "gst_gl_display_create_context")
+  (return-type "gboolean")
+  (parameters
+    '("GstGLContext*" "other_context")
+    '("GstGLContext**" "p_context")
+    '("GError**" "error")
+  )
+)
+
+(define-method get_gl_context_for_thread
+  (of-object "GstGLDisplay")
+  (c-name "gst_gl_display_get_gl_context_for_thread")
+  (return-type "GstGLContext*")
+  (parameters
+    '("GThread*" "thread")
+  )
+)
+
+(define-method add_context
+  (of-object "GstGLDisplay")
+  (c-name "gst_gl_display_add_context")
+  (return-type "gboolean")
+  (parameters
+    '("GstGLContext*" "context")
+  )
+)
+
+
+
+;; From gstgldownload.h
+
+(define-function gst_gl_download_get_type
+  (c-name "gst_gl_download_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_download_new
+  (c-name "gst_gl_download_new")
+  (is-constructor-of "GstGlDownload")
+  (return-type "GstGLDownload*")
+  (parameters
+    '("GstGLContext*" "context")
+  )
+)
+
+(define-method set_format
+  (of-object "GstGLDownload")
+  (c-name "gst_gl_download_set_format")
+  (return-type "none")
+  (parameters
+    '("GstVideoInfo*" "out_info")
+  )
+)
+
+(define-function gst_gl_download_transform_caps
+  (c-name "gst_gl_download_transform_caps")
+  (return-type "GstCaps*")
+  (parameters
+    '("GstGLContext*" "convert")
+    '("GstPadDirection" "direction")
+    '("GstCaps*" "caps")
+    '("GstCaps*" "filter")
+  )
+)
+
+(define-method perform_with_data
+  (of-object "GstGLDownload")
+  (c-name "gst_gl_download_perform_with_data")
+  (return-type "gboolean")
+  (parameters
+    '("GLuint" "texture_id")
+    '("GLuint" "texture_target")
+    '("gpointer" "data[GST_VIDEO_MAX_PLANES]")
+  )
+)
+
+(define-method perform
+  (of-object "GstGLDownload")
+  (c-name "gst_gl_download_perform")
+  (return-type "gboolean")
+  (parameters
+    '("GstBuffer*" "inbuf")
+    '("GstBuffer*" "outbuf")
+  )
+)
+
+
+
+;; From gstglfeature.h
+
+(define-function gst_gl_check_extension
+  (c-name "gst_gl_check_extension")
+  (return-type "gboolean")
+  (parameters
+    '("const-char*" "name")
+    '("const-gchar*" "ext")
+  )
+)
+
+
+
+;; From gstglfilter.h
+
+(define-function gst_gl_filter_get_type
+  (c-name "gst_gl_filter_get_type")
+  (return-type "GType")
+)
+
+(define-method filter_texture
+  (of-object "GstGLFilter")
+  (c-name "gst_gl_filter_filter_texture")
+  (return-type "gboolean")
+  (parameters
+    '("GstBuffer*" "inbuf")
+    '("GstBuffer*" "outbuf")
+  )
+)
+
+(define-method render_to_target
+  (of-object "GstGLFilter")
+  (c-name "gst_gl_filter_render_to_target")
+  (return-type "none")
+  (parameters
+    '("gboolean" "resize")
+    '("GLuint" "input")
+    '("GLuint" "target")
+    '("GLCB" "func")
+    '("gpointer" "data")
+  )
+)
+
+(define-method render_to_target_with_shader
+  (of-object "GstGLFilter")
+  (c-name "gst_gl_filter_render_to_target_with_shader")
+  (return-type "none")
+  (parameters
+    '("gboolean" "resize")
+    '("GLuint" "input")
+    '("GLuint" "target")
+    '("GstGLShader*" "shader")
+  )
+)
+
+(define-method draw_texture
+  (of-object "GstGLFilter")
+  (c-name "gst_gl_filter_draw_texture")
+  (return-type "none")
+  (parameters
+    '("GLuint" "texture")
+    '("guint" "width")
+    '("guint" "height")
+  )
+)
+
+
+
+;; From gstglframebuffer.h
+
+(define-function gst_gl_framebuffer_get_type
+  (c-name "gst_gl_framebuffer_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_framebuffer_new
+  (c-name "gst_gl_framebuffer_new")
+  (is-constructor-of "GstGlFramebuffer")
+  (return-type "GstGLFramebuffer*")
+  (parameters
+    '("GstGLContext*" "context")
+  )
+)
+
+(define-method generate
+  (of-object "GstGLFramebuffer")
+  (c-name "gst_gl_framebuffer_generate")
+  (return-type "gboolean")
+  (parameters
+    '("gint" "width")
+    '("gint" "height")
+    '("guint*" "fbo")
+    '("guint*" "depthbuffer")
+  )
+)
+
+(define-method use_v2
+  (of-object "GstGLFramebuffer")
+  (c-name "gst_gl_framebuffer_use_v2")
+  (return-type "gboolean")
+  (parameters
+    '("gint" "texture_fbo_width")
+    '("gint" "texture_fbo_height")
+    '("GLuint" "fbo")
+    '("GLuint" "depth_buffer")
+    '("GLuint" "texture_fbo")
+    '("GLCB_V2" "cb")
+    '("gpointer" "stuff")
+  )
+)
+
+(define-method delete
+  (of-object "GstGLFramebuffer")
+  (c-name "gst_gl_framebuffer_delete")
+  (return-type "none")
+  (parameters
+    '("guint" "fbo")
+    '("guint" "depth")
+  )
+)
+
+
+
+;; From gstgl_fwd.h
+
+
+
+;; From gstglmemory.h
+
+(define-function gst_gl_allocator_get_type
+  (c-name "gst_gl_allocator_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_memory_init
+  (c-name "gst_gl_memory_init")
+  (return-type "none")
+)
+
+(define-function gst_is_gl_memory
+  (c-name "gst_is_gl_memory")
+  (return-type "gboolean")
+  (parameters
+    '("GstMemory*" "mem")
+  )
+)
+
+(define-function gst_gl_memory_alloc
+  (c-name "gst_gl_memory_alloc")
+  (return-type "GstMemory*")
+  (parameters
+    '("GstGLContext*" "context")
+    '("GstAllocationParams*" "params")
+    '("GstVideoInfo*" "info")
+    '("guint" "plane")
+    '("GstVideoAlignment*" "valign")
+  )
+)
+
+(define-function gst_gl_memory_wrapped
+  (c-name "gst_gl_memory_wrapped")
+  (return-type "GstGLMemory*")
+  (parameters
+    '("GstGLContext*" "context")
+    '("GstVideoInfo*" "info")
+    '("guint" "plane")
+    '("GstVideoAlignment*" "valign")
+    '("gpointer" "data")
+    '("gpointer" "user_data")
+    '("GDestroyNotify" "notify")
+  )
+)
+
+(define-function gst_gl_memory_wrapped_texture
+  (c-name "gst_gl_memory_wrapped_texture")
+  (return-type "GstGLMemory*")
+  (parameters
+    '("GstGLContext*" "context")
+    '("guint" "texture_id")
+    '("guint" "texture_target")
+    '("GstVideoInfo*" "info")
+    '("guint" "plane")
+    '("GstVideoAlignment*" "valign")
+    '("gpointer" "user_data")
+    '("GDestroyNotify" "notify")
+  )
+)
+
+(define-method download_transfer
+  (of-object "GstGLMemory")
+  (c-name "gst_gl_memory_download_transfer")
+  (return-type "none")
+)
+
+(define-method upload_transfer
+  (of-object "GstGLMemory")
+  (c-name "gst_gl_memory_upload_transfer")
+  (return-type "none")
+)
+
+(define-method copy_into_texture
+  (of-object "GstGLMemory")
+  (c-name "gst_gl_memory_copy_into_texture")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "tex_id")
+    '("GstVideoGLTextureType" "tex_type")
+    '("gint" "width")
+    '("gint" "height")
+    '("gint" "stride")
+    '("gboolean" "respecify")
+  )
+)
+
+(define-function gst_gl_memory_setup_buffer
+  (c-name "gst_gl_memory_setup_buffer")
+  (return-type "gboolean")
+  (parameters
+    '("GstGLContext*" "context")
+    '("GstAllocationParams*" "params")
+    '("GstVideoInfo*" "info")
+    '("GstVideoAlignment*" "valign")
+    '("GstBuffer*" "buffer")
+  )
+)
+
+(define-function gst_gl_memory_setup_wrapped
+  (c-name "gst_gl_memory_setup_wrapped")
+  (return-type "gboolean")
+  (parameters
+    '("GstGLContext*" "context")
+    '("GstVideoInfo*" "info")
+    '("GstVideoAlignment*" "valign")
+    '("gpointer" "data[GST_VIDEO_MAX_PLANES]")
+    '("GstGLMemory*" "textures[GST_VIDEO_MAX_PLANES]")
+  )
+)
+
+(define-method get_texture_width
+  (of-object "GstGLMemory")
+  (c-name "gst_gl_memory_get_texture_width")
+  (return-type "gint")
+)
+
+(define-method get_texture_height
+  (of-object "GstGLMemory")
+  (c-name "gst_gl_memory_get_texture_height")
+  (return-type "gint")
+)
+
+(define-function gst_gl_texture_type_from_format
+  (c-name "gst_gl_texture_type_from_format")
+  (return-type "GstVideoGLTextureType")
+  (parameters
+    '("GstGLContext*" "context")
+    '("GstVideoFormat" "v_format")
+    '("guint" "plane")
+  )
+)
+
+(define-function gst_gl_format_from_gl_texture_type
+  (c-name "gst_gl_format_from_gl_texture_type")
+  (return-type "guint")
+  (parameters
+    '("GstVideoGLTextureType" "tex_format")
+  )
+)
+
+(define-function gst_gl_sized_gl_format_from_gl_format_type
+  (c-name "gst_gl_sized_gl_format_from_gl_format_type")
+  (return-type "guint")
+  (parameters
+    '("GstGLContext*" "context")
+    '("guint" "format")
+    '("guint" "type")
+  )
+)
+
+
+
+;; From gstglshader.h
+
+(define-function gst_gl_shader_error_quark
+  (c-name "gst_gl_shader_error_quark")
+  (return-type "GQuark")
+)
+
+(define-function gst_gl_shader_get_type
+  (c-name "gst_gl_shader_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_shader_new
+  (c-name "gst_gl_shader_new")
+  (is-constructor-of "GstGlShader")
+  (return-type "GstGLShader*")
+  (parameters
+    '("GstGLContext*" "context")
+  )
+)
+
+(define-method get_program_handle
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_get_program_handle")
+  (return-type "int")
+)
+
+(define-method set_vertex_source
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_vertex_source")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "src")
+  )
+)
+
+(define-method set_fragment_source
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_fragment_source")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "src")
+  )
+)
+
+(define-method get_vertex_source
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_get_vertex_source")
+  (return-type "const-gchar*")
+)
+
+(define-method get_fragment_source
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_get_fragment_source")
+  (return-type "const-gchar*")
+)
+
+(define-method set_active
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_active")
+  (return-type "none")
+  (parameters
+    '("gboolean" "active")
+  )
+)
+
+(define-method is_compiled
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_is_compiled")
+  (return-type "gboolean")
+)
+
+(define-method compile
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_compile")
+  (return-type "gboolean")
+  (parameters
+    '("GError**" "error")
+  )
+)
+
+(define-method compile_and_check
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_compile_and_check")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "source")
+    '("GstGLShaderSourceType" "type")
+  )
+)
+
+(define-method compile_all_with_attribs_and_check
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_compile_all_with_attribs_and_check")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "v_src")
+    '("const-gchar*" "f_src")
+    '("const-gint" "n_attribs")
+    '("const-gchar*[]" "attrib_names")
+    '("GLint[]" "attrib_locs")
+  )
+)
+
+(define-method compile_with_default_f_and_check
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_compile_with_default_f_and_check")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "v_src")
+    '("const-gint" "n_attribs")
+    '("const-gchar*[]" "attrib_names")
+    '("GLint[]" "attrib_locs")
+  )
+)
+
+(define-method compile_with_default_v_and_check
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_compile_with_default_v_and_check")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "f_src")
+    '("GLint*" "pos_loc")
+    '("GLint*" "tex_loc")
+  )
+)
+
+(define-method compile_with_default_vf_and_check
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_compile_with_default_vf_and_check")
+  (return-type "gboolean")
+  (parameters
+    '("GLint*" "pos_loc")
+    '("GLint*" "tex_loc")
+  )
+)
+
+(define-method release
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_release")
+  (return-type "none")
+)
+
+(define-method use
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_use")
+  (return-type "none")
+)
+
+(define-method clear_shader
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_clear_shader")
+  (return-type "none")
+)
+
+(define-method set_uniform_1i
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_1i")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gint" "value")
+  )
+)
+
+(define-method set_uniform_1iv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_1iv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("guint" "count")
+    '("gint*" "value")
+  )
+)
+
+(define-method set_uniform_1f
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_1f")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gfloat" "value")
+  )
+)
+
+(define-method set_uniform_1fv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_1fv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("guint" "count")
+    '("gfloat*" "value")
+  )
+)
+
+(define-method set_uniform_2i
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_2i")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gint" "v0")
+    '("gint" "v1")
+  )
+)
+
+(define-method set_uniform_2iv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_2iv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("guint" "count")
+    '("gint*" "value")
+  )
+)
+
+(define-method set_uniform_2f
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_2f")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gfloat" "v0")
+    '("gfloat" "v1")
+  )
+)
+
+(define-method set_uniform_2fv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_2fv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("guint" "count")
+    '("gfloat*" "value")
+  )
+)
+
+(define-method set_uniform_3i
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_3i")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gint" "v0")
+    '("gint" "v1")
+    '("gint" "v2")
+  )
+)
+
+(define-method set_uniform_3iv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_3iv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("guint" "count")
+    '("gint*" "value")
+  )
+)
+
+(define-method set_uniform_3f
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_3f")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gfloat" "v0")
+    '("gfloat" "v1")
+    '("gfloat" "v2")
+  )
+)
+
+(define-method set_uniform_3fv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_3fv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("guint" "count")
+    '("gfloat*" "value")
+  )
+)
+
+(define-method set_uniform_4i
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_4i")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gint" "v0")
+    '("gint" "v1")
+    '("gint" "v2")
+    '("gint" "v3")
+  )
+)
+
+(define-method set_uniform_4iv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_4iv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("guint" "count")
+    '("gint*" "value")
+  )
+)
+
+(define-method set_uniform_4f
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_4f")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gfloat" "v0")
+    '("gfloat" "v1")
+    '("gfloat" "v2")
+    '("gfloat" "v3")
+  )
+)
+
+(define-method set_uniform_4fv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_4fv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("guint" "count")
+    '("gfloat*" "value")
+  )
+)
+
+(define-method set_uniform_matrix_2fv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_matrix_2fv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gint" "count")
+    '("gboolean" "transpose")
+    '("const-gfloat*" "value")
+  )
+)
+
+(define-method set_uniform_matrix_3fv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_matrix_3fv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gint" "count")
+    '("gboolean" "transpose")
+    '("const-gfloat*" "value")
+  )
+)
+
+(define-method set_uniform_matrix_4fv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_matrix_4fv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gint" "count")
+    '("gboolean" "transpose")
+    '("const-gfloat*" "value")
+  )
+)
+
+(define-method set_uniform_matrix_2x3fv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_matrix_2x3fv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gint" "count")
+    '("gboolean" "transpose")
+    '("const-gfloat*" "value")
+  )
+)
+
+(define-method set_uniform_matrix_2x4fv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_matrix_2x4fv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gint" "count")
+    '("gboolean" "transpose")
+    '("const-gfloat*" "value")
+  )
+)
+
+(define-method set_uniform_matrix_3x2fv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_matrix_3x2fv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gint" "count")
+    '("gboolean" "transpose")
+    '("const-gfloat*" "value")
+  )
+)
+
+(define-method set_uniform_matrix_3x4fv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_matrix_3x4fv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gint" "count")
+    '("gboolean" "transpose")
+    '("const-gfloat*" "value")
+  )
+)
+
+(define-method set_uniform_matrix_4x2fv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_matrix_4x2fv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gint" "count")
+    '("gboolean" "transpose")
+    '("const-gfloat*" "value")
+  )
+)
+
+(define-method set_uniform_matrix_4x3fv
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_set_uniform_matrix_4x3fv")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+    '("gint" "count")
+    '("gboolean" "transpose")
+    '("const-gfloat*" "value")
+  )
+)
+
+(define-method get_attribute_location
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_get_attribute_location")
+  (return-type "gint")
+  (parameters
+    '("const-gchar*" "name")
+  )
+)
+
+(define-method bind_attribute_location
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shader_bind_attribute_location")
+  (return-type "none")
+  (parameters
+    '("guint" "index")
+    '("const-gchar*" "name")
+  )
+)
+
+
+
+;; From gstglshadervariables.h
+
+(define-method variables_parse
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shadervariables_parse")
+  (return-type "int")
+  (parameters
+    '("char*" "variables")
+    '("int-(*" "_setvariable")
+  )
+)
+
+(define-method variable_set
+  (of-object "GstGLShader")
+  (c-name "gst_gl_shadervariable_set")
+  (return-type "int")
+  (parameters
+    '("struct-gst_gl_shadervariable_desc*" "ret")
+  )
+)
+
+
+
+;; From gstglsyncmeta.h
+
+(define-function gst_gl_sync_meta_api_get_type
+  (c-name "gst_gl_sync_meta_api_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_sync_meta_get_info
+  (c-name "gst_gl_sync_meta_get_info")
+  (return-type "const-GstMetaInfo*")
+)
+
+(define-function gst_buffer_add_gl_sync_meta
+  (c-name "gst_buffer_add_gl_sync_meta")
+  (return-type "GstGLSyncMeta*")
+  (parameters
+    '("GstGLContext*" "context")
+    '("GstBuffer*" "buffer")
+  )
+)
+
+(define-method set_sync_point
+  (of-object "GstGLSyncMeta")
+  (c-name "gst_gl_sync_meta_set_sync_point")
+  (return-type "none")
+  (parameters
+    '("GstGLContext*" "context")
+  )
+)
+
+(define-method wait
+  (of-object "GstGLSyncMeta")
+  (c-name "gst_gl_sync_meta_wait")
+  (return-type "none")
+  (parameters
+    '("GstGLContext*" "context")
+  )
+)
+
+
+
+;; From gstglupload.h
+
+(define-function gst_gl_upload_get_type
+  (c-name "gst_gl_upload_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_upload_get_input_template_caps
+  (c-name "gst_gl_upload_get_input_template_caps")
+  (return-type "GstCaps*")
+)
+
+(define-function gst_gl_upload_new
+  (c-name "gst_gl_upload_new")
+  (is-constructor-of "GstGlUpload")
+  (return-type "GstGLUpload*")
+  (parameters
+    '("GstGLContext*" "context")
+  )
+)
+
+(define-function gst_gl_upload_transform_caps
+  (c-name "gst_gl_upload_transform_caps")
+  (return-type "GstCaps*")
+  (parameters
+    '("GstGLContext*" "context")
+    '("GstPadDirection" "direction")
+    '("GstCaps*" "caps")
+    '("GstCaps*" "filter")
+  )
+)
+
+(define-method set_caps
+  (of-object "GstGLUpload")
+  (c-name "gst_gl_upload_set_caps")
+  (return-type "gboolean")
+  (parameters
+    '("GstCaps*" "in_caps")
+    '("GstCaps*" "out_caps")
+  )
+)
+
+(define-method get_caps
+  (of-object "GstGLUpload")
+  (c-name "gst_gl_upload_get_caps")
+  (return-type "none")
+  (parameters
+    '("GstCaps**" "in_caps")
+    '("GstCaps**" "out_caps")
+  )
+)
+
+(define-method propose_allocation
+  (of-object "GstGLUpload")
+  (c-name "gst_gl_upload_propose_allocation")
+  (return-type "none")
+  (parameters
+    '("GstQuery*" "decide_query")
+    '("GstQuery*" "query")
+  )
+)
+
+(define-method perform_with_buffer
+  (of-object "GstGLUpload")
+  (c-name "gst_gl_upload_perform_with_buffer")
+  (return-type "GstGLUploadReturn")
+  (parameters
+    '("GstBuffer*" "buffer")
+    '("GstBuffer**" "outbuf")
+  )
+)
+
+(define-method release_buffer
+  (of-object "GstGLUpload")
+  (c-name "gst_gl_upload_release_buffer")
+  (return-type "none")
+)
+
+
+
+;; From gstgluploadmeta.h
+
+(define-function gst_gl_upload_meta_get_type
+  (c-name "gst_gl_upload_meta_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_upload_meta_new
+  (c-name "gst_gl_upload_meta_new")
+  (is-constructor-of "GstGlUploadMeta")
+  (return-type "GstGLUploadMeta*")
+  (parameters
+    '("GstGLContext*" "context")
+  )
+)
+
+(define-method set_format
+  (of-object "GstGLUploadMeta")
+  (c-name "gst_gl_upload_meta_set_format")
+  (return-type "none")
+  (parameters
+    '("GstVideoInfo*" "info")
+  )
+)
+
+(define-method get_format
+  (of-object "GstGLUploadMeta")
+  (c-name "gst_gl_upload_meta_get_format")
+  (return-type "GstVideoInfo*")
+)
+
+(define-method add_to_buffer
+  (of-object "GstGLUploadMeta")
+  (c-name "gst_gl_upload_meta_add_to_buffer")
+  (return-type "gboolean")
+  (parameters
+    '("GstBuffer*" "buffer")
+  )
+)
+
+
+
+;; From gstglutils.h
+
+(define-method gen_texture
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_gen_texture")
+  (return-type "none")
+  (parameters
+    '("GLuint*" "pTexture")
+    '("GstVideoFormat" "v_format")
+    '("GLint" "width")
+    '("GLint" "height")
+  )
+)
+
+(define-method del_texture
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_del_texture")
+  (return-type "none")
+  (parameters
+    '("GLuint*" "pTexture")
+  )
+)
+
+(define-function gst_gl_generate_texture_full
+  (c-name "gst_gl_generate_texture_full")
+  (return-type "none")
+  (parameters
+    '("GstGLContext*" "context")
+    '("const-GstVideoInfo*" "info")
+    '("const-guint" "comp")
+    '("gint[]" "stride")
+    '("gsize[]" "offset")
+    '("gsize[]" "size")
+    '("GLuint*" "pTexture")
+  )
+)
+
+(define-method gen_fbo
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_gen_fbo")
+  (return-type "gboolean")
+  (parameters
+    '("gint" "width")
+    '("gint" "height")
+    '("GLuint*" "fbo")
+    '("GLuint*" "depthbuffer")
+  )
+)
+
+(define-method use_fbo_v2
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_use_fbo_v2")
+  (return-type "gboolean")
+  (parameters
+    '("gint" "texture_fbo_width")
+    '("gint" "texture_fbo_height")
+    '("GLuint" "fbo")
+    '("GLuint" "depth_buffer")
+    '("GLuint" "texture_fbo")
+    '("GLCB_V2" "cb")
+    '("gpointer" "stuff")
+  )
+)
+
+(define-method del_fbo
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_del_fbo")
+  (return-type "none")
+  (parameters
+    '("GLuint" "fbo")
+    '("GLuint" "depth_buffer")
+  )
+)
+
+(define-method gen_shader
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_gen_shader")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "shader_vertex_source")
+    '("const-gchar*" "shader_fragment_source")
+    '("GstGLShader**" "shader")
+  )
+)
+
+(define-method del_shader
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_del_shader")
+  (return-type "none")
+  (parameters
+    '("GstGLShader*" "shader")
+  )
+)
+
+(define-method check_framebuffer_status
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_check_framebuffer_status")
+  (return-type "gboolean")
+)
+
+(define-method set_error
+  (of-object "GstGLContext")
+  (c-name "gst_gl_context_set_error")
+  (return-type "none")
+  (parameters
+    '("const-char*" "format")
+  )
+  (varargs #t)
+)
+
+(define-function gst_gl_context_get_error
+  (c-name "gst_gl_context_get_error")
+  (return-type "gchar*")
+)
+
+(define-function gst_gl_ensure_element_data
+  (c-name "gst_gl_ensure_element_data")
+  (return-type "gboolean")
+  (parameters
+    '("gpointer" "element")
+    '("GstGLDisplay**" "display_ptr")
+    '("GstGLContext**" "other_context_ptr")
+  )
+)
+
+(define-function gst_gl_handle_set_context
+  (c-name "gst_gl_handle_set_context")
+  (return-type "gboolean")
+  (parameters
+    '("GstElement*" "element")
+    '("GstContext*" "context")
+    '("GstGLDisplay**" "display")
+    '("GstGLContext**" "other_context")
+  )
+)
+
+(define-function gst_gl_handle_context_query
+  (c-name "gst_gl_handle_context_query")
+  (return-type "gboolean")
+  (parameters
+    '("GstElement*" "element")
+    '("GstQuery*" "query")
+    '("GstGLDisplay**" "display")
+    '("GstGLContext**" "other_context")
+  )
+)
+
+(define-function gst_gl_run_query
+  (c-name "gst_gl_run_query")
+  (return-type "gboolean")
+  (parameters
+    '("GstElement*" "element")
+    '("GstQuery*" "query")
+    '("GstPadDirection" "direction")
+  )
+)
+
+(define-function gst_gl_get_plane_data_size
+  (c-name "gst_gl_get_plane_data_size")
+  (return-type "gsize")
+  (parameters
+    '("GstVideoInfo*" "info")
+    '("GstVideoAlignment*" "align")
+    '("guint" "plane")
+  )
+)
+
+(define-function gst_gl_caps_replace_all_caps_features
+  (c-name "gst_gl_caps_replace_all_caps_features")
+  (return-type "GstCaps*")
+  (parameters
+    '("const-GstCaps*" "caps")
+    '("const-gchar*" "feature_name")
+  )
+)
+
+
+
+;; From gstglviewconvert.h
+
+(define-function gst_gl_stereo_downmix_mode_get_type
+  (c-name "gst_gl_stereo_downmix_mode_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_view_convert_get_type
+  (c-name "gst_gl_view_convert_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_view_convert_new
+  (c-name "gst_gl_view_convert_new")
+  (is-constructor-of "GstGlViewConvert")
+  (return-type "GstGLViewConvert*")
+)
+
+(define-method set_format
+  (of-object "GstGLViewConvert")
+  (c-name "gst_gl_view_convert_set_format")
+  (return-type "gboolean")
+  (parameters
+    '("GstVideoInfo*" "in_info")
+    '("GstVideoInfo*" "out_info")
+  )
+)
+
+(define-method set_caps
+  (of-object "GstGLViewConvert")
+  (c-name "gst_gl_view_convert_set_caps")
+  (return-type "gboolean")
+  (parameters
+    '("GstCaps*" "in_caps")
+    '("GstCaps*" "out_caps")
+  )
+)
+
+(define-method transform_caps
+  (of-object "GstGLViewConvert")
+  (c-name "gst_gl_view_convert_transform_caps")
+  (return-type "GstCaps*")
+  (parameters
+    '("GstPadDirection" "direction")
+    '("GstCaps*" "caps")
+    '("GstCaps*" "filter")
+  )
+)
+
+(define-method fixate_caps
+  (of-object "GstGLViewConvert")
+  (c-name "gst_gl_view_convert_fixate_caps")
+  (return-type "GstCaps*")
+  (parameters
+    '("GstPadDirection" "direction")
+    '("GstCaps*" "caps")
+    '("GstCaps*" "othercaps")
+  )
+)
+
+(define-method submit_input_buffer
+  (of-object "GstGLViewConvert")
+  (c-name "gst_gl_view_convert_submit_input_buffer")
+  (return-type "GstFlowReturn")
+  (parameters
+    '("gboolean" "is_discont")
+    '("GstBuffer*" "input")
+  )
+)
+
+(define-method get_output
+  (of-object "GstGLViewConvert")
+  (c-name "gst_gl_view_convert_get_output")
+  (return-type "GstFlowReturn")
+  (parameters
+    '("GstBuffer**" "outbuf_ptr")
+  )
+)
+
+(define-method perform
+  (of-object "GstGLViewConvert")
+  (c-name "gst_gl_view_convert_perform")
+  (return-type "GstBuffer*")
+  (parameters
+    '("GstBuffer*" "inbuf")
+  )
+)
+
+(define-method reset
+  (of-object "GstGLViewConvert")
+  (c-name "gst_gl_view_convert_reset")
+  (return-type "none")
+)
+
+(define-method set_context
+  (of-object "GstGLViewConvert")
+  (c-name "gst_gl_view_convert_set_context")
+  (return-type "none")
+  (parameters
+    '("GstGLContext*" "context")
+  )
+)
+
+
+
+;; From gstglwindow.h
+
+(define-function gst_gl_window_error_quark
+  (c-name "gst_gl_window_error_quark")
+  (return-type "GQuark")
+)
+
+(define-function gst_gl_window_get_type
+  (c-name "gst_gl_window_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_gl_window_new
+  (c-name "gst_gl_window_new")
+  (is-constructor-of "GstGlWindow")
+  (return-type "GstGLWindow*")
+  (parameters
+    '("GstGLDisplay*" "display")
+  )
+)
+
+(define-method set_draw_callback
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_set_draw_callback")
+  (return-type "none")
+  (parameters
+    '("GstGLWindowCB" "callback")
+    '("gpointer" "data")
+    '("GDestroyNotify" "destroy_notify")
+  )
+)
+
+(define-method set_resize_callback
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_set_resize_callback")
+  (return-type "none")
+  (parameters
+    '("GstGLWindowResizeCB" "callback")
+    '("gpointer" "data")
+    '("GDestroyNotify" "destroy_notify")
+  )
+)
+
+(define-method set_close_callback
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_set_close_callback")
+  (return-type "none")
+  (parameters
+    '("GstGLWindowCB" "callback")
+    '("gpointer" "data")
+    '("GDestroyNotify" "destroy_notify")
+  )
+)
+
+(define-method set_window_handle
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_set_window_handle")
+  (return-type "none")
+  (parameters
+    '("guintptr" "handle")
+  )
+)
+
+(define-method get_window_handle
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_get_window_handle")
+  (return-type "guintptr")
+)
+
+(define-method run
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_run")
+  (return-type "none")
+)
+
+(define-method quit
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_quit")
+  (return-type "none")
+)
+
+(define-method is_running
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_is_running")
+  (return-type "gboolean")
+)
+
+(define-method send_message
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_send_message")
+  (return-type "none")
+  (parameters
+    '("GstGLWindowCB" "callback")
+    '("gpointer" "data")
+  )
+)
+
+(define-method send_message_async
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_send_message_async")
+  (return-type "none")
+  (parameters
+    '("GstGLWindowCB" "callback")
+    '("gpointer" "data")
+    '("GDestroyNotify" "destroy")
+  )
+)
+
+(define-method handle_events
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_handle_events")
+  (return-type "none")
+  (parameters
+    '("gboolean" "handle_events")
+  )
+)
+
+(define-function gst_gl_window_key_event_cb
+  (c-name "gst_gl_window_key_event_cb")
+  (return-type "gboolean")
+  (parameters
+    '("gpointer" "data")
+  )
+)
+
+(define-function gst_gl_window_mouse_event_cb
+  (c-name "gst_gl_window_mouse_event_cb")
+  (return-type "gboolean")
+  (parameters
+    '("gpointer" "data")
+  )
+)
+
+(define-method send_key_event
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_send_key_event")
+  (return-type "none")
+  (parameters
+    '("const-char*" "event_type")
+    '("const-char*" "key_str")
+  )
+)
+
+(define-method send_mouse_event
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_send_mouse_event")
+  (return-type "none")
+  (parameters
+    '("const-char*" "event_type")
+    '("int" "button")
+    '("double" "posx")
+    '("double" "posy")
+  )
+)
+
+(define-method draw_unlocked
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_draw_unlocked")
+  (return-type "none")
+)
+
+(define-method draw
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_draw")
+  (return-type "none")
+)
+
+(define-method show
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_show")
+  (return-type "none")
+)
+
+(define-method set_preferred_size
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_set_preferred_size")
+  (return-type "none")
+  (parameters
+    '("gint" "width")
+    '("gint" "height")
+  )
+)
+
+(define-method get_surface_dimensions
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_get_surface_dimensions")
+  (return-type "none")
+  (parameters
+    '("guint*" "width")
+    '("guint*" "height")
+  )
+)
+
+(define-method set_render_rectangle
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_set_render_rectangle")
+  (return-type "gboolean")
+  (parameters
+    '("gint" "x")
+    '("gint" "y")
+    '("gint" "width")
+    '("gint" "height")
+  )
+)
+
+(define-method get_context
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_get_context")
+  (return-type "GstGLContext*")
+)
+
+(define-method get_display
+  (of-object "GstGLWindow")
+  (c-name "gst_gl_window_get_display")
+  (return-type "guintptr")
+)
+
+
+
+;; From gstinsertbin.h
+
+(define-function gst_insert_bin_get_type
+  (c-name "gst_insert_bin_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_insert_bin_new
+  (c-name "gst_insert_bin_new")
+  (is-constructor-of "GstInsertBin")
+  (return-type "GstElement*")
+  (parameters
+    '("const-gchar*" "name")
+  )
+)
+
+(define-method prepend
+  (of-object "GstInsertBin")
+  (c-name "gst_insert_bin_prepend")
+  (return-type "none")
+  (parameters
+    '("GstElement*" "element")
+    '("GstInsertBinCallback" "callback")
+    '("gpointer" "user_data")
+  )
+)
+
+(define-method append
+  (of-object "GstInsertBin")
+  (c-name "gst_insert_bin_append")
+  (return-type "none")
+  (parameters
+    '("GstElement*" "element")
+    '("GstInsertBinCallback" "callback")
+    '("gpointer" "user_data")
+  )
+)
+
+(define-method insert_before
+  (of-object "GstInsertBin")
+  (c-name "gst_insert_bin_insert_before")
+  (return-type "none")
+  (parameters
+    '("GstElement*" "element")
+    '("GstElement*" "sibling")
+    '("GstInsertBinCallback" "callback")
+    '("gpointer" "user_data")
+  )
+)
+
+(define-method insert_after
+  (of-object "GstInsertBin")
+  (c-name "gst_insert_bin_insert_after")
+  (return-type "none")
+  (parameters
+    '("GstElement*" "element")
+    '("GstElement*" "sibling")
+    '("GstInsertBinCallback" "callback")
+    '("gpointer" "user_data")
+  )
+)
+
+(define-method remove
+  (of-object "GstInsertBin")
+  (c-name "gst_insert_bin_remove")
+  (return-type "none")
+  (parameters
+    '("GstElement*" "element")
+    '("GstInsertBinCallback" "callback")
+    '("gpointer" "user_data")
+  )
+)
+
+
+
+;; From photography-enumtypes.h
+
+(define-function gst_photography_noise_reduction_get_type
+  (c-name "gst_photography_noise_reduction_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_photography_white_balance_mode_get_type
+  (c-name "gst_photography_white_balance_mode_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_photography_color_tone_mode_get_type
+  (c-name "gst_photography_color_tone_mode_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_photography_scene_mode_get_type
+  (c-name "gst_photography_scene_mode_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_photography_flash_mode_get_type
+  (c-name "gst_photography_flash_mode_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_photography_focus_status_get_type
+  (c-name "gst_photography_focus_status_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_photography_caps_get_type
+  (c-name "gst_photography_caps_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_photography_shake_risk_get_type
+  (c-name "gst_photography_shake_risk_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_photography_flicker_reduction_mode_get_type
+  (c-name "gst_photography_flicker_reduction_mode_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_photography_focus_mode_get_type
+  (c-name "gst_photography_focus_mode_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_photography_exposure_mode_get_type
+  (c-name "gst_photography_exposure_mode_get_type")
+  (return-type "GType")
+)
+
+
+
+;; From photography.h
+
+(define-function gst_photography_get_type
+  (c-name "gst_photography_get_type")
+  (return-type "GType")
+)
+
+(define-method get_ev_compensation
+  (of-object "GstPhotography")
+  (c-name "gst_photography_get_ev_compensation")
+  (return-type "gboolean")
+  (parameters
+    '("gfloat*" "ev_comp")
+  )
+)
+
+(define-method get_iso_speed
+  (of-object "GstPhotography")
+  (c-name "gst_photography_get_iso_speed")
+  (return-type "gboolean")
+  (parameters
+    '("guint*" "iso_speed")
+  )
+)
+
+(define-method get_aperture
+  (of-object "GstPhotography")
+  (c-name "gst_photography_get_aperture")
+  (return-type "gboolean")
+  (parameters
+    '("guint*" "aperture")
+  )
+)
+
+(define-method get_exposure
+  (of-object "GstPhotography")
+  (c-name "gst_photography_get_exposure")
+  (return-type "gboolean")
+  (parameters
+    '("guint32*" "exposure")
+  )
+)
+
+(define-method get_white_balance_mode
+  (of-object "GstPhotography")
+  (c-name "gst_photography_get_white_balance_mode")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographyWhiteBalanceMode*" "wb_mode")
+  )
+)
+
+(define-method get_color_tone_mode
+  (of-object "GstPhotography")
+  (c-name "gst_photography_get_color_tone_mode")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographyColorToneMode*" "tone_mode")
+  )
+)
+
+(define-method get_scene_mode
+  (of-object "GstPhotography")
+  (c-name "gst_photography_get_scene_mode")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographySceneMode*" "scene_mode")
+  )
+)
+
+(define-method get_flash_mode
+  (of-object "GstPhotography")
+  (c-name "gst_photography_get_flash_mode")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographyFlashMode*" "flash_mode")
+  )
+)
+
+(define-method get_noise_reduction
+  (of-object "GstPhotography")
+  (c-name "gst_photography_get_noise_reduction")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographyNoiseReduction*" "noise_reduction")
+  )
+)
+
+(define-method get_zoom
+  (of-object "GstPhotography")
+  (c-name "gst_photography_get_zoom")
+  (return-type "gboolean")
+  (parameters
+    '("gfloat*" "zoom")
+  )
+)
+
+(define-method get_flicker_mode
+  (of-object "GstPhotography")
+  (c-name "gst_photography_get_flicker_mode")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographyFlickerReductionMode*" "mode")
+  )
+)
+
+(define-method get_focus_mode
+  (of-object "GstPhotography")
+  (c-name "gst_photography_get_focus_mode")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographyFocusMode*" "mode")
+  )
+)
+
+(define-method set_ev_compensation
+  (of-object "GstPhotography")
+  (c-name "gst_photography_set_ev_compensation")
+  (return-type "gboolean")
+  (parameters
+    '("gfloat" "ev_comp")
+  )
+)
+
+(define-method set_iso_speed
+  (of-object "GstPhotography")
+  (c-name "gst_photography_set_iso_speed")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "iso_speed")
+  )
+)
+
+(define-method set_aperture
+  (of-object "GstPhotography")
+  (c-name "gst_photography_set_aperture")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "aperture")
+  )
+)
+
+(define-method set_exposure
+  (of-object "GstPhotography")
+  (c-name "gst_photography_set_exposure")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "exposure")
+  )
+)
+
+(define-method set_white_balance_mode
+  (of-object "GstPhotography")
+  (c-name "gst_photography_set_white_balance_mode")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographyWhiteBalanceMode" "wb_mode")
+  )
+)
+
+(define-method set_color_tone_mode
+  (of-object "GstPhotography")
+  (c-name "gst_photography_set_color_tone_mode")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographyColorToneMode" "tone_mode")
+  )
+)
+
+(define-method set_scene_mode
+  (of-object "GstPhotography")
+  (c-name "gst_photography_set_scene_mode")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographySceneMode" "scene_mode")
+  )
+)
+
+(define-method set_flash_mode
+  (of-object "GstPhotography")
+  (c-name "gst_photography_set_flash_mode")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographyFlashMode" "flash_mode")
+  )
+)
+
+(define-method set_noise_reduction
+  (of-object "GstPhotography")
+  (c-name "gst_photography_set_noise_reduction")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographyNoiseReduction" "noise_reduction")
+  )
+)
+
+(define-method set_zoom
+  (of-object "GstPhotography")
+  (c-name "gst_photography_set_zoom")
+  (return-type "gboolean")
+  (parameters
+    '("gfloat" "zoom")
+  )
+)
+
+(define-method set_flicker_mode
+  (of-object "GstPhotography")
+  (c-name "gst_photography_set_flicker_mode")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographyFlickerReductionMode" "mode")
+  )
+)
+
+(define-method set_focus_mode
+  (of-object "GstPhotography")
+  (c-name "gst_photography_set_focus_mode")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographyFocusMode" "mode")
+  )
+)
+
+(define-method get_capabilities
+  (of-object "GstPhotography")
+  (c-name "gst_photography_get_capabilities")
+  (return-type "GstPhotographyCaps")
+)
+
+(define-method prepare_for_capture
+  (of-object "GstPhotography")
+  (c-name "gst_photography_prepare_for_capture")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographyCapturePrepared" "func")
+    '("GstCaps*" "capture_caps")
+    '("gpointer" "user_data")
+  )
+)
+
+(define-method set_autofocus
+  (of-object "GstPhotography")
+  (c-name "gst_photography_set_autofocus")
+  (return-type "none")
+  (parameters
+    '("gboolean" "on")
+  )
+)
+
+(define-method set_config
+  (of-object "GstPhotography")
+  (c-name "gst_photography_set_config")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographySettings*" "config")
+  )
+)
+
+(define-method get_config
+  (of-object "GstPhotography")
+  (c-name "gst_photography_get_config")
+  (return-type "gboolean")
+  (parameters
+    '("GstPhotographySettings*" "config")
+  )
+)
+
+
+
+;; From gst-atsc-section.h
+
+(define-function gst_mpegts_atsc_vct_get_type
+  (c-name "gst_mpegts_atsc_vct_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_atsc_vct_source_get_type
+  (c-name "gst_mpegts_atsc_vct_source_get_type")
+  (return-type "GType")
+)
+
+(define-method get_atsc_tvct
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_atsc_tvct")
+  (return-type "const-GstMpegtsAtscVCT*")
+)
+
+(define-method get_atsc_cvct
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_atsc_cvct")
+  (return-type "const-GstMpegtsAtscVCT*")
+)
+
+(define-function gst_mpegts_atsc_mgt_get_type
+  (c-name "gst_mpegts_atsc_mgt_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_atsc_mgt_table_get_type
+  (c-name "gst_mpegts_atsc_mgt_table_get_type")
+  (return-type "GType")
+)
+
+(define-method get_atsc_mgt
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_atsc_mgt")
+  (return-type "const-GstMpegtsAtscMGT*")
+)
+
+(define-method get_string
+  (of-object "GstMpegtsAtscStringSegment")
+  (c-name "gst_mpegts_atsc_string_segment_get_string")
+  (return-type "const-gchar*")
+)
+
+(define-function gst_mpegts_atsc_string_segment_get_type
+  (c-name "gst_mpegts_atsc_string_segment_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_atsc_mult_string_get_type
+  (c-name "gst_mpegts_atsc_mult_string_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_atsc_eit_event_get_type
+  (c-name "gst_mpegts_atsc_eit_event_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_atsc_eit_get_type
+  (c-name "gst_mpegts_atsc_eit_get_type")
+  (return-type "GType")
+)
+
+(define-method get_atsc_eit
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_atsc_eit")
+  (return-type "const-GstMpegtsAtscEIT*")
+)
+
+(define-function gst_mpegts_atsc_ett_get_type
+  (c-name "gst_mpegts_atsc_ett_get_type")
+  (return-type "GType")
+)
+
+(define-method get_atsc_ett
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_atsc_ett")
+  (return-type "const-GstMpegtsAtscETT*")
+)
+
+(define-function gst_mpegts_atsc_stt_get_type
+  (c-name "gst_mpegts_atsc_stt_get_type")
+  (return-type "GType")
+)
+
+(define-method get_atsc_stt
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_atsc_stt")
+  (return-type "const-GstMpegtsAtscSTT*")
+)
+
+(define-method get_datetime_utc
+  (of-object "GstMpegtsAtscSTT")
+  (c-name "gst_mpegts_atsc_stt_get_datetime_utc")
+  (return-type "GstDateTime*")
+)
+
+
+
+;; From gst-dvb-descriptor.h
+
+(define-method parse_dvb_network_name
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_network_name")
+  (return-type "gboolean")
+  (parameters
+    '("gchar**" "name")
+  )
+)
+
+(define-function gst_mpegts_descriptor_from_dvb_network_name
+  (c-name "gst_mpegts_descriptor_from_dvb_network_name")
+  (return-type "GstMpegtsDescriptor*")
+  (parameters
+    '("const-gchar*" "name")
+  )
+)
+
+(define-method parse_dvb_stuffing
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_stuffing")
+  (return-type "gboolean")
+  (parameters
+    '("guint8**" "stuffing_bytes")
+  )
+)
+
+(define-method parse_satellite_delivery_system
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_satellite_delivery_system")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegtsSatelliteDeliverySystemDescriptor*" "res")
+  )
+)
+
+(define-method parse_cable_delivery_system
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_cable_delivery_system")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegtsCableDeliverySystemDescriptor*" "res")
+  )
+)
+
+(define-method parse_dvb_bouquet_name
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_bouquet_name")
+  (return-type "gboolean")
+  (parameters
+    '("gchar**" "bouquet_name")
+  )
+)
+
+(define-method parse_dvb_service
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_service")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegtsDVBServiceType*" "service_type")
+    '("gchar**" "service_name")
+    '("gchar**" "provider_name")
+  )
+)
+
+(define-function gst_mpegts_descriptor_from_dvb_service
+  (c-name "gst_mpegts_descriptor_from_dvb_service")
+  (return-type "GstMpegtsDescriptor*")
+  (parameters
+    '("GstMpegtsDVBServiceType" "service_type")
+    '("const-gchar*" "service_name")
+    '("const-gchar*" "service_provider")
+  )
+)
+
+(define-method parse_dvb_service_list
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_service_list")
+  (return-type "gboolean")
+  (parameters
+    '("GPtrArray**" "list")
+  )
+)
+
+(define-function gst_mpegts_dvb_linkage_descriptor_get_type
+  (c-name "gst_mpegts_dvb_linkage_descriptor_get_type")
+  (return-type "GType")
+)
+
+(define-method free
+  (of-object "GstMpegtsDVBLinkageDescriptor")
+  (c-name "gst_mpegts_dvb_linkage_descriptor_free")
+  (return-type "none")
+)
+
+(define-method get_mobile_hand_over
+  (of-object "GstMpegtsDVBLinkageDescriptor")
+  (c-name "gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over")
+  (return-type "const-GstMpegtsDVBLinkageMobileHandOver*")
+)
+
+(define-method get_event
+  (of-object "GstMpegtsDVBLinkageDescriptor")
+  (c-name "gst_mpegts_dvb_linkage_descriptor_get_event")
+  (return-type "const-GstMpegtsDVBLinkageEvent*")
+)
+
+(define-method get_extended_event
+  (of-object "GstMpegtsDVBLinkageDescriptor")
+  (c-name "gst_mpegts_dvb_linkage_descriptor_get_extended_event")
+  (return-type "const-GPtrArray*")
+)
+
+(define-method parse_dvb_linkage
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_linkage")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegtsDVBLinkageDescriptor**" "res")
+  )
+)
+
+(define-method parse_dvb_short_event
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_short_event")
+  (return-type "gboolean")
+  (parameters
+    '("gchar**" "language_code")
+    '("gchar**" "event_name")
+    '("gchar**" "text")
+  )
+)
+
+(define-function gst_mpegts_extended_event_descriptor_get_type
+  (c-name "gst_mpegts_extended_event_descriptor_get_type")
+  (return-type "GType")
+)
+
+(define-method free
+  (of-object "GstMpegtsExtendedEventDescriptor")
+  (c-name "gst_mpegts_extended_event_descriptor_free")
+  (return-type "none")
+)
+
+(define-method parse_dvb_extended_event
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_extended_event")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegtsExtendedEventDescriptor**" "res")
+  )
+)
+
+(define-function gst_mpegts_component_descriptor_get_type
+  (c-name "gst_mpegts_component_descriptor_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_dvb_component_descriptor_free
+  (c-name "gst_mpegts_dvb_component_descriptor_free")
+  (return-type "none")
+  (parameters
+    '("GstMpegtsComponentDescriptor*" "source")
+  )
+)
+
+(define-method parse_dvb_component
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_component")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegtsComponentDescriptor**" "res")
+  )
+)
+
+(define-method parse_dvb_stream_identifier
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_stream_identifier")
+  (return-type "gboolean")
+  (parameters
+    '("guint8*" "component_tag")
+  )
+)
+
+(define-method parse_dvb_ca_identifier
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_ca_identifier")
+  (return-type "gboolean")
+  (parameters
+    '("GArray**" "list")
+  )
+)
+
+(define-method parse_dvb_content
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_content")
+  (return-type "gboolean")
+  (parameters
+    '("GPtrArray**" "content")
+  )
+)
+
+(define-method parse_dvb_parental_rating
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_parental_rating")
+  (return-type "gboolean")
+  (parameters
+    '("GPtrArray**" "rating")
+  )
+)
+
+(define-method parse_dvb_teletext_idx
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_teletext_idx")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "idx")
+    '("gchar**" "language_code")
+    '("GstMpegtsDVBTeletextType*" "teletext_type")
+    '("guint8*" "magazine_number")
+    '("guint8*" "page_number")
+  )
+)
+
+(define-method parse_dvb_teletext_nb
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_teletext_nb")
+  (return-type "guint")
+)
+
+(define-method parse_dvb_subtitling_idx
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_subtitling_idx")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "idx")
+    '("gchar**" "lang")
+    '("guint8*" "type")
+    '("guint16*" "composition_page_id")
+    '("guint16*" "ancillary_page_id")
+  )
+)
+
+(define-method parse_dvb_subtitling_nb
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_subtitling_nb")
+  (return-type "guint")
+)
+
+(define-function gst_mpegts_descriptor_from_dvb_subtitling
+  (c-name "gst_mpegts_descriptor_from_dvb_subtitling")
+  (return-type "GstMpegtsDescriptor*")
+  (parameters
+    '("const-gchar*" "lang")
+    '("guint8" "type")
+    '("guint16" "composition")
+    '("guint16" "ancillary")
+  )
+)
+
+(define-method parse_terrestrial_delivery_system
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_terrestrial_delivery_system")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegtsTerrestrialDeliverySystemDescriptor*" "res")
+  )
+)
+
+(define-method parse_dvb_multilingual_network_name
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_multilingual_network_name")
+  (return-type "gboolean")
+  (parameters
+    '("GPtrArray**" "network_name_items")
+  )
+)
+
+(define-method parse_dvb_multilingual_bouquet_name
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name")
+  (return-type "gboolean")
+  (parameters
+    '("GPtrArray**" "bouquet_name_items")
+  )
+)
+
+(define-method parse_dvb_multilingual_service_name
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_multilingual_service_name")
+  (return-type "gboolean")
+  (parameters
+    '("GPtrArray**" "service_name_items")
+  )
+)
+
+(define-method parse_dvb_multilingual_component
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_multilingual_component")
+  (return-type "gboolean")
+  (parameters
+    '("guint8*" "component_tag")
+    '("GPtrArray**" "component_description_items")
+  )
+)
+
+(define-method parse_dvb_private_data_specifier
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_private_data_specifier")
+  (return-type "gboolean")
+  (parameters
+    '("guint32*" "private_data_specifier")
+    '("guint8**" "private_data")
+    '("guint8*" "length")
+  )
+)
+
+(define-method parse_dvb_frequency_list
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_frequency_list")
+  (return-type "gboolean")
+  (parameters
+    '("gboolean*" "offset")
+    '("GArray**" "list")
+  )
+)
+
+(define-function gst_mpegts_dvb_data_broadcast_descriptor_get_type
+  (c-name "gst_mpegts_dvb_data_broadcast_descriptor_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_dvb_data_broadcast_descriptor_free
+  (c-name "gst_mpegts_dvb_data_broadcast_descriptor_free")
+  (return-type "none")
+  (parameters
+    '("GstMpegtsDataBroadcastDescriptor*" "source")
+  )
+)
+
+(define-method parse_dvb_data_broadcast
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_data_broadcast")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegtsDataBroadcastDescriptor**" "res")
+  )
+)
+
+(define-method parse_dvb_scrambling
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_scrambling")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegtsDVBScramblingModeType*" "scrambling_mode")
+  )
+)
+
+(define-method parse_dvb_data_broadcast_id
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_data_broadcast_id")
+  (return-type "gboolean")
+  (parameters
+    '("guint16*" "data_broadcast_id")
+    '("guint8**" "id_selector_bytes")
+    '("guint8*" "len")
+  )
+)
+
+(define-function gst_mpegts_t2_delivery_system_descriptor_get_type
+  (c-name "gst_mpegts_t2_delivery_system_descriptor_get_type")
+  (return-type "GType")
+)
+
+(define-method free
+  (of-object "GstMpegtsT2DeliverySystemDescriptor")
+  (c-name "gst_mpegts_t2_delivery_system_descriptor_free")
+  (return-type "none")
+)
+
+(define-method parse_dvb_t2_delivery_system
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_dvb_t2_delivery_system")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegtsT2DeliverySystemDescriptor**" "res")
+  )
+)
+
+
+
+;; From gst-dvb-section.h
+
+(define-function gst_mpegts_nit_get_type
+  (c-name "gst_mpegts_nit_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_nit_stream_get_type
+  (c-name "gst_mpegts_nit_stream_get_type")
+  (return-type "GType")
+)
+
+(define-method get_nit
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_nit")
+  (return-type "const-GstMpegtsNIT*")
+)
+
+(define-function gst_mpegts_section_from_nit
+  (c-name "gst_mpegts_section_from_nit")
+  (return-type "GstMpegtsSection*")
+  (parameters
+    '("GstMpegtsNIT*" "nit")
+  )
+)
+
+(define-function gst_mpegts_nit_new
+  (c-name "gst_mpegts_nit_new")
+  (is-constructor-of "GstMpegtsNit")
+  (return-type "GstMpegtsNIT*")
+)
+
+(define-function gst_mpegts_nit_stream_new
+  (c-name "gst_mpegts_nit_stream_new")
+  (is-constructor-of "GstMpegtsNitStream")
+  (return-type "GstMpegtsNITStream*")
+)
+
+(define-function gst_mpegts_bat_get_type
+  (c-name "gst_mpegts_bat_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_bat_stream_get_type
+  (c-name "gst_mpegts_bat_stream_get_type")
+  (return-type "GType")
+)
+
+(define-method get_bat
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_bat")
+  (return-type "const-GstMpegtsBAT*")
+)
+
+(define-function gst_mpegts_sdt_get_type
+  (c-name "gst_mpegts_sdt_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_sdt_service_get_type
+  (c-name "gst_mpegts_sdt_service_get_type")
+  (return-type "GType")
+)
+
+(define-method get_sdt
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_sdt")
+  (return-type "const-GstMpegtsSDT*")
+)
+
+(define-function gst_mpegts_section_from_sdt
+  (c-name "gst_mpegts_section_from_sdt")
+  (return-type "GstMpegtsSection*")
+  (parameters
+    '("GstMpegtsSDT*" "sdt")
+  )
+)
+
+(define-function gst_mpegts_sdt_new
+  (c-name "gst_mpegts_sdt_new")
+  (is-constructor-of "GstMpegtsSdt")
+  (return-type "GstMpegtsSDT*")
+)
+
+(define-function gst_mpegts_sdt_service_new
+  (c-name "gst_mpegts_sdt_service_new")
+  (is-constructor-of "GstMpegtsSdtService")
+  (return-type "GstMpegtsSDTService*")
+)
+
+(define-function gst_mpegts_eit_get_type
+  (c-name "gst_mpegts_eit_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_eit_event_get_type
+  (c-name "gst_mpegts_eit_event_get_type")
+  (return-type "GType")
+)
+
+(define-method get_eit
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_eit")
+  (return-type "const-GstMpegtsEIT*")
+)
+
+(define-method get_tdt
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_tdt")
+  (return-type "GstDateTime*")
+)
+
+(define-function gst_mpegts_tot_get_type
+  (c-name "gst_mpegts_tot_get_type")
+  (return-type "GType")
+)
+
+(define-method get_tot
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_tot")
+  (return-type "const-GstMpegtsTOT*")
+)
+
+
+
+;; From gstmpegtsdescriptor.h
+
+(define-function gst_mpegts_descriptor_get_type
+  (c-name "gst_mpegts_descriptor_get_type")
+  (return-type "GType")
+)
+
+(define-method free
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_free")
+  (return-type "none")
+)
+
+(define-function gst_mpegts_parse_descriptors
+  (c-name "gst_mpegts_parse_descriptors")
+  (return-type "GPtrArray*")
+  (parameters
+    '("guint8*" "buffer")
+    '("gsize" "buf_len")
+  )
+)
+
+(define-function gst_mpegts_find_descriptor
+  (c-name "gst_mpegts_find_descriptor")
+  (return-type "const-GstMpegtsDescriptor*")
+  (parameters
+    '("GPtrArray*" "descriptors")
+    '("guint8" "tag")
+  )
+)
+
+(define-function gst_mpegts_descriptor_from_registration
+  (c-name "gst_mpegts_descriptor_from_registration")
+  (return-type "GstMpegtsDescriptor*")
+  (parameters
+    '("const-gchar*" "format_identifier")
+    '("guint8*" "additional_info")
+    '("gsize" "additional_info_length")
+  )
+)
+
+(define-method parse_ca
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_ca")
+  (return-type "gboolean")
+  (parameters
+    '("guint16*" "ca_system_id")
+    '("guint16*" "ca_pid")
+    '("const-guint8**" "private_data")
+    '("gsize*" "private_data_size")
+  )
+)
+
+(define-function gst_mpegts_iso_639_language_get_type
+  (c-name "gst_mpegts_iso_639_language_get_type")
+  (return-type "GType")
+)
+
+(define-method free
+  (of-object "GstMpegtsISO639LanguageDescriptor")
+  (c-name "gst_mpegts_iso_639_language_descriptor_free")
+  (return-type "none")
+)
+
+(define-method parse_iso_639_language
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_iso_639_language")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegtsISO639LanguageDescriptor**" "res")
+  )
+)
+
+(define-method parse_iso_639_language_idx
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_iso_639_language_idx")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "idx")
+    '("gchar**" "lang")
+    '("GstMpegtsIso639AudioType*" "audio_type")
+  )
+)
+
+(define-method parse_iso_639_language_nb
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_iso_639_language_nb")
+  (return-type "guint")
+)
+
+(define-method parse_logical_channel
+  (of-object "GstMpegtsDescriptor")
+  (c-name "gst_mpegts_descriptor_parse_logical_channel")
+  (return-type "gboolean")
+  (parameters
+    '("GstMpegtsLogicalChannelDescriptor*" "res")
+  )
+)
+
+(define-function gst_mpegts_descriptor_from_custom
+  (c-name "gst_mpegts_descriptor_from_custom")
+  (return-type "GstMpegtsDescriptor*")
+  (parameters
+    '("guint8" "tag")
+    '("const-guint8*" "data")
+    '("gsize" "length")
+  )
+)
+
+
+
+;; From gstmpegts-enumtypes.h
+
+(define-function gst_mpegts_section_type_get_type
+  (c-name "gst_mpegts_section_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_section_table_id_get_type
+  (c-name "gst_mpegts_section_table_id_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_stream_type_get_type
+  (c-name "gst_mpegts_stream_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_descriptor_type_get_type
+  (c-name "gst_mpegts_descriptor_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_misc_descriptor_type_get_type
+  (c-name "gst_mpegts_misc_descriptor_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_atsc_descriptor_type_get_type
+  (c-name "gst_mpegts_atsc_descriptor_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_isdb_descriptor_type_get_type
+  (c-name "gst_mpegts_isdb_descriptor_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_iso639_audio_type_get_type
+  (c-name "gst_mpegts_iso639_audio_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_section_atsc_table_id_get_type
+  (c-name "gst_mpegts_section_atsc_table_id_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_atsc_mgt_table_type_get_type
+  (c-name "gst_mpegts_atsc_mgt_table_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_section_dvb_table_id_get_type
+  (c-name "gst_mpegts_section_dvb_table_id_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_running_status_get_type
+  (c-name "gst_mpegts_running_status_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_scte_stream_type_get_type
+  (c-name "gst_mpegts_scte_stream_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_section_scte_table_id_get_type
+  (c-name "gst_mpegts_section_scte_table_id_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_dvb_descriptor_type_get_type
+  (c-name "gst_mpegts_dvb_descriptor_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_dvb_extended_descriptor_type_get_type
+  (c-name "gst_mpegts_dvb_extended_descriptor_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_modulation_type_get_type
+  (c-name "gst_mpegts_modulation_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_dvb_code_rate_get_type
+  (c-name "gst_mpegts_dvb_code_rate_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_satellite_rolloff_get_type
+  (c-name "gst_mpegts_satellite_rolloff_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_satellite_polarization_type_get_type
+  (c-name "gst_mpegts_satellite_polarization_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_cable_outer_fec_scheme_get_type
+  (c-name "gst_mpegts_cable_outer_fec_scheme_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_dvb_service_type_get_type
+  (c-name "gst_mpegts_dvb_service_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_dvb_linkage_type_get_type
+  (c-name "gst_mpegts_dvb_linkage_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_dvb_linkage_hand_over_type_get_type
+  (c-name "gst_mpegts_dvb_linkage_hand_over_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_component_stream_content_get_type
+  (c-name "gst_mpegts_component_stream_content_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_content_nibble_hi_get_type
+  (c-name "gst_mpegts_content_nibble_hi_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_dvb_teletext_type_get_type
+  (c-name "gst_mpegts_dvb_teletext_type_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_terrestrial_transmission_mode_get_type
+  (c-name "gst_mpegts_terrestrial_transmission_mode_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_terrestrial_guard_interval_get_type
+  (c-name "gst_mpegts_terrestrial_guard_interval_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_terrestrial_hierarchy_get_type
+  (c-name "gst_mpegts_terrestrial_hierarchy_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_dvb_scrambling_mode_type_get_type
+  (c-name "gst_mpegts_dvb_scrambling_mode_type_get_type")
+  (return-type "GType")
+)
+
+
+
+;; From gstmpegts-private.h
+
+
+
+;; From gstmpegtssection.h
+
+(define-function gst_mpegts_section_get_type
+  (c-name "gst_mpegts_section_get_type")
+  (return-type "GType")
+)
+
+(define-method get_data
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_data")
+  (return-type "GBytes*")
+)
+
+(define-method get_pat
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_pat")
+  (return-type "GPtrArray*")
+)
+
+(define-function gst_mpegts_pat_program_get_type
+  (c-name "gst_mpegts_pat_program_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_pat_new
+  (c-name "gst_mpegts_pat_new")
+  (is-constructor-of "GstMpegtsPat")
+  (return-type "GPtrArray*")
+)
+
+(define-function gst_mpegts_pat_program_new
+  (c-name "gst_mpegts_pat_program_new")
+  (is-constructor-of "GstMpegtsPatProgram")
+  (return-type "GstMpegtsPatProgram*")
+)
+
+(define-function gst_mpegts_section_from_pat
+  (c-name "gst_mpegts_section_from_pat")
+  (return-type "GstMpegtsSection*")
+  (parameters
+    '("GPtrArray*" "programs")
+    '("guint16" "ts_id")
+  )
+)
+
+(define-method get_cat
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_cat")
+  (return-type "GPtrArray*")
+)
+
+(define-function gst_mpegts_pmt_get_type
+  (c-name "gst_mpegts_pmt_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_pmt_stream_get_type
+  (c-name "gst_mpegts_pmt_stream_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_mpegts_pmt_new
+  (c-name "gst_mpegts_pmt_new")
+  (is-constructor-of "GstMpegtsPmt")
+  (return-type "GstMpegtsPMT*")
+)
+
+(define-function gst_mpegts_pmt_stream_new
+  (c-name "gst_mpegts_pmt_stream_new")
+  (is-constructor-of "GstMpegtsPmtStream")
+  (return-type "GstMpegtsPMTStream*")
+)
+
+(define-method get_pmt
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_pmt")
+  (return-type "const-GstMpegtsPMT*")
+)
+
+(define-function gst_mpegts_section_from_pmt
+  (c-name "gst_mpegts_section_from_pmt")
+  (return-type "GstMpegtsSection*")
+  (parameters
+    '("GstMpegtsPMT*" "pmt")
+    '("guint16" "pid")
+  )
+)
+
+(define-method get_tsdt
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_get_tsdt")
+  (return-type "GPtrArray*")
+)
+
+(define-function gst_message_new_mpegts_section
+  (c-name "gst_message_new_mpegts_section")
+  (return-type "GstMessage*")
+  (parameters
+    '("GstObject*" "parent")
+    '("GstMpegtsSection*" "section")
+  )
+)
+
+(define-method send_event
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_send_event")
+  (return-type "gboolean")
+  (parameters
+    '("GstElement*" "element")
+  )
+)
+
+(define-method parse_mpegts_section
+  (of-object "GstEvent")
+  (c-name "gst_event_parse_mpegts_section")
+  (return-type "GstMpegtsSection*")
+)
+
+(define-method parse_mpegts_section
+  (of-object "GstMessage")
+  (c-name "gst_message_parse_mpegts_section")
+  (return-type "GstMpegtsSection*")
+)
+
+(define-function gst_mpegts_section_new
+  (c-name "gst_mpegts_section_new")
+  (is-constructor-of "GstMpegtsSection")
+  (return-type "GstMpegtsSection*")
+  (parameters
+    '("guint16" "pid")
+    '("guint8*" "data")
+    '("gsize" "data_size")
+  )
+)
+
+(define-method packetize
+  (of-object "GstMpegtsSection")
+  (c-name "gst_mpegts_section_packetize")
+  (return-type "guint8*")
+  (parameters
+    '("gsize*" "output_size")
+  )
+)
+
+
+
+;; From gst-scte-section.h
+
+
+
+;; From mpegts.h
+
+(define-function gst_mpegts_initialize
+  (c-name "gst_mpegts_initialize")
+  (return-type "none")
+)
+
+
+
+;; From gstfragment.h
+
+(define-function gst_fragment_get_type
+  (c-name "gst_fragment_get_type")
+  (return-type "GType")
+)
+
+(define-method get_buffer
+  (of-object "GstFragment")
+  (c-name "gst_fragment_get_buffer")
+  (return-type "GstBuffer*")
+)
+
+(define-method set_caps
+  (of-object "GstFragment")
+  (c-name "gst_fragment_set_caps")
+  (return-type "none")
+  (parameters
+    '("GstCaps*" "caps")
+  )
+)
+
+(define-method get_caps
+  (of-object "GstFragment")
+  (c-name "gst_fragment_get_caps")
+  (return-type "GstCaps*")
+)
+
+(define-method add_buffer
+  (of-object "GstFragment")
+  (c-name "gst_fragment_add_buffer")
+  (return-type "gboolean")
+  (parameters
+    '("GstBuffer*" "buffer")
+  )
+)
+
+(define-function gst_fragment_new
+  (c-name "gst_fragment_new")
+  (is-constructor-of "GstFragment")
+  (return-type "GstFragment*")
+)
+
+
+
+;; From gsturidownloader_debug.h
+
+
+
+;; From gsturidownloader.h
+
+(define-function gst_uri_downloader_get_type
+  (c-name "gst_uri_downloader_get_type")
+  (return-type "GType")
+)
+
+(define-function gst_uri_downloader_new
+  (c-name "gst_uri_downloader_new")
+  (is-constructor-of "GstUriDownloader")
+  (return-type "GstUriDownloader*")
+)
+
+(define-method fetch_uri
+  (of-object "GstUriDownloader")
+  (c-name "gst_uri_downloader_fetch_uri")
+  (return-type "GstFragment*")
+  (parameters
+    '("const-gchar*" "uri")
+    '("const-gchar*" "referer")
+    '("gboolean" "compress")
+    '("gboolean" "refresh")
+    '("gboolean" "allow_cache")
+    '("GError**" "err")
+  )
+)
+
+(define-method fetch_uri_with_range
+  (of-object "GstUriDownloader")
+  (c-name "gst_uri_downloader_fetch_uri_with_range")
+  (return-type "GstFragment*")
+  (parameters
+    '("const-gchar*" "uri")
+    '("const-gchar*" "referer")
+    '("gboolean" "compress")
+    '("gboolean" "refresh")
+    '("gboolean" "allow_cache")
+    '("gint64" "range_start")
+    '("gint64" "range_end")
+    '("GError**" "err")
+  )
+)
+
+(define-method reset
+  (of-object "GstUriDownloader")
+  (c-name "gst_uri_downloader_reset")
+  (return-type "none")
+)
+
+(define-method cancel
+  (of-object "GstUriDownloader")
+  (c-name "gst_uri_downloader_cancel")
+  (return-type "none")
+)
+
+(define-method free
+  (of-object "GstUriDownloader")
+  (c-name "gst_uri_downloader_free")
+  (return-type "none")
+)
+
+
+
+;; From gstvideoaggregator.h
+
+(define-function gst_videoaggregator_get_type
+  (c-name "gst_videoaggregator_get_type")
+  (return-type "GType")
+)
+
+
+
+;; From gstvideoaggregatorpad.h
+
+(define-function gst_videoaggregator_pad_get_type
+  (c-name "gst_videoaggregator_pad_get_type")
+  (return-type "GType")
+)
+
+
+
+;; From wayland.h
+
+(define-function gst_is_wayland_display_handle_need_context_message
+  (c-name "gst_is_wayland_display_handle_need_context_message")
+  (return-type "gboolean")
+  (parameters
+    '("GstMessage*" "msg")
+  )
+)
+
+(define-function gst_wayland_display_handle_context_new
+  (c-name "gst_wayland_display_handle_context_new")
+  (is-constructor-of "GstWaylandDisplayHandleContext")
+  (return-type "GstContext*")
+  (parameters
+    '("struct-wl_display*" "display")
+  )
+)
+
+(define-function gst_wayland_video_get_type
+  (c-name "gst_wayland_video_get_type")
+  (return-type "GType")
+)
+
+(define-method begin_geometry_change
+  (of-object "GstWaylandVideo")
+  (c-name "gst_wayland_video_begin_geometry_change")
+  (return-type "none")
+)
+
+(define-method end_geometry_change
+  (of-object "GstWaylandVideo")
+  (c-name "gst_wayland_video_end_geometry_change")
+  (return-type "none")
+)
+
+
diff --git a/gstreamer/src/gst_docs.xml b/gstreamer/src/gst_docs.xml
index a3e6085..7a01907 100644
--- a/gstreamer/src/gst_docs.xml
+++ b/gstreamer/src/gst_docs.xml
@@ -7378,7 +7378,7 @@ Extra video frame flags
 </parameter>
 <parameter name="GST_VIDEO_FRAME_FLAG_INTERLACED">
 <parameter_description> The video frame is interlaced. In mixed
-interlace-mode, this flags specifies if the frame is interlace or
+interlace-mode, this flag specifies if the frame is interlaced or
 progressive.
 </parameter_description>
 </parameter>
@@ -18368,6 +18368,8 @@ This function is used to receive asynchronous messages in the main loop.
 There can only be a single bus watch per bus, you must remove it before you
 can set a new one.
 
+The bus watch will only work if a GLib main loop is being run.
+
 The watch can be removed using gst_bus_remove_watch() or by returning %FALSE
 from @func. If the watch was added to the default main context it is also
 possible to remove the watch using g_source_remove().
@@ -18406,6 +18408,8 @@ This function is used to receive asynchronous messages in the main loop.
 There can only be a single bus watch per bus, you must remove it before you
 can set a new one.
 
+The bus watch will only work if a GLib main loop is being run.
+
 When @func is called, the message belongs to the caller; if you want to
 keep a copy of it, call gst_message_ref() before leaving @func.
 
@@ -36797,6 +36801,1773 @@ Convert @value to a gdouble.
 </return>
 </function>
 
+<function name="gst_harness_add_element_sink_pad">
+<description>
+Links the specifed #GstPad the @GstHarness srcpad.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="sinkpad">
+<parameter_description> a #GstPad to link to the harness srcpad
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_add_element_src_pad">
+<description>
+Links the specifed #GstPad the @GstHarness sinkpad. This can be useful if
+perhaps the srcpad did not exist at the time of creating the harness,
+like a demuxer that provides a sometimes-pad after receiving data.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="srcpad">
+<parameter_description> a #GstPad to link to the harness sinkpad
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_add_probe">
+<description>
+A convenience function to allows you to call gst_pad_add_probe on a
+#GstPad of a #GstElement that are residing inside the #GstHarness,
+by using normal gst_pad_add_probe syntax
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="element_name">
+<parameter_description> a #gchar with a #GstElementFactory name
+</parameter_description>
+</parameter>
+<parameter name="pad_name">
+<parameter_description> a #gchar with the name of the pad to attach the probe to
+</parameter_description>
+</parameter>
+<parameter name="mask">
+<parameter_description> a #GstPadProbeType (see gst_pad_add_probe)
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> a #GstPadProbeCallback (see gst_pad_add_probe)
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> a #gpointer (see gst_pad_add_probe)
+</parameter_description>
+</parameter>
+<parameter name="destroy_data">
+<parameter_description> a #GDestroyNotify (see gst_pad_add_probe)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_add_sink">
+<description>
+Similar to gst_harness_add_src, this allows you to send the data coming out
+of your harnessed #GstElement to a sink-element, allowing to test different
+responses the element output might create in sink elements. An example might
+be an existing sink providing some analytical data on the input it receives that
+can be useful to your testing. If the goal is to test a sink-element itself,
+this is better acheived using gst_harness_new directly on the sink.
+
+If a sink-harness already exists it will be replaced.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="sink_element_name">
+<parameter_description> a #gchar with the name of a #GstElement
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_add_sink_parse">
+<description>
+Similar to gst_harness_add_sink, this allows you to specify a launch-line
+instead of just an element name. See gst_harness_add_src_parse for details.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="launchline">
+<parameter_description> a #gchar with the name of a #GstElement
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_add_src">
+<description>
+A src-harness is a great way of providing the #GstHarness with data.
+By adding a src-type #GstElement, it is then easy to use functions like
+gst_harness_push_from_src or gst_harness_src_crank_and_push_many
+to provide your harnessed element with input. The @has_clock_wait variable
+is a greate way to control you src-element with, in that you can have it
+produce a buffer for you by simply cranking the clock, and not have it
+spin out of control producing buffers as fast as possible.
+
+If a src-harness already exists it will be replaced.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="src_element_name">
+<parameter_description> a #gchar with the name of a #GstElement
+</parameter_description>
+</parameter>
+<parameter name="has_clock_wait">
+<parameter_description> a #gboolean specifying if the #GstElement uses
+gst_clock_wait_id internally.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_add_src_parse">
+<description>
+Similar to gst_harness_add_src, this allows you to specify a launch-line,
+which can be useful for both having more then one #GstElement acting as your
+src (Like a src producing raw buffers, and then an encoder, providing encoded
+data), but also by allowing you to set properties like &quot;is-live&quot; directly on
+the elements.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="launchline">
+<parameter_description> a #gchar describing a gst-launch type line
+</parameter_description>
+</parameter>
+<parameter name="has_clock_wait">
+<parameter_description> a #gboolean specifying if the #GstElement uses
+gst_clock_wait_id internally.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_buffers_in_queue">
+<description>
+The number of #GstBuffers currently in the #GstHarness sinkpad #GAsyncQueue
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #guint number of buffers in the queue
+
+</return>
+</function>
+
+<function name="gst_harness_buffers_received">
+<description>
+The total number of #GstBuffers that has arrived on the #GstHarness sinkpad.
+This number includes buffers that have been dropped as well as buffers
+that have already been pulled out.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #guint number of buffers received
+
+</return>
+</function>
+
+<function name="gst_harness_crank_multiple_clock_waits">
+<description>
+Similar to gst_harness_crank_single_clock_wait, this is the function to use
+if your harnessed element(s) are using more then one gst_clock_id_wait.
+Failing to do so can (and will) make it racy which #GstClockID you actually
+are releasing, where as this function will process all the waits at the
+same time, ensuring that one thread can't register another wait before
+both are released.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="waits">
+<parameter_description> a #guint describing the number of #GstClockIDs to crank
+</parameter_description>
+</parameter>
+</parameters>
+<return> a @gboolean %TRUE if the &quot;crank&quot; was successful, %FALSE if not.
+
+</return>
+</function>
+
+<function name="gst_harness_crank_single_clock_wait">
+<description>
+A &quot;crank&quot; consists of three steps:
+1: Wait for a #GstClockID to be registered with the #GstTestClock.
+2: Advance the #GstTestClock to the time the #GstClockID is waiting for.
+3: Release the #GstClockID wait.
+Together, this provides an easy way to not have to think about the details
+around clocks and time, but still being able to write deterministic tests
+that are dependant on this. A &quot;crank&quot; can be though of as the notion of
+manually driving the clock forward to its next logical step.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a @gboolean %TRUE if the &quot;crank&quot; was successful, %FALSE if not.
+
+</return>
+</function>
+
+<function name="gst_harness_create_buffer">
+<description>
+Allocates a buffer using a #GstBufferPool if present, or else using the
+configured #GstAllocator and #GstAllocatorParams
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> a #gsize specifying the size of the buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstBuffer of size @size
+
+</return>
+</function>
+
+<function name="gst_harness_dump_to_file">
+<description>
+Allows you to dump the #GstBuffers the #GstHarness sinkpad #GAsyncQueue
+to a file.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="filename">
+<parameter_description> a #gchar with a the name of a file
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_events_in_queue">
+<description>
+The number of #GstEvents currently in the #GstHarness sinkpad #GAsyncQueue
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #guint number of events in the queue
+
+</return>
+</function>
+
+<function name="gst_harness_events_received">
+<description>
+The total number of #GstEvents that has arrived on the #GstHarness sinkpad
+This number includes events handled by the harness as well as events
+that have already been pulled out.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #guint number of events received
+
+</return>
+</function>
+
+<function name="gst_harness_find_element">
+<description>
+Most useful in conjunction with gst_harness_new_parse, this will scan the
+#GstElements inside the #GstHarness, and check if any of them matches
+ element_name  Typical usecase being that you need to access one of the
+harnessed elements for properties and/or signals.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="element_name">
+<parameter_description> a #gchar with a #GstElementFactory name
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstElement or %NULL if not found
+
+</return>
+</function>
+
+<function name="gst_harness_get">
+<description>
+A convenience function to allows you to call g_object_get on a #GstElement
+that are residing inside the #GstHarness, by using normal g_object_get
+syntax.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="element_name">
+<parameter_description> a #gchar with a #GstElementFactory name
+</parameter_description>
+</parameter>
+<parameter name="first_property_name">
+<parameter_description> a #gchar with the first property name
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> return location for the first property, followed optionally by more
+name/return location pairs, followed by %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_get_allocator">
+<description>
+Gets the @allocator and its @params that has been decided to use after an
+allocation query.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="allocator">
+<parameter_description> the #GstAllocator
+used
+</parameter_description>
+</parameter>
+<parameter name="params">
+<parameter_description> the
+#GstAllocatorParams of @allocator
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_get_last_pushed_timestamp">
+<description>
+Get the timestamp of the last #GstBuffer pushed on the #GstHarness srcpad,
+typically with gst_harness_push or gst_harness_push_from_src.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstClockTime with the timestamp or %GST_CLOCK_TIME_NONE if no
+#GstBuffer has been pushed on the #GstHarness srcpad
+
+</return>
+</function>
+
+<function name="gst_harness_get_testclock">
+<description>
+Get the #GstTestClock. Useful if specific operations on the testclock is
+needed.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstTestClock, or %NULL if the testclock is not
+present.
+
+</return>
+</function>
+
+<function name="gst_harness_new">
+<description>
+Creates a new harness. Works like gst_harness_new_with_padnames, except it
+assumes the #GstElement sinkpad is named &quot;sink&quot; and srcpad is named &quot;src&quot;
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="element_name">
+<parameter_description> a #gchar describing the #GstElement name
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstHarness, or %NULL if the harness could
+not be created
+
+</return>
+</function>
+
+<function name="gst_harness_new_full">
+<description>
+Creates a new harness.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="element">
+<parameter_description> a #GstElement to attach the harness to (transfer none)
+</parameter_description>
+</parameter>
+<parameter name="hsrc">
+<parameter_description> a #GstStaticPadTemplate describing the harness srcpad.
+%NULL will not create a harness srcpad.
+</parameter_description>
+</parameter>
+<parameter name="sinkpad">
+<parameter_description> a #gchar with the name of the element sinkpad that is
+then linked to the harness srcpad. Can be a static or request or a sometimes
+pad that has been added. %NULL will not get/request a sinkpad from the
+element. (Like if the element is a src)
+</parameter_description>
+</parameter>
+<parameter name="hsink">
+<parameter_description> a #GstStaticPadTemplate describing the harness sinkpad.
+%NULL will not create a harness sinkpad.
+</parameter_description>
+</parameter>
+<parameter name="srcpad">
+<parameter_description> a #gchar with the name of the element srcpad that is
+then linked to the harness sinkpad, similar to the @sinkpad.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstHarness, or %NULL if the harness could
+not be created
+
+</return>
+</function>
+
+<function name="gst_harness_new_parse">
+<description>
+Creates a new harness, parsing the @launchline and putting that in a #GstBin,
+and then attches the harness to the bin.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="launchline">
+<parameter_description> a #gchar describing a gst-launch type line
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstHarness, or %NULL if the harness could
+not be created
+
+</return>
+</function>
+
+<function name="gst_harness_new_with_element">
+<description>
+Creates a new harness. Works in the same way as gst_harness_new_full, only
+that generic padtemplates are used for the harness src and sinkpads, which
+will be sufficient in most usecases.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="element">
+<parameter_description> a #GstElement to attach the harness to (transfer none)
+</parameter_description>
+</parameter>
+<parameter name="sinkpad">
+<parameter_description> a #gchar with the name of the element sinkpad that
+is then linked to the harness srcpad. %NULL does not attach a sinkpad
+</parameter_description>
+</parameter>
+<parameter name="srcpad">
+<parameter_description> a #gchar with the name of the element srcpad that is
+then linked to the harness sinkpad. %NULL does not attach a srcpad
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstHarness, or %NULL if the harness could
+not be created
+
+</return>
+</function>
+
+<function name="gst_harness_new_with_padnames">
+<description>
+Creates a new harness. Works in the same way as gst_harness_new_with_element,
+except you specify the factoryname of the #GstElement
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="element_name">
+<parameter_description> a #gchar describing the #GstElement name
+</parameter_description>
+</parameter>
+<parameter name="sinkpad">
+<parameter_description> a #gchar with the name of the element sinkpad that
+is then linked to the harness srcpad. %NULL does not attach a sinkpad
+</parameter_description>
+</parameter>
+<parameter name="srcpad">
+<parameter_description> a #gchar with the name of the element srcpad that is
+then linked to the harness sinkpad. %NULL does not attach a srcpad
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstHarness, or %NULL if the harness could
+not be created
+
+</return>
+</function>
+
+<function name="gst_harness_new_with_templates">
+<description>
+Creates a new harness, like gst_harness_new_full, except it
+assumes the #GstElement sinkpad is named &quot;sink&quot; and srcpad is named &quot;src&quot;
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="element_name">
+<parameter_description> a #gchar describing the #GstElement name
+</parameter_description>
+</parameter>
+<parameter name="hsrc">
+<parameter_description> a #GstStaticPadTemplate describing the harness srcpad.
+%NULL will not create a harness srcpad.
+</parameter_description>
+</parameter>
+<parameter name="hsink">
+<parameter_description> a #GstStaticPadTemplate describing the harness sinkpad.
+%NULL will not create a harness sinkpad.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstHarness, or %NULL if the harness could
+not be created
+
+</return>
+</function>
+
+<function name="gst_harness_play">
+<description>
+This will set the harnessed #GstElement to %GST_STATE_PLAYING.
+#GstElements without a sink-#GstPad and with the %GST_ELEMENT_FLAG_SOURCE
+flag set is concidered a src #GstElement
+Non-src #GstElements (like sinks and filters) are automatically set to
+playing by the #GstHarness, but src #GstElements are not to avoid them
+starting to produce buffers.
+Hence, for src #GstElement you will need to call gst_harness_play explicitly.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_pull">
+<description>
+Pulls a #GstBuffer from the #GAsyncQueue on the #GstHarness sinkpad. The pull
+will timeout in 60 seconds. This is the standard way of getting a buffer
+from a harnessed #GstElement.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstBuffer or %NULL if timed out.
+
+</return>
+</function>
+
+<function name="gst_harness_pull_event">
+<description>
+Pulls an #GstEvent from the #GAsyncQueue on the #GstHarness sinkpad.
+Timeouts after 60 seconds similar to gst_harness_pull.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstEvent or %NULL if timed out.
+
+</return>
+</function>
+
+<function name="gst_harness_pull_upstream_event">
+<description>
+Pulls an #GstEvent from the #GAsyncQueue on the #GstHarness srcpad.
+Timeouts after 60 seconds similar to gst_harness_pull.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstEvent or %NULL if timed out.
+
+</return>
+</function>
+
+<function name="gst_harness_push">
+<description>
+Pushes a #GstBuffer on the #GstHarness srcpad. The standard way of
+interacting with an harnessed element.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GstBuffer to push
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstFlowReturn with the result from the push
+
+</return>
+</function>
+
+<function name="gst_harness_push_and_pull">
+<description>
+Basically a gst_harness_push and a gst_harness_pull in one line. Reflects
+the fact that you often want to do exactly this in your test: Push one buffer
+in, and inspect the outcome.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GstBuffer to push
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstBuffer or %NULL if timed out.
+
+</return>
+</function>
+
+<function name="gst_harness_push_event">
+<description>
+Pushes an #GstEvent on the #GstHarness srcpad.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GstEvent to push
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #gboolean with the result from the push
+
+</return>
+</function>
+
+<function name="gst_harness_push_from_src">
+<description>
+Transfer data from the src-#GstHarness to the main-#GstHarness. It consists
+of 4 steps:
+1: Make sure the src is started. (see: gst_harness_play)
+2: Crank the clock (see: gst_harness_crank_single_clock_wait)
+3: Pull a #GstBuffer from the src-#GstHarness (see: gst_harness_pull)
+4: Push the same #GstBuffer into the main-#GstHarness (see: gst_harness_push)
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstFlowReturn with the result of the push
+
+</return>
+</function>
+
+<function name="gst_harness_push_to_sink">
+<description>
+Transfer one #GstBuffer from the main-#GstHarness to the sink-#GstHarness.
+See gst_harness_push_from_src for details.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstFlowReturn with the result of the push
+
+</return>
+</function>
+
+<function name="gst_harness_push_upstream_event">
+<description>
+Pushes an #GstEvent on the #GstHarness sinkpad.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GstEvent to push
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #gboolean with the result from the push
+
+</return>
+</function>
+
+<function name="gst_harness_query_latency">
+<description>
+Get the min latency reported by any harnessed #GstElement.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstClockTime with min latency
+
+</return>
+</function>
+
+<function name="gst_harness_set">
+<description>
+A convenience function to allows you to call g_object_set on a #GstElement
+that are residing inside the #GstHarness, by using normal g_object_set
+syntax.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="element_name">
+<parameter_description> a #gchar with a #GstElementFactory name
+</parameter_description>
+</parameter>
+<parameter name="first_property_name">
+<parameter_description> a #gchar with the first property name
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> value for the first property, followed optionally by more
+name/value pairs, followed by %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_set_blocking_push_mode">
+<description>
+Setting this will make the harness block in the chain-function, and
+then release when gst_harness_pull or gst_harness_try_pull is called.
+Can be useful when wanting to control a src-element that is not implementing
+gst_clock_id_wait so it can't be controlled by the #GstTestClock, since
+it otherwise would produce buffers as fast as possible.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_set_caps">
+<description>
+Sets the @GstHarness srcpad and sinkpad caps.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="in">
+<parameter_description> a #GstCaps to set on the harness srcpad
+</parameter_description>
+</parameter>
+<parameter name="out">
+<parameter_description> a #GstCaps to set on the harness sinkpad
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_set_caps_str">
+<description>
+Sets the @GstHarness srcpad and sinkpad caps using strings.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="in">
+<parameter_description> a @gchar describing a #GstCaps to set on the harness srcpad
+</parameter_description>
+</parameter>
+<parameter name="out">
+<parameter_description> a @gchar describing a #GstCaps to set on the harness sinkpad
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_set_drop_buffers">
+<description>
+When set to %TRUE, instead of placing the buffers arriving from the harnessed
+#GstElement inside the sinkpads #GAsyncQueue, they are instead unreffed.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="drop_buffers">
+<parameter_description> a #gboolean specifying to drop outgoing buffers or not
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_set_propose_allocator">
+<description>
+Sets the @allocator and @params to propose when receiving an allocation
+query.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="allocator">
+<parameter_description> a #GstAllocator
+</parameter_description>
+</parameter>
+<parameter name="params">
+<parameter_description> a #GstAllocationParams
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_set_sink_caps">
+<description>
+Sets the @GstHarness sinkpad caps.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="caps">
+<parameter_description> a #GstCaps to set on the harness sinkpad
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_set_sink_caps_str">
+<description>
+Sets the @GstHarness sinkpad caps using a string.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> a @gchar describing a #GstCaps to set on the harness sinkpad
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_set_src_caps">
+<description>
+Sets the @GstHarness srcpad caps. This must be done before any buffers
+can legally be pushed from the harness to the element.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="caps">
+<parameter_description> a #GstCaps to set on the harness srcpad
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_set_src_caps_str">
+<description>
+Sets the @GstHarness srcpad caps using a string. This must be done before
+any buffers can legally be pushed from the harness to the element.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> a @gchar describing a #GstCaps to set on the harness srcpad
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_set_time">
+<description>
+Advance the #GstTestClock to a specific time.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="time">
+<parameter_description> a #GstClockTime to advance the clock to
+</parameter_description>
+</parameter>
+</parameters>
+<return> a @gboolean %TRUE if the time could be set. %FALSE if not.
+
+</return>
+</function>
+
+<function name="gst_harness_set_upstream_latency">
+<description>
+Sets the min latency reported by #GstHarness when receiving a latency-query
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="latency">
+<parameter_description> a #GstClockTime specifying the latency
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstClockTime with min latency
+
+</return>
+</function>
+
+<function name="gst_harness_sink_push_many">
+<description>
+Convenience that calls gst_harness_push_to_sink @pushes number of times.
+Will abort the pushing if any one push fails.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="pushes">
+<parameter_description> a #gint with the number of calls to gst_harness_push_to_sink
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstFlowReturn with the result of the push
+
+</return>
+</function>
+
+<function name="gst_harness_src_crank_and_push_many">
+<description>
+Transfer data from the src-#GstHarness to the main-#GstHarness. Similar to
+gst_harness_push_from_src, this variant allows you to specify how many cranks
+and how many pushes to perform. This can be useful for both moving a lot
+of data at the same time, as well as cases when one crank does not equal one
+buffer to push and v.v.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="cranks">
+<parameter_description> a #gint with the number of calls to gst_harness_crank_single_clock_wait
+</parameter_description>
+</parameter>
+<parameter name="pushes">
+<parameter_description> a #gint with the number of calls to gst_harness_push
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstFlowReturn with the result of the push
+
+</return>
+</function>
+
+<function name="gst_harness_src_push_event">
+<description>
+Similar to what gst_harness_src_push does with #GstBuffers, this transfers
+a #GstEvent from the src-#GstHarness to the main-#GstHarness. Note that
+some #GstEvents are being transferred automagically. Look at sink_forward_pad
+for details.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #gboolean with the result of the push
+
+</return>
+</function>
+
+<function name="gst_harness_stress_custom_start">
+<description>
+Start a custom stress-thread that will call your @callback for every
+iteration allowing you to do something nasty.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="init">
+<parameter_description> a #GFunc that is called initially and only once
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> a #GFunc that is called as often as possible
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> a #gpointer with custom data to pass to the @callback function
+</parameter_description>
+</parameter>
+<parameter name="sleep">
+<parameter_description> a #gulong specifying how long to sleep in (microseconds) for
+each call to the @callback
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstHarnessThread
+
+</return>
+</function>
+
+<function name="gst_harness_stress_property_start_full">
+<description>
+Call g_object_set with @name and @value in intervals of @sleep microseconds
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> a #gchar specifying a property name
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a #GValue to set the property to
+</parameter_description>
+</parameter>
+<parameter name="sleep">
+<parameter_description> a #gulong specifying how long to sleep in (microseconds) for
+each g_object_set with @name and @value
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstHarnessThread
+
+</return>
+</function>
+
+<function name="gst_harness_stress_push_buffer_start_full">
+<description>
+Push a #GstBuffer in intervals of @sleep microseconds.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="caps">
+<parameter_description> a #GstCaps for the #GstBuffer
+</parameter_description>
+</parameter>
+<parameter name="segment">
+<parameter_description> a #GstSegment
+</parameter_description>
+</parameter>
+<parameter name="buf">
+<parameter_description> a #GstBuffer to push
+</parameter_description>
+</parameter>
+<parameter name="sleep">
+<parameter_description> a #gulong specifying how long to sleep in (microseconds) for
+each call to gst_pad_push
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstHarnessThread
+
+</return>
+</function>
+
+<function name="gst_harness_stress_push_buffer_with_cb_start_full">
+<description>
+Push a #GstBuffer in intervals of @sleep microseconds.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="caps">
+<parameter_description> a #GstCaps for the #GstBuffer
+</parameter_description>
+</parameter>
+<parameter name="segment">
+<parameter_description> a #GstSegment
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> a #GstHarnessPrepareBufferFunc function called before every iteration
+to prepare / create a #GstBuffer for pushing
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> a #gpointer with data to the #GstHarnessPrepareBufferFunc function
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> a #GDestroyNotify that is called for every push to allow cleaning
+up the #GstBuffer. (like gst_buffer_unref)
+</parameter_description>
+</parameter>
+<parameter name="sleep">
+<parameter_description> a #gulong specifying how long to sleep in (microseconds) for
+each call to gst_pad_push
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstHarnessThread
+
+</return>
+</function>
+
+<function name="gst_harness_stress_push_event_start_full">
+<description>
+Push the @event onto the harnessed #GstElement sinkpad in intervals of
+ sleep microseconds
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GstEvent to push
+</parameter_description>
+</parameter>
+<parameter name="sleep">
+<parameter_description> a #gulong specifying how long to sleep in (microseconds) for
+each gst_event_push with @event
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstHarnessThread
+
+</return>
+</function>
+
+<function name="gst_harness_stress_push_upstream_event_start_full">
+<description>
+Push the @event onto the harnessed #GstElement srcpad in intervals of
+ sleep microseconds.
+Pushing events should generally be OOB events.
+If you need serialized events, you may use a custom stress thread which
+both pushes buffers and events.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GstEvent to push
+</parameter_description>
+</parameter>
+<parameter name="sleep">
+<parameter_description> a #gulong specifying how long to sleep in (microseconds) for
+each gst_event_push with @event
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstHarnessThread
+
+</return>
+</function>
+
+<function name="gst_harness_stress_requestpad_start_full">
+<description>
+Call gst_element_request_pad in intervals of @sleep microseconds
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="templ">
+<parameter_description> a #GstPadTemplate
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> a #gchar
+</parameter_description>
+</parameter>
+<parameter name="caps">
+<parameter_description> a #GstCaps
+</parameter_description>
+</parameter>
+<parameter name="release">
+<parameter_description> a #gboolean
+</parameter_description>
+</parameter>
+<parameter name="sleep">
+<parameter_description> a #gulong specifying how long to sleep in (microseconds) for
+each gst_element_request_pad
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstHarnessThread
+
+</return>
+</function>
+
+<function name="gst_harness_stress_statechange_start_full">
+<description>
+Change the state of your harnessed #GstElement from NULL to PLAYING and
+back again, only pausing for @sleep microseconds every time.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="sleep">
+<parameter_description> a #gulong specifying how long to sleep in (microseconds) for
+each state-change
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstHarnessThread
+
+</return>
+</function>
+
+<function name="gst_harness_stress_thread_stop">
+<description>
+Stop the running #GstHarnessThread
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="t">
+<parameter_description> a #GstHarnessThread
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_teardown">
+<description>
+Tears down a @GstHarness, freeing all resources allocated using it.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_try_pull">
+<description>
+Pulls a #GstBuffer from the #GAsyncQueue on the #GstHarness sinkpad. Unlike
+gst_harness_pull this will not wait for any buffers if not any are present,
+and return %NULL straight away.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstBuffer or %NULL if no buffers are present in the #GAsyncQueue
+
+</return>
+</function>
+
+<function name="gst_harness_try_pull_event">
+<description>
+Pulls an #GstEvent from the #GAsyncQueue on the #GstHarness sinkpad.
+See gst_harness_try_pull for details.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstEvent or %NULL if no buffers are present in the #GAsyncQueue
+
+</return>
+</function>
+
+<function name="gst_harness_try_pull_upstream_event">
+<description>
+Pulls an #GstEvent from the #GAsyncQueue on the #GstHarness srcpad.
+See gst_harness_try_pull for details.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstEvent or %NULL if no buffers are present in the #GAsyncQueue
+
+</return>
+</function>
+
+<function name="gst_harness_upstream_events_in_queue">
+<description>
+The number of #GstEvents currently in the #GstHarness srcpad #GAsyncQueue
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #guint number of events in the queue
+
+</return>
+</function>
+
+<function name="gst_harness_upstream_events_received">
+<description>
+The total number of #GstEvents that has arrived on the #GstHarness srcpad
+This number includes events handled by the harness as well as events
+that have already been pulled out.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #guint number of events received
+
+</return>
+</function>
+
+<function name="gst_harness_use_systemclock">
+<description>
+Sets the system #GstClock on the @GstHarness #GstElement
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_use_testclock">
+<description>
+Sets the #GstTestClock on the #GstHarness #GstElement
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_harness_wait_for_clock_id_waits">
+<description>
+Waits for @timeout seconds until @waits number of #GstClockID waits is
+registered with the #GstTestClock. Useful for writing deterministic tests,
+where you want to make sure that an expected number of waits have been
+reached.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="h">
+<parameter_description> a #GstHarness
+</parameter_description>
+</parameter>
+<parameter name="waits">
+<parameter_description> a #guint describing the numbers of #GstClockID registered with
+the #GstTestClock
+</parameter_description>
+</parameter>
+<parameter name="timeout">
+<parameter_description> a #guint describing how many seconds to wait for @waits to be true
+</parameter_description>
+</parameter>
+</parameters>
+<return> a @gboolean %TRUE if the waits have been registered, %FALSE if not.
+(Could be that it timed out waiting or that more waits then waits was found)
+
+</return>
+</function>
+
 <function name="gst_index_add_association">
 <description>
 Associate given format/value pairs with each other.
diff --git a/gstreamer/src/gst_enums.defs b/gstreamer/src/gst_enums.defs
index a597393..5725103 100644
--- a/gstreamer/src/gst_enums.defs
+++ b/gstreamer/src/gst_enums.defs
@@ -6620,3320 +6620,6 @@
   )
 )
 
-;; From gstcamerabin-enum.h
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   /* MODE_PREVIEW = 0, No use for this */
-;;   MODE_IMAGE = 1,
-;;   MODE_VIDEO = 2,
-;; } GstCameraBinMode;
-
-(define-enum-extended CameraBinMode
-  (in-module "Gst")
-  (c-name "GstCameraBinMode")
-  (values
-    '("image" "MODE_IMAGE" "1")
-    '("video" "MODE_VIDEO" "2")
-  )
-)
-
-;; From gsth264parser.h
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_H264_PROFILE_BASELINE             = 66,
-;;   GST_H264_PROFILE_MAIN                 = 77,
-;;   GST_H264_PROFILE_EXTENDED             = 88,
-;;   GST_H264_PROFILE_HIGH                 = 100,
-;;   GST_H264_PROFILE_HIGH10               = 110,
-;;   GST_H264_PROFILE_HIGH_422             = 122,
-;;   GST_H264_PROFILE_HIGH_444             = 244,
-;;   GST_H264_PROFILE_MULTIVIEW_HIGH       = 118,
-;;   GST_H264_PROFILE_STEREO_HIGH          = 128,
-;;   GST_H264_PROFILE_SCALABLE_BASELINE    = 83,
-;;   GST_H264_PROFILE_SCALABLE_HIGH        = 86
-;; } GstH264Profile;
-
-(define-enum-extended H264Profile
-  (in-module "Gst")
-  (c-name "GstH264Profile")
-  (values
-    '("baseline" "GST_H264_PROFILE_BASELINE" "66")
-    '("main" "GST_H264_PROFILE_MAIN" "77")
-    '("extended" "GST_H264_PROFILE_EXTENDED" "88")
-    '("high" "GST_H264_PROFILE_HIGH" "100")
-    '("high10" "GST_H264_PROFILE_HIGH10" "110")
-    '("high-422" "GST_H264_PROFILE_HIGH_422" "122")
-    '("high-444" "GST_H264_PROFILE_HIGH_444" "244")
-    '("multiview-high" "GST_H264_PROFILE_MULTIVIEW_HIGH" "118")
-    '("stereo-high" "GST_H264_PROFILE_STEREO_HIGH" "128")
-    '("scalable-baseline" "GST_H264_PROFILE_SCALABLE_BASELINE" "83")
-    '("scalable-high" "GST_H264_PROFILE_SCALABLE_HIGH" "86")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_H264_NAL_UNKNOWN      = 0,
-;;   GST_H264_NAL_SLICE        = 1,
-;;   GST_H264_NAL_SLICE_DPA    = 2,
-;;   GST_H264_NAL_SLICE_DPB    = 3,
-;;   GST_H264_NAL_SLICE_DPC    = 4,
-;;   GST_H264_NAL_SLICE_IDR    = 5,
-;;   GST_H264_NAL_SEI          = 6,
-;;   GST_H264_NAL_SPS          = 7,
-;;   GST_H264_NAL_PPS          = 8,
-;;   GST_H264_NAL_AU_DELIMITER = 9,
-;;   GST_H264_NAL_SEQ_END      = 10,
-;;   GST_H264_NAL_STREAM_END   = 11,
-;;   GST_H264_NAL_FILLER_DATA  = 12,
-;;   GST_H264_NAL_SPS_EXT      = 13,
-;;   GST_H264_NAL_PREFIX_UNIT  = 14,
-;;   GST_H264_NAL_SUBSET_SPS   = 15,
-;;   GST_H264_NAL_SLICE_AUX    = 19,
-;;   GST_H264_NAL_SLICE_EXT    = 20
-;; } GstH264NalUnitType;
-
-(define-enum-extended H264NalUnitType
-  (in-module "Gst")
-  (c-name "GstH264NalUnitType")
-  (values
-    '("unknown" "GST_H264_NAL_UNKNOWN" "0")
-    '("slice" "GST_H264_NAL_SLICE" "1")
-    '("slice-dpa" "GST_H264_NAL_SLICE_DPA" "2")
-    '("slice-dpb" "GST_H264_NAL_SLICE_DPB" "3")
-    '("slice-dpc" "GST_H264_NAL_SLICE_DPC" "4")
-    '("slice-idr" "GST_H264_NAL_SLICE_IDR" "5")
-    '("sei" "GST_H264_NAL_SEI" "6")
-    '("sps" "GST_H264_NAL_SPS" "7")
-    '("pps" "GST_H264_NAL_PPS" "8")
-    '("au-delimiter" "GST_H264_NAL_AU_DELIMITER" "9")
-    '("seq-end" "GST_H264_NAL_SEQ_END" "10")
-    '("stream-end" "GST_H264_NAL_STREAM_END" "11")
-    '("filler-data" "GST_H264_NAL_FILLER_DATA" "12")
-    '("sps-ext" "GST_H264_NAL_SPS_EXT" "13")
-    '("prefix-unit" "GST_H264_NAL_PREFIX_UNIT" "14")
-    '("subset-sps" "GST_H264_NAL_SUBSET_SPS" "15")
-    '("slice-aux" "GST_H264_NAL_SLICE_AUX" "19")
-    '("slice-ext" "GST_H264_NAL_SLICE_EXT" "20")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_H264_NAL_EXTENSION_NONE = 0,
-;;   GST_H264_NAL_EXTENSION_SVC,
-;;   GST_H264_NAL_EXTENSION_MVC,
-;; } GstH264NalUnitExtensionType;
-
-(define-enum-extended H264NalUnitExtensionType
-  (in-module "Gst")
-  (c-name "GstH264NalUnitExtensionType")
-  (values
-    '("none" "GST_H264_NAL_EXTENSION_NONE" "0")
-    '("svc" "GST_H264_NAL_EXTENSION_SVC" "1")
-    '("mvc" "GST_H264_NAL_EXTENSION_MVC" "2")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_H264_PARSER_OK,
-;;   GST_H264_PARSER_BROKEN_DATA,
-;;   GST_H264_PARSER_BROKEN_LINK,
-;;   GST_H264_PARSER_ERROR,
-;;   GST_H264_PARSER_NO_NAL,
-;;   GST_H264_PARSER_NO_NAL_END
-;; } GstH264ParserResult;
-
-(define-enum-extended H264ParserResult
-  (in-module "Gst")
-  (c-name "GstH264ParserResult")
-  (values
-    '("ok" "GST_H264_PARSER_OK" "0")
-    '("broken-data" "GST_H264_PARSER_BROKEN_DATA" "1")
-    '("broken-link" "GST_H264_PARSER_BROKEN_LINK" "2")
-    '("error" "GST_H264_PARSER_ERROR" "3")
-    '("no-nal" "GST_H264_PARSER_NO_NAL" "4")
-    '("no-nal-end" "GST_H264_PARSER_NO_NAL_END" "5")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_H264_FRAME_PACKING_NONE                           = 6,
-;;   GST_H264_FRAME_PACKING_CHECKERBOARD_INTERLEAVING      = 0,
-;;   GST_H264_FRAME_PACKING_COLUMN_INTERLEAVING            = 1,
-;;   GST_H264_FRAME_PACKING_ROW_INTERLEAVING               = 2,
-;;   GST_H264_FRAME_PACKING_SIDE_BY_SIDE                   = 3,
-;;   GST_H264_FRMAE_PACKING_TOP_BOTTOM                     = 4,
-;;   GST_H264_FRAME_PACKING_TEMPORAL_INTERLEAVING          = 5
-;; } GstH264FramePackingType;
-
-(define-enum-extended H264FramePackingType
-  (in-module "Gst")
-  (c-name "GstH264FramePackingType")
-  (values
-    '("frame-packing-none" "GST_H264_FRAME_PACKING_NONE" "6")
-    '("frame-packing-checkerboard-interleaving" "GST_H264_FRAME_PACKING_CHECKERBOARD_INTERLEAVING" "0")
-    '("frame-packing-column-interleaving" "GST_H264_FRAME_PACKING_COLUMN_INTERLEAVING" "1")
-    '("frame-packing-row-interleaving" "GST_H264_FRAME_PACKING_ROW_INTERLEAVING" "2")
-    '("frame-packing-side-by-side" "GST_H264_FRAME_PACKING_SIDE_BY_SIDE" "3")
-    '("frmae-packing-top-bottom" "GST_H264_FRMAE_PACKING_TOP_BOTTOM" "4")
-    '("frame-packing-temporal-interleaving" "GST_H264_FRAME_PACKING_TEMPORAL_INTERLEAVING" "5")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_H264_SEI_BUF_PERIOD = 0,
-;;   GST_H264_SEI_PIC_TIMING = 1,
-;;   GST_H264_SEI_RECOVERY_POINT = 6,
-;;   GST_H264_SEI_STEREO_VIDEO_INFO = 21,
-;;   GST_H264_SEI_FRAME_PACKING = 45
-;;       /* and more...  */
-;; } GstH264SEIPayloadType;
-
-(define-enum-extended H264SEIPayloadType
-  (in-module "Gst")
-  (c-name "GstH264SEIPayloadType")
-  (values
-    '("buf-period" "GST_H264_SEI_BUF_PERIOD" "0")
-    '("pic-timing" "GST_H264_SEI_PIC_TIMING" "1")
-    '("recovery-point" "GST_H264_SEI_RECOVERY_POINT" "6")
-    '("stereo-video-info" "GST_H264_SEI_STEREO_VIDEO_INFO" "21")
-    '("frame-packing" "GST_H264_SEI_FRAME_PACKING" "45")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_H264_SEI_PIC_STRUCT_FRAME             = 0,
-;;   GST_H264_SEI_PIC_STRUCT_TOP_FIELD         = 1,
-;;   GST_H264_SEI_PIC_STRUCT_BOTTOM_FIELD      = 2,
-;;   GST_H264_SEI_PIC_STRUCT_TOP_BOTTOM        = 3,
-;;   GST_H264_SEI_PIC_STRUCT_BOTTOM_TOP        = 4,
-;;   GST_H264_SEI_PIC_STRUCT_TOP_BOTTOM_TOP    = 5,
-;;   GST_H264_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM = 6,
-;;   GST_H264_SEI_PIC_STRUCT_FRAME_DOUBLING    = 7,
-;;   GST_H264_SEI_PIC_STRUCT_FRAME_TRIPLING    = 8
-;; } GstH264SEIPicStructType;
-
-(define-enum-extended H264SEIPicStructType
-  (in-module "Gst")
-  (c-name "GstH264SEIPicStructType")
-  (values
-    '("frame" "GST_H264_SEI_PIC_STRUCT_FRAME" "0")
-    '("top-field" "GST_H264_SEI_PIC_STRUCT_TOP_FIELD" "1")
-    '("bottom-field" "GST_H264_SEI_PIC_STRUCT_BOTTOM_FIELD" "2")
-    '("top-bottom" "GST_H264_SEI_PIC_STRUCT_TOP_BOTTOM" "3")
-    '("bottom-top" "GST_H264_SEI_PIC_STRUCT_BOTTOM_TOP" "4")
-    '("top-bottom-top" "GST_H264_SEI_PIC_STRUCT_TOP_BOTTOM_TOP" "5")
-    '("bottom-top-bottom" "GST_H264_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM" "6")
-    '("frame-doubling" "GST_H264_SEI_PIC_STRUCT_FRAME_DOUBLING" "7")
-    '("frame-tripling" "GST_H264_SEI_PIC_STRUCT_FRAME_TRIPLING" "8")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_H264_P_SLICE    = 0,
-;;   GST_H264_B_SLICE    = 1,
-;;   GST_H264_I_SLICE    = 2,
-;;   GST_H264_SP_SLICE   = 3,
-;;   GST_H264_SI_SLICE   = 4,
-;;   GST_H264_S_P_SLICE  = 5,
-;;   GST_H264_S_B_SLICE  = 6,
-;;   GST_H264_S_I_SLICE  = 7,
-;;   GST_H264_S_SP_SLICE = 8,
-;;   GST_H264_S_SI_SLICE = 9
-;; } GstH264SliceType;
-
-(define-enum-extended H264SliceType
-  (in-module "Gst")
-  (c-name "GstH264SliceType")
-  (values
-    '("p-slice" "GST_H264_P_SLICE" "0")
-    '("b-slice" "GST_H264_B_SLICE" "1")
-    '("i-slice" "GST_H264_I_SLICE" "2")
-    '("sp-slice" "GST_H264_SP_SLICE" "3")
-    '("si-slice" "GST_H264_SI_SLICE" "4")
-    '("s-p-slice" "GST_H264_S_P_SLICE" "5")
-    '("s-b-slice" "GST_H264_S_B_SLICE" "6")
-    '("s-i-slice" "GST_H264_S_I_SLICE" "7")
-    '("s-sp-slice" "GST_H264_S_SP_SLICE" "8")
-    '("s-si-slice" "GST_H264_S_SI_SLICE" "9")
-  )
-)
-
-;; From gsth265parser.h
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_H265_PROFILE_MAIN                 = 1,
-;;   GST_H265_PROFILE_MAIN_10              = 2,
-;;   GST_H265_PROFILE_MAIN_STILL_PICTURE   = 3
-;; } GstH265Profile;
-
-(define-enum-extended H265Profile
-  (in-module "Gst")
-  (c-name "GstH265Profile")
-  (values
-    '("main" "GST_H265_PROFILE_MAIN" "1")
-    '("main-10" "GST_H265_PROFILE_MAIN_10" "2")
-    '("main-still-picture" "GST_H265_PROFILE_MAIN_STILL_PICTURE" "3")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_H265_NAL_SLICE_TRAIL_N    = 0,
-;;   GST_H265_NAL_SLICE_TRAIL_R    = 1,
-;;   GST_H265_NAL_SLICE_TSA_N      = 2,
-;;   GST_H265_NAL_SLICE_TSA_R      = 3,
-;;   GST_H265_NAL_SLICE_STSA_N     = 4,
-;;   GST_H265_NAL_SLICE_STSA_R     = 5,
-;;   GST_H265_NAL_SLICE_RADL_N     = 6,
-;;   GST_H265_NAL_SLICE_RADL_R     = 7,
-;;   GST_H265_NAL_SLICE_RASL_N     = 8,
-;;   GST_H265_NAL_SLICE_RASL_R     = 9,
-;;   GST_H265_NAL_SLICE_BLA_W_LP   = 16,
-;;   GST_H265_NAL_SLICE_BLA_W_RADL = 17,
-;;   GST_H265_NAL_SLICE_BLA_N_LP   = 18,
-;;   GST_H265_NAL_SLICE_IDR_W_RADL = 19,
-;;   GST_H265_NAL_SLICE_IDR_N_LP   = 20,
-;;   GST_H265_NAL_SLICE_CRA_NUT    = 21,
-;;   GST_H265_NAL_VPS              = 32,
-;;   GST_H265_NAL_SPS              = 33,
-;;   GST_H265_NAL_PPS              = 34,
-;;   GST_H265_NAL_AUD              = 35,
-;;   GST_H265_NAL_EOS              = 36,
-;;   GST_H265_NAL_EOB              = 37,
-;;   GST_H265_NAL_FD               = 38,
-;;   GST_H265_NAL_PREFIX_SEI       = 39,
-;;   GST_H265_NAL_SUFFIX_SEI       = 40
-;; } GstH265NalUnitType;
-
-(define-enum-extended H265NalUnitType
-  (in-module "Gst")
-  (c-name "GstH265NalUnitType")
-  (values
-    '("slice-trail-n" "GST_H265_NAL_SLICE_TRAIL_N" "0")
-    '("slice-trail-r" "GST_H265_NAL_SLICE_TRAIL_R" "1")
-    '("slice-tsa-n" "GST_H265_NAL_SLICE_TSA_N" "2")
-    '("slice-tsa-r" "GST_H265_NAL_SLICE_TSA_R" "3")
-    '("slice-stsa-n" "GST_H265_NAL_SLICE_STSA_N" "4")
-    '("slice-stsa-r" "GST_H265_NAL_SLICE_STSA_R" "5")
-    '("slice-radl-n" "GST_H265_NAL_SLICE_RADL_N" "6")
-    '("slice-radl-r" "GST_H265_NAL_SLICE_RADL_R" "7")
-    '("slice-rasl-n" "GST_H265_NAL_SLICE_RASL_N" "8")
-    '("slice-rasl-r" "GST_H265_NAL_SLICE_RASL_R" "9")
-    '("slice-bla-w-lp" "GST_H265_NAL_SLICE_BLA_W_LP" "16")
-    '("slice-bla-w-radl" "GST_H265_NAL_SLICE_BLA_W_RADL" "17")
-    '("slice-bla-n-lp" "GST_H265_NAL_SLICE_BLA_N_LP" "18")
-    '("slice-idr-w-radl" "GST_H265_NAL_SLICE_IDR_W_RADL" "19")
-    '("slice-idr-n-lp" "GST_H265_NAL_SLICE_IDR_N_LP" "20")
-    '("slice-cra-nut" "GST_H265_NAL_SLICE_CRA_NUT" "21")
-    '("vps" "GST_H265_NAL_VPS" "32")
-    '("sps" "GST_H265_NAL_SPS" "33")
-    '("pps" "GST_H265_NAL_PPS" "34")
-    '("aud" "GST_H265_NAL_AUD" "35")
-    '("eos" "GST_H265_NAL_EOS" "36")
-    '("eob" "GST_H265_NAL_EOB" "37")
-    '("fd" "GST_H265_NAL_FD" "38")
-    '("prefix-sei" "GST_H265_NAL_PREFIX_SEI" "39")
-    '("suffix-sei" "GST_H265_NAL_SUFFIX_SEI" "40")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_H265_PARSER_OK,
-;;   GST_H265_PARSER_BROKEN_DATA,
-;;   GST_H265_PARSER_BROKEN_LINK,
-;;   GST_H265_PARSER_ERROR,
-;;   GST_H265_PARSER_NO_NAL,
-;;   GST_H265_PARSER_NO_NAL_END
-;; } GstH265ParserResult;
-
-(define-enum-extended H265ParserResult
-  (in-module "Gst")
-  (c-name "GstH265ParserResult")
-  (values
-    '("ok" "GST_H265_PARSER_OK" "0")
-    '("broken-data" "GST_H265_PARSER_BROKEN_DATA" "1")
-    '("broken-link" "GST_H265_PARSER_BROKEN_LINK" "2")
-    '("error" "GST_H265_PARSER_ERROR" "3")
-    '("no-nal" "GST_H265_PARSER_NO_NAL" "4")
-    '("no-nal-end" "GST_H265_PARSER_NO_NAL_END" "5")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_H265_SEI_BUF_PERIOD = 0,
-;;   GST_H265_SEI_PIC_TIMING = 1
-;;       /* and more...  */
-;; } GstH265SEIPayloadType;
-
-(define-enum-extended H265SEIPayloadType
-  (in-module "Gst")
-  (c-name "GstH265SEIPayloadType")
-  (values
-    '("buf-period" "GST_H265_SEI_BUF_PERIOD" "0")
-    '("pic-timing" "GST_H265_SEI_PIC_TIMING" "1")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_H265_SEI_PIC_STRUCT_FRAME                         = 0,
-;;   GST_H265_SEI_PIC_STRUCT_TOP_FIELD                     = 1,
-;;   GST_H265_SEI_PIC_STRUCT_BOTTOM_FIELD                  = 2,
-;;   GST_H265_SEI_PIC_STRUCT_TOP_BOTTOM                    = 3,
-;;   GST_H265_SEI_PIC_STRUCT_BOTTOM_TOP                    = 4,
-;;   GST_H265_SEI_PIC_STRUCT_TOP_BOTTOM_TOP                = 5,
-;;   GST_H265_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM             = 6,
-;;   GST_H265_SEI_PIC_STRUCT_FRAME_DOUBLING                = 7,
-;;   GST_H265_SEI_PIC_STRUCT_FRAME_TRIPLING                = 8,
-;;   GST_H265_SEI_PIC_STRUCT_TOP_PAIRED_PREVIOUS_BOTTOM    = 9,
-;;   GST_H265_SEI_PIC_STRUCT_BOTTOM_PAIRED_PREVIOUS_TOP    = 10,
-;;   GST_H265_SEI_PIC_STRUCT_TOP_PAIRED_NEXT_BOTTOM        = 11,
-;;   GST_H265_SEI_PIC_STRUCT_BOTTOM_PAIRED_NEXT_TOP        = 12
-;; } GstH265SEIPicStructType;
-
-(define-enum-extended H265SEIPicStructType
-  (in-module "Gst")
-  (c-name "GstH265SEIPicStructType")
-  (values
-    '("frame" "GST_H265_SEI_PIC_STRUCT_FRAME" "0")
-    '("top-field" "GST_H265_SEI_PIC_STRUCT_TOP_FIELD" "1")
-    '("bottom-field" "GST_H265_SEI_PIC_STRUCT_BOTTOM_FIELD" "2")
-    '("top-bottom" "GST_H265_SEI_PIC_STRUCT_TOP_BOTTOM" "3")
-    '("bottom-top" "GST_H265_SEI_PIC_STRUCT_BOTTOM_TOP" "4")
-    '("top-bottom-top" "GST_H265_SEI_PIC_STRUCT_TOP_BOTTOM_TOP" "5")
-    '("bottom-top-bottom" "GST_H265_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM" "6")
-    '("frame-doubling" "GST_H265_SEI_PIC_STRUCT_FRAME_DOUBLING" "7")
-    '("frame-tripling" "GST_H265_SEI_PIC_STRUCT_FRAME_TRIPLING" "8")
-    '("top-paired-previous-bottom" "GST_H265_SEI_PIC_STRUCT_TOP_PAIRED_PREVIOUS_BOTTOM" "9")
-    '("bottom-paired-previous-top" "GST_H265_SEI_PIC_STRUCT_BOTTOM_PAIRED_PREVIOUS_TOP" "10")
-    '("top-paired-next-bottom" "GST_H265_SEI_PIC_STRUCT_TOP_PAIRED_NEXT_BOTTOM" "11")
-    '("bottom-paired-next-top" "GST_H265_SEI_PIC_STRUCT_BOTTOM_PAIRED_NEXT_TOP" "12")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_H265_B_SLICE    = 0,
-;;   GST_H265_P_SLICE    = 1,
-;;   GST_H265_I_SLICE    = 2
-;; } GstH265SliceType;
-
-(define-enum-extended H265SliceType
-  (in-module "Gst")
-  (c-name "GstH265SliceType")
-  (values
-    '("b-slice" "GST_H265_B_SLICE" "0")
-    '("p-slice" "GST_H265_P_SLICE" "1")
-    '("i-slice" "GST_H265_I_SLICE" "2")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_H265_QUANT_MATIX_4X4   = 0,
-;;   GST_H265_QUANT_MATIX_8X8   = 1,
-;;   GST_H265_QUANT_MATIX_16X16 = 2,
-;;   GST_H265_QUANT_MATIX_32X32 = 3
-;; } GstH265QuantMatrixSize;
-
-(define-enum-extended H265QuantMatrixSize
-  (in-module "Gst")
-  (c-name "GstH265QuantMatrixSize")
-  (values
-    '("4x4" "GST_H265_QUANT_MATIX_4X4" "0")
-    '("8x8" "GST_H265_QUANT_MATIX_8X8" "1")
-    '("16x16" "GST_H265_QUANT_MATIX_16X16" "2")
-    '("32x32" "GST_H265_QUANT_MATIX_32X32" "3")
-  )
-)
-
-;; From gstjpegparser.h
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_JPEG_MARKER_SOF0          = 0xC0,
-;;   GST_JPEG_MARKER_SOF1          = 0xC1,
-;;   GST_JPEG_MARKER_SOF2          = 0xC2,
-;;   GST_JPEG_MARKER_SOF3          = 0xC3,
-;;   /* 0xC4 = DHT see below */
-;;   GST_JPEG_MARKER_SOF5          = 0xC5,
-;;   GST_JPEG_MARKER_SOF6          = 0xC6,
-;;   GST_JPEG_MARKER_SOF7          = 0xC7,
-;;   /* 0xC8 = reserved */
-;;   GST_JPEG_MARKER_SOF9          = 0xC9,
-;;   GST_JPEG_MARKER_SOF10         = 0xCA,
-;;   GST_JPEG_MARKER_SOF11         = 0xCB,
-;;   /* 0xCC = DAC see below */
-;;   GST_JPEG_MARKER_SOF13         = 0xCD,
-;;   GST_JPEG_MARKER_SOF14         = 0xCE,
-;;   GST_JPEG_MARKER_SOF15         = 0xCF,
-;;   GST_JPEG_MARKER_DHT           = 0xC4,
-;;   GST_JPEG_MARKER_DAC           = 0xCC,
-;;   GST_JPEG_MARKER_RST0          = 0xD0,
-;;   GST_JPEG_MARKER_RST1          = 0xD1,
-;;   GST_JPEG_MARKER_RST2          = 0xD2,
-;;   GST_JPEG_MARKER_RST3          = 0xD3,
-;;   GST_JPEG_MARKER_RST4          = 0xD4,
-;;   GST_JPEG_MARKER_RST5          = 0xD5,
-;;   GST_JPEG_MARKER_RST6          = 0xD6,
-;;   GST_JPEG_MARKER_RST7          = 0xD7,
-;;   GST_JPEG_MARKER_SOI           = 0xD8,
-;;   GST_JPEG_MARKER_EOI           = 0xD9,
-;;   GST_JPEG_MARKER_SOS           = 0xDA,
-;;   GST_JPEG_MARKER_DQT           = 0xDB,
-;;   GST_JPEG_MARKER_DNL           = 0xDC,
-;;   GST_JPEG_MARKER_DRI           = 0xDD,
-;;   GST_JPEG_MARKER_APP0          = 0xE0,
-;;   GST_JPEG_MARKER_APP1          = 0xE1,
-;;   GST_JPEG_MARKER_APP2          = 0xE2,
-;;   GST_JPEG_MARKER_APP3          = 0xE3,
-;;   GST_JPEG_MARKER_APP4          = 0xE4,
-;;   GST_JPEG_MARKER_APP5          = 0xE5,
-;;   GST_JPEG_MARKER_APP6          = 0xE6,
-;;   GST_JPEG_MARKER_APP7          = 0xE7,
-;;   GST_JPEG_MARKER_APP8          = 0xE8,
-;;   GST_JPEG_MARKER_APP9          = 0xE9,
-;;   GST_JPEG_MARKER_APP10         = 0xEA,
-;;   GST_JPEG_MARKER_APP11         = 0xEB,
-;;   GST_JPEG_MARKER_APP12         = 0xEC,
-;;   GST_JPEG_MARKER_APP13         = 0xED,
-;;   GST_JPEG_MARKER_APP14         = 0xEE,
-;;   GST_JPEG_MARKER_APP15         = 0xEF,
-;;   GST_JPEG_MARKER_COM           = 0xFE,
-;; } GstJpegMarker;
-
-(define-flags-extended JpegMarker
-  (in-module "Gst")
-  (c-name "GstJpegMarker")
-  (values
-    '("sof0" "GST_JPEG_MARKER_SOF0" "0xC0")
-    '("sof1" "GST_JPEG_MARKER_SOF1" "0xC1")
-    '("sof2" "GST_JPEG_MARKER_SOF2" "0xC2")
-    '("sof3" "GST_JPEG_MARKER_SOF3" "0xC3")
-    '("sof5" "GST_JPEG_MARKER_SOF5" "0xC5")
-    '("sof6" "GST_JPEG_MARKER_SOF6" "0xC6")
-    '("sof7" "GST_JPEG_MARKER_SOF7" "0xC7")
-    '("sof9" "GST_JPEG_MARKER_SOF9" "0xC9")
-    '("sof10" "GST_JPEG_MARKER_SOF10" "0xCA")
-    '("sof11" "GST_JPEG_MARKER_SOF11" "0xCB")
-    '("sof13" "GST_JPEG_MARKER_SOF13" "0xCD")
-    '("sof14" "GST_JPEG_MARKER_SOF14" "0xCE")
-    '("sof15" "GST_JPEG_MARKER_SOF15" "0xCF")
-    '("dht" "GST_JPEG_MARKER_DHT" "0xC4")
-    '("dac" "GST_JPEG_MARKER_DAC" "0xCC")
-    '("rst0" "GST_JPEG_MARKER_RST0" "0xD0")
-    '("rst1" "GST_JPEG_MARKER_RST1" "0xD1")
-    '("rst2" "GST_JPEG_MARKER_RST2" "0xD2")
-    '("rst3" "GST_JPEG_MARKER_RST3" "0xD3")
-    '("rst4" "GST_JPEG_MARKER_RST4" "0xD4")
-    '("rst5" "GST_JPEG_MARKER_RST5" "0xD5")
-    '("rst6" "GST_JPEG_MARKER_RST6" "0xD6")
-    '("rst7" "GST_JPEG_MARKER_RST7" "0xD7")
-    '("soi" "GST_JPEG_MARKER_SOI" "0xD8")
-    '("eoi" "GST_JPEG_MARKER_EOI" "0xD9")
-    '("sos" "GST_JPEG_MARKER_SOS" "0xDA")
-    '("dqt" "GST_JPEG_MARKER_DQT" "0xDB")
-    '("dnl" "GST_JPEG_MARKER_DNL" "0xDC")
-    '("dri" "GST_JPEG_MARKER_DRI" "0xDD")
-    '("app0" "GST_JPEG_MARKER_APP0" "0xE0")
-    '("app1" "GST_JPEG_MARKER_APP1" "0xE1")
-    '("app2" "GST_JPEG_MARKER_APP2" "0xE2")
-    '("app3" "GST_JPEG_MARKER_APP3" "0xE3")
-    '("app4" "GST_JPEG_MARKER_APP4" "0xE4")
-    '("app5" "GST_JPEG_MARKER_APP5" "0xE5")
-    '("app6" "GST_JPEG_MARKER_APP6" "0xE6")
-    '("app7" "GST_JPEG_MARKER_APP7" "0xE7")
-    '("app8" "GST_JPEG_MARKER_APP8" "0xE8")
-    '("app9" "GST_JPEG_MARKER_APP9" "0xE9")
-    '("app10" "GST_JPEG_MARKER_APP10" "0xEA")
-    '("app11" "GST_JPEG_MARKER_APP11" "0xEB")
-    '("app12" "GST_JPEG_MARKER_APP12" "0xEC")
-    '("app13" "GST_JPEG_MARKER_APP13" "0xED")
-    '("app14" "GST_JPEG_MARKER_APP14" "0xEE")
-    '("app15" "GST_JPEG_MARKER_APP15" "0xEF")
-    '("com" "GST_JPEG_MARKER_COM" "0xFE")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_JPEG_PROFILE_BASELINE     = 0x00,
-;;   GST_JPEG_PROFILE_EXTENDED     = 0x01,
-;;   GST_JPEG_PROFILE_PROGRESSIVE  = 0x02,
-;;   GST_JPEG_PROFILE_LOSSLESS     = 0x03,
-;; } GstJpegProfile;
-
-(define-flags-extended JpegProfile
-  (in-module "Gst")
-  (c-name "GstJpegProfile")
-  (values
-    '("baseline" "GST_JPEG_PROFILE_BASELINE" "0x00")
-    '("extended" "GST_JPEG_PROFILE_EXTENDED" "0x01")
-    '("progressive" "GST_JPEG_PROFILE_PROGRESSIVE" "0x02")
-    '("lossless" "GST_JPEG_PROFILE_LOSSLESS" "0x03")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_JPEG_ENTROPY_CODING_HUFFMAN       = 0x00,
-;;   GST_JPEG_ENTROPY_CODING_ARITHMETIC    = 0x08
-;; } GstJpegEntropyCodingMode;
-
-(define-flags-extended JpegEntropyCodingMode
-  (in-module "Gst")
-  (c-name "GstJpegEntropyCodingMode")
-  (values
-    '("huffman" "GST_JPEG_ENTROPY_CODING_HUFFMAN" "0x00")
-    '("arithmetic" "GST_JPEG_ENTROPY_CODING_ARITHMETIC" "0x08")
-  )
-)
-
-;; From gstmpeg4parser.h
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_MPEG4_VIDEO_OBJ_FIRST      = 0x00,
-;;   GST_MPEG4_VIDEO_OBJ_LAST       = 0x1f,
-;;   GST_MPEG4_VIDEO_LAYER_FIRST    = 0x20,
-;;   GST_MPEG4_VIDEO_LAYER_LAST     = 0x2f,
-;;   GST_MPEG4_VISUAL_OBJ_SEQ_START = 0xb0,
-;;   GST_MPEG4_VISUAL_OBJ_SEQ_END   = 0xb1,
-;;   GST_MPEG4_USER_DATA            = 0xb2,
-;;   GST_MPEG4_GROUP_OF_VOP         = 0xb3,
-;;   GST_MPEG4_VIDEO_SESSION_ERR    = 0xb4,
-;;   GST_MPEG4_VISUAL_OBJ           = 0xb5,
-;;   GST_MPEG4_VIDEO_OBJ_PLANE      = 0xb6,
-;;   GST_MPEG4_FBA                  = 0xba,
-;;   GST_MPEG4_FBA_PLAN             = 0xbb,
-;;   GST_MPEG4_MESH                 = 0xbc,
-;;   GST_MPEG4_MESH_PLAN            = 0xbd,
-;;   GST_MPEG4_STILL_TEXTURE_OBJ    = 0xbe,
-;;   GST_MPEG4_TEXTURE_SPATIAL      = 0xbf,
-;;   GST_MPEG4_TEXTURE_SNR_LAYER    = 0xc0,
-;;   GST_MPEG4_TEXTURE_TILE         = 0xc1,
-;;   GST_MPEG4_SHAPE_LAYER          = 0xc2,
-;;   GST_MPEG4_STUFFING             = 0xc3,
-;;   GST_MPEG4_SYSTEM_FIRST         = 0xc6,
-;;   GST_MPEG4_SYSTEM_LAST          = 0xff,
-;;   GST_MPEG4_RESYNC               = 0xfff
-;; } GstMpeg4StartCode;
-
-(define-flags-extended Mpeg4StartCode
-  (in-module "Gst")
-  (c-name "GstMpeg4StartCode")
-  (values
-    '("video-obj-first" "GST_MPEG4_VIDEO_OBJ_FIRST" "0x00")
-    '("video-obj-last" "GST_MPEG4_VIDEO_OBJ_LAST" "0x1f")
-    '("video-layer-first" "GST_MPEG4_VIDEO_LAYER_FIRST" "0x20")
-    '("video-layer-last" "GST_MPEG4_VIDEO_LAYER_LAST" "0x2f")
-    '("visual-obj-seq-start" "GST_MPEG4_VISUAL_OBJ_SEQ_START" "0xb0")
-    '("visual-obj-seq-end" "GST_MPEG4_VISUAL_OBJ_SEQ_END" "0xb1")
-    '("user-data" "GST_MPEG4_USER_DATA" "0xb2")
-    '("group-of-vop" "GST_MPEG4_GROUP_OF_VOP" "0xb3")
-    '("video-session-err" "GST_MPEG4_VIDEO_SESSION_ERR" "0xb4")
-    '("visual-obj" "GST_MPEG4_VISUAL_OBJ" "0xb5")
-    '("video-obj-plane" "GST_MPEG4_VIDEO_OBJ_PLANE" "0xb6")
-    '("fba" "GST_MPEG4_FBA" "0xba")
-    '("fba-plan" "GST_MPEG4_FBA_PLAN" "0xbb")
-    '("mesh" "GST_MPEG4_MESH" "0xbc")
-    '("mesh-plan" "GST_MPEG4_MESH_PLAN" "0xbd")
-    '("still-texture-obj" "GST_MPEG4_STILL_TEXTURE_OBJ" "0xbe")
-    '("texture-spatial" "GST_MPEG4_TEXTURE_SPATIAL" "0xbf")
-    '("texture-snr-layer" "GST_MPEG4_TEXTURE_SNR_LAYER" "0xc0")
-    '("texture-tile" "GST_MPEG4_TEXTURE_TILE" "0xc1")
-    '("shape-layer" "GST_MPEG4_SHAPE_LAYER" "0xc2")
-    '("stuffing" "GST_MPEG4_STUFFING" "0xc3")
-    '("system-first" "GST_MPEG4_SYSTEM_FIRST" "0xc6")
-    '("system-last" "GST_MPEG4_SYSTEM_LAST" "0xff")
-    '("resync" "GST_MPEG4_RESYNC" "0xfff")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEG4_VIDEO_ID         = 0x01,
-;;   GST_MPEG4_STILL_TEXTURE_ID = 0x02,
-;;   GST_MPEG4_STILL_MESH_ID    = 0x03,
-;;   GST_MPEG4_STILL_FBA_ID     = 0x04,
-;;   GST_MPEG4_STILL_3D_MESH_ID = 0x05,
-;;   /*... reserved */
-;; 
-;; } GstMpeg4VisualObjectType;
-
-(define-flags-extended Mpeg4VisualObjectType
-  (in-module "Gst")
-  (c-name "GstMpeg4VisualObjectType")
-  (values
-    '("video-id" "GST_MPEG4_VIDEO_ID" "0x01")
-    '("still-texture-id" "GST_MPEG4_STILL_TEXTURE_ID" "0x02")
-    '("still-mesh-id" "GST_MPEG4_STILL_MESH_ID" "0x03")
-    '("still-fba-id" "GST_MPEG4_STILL_FBA_ID" "0x04")
-    '("still-3d-mesh-id" "GST_MPEG4_STILL_3D_MESH_ID" "0x05")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEG4_SQUARE        = 0x01,
-;;   GST_MPEG4_625_TYPE_4_3  = 0x02,
-;;   GST_MPEG4_525_TYPE_4_3  = 0x03,
-;;   GST_MPEG4_625_TYPE_16_9 = 0x04,
-;;   GST_MPEG4_525_TYPE_16_9 = 0x05,
-;;   GST_MPEG4_EXTENDED_PAR  = 0x0f,
-;; } GstMpeg4AspectRatioInfo;
-
-(define-flags-extended Mpeg4AspectRatioInfo
-  (in-module "Gst")
-  (c-name "GstMpeg4AspectRatioInfo")
-  (values
-    '("square" "GST_MPEG4_SQUARE" "0x01")
-    '("625-type-4-3" "GST_MPEG4_625_TYPE_4_3" "0x02")
-    '("525-type-4-3" "GST_MPEG4_525_TYPE_4_3" "0x03")
-    '("625-type-16-9" "GST_MPEG4_625_TYPE_16_9" "0x04")
-    '("525-type-16-9" "GST_MPEG4_525_TYPE_16_9" "0x05")
-    '("extended-par" "GST_MPEG4_EXTENDED_PAR" "0x0f")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEG4_PARSER_OK,
-;;   GST_MPEG4_PARSER_BROKEN_DATA,
-;;   GST_MPEG4_PARSER_NO_PACKET,
-;;   GST_MPEG4_PARSER_NO_PACKET_END,
-;;   GST_MPEG4_PARSER_ERROR,
-;; } GstMpeg4ParseResult;
-
-(define-enum-extended Mpeg4ParseResult
-  (in-module "Gst")
-  (c-name "GstMpeg4ParseResult")
-  (values
-    '("ok" "GST_MPEG4_PARSER_OK" "0")
-    '("broken-data" "GST_MPEG4_PARSER_BROKEN_DATA" "1")
-    '("no-packet" "GST_MPEG4_PARSER_NO_PACKET" "2")
-    '("no-packet-end" "GST_MPEG4_PARSER_NO_PACKET_END" "3")
-    '("error" "GST_MPEG4_PARSER_ERROR" "4")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEG4_I_VOP = 0x0,
-;;   GST_MPEG4_P_VOP = 0x1,
-;;   GST_MPEG4_B_VOP = 0x2,
-;;   GST_MPEG4_S_VOP = 0x3
-;; } GstMpeg4VideoObjectCodingType;
-
-(define-flags-extended Mpeg4VideoObjectCodingType
-  (in-module "Gst")
-  (c-name "GstMpeg4VideoObjectCodingType")
-  (values
-    '("i-vop" "GST_MPEG4_I_VOP" "0x0")
-    '("p-vop" "GST_MPEG4_P_VOP" "0x1")
-    '("b-vop" "GST_MPEG4_B_VOP" "0x2")
-    '("s-vop" "GST_MPEG4_S_VOP" "0x3")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   /* Other value are reserved */
-;;   GST_MPEG4_CHROMA_4_2_0 = 0x01
-;; } GstMpeg4ChromaFormat;
-
-(define-flags-extended Mpeg4ChromaFormat
-  (in-module "Gst")
-  (c-name "GstMpeg4ChromaFormat")
-  (values
-    '("4-2-0" "GST_MPEG4_CHROMA_4_2_0" "0x01")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEG4_RECTANGULAR,
-;;   GST_MPEG4_BINARY,
-;;   GST_MPEG4_BINARY_ONLY,
-;;   GST_MPEG4_GRAYSCALE
-;; } GstMpeg4VideoObjectLayerShape;
-
-(define-enum-extended Mpeg4VideoObjectLayerShape
-  (in-module "Gst")
-  (c-name "GstMpeg4VideoObjectLayerShape")
-  (values
-    '("rectangular" "GST_MPEG4_RECTANGULAR" "0")
-    '("binary" "GST_MPEG4_BINARY" "1")
-    '("binary-only" "GST_MPEG4_BINARY_ONLY" "2")
-    '("grayscale" "GST_MPEG4_GRAYSCALE" "3")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEG4_SPRITE_UNUSED,
-;;   GST_MPEG4_SPRITE_STATIC,
-;;   GST_MPEG4_SPRITE_GMG
-;; } GstMpeg4SpriteEnable;
-
-(define-enum-extended Mpeg4SpriteEnable
-  (in-module "Gst")
-  (c-name "GstMpeg4SpriteEnable")
-  (values
-    '("unused" "GST_MPEG4_SPRITE_UNUSED" "0")
-    '("static" "GST_MPEG4_SPRITE_STATIC" "1")
-    '("gmg" "GST_MPEG4_SPRITE_GMG" "2")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEG4_PROFILE_CORE,
-;;   GST_MPEG4_PROFILE_MAIN,
-;;   GST_MPEG4_PROFILE_N_BIT,
-;;   GST_MPEG4_PROFILE_SIMPLE,
-;;   GST_MPEG4_PROFILE_HYBRID,
-;;   GST_MPEG4_PROFILE_RESERVED,
-;;   GST_MPEG4_PROFILE_SIMPLE_FBA,
-;;   GST_MPEG4_PROFILE_CORE_STUDIO,
-;;   GST_MPEG4_PROFILE_SIMPLE_STUDIO,
-;;   GST_MPEG4_PROFILE_CORE_SCALABLE,
-;;   GST_MPEG4_PROFILE_ADVANCED_CORE,
-;;   GST_MPEG4_PROFILE_ADVANCED_SIMPLE,
-;;   GST_MPEG4_PROFILE_SIMPLE_SCALABLE,
-;;   GST_MPEG4_PROFILE_SCALABLE_TEXTURE,
-;;   GST_MPEG4_PROFILE_SIMPLE_FACE_ANIMATION,
-;;   GST_MPEG4_PROFILE_BASIC_ANIMATED_TEXTURE,
-;;   GST_MPEG4_PROFILE_ADVANCED_REALTIME_SIMPLE,
-;;   GST_MPEG4_PROFILE_ADVANCED_SCALABLE_TEXTURE,
-;;   GST_MPEG4_PROFILE_FINE_GRANULARITY_SCALABLE,
-;;   GST_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY
-;; } GstMpeg4Profile;
-
-(define-enum-extended Mpeg4Profile
-  (in-module "Gst")
-  (c-name "GstMpeg4Profile")
-  (values
-    '("core" "GST_MPEG4_PROFILE_CORE" "0")
-    '("main" "GST_MPEG4_PROFILE_MAIN" "1")
-    '("n-bit" "GST_MPEG4_PROFILE_N_BIT" "2")
-    '("simple" "GST_MPEG4_PROFILE_SIMPLE" "3")
-    '("hybrid" "GST_MPEG4_PROFILE_HYBRID" "4")
-    '("reserved" "GST_MPEG4_PROFILE_RESERVED" "5")
-    '("simple-fba" "GST_MPEG4_PROFILE_SIMPLE_FBA" "6")
-    '("core-studio" "GST_MPEG4_PROFILE_CORE_STUDIO" "7")
-    '("simple-studio" "GST_MPEG4_PROFILE_SIMPLE_STUDIO" "8")
-    '("core-scalable" "GST_MPEG4_PROFILE_CORE_SCALABLE" "9")
-    '("advanced-core" "GST_MPEG4_PROFILE_ADVANCED_CORE" "10")
-    '("advanced-simple" "GST_MPEG4_PROFILE_ADVANCED_SIMPLE" "11")
-    '("simple-scalable" "GST_MPEG4_PROFILE_SIMPLE_SCALABLE" "12")
-    '("scalable-texture" "GST_MPEG4_PROFILE_SCALABLE_TEXTURE" "13")
-    '("simple-face-animation" "GST_MPEG4_PROFILE_SIMPLE_FACE_ANIMATION" "14")
-    '("basic-animated-texture" "GST_MPEG4_PROFILE_BASIC_ANIMATED_TEXTURE" "15")
-    '("advanced-realtime-simple" "GST_MPEG4_PROFILE_ADVANCED_REALTIME_SIMPLE" "16")
-    '("advanced-scalable-texture" "GST_MPEG4_PROFILE_ADVANCED_SCALABLE_TEXTURE" "17")
-    '("fine-granularity-scalable" "GST_MPEG4_PROFILE_FINE_GRANULARITY_SCALABLE" "18")
-    '("advanced-coding-efficiency" "GST_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY" "19")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEG4_LEVEL0,
-;;   GST_MPEG4_LEVEL1,
-;;   GST_MPEG4_LEVEL2,
-;;   GST_MPEG4_LEVEL3,
-;;   GST_MPEG4_LEVEL3b,
-;;   GST_MPEG4_LEVEL4,
-;;   GST_MPEG4_LEVEL5,
-;;   GST_MPEG4_LEVEL_RESERVED
-;; } GstMpeg4Level;
-
-(define-enum-extended Mpeg4Level
-  (in-module "Gst")
-  (c-name "GstMpeg4Level")
-  (values
-    '("level0" "GST_MPEG4_LEVEL0" "0")
-    '("level1" "GST_MPEG4_LEVEL1" "1")
-    '("level2" "GST_MPEG4_LEVEL2" "2")
-    '("level3" "GST_MPEG4_LEVEL3" "3")
-    '("level3b" "GST_MPEG4_LEVEL3b" "4")
-    '("level4" "GST_MPEG4_LEVEL4" "5")
-    '("level5" "GST_MPEG4_LEVEL5" "6")
-    '("level-reserved" "GST_MPEG4_LEVEL_RESERVED" "7")
-  )
-)
-
-;; From gstmpegvideoparser.h
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEG_VIDEO_PACKET_PICTURE      = 0x00,
-;;   GST_MPEG_VIDEO_PACKET_SLICE_MIN    = 0x01,
-;;   GST_MPEG_VIDEO_PACKET_SLICE_MAX    = 0xaf,
-;;   GST_MPEG_VIDEO_PACKET_USER_DATA    = 0xb2,
-;;   GST_MPEG_VIDEO_PACKET_SEQUENCE     = 0xb3,
-;;   GST_MPEG_VIDEO_PACKET_EXTENSION    = 0xb5,
-;;   GST_MPEG_VIDEO_PACKET_SEQUENCE_END = 0xb7,
-;;   GST_MPEG_VIDEO_PACKET_GOP          = 0xb8,
-;;   GST_MPEG_VIDEO_PACKET_NONE         = 0xff
-;; } GstMpegVideoPacketTypeCode;
-
-(define-flags-extended MpegVideoPacketTypeCode
-  (in-module "Gst")
-  (c-name "GstMpegVideoPacketTypeCode")
-  (values
-    '("picture" "GST_MPEG_VIDEO_PACKET_PICTURE" "0x00")
-    '("slice-min" "GST_MPEG_VIDEO_PACKET_SLICE_MIN" "0x01")
-    '("slice-max" "GST_MPEG_VIDEO_PACKET_SLICE_MAX" "0xaf")
-    '("user-data" "GST_MPEG_VIDEO_PACKET_USER_DATA" "0xb2")
-    '("sequence" "GST_MPEG_VIDEO_PACKET_SEQUENCE" "0xb3")
-    '("extension" "GST_MPEG_VIDEO_PACKET_EXTENSION" "0xb5")
-    '("sequence-end" "GST_MPEG_VIDEO_PACKET_SEQUENCE_END" "0xb7")
-    '("gop" "GST_MPEG_VIDEO_PACKET_GOP" "0xb8")
-    '("none" "GST_MPEG_VIDEO_PACKET_NONE" "0xff")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE          = 0x01,
-;;   GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_DISPLAY  = 0x02,
-;;   GST_MPEG_VIDEO_PACKET_EXT_QUANT_MATRIX      = 0x03,
-;;   GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_SCALABLE = 0x05,
-;;   GST_MPEG_VIDEO_PACKET_EXT_PICTURE           = 0x08
-;; } GstMpegVideoPacketExtensionCode;
-
-(define-flags-extended MpegVideoPacketExtensionCode
-  (in-module "Gst")
-  (c-name "GstMpegVideoPacketExtensionCode")
-  (values
-    '("sequence" "GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE" "0x01")
-    '("sequence-display" "GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_DISPLAY" "0x02")
-    '("quant-matrix" "GST_MPEG_VIDEO_PACKET_EXT_QUANT_MATRIX" "0x03")
-    '("sequence-scalable" "GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_SCALABLE" "0x05")
-    '("picture" "GST_MPEG_VIDEO_PACKET_EXT_PICTURE" "0x08")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_DATA_PARTITIONING  = 0x00,
-;;   GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_SPATIAL            = 0x01,
-;;   GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_SNR                = 0x02,
-;;   GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_TEMPORAL           = 0x03
-;; } GstMpegVideoSequenceScalableMode;
-
-(define-flags-extended MpegVideoSequenceScalableMode
-  (in-module "Gst")
-  (c-name "GstMpegVideoSequenceScalableMode")
-  (values
-    '("data-partitioning" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_DATA_PARTITIONING" "0x00")
-    '("spatial" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_SPATIAL" "0x01")
-    '("snr" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_SNR" "0x02")
-    '("temporal" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_TEMPORAL" "0x03")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;  GST_MPEG_VIDEO_LEVEL_HIGH      = 0x04,
-;;  GST_MPEG_VIDEO_LEVEL_HIGH_1440 = 0x06,
-;;  GST_MPEG_VIDEO_LEVEL_MAIN      = 0x08,
-;;  GST_MPEG_VIDEO_LEVEL_LOW       = 0x0a
-;; } GstMpegVideoLevel;
-
-(define-flags-extended MpegVideoLevel
-  (in-module "Gst")
-  (c-name "GstMpegVideoLevel")
-  (values
-    '("high" "GST_MPEG_VIDEO_LEVEL_HIGH" "0x04")
-    '("high-1440" "GST_MPEG_VIDEO_LEVEL_HIGH_1440" "0x06")
-    '("main" "GST_MPEG_VIDEO_LEVEL_MAIN" "0x08")
-    '("low" "GST_MPEG_VIDEO_LEVEL_LOW" "0x0a")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEG_VIDEO_PROFILE_422                 = 0x00,
-;;   GST_MPEG_VIDEO_PROFILE_HIGH                = 0x01,
-;;   GST_MPEG_VIDEO_PROFILE_SPATIALLY_SCALABLE  = 0x02,
-;;   GST_MPEG_VIDEO_PROFILE_SNR_SCALABLE        = 0x03,
-;;   GST_MPEG_VIDEO_PROFILE_MAIN                = 0x04,
-;;   GST_MPEG_VIDEO_PROFILE_SIMPLE              = 0x05
-;; } GstMpegVideoProfile;
-
-(define-flags-extended MpegVideoProfile
-  (in-module "Gst")
-  (c-name "GstMpegVideoProfile")
-  (values
-    '("422" "GST_MPEG_VIDEO_PROFILE_422" "0x00")
-    '("high" "GST_MPEG_VIDEO_PROFILE_HIGH" "0x01")
-    '("spatially-scalable" "GST_MPEG_VIDEO_PROFILE_SPATIALLY_SCALABLE" "0x02")
-    '("snr-scalable" "GST_MPEG_VIDEO_PROFILE_SNR_SCALABLE" "0x03")
-    '("main" "GST_MPEG_VIDEO_PROFILE_MAIN" "0x04")
-    '("simple" "GST_MPEG_VIDEO_PROFILE_SIMPLE" "0x05")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEG_VIDEO_CHROMA_RES = 0x00,
-;;   GST_MPEG_VIDEO_CHROMA_420 = 0x01,
-;;   GST_MPEG_VIDEO_CHROMA_422 = 0x02,
-;;   GST_MPEG_VIDEO_CHROMA_444 = 0x03,
-;; } GstMpegVideoChromaFormat;
-
-(define-flags-extended MpegVideoChromaFormat
-  (in-module "Gst")
-  (c-name "GstMpegVideoChromaFormat")
-  (values
-    '("res" "GST_MPEG_VIDEO_CHROMA_RES" "0x00")
-    '("420" "GST_MPEG_VIDEO_CHROMA_420" "0x01")
-    '("422" "GST_MPEG_VIDEO_CHROMA_422" "0x02")
-    '("444" "GST_MPEG_VIDEO_CHROMA_444" "0x03")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEG_VIDEO_PICTURE_TYPE_I = 0x01,
-;;   GST_MPEG_VIDEO_PICTURE_TYPE_P = 0x02,
-;;   GST_MPEG_VIDEO_PICTURE_TYPE_B = 0x03,
-;;   GST_MPEG_VIDEO_PICTURE_TYPE_D = 0x04
-;; } GstMpegVideoPictureType;
-
-(define-flags-extended MpegVideoPictureType
-  (in-module "Gst")
-  (c-name "GstMpegVideoPictureType")
-  (values
-    '("i" "GST_MPEG_VIDEO_PICTURE_TYPE_I" "0x01")
-    '("p" "GST_MPEG_VIDEO_PICTURE_TYPE_P" "0x02")
-    '("b" "GST_MPEG_VIDEO_PICTURE_TYPE_B" "0x03")
-    '("d" "GST_MPEG_VIDEO_PICTURE_TYPE_D" "0x04")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;     GST_MPEG_VIDEO_PICTURE_STRUCTURE_TOP_FIELD    = 0x01,
-;;     GST_MPEG_VIDEO_PICTURE_STRUCTURE_BOTTOM_FIELD = 0x02,
-;;     GST_MPEG_VIDEO_PICTURE_STRUCTURE_FRAME        = 0x03
-;; } GstMpegVideoPictureStructure;
-
-(define-flags-extended MpegVideoPictureStructure
-  (in-module "Gst")
-  (c-name "GstMpegVideoPictureStructure")
-  (values
-    '("top-field" "GST_MPEG_VIDEO_PICTURE_STRUCTURE_TOP_FIELD" "0x01")
-    '("bottom-field" "GST_MPEG_VIDEO_PICTURE_STRUCTURE_BOTTOM_FIELD" "0x02")
-    '("frame" "GST_MPEG_VIDEO_PICTURE_STRUCTURE_FRAME" "0x03")
-  )
-)
-
-;; From gstvc1parser.h
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_VC1_END_OF_SEQ       = 0x0A,
-;;   GST_VC1_SLICE            = 0x0B,
-;;   GST_VC1_FIELD            = 0x0C,
-;;   GST_VC1_FRAME            = 0x0D,
-;;   GST_VC1_ENTRYPOINT       = 0x0E,
-;;   GST_VC1_SEQUENCE         = 0x0F,
-;;   GST_VC1_SLICE_USER       = 0x1B,
-;;   GST_VC1_FIELD_USER       = 0x1C,
-;;   GST_VC1_FRAME_USER       = 0x1D,
-;;   GST_VC1_ENTRY_POINT_USER = 0x1E,
-;;   GST_VC1_SEQUENCE_USER    = 0x1F
-;; } GstVC1StartCode;
-
-(define-flags-extended VC1StartCode
-  (in-module "Gst")
-  (c-name "GstVC1StartCode")
-  (values
-    '("end-of-seq" "GST_VC1_END_OF_SEQ" "0x0A")
-    '("slice" "GST_VC1_SLICE" "0x0B")
-    '("field" "GST_VC1_FIELD" "0x0C")
-    '("frame" "GST_VC1_FRAME" "0x0D")
-    '("entrypoint" "GST_VC1_ENTRYPOINT" "0x0E")
-    '("sequence" "GST_VC1_SEQUENCE" "0x0F")
-    '("slice-user" "GST_VC1_SLICE_USER" "0x1B")
-    '("field-user" "GST_VC1_FIELD_USER" "0x1C")
-    '("frame-user" "GST_VC1_FRAME_USER" "0x1D")
-    '("entry-point-user" "GST_VC1_ENTRY_POINT_USER" "0x1E")
-    '("sequence-user" "GST_VC1_SEQUENCE_USER" "0x1F")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_VC1_PROFILE_SIMPLE,
-;;   GST_VC1_PROFILE_MAIN,
-;;   GST_VC1_PROFILE_RESERVED,
-;;   GST_VC1_PROFILE_ADVANCED
-;; } GstVC1Profile;
-
-(define-enum-extended VC1Profile
-  (in-module "Gst")
-  (c-name "GstVC1Profile")
-  (values
-    '("simple" "GST_VC1_PROFILE_SIMPLE" "0")
-    '("main" "GST_VC1_PROFILE_MAIN" "1")
-    '("reserved" "GST_VC1_PROFILE_RESERVED" "2")
-    '("advanced" "GST_VC1_PROFILE_ADVANCED" "3")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_VC1_PARSER_OK,
-;;   GST_VC1_PARSER_BROKEN_DATA,
-;;   GST_VC1_PARSER_NO_BDU,
-;;   GST_VC1_PARSER_NO_BDU_END,
-;;   GST_VC1_PARSER_ERROR,
-;; } GstVC1ParserResult;
-
-(define-enum-extended VC1ParserResult
-  (in-module "Gst")
-  (c-name "GstVC1ParserResult")
-  (values
-    '("ok" "GST_VC1_PARSER_OK" "0")
-    '("broken-data" "GST_VC1_PARSER_BROKEN_DATA" "1")
-    '("no-bdu" "GST_VC1_PARSER_NO_BDU" "2")
-    '("no-bdu-end" "GST_VC1_PARSER_NO_BDU_END" "3")
-    '("error" "GST_VC1_PARSER_ERROR" "4")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_VC1_PICTURE_TYPE_P,
-;;   GST_VC1_PICTURE_TYPE_B,
-;;   GST_VC1_PICTURE_TYPE_I,
-;;   GST_VC1_PICTURE_TYPE_BI,
-;;   GST_VC1_PICTURE_TYPE_SKIPPED
-;; } GstVC1PictureType;
-
-(define-enum-extended VC1PictureType
-  (in-module "Gst")
-  (c-name "GstVC1PictureType")
-  (values
-    '("p" "GST_VC1_PICTURE_TYPE_P" "0")
-    '("b" "GST_VC1_PICTURE_TYPE_B" "1")
-    '("i" "GST_VC1_PICTURE_TYPE_I" "2")
-    '("bi" "GST_VC1_PICTURE_TYPE_BI" "3")
-    '("skipped" "GST_VC1_PICTURE_TYPE_SKIPPED" "4")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;     GST_VC1_LEVEL_LOW    = 0,    /* Simple/Main profile low level */
-;;     GST_VC1_LEVEL_MEDIUM = 2,    /* Simple/Main profile medium level */
-;;     GST_VC1_LEVEL_HIGH   = 4,   /* Main profile high level */
-;; 
-;;     GST_VC1_LEVEL_L0    = 0,    /* Advanced profile level 0 */
-;;     GST_VC1_LEVEL_L1    = 1,    /* Advanced profile level 1 */
-;;     GST_VC1_LEVEL_L2    = 2,    /* Advanced profile level 2 */
-;;     GST_VC1_LEVEL_L3    = 3,    /* Advanced profile level 3 */
-;;     GST_VC1_LEVEL_L4    = 4,    /* Advanced profile level 4 */
-;; 
-;;     /* 5 to 7 reserved */
-;;     GST_VC1_LEVEL_UNKNOWN = 255  /* Unknown profile */
-;; } GstVC1Level;
-
-(define-enum-extended VC1Level
-  (in-module "Gst")
-  (c-name "GstVC1Level")
-  (values
-    '("low" "GST_VC1_LEVEL_LOW" "0")
-    '("medium" "GST_VC1_LEVEL_MEDIUM" "2")
-    '("high" "GST_VC1_LEVEL_HIGH" "4")
-    '("l0" "GST_VC1_LEVEL_L0" "0")
-    '("l1" "GST_VC1_LEVEL_L1" "1")
-    '("l2" "GST_VC1_LEVEL_L2" "2")
-    '("l3" "GST_VC1_LEVEL_L3" "3")
-    '("l4" "GST_VC1_LEVEL_L4" "4")
-    '("unknown" "GST_VC1_LEVEL_UNKNOWN" "255")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_VC1_QUANTIZER_IMPLICITLY,
-;;   GST_VC1_QUANTIZER_EXPLICITLY,
-;;   GST_VC1_QUANTIZER_NON_UNIFORM,
-;;   GST_VC1_QUANTIZER_UNIFORM
-;; } GstVC1QuantizerSpec;
-
-(define-enum-extended VC1QuantizerSpec
-  (in-module "Gst")
-  (c-name "GstVC1QuantizerSpec")
-  (values
-    '("implicitly" "GST_VC1_QUANTIZER_IMPLICITLY" "0")
-    '("explicitly" "GST_VC1_QUANTIZER_EXPLICITLY" "1")
-    '("non-uniform" "GST_VC1_QUANTIZER_NON_UNIFORM" "2")
-    '("uniform" "GST_VC1_QUANTIZER_UNIFORM" "3")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_VC1_DQPROFILE_FOUR_EDGES,
-;;   GST_VC1_DQPROFILE_DOUBLE_EDGES,
-;;   GST_VC1_DQPROFILE_SINGLE_EDGE,
-;;   GST_VC1_DQPROFILE_ALL_MBS
-;; } GstVC1DQProfile;
-
-(define-enum-extended VC1DQProfile
-  (in-module "Gst")
-  (c-name "GstVC1DQProfile")
-  (values
-    '("four-edges" "GST_VC1_DQPROFILE_FOUR_EDGES" "0")
-    '("double-edges" "GST_VC1_DQPROFILE_DOUBLE_EDGES" "1")
-    '("single-edge" "GST_VC1_DQPROFILE_SINGLE_EDGE" "2")
-    '("all-mbs" "GST_VC1_DQPROFILE_ALL_MBS" "3")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_VC1_CONDOVER_NONE,
-;;   GST_VC1_CONDOVER_ALL,
-;;   GST_VC1_CONDOVER_SELECT
-;; } GstVC1Condover;
-
-(define-enum-extended VC1Condover
-  (in-module "Gst")
-  (c-name "GstVC1Condover")
-  (values
-    '("none" "GST_VC1_CONDOVER_NONE" "0")
-    '("all" "GST_VC1_CONDOVER_ALL" "1")
-    '("select" "GST_VC1_CONDOVER_SELECT" "2")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_VC1_MVMODE_1MV_HPEL_BILINEAR,
-;;   GST_VC1_MVMODE_1MV,
-;;   GST_VC1_MVMODE_1MV_HPEL,
-;;   GST_VC1_MVMODE_MIXED_MV,
-;;   GST_VC1_MVMODE_INTENSITY_COMP
-;; } GstVC1MvMode;
-
-(define-enum-extended VC1MvMode
-  (in-module "Gst")
-  (c-name "GstVC1MvMode")
-  (values
-    '("1mv-hpel-bilinear" "GST_VC1_MVMODE_1MV_HPEL_BILINEAR" "0")
-    '("1mv" "GST_VC1_MVMODE_1MV" "1")
-    '("1mv-hpel" "GST_VC1_MVMODE_1MV_HPEL" "2")
-    '("mixed-mv" "GST_VC1_MVMODE_MIXED_MV" "3")
-    '("intensity-comp" "GST_VC1_MVMODE_INTENSITY_COMP" "4")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_VC1_FRAME_PROGRESSIVE = 0x0,
-;;   GST_VC1_FRAME_INTERLACE   = 0x10,
-;;   GST_VC1_FIELD_INTERLACE   = 0x11
-;; } GstVC1FrameCodingMode;
-
-(define-flags-extended VC1FrameCodingMode
-  (in-module "Gst")
-  (c-name "GstVC1FrameCodingMode")
-  (values
-    '("frame-progressive" "GST_VC1_FRAME_PROGRESSIVE" "0x0")
-    '("frame-interlace" "GST_VC1_FRAME_INTERLACE" "0x10")
-    '("field-interlace" "GST_VC1_FIELD_INTERLACE" "0x11")
-  )
-)
-
-;; From gstvp8parser.h
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_VP8_PARSER_OK,
-;;   GST_VP8_PARSER_BROKEN_DATA,
-;;   GST_VP8_PARSER_ERROR,
-;; } GstVp8ParserResult;
-
-(define-enum-extended Vp8ParserResult
-  (in-module "Gst")
-  (c-name "GstVp8ParserResult")
-  (values
-    '("ok" "GST_VP8_PARSER_OK" "0")
-    '("broken-data" "GST_VP8_PARSER_BROKEN_DATA" "1")
-    '("error" "GST_VP8_PARSER_ERROR" "2")
-  )
-)
-
-;; From gstglapi.h
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_GL_API_NONE = 0,
-;;   GST_GL_API_OPENGL = (1 << 0),
-;;   GST_GL_API_OPENGL3 = (1 << 1),
-;;   GST_GL_API_GLES1 = (1 << 15),
-;;   GST_GL_API_GLES2 = (1 << 16),
-;; 
-;;   GST_GL_API_ANY = G_MAXUINT32
-;; } GstGLAPI;
-
-(define-flags-extended GLAPI
-  (in-module "Gst")
-  (c-name "GstGLAPI")
-  (values
-    '("none" "GST_GL_API_NONE" "0x0")
-    '("opengl" "GST_GL_API_OPENGL" "(1 << 0)")
-    '("opengl3" "GST_GL_API_OPENGL3" "(1 << 1)")
-    '("gles1" "GST_GL_API_GLES1" "(1 << 15)")
-    '("gles2" "GST_GL_API_GLES2" "(1 << 16)")
-    '("any" "GST_GL_API_ANY" "G_MAXUINT32")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_GL_PLATFORM_NONE = 0,
-;;   GST_GL_PLATFORM_EGL = (1 << 0),
-;;   GST_GL_PLATFORM_GLX = (1 << 1),
-;;   GST_GL_PLATFORM_WGL = (1 << 2),
-;;   GST_GL_PLATFORM_CGL = (1 << 3),
-;;   GST_GL_PLATFORM_EAGL = (1 << 4),
-;; 
-;;   GST_GL_PLATFORM_ANY = G_MAXUINT32
-;; } GstGLPlatform;
-
-(define-flags-extended GLPlatform
-  (in-module "Gst")
-  (c-name "GstGLPlatform")
-  (values
-    '("none" "GST_GL_PLATFORM_NONE" "0x0")
-    '("egl" "GST_GL_PLATFORM_EGL" "(1 << 0)")
-    '("glx" "GST_GL_PLATFORM_GLX" "(1 << 1)")
-    '("wgl" "GST_GL_PLATFORM_WGL" "(1 << 2)")
-    '("cgl" "GST_GL_PLATFORM_CGL" "(1 << 3)")
-    '("eagl" "GST_GL_PLATFORM_EAGL" "(1 << 4)")
-    '("any" "GST_GL_PLATFORM_ANY" "G_MAXUINT32")
-  )
-)
-
-;; From gstglbasebuffer.h
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_GL_BASE_BUFFER_ERROR_FAILED,
-;;   GST_GL_BASE_BUFFER_ERROR_OLD_LIBS,
-;;   GST_GL_BASE_BUFFER_ERROR_RESOURCE_UNAVAILABLE,
-;; } GstGLBufferError;
-
-(define-enum-extended GLBufferError
-  (in-module "Gst")
-  (c-name "GstGLBufferError")
-  (values
-    '("failed" "GST_GL_BASE_BUFFER_ERROR_FAILED" "0")
-    '("old-libs" "GST_GL_BASE_BUFFER_ERROR_OLD_LIBS" "1")
-    '("resource-unavailable" "GST_GL_BASE_BUFFER_ERROR_RESOURCE_UNAVAILABLE" "2")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_GL_BASE_BUFFER_FLAG_NEED_DOWNLOAD   = (GST_MEMORY_FLAG_LAST << 0),
-;;   GST_GL_BASE_BUFFER_FLAG_NEED_UPLOAD     = (GST_MEMORY_FLAG_LAST << 1)
-;; } GstGLBaseBufferFlags;
-
-(define-flags-extended GLBaseBufferFlags
-  (in-module "Gst")
-  (c-name "GstGLBaseBufferFlags")
-  (values
-    '("download" "GST_GL_BASE_BUFFER_FLAG_NEED_DOWNLOAD" "(GST_MEMORY_FLAG_LAST << 0)")
-    '("upload" "GST_GL_BASE_BUFFER_FLAG_NEED_UPLOAD" "(GST_MEMORY_FLAG_LAST << 1)")
-  )
-)
-
-;; From gstglcontext.h
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_GL_CONTEXT_ERROR_FAILED,
-;;   GST_GL_CONTEXT_ERROR_WRONG_CONFIG,
-;;   GST_GL_CONTEXT_ERROR_WRONG_API,
-;;   GST_GL_CONTEXT_ERROR_OLD_LIBS,
-;;   GST_GL_CONTEXT_ERROR_CREATE_CONTEXT,
-;;   GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE,
-;; } GstGLContextError;
-
-(define-enum-extended GLContextError
-  (in-module "Gst")
-  (c-name "GstGLContextError")
-  (values
-    '("failed" "GST_GL_CONTEXT_ERROR_FAILED" "0")
-    '("wrong-config" "GST_GL_CONTEXT_ERROR_WRONG_CONFIG" "1")
-    '("wrong-api" "GST_GL_CONTEXT_ERROR_WRONG_API" "2")
-    '("old-libs" "GST_GL_CONTEXT_ERROR_OLD_LIBS" "3")
-    '("create-context" "GST_GL_CONTEXT_ERROR_CREATE_CONTEXT" "4")
-    '("resource-unavailable" "GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE" "5")
-  )
-)
-
-;; From gstgldisplay.h
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_GL_DISPLAY_TYPE_NONE = 0,
-;;   GST_GL_DISPLAY_TYPE_X11 = (1 << 0),
-;;   GST_GL_DISPLAY_TYPE_WAYLAND = (1 << 1),
-;;   GST_GL_DISPLAY_TYPE_COCOA = (1 << 2),
-;;   GST_GL_DISPLAY_TYPE_WIN32 = (1 << 3),
-;;   GST_GL_DISPLAY_TYPE_DISPMANX = (1 << 4),
-;;   GST_GL_DISPLAY_TYPE_EGL = (1 << 5),
-;; 
-;;   GST_GL_DISPLAY_TYPE_ANY = G_MAXUINT32
-;; } GstGLDisplayType;
-
-(define-flags-extended GLDisplayType
-  (in-module "Gst")
-  (c-name "GstGLDisplayType")
-  (values
-    '("none" "GST_GL_DISPLAY_TYPE_NONE" "0x0")
-    '("x11" "GST_GL_DISPLAY_TYPE_X11" "(1 << 0)")
-    '("wayland" "GST_GL_DISPLAY_TYPE_WAYLAND" "(1 << 1)")
-    '("cocoa" "GST_GL_DISPLAY_TYPE_COCOA" "(1 << 2)")
-    '("win32" "GST_GL_DISPLAY_TYPE_WIN32" "(1 << 3)")
-    '("dispmanx" "GST_GL_DISPLAY_TYPE_DISPMANX" "(1 << 4)")
-    '("egl" "GST_GL_DISPLAY_TYPE_EGL" "(1 << 5)")
-    '("any" "GST_GL_DISPLAY_TYPE_ANY" "G_MAXUINT32")
-  )
-)
-
-;; From gstglmemory.h
-
-;; Original typedef:
-;; typedef enum _GstGLMemoryTransfer
-;; {
-;;   /* force a transfer between the texture and the PBO (if available) */
-;;   GST_GL_MEMORY_TRANSFER_NEED_UPLOAD = (1 << 0),
-;;   GST_GL_MEMORY_TRANSFER_NEED_DOWNLOAD = (1 << 1),
-;; } GstGLMemoryTransfer;
-
-(define-flags-extended GLMemoryTransfer
-  (in-module "Gst")
-  (c-name "GstGLMemoryTransfer")
-  (values
-    '("upload" "GST_GL_MEMORY_TRANSFER_NEED_UPLOAD" "(1 << 0)")
-    '("download" "GST_GL_MEMORY_TRANSFER_NEED_DOWNLOAD" "(1 << 1)")
-  )
-)
-
-;; From gstglshader.h
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_GL_SHADER_ERROR_COMPILE,
-;;   GST_GL_SHADER_ERROR_LINK,
-;;   GST_GL_SHADER_ERROR_PROGRAM
-;; } GstGLShaderError;
-
-(define-enum-extended GLShaderError
-  (in-module "Gst")
-  (c-name "GstGLShaderError")
-  (values
-    '("compile" "GST_GL_SHADER_ERROR_COMPILE" "0")
-    '("link" "GST_GL_SHADER_ERROR_LINK" "1")
-    '("program" "GST_GL_SHADER_ERROR_PROGRAM" "2")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_GL_SHADER_FRAGMENT_SOURCE,
-;;   GST_GL_SHADER_VERTEX_SOURCE
-;; } GstGLShaderSourceType;
-
-(define-enum-extended GLShaderSourceType
-  (in-module "Gst")
-  (c-name "GstGLShaderSourceType")
-  (values
-    '("fragment-source" "GST_GL_SHADER_FRAGMENT_SOURCE" "0")
-    '("vertex-source" "GST_GL_SHADER_VERTEX_SOURCE" "1")
-  )
-)
-
-;; From gstglupload.h
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_GL_UPLOAD_DONE = 1,
-;; 
-;;   GST_GL_UPLOAD_ERROR = -1,
-;;   GST_GL_UPLOAD_UNSUPPORTED = -2,
-;;   /* <private> */
-;;   GST_GL_UPLOAD_UNSHARED_GL_CONTEXT = -3,
-;; } GstGLUploadReturn;
-
-(define-enum-extended GLUploadReturn
-  (in-module "Gst")
-  (c-name "GstGLUploadReturn")
-  (values
-    '("done" "GST_GL_UPLOAD_DONE" "1")
-    '("error" "GST_GL_UPLOAD_ERROR" "-1")
-    '("unsupported" "GST_GL_UPLOAD_UNSUPPORTED" "-2")
-    '("unshared-gl-context" "GST_GL_UPLOAD_UNSHARED_GL_CONTEXT" "-3")
-  )
-)
-
-;; From gstglutils.h
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_GL_DISPLAY_PROJECTION_ORTHO2D,
-;;   GST_GL_DISPLAY_PROJECTION_PERSPECTIVE
-;; } GstGLDisplayProjection;
-
-(define-enum-extended GLDisplayProjection
-  (in-module "Gst")
-  (c-name "GstGLDisplayProjection")
-  (values
-    '("ortho2d" "GST_GL_DISPLAY_PROJECTION_ORTHO2D" "0")
-    '("perspective" "GST_GL_DISPLAY_PROJECTION_PERSPECTIVE" "1")
-  )
-)
-
-;; From gstglviewconvert.h
-
-;; Original typedef:
-;; typedef enum _GstGLStereoDownmix GstGLStereoDownmix;
-;; 
-;; struct _GstGLViewConvert
-;; {
-;;   GstObject object;
-;; 
-;;   GstGLContext *context;
-;; 
-;;   GstGLShader *shader;
-;; 
-;;   GstVideoMultiviewMode input_mode_override;
-;;   GstVideoMultiviewFlags input_flags_override;
-;;   GstVideoMultiviewMode output_mode_override;
-;;   GstVideoMultiviewFlags output_flags_override;
-;; 
-;;   GstGLStereoDownmix downmix_mode;
-;; 
-;;   GstVideoInfo in_info;
-;;   GstVideoInfo out_info;
-;; 
-;;   gboolean initted;
-;;   gboolean reconfigure;
-;; 
-;;   GLuint fbo;
-;;   GLuint depth_buffer;
-;; 
-;;   GstGLViewConvertPrivate *priv;
-;; };
-
-(define-flags-extended 
-  (in-module "Gst")
-  (c-name "")
-  (values
-  )
-)
-
-;; From gstglwindow.h
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_GL_WINDOW_ERROR_FAILED,
-;;   GST_GL_WINDOW_ERROR_OLD_LIBS,
-;;   GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE,
-;; } GstGLWindowError;
-
-(define-enum-extended GLWindowError
-  (in-module "Gst")
-  (c-name "GstGLWindowError")
-  (values
-    '("failed" "GST_GL_WINDOW_ERROR_FAILED" "0")
-    '("old-libs" "GST_GL_WINDOW_ERROR_OLD_LIBS" "1")
-    '("resource-unavailable" "GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE" "2")
-  )
-)
-
-;; From photography.h
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_PHOTOGRAPHY_NOISE_REDUCTION_BAYER = ( 1<<0 ),
-;;   GST_PHOTOGRAPHY_NOISE_REDUCTION_YCC = ( 1<<1 ),
-;;   GST_PHOTOGRAPHY_NOISE_REDUCTION_TEMPORAL= ( 1<< 2),
-;;   GST_PHOTOGRAPHY_NOISE_REDUCTION_FIXED = (1 << 3),
-;;   GST_PHOTOGRAPHY_NOISE_REDUCTION_EXTRA = (1 << 4)
-;; } GstPhotographyNoiseReduction;
-
-(define-flags-extended PhotographyNoiseReduction
-  (in-module "Gst")
-  (c-name "GstPhotographyNoiseReduction")
-  (values
-    '("bayer" "GST_PHOTOGRAPHY_NOISE_REDUCTION_BAYER" "( 1<<0 )")
-    '("ycc" "GST_PHOTOGRAPHY_NOISE_REDUCTION_YCC" "( 1<<1 )")
-    '("temporal=" "GST_PHOTOGRAPHY_NOISE_REDUCTION_TEMPORAL=" "( 1<< 2)")
-    '("fixed" "GST_PHOTOGRAPHY_NOISE_REDUCTION_FIXED" "(1 << 3)")
-    '("extra" "GST_PHOTOGRAPHY_NOISE_REDUCTION_EXTRA" "(1 << 4)")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_PHOTOGRAPHY_WB_MODE_AUTO = 0,
-;;   GST_PHOTOGRAPHY_WB_MODE_DAYLIGHT,
-;;   GST_PHOTOGRAPHY_WB_MODE_CLOUDY,
-;;   GST_PHOTOGRAPHY_WB_MODE_SUNSET,
-;;   GST_PHOTOGRAPHY_WB_MODE_TUNGSTEN,
-;;   GST_PHOTOGRAPHY_WB_MODE_FLUORESCENT,
-;;   GST_PHOTOGRAPHY_WB_MODE_MANUAL,
-;;   GST_PHOTOGRAPHY_WB_MODE_WARM_FLUORESCENT,
-;;   GST_PHOTOGRAPHY_WB_MODE_SHADE
-;; } GstPhotographyWhiteBalanceMode;
-
-(define-enum-extended PhotographyWhiteBalanceMode
-  (in-module "Gst")
-  (c-name "GstPhotographyWhiteBalanceMode")
-  (values
-    '("auto" "GST_PHOTOGRAPHY_WB_MODE_AUTO" "0")
-    '("daylight" "GST_PHOTOGRAPHY_WB_MODE_DAYLIGHT" "1")
-    '("cloudy" "GST_PHOTOGRAPHY_WB_MODE_CLOUDY" "2")
-    '("sunset" "GST_PHOTOGRAPHY_WB_MODE_SUNSET" "3")
-    '("tungsten" "GST_PHOTOGRAPHY_WB_MODE_TUNGSTEN" "4")
-    '("fluorescent" "GST_PHOTOGRAPHY_WB_MODE_FLUORESCENT" "5")
-    '("manual" "GST_PHOTOGRAPHY_WB_MODE_MANUAL" "6")
-    '("warm-fluorescent" "GST_PHOTOGRAPHY_WB_MODE_WARM_FLUORESCENT" "7")
-    '("shade" "GST_PHOTOGRAPHY_WB_MODE_SHADE" "8")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_NORMAL = 0,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_SEPIA,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_NEGATIVE,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRAYSCALE,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_NATURAL,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_VIVID,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_COLORSWAP,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_SOLARIZE,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_OUT_OF_FOCUS,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKY_BLUE,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRASS_GREEN,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKIN_WHITEN,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_POSTERIZE,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_WHITEBOARD,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_BLACKBOARD,
-;;   GST_PHOTOGRAPHY_COLOR_TONE_MODE_AQUA
-;; } GstPhotographyColorToneMode;
-
-(define-enum-extended PhotographyColorToneMode
-  (in-module "Gst")
-  (c-name "GstPhotographyColorToneMode")
-  (values
-    '("normal" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_NORMAL" "0")
-    '("sepia" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SEPIA" "1")
-    '("negative" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_NEGATIVE" "2")
-    '("grayscale" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRAYSCALE" "3")
-    '("natural" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_NATURAL" "4")
-    '("vivid" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_VIVID" "5")
-    '("colorswap" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_COLORSWAP" "6")
-    '("solarize" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SOLARIZE" "7")
-    '("out-of-focus" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_OUT_OF_FOCUS" "8")
-    '("sky-blue" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKY_BLUE" "9")
-    '("grass-green" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRASS_GREEN" "10")
-    '("skin-whiten" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKIN_WHITEN" "11")
-    '("posterize" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_POSTERIZE" "12")
-    '("whiteboard" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_WHITEBOARD" "13")
-    '("blackboard" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_BLACKBOARD" "14")
-    '("aqua" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_AQUA" "15")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_PHOTOGRAPHY_SCENE_MODE_MANUAL = 0,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_CLOSEUP,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_PORTRAIT,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_LANDSCAPE,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_SPORT,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_NIGHT,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_AUTO,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_ACTION,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_NIGHT_PORTRAIT,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_THEATRE,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_BEACH,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_SNOW,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_SUNSET,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_STEADY_PHOTO,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_FIREWORKS,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_PARTY,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_CANDLELIGHT,
-;;   GST_PHOTOGRAPHY_SCENE_MODE_BARCODE
-;; } GstPhotographySceneMode;
-
-(define-enum-extended PhotographySceneMode
-  (in-module "Gst")
-  (c-name "GstPhotographySceneMode")
-  (values
-    '("manual" "GST_PHOTOGRAPHY_SCENE_MODE_MANUAL" "0")
-    '("closeup" "GST_PHOTOGRAPHY_SCENE_MODE_CLOSEUP" "1")
-    '("portrait" "GST_PHOTOGRAPHY_SCENE_MODE_PORTRAIT" "2")
-    '("landscape" "GST_PHOTOGRAPHY_SCENE_MODE_LANDSCAPE" "3")
-    '("sport" "GST_PHOTOGRAPHY_SCENE_MODE_SPORT" "4")
-    '("night" "GST_PHOTOGRAPHY_SCENE_MODE_NIGHT" "5")
-    '("auto" "GST_PHOTOGRAPHY_SCENE_MODE_AUTO" "6")
-    '("action" "GST_PHOTOGRAPHY_SCENE_MODE_ACTION" "7")
-    '("night-portrait" "GST_PHOTOGRAPHY_SCENE_MODE_NIGHT_PORTRAIT" "8")
-    '("theatre" "GST_PHOTOGRAPHY_SCENE_MODE_THEATRE" "9")
-    '("beach" "GST_PHOTOGRAPHY_SCENE_MODE_BEACH" "10")
-    '("snow" "GST_PHOTOGRAPHY_SCENE_MODE_SNOW" "11")
-    '("sunset" "GST_PHOTOGRAPHY_SCENE_MODE_SUNSET" "12")
-    '("steady-photo" "GST_PHOTOGRAPHY_SCENE_MODE_STEADY_PHOTO" "13")
-    '("fireworks" "GST_PHOTOGRAPHY_SCENE_MODE_FIREWORKS" "14")
-    '("party" "GST_PHOTOGRAPHY_SCENE_MODE_PARTY" "15")
-    '("candlelight" "GST_PHOTOGRAPHY_SCENE_MODE_CANDLELIGHT" "16")
-    '("barcode" "GST_PHOTOGRAPHY_SCENE_MODE_BARCODE" "17")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_PHOTOGRAPHY_FLASH_MODE_AUTO = 0,
-;;   GST_PHOTOGRAPHY_FLASH_MODE_OFF,
-;;   GST_PHOTOGRAPHY_FLASH_MODE_ON,
-;;   GST_PHOTOGRAPHY_FLASH_MODE_FILL_IN,
-;;   GST_PHOTOGRAPHY_FLASH_MODE_RED_EYE
-;; } GstPhotographyFlashMode;
-
-(define-enum-extended PhotographyFlashMode
-  (in-module "Gst")
-  (c-name "GstPhotographyFlashMode")
-  (values
-    '("auto" "GST_PHOTOGRAPHY_FLASH_MODE_AUTO" "0")
-    '("off" "GST_PHOTOGRAPHY_FLASH_MODE_OFF" "1")
-    '("on" "GST_PHOTOGRAPHY_FLASH_MODE_ON" "2")
-    '("fill-in" "GST_PHOTOGRAPHY_FLASH_MODE_FILL_IN" "3")
-    '("red-eye" "GST_PHOTOGRAPHY_FLASH_MODE_RED_EYE" "4")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_PHOTOGRAPHY_FOCUS_STATUS_NONE = 0,
-;;   GST_PHOTOGRAPHY_FOCUS_STATUS_RUNNING,
-;;   GST_PHOTOGRAPHY_FOCUS_STATUS_FAIL,
-;;   GST_PHOTOGRAPHY_FOCUS_STATUS_SUCCESS
-;; } GstPhotographyFocusStatus;
-
-(define-enum-extended PhotographyFocusStatus
-  (in-module "Gst")
-  (c-name "GstPhotographyFocusStatus")
-  (values
-    '("none" "GST_PHOTOGRAPHY_FOCUS_STATUS_NONE" "0")
-    '("running" "GST_PHOTOGRAPHY_FOCUS_STATUS_RUNNING" "1")
-    '("fail" "GST_PHOTOGRAPHY_FOCUS_STATUS_FAIL" "2")
-    '("success" "GST_PHOTOGRAPHY_FOCUS_STATUS_SUCCESS" "3")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_PHOTOGRAPHY_CAPS_NONE = (0 << 0),
-;;   GST_PHOTOGRAPHY_CAPS_EV_COMP = (1 << 0),
-;;   GST_PHOTOGRAPHY_CAPS_ISO_SPEED = (1 << 1),
-;;   GST_PHOTOGRAPHY_CAPS_WB_MODE = (1 << 2),
-;;   GST_PHOTOGRAPHY_CAPS_TONE = (1 << 3),
-;;   GST_PHOTOGRAPHY_CAPS_SCENE = (1 << 4),
-;;   GST_PHOTOGRAPHY_CAPS_FLASH = (1 << 5),
-;;   GST_PHOTOGRAPHY_CAPS_ZOOM = (1 << 6),
-;;   GST_PHOTOGRAPHY_CAPS_FOCUS = (1 << 7),
-;;   GST_PHOTOGRAPHY_CAPS_APERTURE = (1 << 8),
-;;   GST_PHOTOGRAPHY_CAPS_EXPOSURE = (1 << 9),
-;;   GST_PHOTOGRAPHY_CAPS_SHAKE = (1 << 10),
-;;   GST_PHOTOGRAPHY_CAPS_WHITE_BALANCE = (1 << 11),
-;;   GST_PHOTOGRAPHY_CAPS_NOISE_REDUCTION = (1 << 12),
-;;   GST_PHOTOGRAPHY_CAPS_FLICKER_REDUCTION = (1 << 13),
-;;   GST_PHOTOGRAPHY_CAPS_ALL = (~0)
-;; } GstPhotographyCaps;
-
-(define-flags-extended PhotographyCaps
-  (in-module "Gst")
-  (c-name "GstPhotographyCaps")
-  (values
-    '("none" "GST_PHOTOGRAPHY_CAPS_NONE" "(0 << 0)")
-    '("ev-comp" "GST_PHOTOGRAPHY_CAPS_EV_COMP" "(1 << 0)")
-    '("iso-speed" "GST_PHOTOGRAPHY_CAPS_ISO_SPEED" "(1 << 1)")
-    '("wb-mode" "GST_PHOTOGRAPHY_CAPS_WB_MODE" "(1 << 2)")
-    '("tone" "GST_PHOTOGRAPHY_CAPS_TONE" "(1 << 3)")
-    '("scene" "GST_PHOTOGRAPHY_CAPS_SCENE" "(1 << 4)")
-    '("flash" "GST_PHOTOGRAPHY_CAPS_FLASH" "(1 << 5)")
-    '("zoom" "GST_PHOTOGRAPHY_CAPS_ZOOM" "(1 << 6)")
-    '("focus" "GST_PHOTOGRAPHY_CAPS_FOCUS" "(1 << 7)")
-    '("aperture" "GST_PHOTOGRAPHY_CAPS_APERTURE" "(1 << 8)")
-    '("exposure" "GST_PHOTOGRAPHY_CAPS_EXPOSURE" "(1 << 9)")
-    '("shake" "GST_PHOTOGRAPHY_CAPS_SHAKE" "(1 << 10)")
-    '("white-balance" "GST_PHOTOGRAPHY_CAPS_WHITE_BALANCE" "(1 << 11)")
-    '("noise-reduction" "GST_PHOTOGRAPHY_CAPS_NOISE_REDUCTION" "(1 << 12)")
-    '("flicker-reduction" "GST_PHOTOGRAPHY_CAPS_FLICKER_REDUCTION" "(1 << 13)")
-    '("all" "GST_PHOTOGRAPHY_CAPS_ALL" "0x0")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_PHOTOGRAPHY_SHAKE_RISK_LOW = 0,
-;;   GST_PHOTOGRAPHY_SHAKE_RISK_MEDIUM,
-;;   GST_PHOTOGRAPHY_SHAKE_RISK_HIGH,
-;; } GstPhotographyShakeRisk;
-
-(define-enum-extended PhotographyShakeRisk
-  (in-module "Gst")
-  (c-name "GstPhotographyShakeRisk")
-  (values
-    '("low" "GST_PHOTOGRAPHY_SHAKE_RISK_LOW" "0")
-    '("medium" "GST_PHOTOGRAPHY_SHAKE_RISK_MEDIUM" "1")
-    '("high" "GST_PHOTOGRAPHY_SHAKE_RISK_HIGH" "2")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_PHOTOGRAPHY_FLICKER_REDUCTION_OFF = 0,
-;;   GST_PHOTOGRAPHY_FLICKER_REDUCTION_50HZ,
-;;   GST_PHOTOGRAPHY_FLICKER_REDUCTION_60HZ,
-;;   GST_PHOTOGRAPHY_FLICKER_REDUCTION_AUTO,
-;; } GstPhotographyFlickerReductionMode;
-
-(define-enum-extended PhotographyFlickerReductionMode
-  (in-module "Gst")
-  (c-name "GstPhotographyFlickerReductionMode")
-  (values
-    '("off" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_OFF" "0")
-    '("50hz" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_50HZ" "1")
-    '("60hz" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_60HZ" "2")
-    '("auto" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_AUTO" "3")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;     GST_PHOTOGRAPHY_FOCUS_MODE_AUTO = 0,
-;;     GST_PHOTOGRAPHY_FOCUS_MODE_MACRO,
-;;     GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT,
-;;     GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY,
-;;     GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL,
-;;     GST_PHOTOGRAPHY_FOCUS_MODE_EXTENDED,
-;;     GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL,
-;;     GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED,
-;;     GST_PHOTOGRAPHY_FOCUS_MODE_MANUAL
-;; } GstPhotographyFocusMode;
-
-(define-enum-extended PhotographyFocusMode
-  (in-module "Gst")
-  (c-name "GstPhotographyFocusMode")
-  (values
-    '("auto" "GST_PHOTOGRAPHY_FOCUS_MODE_AUTO" "0")
-    '("macro" "GST_PHOTOGRAPHY_FOCUS_MODE_MACRO" "1")
-    '("portrait" "GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT" "2")
-    '("infinity" "GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY" "3")
-    '("hyperfocal" "GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL" "4")
-    '("extended" "GST_PHOTOGRAPHY_FOCUS_MODE_EXTENDED" "5")
-    '("continuous-normal" "GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL" "6")
-    '("continuous-extended" "GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED" "7")
-    '("manual" "GST_PHOTOGRAPHY_FOCUS_MODE_MANUAL" "8")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;     GST_PHOTOGRAPHY_EXPOSURE_MODE_AUTO = 0,
-;;     GST_PHOTOGRAPHY_EXPOSURE_MODE_MANUAL
-;; } GstPhotographyExposureMode;
-
-(define-enum-extended PhotographyExposureMode
-  (in-module "Gst")
-  (c-name "GstPhotographyExposureMode")
-  (values
-    '("auto" "GST_PHOTOGRAPHY_EXPOSURE_MODE_AUTO" "0")
-    '("manual" "GST_PHOTOGRAPHY_EXPOSURE_MODE_MANUAL" "1")
-  )
-)
-
-;; From gst-atsc-section.h
-
-;; Original typedef:
-;; typedef enum {
-;; 
-;; 
-;;   /* ATSC (A/65) */
-;;   GST_MTS_TABLE_ID_ATSC_MASTER_GUIDE                    = 0xC7,
-;;   GST_MTS_TABLE_ID_ATSC_TERRESTRIAL_VIRTUAL_CHANNEL     = 0xC8,
-;;   GST_MTS_TABLE_ID_ATSC_CABLE_VIRTUAL_CHANNEL           = 0xC9,
-;;   GST_MTS_TABLE_ID_ATSC_RATING_REGION                   = 0xCA,
-;;   GST_MTS_TABLE_ID_ATSC_EVENT_INFORMATION               = 0xCB,
-;;   GST_MTS_TABLE_ID_ATSC_CHANNEL_OR_EVENT_EXTENDED_TEXT  = 0xCC,
-;;   GST_MTS_TABLE_ID_ATSC_SYSTEM_TIME                     = 0xCD,
-;;   /* ATSC (A/90) */
-;;   GST_MTS_TABLE_ID_ATSC_DATA_EVENT                      = 0xCE,
-;;   GST_MTS_TABLE_ID_ATSC_DATA_SERVICE                    = 0xCF,
-;;   /* 0xD0 ?? */
-;;   GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE                = 0xD1,
-;;   GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE               = 0xD2,
-;;   GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE         = 0xD3,
-;;   GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE_SECTION_CODE = 0xD4,
-;;   /* 0xD5 ?? */
-;;   GST_MTS_TABLE_ID_ATSC_AGGREGATE_EVENT_INFORMATION     = 0xD6,
-;;   GST_MTS_TABLE_ID_ATSC_AGGREGATE_EXTENDED_TEXT         = 0xD7,
-;;   /* 0xD8 ?? */
-;;   GST_MTS_TABLE_ID_ATSC_AGGREGATE_DATA_EVENT            = 0xD9,
-;;   GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL       = 0xDA,
-;; } GstMpegtsSectionATSCTableID;
-
-(define-flags-extended MpegtsSectionATSCTableID
-  (in-module "Gst")
-  (c-name "GstMpegtsSectionATSCTableID")
-  (values
-    '("master-guide" "GST_MTS_TABLE_ID_ATSC_MASTER_GUIDE" "0xC7")
-    '("terrestrial-virtual-channel" "GST_MTS_TABLE_ID_ATSC_TERRESTRIAL_VIRTUAL_CHANNEL" "0xC8")
-    '("cable-virtual-channel" "GST_MTS_TABLE_ID_ATSC_CABLE_VIRTUAL_CHANNEL" "0xC9")
-    '("rating-region" "GST_MTS_TABLE_ID_ATSC_RATING_REGION" "0xCA")
-    '("event-information" "GST_MTS_TABLE_ID_ATSC_EVENT_INFORMATION" "0xCB")
-    '("channel-or-event-extended-text" "GST_MTS_TABLE_ID_ATSC_CHANNEL_OR_EVENT_EXTENDED_TEXT" "0xCC")
-    '("system-time" "GST_MTS_TABLE_ID_ATSC_SYSTEM_TIME" "0xCD")
-    '("data-event" "GST_MTS_TABLE_ID_ATSC_DATA_EVENT" "0xCE")
-    '("data-service" "GST_MTS_TABLE_ID_ATSC_DATA_SERVICE" "0xCF")
-    '("network-resource" "GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE" "0xD1")
-    '("long-term-service" "GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE" "0xD2")
-    '("directed-channel-change" "GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE" "0xD3")
-    '("directed-channel-change-section-code" "GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE_SECTION_CODE" 
"0xD4")
-    '("aggregate-event-information" "GST_MTS_TABLE_ID_ATSC_AGGREGATE_EVENT_INFORMATION" "0xD6")
-    '("aggregate-extended-text" "GST_MTS_TABLE_ID_ATSC_AGGREGATE_EXTENDED_TEXT" "0xD7")
-    '("aggregate-data-event" "GST_MTS_TABLE_ID_ATSC_AGGREGATE_DATA_EVENT" "0xD9")
-    '("satellite-virtual-channel" "GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL" "0xDA")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0 = 0x0100,
-;;   GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127 = 0x017F,
-;;   GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT0 = 0x0200,
-;;   GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT127 = 0x027F
-;; } GstMpegtsAtscMGTTableType;
-
-(define-flags-extended MpegtsAtscMGTTableType
-  (in-module "Gst")
-  (c-name "GstMpegtsAtscMGTTableType")
-  (values
-    '("eit0" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0" "0x0100")
-    '("eit127" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127" "0x017F")
-    '("ett0" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT0" "0x0200")
-    '("ett127" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT127" "0x027F")
-  )
-)
-
-;; From gst-dvb-descriptor.h
-
-;; Original typedef:
-;; typedef enum {
-;;   /* 64-127 DVB tags ETSI EN 300 468
-;;    * (Specification for Service Information (SI) in DVB systems)
-;;    */
-;;   GST_MTS_DESC_DVB_NETWORK_NAME                 = 0x40,
-;;   GST_MTS_DESC_DVB_SERVICE_LIST                 = 0x41,
-;;   GST_MTS_DESC_DVB_STUFFING                     = 0x42,
-;;   GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM    = 0x43,
-;;   GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM        = 0x44,
-;;   GST_MTS_DESC_DVB_VBI_DATA                     = 0x45,
-;;   GST_MTS_DESC_DVB_VBI_TELETEXT                 = 0x46,
-;;   GST_MTS_DESC_DVB_BOUQUET_NAME                 = 0x47,
-;;   GST_MTS_DESC_DVB_SERVICE                      = 0x48,
-;;   GST_MTS_DESC_DVB_COUNTRY_AVAILABILITY         = 0x49,
-;;   GST_MTS_DESC_DVB_LINKAGE                      = 0x4A,
-;;   GST_MTS_DESC_DVB_NVOD_REFERENCE               = 0x4B,
-;;   GST_MTS_DESC_DVB_TIME_SHIFTED_SERVICE         = 0x4C,
-;;   GST_MTS_DESC_DVB_SHORT_EVENT                  = 0x4D,
-;;   GST_MTS_DESC_DVB_EXTENDED_EVENT               = 0x4E,
-;;   GST_MTS_DESC_DVB_TIME_SHIFTED_EVENT           = 0x4F,
-;;   GST_MTS_DESC_DVB_COMPONENT                    = 0x50,
-;;   GST_MTS_DESC_DVB_MOSAIC                       = 0x51,
-;;   GST_MTS_DESC_DVB_STREAM_IDENTIFIER            = 0x52,
-;;   GST_MTS_DESC_DVB_CA_IDENTIFIER                = 0x53,
-;;   GST_MTS_DESC_DVB_CONTENT                      = 0x54,
-;;   GST_MTS_DESC_DVB_PARENTAL_RATING              = 0x55,
-;;   GST_MTS_DESC_DVB_TELETEXT                     = 0x56,
-;;   GST_MTS_DESC_DVB_TELEPHONE                    = 0x57,
-;;   GST_MTS_DESC_DVB_LOCAL_TIME_OFFSET            = 0x58,
-;;   GST_MTS_DESC_DVB_SUBTITLING                   = 0x59,
-;;   GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM  = 0x5A,
-;;   GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME    = 0x5B,
-;;   GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME    = 0x5C,
-;;   GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME    = 0x5D,
-;;   GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT       = 0x5E,
-;;   GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER       = 0x5F,
-;;   GST_MTS_DESC_DVB_SERVICE_MOVE                 = 0x60,
-;;   GST_MTS_DESC_DVB_SHORT_SMOOTHING_BUFFER       = 0x61,
-;;   GST_MTS_DESC_DVB_FREQUENCY_LIST               = 0x62,
-;;   GST_MTS_DESC_DVB_PARTIAL_TRANSPORT_STREAM     = 0x63,
-;;   GST_MTS_DESC_DVB_DATA_BROADCAST               = 0x64,
-;;   GST_MTS_DESC_DVB_SCRAMBLING                   = 0x65,
-;;   GST_MTS_DESC_DVB_DATA_BROADCAST_ID            = 0x66,
-;;   GST_MTS_DESC_DVB_TRANSPORT_STREAM             = 0x67,
-;;   GST_MTS_DESC_DVB_DSNG                         = 0x68,
-;;   GST_MTS_DESC_DVB_PDC                          = 0x69,
-;;   GST_MTS_DESC_DVB_AC3                          = 0x6A,
-;;   GST_MTS_DESC_DVB_ANCILLARY_DATA               = 0x6B,
-;;   GST_MTS_DESC_DVB_CELL_LIST                    = 0x6C,
-;;   GST_MTS_DESC_DVB_CELL_FREQUENCY_LINK          = 0x6D,
-;;   GST_MTS_DESC_DVB_ANNOUNCEMENT_SUPPORT         = 0x6E,
-;;   GST_MTS_DESC_DVB_APPLICATION_SIGNALLING       = 0x6F,
-;;   GST_MTS_DESC_DVB_ADAPTATION_FIELD_DATA        = 0x70,
-;;   GST_MTS_DESC_DVB_SERVICE_IDENTIFIER           = 0x71,
-;;   GST_MTS_DESC_DVB_SERVICE_AVAILABILITY         = 0x72,
-;;   GST_MTS_DESC_DVB_DEFAULT_AUTHORITY            = 0x73,
-;;   GST_MTS_DESC_DVB_RELATED_CONTENT              = 0x74,
-;;   GST_MTS_DESC_DVB_TVA_ID                       = 0x75,
-;;   GST_MTS_DESC_DVB_CONTENT_IDENTIFIER           = 0x76,
-;;   GST_MTS_DESC_DVB_TIMESLICE_FEC_IDENTIFIER     = 0x77,
-;;   GST_MTS_DESC_DVB_ECM_REPETITION_RATE          = 0x78,
-;;   GST_MTS_DESC_DVB_S2_SATELLITE_DELIVERY_SYSTEM = 0x79,
-;;   GST_MTS_DESC_DVB_ENHANCED_AC3                 = 0x7A,
-;;   GST_MTS_DESC_DVB_DTS                          = 0x7B,
-;;   GST_MTS_DESC_DVB_AAC                          = 0x7C,
-;;   GST_MTS_DESC_DVB_XAIT_LOCATION                = 0x7D,
-;;   GST_MTS_DESC_DVB_FTA_CONTENT_MANAGEMENT       = 0x7E,
-;;   GST_MTS_DESC_DVB_EXTENSION                    = 0x7F,
-;; } GstMpegtsDVBDescriptorType;
-
-(define-flags-extended MpegtsDVBDescriptorType
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBDescriptorType")
-  (values
-    '("network-name" "GST_MTS_DESC_DVB_NETWORK_NAME" "0x40")
-    '("service-list" "GST_MTS_DESC_DVB_SERVICE_LIST" "0x41")
-    '("stuffing" "GST_MTS_DESC_DVB_STUFFING" "0x42")
-    '("satellite-delivery-system" "GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM" "0x43")
-    '("cable-delivery-system" "GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM" "0x44")
-    '("vbi-data" "GST_MTS_DESC_DVB_VBI_DATA" "0x45")
-    '("vbi-teletext" "GST_MTS_DESC_DVB_VBI_TELETEXT" "0x46")
-    '("bouquet-name" "GST_MTS_DESC_DVB_BOUQUET_NAME" "0x47")
-    '("service" "GST_MTS_DESC_DVB_SERVICE" "0x48")
-    '("country-availability" "GST_MTS_DESC_DVB_COUNTRY_AVAILABILITY" "0x49")
-    '("linkage" "GST_MTS_DESC_DVB_LINKAGE" "0x4A")
-    '("nvod-reference" "GST_MTS_DESC_DVB_NVOD_REFERENCE" "0x4B")
-    '("time-shifted-service" "GST_MTS_DESC_DVB_TIME_SHIFTED_SERVICE" "0x4C")
-    '("short-event" "GST_MTS_DESC_DVB_SHORT_EVENT" "0x4D")
-    '("extended-event" "GST_MTS_DESC_DVB_EXTENDED_EVENT" "0x4E")
-    '("time-shifted-event" "GST_MTS_DESC_DVB_TIME_SHIFTED_EVENT" "0x4F")
-    '("component" "GST_MTS_DESC_DVB_COMPONENT" "0x50")
-    '("mosaic" "GST_MTS_DESC_DVB_MOSAIC" "0x51")
-    '("stream-identifier" "GST_MTS_DESC_DVB_STREAM_IDENTIFIER" "0x52")
-    '("ca-identifier" "GST_MTS_DESC_DVB_CA_IDENTIFIER" "0x53")
-    '("content" "GST_MTS_DESC_DVB_CONTENT" "0x54")
-    '("parental-rating" "GST_MTS_DESC_DVB_PARENTAL_RATING" "0x55")
-    '("teletext" "GST_MTS_DESC_DVB_TELETEXT" "0x56")
-    '("telephone" "GST_MTS_DESC_DVB_TELEPHONE" "0x57")
-    '("local-time-offset" "GST_MTS_DESC_DVB_LOCAL_TIME_OFFSET" "0x58")
-    '("subtitling" "GST_MTS_DESC_DVB_SUBTITLING" "0x59")
-    '("terrestrial-delivery-system" "GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM" "0x5A")
-    '("multilingual-network-name" "GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME" "0x5B")
-    '("multilingual-bouquet-name" "GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME" "0x5C")
-    '("multilingual-service-name" "GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME" "0x5D")
-    '("multilingual-component" "GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT" "0x5E")
-    '("private-data-specifier" "GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER" "0x5F")
-    '("service-move" "GST_MTS_DESC_DVB_SERVICE_MOVE" "0x60")
-    '("short-smoothing-buffer" "GST_MTS_DESC_DVB_SHORT_SMOOTHING_BUFFER" "0x61")
-    '("frequency-list" "GST_MTS_DESC_DVB_FREQUENCY_LIST" "0x62")
-    '("partial-transport-stream" "GST_MTS_DESC_DVB_PARTIAL_TRANSPORT_STREAM" "0x63")
-    '("data-broadcast" "GST_MTS_DESC_DVB_DATA_BROADCAST" "0x64")
-    '("scrambling" "GST_MTS_DESC_DVB_SCRAMBLING" "0x65")
-    '("data-broadcast-id" "GST_MTS_DESC_DVB_DATA_BROADCAST_ID" "0x66")
-    '("transport-stream" "GST_MTS_DESC_DVB_TRANSPORT_STREAM" "0x67")
-    '("dsng" "GST_MTS_DESC_DVB_DSNG" "0x68")
-    '("pdc" "GST_MTS_DESC_DVB_PDC" "0x69")
-    '("ac3" "GST_MTS_DESC_DVB_AC3" "0x6A")
-    '("ancillary-data" "GST_MTS_DESC_DVB_ANCILLARY_DATA" "0x6B")
-    '("cell-list" "GST_MTS_DESC_DVB_CELL_LIST" "0x6C")
-    '("cell-frequency-link" "GST_MTS_DESC_DVB_CELL_FREQUENCY_LINK" "0x6D")
-    '("announcement-support" "GST_MTS_DESC_DVB_ANNOUNCEMENT_SUPPORT" "0x6E")
-    '("application-signalling" "GST_MTS_DESC_DVB_APPLICATION_SIGNALLING" "0x6F")
-    '("adaptation-field-data" "GST_MTS_DESC_DVB_ADAPTATION_FIELD_DATA" "0x70")
-    '("service-identifier" "GST_MTS_DESC_DVB_SERVICE_IDENTIFIER" "0x71")
-    '("service-availability" "GST_MTS_DESC_DVB_SERVICE_AVAILABILITY" "0x72")
-    '("default-authority" "GST_MTS_DESC_DVB_DEFAULT_AUTHORITY" "0x73")
-    '("related-content" "GST_MTS_DESC_DVB_RELATED_CONTENT" "0x74")
-    '("tva-id" "GST_MTS_DESC_DVB_TVA_ID" "0x75")
-    '("content-identifier" "GST_MTS_DESC_DVB_CONTENT_IDENTIFIER" "0x76")
-    '("timeslice-fec-identifier" "GST_MTS_DESC_DVB_TIMESLICE_FEC_IDENTIFIER" "0x77")
-    '("ecm-repetition-rate" "GST_MTS_DESC_DVB_ECM_REPETITION_RATE" "0x78")
-    '("s2-satellite-delivery-system" "GST_MTS_DESC_DVB_S2_SATELLITE_DELIVERY_SYSTEM" "0x79")
-    '("enhanced-ac3" "GST_MTS_DESC_DVB_ENHANCED_AC3" "0x7A")
-    '("dts" "GST_MTS_DESC_DVB_DTS" "0x7B")
-    '("aac" "GST_MTS_DESC_DVB_AAC" "0x7C")
-    '("xait-location" "GST_MTS_DESC_DVB_XAIT_LOCATION" "0x7D")
-    '("fta-content-management" "GST_MTS_DESC_DVB_FTA_CONTENT_MANAGEMENT" "0x7E")
-    '("extension" "GST_MTS_DESC_DVB_EXTENSION" "0x7F")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   /* 00 - 0x7F DVB extended tags ETSI EN 300 468
-;;    * (Specification for Service Information (SI) in DVB systems)
-;;    */
-;;   GST_MTS_DESC_EXT_DVB_IMAGE_ICON               = 0x00,
-;;   /* TS/TR 102 825 */
-;;   GST_MTS_DESC_EXT_DVB_CPCM_DELIVERY_SIGNALLING = 0x01,
-;;   GST_MTS_DESC_EXT_DVB_CP                       = 0x02,
-;;   GST_MTS_DESC_EXT_DVB_CP_IDENTIFIER            = 0x03,
-;;   GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM       = 0x04,
-;;   GST_MTS_DESC_EXT_DVB_SH_DELIVERY_SYSTEM       = 0x05,
-;;   GST_MTS_DESC_EXT_DVB_SUPPLEMENTARY_AUDIO      = 0x06,
-;;   GST_MTS_DESC_EXT_DVB_NETWORK_CHANGE_NOTIFY    = 0x07,
-;;   GST_MTS_DESC_EXT_DVB_MESSAGE                  = 0x08,
-;;   GST_MTS_DESC_EXT_DVB_TARGET_REGION            = 0x09,
-;;   GST_MTS_DESC_EXT_DVB_TARGET_REGION_NAME       = 0x0A,
-;;   GST_MTS_DESC_EXT_DVB_SERVICE_RELOCATED        = 0x0B,
-;;   GST_MTS_DESC_EXT_DVB_XAIT_PID                 = 0x0C,
-;;   GST_MTS_DESC_EXT_DVB_C2_DELIVERY_SYSTEM       = 0x0D,
-;;   GST_MTS_DESC_EXT_DVB_DTS_HD_AUDIO_STREAM      = 0x0E,
-;;   GST_MTS_DESC_EXT_DVB_DTS_NEUTRAL              = 0x0F,
-;;   GST_MTS_DESC_EXT_DVB_VIDEO_DEPTH_RANGE        = 0x10,
-;;   GST_MTS_DESC_EXT_DVB_T2MI                     = 0x11,
-;;   GST_MTS_DESC_EXT_DVB_URI_LINKAGE              = 0x13,
-;; } GstMpegtsDVBExtendedDescriptorType;
-
-(define-flags-extended MpegtsDVBExtendedDescriptorType
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBExtendedDescriptorType")
-  (values
-    '("image-icon" "GST_MTS_DESC_EXT_DVB_IMAGE_ICON" "0x00")
-    '("cpcm-delivery-signalling" "GST_MTS_DESC_EXT_DVB_CPCM_DELIVERY_SIGNALLING" "0x01")
-    '("cp" "GST_MTS_DESC_EXT_DVB_CP" "0x02")
-    '("cp-identifier" "GST_MTS_DESC_EXT_DVB_CP_IDENTIFIER" "0x03")
-    '("t2-delivery-system" "GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM" "0x04")
-    '("sh-delivery-system" "GST_MTS_DESC_EXT_DVB_SH_DELIVERY_SYSTEM" "0x05")
-    '("supplementary-audio" "GST_MTS_DESC_EXT_DVB_SUPPLEMENTARY_AUDIO" "0x06")
-    '("network-change-notify" "GST_MTS_DESC_EXT_DVB_NETWORK_CHANGE_NOTIFY" "0x07")
-    '("message" "GST_MTS_DESC_EXT_DVB_MESSAGE" "0x08")
-    '("target-region" "GST_MTS_DESC_EXT_DVB_TARGET_REGION" "0x09")
-    '("target-region-name" "GST_MTS_DESC_EXT_DVB_TARGET_REGION_NAME" "0x0A")
-    '("service-relocated" "GST_MTS_DESC_EXT_DVB_SERVICE_RELOCATED" "0x0B")
-    '("xait-pid" "GST_MTS_DESC_EXT_DVB_XAIT_PID" "0x0C")
-    '("c2-delivery-system" "GST_MTS_DESC_EXT_DVB_C2_DELIVERY_SYSTEM" "0x0D")
-    '("dts-hd-audio-stream" "GST_MTS_DESC_EXT_DVB_DTS_HD_AUDIO_STREAM" "0x0E")
-    '("dts-neutral" "GST_MTS_DESC_EXT_DVB_DTS_NEUTRAL" "0x0F")
-    '("video-depth-range" "GST_MTS_DESC_EXT_DVB_VIDEO_DEPTH_RANGE" "0x10")
-    '("t2mi" "GST_MTS_DESC_EXT_DVB_T2MI" "0x11")
-    '("uri-linkage" "GST_MTS_DESC_EXT_DVB_URI_LINKAGE" "0x13")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_MODULATION_QPSK    = 0,
-;;   GST_MPEGTS_MODULATION_QAM_16,
-;;   GST_MPEGTS_MODULATION_QAM_32,
-;;   GST_MPEGTS_MODULATION_QAM_64,
-;;   GST_MPEGTS_MODULATION_QAM_128,
-;;   GST_MPEGTS_MODULATION_QAM_256,
-;;   GST_MPEGTS_MODULATION_QAM_AUTO,
-;;   GST_MPEGTS_MODULATION_VSB_8,
-;;   GST_MPEGTS_MODULATION_VSB_16,
-;;   GST_MPEGTS_MODULATION_PSK_8,
-;;   GST_MPEGTS_MODULATION_APSK_16,
-;;   GST_MPEGTS_MODULATION_APSK_32,
-;;   GST_MPEGTS_MODULATION_DQPSK,
-;;   GST_MPEGTS_MODULATION_QAM_4_NR_,
-;;   GST_MPEGTS_MODULATION_NONE
-;; } GstMpegtsModulationType;
-
-(define-enum-extended MpegtsModulationType
-  (in-module "Gst")
-  (c-name "GstMpegtsModulationType")
-  (values
-    '("qpsk" "GST_MPEGTS_MODULATION_QPSK" "0")
-    '("qam-16" "GST_MPEGTS_MODULATION_QAM_16" "1")
-    '("qam-32" "GST_MPEGTS_MODULATION_QAM_32" "2")
-    '("qam-64" "GST_MPEGTS_MODULATION_QAM_64" "3")
-    '("qam-128" "GST_MPEGTS_MODULATION_QAM_128" "4")
-    '("qam-256" "GST_MPEGTS_MODULATION_QAM_256" "5")
-    '("qam-auto" "GST_MPEGTS_MODULATION_QAM_AUTO" "6")
-    '("vsb-8" "GST_MPEGTS_MODULATION_VSB_8" "7")
-    '("vsb-16" "GST_MPEGTS_MODULATION_VSB_16" "8")
-    '("psk-8" "GST_MPEGTS_MODULATION_PSK_8" "9")
-    '("apsk-16" "GST_MPEGTS_MODULATION_APSK_16" "10")
-    '("apsk-32" "GST_MPEGTS_MODULATION_APSK_32" "11")
-    '("dqpsk" "GST_MPEGTS_MODULATION_DQPSK" "12")
-    '("qam-4-nr-" "GST_MPEGTS_MODULATION_QAM_4_NR_" "13")
-    '("none" "GST_MPEGTS_MODULATION_NONE" "14")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_FEC_NONE = 0,
-;;   GST_MPEGTS_FEC_1_2,
-;;   GST_MPEGTS_FEC_2_3,
-;;   GST_MPEGTS_FEC_3_4,
-;;   GST_MPEGTS_FEC_4_5,
-;;   GST_MPEGTS_FEC_5_6,
-;;   GST_MPEGTS_FEC_6_7,
-;;   GST_MPEGTS_FEC_7_8,
-;;   GST_MPEGTS_FEC_8_9,
-;;   GST_MPEGTS_FEC_AUTO,
-;;   GST_MPEGTS_FEC_3_5,
-;;   GST_MPEGTS_FEC_9_10,
-;;   GST_MPEGTS_FEC_2_5
-;; } GstMpegtsDVBCodeRate;
-
-(define-enum-extended MpegtsDVBCodeRate
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBCodeRate")
-  (values
-    '("none" "GST_MPEGTS_FEC_NONE" "0")
-    '("1-2" "GST_MPEGTS_FEC_1_2" "1")
-    '("2-3" "GST_MPEGTS_FEC_2_3" "2")
-    '("3-4" "GST_MPEGTS_FEC_3_4" "3")
-    '("4-5" "GST_MPEGTS_FEC_4_5" "4")
-    '("5-6" "GST_MPEGTS_FEC_5_6" "5")
-    '("6-7" "GST_MPEGTS_FEC_6_7" "6")
-    '("7-8" "GST_MPEGTS_FEC_7_8" "7")
-    '("8-9" "GST_MPEGTS_FEC_8_9" "8")
-    '("auto" "GST_MPEGTS_FEC_AUTO" "9")
-    '("3-5" "GST_MPEGTS_FEC_3_5" "10")
-    '("9-10" "GST_MPEGTS_FEC_9_10" "11")
-    '("2-5" "GST_MPEGTS_FEC_2_5" "12")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_ROLLOFF_35 = 0,
-;;   GST_MPEGTS_ROLLOFF_20,
-;;   GST_MPEGTS_ROLLOFF_25,
-;;   GST_MPEGTS_ROLLOFF_RESERVED,
-;;   GST_MPEGTS_ROLLOFF_AUTO
-;; } GstMpegtsSatelliteRolloff;
-
-(define-enum-extended MpegtsSatelliteRolloff
-  (in-module "Gst")
-  (c-name "GstMpegtsSatelliteRolloff")
-  (values
-    '("35" "GST_MPEGTS_ROLLOFF_35" "0")
-    '("20" "GST_MPEGTS_ROLLOFF_20" "1")
-    '("25" "GST_MPEGTS_ROLLOFF_25" "2")
-    '("reserved" "GST_MPEGTS_ROLLOFF_RESERVED" "3")
-    '("auto" "GST_MPEGTS_ROLLOFF_AUTO" "4")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_POLARIZATION_LINEAR_HORIZONTAL = 0,
-;;   GST_MPEGTS_POLARIZATION_LINEAR_VERTICAL,
-;;   GST_MPEGTS_POLARIZATION_CIRCULAR_LEFT,
-;;   GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT
-;; } GstMpegtsSatellitePolarizationType;
-
-(define-enum-extended MpegtsSatellitePolarizationType
-  (in-module "Gst")
-  (c-name "GstMpegtsSatellitePolarizationType")
-  (values
-    '("linear-horizontal" "GST_MPEGTS_POLARIZATION_LINEAR_HORIZONTAL" "0")
-    '("linear-vertical" "GST_MPEGTS_POLARIZATION_LINEAR_VERTICAL" "1")
-    '("circular-left" "GST_MPEGTS_POLARIZATION_CIRCULAR_LEFT" "2")
-    '("circular-right" "GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT" "3")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_CABLE_OUTER_FEC_UNDEFINED = 0,
-;;   GST_MPEGTS_CABLE_OUTER_FEC_NONE,
-;;   GST_MPEGTS_CABLE_OUTER_FEC_RS_204_188,
-;; } GstMpegtsCableOuterFECScheme;
-
-(define-enum-extended MpegtsCableOuterFECScheme
-  (in-module "Gst")
-  (c-name "GstMpegtsCableOuterFECScheme")
-  (values
-    '("undefined" "GST_MPEGTS_CABLE_OUTER_FEC_UNDEFINED" "0")
-    '("none" "GST_MPEGTS_CABLE_OUTER_FEC_NONE" "1")
-    '("rs-204-188" "GST_MPEGTS_CABLE_OUTER_FEC_RS_204_188" "2")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_DVB_SERVICE_RESERVED_00               = 0x00,
-;;   GST_DVB_SERVICE_DIGITAL_TELEVISION,
-;;   GST_DVB_SERVICE_DIGITAL_RADIO_SOUND,
-;;   GST_DVB_SERVICE_TELETEXT,
-;;   GST_DVB_SERVICE_NVOD_REFERENCE,
-;;   GST_DVB_SERVICE_NVOD_TIME_SHIFTED,
-;;   GST_DVB_SERVICE_MOSAIC,
-;;   GST_DVB_SERVICE_FM_RADIO,
-;;   GST_DVB_SERVICE_DVB_SRM,
-;;   GST_DVB_SERVICE_RESERVED_09,
-;;   GST_DVB_SERVICE_ADVANCED_CODEC_DIGITAL_RADIO_SOUND,
-;;   GST_DVB_SERVICE_ADVANCED_CODEC_MOSAIC,
-;;   GST_DVB_SERVICE_DATA_BROADCAST,
-;;   GST_DVB_SERVICE_RESERVED_0D_COMMON_INTERFACE,
-;;   GST_DVB_SERVICE_RCS_MAP,
-;;   GST_DVB_SERVICE_RCS_FLS,
-;;   GST_DVB_SERVICE_DVB_MHP,
-;;   GST_DVB_SERVICE_MPEG2_HD_DIGITAL_TELEVISION,
-;;   /* 0x12 - 015 Reserved for future use */
-;;   GST_DVB_SERVICE_ADVANCED_CODEC_SD_DIGITAL_TELEVISION = 0x16,
-;;   GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED,
-;;   GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_REFERENCE,
-;;   GST_DVB_SERVICE_ADVANCED_CODEC_HD_DIGITAL_TELEVISION,
-;;   GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED,
-;;   GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_REFERENCE,
-;;   GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION,
-;;   GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED,
-;;   GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE,
-;;   /* 0x1F - 0x7f Reserved for future use */
-;;   /* 0x80 - 0xfe user defined */
-;;   /* 0xff Reserved for future use */
-;;   GST_DVB_SERVICE_RESERVED_FF
-;; } GstMpegtsDVBServiceType;
-
-(define-enum-extended MpegtsDVBServiceType
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBServiceType")
-  (values
-    '("reserved-00" "GST_DVB_SERVICE_RESERVED_00" "0x00")
-    '("digital-television" "GST_DVB_SERVICE_DIGITAL_TELEVISION" "1")
-    '("digital-radio-sound" "GST_DVB_SERVICE_DIGITAL_RADIO_SOUND" "2")
-    '("teletext" "GST_DVB_SERVICE_TELETEXT" "3")
-    '("nvod-reference" "GST_DVB_SERVICE_NVOD_REFERENCE" "4")
-    '("nvod-time-shifted" "GST_DVB_SERVICE_NVOD_TIME_SHIFTED" "5")
-    '("mosaic" "GST_DVB_SERVICE_MOSAIC" "6")
-    '("fm-radio" "GST_DVB_SERVICE_FM_RADIO" "7")
-    '("dvb-srm" "GST_DVB_SERVICE_DVB_SRM" "8")
-    '("reserved-09" "GST_DVB_SERVICE_RESERVED_09" "9")
-    '("advanced-codec-digital-radio-sound" "GST_DVB_SERVICE_ADVANCED_CODEC_DIGITAL_RADIO_SOUND" "10")
-    '("advanced-codec-mosaic" "GST_DVB_SERVICE_ADVANCED_CODEC_MOSAIC" "11")
-    '("data-broadcast" "GST_DVB_SERVICE_DATA_BROADCAST" "12")
-    '("reserved-0d-common-interface" "GST_DVB_SERVICE_RESERVED_0D_COMMON_INTERFACE" "13")
-    '("rcs-map" "GST_DVB_SERVICE_RCS_MAP" "14")
-    '("rcs-fls" "GST_DVB_SERVICE_RCS_FLS" "15")
-    '("dvb-mhp" "GST_DVB_SERVICE_DVB_MHP" "16")
-    '("mpeg2-hd-digital-television" "GST_DVB_SERVICE_MPEG2_HD_DIGITAL_TELEVISION" "17")
-    '("advanced-codec-sd-digital-television" "GST_DVB_SERVICE_ADVANCED_CODEC_SD_DIGITAL_TELEVISION" "0x16")
-    '("advanced-codec-sd-nvod-time-shifted" "GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED" "23")
-    '("advanced-codec-sd-nvod-reference" "GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_REFERENCE" "24")
-    '("advanced-codec-hd-digital-television" "GST_DVB_SERVICE_ADVANCED_CODEC_HD_DIGITAL_TELEVISION" "25")
-    '("advanced-codec-hd-nvod-time-shifted" "GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED" "26")
-    '("advanced-codec-hd-nvod-reference" "GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_REFERENCE" "27")
-    '("advanced-codec-stereo-hd-digital-television" 
"GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION" "28")
-    '("advanced-codec-stereo-hd-nvod-time-shifted" 
"GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED" "29")
-    '("advanced-codec-stereo-hd-nvod-reference" "GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE" 
"30")
-    '("reserved-ff" "GST_DVB_SERVICE_RESERVED_FF" "31")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   /* 0x00, 0x0F-0x7F reserved for future use */
-;;   GST_MPEGTS_DVB_LINKAGE_RESERVED_00               = 0x00,
-;;   GST_MPEGTS_DVB_LINKAGE_INFORMATION               = 0x01,
-;;   GST_MPEGTS_DVB_LINKAGE_EPG                       = 0x02,
-;;   GST_MPEGTS_DVB_LINKAGE_CA_REPLACEMENT            = 0x03,
-;;   GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_COMPLETE_SI = 0x04,
-;;   GST_MPEGTS_DVB_LINKAGE_SERVICE_REPLACEMENT       = 0x05,
-;;   GST_MPEGTS_DVB_LINKAGE_DATA_BROADCAST            = 0x06,
-;;   GST_MPEGTS_DVB_LINKAGE_RCS_MAP                   = 0x07,
-;;   GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER          = 0x08,
-;;   GST_MPEGTS_DVB_LINKAGE_SYSTEM_SOFTWARE_UPDATE    = 0x09,
-;;   GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_SSU         = 0x0A,
-;;   GST_MPEGTS_DVB_LINKAGE_IP_MAC_NOTIFICATION       = 0x0B,
-;;   GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_INT         = 0x0C,
-;;   GST_MPEGTS_DVB_LINKAGE_EVENT                     = 0x0D,
-;;   GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT            = 0x0E,
-;; } GstMpegtsDVBLinkageType;
-
-(define-flags-extended MpegtsDVBLinkageType
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBLinkageType")
-  (values
-    '("reserved-00" "GST_MPEGTS_DVB_LINKAGE_RESERVED_00" "0x00")
-    '("information" "GST_MPEGTS_DVB_LINKAGE_INFORMATION" "0x01")
-    '("epg" "GST_MPEGTS_DVB_LINKAGE_EPG" "0x02")
-    '("ca-replacement" "GST_MPEGTS_DVB_LINKAGE_CA_REPLACEMENT" "0x03")
-    '("ts-containing-complete-si" "GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_COMPLETE_SI" "0x04")
-    '("service-replacement" "GST_MPEGTS_DVB_LINKAGE_SERVICE_REPLACEMENT" "0x05")
-    '("data-broadcast" "GST_MPEGTS_DVB_LINKAGE_DATA_BROADCAST" "0x06")
-    '("rcs-map" "GST_MPEGTS_DVB_LINKAGE_RCS_MAP" "0x07")
-    '("mobile-hand-over" "GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER" "0x08")
-    '("system-software-update" "GST_MPEGTS_DVB_LINKAGE_SYSTEM_SOFTWARE_UPDATE" "0x09")
-    '("ts-containing-ssu" "GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_SSU" "0x0A")
-    '("ip-mac-notification" "GST_MPEGTS_DVB_LINKAGE_IP_MAC_NOTIFICATION" "0x0B")
-    '("ts-containing-int" "GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_INT" "0x0C")
-    '("event" "GST_MPEGTS_DVB_LINKAGE_EVENT" "0x0D")
-    '("extended-event" "GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT" "0x0E")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_DVB_LINKAGE_HAND_OVER_RESERVED        = 0x00,
-;;   GST_MPEGTS_DVB_LINKAGE_HAND_OVER_IDENTICAL       = 0x01,
-;;   GST_MPEGTS_DVB_LINKAGE_HAND_OVER_LOCAL_VARIATION = 0x02,
-;;   GST_MPEGTS_DVB_LINKAGE_HAND_OVER_ASSOCIATED      = 0x03,
-;; } GstMpegtsDVBLinkageHandOverType;
-
-(define-flags-extended MpegtsDVBLinkageHandOverType
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBLinkageHandOverType")
-  (values
-    '("reserved" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_RESERVED" "0x00")
-    '("identical" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_IDENTICAL" "0x01")
-    '("local-variation" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_LOCAL_VARIATION" "0x02")
-    '("associated" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_ASSOCIATED" "0x03")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_STREAM_CONTENT_MPEG2_VIDEO          = 0x01,
-;;   GST_MPEGTS_STREAM_CONTENT_MPEG1_LAYER2_AUDIO   = 0x02,
-;;   GST_MPEGTS_STREAM_CONTENT_TELETEXT_OR_SUBTITLE = 0x03,
-;;   GST_MPEGTS_STREAM_CONTENT_AC_3                 = 0x04,
-;;   GST_MPEGTS_STREAM_CONTENT_AVC                  = 0x05,
-;;   GST_MPEGTS_STREAM_CONTENT_AAC                  = 0x06,
-;;   GST_MPEGTS_STREAM_CONTENT_DTS                  = 0x07,
-;;   GST_MPEGTS_STREAM_CONTENT_SRM_CPCM             = 0x08
-;; } GstMpegtsComponentStreamContent;
-
-(define-flags-extended MpegtsComponentStreamContent
-  (in-module "Gst")
-  (c-name "GstMpegtsComponentStreamContent")
-  (values
-    '("mpeg2-video" "GST_MPEGTS_STREAM_CONTENT_MPEG2_VIDEO" "0x01")
-    '("mpeg1-layer2-audio" "GST_MPEGTS_STREAM_CONTENT_MPEG1_LAYER2_AUDIO" "0x02")
-    '("teletext-or-subtitle" "GST_MPEGTS_STREAM_CONTENT_TELETEXT_OR_SUBTITLE" "0x03")
-    '("ac-3" "GST_MPEGTS_STREAM_CONTENT_AC_3" "0x04")
-    '("avc" "GST_MPEGTS_STREAM_CONTENT_AVC" "0x05")
-    '("aac" "GST_MPEGTS_STREAM_CONTENT_AAC" "0x06")
-    '("dts" "GST_MPEGTS_STREAM_CONTENT_DTS" "0x07")
-    '("srm-cpcm" "GST_MPEGTS_STREAM_CONTENT_SRM_CPCM" "0x08")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_CONTENT_MOVIE_DRAMA                = 0x01,
-;;   GST_MPEGTS_CONTENT_NEWS_CURRENT_AFFAIRS       = 0x02,
-;;   GST_MPEGTS_CONTENT_SHOW_GAME_SHOW             = 0x03,
-;;   GST_MPEGTS_CONTENT_SPORTS                     = 0x04,
-;;   GST_MPEGTS_CONTENT_CHILDREN_YOUTH_PROGRAM     = 0x05,
-;;   GST_MPEGTS_CONTENT_MUSIC_BALLET_DANCE         = 0x06,
-;;   GST_MPEGTS_CONTENT_ARTS_CULTURE               = 0x07,
-;;   GST_MPEGTS_CONTENT_SOCIAL_POLITICAL_ECONOMICS = 0x08,
-;;   GST_MPEGTS_CONTENT_EDUCATION_SCIENCE_FACTUAL  = 0x09,
-;;   GST_MPEGTS_CONTENT_LEISURE_HOBBIES            = 0x0A,
-;;   GST_MPEGTS_CONTENT_SPECIAL_CHARACTERISTICS    = 0x0B
-;; } GstMpegtsContentNibbleHi;
-
-(define-flags-extended MpegtsContentNibbleHi
-  (in-module "Gst")
-  (c-name "GstMpegtsContentNibbleHi")
-  (values
-    '("movie-drama" "GST_MPEGTS_CONTENT_MOVIE_DRAMA" "0x01")
-    '("news-current-affairs" "GST_MPEGTS_CONTENT_NEWS_CURRENT_AFFAIRS" "0x02")
-    '("show-game-show" "GST_MPEGTS_CONTENT_SHOW_GAME_SHOW" "0x03")
-    '("sports" "GST_MPEGTS_CONTENT_SPORTS" "0x04")
-    '("children-youth-program" "GST_MPEGTS_CONTENT_CHILDREN_YOUTH_PROGRAM" "0x05")
-    '("music-ballet-dance" "GST_MPEGTS_CONTENT_MUSIC_BALLET_DANCE" "0x06")
-    '("arts-culture" "GST_MPEGTS_CONTENT_ARTS_CULTURE" "0x07")
-    '("social-political-economics" "GST_MPEGTS_CONTENT_SOCIAL_POLITICAL_ECONOMICS" "0x08")
-    '("education-science-factual" "GST_MPEGTS_CONTENT_EDUCATION_SCIENCE_FACTUAL" "0x09")
-    '("leisure-hobbies" "GST_MPEGTS_CONTENT_LEISURE_HOBBIES" "0x0A")
-    '("special-characteristics" "GST_MPEGTS_CONTENT_SPECIAL_CHARACTERISTICS" "0x0B")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   INITIAL_PAGE = 0x01,
-;;   SUBTITLE_PAGE,
-;;   ADDITIONAL_INFO_PAGE,
-;;   PROGRAMME_SCHEDULE_PAGE,
-;;   HEARING_IMPAIRED_PAGE
-;; } GstMpegtsDVBTeletextType;
-
-(define-enum-extended MpegtsDVBTeletextType
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBTeletextType")
-  (values
-    '("initial-page" "INITIAL_PAGE" "0x01")
-    '("subtitle-page" "SUBTITLE_PAGE" "2")
-    '("additional-info-page" "ADDITIONAL_INFO_PAGE" "3")
-    '("programme-schedule-page" "PROGRAMME_SCHEDULE_PAGE" "4")
-    '("hearing-impaired-page" "HEARING_IMPAIRED_PAGE" "5")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_TRANSMISSION_MODE_2K = 0,
-;;   GST_MPEGTS_TRANSMISSION_MODE_8K,
-;;   GST_MPEGTS_TRANSMISSION_MODE_AUTO,
-;;   GST_MPEGTS_TRANSMISSION_MODE_4K,
-;;   GST_MPEGTS_TRANSMISSION_MODE_1K,
-;;   GST_MPEGTS_TRANSMISSION_MODE_16K,
-;;   GST_MPEGTS_TRANSMISSION_MODE_32K,
-;;   GST_MPEGTS_TRANSMISSION_MODE_C1,
-;;   GST_MPEGTS_TRANSMISSION_MODE_C3780
-;; } GstMpegtsTerrestrialTransmissionMode;
-
-(define-enum-extended MpegtsTerrestrialTransmissionMode
-  (in-module "Gst")
-  (c-name "GstMpegtsTerrestrialTransmissionMode")
-  (values
-    '("2k" "GST_MPEGTS_TRANSMISSION_MODE_2K" "0")
-    '("8k" "GST_MPEGTS_TRANSMISSION_MODE_8K" "1")
-    '("auto" "GST_MPEGTS_TRANSMISSION_MODE_AUTO" "2")
-    '("4k" "GST_MPEGTS_TRANSMISSION_MODE_4K" "3")
-    '("1k" "GST_MPEGTS_TRANSMISSION_MODE_1K" "4")
-    '("16k" "GST_MPEGTS_TRANSMISSION_MODE_16K" "5")
-    '("32k" "GST_MPEGTS_TRANSMISSION_MODE_32K" "6")
-    '("c1" "GST_MPEGTS_TRANSMISSION_MODE_C1" "7")
-    '("c3780" "GST_MPEGTS_TRANSMISSION_MODE_C3780" "8")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_GUARD_INTERVAL_1_32 = 0,
-;;   GST_MPEGTS_GUARD_INTERVAL_1_16,
-;;   GST_MPEGTS_GUARD_INTERVAL_1_8,
-;;   GST_MPEGTS_GUARD_INTERVAL_1_4,
-;;   GST_MPEGTS_GUARD_INTERVAL_AUTO,
-;;   GST_MPEGTS_GUARD_INTERVAL_1_128,
-;;   GST_MPEGTS_GUARD_INTERVAL_19_128,
-;;   GST_MPEGTS_GUARD_INTERVAL_19_256,
-;;   GST_MPEGTS_GUARD_INTERVAL_PN420,
-;;   GST_MPEGTS_GUARD_INTERVAL_PN595,
-;;   GST_MPEGTS_GUARD_INTERVAL_PN945
-;; } GstMpegtsTerrestrialGuardInterval;
-
-(define-enum-extended MpegtsTerrestrialGuardInterval
-  (in-module "Gst")
-  (c-name "GstMpegtsTerrestrialGuardInterval")
-  (values
-    '("1-32" "GST_MPEGTS_GUARD_INTERVAL_1_32" "0")
-    '("1-16" "GST_MPEGTS_GUARD_INTERVAL_1_16" "1")
-    '("1-8" "GST_MPEGTS_GUARD_INTERVAL_1_8" "2")
-    '("1-4" "GST_MPEGTS_GUARD_INTERVAL_1_4" "3")
-    '("auto" "GST_MPEGTS_GUARD_INTERVAL_AUTO" "4")
-    '("1-128" "GST_MPEGTS_GUARD_INTERVAL_1_128" "5")
-    '("19-128" "GST_MPEGTS_GUARD_INTERVAL_19_128" "6")
-    '("19-256" "GST_MPEGTS_GUARD_INTERVAL_19_256" "7")
-    '("pn420" "GST_MPEGTS_GUARD_INTERVAL_PN420" "8")
-    '("pn595" "GST_MPEGTS_GUARD_INTERVAL_PN595" "9")
-    '("pn945" "GST_MPEGTS_GUARD_INTERVAL_PN945" "10")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_HIERARCHY_NONE = 0,
-;;   GST_MPEGTS_HIERARCHY_1,
-;;   GST_MPEGTS_HIERARCHY_2,
-;;   GST_MPEGTS_HIERARCHY_4,
-;;   GST_MPEGTS_HIERARCHY_AUTO
-;; } GstMpegtsTerrestrialHierarchy;
-
-(define-enum-extended MpegtsTerrestrialHierarchy
-  (in-module "Gst")
-  (c-name "GstMpegtsTerrestrialHierarchy")
-  (values
-    '("none" "GST_MPEGTS_HIERARCHY_NONE" "0")
-    '("1" "GST_MPEGTS_HIERARCHY_1" "1")
-    '("2" "GST_MPEGTS_HIERARCHY_2" "2")
-    '("4" "GST_MPEGTS_HIERARCHY_4" "3")
-    '("auto" "GST_MPEGTS_HIERARCHY_AUTO" "4")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_RESERVED              = 0x00,
-;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA1                  = 0x01,
-;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA2                  = 0x02,
-;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_STANDARD         = 0x03,
-;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_MINIMAL_ENHANCED = 0x04,
-;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_FULL_ENHANCED    = 0x05,
-;;   /* 0x06 - 0x0f reserved for future use */
-;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_CISSA                 = 0x10,
-;;   /* 0x11 - 0x1f reserved for future DVB-CISSA versions */
-;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_0                = 0x70,
-;;   GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_F                = 0x7f,
-;; } GstMpegtsDVBScramblingModeType;
-
-(define-flags-extended MpegtsDVBScramblingModeType
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBScramblingModeType")
-  (values
-    '("reserved" "GST_MPEGTS_DVB_SCRAMBLING_MODE_RESERVED" "0x00")
-    '("csa1" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA1" "0x01")
-    '("csa2" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA2" "0x02")
-    '("csa3-standard" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_STANDARD" "0x03")
-    '("csa3-minimal-enhanced" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_MINIMAL_ENHANCED" "0x04")
-    '("csa3-full-enhanced" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_FULL_ENHANCED" "0x05")
-    '("cissa" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CISSA" "0x10")
-    '("atis-0" "GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_0" "0x70")
-    '("atis-f" "GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_F" "0x7f")
-  )
-)
-
-;; From gst-dvb-section.h
-
-;; Original typedef:
-;; typedef enum {
-;;   /* EN 300 468 (DVB) v 1.12.1 */
-;;   GST_MTS_TABLE_ID_NETWORK_INFORMATION_ACTUAL_NETWORK       = 0x40,
-;;   GST_MTS_TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK        = 0x41,
-;;   GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS    = 0x42,
-;;   GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS             = 0x46,
-;;   GST_MTS_TABLE_ID_BOUQUET_ASSOCIATION                      = 0x4A,
-;;   GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT      = 0x4E,
-;;   GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_PRESENT       = 0x4F,
-;;   GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1   = 0x50,
-;;   GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N   = 0x5F,
-;;   GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_1    = 0x60,
-;;   GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_N    = 0x6F,
-;;   GST_MTS_TABLE_ID_TIME_DATE                                = 0x70,
-;;   GST_MTS_TABLE_ID_RUNNING_STATUS                   = 0x71,
-;;   GST_MTS_TABLE_ID_STUFFING                         = 0x72,
-;;   GST_MTS_TABLE_ID_TIME_OFFSET                              = 0x73,
-;; 
-;;   /* TS 102 812 (MHP v1.1.3) */
-;;   GST_MTS_TABLE_ID_APPLICATION_INFORMATION_TABLE    = 0x74,
-;; 
-;;   /* TS 102 323 (DVB TV Anytime v1.5.1) */
-;;   GST_MTS_TABLE_ID_CONTAINER                                = 0x75,
-;;   GST_MTS_TABLE_ID_RELATED_CONTENT                  = 0x76,
-;;   GST_MTS_TABLE_ID_CONTENT_IDENTIFIER                       = 0x77,
-;;   
-;;   /* EN 301 192 (DVB specification for data broadcasting) */
-;;   GST_MTS_TABLE_ID_MPE_FEC                          = 0x78,
-;; 
-;;   /* TS 102 323 (DVB TV Anytime v1.5.1) */
-;;   GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION          = 0x79,
-;; 
-;;   /* TS 102 772 (DVB-SH Multi-Protocol Encapsulation) */
-;;   GST_MTS_TABLE_ID_MPE_IFEC                         = 0x7A,
-;;   
-;;   /* EN 300 468 (DVB) v 1.12.1 */
-;;   GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION                = 0x7E,
-;;   GST_MTS_TABLE_ID_SELECTION_INFORMATION            = 0x7F,
-;; 
-;;   /* ETR 289 (DVB Support for use of scrambling and CA) */
-;;   GST_MTS_TABLE_ID_CA_MESSAGE_ECM_0                 = 0x80,
-;;   GST_MTS_TABLE_ID_CA_MESSAGE_ECM_1                 = 0x81,
-;;   GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_1              = 0x82,
-;;   GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_N              = 0x8F,
-;; 
-;;   /* ... */
-;; 
-;;   /* EN 301 790 (DVB interaction channel for satellite distribution channels) */
-;;   GST_MTS_TABLE_ID_SCT                                      = 0xA0,
-;;   GST_MTS_TABLE_ID_FCT                                      = 0xA1,
-;;   GST_MTS_TABLE_ID_TCT                                      = 0xA2,
-;;   GST_MTS_TABLE_ID_SPT                                      = 0xA3,
-;;   GST_MTS_TABLE_ID_CMT                                      = 0xA4,
-;;   GST_MTS_TABLE_ID_TBTP                                     = 0xA5,
-;;   GST_MTS_TABLE_ID_PCR_PACKET_PAYLOAD                       = 0xA6,
-;;   GST_MTS_TABLE_ID_TRANSMISSION_MODE_SUPPORT_PAYLOAD        = 0xAA,
-;;   GST_MTS_TABLE_ID_TIM                                      = 0xB0,
-;;   GST_MTS_TABLE_ID_LL_FEC_PARITY_DATA_TABLE         = 0xB1
-;; 
-;; } GstMpegtsSectionDVBTableID;
-
-(define-flags-extended MpegtsSectionDVBTableID
-  (in-module "Gst")
-  (c-name "GstMpegtsSectionDVBTableID")
-  (values
-    '("network-information-actual-network" "GST_MTS_TABLE_ID_NETWORK_INFORMATION_ACTUAL_NETWORK" "0x40")
-    '("network-information-other-network" "GST_MTS_TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK" "0x41")
-    '("service-description-actual-ts" "GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS" "0x42")
-    '("service-description-other-ts" "GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS" "0x46")
-    '("bouquet-association" "GST_MTS_TABLE_ID_BOUQUET_ASSOCIATION" "0x4A")
-    '("event-information-actual-ts-present" "GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT" "0x4E")
-    '("event-information-other-ts-present" "GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_PRESENT" "0x4F")
-    '("event-information-actual-ts-schedule-1" "GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1" 
"0x50")
-    '("event-information-actual-ts-schedule-n" "GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N" 
"0x5F")
-    '("event-information-other-ts-schedule-1" "GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_1" 
"0x60")
-    '("event-information-other-ts-schedule-n" "GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_N" 
"0x6F")
-    '("time-date" "GST_MTS_TABLE_ID_TIME_DATE" "0x70")
-    '("running-status" "GST_MTS_TABLE_ID_RUNNING_STATUS" "0x71")
-    '("stuffing" "GST_MTS_TABLE_ID_STUFFING" "0x72")
-    '("time-offset" "GST_MTS_TABLE_ID_TIME_OFFSET" "0x73")
-    '("application-information-table" "GST_MTS_TABLE_ID_APPLICATION_INFORMATION_TABLE" "0x74")
-    '("container" "GST_MTS_TABLE_ID_CONTAINER" "0x75")
-    '("related-content" "GST_MTS_TABLE_ID_RELATED_CONTENT" "0x76")
-    '("content-identifier" "GST_MTS_TABLE_ID_CONTENT_IDENTIFIER" "0x77")
-    '("mpe-fec" "GST_MTS_TABLE_ID_MPE_FEC" "0x78")
-    '("resolution-notification" "GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION" "0x79")
-    '("mpe-ifec" "GST_MTS_TABLE_ID_MPE_IFEC" "0x7A")
-    '("discontinuity-information" "GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION" "0x7E")
-    '("selection-information" "GST_MTS_TABLE_ID_SELECTION_INFORMATION" "0x7F")
-    '("ca-message-ecm-0" "GST_MTS_TABLE_ID_CA_MESSAGE_ECM_0" "0x80")
-    '("ca-message-ecm-1" "GST_MTS_TABLE_ID_CA_MESSAGE_ECM_1" "0x81")
-    '("ca-message-system-private-1" "GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_1" "0x82")
-    '("ca-message-system-private-n" "GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_N" "0x8F")
-    '("sct" "GST_MTS_TABLE_ID_SCT" "0xA0")
-    '("fct" "GST_MTS_TABLE_ID_FCT" "0xA1")
-    '("tct" "GST_MTS_TABLE_ID_TCT" "0xA2")
-    '("spt" "GST_MTS_TABLE_ID_SPT" "0xA3")
-    '("cmt" "GST_MTS_TABLE_ID_CMT" "0xA4")
-    '("tbtp" "GST_MTS_TABLE_ID_TBTP" "0xA5")
-    '("pcr-packet-payload" "GST_MTS_TABLE_ID_PCR_PACKET_PAYLOAD" "0xA6")
-    '("transmission-mode-support-payload" "GST_MTS_TABLE_ID_TRANSMISSION_MODE_SUPPORT_PAYLOAD" "0xAA")
-    '("tim" "GST_MTS_TABLE_ID_TIM" "0xB0")
-    '("ll-fec-parity-data-table" "GST_MTS_TABLE_ID_LL_FEC_PARITY_DATA_TABLE" "0xB1")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GST_MPEGTS_RUNNING_STATUS_UNDEFINED = 0,
-;;   GST_MPEGTS_RUNNING_STATUS_NOT_RUNNING,
-;;   GST_MPEGTS_RUNNING_STATUS_STARTS_IN_FEW_SECONDS,
-;;   GST_MPEGTS_RUNNING_STATUS_PAUSING,
-;;   GST_MPEGTS_RUNNING_STATUS_RUNNING,
-;;   GST_MPEGTS_RUNNING_STATUS_OFF_AIR
-;; } GstMpegtsRunningStatus;
-
-(define-enum-extended MpegtsRunningStatus
-  (in-module "Gst")
-  (c-name "GstMpegtsRunningStatus")
-  (values
-    '("undefined" "GST_MPEGTS_RUNNING_STATUS_UNDEFINED" "0")
-    '("not-running" "GST_MPEGTS_RUNNING_STATUS_NOT_RUNNING" "1")
-    '("starts-in-few-seconds" "GST_MPEGTS_RUNNING_STATUS_STARTS_IN_FEW_SECONDS" "2")
-    '("pausing" "GST_MPEGTS_RUNNING_STATUS_PAUSING" "3")
-    '("running" "GST_MPEGTS_RUNNING_STATUS_RUNNING" "4")
-    '("off-air" "GST_MPEGTS_RUNNING_STATUS_OFF_AIR" "5")
-  )
-)
-
-;; From gstmpegtsdescriptor.h
-
-;; Original typedef:
-;; typedef enum {
-;;   /* 0-18 ISO/IEC 13818-1 (H222.0 06/2012) */
-;;   GST_MTS_DESC_RESERVED_00                      = 0x00,
-;;   GST_MTS_DESC_RESERVED_01                      = 0x01,
-;;   GST_MTS_DESC_VIDEO_STREAM                     = 0x02,
-;;   GST_MTS_DESC_AUDIO_STREAM                     = 0x03,
-;;   GST_MTS_DESC_HIERARCHY                        = 0x04,
-;;   GST_MTS_DESC_REGISTRATION                     = 0x05,
-;;   GST_MTS_DESC_DATA_STREAM_ALIGNMENT            = 0x06,
-;;   GST_MTS_DESC_TARGET_BACKGROUND_GRID           = 0x07,
-;;   GST_MTS_DESC_VIDEO_WINDOW                     = 0x08,
-;;   GST_MTS_DESC_CA                               = 0x09,
-;;   GST_MTS_DESC_ISO_639_LANGUAGE                 = 0x0A,
-;;   GST_MTS_DESC_SYSTEM_CLOCK                     = 0x0B,
-;;   GST_MTS_DESC_MULTIPLEX_BUFFER_UTILISATION     = 0x0C,
-;;   GST_MTS_DESC_COPYRIGHT                        = 0x0D,
-;;   GST_MTS_DESC_MAXIMUM_BITRATE                  = 0x0E,
-;;   GST_MTS_DESC_PRIVATE_DATA_INDICATOR           = 0x0F,
-;;   GST_MTS_DESC_SMOOTHING_BUFFER                 = 0x10,
-;;   GST_MTS_DESC_STD                              = 0x11,
-;;   GST_MTS_DESC_IBP                              = 0x12,
-;; 
-;;   /* 19-26 Defined in ISO/IEC 13818-6 (Extensions for DSM-CC) */
-;;   GST_MTS_DESC_DSMCC_CAROUSEL_IDENTIFIER        = 0x13,
-;;   GST_MTS_DESC_DSMCC_ASSOCIATION_TAG            = 0x14,
-;;   GST_MTS_DESC_DSMCC_DEFERRED_ASSOCIATION_TAG   = 0x15,
-;;   /* 0x16 is reserved (so far) */
-;;   GST_MTS_DESC_DSMCC_NPT_REFERENCE              = 0x17,
-;;   GST_MTS_DESC_DSMCC_NPT_ENDPOINT               = 0x18,
-;;   GST_MTS_DESC_DSMCC_STREAM_MODE                = 0x19,
-;;   GST_MTS_DESC_DSMCC_STREAM_EVENT               = 0x1A,
-;; 
-;;   /* 27-54 Later additions to ISO/IEC 13818-1 (H222.0 06/2012) */
-;;   GST_MTS_DESC_MPEG4_VIDEO                      = 0x1B,
-;;   GST_MTS_DESC_MPEG4_AUDIO                      = 0x1C,
-;;   GST_MTS_DESC_IOD                              = 0x1D,
-;;   GST_MTS_DESC_SL                               = 0x1E,
-;;   GST_MTS_DESC_FMC                              = 0x1F,
-;;   GST_MTS_DESC_EXTERNAL_ES_ID                   = 0x20,
-;;   GST_MTS_DESC_MUX_CODE                         = 0x21,
-;;   GST_MTS_DESC_FMX_BUFFER_SIZE                  = 0x22,
-;;   GST_MTS_DESC_MULTIPLEX_BUFFER                 = 0x23,
-;;   GST_MTS_DESC_CONTENT_LABELING                 = 0x24,
-;;   GST_MTS_DESC_METADATA_POINTER                 = 0x25,
-;;   GST_MTS_DESC_METADATA                         = 0x26,
-;;   GST_MTS_DESC_METADATA_STD                     = 0x27,
-;;   GST_MTS_DESC_AVC_VIDEO                        = 0x28,
-;;   /* defined in ISO/IEC 13818-11, MPEG-2 IPMP */
-;;   GST_MTS_DESC_IPMP                             = 0x29,
-;;   GST_MTS_DESC_AVC_TIMING_AND_HRD               = 0x2A,
-;;   GST_MTS_DESC_MPEG2_AAC_AUDIO                  = 0x2B,
-;;   GST_MTS_DESC_FLEX_MUX_TIMING                  = 0x2C,
-;;   GST_MTS_DESC_MPEG4_TEXT                       = 0x2D,
-;;   GST_MTS_DESC_MPEG4_AUDIO_EXTENSION            = 0x2E,
-;;   GST_MTS_DESC_AUXILIARY_VIDEO_STREAM           = 0x2F,
-;;   GST_MTS_DESC_SVC_EXTENSION                    = 0x30,
-;;   GST_MTS_DESC_MVC_EXTENSION                    = 0x31,
-;;   GST_MTS_DESC_J2K_VIDEO                        = 0x32,
-;;   GST_MTS_DESC_MVC_OPERATION_POINT              = 0x33,
-;;   GST_MTS_DESC_MPEG2_STEREOSCOPIC_VIDEO_FORMAT  = 0x34,
-;;   GST_MTS_DESC_STEREOSCOPIC_PROGRAM_INFO        = 0x35,
-;;   GST_MTS_DESC_STEREOSCOPIC_VIDEO_INFO          = 0x36,
-;; 
-;;   /* 55-63 ITU-T Rec. H.222.0 | ISO/IEC 13818-1 Reserved */
-;; } GstMpegtsDescriptorType;
-
-(define-flags-extended MpegtsDescriptorType
-  (in-module "Gst")
-  (c-name "GstMpegtsDescriptorType")
-  (values
-    '("reserved-00" "GST_MTS_DESC_RESERVED_00" "0x00")
-    '("reserved-01" "GST_MTS_DESC_RESERVED_01" "0x01")
-    '("video-stream" "GST_MTS_DESC_VIDEO_STREAM" "0x02")
-    '("audio-stream" "GST_MTS_DESC_AUDIO_STREAM" "0x03")
-    '("hierarchy" "GST_MTS_DESC_HIERARCHY" "0x04")
-    '("registration" "GST_MTS_DESC_REGISTRATION" "0x05")
-    '("data-stream-alignment" "GST_MTS_DESC_DATA_STREAM_ALIGNMENT" "0x06")
-    '("target-background-grid" "GST_MTS_DESC_TARGET_BACKGROUND_GRID" "0x07")
-    '("video-window" "GST_MTS_DESC_VIDEO_WINDOW" "0x08")
-    '("ca" "GST_MTS_DESC_CA" "0x09")
-    '("iso-639-language" "GST_MTS_DESC_ISO_639_LANGUAGE" "0x0A")
-    '("system-clock" "GST_MTS_DESC_SYSTEM_CLOCK" "0x0B")
-    '("multiplex-buffer-utilisation" "GST_MTS_DESC_MULTIPLEX_BUFFER_UTILISATION" "0x0C")
-    '("copyright" "GST_MTS_DESC_COPYRIGHT" "0x0D")
-    '("maximum-bitrate" "GST_MTS_DESC_MAXIMUM_BITRATE" "0x0E")
-    '("private-data-indicator" "GST_MTS_DESC_PRIVATE_DATA_INDICATOR" "0x0F")
-    '("smoothing-buffer" "GST_MTS_DESC_SMOOTHING_BUFFER" "0x10")
-    '("std" "GST_MTS_DESC_STD" "0x11")
-    '("ibp" "GST_MTS_DESC_IBP" "0x12")
-    '("dsmcc-carousel-identifier" "GST_MTS_DESC_DSMCC_CAROUSEL_IDENTIFIER" "0x13")
-    '("dsmcc-association-tag" "GST_MTS_DESC_DSMCC_ASSOCIATION_TAG" "0x14")
-    '("dsmcc-deferred-association-tag" "GST_MTS_DESC_DSMCC_DEFERRED_ASSOCIATION_TAG" "0x15")
-    '("dsmcc-npt-reference" "GST_MTS_DESC_DSMCC_NPT_REFERENCE" "0x17")
-    '("dsmcc-npt-endpoint" "GST_MTS_DESC_DSMCC_NPT_ENDPOINT" "0x18")
-    '("dsmcc-stream-mode" "GST_MTS_DESC_DSMCC_STREAM_MODE" "0x19")
-    '("dsmcc-stream-event" "GST_MTS_DESC_DSMCC_STREAM_EVENT" "0x1A")
-    '("mpeg4-video" "GST_MTS_DESC_MPEG4_VIDEO" "0x1B")
-    '("mpeg4-audio" "GST_MTS_DESC_MPEG4_AUDIO" "0x1C")
-    '("iod" "GST_MTS_DESC_IOD" "0x1D")
-    '("sl" "GST_MTS_DESC_SL" "0x1E")
-    '("fmc" "GST_MTS_DESC_FMC" "0x1F")
-    '("external-es-id" "GST_MTS_DESC_EXTERNAL_ES_ID" "0x20")
-    '("mux-code" "GST_MTS_DESC_MUX_CODE" "0x21")
-    '("fmx-buffer-size" "GST_MTS_DESC_FMX_BUFFER_SIZE" "0x22")
-    '("multiplex-buffer" "GST_MTS_DESC_MULTIPLEX_BUFFER" "0x23")
-    '("content-labeling" "GST_MTS_DESC_CONTENT_LABELING" "0x24")
-    '("metadata-pointer" "GST_MTS_DESC_METADATA_POINTER" "0x25")
-    '("metadata" "GST_MTS_DESC_METADATA" "0x26")
-    '("metadata-std" "GST_MTS_DESC_METADATA_STD" "0x27")
-    '("avc-video" "GST_MTS_DESC_AVC_VIDEO" "0x28")
-    '("ipmp" "GST_MTS_DESC_IPMP" "0x29")
-    '("avc-timing-and-hrd" "GST_MTS_DESC_AVC_TIMING_AND_HRD" "0x2A")
-    '("mpeg2-aac-audio" "GST_MTS_DESC_MPEG2_AAC_AUDIO" "0x2B")
-    '("flex-mux-timing" "GST_MTS_DESC_FLEX_MUX_TIMING" "0x2C")
-    '("mpeg4-text" "GST_MTS_DESC_MPEG4_TEXT" "0x2D")
-    '("mpeg4-audio-extension" "GST_MTS_DESC_MPEG4_AUDIO_EXTENSION" "0x2E")
-    '("auxiliary-video-stream" "GST_MTS_DESC_AUXILIARY_VIDEO_STREAM" "0x2F")
-    '("svc-extension" "GST_MTS_DESC_SVC_EXTENSION" "0x30")
-    '("mvc-extension" "GST_MTS_DESC_MVC_EXTENSION" "0x31")
-    '("j2k-video" "GST_MTS_DESC_J2K_VIDEO" "0x32")
-    '("mvc-operation-point" "GST_MTS_DESC_MVC_OPERATION_POINT" "0x33")
-    '("mpeg2-stereoscopic-video-format" "GST_MTS_DESC_MPEG2_STEREOSCOPIC_VIDEO_FORMAT" "0x34")
-    '("stereoscopic-program-info" "GST_MTS_DESC_STEREOSCOPIC_PROGRAM_INFO" "0x35")
-    '("stereoscopic-video-info" "GST_MTS_DESC_STEREOSCOPIC_VIDEO_INFO" "0x36")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   /* 0x80 - 0xFE are user defined */
-;;   GST_MTS_DESC_AC3_AUDIO_STREAM                 = 0x81,
-;;   GST_MTS_DESC_DTG_LOGICAL_CHANNEL              = 0x83,    /* from DTG D-Book */
-;; } GstMpegtsMiscDescriptorType;
-
-(define-flags-extended MpegtsMiscDescriptorType
-  (in-module "Gst")
-  (c-name "GstMpegtsMiscDescriptorType")
-  (values
-    '("ac3-audio-stream" "GST_MTS_DESC_AC3_AUDIO_STREAM" "0x81")
-    '("dtg-logical-channel" "GST_MTS_DESC_DTG_LOGICAL_CHANNEL" "0x83")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   /* ATSC A/65 2009 */
-;;   GST_MTS_DESC_ATSC_STUFFING                    = 0x80,
-;;   GST_MTS_DESC_ATSC_AC3                         = 0x83,
-;;   GST_MTS_DESC_ATSC_CAPTION_SERVICE             = 0x86,
-;;   GST_MTS_DESC_ATSC_CONTENT_ADVISORY            = 0x87,
-;;   GST_MTS_DESC_ATSC_EXTENDED_CHANNEL_NAME       = 0xA0,
-;;   GST_MTS_DESC_ATSC_SERVICE_LOCATION            = 0xA1,
-;;   GST_MTS_DESC_ATSC_TIME_SHIFTED_SERVICE        = 0xA2,
-;;   GST_MTS_DESC_ATSC_COMPONENT_NAME              = 0xA3,
-;;   GST_MTS_DESC_ATSC_DCC_DEPARTING_REQUEST       = 0xA8,
-;;   GST_MTS_DESC_ATSC_DCC_ARRIVING_REQUEST        = 0xA9,
-;;   GST_MTS_DESC_ATSC_REDISTRIBUTION_CONTROL      = 0xAA,
-;;   GST_MTS_DESC_ATSC_GENRE                       = 0xAB,
-;;   GST_MTS_DESC_ATSC_PRIVATE_INFORMATION         = 0xAD,
-;; 
-;;   /* ATSC A/53:3 2009 */
-;;   GST_MTS_DESC_ATSC_ENHANCED_SIGNALING          = 0xB2,
-;; 
-;;   /* ATSC A/90 */
-;;   GST_MTS_DESC_ATSC_DATA_SERVICE                = 0xA4,
-;;   GST_MTS_DESC_ATSC_PID_COUNT                   = 0xA5,
-;;   GST_MTS_DESC_ATSC_DOWNLOAD_DESCRIPTOR         = 0xA6,
-;;   GST_MTS_DESC_ATSC_MULTIPROTOCOL_ENCAPSULATION = 0xA7,
-;;   GST_MTS_DESC_ATSC_MODULE_LINK                 = 0xB4,
-;;   GST_MTS_DESC_ATSC_CRC32                       = 0xB5,
-;;   GST_MTS_DESC_ATSC_GROUP_LINK                  = 0xB8,
-;; } GstMpegtsATSCDescriptorType;
-
-(define-flags-extended MpegtsATSCDescriptorType
-  (in-module "Gst")
-  (c-name "GstMpegtsATSCDescriptorType")
-  (values
-    '("stuffing" "GST_MTS_DESC_ATSC_STUFFING" "0x80")
-    '("ac3" "GST_MTS_DESC_ATSC_AC3" "0x83")
-    '("caption-service" "GST_MTS_DESC_ATSC_CAPTION_SERVICE" "0x86")
-    '("content-advisory" "GST_MTS_DESC_ATSC_CONTENT_ADVISORY" "0x87")
-    '("extended-channel-name" "GST_MTS_DESC_ATSC_EXTENDED_CHANNEL_NAME" "0xA0")
-    '("service-location" "GST_MTS_DESC_ATSC_SERVICE_LOCATION" "0xA1")
-    '("time-shifted-service" "GST_MTS_DESC_ATSC_TIME_SHIFTED_SERVICE" "0xA2")
-    '("component-name" "GST_MTS_DESC_ATSC_COMPONENT_NAME" "0xA3")
-    '("dcc-departing-request" "GST_MTS_DESC_ATSC_DCC_DEPARTING_REQUEST" "0xA8")
-    '("dcc-arriving-request" "GST_MTS_DESC_ATSC_DCC_ARRIVING_REQUEST" "0xA9")
-    '("redistribution-control" "GST_MTS_DESC_ATSC_REDISTRIBUTION_CONTROL" "0xAA")
-    '("genre" "GST_MTS_DESC_ATSC_GENRE" "0xAB")
-    '("private-information" "GST_MTS_DESC_ATSC_PRIVATE_INFORMATION" "0xAD")
-    '("enhanced-signaling" "GST_MTS_DESC_ATSC_ENHANCED_SIGNALING" "0xB2")
-    '("data-service" "GST_MTS_DESC_ATSC_DATA_SERVICE" "0xA4")
-    '("pid-count" "GST_MTS_DESC_ATSC_PID_COUNT" "0xA5")
-    '("download-descriptor" "GST_MTS_DESC_ATSC_DOWNLOAD_DESCRIPTOR" "0xA6")
-    '("multiprotocol-encapsulation" "GST_MTS_DESC_ATSC_MULTIPROTOCOL_ENCAPSULATION" "0xA7")
-    '("module-link" "GST_MTS_DESC_ATSC_MODULE_LINK" "0xB4")
-    '("crc32" "GST_MTS_DESC_ATSC_CRC32" "0xB5")
-    '("group-link" "GST_MTS_DESC_ATSC_GROUP_LINK" "0xB8")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   /* ISDB ARIB B10 v4.6 */
-;;   GST_MTS_DESC_ISDB_HIERARCHICAL_TRANSMISSION   = 0xC0,
-;;   GST_MTS_DESC_ISDB_DIGITAL_COPY_CONTROL        = 0xC1,
-;;   GST_MTS_DESC_ISDB_NETWORK_IDENTIFICATION      = 0xC2,
-;;   GST_MTS_DESC_ISDB_PARTIAL_TS_TIME             = 0xc3,
-;;   GST_MTS_DESC_ISDB_AUDIO_COMPONENT             = 0xc4,
-;;   GST_MTS_DESC_ISDB_HYPERLINK                   = 0xc5,
-;;   GST_MTS_DESC_ISDB_TARGET_REGION               = 0xc6,
-;;   GST_MTS_DESC_ISDB_DATA_CONTENT                = 0xc7,
-;;   GST_MTS_DESC_ISDB_VIDEO_DECODE_CONTROL        = 0xc8,
-;;   GST_MTS_DESC_ISDB_DOWNLOAD_CONTENT            = 0xc9,
-;;   GST_MTS_DESC_ISDB_CA_EMM_TS                   = 0xca,
-;;   GST_MTS_DESC_ISDB_CA_CONTRACT_INFORMATION     = 0xcb,
-;;   GST_MTS_DESC_ISDB_CA_SERVICE                  = 0xcc,
-;;   GST_MTS_DESC_ISDB_TS_INFORMATION              = 0xcd,
-;;   GST_MTS_DESC_ISDB_EXTENDED_BROADCASTER        = 0xce,
-;;   GST_MTS_DESC_ISDB_LOGO_TRANSMISSION           = 0xcf,
-;;   GST_MTS_DESC_ISDB_BASIC_LOCAL_EVENT           = 0xd0,
-;;   GST_MTS_DESC_ISDB_REFERENCE                   = 0xd1,
-;;   GST_MTS_DESC_ISDB_NODE_RELATION               = 0xd2,
-;;   GST_MTS_DESC_ISDB_SHORT_NODE_INFORMATION      = 0xd3,
-;;   GST_MTS_DESC_ISDB_STC_REFERENCE               = 0xd4,
-;;   GST_MTS_DESC_ISDB_SERIES                      = 0xd5,
-;;   GST_MTS_DESC_ISDB_EVENT_GROUP                 = 0xd6,
-;;   GST_MTS_DESC_ISDB_SI_PARAMETER                = 0xd7,
-;;   GST_MTS_DESC_ISDB_BROADCASTER_NAME            = 0xd8,
-;;   GST_MTS_DESC_ISDB_COMPONENT_GROUP             = 0xd9,
-;;   GST_MTS_DESC_ISDB_SI_PRIME_TS                 = 0xda,
-;;   GST_MTS_DESC_ISDB_BOARD_INFORMATION           = 0xdb,
-;;   GST_MTS_DESC_ISDB_LDT_LINKAGE                 = 0xdc,
-;;   GST_MTS_DESC_ISDB_CONNECTED_TRANSMISSION      = 0xdd,
-;;   GST_MTS_DESC_ISDB_CONTENT_AVAILABILITY        = 0xde,
-;;   /* ... */
-;;   GST_MTS_DESC_ISDB_SERVICE_GROUP               = 0xe0
-;;   
-;; } GstMpegtsISDBDescriptorType;
-
-(define-flags-extended MpegtsISDBDescriptorType
-  (in-module "Gst")
-  (c-name "GstMpegtsISDBDescriptorType")
-  (values
-    '("hierarchical-transmission" "GST_MTS_DESC_ISDB_HIERARCHICAL_TRANSMISSION" "0xC0")
-    '("digital-copy-control" "GST_MTS_DESC_ISDB_DIGITAL_COPY_CONTROL" "0xC1")
-    '("network-identification" "GST_MTS_DESC_ISDB_NETWORK_IDENTIFICATION" "0xC2")
-    '("partial-ts-time" "GST_MTS_DESC_ISDB_PARTIAL_TS_TIME" "0xc3")
-    '("audio-component" "GST_MTS_DESC_ISDB_AUDIO_COMPONENT" "0xc4")
-    '("hyperlink" "GST_MTS_DESC_ISDB_HYPERLINK" "0xc5")
-    '("target-region" "GST_MTS_DESC_ISDB_TARGET_REGION" "0xc6")
-    '("data-content" "GST_MTS_DESC_ISDB_DATA_CONTENT" "0xc7")
-    '("video-decode-control" "GST_MTS_DESC_ISDB_VIDEO_DECODE_CONTROL" "0xc8")
-    '("download-content" "GST_MTS_DESC_ISDB_DOWNLOAD_CONTENT" "0xc9")
-    '("ca-emm-ts" "GST_MTS_DESC_ISDB_CA_EMM_TS" "0xca")
-    '("ca-contract-information" "GST_MTS_DESC_ISDB_CA_CONTRACT_INFORMATION" "0xcb")
-    '("ca-service" "GST_MTS_DESC_ISDB_CA_SERVICE" "0xcc")
-    '("ts-information" "GST_MTS_DESC_ISDB_TS_INFORMATION" "0xcd")
-    '("extended-broadcaster" "GST_MTS_DESC_ISDB_EXTENDED_BROADCASTER" "0xce")
-    '("logo-transmission" "GST_MTS_DESC_ISDB_LOGO_TRANSMISSION" "0xcf")
-    '("basic-local-event" "GST_MTS_DESC_ISDB_BASIC_LOCAL_EVENT" "0xd0")
-    '("reference" "GST_MTS_DESC_ISDB_REFERENCE" "0xd1")
-    '("node-relation" "GST_MTS_DESC_ISDB_NODE_RELATION" "0xd2")
-    '("short-node-information" "GST_MTS_DESC_ISDB_SHORT_NODE_INFORMATION" "0xd3")
-    '("stc-reference" "GST_MTS_DESC_ISDB_STC_REFERENCE" "0xd4")
-    '("series" "GST_MTS_DESC_ISDB_SERIES" "0xd5")
-    '("event-group" "GST_MTS_DESC_ISDB_EVENT_GROUP" "0xd6")
-    '("si-parameter" "GST_MTS_DESC_ISDB_SI_PARAMETER" "0xd7")
-    '("broadcaster-name" "GST_MTS_DESC_ISDB_BROADCASTER_NAME" "0xd8")
-    '("component-group" "GST_MTS_DESC_ISDB_COMPONENT_GROUP" "0xd9")
-    '("si-prime-ts" "GST_MTS_DESC_ISDB_SI_PRIME_TS" "0xda")
-    '("board-information" "GST_MTS_DESC_ISDB_BOARD_INFORMATION" "0xdb")
-    '("ldt-linkage" "GST_MTS_DESC_ISDB_LDT_LINKAGE" "0xdc")
-    '("connected-transmission" "GST_MTS_DESC_ISDB_CONNECTED_TRANSMISSION" "0xdd")
-    '("content-availability" "GST_MTS_DESC_ISDB_CONTENT_AVAILABILITY" "0xde")
-    '("service-group" "GST_MTS_DESC_ISDB_SERVICE_GROUP" "0xe0")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_AUDIO_TYPE_UNDEFINED = 0,
-;;   GST_MPEGTS_AUDIO_TYPE_CLEAN_EFFECTS,
-;;   GST_MPEGTS_AUDIO_TYPE_HEARING_IMPAIRED,
-;;   GST_MPEGTS_AUDIO_TYPE_VISUAL_IMPAIRED_COMMENTARY
-;; } GstMpegtsIso639AudioType;
-
-(define-enum-extended MpegtsIso639AudioType
-  (in-module "Gst")
-  (c-name "GstMpegtsIso639AudioType")
-  (values
-    '("undefined" "GST_MPEGTS_AUDIO_TYPE_UNDEFINED" "0")
-    '("clean-effects" "GST_MPEGTS_AUDIO_TYPE_CLEAN_EFFECTS" "1")
-    '("hearing-impaired" "GST_MPEGTS_AUDIO_TYPE_HEARING_IMPAIRED" "2")
-    '("visual-impaired-commentary" "GST_MPEGTS_AUDIO_TYPE_VISUAL_IMPAIRED_COMMENTARY" "3")
-  )
-)
-
-;; From gstmpegtssection.h
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_SECTION_UNKNOWN           = 0,
-;;   GST_MPEGTS_SECTION_PAT, 
-;;   GST_MPEGTS_SECTION_PMT, 
-;;   GST_MPEGTS_SECTION_CAT, 
-;;   GST_MPEGTS_SECTION_TSDT,
-;;   GST_MPEGTS_SECTION_EIT, 
-;;   GST_MPEGTS_SECTION_NIT, 
-;;   GST_MPEGTS_SECTION_BAT, 
-;;   GST_MPEGTS_SECTION_SDT, 
-;;   GST_MPEGTS_SECTION_TDT, 
-;;   GST_MPEGTS_SECTION_TOT,
-;;   GST_MPEGTS_SECTION_ATSC_TVCT,
-;;   GST_MPEGTS_SECTION_ATSC_CVCT,
-;;   GST_MPEGTS_SECTION_ATSC_MGT,
-;;   GST_MPEGTS_SECTION_ATSC_ETT,
-;;   GST_MPEGTS_SECTION_ATSC_EIT,
-;;   GST_MPEGTS_SECTION_ATSC_STT
-;; } GstMpegtsSectionType;
-
-(define-enum-extended MpegtsSectionType
-  (in-module "Gst")
-  (c-name "GstMpegtsSectionType")
-  (values
-    '("unknown" "GST_MPEGTS_SECTION_UNKNOWN" "0")
-    '("pat" "GST_MPEGTS_SECTION_PAT" "1")
-    '("pmt" "GST_MPEGTS_SECTION_PMT" "2")
-    '("cat" "GST_MPEGTS_SECTION_CAT" "3")
-    '("tsdt" "GST_MPEGTS_SECTION_TSDT" "4")
-    '("eit" "GST_MPEGTS_SECTION_EIT" "5")
-    '("nit" "GST_MPEGTS_SECTION_NIT" "6")
-    '("bat" "GST_MPEGTS_SECTION_BAT" "7")
-    '("sdt" "GST_MPEGTS_SECTION_SDT" "8")
-    '("tdt" "GST_MPEGTS_SECTION_TDT" "9")
-    '("tot" "GST_MPEGTS_SECTION_TOT" "10")
-    '("atsc-tvct" "GST_MPEGTS_SECTION_ATSC_TVCT" "11")
-    '("atsc-cvct" "GST_MPEGTS_SECTION_ATSC_CVCT" "12")
-    '("atsc-mgt" "GST_MPEGTS_SECTION_ATSC_MGT" "13")
-    '("atsc-ett" "GST_MPEGTS_SECTION_ATSC_ETT" "14")
-    '("atsc-eit" "GST_MPEGTS_SECTION_ATSC_EIT" "15")
-    '("atsc-stt" "GST_MPEGTS_SECTION_ATSC_STT" "16")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   /* ITU H.222.0 / IEC 13818-1 */
-;;   GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION              = 0x00,
-;;   GST_MTS_TABLE_ID_CONDITIONAL_ACCESS               = 0x01,
-;;   GST_MTS_TABLE_ID_TS_PROGRAM_MAP           = 0x02,
-;;   GST_MTS_TABLE_ID_TS_DESCRIPTION           = 0x03,
-;;   GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION  = 0x04,
-;;   GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR   = 0x05,
-;;   GST_MTS_TABLE_ID_METADATA                 = 0x06,
-;;   GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION = 0x07,
-;; 
-;;   /* 0x08 - 0x39 : ITU H.222.0 | ISO/IEC 13818-1 reserved */
-;; 
-;;   /* IEC 13818-6 (DSM-CC) */
-;;   GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA      = 0x3A,
-;;   GST_MTS_TABLE_ID_DSM_CC_U_N_MESSAGES                      = 0x3B,
-;;   GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES    = 0x3C,
-;;   GST_MTS_TABLE_ID_DSM_CC_STREAM_DESCRIPTORS                = 0x3D,
-;;   GST_MTS_TABLE_ID_DSM_CC_PRIVATE_DATA                      = 0x3E,
-;;   GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS              = 0x3F,
-;; 
-;;   /* Unset */
-;;   GST_MTS_TABLE_ID_UNSET = 0xFF
-;;   
-;; } GstMpegtsSectionTableID;
-
-(define-flags-extended MpegtsSectionTableID
-  (in-module "Gst")
-  (c-name "GstMpegtsSectionTableID")
-  (values
-    '("program-association" "GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION" "0x00")
-    '("conditional-access" "GST_MTS_TABLE_ID_CONDITIONAL_ACCESS" "0x01")
-    '("ts-program-map" "GST_MTS_TABLE_ID_TS_PROGRAM_MAP" "0x02")
-    '("ts-description" "GST_MTS_TABLE_ID_TS_DESCRIPTION" "0x03")
-    '("14496-scene-description" "GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION" "0x04")
-    '("14496-objet-descriptor" "GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR" "0x05")
-    '("metadata" "GST_MTS_TABLE_ID_METADATA" "0x06")
-    '("ipmp-control-information" "GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION" "0x07")
-    '("dsm-cc-multiproto-encapsulated-data" "GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA" "0x3A")
-    '("dsm-cc-u-n-messages" "GST_MTS_TABLE_ID_DSM_CC_U_N_MESSAGES" "0x3B")
-    '("dsm-cc-download-data-messages" "GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES" "0x3C")
-    '("dsm-cc-stream-descriptors" "GST_MTS_TABLE_ID_DSM_CC_STREAM_DESCRIPTORS" "0x3D")
-    '("dsm-cc-private-data" "GST_MTS_TABLE_ID_DSM_CC_PRIVATE_DATA" "0x3E")
-    '("dsm-cc-addressable-sections" "GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS" "0x3F")
-    '("unset" "GST_MTS_TABLE_ID_UNSET" "0xFF")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;;   GST_MPEGTS_STREAM_TYPE_RESERVED_00                  = 0x00,
-;;   GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1                  = 0x01,
-;;   GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2                  = 0x02,
-;;   GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1                  = 0x03,
-;;   GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2                  = 0x04,
-;;   GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS             = 0x05,
-;;   GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS          = 0x06,
-;;   GST_MPEGTS_STREAM_TYPE_MHEG                         = 0x07,
-;;   GST_MPEGTS_STREAM_TYPE_DSM_CC                       = 0x08,
-;;   GST_MPEGTS_STREAM_TYPE_H_222_1                      = 0x09,
-;;   GST_MPEGTS_STREAM_TYPE_DSMCC_A                      = 0x0a,
-;;   GST_MPEGTS_STREAM_TYPE_DSMCC_B                      = 0x0b,
-;;   GST_MPEGTS_STREAM_TYPE_DSMCC_C                      = 0x0c,
-;;   GST_MPEGTS_STREAM_TYPE_DSMCC_D                      = 0x0d,
-;;   GST_MPEGTS_STREAM_TYPE_AUXILIARY                    = 0x0e,
-;;   GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS               = 0x0f,
-;;   GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4                  = 0x10,
-;;   GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM               = 0x11,
-;;   GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS       = 0x12,
-;;   GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS          = 0x13,
-;;   GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD        = 0x14,
-;;   GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS         = 0x15,
-;;   GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS            = 0x16,
-;;   GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL       = 0x17,
-;;   GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL     = 0x18,
-;;   GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD  = 0x19,
-;;   GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP                   = 0x1a,
-;;   GST_MPEGTS_STREAM_TYPE_VIDEO_H264                   = 0x1b,
-;;   GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN              = 0x1c,
-;;   GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT             = 0x1d,
-;;   GST_MPEGTS_STREAM_TYPE_VIDEO_RVC                    = 0x1e,
-;;   GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM = 0x1f,
-;;   GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM = 0x20,
-;;   GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K                   = 0x21,
-;;   GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW = 0x22,
-;;   GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW  = 0x23,
-;;   GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC                   = 0x24,
-;;   /* 0x24 - 0x7e : Rec. ITU-T H.222.0 | ISO/IEC 13818-1 Reserved */
-;;   GST_MPEGTS_STREAM_TYPE_IPMP_STREAM                  = 0x7f
-;;   /* 0x80 - 0xff : User Private (or defined in other specs) */
-;; } GstMpegtsStreamType;
-
-(define-flags-extended MpegtsStreamType
-  (in-module "Gst")
-  (c-name "GstMpegtsStreamType")
-  (values
-    '("reserved-00" "GST_MPEGTS_STREAM_TYPE_RESERVED_00" "0x00")
-    '("video-mpeg1" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1" "0x01")
-    '("video-mpeg2" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2" "0x02")
-    '("audio-mpeg1" "GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1" "0x03")
-    '("audio-mpeg2" "GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2" "0x04")
-    '("private-sections" "GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS" "0x05")
-    '("private-pes-packets" "GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS" "0x06")
-    '("mheg" "GST_MPEGTS_STREAM_TYPE_MHEG" "0x07")
-    '("dsm-cc" "GST_MPEGTS_STREAM_TYPE_DSM_CC" "0x08")
-    '("h-222-1" "GST_MPEGTS_STREAM_TYPE_H_222_1" "0x09")
-    '("dsmcc-a" "GST_MPEGTS_STREAM_TYPE_DSMCC_A" "0x0a")
-    '("dsmcc-b" "GST_MPEGTS_STREAM_TYPE_DSMCC_B" "0x0b")
-    '("dsmcc-c" "GST_MPEGTS_STREAM_TYPE_DSMCC_C" "0x0c")
-    '("dsmcc-d" "GST_MPEGTS_STREAM_TYPE_DSMCC_D" "0x0d")
-    '("auxiliary" "GST_MPEGTS_STREAM_TYPE_AUXILIARY" "0x0e")
-    '("audio-aac-adts" "GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS" "0x0f")
-    '("video-mpeg4" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4" "0x10")
-    '("audio-aac-latm" "GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM" "0x11")
-    '("sl-flexmux-pes-packets" "GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS" "0x12")
-    '("sl-flexmux-sections" "GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS" "0x13")
-    '("synchronized-download" "GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD" "0x14")
-    '("metadata-pes-packets" "GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS" "0x15")
-    '("metadata-sections" "GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS" "0x16")
-    '("metadata-data-carousel" "GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL" "0x17")
-    '("metadata-object-carousel" "GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL" "0x18")
-    '("metadata-synchronized-download" "GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD" "0x19")
-    '("mpeg2-ipmp" "GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP" "0x1a")
-    '("video-h264" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264" "0x1b")
-    '("audio-aac-clean" "GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN" "0x1c")
-    '("mpeg4-timed-text" "GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT" "0x1d")
-    '("video-rvc" "GST_MPEGTS_STREAM_TYPE_VIDEO_RVC" "0x1e")
-    '("video-h264-svc-sub-bitstream" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM" "0x1f")
-    '("video-h264-mvc-sub-bitstream" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM" "0x20")
-    '("video-jp2k" "GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K" "0x21")
-    '("video-mpeg2-stereo-additional-view" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW" 
"0x22")
-    '("video-h264-stereo-additional-view" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW" "0x23")
-    '("video-hevc" "GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC" "0x24")
-    '("ipmp-stream" "GST_MPEGTS_STREAM_TYPE_IPMP_STREAM" "0x7f")
-  )
-)
-
-;; From gst-scte-section.h
-
-;; Original typedef:
-;; typedef enum {
-;; 
-;;   /* 0x01 - 0x82 : defined in other specs */
-;;   GST_MPEGTS_STREAM_TYPE_SCTE_SUBTITLING = 0x82,   /* Subtitling data */
-;;   GST_MPEGTS_STREAM_TYPE_SCTE_ISOCH_DATA = 0x83,   /* Isochronous data */
-;;   /* 0x84 - 0x94 : defined in other specs */
-;;   GST_MPEGTS_STREAM_TYPE_SCTE_DST_NRT    = 0x95,   /* DST / NRT data */
-;;   /* 0x96 - 0xaf : defined in other specs */
-;;   GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB  = 0xb0,   /* Data Carousel Type B */
-;;   /* 0xb1 - 0xbf : User Private (or defined in other specs) */
-;;   GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING  = 0xc0,   /* EBIF Signaling */
-;;   GST_MPEGTS_STREAM_TYPE_SCTE_SYNC_DATA  = 0xc2,   /* Synchronous data */
-;;   GST_MPEGTS_STREAM_TYPE_SCTE_ASYNC_DATA = 0xc3,   /* Asynchronous data */
-;;   /* 0xc4 - 0xff : User Private (or defined in other specs) */
-;; 
-;; } GstMpegtsScteStreamType;
-
-(define-flags-extended MpegtsScteStreamType
-  (in-module "Gst")
-  (c-name "GstMpegtsScteStreamType")
-  (values
-    '("subtitling" "GST_MPEGTS_STREAM_TYPE_SCTE_SUBTITLING" "0x82")
-    '("isoch-data" "GST_MPEGTS_STREAM_TYPE_SCTE_ISOCH_DATA" "0x83")
-    '("dst-nrt" "GST_MPEGTS_STREAM_TYPE_SCTE_DST_NRT" "0x95")
-    '("dsmcc-dcb" "GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB" "0xb0")
-    '("signaling" "GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING" "0xc0")
-    '("sync-data" "GST_MPEGTS_STREAM_TYPE_SCTE_SYNC_DATA" "0xc2")
-    '("async-data" "GST_MPEGTS_STREAM_TYPE_SCTE_ASYNC_DATA" "0xc3")
-  )
-)
-
-;; Original typedef:
-;; typedef enum {
-;; 
-;;   /* 0x01 - 0xd7 : defined in other specs */
-;;   GST_MTS_TABLE_ID_SCTE_EAS      = 0xd8,     /* emergency alert information */
-;;   /* 0xd8 - 0xdf : defined in other specs */
-;;   GST_MTS_TABLE_ID_SCTE_EBIF     = 0xE0,     /* EBIF message */
-;;   GST_MTS_TABLE_ID_SCTE_RESERVED = 0xE1,
-;;   GST_MTS_TABLE_ID_SCTE_EISS     = 0xE2,     /* EBIF Int. Signaling Sect. */
-;;   GST_MTS_TABLE_ID_SCTE_DII      = 0xE3,     /* DSMCC DII message */
-;;   GST_MTS_TABLE_ID_SCTE_DDB      = 0xE4,     /* DSMCC Data Download Block */
-;;   /* 0xe5 - 0xfb : defined in other specs */
-;;   GST_MTS_TABLE_ID_SCTE_SPLICE   = 0xfc,     /* splice information table */
-;; 
-;; } GstMpegtsSectionSCTETableID;
-
-(define-flags-extended MpegtsSectionSCTETableID
-  (in-module "Gst")
-  (c-name "GstMpegtsSectionSCTETableID")
-  (values
-    '("eas" "GST_MTS_TABLE_ID_SCTE_EAS" "0xd8")
-    '("ebif" "GST_MTS_TABLE_ID_SCTE_EBIF" "0xE0")
-    '("reserved" "GST_MTS_TABLE_ID_SCTE_RESERVED" "0xE1")
-    '("eiss" "GST_MTS_TABLE_ID_SCTE_EISS" "0xE2")
-    '("dii" "GST_MTS_TABLE_ID_SCTE_DII" "0xE3")
-    '("ddb" "GST_MTS_TABLE_ID_SCTE_DDB" "0xE4")
-    '("splice" "GST_MTS_TABLE_ID_SCTE_SPLICE" "0xfc")
-  )
-)
-
 ;; Handwritten for the filesink plug-in (Gst::FileSink).
 (define-enum-extended FileSinkBufferMode
   (in-module "Gst")
diff --git a/gstreamer/src/gst_enums.defs.patch b/gstreamer/src/gst_enums.defs.patch
index bcd30c6..864a029 100644
--- a/gstreamer/src/gst_enums.defs.patch
+++ b/gstreamer/src/gst_enums.defs.patch
@@ -1,5 +1,3 @@
-diff --git a/gstreamer/src/gst_enums.defs b/gstreamer/src/gst_enums.defs
-index 5906490..5725103 100644
 --- a/gstreamer/src/gst_enums.defs
 +++ b/gstreamer/src/gst_enums.defs
 @@ -2750,10 +2750,11 @@
diff --git a/gstreamer/src/gst_methods.defs b/gstreamer/src/gst_methods.defs
index 6fd8099..a1b1f75 100644
--- a/gstreamer/src/gst_methods.defs
+++ b/gstreamer/src/gst_methods.defs
@@ -18517,6 +18517,608 @@
 
 
 
+;; From gstharness.h
+
+(define-function gst_harness_new_full
+  (c-name "gst_harness_new_full")
+  (return-type "GstHarness*")
+  (parameters
+    '("GstElement*" "element")
+    '("GstStaticPadTemplate*" "hsrc")
+    '("const-gchar*" "sinkpad")
+    '("GstStaticPadTemplate*" "hsink")
+    '("const-gchar*" "srcpad")
+  )
+)
+
+(define-function gst_harness_new_with_element
+  (c-name "gst_harness_new_with_element")
+  (return-type "GstHarness*")
+  (parameters
+    '("GstElement*" "element")
+    '("const-gchar*" "sinkpad")
+    '("const-gchar*" "srcpad")
+  )
+)
+
+(define-function gst_harness_new_with_padnames
+  (c-name "gst_harness_new_with_padnames")
+  (return-type "GstHarness*")
+  (parameters
+    '("const-gchar*" "element_name")
+    '("const-gchar*" "sinkpad")
+    '("const-gchar*" "srcpad")
+  )
+)
+
+(define-function gst_harness_new_with_templates
+  (c-name "gst_harness_new_with_templates")
+  (return-type "GstHarness*")
+  (parameters
+    '("const-gchar*" "element_name")
+    '("GstStaticPadTemplate*" "hsrc")
+    '("GstStaticPadTemplate*" "hsink")
+  )
+)
+
+(define-function gst_harness_new
+  (c-name "gst_harness_new")
+  (is-constructor-of "GstHarness")
+  (return-type "GstHarness*")
+  (parameters
+    '("const-gchar*" "element_name")
+  )
+)
+
+(define-function gst_harness_new_parse
+  (c-name "gst_harness_new_parse")
+  (return-type "GstHarness*")
+  (parameters
+    '("const-gchar*" "launchline")
+  )
+)
+
+(define-method teardown
+  (of-object "GstHarness")
+  (c-name "gst_harness_teardown")
+  (return-type "none")
+)
+
+(define-method add_element_src_pad
+  (of-object "GstHarness")
+  (c-name "gst_harness_add_element_src_pad")
+  (return-type "none")
+  (parameters
+    '("GstPad*" "srcpad")
+  )
+)
+
+(define-method add_element_sink_pad
+  (of-object "GstHarness")
+  (c-name "gst_harness_add_element_sink_pad")
+  (return-type "none")
+  (parameters
+    '("GstPad*" "sinkpad")
+  )
+)
+
+(define-method set_src_caps
+  (of-object "GstHarness")
+  (c-name "gst_harness_set_src_caps")
+  (return-type "none")
+  (parameters
+    '("GstCaps*" "caps")
+  )
+)
+
+(define-method set_sink_caps
+  (of-object "GstHarness")
+  (c-name "gst_harness_set_sink_caps")
+  (return-type "none")
+  (parameters
+    '("GstCaps*" "caps")
+  )
+)
+
+(define-method set_caps
+  (of-object "GstHarness")
+  (c-name "gst_harness_set_caps")
+  (return-type "none")
+  (parameters
+    '("GstCaps*" "in")
+    '("GstCaps*" "out")
+  )
+)
+
+(define-method set_src_caps_str
+  (of-object "GstHarness")
+  (c-name "gst_harness_set_src_caps_str")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "str")
+  )
+)
+
+(define-method set_sink_caps_str
+  (of-object "GstHarness")
+  (c-name "gst_harness_set_sink_caps_str")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "str")
+  )
+)
+
+(define-method set_caps_str
+  (of-object "GstHarness")
+  (c-name "gst_harness_set_caps_str")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "in")
+    '("const-gchar*" "out")
+  )
+)
+
+(define-method use_systemclock
+  (of-object "GstHarness")
+  (c-name "gst_harness_use_systemclock")
+  (return-type "none")
+)
+
+(define-method use_testclock
+  (of-object "GstHarness")
+  (c-name "gst_harness_use_testclock")
+  (return-type "none")
+)
+
+(define-method get_testclock
+  (of-object "GstHarness")
+  (c-name "gst_harness_get_testclock")
+  (return-type "GstTestClock*")
+)
+
+(define-method set_time
+  (of-object "GstHarness")
+  (c-name "gst_harness_set_time")
+  (return-type "gboolean")
+  (parameters
+    '("GstClockTime" "time")
+  )
+)
+
+(define-method wait_for_clock_id_waits
+  (of-object "GstHarness")
+  (c-name "gst_harness_wait_for_clock_id_waits")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "waits")
+    '("guint" "timeout")
+  )
+)
+
+(define-method crank_single_clock_wait
+  (of-object "GstHarness")
+  (c-name "gst_harness_crank_single_clock_wait")
+  (return-type "gboolean")
+)
+
+(define-method crank_multiple_clock_waits
+  (of-object "GstHarness")
+  (c-name "gst_harness_crank_multiple_clock_waits")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "waits")
+  )
+)
+
+(define-method play
+  (of-object "GstHarness")
+  (c-name "gst_harness_play")
+  (return-type "none")
+)
+
+(define-method set_blocking_push_mode
+  (of-object "GstHarness")
+  (c-name "gst_harness_set_blocking_push_mode")
+  (return-type "none")
+)
+
+(define-method create_buffer
+  (of-object "GstHarness")
+  (c-name "gst_harness_create_buffer")
+  (return-type "GstBuffer*")
+  (parameters
+    '("gsize" "size")
+  )
+)
+
+(define-method push
+  (of-object "GstHarness")
+  (c-name "gst_harness_push")
+  (return-type "GstFlowReturn")
+  (parameters
+    '("GstBuffer*" "buffer")
+  )
+)
+
+(define-method pull
+  (of-object "GstHarness")
+  (c-name "gst_harness_pull")
+  (return-type "GstBuffer*")
+)
+
+(define-method try_pull
+  (of-object "GstHarness")
+  (c-name "gst_harness_try_pull")
+  (return-type "GstBuffer*")
+)
+
+(define-method push_and_pull
+  (of-object "GstHarness")
+  (c-name "gst_harness_push_and_pull")
+  (return-type "GstBuffer*")
+  (parameters
+    '("GstBuffer*" "buffer")
+  )
+)
+
+(define-method buffers_received
+  (of-object "GstHarness")
+  (c-name "gst_harness_buffers_received")
+  (return-type "guint")
+)
+
+(define-method buffers_in_queue
+  (of-object "GstHarness")
+  (c-name "gst_harness_buffers_in_queue")
+  (return-type "guint")
+)
+
+(define-method set_drop_buffers
+  (of-object "GstHarness")
+  (c-name "gst_harness_set_drop_buffers")
+  (return-type "none")
+  (parameters
+    '("gboolean" "drop_buffers")
+  )
+)
+
+(define-method dump_to_file
+  (of-object "GstHarness")
+  (c-name "gst_harness_dump_to_file")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "filename")
+  )
+)
+
+(define-method get_last_pushed_timestamp
+  (of-object "GstHarness")
+  (c-name "gst_harness_get_last_pushed_timestamp")
+  (return-type "GstClockTime")
+)
+
+(define-method push_event
+  (of-object "GstHarness")
+  (c-name "gst_harness_push_event")
+  (return-type "gboolean")
+  (parameters
+    '("GstEvent*" "event")
+  )
+)
+
+(define-method pull_event
+  (of-object "GstHarness")
+  (c-name "gst_harness_pull_event")
+  (return-type "GstEvent*")
+)
+
+(define-method try_pull_event
+  (of-object "GstHarness")
+  (c-name "gst_harness_try_pull_event")
+  (return-type "GstEvent*")
+)
+
+(define-method events_received
+  (of-object "GstHarness")
+  (c-name "gst_harness_events_received")
+  (return-type "guint")
+)
+
+(define-method events_in_queue
+  (of-object "GstHarness")
+  (c-name "gst_harness_events_in_queue")
+  (return-type "guint")
+)
+
+(define-method push_upstream_event
+  (of-object "GstHarness")
+  (c-name "gst_harness_push_upstream_event")
+  (return-type "gboolean")
+  (parameters
+    '("GstEvent*" "event")
+  )
+)
+
+(define-method pull_upstream_event
+  (of-object "GstHarness")
+  (c-name "gst_harness_pull_upstream_event")
+  (return-type "GstEvent*")
+)
+
+(define-method try_pull_upstream_event
+  (of-object "GstHarness")
+  (c-name "gst_harness_try_pull_upstream_event")
+  (return-type "GstEvent*")
+)
+
+(define-method upstream_events_received
+  (of-object "GstHarness")
+  (c-name "gst_harness_upstream_events_received")
+  (return-type "guint")
+)
+
+(define-method upstream_events_in_queue
+  (of-object "GstHarness")
+  (c-name "gst_harness_upstream_events_in_queue")
+  (return-type "guint")
+)
+
+(define-method query_latency
+  (of-object "GstHarness")
+  (c-name "gst_harness_query_latency")
+  (return-type "GstClockTime")
+)
+
+(define-method set_upstream_latency
+  (of-object "GstHarness")
+  (c-name "gst_harness_set_upstream_latency")
+  (return-type "none")
+  (parameters
+    '("GstClockTime" "latency")
+  )
+)
+
+(define-method set_propose_allocator
+  (of-object "GstHarness")
+  (c-name "gst_harness_set_propose_allocator")
+  (return-type "none")
+  (parameters
+    '("GstAllocator*" "allocator")
+    '("const-GstAllocationParams*" "params")
+  )
+)
+
+(define-method get_allocator
+  (of-object "GstHarness")
+  (c-name "gst_harness_get_allocator")
+  (return-type "none")
+  (parameters
+    '("GstAllocator**" "allocator")
+    '("GstAllocationParams*" "params")
+  )
+)
+
+(define-method add_src
+  (of-object "GstHarness")
+  (c-name "gst_harness_add_src")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "src_element_name")
+    '("gboolean" "has_clock_wait")
+  )
+)
+
+(define-method add_src_parse
+  (of-object "GstHarness")
+  (c-name "gst_harness_add_src_parse")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "launchline")
+    '("gboolean" "has_clock_wait")
+  )
+)
+
+(define-method push_from_src
+  (of-object "GstHarness")
+  (c-name "gst_harness_push_from_src")
+  (return-type "GstFlowReturn")
+)
+
+(define-method src_crank_and_push_many
+  (of-object "GstHarness")
+  (c-name "gst_harness_src_crank_and_push_many")
+  (return-type "GstFlowReturn")
+  (parameters
+    '("gint" "cranks")
+    '("gint" "pushes")
+  )
+)
+
+(define-method src_push_event
+  (of-object "GstHarness")
+  (c-name "gst_harness_src_push_event")
+  (return-type "gboolean")
+)
+
+(define-method add_sink
+  (of-object "GstHarness")
+  (c-name "gst_harness_add_sink")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "sink_element_name")
+  )
+)
+
+(define-method add_sink_parse
+  (of-object "GstHarness")
+  (c-name "gst_harness_add_sink_parse")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "launchline")
+  )
+)
+
+(define-method push_to_sink
+  (of-object "GstHarness")
+  (c-name "gst_harness_push_to_sink")
+  (return-type "GstFlowReturn")
+)
+
+(define-method sink_push_many
+  (of-object "GstHarness")
+  (c-name "gst_harness_sink_push_many")
+  (return-type "GstFlowReturn")
+  (parameters
+    '("gint" "pushes")
+  )
+)
+
+(define-method find_element
+  (of-object "GstHarness")
+  (c-name "gst_harness_find_element")
+  (return-type "GstElement*")
+  (parameters
+    '("const-gchar*" "element_name")
+  )
+)
+
+(define-method set
+  (of-object "GstHarness")
+  (c-name "gst_harness_set")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "element_name")
+    '("const-gchar*" "first_property_name")
+  )
+  (varargs #t)
+)
+
+(define-method get
+  (of-object "GstHarness")
+  (c-name "gst_harness_get")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "element_name")
+    '("const-gchar*" "first_property_name")
+  )
+  (varargs #t)
+)
+
+(define-method add_probe
+  (of-object "GstHarness")
+  (c-name "gst_harness_add_probe")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "element_name")
+    '("const-gchar*" "pad_name")
+    '("GstPadProbeType" "mask")
+    '("GstPadProbeCallback" "callback")
+    '("gpointer" "user_data")
+    '("GDestroyNotify" "destroy_data")
+  )
+)
+
+(define-function gst_harness_stress_thread_stop
+  (c-name "gst_harness_stress_thread_stop")
+  (return-type "guint")
+  (parameters
+    '("GstHarnessThread*" "t")
+  )
+)
+
+(define-method stress_custom_start
+  (of-object "GstHarness")
+  (c-name "gst_harness_stress_custom_start")
+  (return-type "GstHarnessThread*")
+  (parameters
+    '("GFunc" "init")
+    '("GFunc" "callback")
+    '("gpointer" "data")
+    '("gulong" "sleep")
+  )
+)
+
+(define-method stress_statechange_start_full
+  (of-object "GstHarness")
+  (c-name "gst_harness_stress_statechange_start_full")
+  (return-type "GstHarnessThread*")
+  (parameters
+    '("gulong" "sleep")
+  )
+)
+
+(define-method stress_push_buffer_start_full
+  (of-object "GstHarness")
+  (c-name "gst_harness_stress_push_buffer_start_full")
+  (return-type "GstHarnessThread*")
+  (parameters
+    '("GstCaps*" "caps")
+    '("const-GstSegment*" "segment")
+    '("GstBuffer*" "buf")
+    '("gulong" "sleep")
+  )
+)
+
+(define-method stress_push_buffer_with_cb_start_full
+  (of-object "GstHarness")
+  (c-name "gst_harness_stress_push_buffer_with_cb_start_full")
+  (return-type "GstHarnessThread*")
+  (parameters
+    '("GstCaps*" "caps")
+    '("const-GstSegment*" "segment")
+    '("GstHarnessPrepareBufferFunc" "func")
+    '("gpointer" "data")
+    '("GDestroyNotify" "notify")
+    '("gulong" "sleep")
+  )
+)
+
+(define-method stress_push_event_start_full
+  (of-object "GstHarness")
+  (c-name "gst_harness_stress_push_event_start_full")
+  (return-type "GstHarnessThread*")
+  (parameters
+    '("GstEvent*" "event")
+    '("gulong" "sleep")
+  )
+)
+
+(define-method stress_push_upstream_event_start_full
+  (of-object "GstHarness")
+  (c-name "gst_harness_stress_push_upstream_event_start_full")
+  (return-type "GstHarnessThread*")
+  (parameters
+    '("GstEvent*" "event")
+    '("gulong" "sleep")
+  )
+)
+
+(define-method stress_property_start_full
+  (of-object "GstHarness")
+  (c-name "gst_harness_stress_property_start_full")
+  (return-type "GstHarnessThread*")
+  (parameters
+    '("const-gchar*" "name")
+    '("const-GValue*" "value")
+    '("gulong" "sleep")
+  )
+)
+
+(define-method stress_requestpad_start_full
+  (of-object "GstHarness")
+  (c-name "gst_harness_stress_requestpad_start_full")
+  (return-type "GstHarnessThread*")
+  (parameters
+    '("GstPadTemplate*" "templ")
+    '("const-gchar*" "name")
+    '("GstCaps*" "caps")
+    '("gboolean" "release")
+    '("gulong" "sleep")
+  )
+)
+
+
+
 ;; From gsttestclock.h
 
 (define-function gst_test_clock_get_type
@@ -35544,6529 +36146,3 @@
 )
 
 
-;; -*- scheme -*-
-; object definitions ...
-(define-object AdaptiveDemux
-  (in-module "Gst")
-  (parent "GstBin")
-  (c-name "GstAdaptiveDemux")
-  (gtype-id "GST_TYPE_ADAPTIVE_DEMUX")
-)
-
-(define-object Aggregator
-  (in-module "Gst")
-  (parent "GstElement")
-  (c-name "GstAggregator")
-  (gtype-id "GST_TYPE_AGGREGATOR")
-)
-
-(define-object AggregatorPad
-  (in-module "Gst")
-  (parent "GstPad")
-  (c-name "GstAggregatorPad")
-  (gtype-id "GST_TYPE_AGGREGATOR_PAD")
-)
-
-(define-object BaseCameraSrc
-  (in-module "Gst")
-  (parent "GstBin")
-  (c-name "GstBaseCameraSrc")
-  (gtype-id "GST_TYPE_BASE_CAMERA_SRC")
-)
-
-(define-object Fragment
-  (in-module "Gst")
-  (parent "GObject")
-  (c-name "GstFragment")
-  (gtype-id "GST_TYPE_FRAGMENT")
-)
-
-(define-object GLBaseBufferAllocator
-  (in-module "Gst")
-  (parent "GstAllocator")
-  (c-name "GstGLBaseBufferAllocator")
-  (gtype-id "GST_TYPE_GL_BASE_BUFFER_ALLOCATOR")
-)
-
-(define-object GLAllocator
-  (in-module "Gst")
-  (parent "GstGLBaseBufferAllocator")
-  (c-name "GstGLAllocator")
-  (gtype-id "GST_TYPE_GL_ALLOCATOR")
-)
-
-(define-object GLBaseFilter
-  (in-module "Gst")
-  (parent "GstBaseTransform")
-  (c-name "GstGLBaseFilter")
-  (gtype-id "GST_TYPE_GL_BASE_FILTER")
-)
-
-(define-object GLBufferPool
-  (in-module "Gst")
-  (parent "GstBufferPool")
-  (c-name "GstGLBufferPool")
-  (gtype-id "GST_TYPE_GL_BUFFER_POOL")
-)
-
-(define-object GLColorConvert
-  (in-module "Gst")
-  (parent "GstObject")
-  (c-name "GstGLColorConvert")
-  (gtype-id "GST_TYPE_GL_COLOR_CONVERT")
-)
-
-(define-object GLContext
-  (in-module "Gst")
-  (parent "GstObject")
-  (c-name "GstGLContext")
-  (gtype-id "GST_TYPE_GL_CONTEXT")
-)
-
-(define-object GLDisplay
-  (in-module "Gst")
-  (parent "GstObject")
-  (c-name "GstGLDisplay")
-  (gtype-id "GST_TYPE_GL_DISPLAY")
-)
-
-(define-object GLDownload
-  (in-module "Gst")
-  (parent "GstObject")
-  (c-name "GstGLDownload")
-  (gtype-id "GST_TYPE_GL_DOWNLOAD")
-)
-
-(define-object GLFilter
-  (in-module "Gst")
-  (parent "GstGLBaseFilter")
-  (c-name "GstGLFilter")
-  (gtype-id "GST_TYPE_GL_FILTER")
-)
-
-(define-object GLFramebuffer
-  (in-module "Gst")
-  (parent "GObject")
-  (c-name "GstGLFramebuffer")
-  (gtype-id "GST_TYPE_GL_FRAMEBUFFER")
-)
-
-(define-object GLShader
-  (in-module "Gst")
-  (parent "GstObject")
-  (c-name "GstGLShader")
-  (gtype-id "GST_TYPE_GL_SHADER")
-)
-
-(define-object GLUpload
-  (in-module "Gst")
-  (parent "GstObject")
-  (c-name "GstGLUpload")
-  (gtype-id "GST_TYPE_GL_UPLOAD")
-)
-
-(define-object GLUploadMeta
-  (in-module "Gst")
-  (parent "GstObject")
-  (c-name "GstGLUploadMeta")
-  (gtype-id "GST_TYPE_GL_UPLOAD_META")
-)
-
-(define-object GLViewConvert
-  (in-module "Gst")
-  (parent "GstObject")
-  (c-name "GstGLViewConvert")
-  (gtype-id "GST_TYPE_GL_VIEW_CONVERT")
-)
-
-(define-object GLWindow
-  (in-module "Gst")
-  (parent "GstObject")
-  (c-name "GstGLWindow")
-  (gtype-id "GST_TYPE_GL_WINDOW")
-)
-
-(define-object InsertBin
-  (in-module "Gst")
-  (parent "GstBin")
-  (c-name "GstInsertBin")
-  (gtype-id "GST_TYPE_INSERT_BIN")
-)
-
-(define-object UriDownloader
-  (in-module "Gst")
-  (parent "GstObject")
-  (c-name "GstUriDownloader")
-  (gtype-id "GST_TYPE_URI_DOWNLOADER")
-)
-
-(define-object VideoAggregator
-  (in-module "Gst")
-  (parent "GstAggregator")
-  (c-name "GstVideoAggregator")
-  (gtype-id "GST_TYPE_VIDEO_AGGREGATOR")
-)
-
-(define-object VideoAggregatorPad
-  (in-module "Gst")
-  (parent "GstAggregatorPad")
-  (c-name "GstVideoAggregatorPad")
-  (gtype-id "GST_TYPE_VIDEO_AGGREGATOR_PAD")
-)
-
-;; Enumerations and flags ...
-
-(define-enum CameraBinMode
-  (in-module "Gst")
-  (c-name "GstCameraBinMode")
-  (gtype-id "GST_TYPE_CAMERA_BIN_MODE")
-  (values
-    '("image" "MODE_IMAGE")
-    '("video" "MODE_VIDEO")
-  )
-)
-
-(define-enum JpegMarker
-  (in-module "Gst")
-  (c-name "GstJpegMarker")
-  (gtype-id "GST_TYPE_JPEG_MARKER")
-  (values
-    '("sof0" "GST_JPEG_MARKER_SOF0")
-    '("sof1" "GST_JPEG_MARKER_SOF1")
-    '("sof2" "GST_JPEG_MARKER_SOF2")
-    '("sof3" "GST_JPEG_MARKER_SOF3")
-    '("sof5" "GST_JPEG_MARKER_SOF5")
-    '("sof6" "GST_JPEG_MARKER_SOF6")
-    '("sof7" "GST_JPEG_MARKER_SOF7")
-    '("sof9" "GST_JPEG_MARKER_SOF9")
-    '("sof10" "GST_JPEG_MARKER_SOF10")
-    '("sof11" "GST_JPEG_MARKER_SOF11")
-    '("sof13" "GST_JPEG_MARKER_SOF13")
-    '("sof14" "GST_JPEG_MARKER_SOF14")
-    '("sof15" "GST_JPEG_MARKER_SOF15")
-    '("dht" "GST_JPEG_MARKER_DHT")
-    '("dac" "GST_JPEG_MARKER_DAC")
-    '("rst0" "GST_JPEG_MARKER_RST0")
-    '("rst1" "GST_JPEG_MARKER_RST1")
-    '("rst2" "GST_JPEG_MARKER_RST2")
-    '("rst3" "GST_JPEG_MARKER_RST3")
-    '("rst4" "GST_JPEG_MARKER_RST4")
-    '("rst5" "GST_JPEG_MARKER_RST5")
-    '("rst6" "GST_JPEG_MARKER_RST6")
-    '("rst7" "GST_JPEG_MARKER_RST7")
-    '("soi" "GST_JPEG_MARKER_SOI")
-    '("eoi" "GST_JPEG_MARKER_EOI")
-    '("sos" "GST_JPEG_MARKER_SOS")
-    '("dqt" "GST_JPEG_MARKER_DQT")
-    '("dnl" "GST_JPEG_MARKER_DNL")
-    '("dri" "GST_JPEG_MARKER_DRI")
-    '("app0" "GST_JPEG_MARKER_APP0")
-    '("app1" "GST_JPEG_MARKER_APP1")
-    '("app2" "GST_JPEG_MARKER_APP2")
-    '("app3" "GST_JPEG_MARKER_APP3")
-    '("app4" "GST_JPEG_MARKER_APP4")
-    '("app5" "GST_JPEG_MARKER_APP5")
-    '("app6" "GST_JPEG_MARKER_APP6")
-    '("app7" "GST_JPEG_MARKER_APP7")
-    '("app8" "GST_JPEG_MARKER_APP8")
-    '("app9" "GST_JPEG_MARKER_APP9")
-    '("app10" "GST_JPEG_MARKER_APP10")
-    '("app11" "GST_JPEG_MARKER_APP11")
-    '("app12" "GST_JPEG_MARKER_APP12")
-    '("app13" "GST_JPEG_MARKER_APP13")
-    '("app14" "GST_JPEG_MARKER_APP14")
-    '("app15" "GST_JPEG_MARKER_APP15")
-    '("com" "GST_JPEG_MARKER_COM")
-  )
-)
-
-(define-enum JpegProfile
-  (in-module "Gst")
-  (c-name "GstJpegProfile")
-  (gtype-id "GST_TYPE_JPEG_PROFILE")
-  (values
-    '("baseline" "GST_JPEG_PROFILE_BASELINE")
-    '("extended" "GST_JPEG_PROFILE_EXTENDED")
-    '("progressive" "GST_JPEG_PROFILE_PROGRESSIVE")
-    '("lossless" "GST_JPEG_PROFILE_LOSSLESS")
-  )
-)
-
-(define-enum JpegEntropyCodingMode
-  (in-module "Gst")
-  (c-name "GstJpegEntropyCodingMode")
-  (gtype-id "GST_TYPE_JPEG_ENTROPY_CODING_MODE")
-  (values
-    '("huffman" "GST_JPEG_ENTROPY_CODING_HUFFMAN")
-    '("arithmetic" "GST_JPEG_ENTROPY_CODING_ARITHMETIC")
-  )
-)
-
-(define-enum MpegVideoPacketTypeCode
-  (in-module "Gst")
-  (c-name "GstMpegVideoPacketTypeCode")
-  (gtype-id "GST_TYPE_MPEG_VIDEO_PACKET_TYPE_CODE")
-  (values
-    '("picture" "GST_MPEG_VIDEO_PACKET_PICTURE")
-    '("slice-min" "GST_MPEG_VIDEO_PACKET_SLICE_MIN")
-    '("slice-max" "GST_MPEG_VIDEO_PACKET_SLICE_MAX")
-    '("user-data" "GST_MPEG_VIDEO_PACKET_USER_DATA")
-    '("sequence" "GST_MPEG_VIDEO_PACKET_SEQUENCE")
-    '("extension" "GST_MPEG_VIDEO_PACKET_EXTENSION")
-    '("sequence-end" "GST_MPEG_VIDEO_PACKET_SEQUENCE_END")
-    '("gop" "GST_MPEG_VIDEO_PACKET_GOP")
-    '("none" "GST_MPEG_VIDEO_PACKET_NONE")
-  )
-)
-
-(define-enum MpegVideoPacketExtensionCode
-  (in-module "Gst")
-  (c-name "GstMpegVideoPacketExtensionCode")
-  (gtype-id "GST_TYPE_MPEG_VIDEO_PACKET_EXTENSION_CODE")
-  (values
-    '("sequence" "GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE")
-    '("sequence-display" "GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_DISPLAY")
-    '("quant-matrix" "GST_MPEG_VIDEO_PACKET_EXT_QUANT_MATRIX")
-    '("sequence-scalable" "GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_SCALABLE")
-    '("picture" "GST_MPEG_VIDEO_PACKET_EXT_PICTURE")
-  )
-)
-
-(define-enum MpegVideoSequenceScalableMode
-  (in-module "Gst")
-  (c-name "GstMpegVideoSequenceScalableMode")
-  (gtype-id "GST_TYPE_MPEG_VIDEO_SEQUENCE_SCALABLE_MODE")
-  (values
-    '("data-partitioning" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_DATA_PARTITIONING")
-    '("spatial" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_SPATIAL")
-    '("snr" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_SNR")
-    '("temporal" "GST_MPEG_VIDEO_SEQ_SCALABLE_MODE_TEMPORAL")
-  )
-)
-
-(define-enum MpegVideoLevel
-  (in-module "Gst")
-  (c-name "GstMpegVideoLevel")
-  (gtype-id "GST_TYPE_MPEG_VIDEO_LEVEL")
-  (values
-    '("high" "GST_MPEG_VIDEO_LEVEL_HIGH")
-    '("high-1440" "GST_MPEG_VIDEO_LEVEL_HIGH_1440")
-    '("main" "GST_MPEG_VIDEO_LEVEL_MAIN")
-    '("low" "GST_MPEG_VIDEO_LEVEL_LOW")
-  )
-)
-
-(define-enum MpegVideoProfile
-  (in-module "Gst")
-  (c-name "GstMpegVideoProfile")
-  (gtype-id "GST_TYPE_MPEG_VIDEO_PROFILE")
-  (values
-    '("422" "GST_MPEG_VIDEO_PROFILE_422")
-    '("high" "GST_MPEG_VIDEO_PROFILE_HIGH")
-    '("spatially-scalable" "GST_MPEG_VIDEO_PROFILE_SPATIALLY_SCALABLE")
-    '("snr-scalable" "GST_MPEG_VIDEO_PROFILE_SNR_SCALABLE")
-    '("main" "GST_MPEG_VIDEO_PROFILE_MAIN")
-    '("simple" "GST_MPEG_VIDEO_PROFILE_SIMPLE")
-  )
-)
-
-(define-enum MpegVideoChromaFormat
-  (in-module "Gst")
-  (c-name "GstMpegVideoChromaFormat")
-  (gtype-id "GST_TYPE_MPEG_VIDEO_CHROMA_FORMAT")
-  (values
-    '("res" "GST_MPEG_VIDEO_CHROMA_RES")
-    '("420" "GST_MPEG_VIDEO_CHROMA_420")
-    '("422" "GST_MPEG_VIDEO_CHROMA_422")
-    '("444" "GST_MPEG_VIDEO_CHROMA_444")
-  )
-)
-
-(define-enum MpegVideoPictureType
-  (in-module "Gst")
-  (c-name "GstMpegVideoPictureType")
-  (gtype-id "GST_TYPE_MPEG_VIDEO_PICTURE_TYPE")
-  (values
-    '("i" "GST_MPEG_VIDEO_PICTURE_TYPE_I")
-    '("p" "GST_MPEG_VIDEO_PICTURE_TYPE_P")
-    '("b" "GST_MPEG_VIDEO_PICTURE_TYPE_B")
-    '("d" "GST_MPEG_VIDEO_PICTURE_TYPE_D")
-  )
-)
-
-(define-enum MpegVideoPictureStructure
-  (in-module "Gst")
-  (c-name "GstMpegVideoPictureStructure")
-  (gtype-id "GST_TYPE_MPEG_VIDEO_PICTURE_STRUCTURE")
-  (values
-    '("top-field" "GST_MPEG_VIDEO_PICTURE_STRUCTURE_TOP_FIELD")
-    '("bottom-field" "GST_MPEG_VIDEO_PICTURE_STRUCTURE_BOTTOM_FIELD")
-    '("frame" "GST_MPEG_VIDEO_PICTURE_STRUCTURE_FRAME")
-  )
-)
-
-(define-flags GLAPI
-  (in-module "Gst")
-  (c-name "GstGLAPI")
-  (gtype-id "GST_TYPE_GLAPI")
-  (values
-    '("none" "GST_GL_API_NONE")
-    '("opengl" "GST_GL_API_OPENGL")
-    '("opengl3" "GST_GL_API_OPENGL3")
-    '("gles1" "GST_GL_API_GLES1")
-    '("gles2" "GST_GL_API_GLES2")
-    '("any" "GST_GL_API_ANY")
-  )
-)
-
-(define-flags GLPlatform
-  (in-module "Gst")
-  (c-name "GstGLPlatform")
-  (gtype-id "GST_TYPE_GL_PLATFORM")
-  (values
-    '("none" "GST_GL_PLATFORM_NONE")
-    '("egl" "GST_GL_PLATFORM_EGL")
-    '("glx" "GST_GL_PLATFORM_GLX")
-    '("wgl" "GST_GL_PLATFORM_WGL")
-    '("cgl" "GST_GL_PLATFORM_CGL")
-    '("eagl" "GST_GL_PLATFORM_EAGL")
-    '("any" "GST_GL_PLATFORM_ANY")
-  )
-)
-
-(define-enum GLBufferError
-  (in-module "Gst")
-  (c-name "GstGLBufferError")
-  (gtype-id "GST_TYPE_GL_BUFFER_ERROR")
-  (values
-    '("failed" "GST_GL_BASE_BUFFER_ERROR_FAILED")
-    '("old-libs" "GST_GL_BASE_BUFFER_ERROR_OLD_LIBS")
-    '("resource-unavailable" "GST_GL_BASE_BUFFER_ERROR_RESOURCE_UNAVAILABLE")
-  )
-)
-
-(define-flags GLBaseBufferFlags
-  (in-module "Gst")
-  (c-name "GstGLBaseBufferFlags")
-  (gtype-id "GST_TYPE_GL_BASE_BUFFER_FLAGS")
-  (values
-    '("download" "GST_GL_BASE_BUFFER_FLAG_NEED_DOWNLOAD")
-    '("upload" "GST_GL_BASE_BUFFER_FLAG_NEED_UPLOAD")
-  )
-)
-
-(define-enum GLContextError
-  (in-module "Gst")
-  (c-name "GstGLContextError")
-  (gtype-id "GST_TYPE_GL_CONTEXT_ERROR")
-  (values
-    '("failed" "GST_GL_CONTEXT_ERROR_FAILED")
-    '("wrong-config" "GST_GL_CONTEXT_ERROR_WRONG_CONFIG")
-    '("wrong-api" "GST_GL_CONTEXT_ERROR_WRONG_API")
-    '("old-libs" "GST_GL_CONTEXT_ERROR_OLD_LIBS")
-    '("create-context" "GST_GL_CONTEXT_ERROR_CREATE_CONTEXT")
-    '("resource-unavailable" "GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE")
-  )
-)
-
-(define-flags GLDisplayType
-  (in-module "Gst")
-  (c-name "GstGLDisplayType")
-  (gtype-id "GST_TYPE_GL_DISPLAY_TYPE")
-  (values
-    '("none" "GST_GL_DISPLAY_TYPE_NONE")
-    '("x11" "GST_GL_DISPLAY_TYPE_X11")
-    '("wayland" "GST_GL_DISPLAY_TYPE_WAYLAND")
-    '("cocoa" "GST_GL_DISPLAY_TYPE_COCOA")
-    '("win32" "GST_GL_DISPLAY_TYPE_WIN32")
-    '("dispmanx" "GST_GL_DISPLAY_TYPE_DISPMANX")
-    '("egl" "GST_GL_DISPLAY_TYPE_EGL")
-    '("any" "GST_GL_DISPLAY_TYPE_ANY")
-  )
-)
-
-(define-enum GLShaderError
-  (in-module "Gst")
-  (c-name "GstGLShaderError")
-  (gtype-id "GST_TYPE_GL_SHADER_ERROR")
-  (values
-    '("compile" "GST_GL_SHADER_ERROR_COMPILE")
-    '("link" "GST_GL_SHADER_ERROR_LINK")
-    '("program" "GST_GL_SHADER_ERROR_PROGRAM")
-  )
-)
-
-(define-enum GLShaderSourceType
-  (in-module "Gst")
-  (c-name "GstGLShaderSourceType")
-  (gtype-id "GST_TYPE_GL_SHADER_SOURCE_TYPE")
-  (values
-    '("fragment-source" "GST_GL_SHADER_FRAGMENT_SOURCE")
-    '("vertex-source" "GST_GL_SHADER_VERTEX_SOURCE")
-  )
-)
-
-(define-enum GLUploadReturn
-  (in-module "Gst")
-  (c-name "GstGLUploadReturn")
-  (gtype-id "GST_TYPE_GL_UPLOAD_RETURN")
-  (values
-    '("done" "GST_GL_UPLOAD_DONE")
-    '("error" "GST_GL_UPLOAD_ERROR")
-    '("unsupported" "GST_GL_UPLOAD_UNSUPPORTED")
-    '("unshared-gl-context" "GST_GL_UPLOAD_UNSHARED_GL_CONTEXT")
-  )
-)
-
-(define-enum GLDisplayProjection
-  (in-module "Gst")
-  (c-name "GstGLDisplayProjection")
-  (gtype-id "GST_TYPE_GL_DISPLAY_PROJECTION")
-  (values
-    '("ortho2d" "GST_GL_DISPLAY_PROJECTION_ORTHO2D")
-    '("perspective" "GST_GL_DISPLAY_PROJECTION_PERSPECTIVE")
-  )
-)
-
-(define-enum GLWindowError
-  (in-module "Gst")
-  (c-name "GstGLWindowError")
-  (gtype-id "GST_TYPE_GL_WINDOW_ERROR")
-  (values
-    '("failed" "GST_GL_WINDOW_ERROR_FAILED")
-    '("old-libs" "GST_GL_WINDOW_ERROR_OLD_LIBS")
-    '("resource-unavailable" "GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE")
-  )
-)
-
-(define-flags PhotographyNoiseReduction
-  (in-module "Gst")
-  (c-name "GstPhotographyNoiseReduction")
-  (gtype-id "GST_TYPE_PHOTOGRAPHY_NOISE_REDUCTION")
-  (values
-    '("bayer" "GST_PHOTOGRAPHY_NOISE_REDUCTION_BAYER")
-    '("ycc" "GST_PHOTOGRAPHY_NOISE_REDUCTION_YCC")
-    '("temporal=" "GST_PHOTOGRAPHY_NOISE_REDUCTION_TEMPORAL=")
-    '("fixed" "GST_PHOTOGRAPHY_NOISE_REDUCTION_FIXED")
-    '("extra" "GST_PHOTOGRAPHY_NOISE_REDUCTION_EXTRA")
-  )
-)
-
-(define-enum PhotographyWhiteBalanceMode
-  (in-module "Gst")
-  (c-name "GstPhotographyWhiteBalanceMode")
-  (gtype-id "GST_TYPE_PHOTOGRAPHY_WHITE_BALANCE_MODE")
-  (values
-    '("auto" "GST_PHOTOGRAPHY_WB_MODE_AUTO")
-    '("daylight" "GST_PHOTOGRAPHY_WB_MODE_DAYLIGHT")
-    '("cloudy" "GST_PHOTOGRAPHY_WB_MODE_CLOUDY")
-    '("sunset" "GST_PHOTOGRAPHY_WB_MODE_SUNSET")
-    '("tungsten" "GST_PHOTOGRAPHY_WB_MODE_TUNGSTEN")
-    '("fluorescent" "GST_PHOTOGRAPHY_WB_MODE_FLUORESCENT")
-    '("manual" "GST_PHOTOGRAPHY_WB_MODE_MANUAL")
-    '("warm-fluorescent" "GST_PHOTOGRAPHY_WB_MODE_WARM_FLUORESCENT")
-    '("shade" "GST_PHOTOGRAPHY_WB_MODE_SHADE")
-  )
-)
-
-(define-enum PhotographyColorToneMode
-  (in-module "Gst")
-  (c-name "GstPhotographyColorToneMode")
-  (gtype-id "GST_TYPE_PHOTOGRAPHY_COLOR_TONE_MODE")
-  (values
-    '("normal" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_NORMAL")
-    '("sepia" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SEPIA")
-    '("negative" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_NEGATIVE")
-    '("grayscale" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRAYSCALE")
-    '("natural" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_NATURAL")
-    '("vivid" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_VIVID")
-    '("colorswap" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_COLORSWAP")
-    '("solarize" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SOLARIZE")
-    '("out-of-focus" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_OUT_OF_FOCUS")
-    '("sky-blue" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKY_BLUE")
-    '("grass-green" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRASS_GREEN")
-    '("skin-whiten" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKIN_WHITEN")
-    '("posterize" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_POSTERIZE")
-    '("whiteboard" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_WHITEBOARD")
-    '("blackboard" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_BLACKBOARD")
-    '("aqua" "GST_PHOTOGRAPHY_COLOR_TONE_MODE_AQUA")
-  )
-)
-
-(define-enum PhotographySceneMode
-  (in-module "Gst")
-  (c-name "GstPhotographySceneMode")
-  (gtype-id "GST_TYPE_PHOTOGRAPHY_SCENE_MODE")
-  (values
-    '("manual" "GST_PHOTOGRAPHY_SCENE_MODE_MANUAL")
-    '("closeup" "GST_PHOTOGRAPHY_SCENE_MODE_CLOSEUP")
-    '("portrait" "GST_PHOTOGRAPHY_SCENE_MODE_PORTRAIT")
-    '("landscape" "GST_PHOTOGRAPHY_SCENE_MODE_LANDSCAPE")
-    '("sport" "GST_PHOTOGRAPHY_SCENE_MODE_SPORT")
-    '("night" "GST_PHOTOGRAPHY_SCENE_MODE_NIGHT")
-    '("auto" "GST_PHOTOGRAPHY_SCENE_MODE_AUTO")
-    '("action" "GST_PHOTOGRAPHY_SCENE_MODE_ACTION")
-    '("night-portrait" "GST_PHOTOGRAPHY_SCENE_MODE_NIGHT_PORTRAIT")
-    '("theatre" "GST_PHOTOGRAPHY_SCENE_MODE_THEATRE")
-    '("beach" "GST_PHOTOGRAPHY_SCENE_MODE_BEACH")
-    '("snow" "GST_PHOTOGRAPHY_SCENE_MODE_SNOW")
-    '("sunset" "GST_PHOTOGRAPHY_SCENE_MODE_SUNSET")
-    '("steady-photo" "GST_PHOTOGRAPHY_SCENE_MODE_STEADY_PHOTO")
-    '("fireworks" "GST_PHOTOGRAPHY_SCENE_MODE_FIREWORKS")
-    '("party" "GST_PHOTOGRAPHY_SCENE_MODE_PARTY")
-    '("candlelight" "GST_PHOTOGRAPHY_SCENE_MODE_CANDLELIGHT")
-    '("barcode" "GST_PHOTOGRAPHY_SCENE_MODE_BARCODE")
-  )
-)
-
-(define-enum PhotographyFlashMode
-  (in-module "Gst")
-  (c-name "GstPhotographyFlashMode")
-  (gtype-id "GST_TYPE_PHOTOGRAPHY_FLASH_MODE")
-  (values
-    '("auto" "GST_PHOTOGRAPHY_FLASH_MODE_AUTO")
-    '("off" "GST_PHOTOGRAPHY_FLASH_MODE_OFF")
-    '("on" "GST_PHOTOGRAPHY_FLASH_MODE_ON")
-    '("fill-in" "GST_PHOTOGRAPHY_FLASH_MODE_FILL_IN")
-    '("red-eye" "GST_PHOTOGRAPHY_FLASH_MODE_RED_EYE")
-  )
-)
-
-(define-enum PhotographyFocusStatus
-  (in-module "Gst")
-  (c-name "GstPhotographyFocusStatus")
-  (gtype-id "GST_TYPE_PHOTOGRAPHY_FOCUS_STATUS")
-  (values
-    '("none" "GST_PHOTOGRAPHY_FOCUS_STATUS_NONE")
-    '("running" "GST_PHOTOGRAPHY_FOCUS_STATUS_RUNNING")
-    '("fail" "GST_PHOTOGRAPHY_FOCUS_STATUS_FAIL")
-    '("success" "GST_PHOTOGRAPHY_FOCUS_STATUS_SUCCESS")
-  )
-)
-
-(define-flags PhotographyCaps
-  (in-module "Gst")
-  (c-name "GstPhotographyCaps")
-  (gtype-id "GST_TYPE_PHOTOGRAPHY_CAPS")
-  (values
-    '("none" "GST_PHOTOGRAPHY_CAPS_NONE")
-    '("ev-comp" "GST_PHOTOGRAPHY_CAPS_EV_COMP")
-    '("iso-speed" "GST_PHOTOGRAPHY_CAPS_ISO_SPEED")
-    '("wb-mode" "GST_PHOTOGRAPHY_CAPS_WB_MODE")
-    '("tone" "GST_PHOTOGRAPHY_CAPS_TONE")
-    '("scene" "GST_PHOTOGRAPHY_CAPS_SCENE")
-    '("flash" "GST_PHOTOGRAPHY_CAPS_FLASH")
-    '("zoom" "GST_PHOTOGRAPHY_CAPS_ZOOM")
-    '("focus" "GST_PHOTOGRAPHY_CAPS_FOCUS")
-    '("aperture" "GST_PHOTOGRAPHY_CAPS_APERTURE")
-    '("exposure" "GST_PHOTOGRAPHY_CAPS_EXPOSURE")
-    '("shake" "GST_PHOTOGRAPHY_CAPS_SHAKE")
-    '("white-balance" "GST_PHOTOGRAPHY_CAPS_WHITE_BALANCE")
-    '("noise-reduction" "GST_PHOTOGRAPHY_CAPS_NOISE_REDUCTION")
-    '("flicker-reduction" "GST_PHOTOGRAPHY_CAPS_FLICKER_REDUCTION")
-    '("all" "GST_PHOTOGRAPHY_CAPS_ALL")
-  )
-)
-
-(define-enum PhotographyShakeRisk
-  (in-module "Gst")
-  (c-name "GstPhotographyShakeRisk")
-  (gtype-id "GST_TYPE_PHOTOGRAPHY_SHAKE_RISK")
-  (values
-    '("low" "GST_PHOTOGRAPHY_SHAKE_RISK_LOW")
-    '("medium" "GST_PHOTOGRAPHY_SHAKE_RISK_MEDIUM")
-    '("high" "GST_PHOTOGRAPHY_SHAKE_RISK_HIGH")
-  )
-)
-
-(define-enum PhotographyFlickerReductionMode
-  (in-module "Gst")
-  (c-name "GstPhotographyFlickerReductionMode")
-  (gtype-id "GST_TYPE_PHOTOGRAPHY_FLICKER_REDUCTION_MODE")
-  (values
-    '("off" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_OFF")
-    '("50hz" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_50HZ")
-    '("60hz" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_60HZ")
-    '("auto" "GST_PHOTOGRAPHY_FLICKER_REDUCTION_AUTO")
-  )
-)
-
-(define-enum PhotographyFocusMode
-  (in-module "Gst")
-  (c-name "GstPhotographyFocusMode")
-  (gtype-id "GST_TYPE_PHOTOGRAPHY_FOCUS_MODE")
-  (values
-    '("auto" "GST_PHOTOGRAPHY_FOCUS_MODE_AUTO")
-    '("macro" "GST_PHOTOGRAPHY_FOCUS_MODE_MACRO")
-    '("portrait" "GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT")
-    '("infinity" "GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY")
-    '("hyperfocal" "GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL")
-    '("extended" "GST_PHOTOGRAPHY_FOCUS_MODE_EXTENDED")
-    '("continuous-normal" "GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL")
-    '("continuous-extended" "GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED")
-    '("manual" "GST_PHOTOGRAPHY_FOCUS_MODE_MANUAL")
-  )
-)
-
-(define-enum PhotographyExposureMode
-  (in-module "Gst")
-  (c-name "GstPhotographyExposureMode")
-  (gtype-id "GST_TYPE_PHOTOGRAPHY_EXPOSURE_MODE")
-  (values
-    '("auto" "GST_PHOTOGRAPHY_EXPOSURE_MODE_AUTO")
-    '("manual" "GST_PHOTOGRAPHY_EXPOSURE_MODE_MANUAL")
-  )
-)
-
-(define-enum MpegtsSectionATSCTableID
-  (in-module "Gst")
-  (c-name "GstMpegtsSectionATSCTableID")
-  (gtype-id "GST_TYPE_MPEGTS_SECTION_ATSC_TABLE_ID")
-  (values
-    '("master-guide" "GST_MTS_TABLE_ID_ATSC_MASTER_GUIDE")
-    '("terrestrial-virtual-channel" "GST_MTS_TABLE_ID_ATSC_TERRESTRIAL_VIRTUAL_CHANNEL")
-    '("cable-virtual-channel" "GST_MTS_TABLE_ID_ATSC_CABLE_VIRTUAL_CHANNEL")
-    '("rating-region" "GST_MTS_TABLE_ID_ATSC_RATING_REGION")
-    '("event-information" "GST_MTS_TABLE_ID_ATSC_EVENT_INFORMATION")
-    '("channel-or-event-extended-text" "GST_MTS_TABLE_ID_ATSC_CHANNEL_OR_EVENT_EXTENDED_TEXT")
-    '("system-time" "GST_MTS_TABLE_ID_ATSC_SYSTEM_TIME")
-    '("data-event" "GST_MTS_TABLE_ID_ATSC_DATA_EVENT")
-    '("data-service" "GST_MTS_TABLE_ID_ATSC_DATA_SERVICE")
-    '("network-resource" "GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE")
-    '("long-term-service" "GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE")
-    '("directed-channel-change" "GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE")
-    '("directed-channel-change-section-code" "GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE_SECTION_CODE")
-    '("aggregate-event-information" "GST_MTS_TABLE_ID_ATSC_AGGREGATE_EVENT_INFORMATION")
-    '("aggregate-extended-text" "GST_MTS_TABLE_ID_ATSC_AGGREGATE_EXTENDED_TEXT")
-    '("aggregate-data-event" "GST_MTS_TABLE_ID_ATSC_AGGREGATE_DATA_EVENT")
-    '("satellite-virtual-channel" "GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL")
-  )
-)
-
-(define-enum MpegtsAtscMGTTableType
-  (in-module "Gst")
-  (c-name "GstMpegtsAtscMGTTableType")
-  (gtype-id "GST_TYPE_MPEGTS_ATSC_MGT_TABLE_TYPE")
-  (values
-    '("eit0" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0")
-    '("eit127" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127")
-    '("ett0" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT0")
-    '("ett127" "GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT127")
-  )
-)
-
-(define-enum MpegtsDVBDescriptorType
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBDescriptorType")
-  (gtype-id "GST_TYPE_MPEGTS_DVB_DESCRIPTOR_TYPE")
-  (values
-    '("network-name" "GST_MTS_DESC_DVB_NETWORK_NAME")
-    '("service-list" "GST_MTS_DESC_DVB_SERVICE_LIST")
-    '("stuffing" "GST_MTS_DESC_DVB_STUFFING")
-    '("satellite-delivery-system" "GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM")
-    '("cable-delivery-system" "GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM")
-    '("vbi-data" "GST_MTS_DESC_DVB_VBI_DATA")
-    '("vbi-teletext" "GST_MTS_DESC_DVB_VBI_TELETEXT")
-    '("bouquet-name" "GST_MTS_DESC_DVB_BOUQUET_NAME")
-    '("service" "GST_MTS_DESC_DVB_SERVICE")
-    '("country-availability" "GST_MTS_DESC_DVB_COUNTRY_AVAILABILITY")
-    '("linkage" "GST_MTS_DESC_DVB_LINKAGE")
-    '("nvod-reference" "GST_MTS_DESC_DVB_NVOD_REFERENCE")
-    '("time-shifted-service" "GST_MTS_DESC_DVB_TIME_SHIFTED_SERVICE")
-    '("short-event" "GST_MTS_DESC_DVB_SHORT_EVENT")
-    '("extended-event" "GST_MTS_DESC_DVB_EXTENDED_EVENT")
-    '("time-shifted-event" "GST_MTS_DESC_DVB_TIME_SHIFTED_EVENT")
-    '("component" "GST_MTS_DESC_DVB_COMPONENT")
-    '("mosaic" "GST_MTS_DESC_DVB_MOSAIC")
-    '("stream-identifier" "GST_MTS_DESC_DVB_STREAM_IDENTIFIER")
-    '("ca-identifier" "GST_MTS_DESC_DVB_CA_IDENTIFIER")
-    '("content" "GST_MTS_DESC_DVB_CONTENT")
-    '("parental-rating" "GST_MTS_DESC_DVB_PARENTAL_RATING")
-    '("teletext" "GST_MTS_DESC_DVB_TELETEXT")
-    '("telephone" "GST_MTS_DESC_DVB_TELEPHONE")
-    '("local-time-offset" "GST_MTS_DESC_DVB_LOCAL_TIME_OFFSET")
-    '("subtitling" "GST_MTS_DESC_DVB_SUBTITLING")
-    '("terrestrial-delivery-system" "GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM")
-    '("multilingual-network-name" "GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME")
-    '("multilingual-bouquet-name" "GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME")
-    '("multilingual-service-name" "GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME")
-    '("multilingual-component" "GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT")
-    '("private-data-specifier" "GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER")
-    '("service-move" "GST_MTS_DESC_DVB_SERVICE_MOVE")
-    '("short-smoothing-buffer" "GST_MTS_DESC_DVB_SHORT_SMOOTHING_BUFFER")
-    '("frequency-list" "GST_MTS_DESC_DVB_FREQUENCY_LIST")
-    '("partial-transport-stream" "GST_MTS_DESC_DVB_PARTIAL_TRANSPORT_STREAM")
-    '("data-broadcast" "GST_MTS_DESC_DVB_DATA_BROADCAST")
-    '("scrambling" "GST_MTS_DESC_DVB_SCRAMBLING")
-    '("data-broadcast-id" "GST_MTS_DESC_DVB_DATA_BROADCAST_ID")
-    '("transport-stream" "GST_MTS_DESC_DVB_TRANSPORT_STREAM")
-    '("dsng" "GST_MTS_DESC_DVB_DSNG")
-    '("pdc" "GST_MTS_DESC_DVB_PDC")
-    '("ac3" "GST_MTS_DESC_DVB_AC3")
-    '("ancillary-data" "GST_MTS_DESC_DVB_ANCILLARY_DATA")
-    '("cell-list" "GST_MTS_DESC_DVB_CELL_LIST")
-    '("cell-frequency-link" "GST_MTS_DESC_DVB_CELL_FREQUENCY_LINK")
-    '("announcement-support" "GST_MTS_DESC_DVB_ANNOUNCEMENT_SUPPORT")
-    '("application-signalling" "GST_MTS_DESC_DVB_APPLICATION_SIGNALLING")
-    '("adaptation-field-data" "GST_MTS_DESC_DVB_ADAPTATION_FIELD_DATA")
-    '("service-identifier" "GST_MTS_DESC_DVB_SERVICE_IDENTIFIER")
-    '("service-availability" "GST_MTS_DESC_DVB_SERVICE_AVAILABILITY")
-    '("default-authority" "GST_MTS_DESC_DVB_DEFAULT_AUTHORITY")
-    '("related-content" "GST_MTS_DESC_DVB_RELATED_CONTENT")
-    '("tva-id" "GST_MTS_DESC_DVB_TVA_ID")
-    '("content-identifier" "GST_MTS_DESC_DVB_CONTENT_IDENTIFIER")
-    '("timeslice-fec-identifier" "GST_MTS_DESC_DVB_TIMESLICE_FEC_IDENTIFIER")
-    '("ecm-repetition-rate" "GST_MTS_DESC_DVB_ECM_REPETITION_RATE")
-    '("s2-satellite-delivery-system" "GST_MTS_DESC_DVB_S2_SATELLITE_DELIVERY_SYSTEM")
-    '("enhanced-ac3" "GST_MTS_DESC_DVB_ENHANCED_AC3")
-    '("dts" "GST_MTS_DESC_DVB_DTS")
-    '("aac" "GST_MTS_DESC_DVB_AAC")
-    '("xait-location" "GST_MTS_DESC_DVB_XAIT_LOCATION")
-    '("fta-content-management" "GST_MTS_DESC_DVB_FTA_CONTENT_MANAGEMENT")
-    '("extension" "GST_MTS_DESC_DVB_EXTENSION")
-  )
-)
-
-(define-enum MpegtsDVBExtendedDescriptorType
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBExtendedDescriptorType")
-  (gtype-id "GST_TYPE_MPEGTS_DVB_EXTENDED_DESCRIPTOR_TYPE")
-  (values
-    '("image-icon" "GST_MTS_DESC_EXT_DVB_IMAGE_ICON")
-    '("cpcm-delivery-signalling" "GST_MTS_DESC_EXT_DVB_CPCM_DELIVERY_SIGNALLING")
-    '("cp" "GST_MTS_DESC_EXT_DVB_CP")
-    '("cp-identifier" "GST_MTS_DESC_EXT_DVB_CP_IDENTIFIER")
-    '("t2-delivery-system" "GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM")
-    '("sh-delivery-system" "GST_MTS_DESC_EXT_DVB_SH_DELIVERY_SYSTEM")
-    '("supplementary-audio" "GST_MTS_DESC_EXT_DVB_SUPPLEMENTARY_AUDIO")
-    '("network-change-notify" "GST_MTS_DESC_EXT_DVB_NETWORK_CHANGE_NOTIFY")
-    '("message" "GST_MTS_DESC_EXT_DVB_MESSAGE")
-    '("target-region" "GST_MTS_DESC_EXT_DVB_TARGET_REGION")
-    '("target-region-name" "GST_MTS_DESC_EXT_DVB_TARGET_REGION_NAME")
-    '("service-relocated" "GST_MTS_DESC_EXT_DVB_SERVICE_RELOCATED")
-    '("xait-pid" "GST_MTS_DESC_EXT_DVB_XAIT_PID")
-    '("c2-delivery-system" "GST_MTS_DESC_EXT_DVB_C2_DELIVERY_SYSTEM")
-    '("dts-hd-audio-stream" "GST_MTS_DESC_EXT_DVB_DTS_HD_AUDIO_STREAM")
-    '("dts-neutral" "GST_MTS_DESC_EXT_DVB_DTS_NEUTRAL")
-    '("video-depth-range" "GST_MTS_DESC_EXT_DVB_VIDEO_DEPTH_RANGE")
-    '("t2mi" "GST_MTS_DESC_EXT_DVB_T2MI")
-    '("uri-linkage" "GST_MTS_DESC_EXT_DVB_URI_LINKAGE")
-  )
-)
-
-(define-enum MpegtsModulationType
-  (in-module "Gst")
-  (c-name "GstMpegtsModulationType")
-  (gtype-id "GST_TYPE_MPEGTS_MODULATION_TYPE")
-  (values
-    '("qpsk" "GST_MPEGTS_MODULATION_QPSK")
-    '("qam-16" "GST_MPEGTS_MODULATION_QAM_16")
-    '("qam-32" "GST_MPEGTS_MODULATION_QAM_32")
-    '("qam-64" "GST_MPEGTS_MODULATION_QAM_64")
-    '("qam-128" "GST_MPEGTS_MODULATION_QAM_128")
-    '("qam-256" "GST_MPEGTS_MODULATION_QAM_256")
-    '("qam-auto" "GST_MPEGTS_MODULATION_QAM_AUTO")
-    '("vsb-8" "GST_MPEGTS_MODULATION_VSB_8")
-    '("vsb-16" "GST_MPEGTS_MODULATION_VSB_16")
-    '("psk-8" "GST_MPEGTS_MODULATION_PSK_8")
-    '("apsk-16" "GST_MPEGTS_MODULATION_APSK_16")
-    '("apsk-32" "GST_MPEGTS_MODULATION_APSK_32")
-    '("dqpsk" "GST_MPEGTS_MODULATION_DQPSK")
-    '("qam-4-nr-" "GST_MPEGTS_MODULATION_QAM_4_NR_")
-    '("none" "GST_MPEGTS_MODULATION_NONE")
-  )
-)
-
-(define-enum MpegtsDVBCodeRate
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBCodeRate")
-  (gtype-id "GST_TYPE_MPEGTS_DVB_CODE_RATE")
-  (values
-    '("none" "GST_MPEGTS_FEC_NONE")
-    '("1-2" "GST_MPEGTS_FEC_1_2")
-    '("2-3" "GST_MPEGTS_FEC_2_3")
-    '("3-4" "GST_MPEGTS_FEC_3_4")
-    '("4-5" "GST_MPEGTS_FEC_4_5")
-    '("5-6" "GST_MPEGTS_FEC_5_6")
-    '("6-7" "GST_MPEGTS_FEC_6_7")
-    '("7-8" "GST_MPEGTS_FEC_7_8")
-    '("8-9" "GST_MPEGTS_FEC_8_9")
-    '("auto" "GST_MPEGTS_FEC_AUTO")
-    '("3-5" "GST_MPEGTS_FEC_3_5")
-    '("9-10" "GST_MPEGTS_FEC_9_10")
-    '("2-5" "GST_MPEGTS_FEC_2_5")
-  )
-)
-
-(define-enum MpegtsSatelliteRolloff
-  (in-module "Gst")
-  (c-name "GstMpegtsSatelliteRolloff")
-  (gtype-id "GST_TYPE_MPEGTS_SATELLITE_ROLLOFF")
-  (values
-    '("35" "GST_MPEGTS_ROLLOFF_35")
-    '("20" "GST_MPEGTS_ROLLOFF_20")
-    '("25" "GST_MPEGTS_ROLLOFF_25")
-    '("reserved" "GST_MPEGTS_ROLLOFF_RESERVED")
-    '("auto" "GST_MPEGTS_ROLLOFF_AUTO")
-  )
-)
-
-(define-enum MpegtsSatellitePolarizationType
-  (in-module "Gst")
-  (c-name "GstMpegtsSatellitePolarizationType")
-  (gtype-id "GST_TYPE_MPEGTS_SATELLITE_POLARIZATION_TYPE")
-  (values
-    '("linear-horizontal" "GST_MPEGTS_POLARIZATION_LINEAR_HORIZONTAL")
-    '("linear-vertical" "GST_MPEGTS_POLARIZATION_LINEAR_VERTICAL")
-    '("circular-left" "GST_MPEGTS_POLARIZATION_CIRCULAR_LEFT")
-    '("circular-right" "GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT")
-  )
-)
-
-(define-enum MpegtsCableOuterFECScheme
-  (in-module "Gst")
-  (c-name "GstMpegtsCableOuterFECScheme")
-  (gtype-id "GST_TYPE_MPEGTS_CABLE_OUTER_FEC_SCHEME")
-  (values
-    '("undefined" "GST_MPEGTS_CABLE_OUTER_FEC_UNDEFINED")
-    '("none" "GST_MPEGTS_CABLE_OUTER_FEC_NONE")
-    '("rs-204-188" "GST_MPEGTS_CABLE_OUTER_FEC_RS_204_188")
-  )
-)
-
-(define-enum MpegtsDVBServiceType
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBServiceType")
-  (gtype-id "GST_TYPE_MPEGTS_DVB_SERVICE_TYPE")
-  (values
-    '("reserved-00" "GST_DVB_SERVICE_RESERVED_00")
-    '("digital-television" "GST_DVB_SERVICE_DIGITAL_TELEVISION")
-    '("digital-radio-sound" "GST_DVB_SERVICE_DIGITAL_RADIO_SOUND")
-    '("teletext" "GST_DVB_SERVICE_TELETEXT")
-    '("nvod-reference" "GST_DVB_SERVICE_NVOD_REFERENCE")
-    '("nvod-time-shifted" "GST_DVB_SERVICE_NVOD_TIME_SHIFTED")
-    '("mosaic" "GST_DVB_SERVICE_MOSAIC")
-    '("fm-radio" "GST_DVB_SERVICE_FM_RADIO")
-    '("dvb-srm" "GST_DVB_SERVICE_DVB_SRM")
-    '("reserved-09" "GST_DVB_SERVICE_RESERVED_09")
-    '("advanced-codec-digital-radio-sound" "GST_DVB_SERVICE_ADVANCED_CODEC_DIGITAL_RADIO_SOUND")
-    '("advanced-codec-mosaic" "GST_DVB_SERVICE_ADVANCED_CODEC_MOSAIC")
-    '("data-broadcast" "GST_DVB_SERVICE_DATA_BROADCAST")
-    '("reserved-0d-common-interface" "GST_DVB_SERVICE_RESERVED_0D_COMMON_INTERFACE")
-    '("rcs-map" "GST_DVB_SERVICE_RCS_MAP")
-    '("rcs-fls" "GST_DVB_SERVICE_RCS_FLS")
-    '("dvb-mhp" "GST_DVB_SERVICE_DVB_MHP")
-    '("mpeg2-hd-digital-television" "GST_DVB_SERVICE_MPEG2_HD_DIGITAL_TELEVISION")
-    '("advanced-codec-sd-digital-television" "GST_DVB_SERVICE_ADVANCED_CODEC_SD_DIGITAL_TELEVISION")
-    '("advanced-codec-sd-nvod-time-shifted" "GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED")
-    '("advanced-codec-sd-nvod-reference" "GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_REFERENCE")
-    '("advanced-codec-hd-digital-television" "GST_DVB_SERVICE_ADVANCED_CODEC_HD_DIGITAL_TELEVISION")
-    '("advanced-codec-hd-nvod-time-shifted" "GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED")
-    '("advanced-codec-hd-nvod-reference" "GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_REFERENCE")
-    '("advanced-codec-stereo-hd-digital-television" 
"GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION")
-    '("advanced-codec-stereo-hd-nvod-time-shifted" 
"GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED")
-    '("advanced-codec-stereo-hd-nvod-reference" "GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE")
-    '("reserved-ff" "GST_DVB_SERVICE_RESERVED_FF")
-  )
-)
-
-(define-enum MpegtsDVBLinkageType
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBLinkageType")
-  (gtype-id "GST_TYPE_MPEGTS_DVB_LINKAGE_TYPE")
-  (values
-    '("reserved-00" "GST_MPEGTS_DVB_LINKAGE_RESERVED_00")
-    '("information" "GST_MPEGTS_DVB_LINKAGE_INFORMATION")
-    '("epg" "GST_MPEGTS_DVB_LINKAGE_EPG")
-    '("ca-replacement" "GST_MPEGTS_DVB_LINKAGE_CA_REPLACEMENT")
-    '("ts-containing-complete-si" "GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_COMPLETE_SI")
-    '("service-replacement" "GST_MPEGTS_DVB_LINKAGE_SERVICE_REPLACEMENT")
-    '("data-broadcast" "GST_MPEGTS_DVB_LINKAGE_DATA_BROADCAST")
-    '("rcs-map" "GST_MPEGTS_DVB_LINKAGE_RCS_MAP")
-    '("mobile-hand-over" "GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER")
-    '("system-software-update" "GST_MPEGTS_DVB_LINKAGE_SYSTEM_SOFTWARE_UPDATE")
-    '("ts-containing-ssu" "GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_SSU")
-    '("ip-mac-notification" "GST_MPEGTS_DVB_LINKAGE_IP_MAC_NOTIFICATION")
-    '("ts-containing-int" "GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_INT")
-    '("event" "GST_MPEGTS_DVB_LINKAGE_EVENT")
-    '("extended-event" "GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT")
-  )
-)
-
-(define-enum MpegtsDVBLinkageHandOverType
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBLinkageHandOverType")
-  (gtype-id "GST_TYPE_MPEGTS_DVB_LINKAGE_HAND_OVER_TYPE")
-  (values
-    '("reserved" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_RESERVED")
-    '("identical" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_IDENTICAL")
-    '("local-variation" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_LOCAL_VARIATION")
-    '("associated" "GST_MPEGTS_DVB_LINKAGE_HAND_OVER_ASSOCIATED")
-  )
-)
-
-(define-enum MpegtsComponentStreamContent
-  (in-module "Gst")
-  (c-name "GstMpegtsComponentStreamContent")
-  (gtype-id "GST_TYPE_MPEGTS_COMPONENT_STREAM_CONTENT")
-  (values
-    '("mpeg2-video" "GST_MPEGTS_STREAM_CONTENT_MPEG2_VIDEO")
-    '("mpeg1-layer2-audio" "GST_MPEGTS_STREAM_CONTENT_MPEG1_LAYER2_AUDIO")
-    '("teletext-or-subtitle" "GST_MPEGTS_STREAM_CONTENT_TELETEXT_OR_SUBTITLE")
-    '("ac-3" "GST_MPEGTS_STREAM_CONTENT_AC_3")
-    '("avc" "GST_MPEGTS_STREAM_CONTENT_AVC")
-    '("aac" "GST_MPEGTS_STREAM_CONTENT_AAC")
-    '("dts" "GST_MPEGTS_STREAM_CONTENT_DTS")
-    '("srm-cpcm" "GST_MPEGTS_STREAM_CONTENT_SRM_CPCM")
-  )
-)
-
-(define-enum MpegtsContentNibbleHi
-  (in-module "Gst")
-  (c-name "GstMpegtsContentNibbleHi")
-  (gtype-id "GST_TYPE_MPEGTS_CONTENT_NIBBLE_HI")
-  (values
-    '("movie-drama" "GST_MPEGTS_CONTENT_MOVIE_DRAMA")
-    '("news-current-affairs" "GST_MPEGTS_CONTENT_NEWS_CURRENT_AFFAIRS")
-    '("show-game-show" "GST_MPEGTS_CONTENT_SHOW_GAME_SHOW")
-    '("sports" "GST_MPEGTS_CONTENT_SPORTS")
-    '("children-youth-program" "GST_MPEGTS_CONTENT_CHILDREN_YOUTH_PROGRAM")
-    '("music-ballet-dance" "GST_MPEGTS_CONTENT_MUSIC_BALLET_DANCE")
-    '("arts-culture" "GST_MPEGTS_CONTENT_ARTS_CULTURE")
-    '("social-political-economics" "GST_MPEGTS_CONTENT_SOCIAL_POLITICAL_ECONOMICS")
-    '("education-science-factual" "GST_MPEGTS_CONTENT_EDUCATION_SCIENCE_FACTUAL")
-    '("leisure-hobbies" "GST_MPEGTS_CONTENT_LEISURE_HOBBIES")
-    '("special-characteristics" "GST_MPEGTS_CONTENT_SPECIAL_CHARACTERISTICS")
-  )
-)
-
-(define-enum MpegtsDVBTeletextType
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBTeletextType")
-  (gtype-id "GST_TYPE_MPEGTS_DVB_TELETEXT_TYPE")
-  (values
-    '("initial-page" "INITIAL_PAGE")
-    '("subtitle-page" "SUBTITLE_PAGE")
-    '("additional-info-page" "ADDITIONAL_INFO_PAGE")
-    '("programme-schedule-page" "PROGRAMME_SCHEDULE_PAGE")
-    '("hearing-impaired-page" "HEARING_IMPAIRED_PAGE")
-  )
-)
-
-(define-enum MpegtsTerrestrialTransmissionMode
-  (in-module "Gst")
-  (c-name "GstMpegtsTerrestrialTransmissionMode")
-  (gtype-id "GST_TYPE_MPEGTS_TERRESTRIAL_TRANSMISSION_MODE")
-  (values
-    '("2k" "GST_MPEGTS_TRANSMISSION_MODE_2K")
-    '("8k" "GST_MPEGTS_TRANSMISSION_MODE_8K")
-    '("auto" "GST_MPEGTS_TRANSMISSION_MODE_AUTO")
-    '("4k" "GST_MPEGTS_TRANSMISSION_MODE_4K")
-    '("1k" "GST_MPEGTS_TRANSMISSION_MODE_1K")
-    '("16k" "GST_MPEGTS_TRANSMISSION_MODE_16K")
-    '("32k" "GST_MPEGTS_TRANSMISSION_MODE_32K")
-    '("c1" "GST_MPEGTS_TRANSMISSION_MODE_C1")
-    '("c3780" "GST_MPEGTS_TRANSMISSION_MODE_C3780")
-  )
-)
-
-(define-enum MpegtsTerrestrialGuardInterval
-  (in-module "Gst")
-  (c-name "GstMpegtsTerrestrialGuardInterval")
-  (gtype-id "GST_TYPE_MPEGTS_TERRESTRIAL_GUARD_INTERVAL")
-  (values
-    '("1-32" "GST_MPEGTS_GUARD_INTERVAL_1_32")
-    '("1-16" "GST_MPEGTS_GUARD_INTERVAL_1_16")
-    '("1-8" "GST_MPEGTS_GUARD_INTERVAL_1_8")
-    '("1-4" "GST_MPEGTS_GUARD_INTERVAL_1_4")
-    '("auto" "GST_MPEGTS_GUARD_INTERVAL_AUTO")
-    '("1-128" "GST_MPEGTS_GUARD_INTERVAL_1_128")
-    '("19-128" "GST_MPEGTS_GUARD_INTERVAL_19_128")
-    '("19-256" "GST_MPEGTS_GUARD_INTERVAL_19_256")
-    '("pn420" "GST_MPEGTS_GUARD_INTERVAL_PN420")
-    '("pn595" "GST_MPEGTS_GUARD_INTERVAL_PN595")
-    '("pn945" "GST_MPEGTS_GUARD_INTERVAL_PN945")
-  )
-)
-
-(define-enum MpegtsTerrestrialHierarchy
-  (in-module "Gst")
-  (c-name "GstMpegtsTerrestrialHierarchy")
-  (gtype-id "GST_TYPE_MPEGTS_TERRESTRIAL_HIERARCHY")
-  (values
-    '("none" "GST_MPEGTS_HIERARCHY_NONE")
-    '("1" "GST_MPEGTS_HIERARCHY_1")
-    '("2" "GST_MPEGTS_HIERARCHY_2")
-    '("4" "GST_MPEGTS_HIERARCHY_4")
-    '("auto" "GST_MPEGTS_HIERARCHY_AUTO")
-  )
-)
-
-(define-enum MpegtsDVBScramblingModeType
-  (in-module "Gst")
-  (c-name "GstMpegtsDVBScramblingModeType")
-  (gtype-id "GST_TYPE_MPEGTS_DVB_SCRAMBLING_MODE_TYPE")
-  (values
-    '("reserved" "GST_MPEGTS_DVB_SCRAMBLING_MODE_RESERVED")
-    '("csa1" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA1")
-    '("csa2" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA2")
-    '("csa3-standard" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_STANDARD")
-    '("csa3-minimal-enhanced" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_MINIMAL_ENHANCED")
-    '("csa3-full-enhanced" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_FULL_ENHANCED")
-    '("cissa" "GST_MPEGTS_DVB_SCRAMBLING_MODE_CISSA")
-    '("atis-0" "GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_0")
-    '("atis-f" "GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_F")
-  )
-)
-
-(define-enum MpegtsSectionDVBTableID
-  (in-module "Gst")
-  (c-name "GstMpegtsSectionDVBTableID")
-  (gtype-id "GST_TYPE_MPEGTS_SECTION_DVB_TABLE_ID")
-  (values
-    '("network-information-actual-network" "GST_MTS_TABLE_ID_NETWORK_INFORMATION_ACTUAL_NETWORK")
-    '("network-information-other-network" "GST_MTS_TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK")
-    '("service-description-actual-ts" "GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS")
-    '("service-description-other-ts" "GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS")
-    '("bouquet-association" "GST_MTS_TABLE_ID_BOUQUET_ASSOCIATION")
-    '("event-information-actual-ts-present" "GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT")
-    '("event-information-other-ts-present" "GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_PRESENT")
-    '("event-information-actual-ts-schedule-1" "GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1")
-    '("event-information-actual-ts-schedule-n" "GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N")
-    '("event-information-other-ts-schedule-1" "GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_1")
-    '("event-information-other-ts-schedule-n" "GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_N")
-    '("time-date" "GST_MTS_TABLE_ID_TIME_DATE")
-    '("running-status" "GST_MTS_TABLE_ID_RUNNING_STATUS")
-    '("stuffing" "GST_MTS_TABLE_ID_STUFFING")
-    '("time-offset" "GST_MTS_TABLE_ID_TIME_OFFSET")
-    '("application-information-table" "GST_MTS_TABLE_ID_APPLICATION_INFORMATION_TABLE")
-    '("container" "GST_MTS_TABLE_ID_CONTAINER")
-    '("related-content" "GST_MTS_TABLE_ID_RELATED_CONTENT")
-    '("content-identifier" "GST_MTS_TABLE_ID_CONTENT_IDENTIFIER")
-    '("mpe-fec" "GST_MTS_TABLE_ID_MPE_FEC")
-    '("resolution-notification" "GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION")
-    '("mpe-ifec" "GST_MTS_TABLE_ID_MPE_IFEC")
-    '("discontinuity-information" "GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION")
-    '("selection-information" "GST_MTS_TABLE_ID_SELECTION_INFORMATION")
-    '("ca-message-ecm-0" "GST_MTS_TABLE_ID_CA_MESSAGE_ECM_0")
-    '("ca-message-ecm-1" "GST_MTS_TABLE_ID_CA_MESSAGE_ECM_1")
-    '("ca-message-system-private-1" "GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_1")
-    '("ca-message-system-private-n" "GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_N")
-    '("sct" "GST_MTS_TABLE_ID_SCT")
-    '("fct" "GST_MTS_TABLE_ID_FCT")
-    '("tct" "GST_MTS_TABLE_ID_TCT")
-    '("spt" "GST_MTS_TABLE_ID_SPT")
-    '("cmt" "GST_MTS_TABLE_ID_CMT")
-    '("tbtp" "GST_MTS_TABLE_ID_TBTP")
-    '("pcr-packet-payload" "GST_MTS_TABLE_ID_PCR_PACKET_PAYLOAD")
-    '("transmission-mode-support-payload" "GST_MTS_TABLE_ID_TRANSMISSION_MODE_SUPPORT_PAYLOAD")
-    '("tim" "GST_MTS_TABLE_ID_TIM")
-    '("ll-fec-parity-data-table" "GST_MTS_TABLE_ID_LL_FEC_PARITY_DATA_TABLE")
-  )
-)
-
-(define-enum MpegtsRunningStatus
-  (in-module "Gst")
-  (c-name "GstMpegtsRunningStatus")
-  (gtype-id "GST_TYPE_MPEGTS_RUNNING_STATUS")
-  (values
-    '("undefined" "GST_MPEGTS_RUNNING_STATUS_UNDEFINED")
-    '("not-running" "GST_MPEGTS_RUNNING_STATUS_NOT_RUNNING")
-    '("starts-in-few-seconds" "GST_MPEGTS_RUNNING_STATUS_STARTS_IN_FEW_SECONDS")
-    '("pausing" "GST_MPEGTS_RUNNING_STATUS_PAUSING")
-    '("running" "GST_MPEGTS_RUNNING_STATUS_RUNNING")
-    '("off-air" "GST_MPEGTS_RUNNING_STATUS_OFF_AIR")
-  )
-)
-
-(define-enum MpegtsDescriptorType
-  (in-module "Gst")
-  (c-name "GstMpegtsDescriptorType")
-  (gtype-id "GST_TYPE_MPEGTS_DESCRIPTOR_TYPE")
-  (values
-    '("reserved-00" "GST_MTS_DESC_RESERVED_00")
-    '("reserved-01" "GST_MTS_DESC_RESERVED_01")
-    '("video-stream" "GST_MTS_DESC_VIDEO_STREAM")
-    '("audio-stream" "GST_MTS_DESC_AUDIO_STREAM")
-    '("hierarchy" "GST_MTS_DESC_HIERARCHY")
-    '("registration" "GST_MTS_DESC_REGISTRATION")
-    '("data-stream-alignment" "GST_MTS_DESC_DATA_STREAM_ALIGNMENT")
-    '("target-background-grid" "GST_MTS_DESC_TARGET_BACKGROUND_GRID")
-    '("video-window" "GST_MTS_DESC_VIDEO_WINDOW")
-    '("ca" "GST_MTS_DESC_CA")
-    '("iso-639-language" "GST_MTS_DESC_ISO_639_LANGUAGE")
-    '("system-clock" "GST_MTS_DESC_SYSTEM_CLOCK")
-    '("multiplex-buffer-utilisation" "GST_MTS_DESC_MULTIPLEX_BUFFER_UTILISATION")
-    '("copyright" "GST_MTS_DESC_COPYRIGHT")
-    '("maximum-bitrate" "GST_MTS_DESC_MAXIMUM_BITRATE")
-    '("private-data-indicator" "GST_MTS_DESC_PRIVATE_DATA_INDICATOR")
-    '("smoothing-buffer" "GST_MTS_DESC_SMOOTHING_BUFFER")
-    '("std" "GST_MTS_DESC_STD")
-    '("ibp" "GST_MTS_DESC_IBP")
-    '("dsmcc-carousel-identifier" "GST_MTS_DESC_DSMCC_CAROUSEL_IDENTIFIER")
-    '("dsmcc-association-tag" "GST_MTS_DESC_DSMCC_ASSOCIATION_TAG")
-    '("dsmcc-deferred-association-tag" "GST_MTS_DESC_DSMCC_DEFERRED_ASSOCIATION_TAG")
-    '("dsmcc-npt-reference" "GST_MTS_DESC_DSMCC_NPT_REFERENCE")
-    '("dsmcc-npt-endpoint" "GST_MTS_DESC_DSMCC_NPT_ENDPOINT")
-    '("dsmcc-stream-mode" "GST_MTS_DESC_DSMCC_STREAM_MODE")
-    '("dsmcc-stream-event" "GST_MTS_DESC_DSMCC_STREAM_EVENT")
-    '("mpeg4-video" "GST_MTS_DESC_MPEG4_VIDEO")
-    '("mpeg4-audio" "GST_MTS_DESC_MPEG4_AUDIO")
-    '("iod" "GST_MTS_DESC_IOD")
-    '("sl" "GST_MTS_DESC_SL")
-    '("fmc" "GST_MTS_DESC_FMC")
-    '("external-es-id" "GST_MTS_DESC_EXTERNAL_ES_ID")
-    '("mux-code" "GST_MTS_DESC_MUX_CODE")
-    '("fmx-buffer-size" "GST_MTS_DESC_FMX_BUFFER_SIZE")
-    '("multiplex-buffer" "GST_MTS_DESC_MULTIPLEX_BUFFER")
-    '("content-labeling" "GST_MTS_DESC_CONTENT_LABELING")
-    '("metadata-pointer" "GST_MTS_DESC_METADATA_POINTER")
-    '("metadata" "GST_MTS_DESC_METADATA")
-    '("metadata-std" "GST_MTS_DESC_METADATA_STD")
-    '("avc-video" "GST_MTS_DESC_AVC_VIDEO")
-    '("ipmp" "GST_MTS_DESC_IPMP")
-    '("avc-timing-and-hrd" "GST_MTS_DESC_AVC_TIMING_AND_HRD")
-    '("mpeg2-aac-audio" "GST_MTS_DESC_MPEG2_AAC_AUDIO")
-    '("flex-mux-timing" "GST_MTS_DESC_FLEX_MUX_TIMING")
-    '("mpeg4-text" "GST_MTS_DESC_MPEG4_TEXT")
-    '("mpeg4-audio-extension" "GST_MTS_DESC_MPEG4_AUDIO_EXTENSION")
-    '("auxiliary-video-stream" "GST_MTS_DESC_AUXILIARY_VIDEO_STREAM")
-    '("svc-extension" "GST_MTS_DESC_SVC_EXTENSION")
-    '("mvc-extension" "GST_MTS_DESC_MVC_EXTENSION")
-    '("j2k-video" "GST_MTS_DESC_J2K_VIDEO")
-    '("mvc-operation-point" "GST_MTS_DESC_MVC_OPERATION_POINT")
-    '("mpeg2-stereoscopic-video-format" "GST_MTS_DESC_MPEG2_STEREOSCOPIC_VIDEO_FORMAT")
-    '("stereoscopic-program-info" "GST_MTS_DESC_STEREOSCOPIC_PROGRAM_INFO")
-    '("stereoscopic-video-info" "GST_MTS_DESC_STEREOSCOPIC_VIDEO_INFO")
-  )
-)
-
-(define-enum MpegtsMiscDescriptorType
-  (in-module "Gst")
-  (c-name "GstMpegtsMiscDescriptorType")
-  (gtype-id "GST_TYPE_MPEGTS_MISC_DESCRIPTOR_TYPE")
-  (values
-    '("ac3-audio-stream" "GST_MTS_DESC_AC3_AUDIO_STREAM")
-    '("dtg-logical-channel" "GST_MTS_DESC_DTG_LOGICAL_CHANNEL")
-  )
-)
-
-(define-enum MpegtsATSCDescriptorType
-  (in-module "Gst")
-  (c-name "GstMpegtsATSCDescriptorType")
-  (gtype-id "GST_TYPE_MPEGTS_ATSC_DESCRIPTOR_TYPE")
-  (values
-    '("stuffing" "GST_MTS_DESC_ATSC_STUFFING")
-    '("ac3" "GST_MTS_DESC_ATSC_AC3")
-    '("caption-service" "GST_MTS_DESC_ATSC_CAPTION_SERVICE")
-    '("content-advisory" "GST_MTS_DESC_ATSC_CONTENT_ADVISORY")
-    '("extended-channel-name" "GST_MTS_DESC_ATSC_EXTENDED_CHANNEL_NAME")
-    '("service-location" "GST_MTS_DESC_ATSC_SERVICE_LOCATION")
-    '("time-shifted-service" "GST_MTS_DESC_ATSC_TIME_SHIFTED_SERVICE")
-    '("component-name" "GST_MTS_DESC_ATSC_COMPONENT_NAME")
-    '("dcc-departing-request" "GST_MTS_DESC_ATSC_DCC_DEPARTING_REQUEST")
-    '("dcc-arriving-request" "GST_MTS_DESC_ATSC_DCC_ARRIVING_REQUEST")
-    '("redistribution-control" "GST_MTS_DESC_ATSC_REDISTRIBUTION_CONTROL")
-    '("genre" "GST_MTS_DESC_ATSC_GENRE")
-    '("private-information" "GST_MTS_DESC_ATSC_PRIVATE_INFORMATION")
-    '("enhanced-signaling" "GST_MTS_DESC_ATSC_ENHANCED_SIGNALING")
-    '("data-service" "GST_MTS_DESC_ATSC_DATA_SERVICE")
-    '("pid-count" "GST_MTS_DESC_ATSC_PID_COUNT")
-    '("download-descriptor" "GST_MTS_DESC_ATSC_DOWNLOAD_DESCRIPTOR")
-    '("multiprotocol-encapsulation" "GST_MTS_DESC_ATSC_MULTIPROTOCOL_ENCAPSULATION")
-    '("module-link" "GST_MTS_DESC_ATSC_MODULE_LINK")
-    '("crc32" "GST_MTS_DESC_ATSC_CRC32")
-    '("group-link" "GST_MTS_DESC_ATSC_GROUP_LINK")
-  )
-)
-
-(define-enum MpegtsISDBDescriptorType
-  (in-module "Gst")
-  (c-name "GstMpegtsISDBDescriptorType")
-  (gtype-id "GST_TYPE_MPEGTS_ISDB_DESCRIPTOR_TYPE")
-  (values
-    '("hierarchical-transmission" "GST_MTS_DESC_ISDB_HIERARCHICAL_TRANSMISSION")
-    '("digital-copy-control" "GST_MTS_DESC_ISDB_DIGITAL_COPY_CONTROL")
-    '("network-identification" "GST_MTS_DESC_ISDB_NETWORK_IDENTIFICATION")
-    '("partial-ts-time" "GST_MTS_DESC_ISDB_PARTIAL_TS_TIME")
-    '("audio-component" "GST_MTS_DESC_ISDB_AUDIO_COMPONENT")
-    '("hyperlink" "GST_MTS_DESC_ISDB_HYPERLINK")
-    '("target-region" "GST_MTS_DESC_ISDB_TARGET_REGION")
-    '("data-content" "GST_MTS_DESC_ISDB_DATA_CONTENT")
-    '("video-decode-control" "GST_MTS_DESC_ISDB_VIDEO_DECODE_CONTROL")
-    '("download-content" "GST_MTS_DESC_ISDB_DOWNLOAD_CONTENT")
-    '("ca-emm-ts" "GST_MTS_DESC_ISDB_CA_EMM_TS")
-    '("ca-contract-information" "GST_MTS_DESC_ISDB_CA_CONTRACT_INFORMATION")
-    '("ca-service" "GST_MTS_DESC_ISDB_CA_SERVICE")
-    '("ts-information" "GST_MTS_DESC_ISDB_TS_INFORMATION")
-    '("extended-broadcaster" "GST_MTS_DESC_ISDB_EXTENDED_BROADCASTER")
-    '("logo-transmission" "GST_MTS_DESC_ISDB_LOGO_TRANSMISSION")
-    '("basic-local-event" "GST_MTS_DESC_ISDB_BASIC_LOCAL_EVENT")
-    '("reference" "GST_MTS_DESC_ISDB_REFERENCE")
-    '("node-relation" "GST_MTS_DESC_ISDB_NODE_RELATION")
-    '("short-node-information" "GST_MTS_DESC_ISDB_SHORT_NODE_INFORMATION")
-    '("stc-reference" "GST_MTS_DESC_ISDB_STC_REFERENCE")
-    '("series" "GST_MTS_DESC_ISDB_SERIES")
-    '("event-group" "GST_MTS_DESC_ISDB_EVENT_GROUP")
-    '("si-parameter" "GST_MTS_DESC_ISDB_SI_PARAMETER")
-    '("broadcaster-name" "GST_MTS_DESC_ISDB_BROADCASTER_NAME")
-    '("component-group" "GST_MTS_DESC_ISDB_COMPONENT_GROUP")
-    '("si-prime-ts" "GST_MTS_DESC_ISDB_SI_PRIME_TS")
-    '("board-information" "GST_MTS_DESC_ISDB_BOARD_INFORMATION")
-    '("ldt-linkage" "GST_MTS_DESC_ISDB_LDT_LINKAGE")
-    '("connected-transmission" "GST_MTS_DESC_ISDB_CONNECTED_TRANSMISSION")
-    '("content-availability" "GST_MTS_DESC_ISDB_CONTENT_AVAILABILITY")
-    '("service-group" "GST_MTS_DESC_ISDB_SERVICE_GROUP")
-  )
-)
-
-(define-enum MpegtsSectionType
-  (in-module "Gst")
-  (c-name "GstMpegtsSectionType")
-  (gtype-id "GST_TYPE_MPEGTS_SECTION_TYPE")
-  (values
-    '("unknown" "GST_MPEGTS_SECTION_UNKNOWN")
-    '("pat" "GST_MPEGTS_SECTION_PAT")
-    '("pmt" "GST_MPEGTS_SECTION_PMT")
-    '("cat" "GST_MPEGTS_SECTION_CAT")
-    '("tsdt" "GST_MPEGTS_SECTION_TSDT")
-    '("eit" "GST_MPEGTS_SECTION_EIT")
-    '("nit" "GST_MPEGTS_SECTION_NIT")
-    '("bat" "GST_MPEGTS_SECTION_BAT")
-    '("sdt" "GST_MPEGTS_SECTION_SDT")
-    '("tdt" "GST_MPEGTS_SECTION_TDT")
-    '("tot" "GST_MPEGTS_SECTION_TOT")
-    '("atsc-tvct" "GST_MPEGTS_SECTION_ATSC_TVCT")
-    '("atsc-cvct" "GST_MPEGTS_SECTION_ATSC_CVCT")
-    '("atsc-mgt" "GST_MPEGTS_SECTION_ATSC_MGT")
-    '("atsc-ett" "GST_MPEGTS_SECTION_ATSC_ETT")
-    '("atsc-eit" "GST_MPEGTS_SECTION_ATSC_EIT")
-    '("atsc-stt" "GST_MPEGTS_SECTION_ATSC_STT")
-  )
-)
-
-(define-enum MpegtsSectionTableID
-  (in-module "Gst")
-  (c-name "GstMpegtsSectionTableID")
-  (gtype-id "GST_TYPE_MPEGTS_SECTION_TABLE_ID")
-  (values
-    '("program-association" "GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION")
-    '("conditional-access" "GST_MTS_TABLE_ID_CONDITIONAL_ACCESS")
-    '("ts-program-map" "GST_MTS_TABLE_ID_TS_PROGRAM_MAP")
-    '("ts-description" "GST_MTS_TABLE_ID_TS_DESCRIPTION")
-    '("14496-scene-description" "GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION")
-    '("14496-objet-descriptor" "GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR")
-    '("metadata" "GST_MTS_TABLE_ID_METADATA")
-    '("ipmp-control-information" "GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION")
-    '("dsm-cc-multiproto-encapsulated-data" "GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA")
-    '("dsm-cc-u-n-messages" "GST_MTS_TABLE_ID_DSM_CC_U_N_MESSAGES")
-    '("dsm-cc-download-data-messages" "GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES")
-    '("dsm-cc-stream-descriptors" "GST_MTS_TABLE_ID_DSM_CC_STREAM_DESCRIPTORS")
-    '("dsm-cc-private-data" "GST_MTS_TABLE_ID_DSM_CC_PRIVATE_DATA")
-    '("dsm-cc-addressable-sections" "GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS")
-    '("unset" "GST_MTS_TABLE_ID_UNSET")
-  )
-)
-
-(define-enum MpegtsStreamType
-  (in-module "Gst")
-  (c-name "GstMpegtsStreamType")
-  (gtype-id "GST_TYPE_MPEGTS_STREAM_TYPE")
-  (values
-    '("reserved-00" "GST_MPEGTS_STREAM_TYPE_RESERVED_00")
-    '("video-mpeg1" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1")
-    '("video-mpeg2" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2")
-    '("audio-mpeg1" "GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1")
-    '("audio-mpeg2" "GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2")
-    '("private-sections" "GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS")
-    '("private-pes-packets" "GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS")
-    '("mheg" "GST_MPEGTS_STREAM_TYPE_MHEG")
-    '("dsm-cc" "GST_MPEGTS_STREAM_TYPE_DSM_CC")
-    '("h-222-1" "GST_MPEGTS_STREAM_TYPE_H_222_1")
-    '("dsmcc-a" "GST_MPEGTS_STREAM_TYPE_DSMCC_A")
-    '("dsmcc-b" "GST_MPEGTS_STREAM_TYPE_DSMCC_B")
-    '("dsmcc-c" "GST_MPEGTS_STREAM_TYPE_DSMCC_C")
-    '("dsmcc-d" "GST_MPEGTS_STREAM_TYPE_DSMCC_D")
-    '("auxiliary" "GST_MPEGTS_STREAM_TYPE_AUXILIARY")
-    '("audio-aac-adts" "GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS")
-    '("video-mpeg4" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4")
-    '("audio-aac-latm" "GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM")
-    '("sl-flexmux-pes-packets" "GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS")
-    '("sl-flexmux-sections" "GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS")
-    '("synchronized-download" "GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD")
-    '("metadata-pes-packets" "GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS")
-    '("metadata-sections" "GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS")
-    '("metadata-data-carousel" "GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL")
-    '("metadata-object-carousel" "GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL")
-    '("metadata-synchronized-download" "GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD")
-    '("mpeg2-ipmp" "GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP")
-    '("video-h264" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264")
-    '("audio-aac-clean" "GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN")
-    '("mpeg4-timed-text" "GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT")
-    '("video-rvc" "GST_MPEGTS_STREAM_TYPE_VIDEO_RVC")
-    '("video-h264-svc-sub-bitstream" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM")
-    '("video-h264-mvc-sub-bitstream" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM")
-    '("video-jp2k" "GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K")
-    '("video-mpeg2-stereo-additional-view" "GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW")
-    '("video-h264-stereo-additional-view" "GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW")
-    '("video-hevc" "GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC")
-    '("ipmp-stream" "GST_MPEGTS_STREAM_TYPE_IPMP_STREAM")
-  )
-)
-
-(define-enum MpegtsScteStreamType
-  (in-module "Gst")
-  (c-name "GstMpegtsScteStreamType")
-  (gtype-id "GST_TYPE_MPEGTS_SCTE_STREAM_TYPE")
-  (values
-    '("subtitling" "GST_MPEGTS_STREAM_TYPE_SCTE_SUBTITLING")
-    '("isoch-data" "GST_MPEGTS_STREAM_TYPE_SCTE_ISOCH_DATA")
-    '("dst-nrt" "GST_MPEGTS_STREAM_TYPE_SCTE_DST_NRT")
-    '("dsmcc-dcb" "GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB")
-    '("signaling" "GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING")
-    '("sync-data" "GST_MPEGTS_STREAM_TYPE_SCTE_SYNC_DATA")
-    '("async-data" "GST_MPEGTS_STREAM_TYPE_SCTE_ASYNC_DATA")
-  )
-)
-
-(define-enum MpegtsSectionSCTETableID
-  (in-module "Gst")
-  (c-name "GstMpegtsSectionSCTETableID")
-  (gtype-id "GST_TYPE_MPEGTS_SECTION_SCTE_TABLE_ID")
-  (values
-    '("eas" "GST_MTS_TABLE_ID_SCTE_EAS")
-    '("ebif" "GST_MTS_TABLE_ID_SCTE_EBIF")
-    '("reserved" "GST_MTS_TABLE_ID_SCTE_RESERVED")
-    '("eiss" "GST_MTS_TABLE_ID_SCTE_EISS")
-    '("dii" "GST_MTS_TABLE_ID_SCTE_DII")
-    '("ddb" "GST_MTS_TABLE_ID_SCTE_DDB")
-    '("splice" "GST_MTS_TABLE_ID_SCTE_SPLICE")
-  )
-)
-
-
-;; From gstadaptivedemux.h
-
-(define-function gst_adaptive_demux_get_type
-  (c-name "gst_adaptive_demux_get_type")
-  (return-type "GType")
-)
-
-(define-method set_stream_struct_size
-  (of-object "GstAdaptiveDemux")
-  (c-name "gst_adaptive_demux_set_stream_struct_size")
-  (return-type "none")
-  (parameters
-    '("gsize" "struct_size")
-  )
-)
-
-(define-method stream_new
-  (of-object "GstAdaptiveDemux")
-  (c-name "gst_adaptive_demux_stream_new")
-  (return-type "GstAdaptiveDemuxStream*")
-  (parameters
-    '("GstPad*" "pad")
-  )
-)
-
-(define-method set_caps
-  (of-object "GstAdaptiveDemuxStream")
-  (c-name "gst_adaptive_demux_stream_set_caps")
-  (return-type "none")
-  (parameters
-    '("GstCaps*" "caps")
-  )
-)
-
-(define-method set_tags
-  (of-object "GstAdaptiveDemuxStream")
-  (c-name "gst_adaptive_demux_stream_set_tags")
-  (return-type "none")
-  (parameters
-    '("GstTagList*" "tags")
-  )
-)
-
-(define-method clear
-  (of-object "GstAdaptiveDemuxStreamFragment")
-  (c-name "gst_adaptive_demux_stream_fragment_clear")
-  (return-type "none")
-)
-
-(define-method push_buffer
-  (of-object "GstAdaptiveDemuxStream")
-  (c-name "gst_adaptive_demux_stream_push_buffer")
-  (return-type "GstFlowReturn")
-  (parameters
-    '("GstBuffer*" "buffer")
-  )
-)
-
-(define-method stream_advance_fragment
-  (of-object "GstAdaptiveDemux")
-  (c-name "gst_adaptive_demux_stream_advance_fragment")
-  (return-type "GstFlowReturn")
-  (parameters
-    '("GstAdaptiveDemuxStream*" "stream")
-    '("GstClockTime" "duration")
-  )
-)
-
-(define-method stream_advance_fragment_unlocked
-  (of-object "GstAdaptiveDemux")
-  (c-name "gst_adaptive_demux_stream_advance_fragment_unlocked")
-  (return-type "GstFlowReturn")
-  (parameters
-    '("GstAdaptiveDemuxStream*" "stream")
-    '("GstClockTime" "duration")
-  )
-)
-
-
-
-;; From gstaggregator.h
-
-(define-function gst_aggregator_pad_get_type
-  (c-name "gst_aggregator_pad_get_type")
-  (return-type "GType")
-)
-
-(define-method steal_buffer
-  (of-object "GstAggregatorPad")
-  (c-name "gst_aggregator_pad_steal_buffer")
-  (return-type "GstBuffer*")
-)
-
-(define-method get_buffer
-  (of-object "GstAggregatorPad")
-  (c-name "gst_aggregator_pad_get_buffer")
-  (return-type "GstBuffer*")
-)
-
-(define-method drop_buffer
-  (of-object "GstAggregatorPad")
-  (c-name "gst_aggregator_pad_drop_buffer")
-  (return-type "gboolean")
-)
-
-(define-method is_eos
-  (of-object "GstAggregatorPad")
-  (c-name "gst_aggregator_pad_is_eos")
-  (return-type "gboolean")
-)
-
-(define-method finish_buffer
-  (of-object "GstAggregator")
-  (c-name "gst_aggregator_finish_buffer")
-  (return-type "GstFlowReturn")
-  (parameters
-    '("GstBuffer*" "buffer")
-  )
-)
-
-(define-method set_src_caps
-  (of-object "GstAggregator")
-  (c-name "gst_aggregator_set_src_caps")
-  (return-type "none")
-  (parameters
-    '("GstCaps*" "caps")
-  )
-)
-
-(define-method set_latency
-  (of-object "GstAggregator")
-  (c-name "gst_aggregator_set_latency")
-  (return-type "none")
-  (parameters
-    '("GstClockTime" "min_latency")
-    '("GstClockTime" "max_latency")
-  )
-)
-
-(define-function gst_aggregator_get_type
-  (c-name "gst_aggregator_get_type")
-  (return-type "GType")
-)
-
-(define-method iterate_sinkpads
-  (of-object "GstAggregator")
-  (c-name "gst_aggregator_iterate_sinkpads")
-  (return-type "gboolean")
-  (parameters
-    '("GstAggregatorPadForeachFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method get_latency
-  (of-object "GstAggregator")
-  (c-name "gst_aggregator_get_latency")
-  (return-type "GstClockTime")
-)
-
-
-
-;; From gstbasecamerasrc.h
-
-(define-function gst_base_camera_src_get_type
-  (c-name "gst_base_camera_src_get_type")
-  (return-type "GType")
-)
-
-(define-method set_mode
-  (of-object "GstBaseCameraSrc")
-  (c-name "gst_base_camera_src_set_mode")
-  (return-type "gboolean")
-  (parameters
-    '("GstCameraBinMode" "mode")
-  )
-)
-
-(define-method setup_zoom
-  (of-object "GstBaseCameraSrc")
-  (c-name "gst_base_camera_src_setup_zoom")
-  (return-type "none")
-)
-
-(define-method setup_preview
-  (of-object "GstBaseCameraSrc")
-  (c-name "gst_base_camera_src_setup_preview")
-  (return-type "none")
-  (parameters
-    '("GstCaps*" "preview_caps")
-  )
-)
-
-(define-method finish_capture
-  (of-object "GstBaseCameraSrc")
-  (c-name "gst_base_camera_src_finish_capture")
-  (return-type "none")
-)
-
-(define-method post_preview
-  (of-object "GstBaseCameraSrc")
-  (c-name "gst_base_camera_src_post_preview")
-  (return-type "none")
-  (parameters
-    '("GstSample*" "sample")
-  )
-)
-
-
-
-;; From gstcamerabin-enum.h
-
-(define-function gst_camerabin_mode_get_type
-  (c-name "gst_camerabin_mode_get_type")
-  (return-type "GType")
-)
-
-
-
-;; From gstcamerabinpreview.h
-
-(define-function gst_camerabin_create_preview_pipeline
-  (c-name "gst_camerabin_create_preview_pipeline")
-  (return-type "GstCameraBinPreviewPipelineData*")
-  (parameters
-    '("GstElement*" "element")
-    '("GstElement*" "filter")
-  )
-)
-
-(define-function gst_camerabin_destroy_preview_pipeline
-  (c-name "gst_camerabin_destroy_preview_pipeline")
-  (return-type "none")
-  (parameters
-    '("GstCameraBinPreviewPipelineData*" "preview")
-  )
-)
-
-(define-function gst_camerabin_preview_pipeline_post
-  (c-name "gst_camerabin_preview_pipeline_post")
-  (return-type "gboolean")
-  (parameters
-    '("GstCameraBinPreviewPipelineData*" "preview")
-    '("GstSample*" "sample")
-  )
-)
-
-(define-function gst_camerabin_preview_set_caps
-  (c-name "gst_camerabin_preview_set_caps")
-  (return-type "none")
-  (parameters
-    '("GstCameraBinPreviewPipelineData*" "preview")
-    '("GstCaps*" "caps")
-  )
-)
-
-(define-function gst_camerabin_preview_set_filter
-  (c-name "gst_camerabin_preview_set_filter")
-  (return-type "gboolean")
-  (parameters
-    '("GstCameraBinPreviewPipelineData*" "preview")
-    '("GstElement*" "filter")
-  )
-)
-
-
-
-;; From dboolhuff.h
-
-(define-function vp8dx_start_decode
-  (c-name "vp8dx_start_decode")
-  (return-type "int")
-  (parameters
-    '("BOOL_DECODER*" "br")
-    '("const-unsigned-char*" "source")
-    '("unsigned-int" "source_sz")
-    '("vp8_decrypt_cb*" "decrypt_cb")
-    '("void*" "decrypt_state")
-  )
-)
-
-(define-function vp8dx_bool_decoder_fill
-  (c-name "vp8dx_bool_decoder_fill")
-  (return-type "none")
-  (parameters
-    '("BOOL_DECODER*" "br")
-  )
-)
-
-(define-function vp8dx_decode_bool
-  (c-name "vp8dx_decode_bool")
-  (return-type "int")
-  (parameters
-    '("BOOL_DECODER*" "br")
-    '("int" "probability")
-  )
-)
-
-(define-function vp8_decode_value
-  (c-name "vp8_decode_value")
-  (return-type "int")
-  (parameters
-    '("BOOL_DECODER*" "br")
-    '("int" "bits")
-  )
-)
-
-(define-function vp8dx_bool_error
-  (c-name "vp8dx_bool_error")
-  (return-type "int")
-  (parameters
-    '("BOOL_DECODER*" "br")
-  )
-)
-
-
-
-;; From gsth264parser.h
-
-(define-function gst_h264_nal_parser_new
-  (c-name "gst_h264_nal_parser_new")
-  (is-constructor-of "GstH264NalParser")
-  (return-type "GstH264NalParser*")
-)
-
-(define-function gst_h264_parser_identify_nalu
-  (c-name "gst_h264_parser_identify_nalu")
-  (return-type "GstH264ParserResult")
-  (parameters
-    '("GstH264NalParser*" "nalparser")
-    '("const-guint8*" "data")
-    '("guint" "offset")
-    '("gsize" "size")
-    '("GstH264NalUnit*" "nalu")
-  )
-)
-
-(define-function gst_h264_parser_identify_nalu_unchecked
-  (c-name "gst_h264_parser_identify_nalu_unchecked")
-  (return-type "GstH264ParserResult")
-  (parameters
-    '("GstH264NalParser*" "nalparser")
-    '("const-guint8*" "data")
-    '("guint" "offset")
-    '("gsize" "size")
-    '("GstH264NalUnit*" "nalu")
-  )
-)
-
-(define-function gst_h264_parser_identify_nalu_avc
-  (c-name "gst_h264_parser_identify_nalu_avc")
-  (return-type "GstH264ParserResult")
-  (parameters
-    '("GstH264NalParser*" "nalparser")
-    '("const-guint8*" "data")
-    '("guint" "offset")
-    '("gsize" "size")
-    '("guint8" "nal_length_size")
-    '("GstH264NalUnit*" "nalu")
-  )
-)
-
-(define-function gst_h264_parser_parse_nal
-  (c-name "gst_h264_parser_parse_nal")
-  (return-type "GstH264ParserResult")
-  (parameters
-    '("GstH264NalParser*" "nalparser")
-    '("GstH264NalUnit*" "nalu")
-  )
-)
-
-(define-function gst_h264_parser_parse_slice_hdr
-  (c-name "gst_h264_parser_parse_slice_hdr")
-  (return-type "GstH264ParserResult")
-  (parameters
-    '("GstH264NalParser*" "nalparser")
-    '("GstH264NalUnit*" "nalu")
-    '("GstH264SliceHdr*" "slice")
-    '("gboolean" "parse_pred_weight_table")
-    '("gboolean" "parse_dec_ref_pic_marking")
-  )
-)
-
-(define-function gst_h264_parser_parse_subset_sps
-  (c-name "gst_h264_parser_parse_subset_sps")
-  (return-type "GstH264ParserResult")
-  (parameters
-    '("GstH264NalParser*" "nalparser")
-    '("GstH264NalUnit*" "nalu")
-    '("GstH264SPS*" "sps")
-    '("gboolean" "parse_vui_params")
-  )
-)
-
-(define-function gst_h264_parser_parse_sps
-  (c-name "gst_h264_parser_parse_sps")
-  (return-type "GstH264ParserResult")
-  (parameters
-    '("GstH264NalParser*" "nalparser")
-    '("GstH264NalUnit*" "nalu")
-    '("GstH264SPS*" "sps")
-    '("gboolean" "parse_vui_params")
-  )
-)
-
-(define-function gst_h264_parser_parse_pps
-  (c-name "gst_h264_parser_parse_pps")
-  (return-type "GstH264ParserResult")
-  (parameters
-    '("GstH264NalParser*" "nalparser")
-    '("GstH264NalUnit*" "nalu")
-    '("GstH264PPS*" "pps")
-  )
-)
-
-(define-function gst_h264_parser_parse_sei
-  (c-name "gst_h264_parser_parse_sei")
-  (return-type "GstH264ParserResult")
-  (parameters
-    '("GstH264NalParser*" "nalparser")
-    '("GstH264NalUnit*" "nalu")
-    '("GArray**" "messages")
-  )
-)
-
-(define-method free
-  (of-object "GstH264NalParser")
-  (c-name "gst_h264_nal_parser_free")
-  (return-type "none")
-)
-
-(define-function gst_h264_parse_subset_sps
-  (c-name "gst_h264_parse_subset_sps")
-  (return-type "GstH264ParserResult")
-  (parameters
-    '("GstH264NalUnit*" "nalu")
-    '("GstH264SPS*" "sps")
-    '("gboolean" "parse_vui_params")
-  )
-)
-
-(define-function gst_h264_parse_sps
-  (c-name "gst_h264_parse_sps")
-  (return-type "GstH264ParserResult")
-  (parameters
-    '("GstH264NalUnit*" "nalu")
-    '("GstH264SPS*" "sps")
-    '("gboolean" "parse_vui_params")
-  )
-)
-
-(define-function gst_h264_parse_pps
-  (c-name "gst_h264_parse_pps")
-  (return-type "GstH264ParserResult")
-  (parameters
-    '("GstH264NalParser*" "nalparser")
-    '("GstH264NalUnit*" "nalu")
-    '("GstH264PPS*" "pps")
-  )
-)
-
-(define-method clear
-  (of-object "GstH264SPS")
-  (c-name "gst_h264_sps_clear")
-  (return-type "none")
-)
-
-(define-method clear
-  (of-object "GstH264PPS")
-  (c-name "gst_h264_pps_clear")
-  (return-type "none")
-)
-
-(define-function gst_h264_quant_matrix_8x8_get_zigzag_from_raster
-  (c-name "gst_h264_quant_matrix_8x8_get_zigzag_from_raster")
-  (return-type "none")
-  (parameters
-    '("guint8" "out_quant[64]")
-    '("const-guint8" "quant[64]")
-  )
-)
-
-(define-function gst_h264_quant_matrix_8x8_get_raster_from_zigzag
-  (c-name "gst_h264_quant_matrix_8x8_get_raster_from_zigzag")
-  (return-type "none")
-  (parameters
-    '("guint8" "out_quant[64]")
-    '("const-guint8" "quant[64]")
-  )
-)
-
-(define-function gst_h264_quant_matrix_4x4_get_zigzag_from_raster
-  (c-name "gst_h264_quant_matrix_4x4_get_zigzag_from_raster")
-  (return-type "none")
-  (parameters
-    '("guint8" "out_quant[16]")
-    '("const-guint8" "quant[16]")
-  )
-)
-
-(define-function gst_h264_quant_matrix_4x4_get_raster_from_zigzag
-  (c-name "gst_h264_quant_matrix_4x4_get_raster_from_zigzag")
-  (return-type "none")
-  (parameters
-    '("guint8" "out_quant[16]")
-    '("const-guint8" "quant[16]")
-  )
-)
-
-(define-function gst_h264_video_calculate_framerate
-  (c-name "gst_h264_video_calculate_framerate")
-  (return-type "none")
-  (parameters
-    '("const-GstH264SPS*" "sps")
-    '("guint" "field_pic_flag")
-    '("guint" "pic_struct")
-    '("gint*" "fps_num")
-    '("gint*" "fps_den")
-  )
-)
-
-
-
-;; From gsth265parser.h
-
-(define-function gst_h265_parser_new
-  (c-name "gst_h265_parser_new")
-  (is-constructor-of "GstH265Parser")
-  (return-type "GstH265Parser*")
-)
-
-(define-method identify_nalu
-  (of-object "GstH265Parser")
-  (c-name "gst_h265_parser_identify_nalu")
-  (return-type "GstH265ParserResult")
-  (parameters
-    '("const-guint8*" "data")
-    '("guint" "offset")
-    '("gsize" "size")
-    '("GstH265NalUnit*" "nalu")
-  )
-)
-
-(define-method identify_nalu_unchecked
-  (of-object "GstH265Parser")
-  (c-name "gst_h265_parser_identify_nalu_unchecked")
-  (return-type "GstH265ParserResult")
-  (parameters
-    '("const-guint8*" "data")
-    '("guint" "offset")
-    '("gsize" "size")
-    '("GstH265NalUnit*" "nalu")
-  )
-)
-
-(define-method identify_nalu_hevc
-  (of-object "GstH265Parser")
-  (c-name "gst_h265_parser_identify_nalu_hevc")
-  (return-type "GstH265ParserResult")
-  (parameters
-    '("const-guint8*" "data")
-    '("guint" "offset")
-    '("gsize" "size")
-    '("guint8" "nal_length_size")
-    '("GstH265NalUnit*" "nalu")
-  )
-)
-
-(define-method parse_nal
-  (of-object "GstH265Parser")
-  (c-name "gst_h265_parser_parse_nal")
-  (return-type "GstH265ParserResult")
-  (parameters
-    '("GstH265NalUnit*" "nalu")
-  )
-)
-
-(define-method parse_slice_hdr
-  (of-object "GstH265Parser")
-  (c-name "gst_h265_parser_parse_slice_hdr")
-  (return-type "GstH265ParserResult")
-  (parameters
-    '("GstH265NalUnit*" "nalu")
-    '("GstH265SliceHdr*" "slice")
-  )
-)
-
-(define-method parse_vps
-  (of-object "GstH265Parser")
-  (c-name "gst_h265_parser_parse_vps")
-  (return-type "GstH265ParserResult")
-  (parameters
-    '("GstH265NalUnit*" "nalu")
-    '("GstH265VPS*" "vps")
-  )
-)
-
-(define-method parse_sps
-  (of-object "GstH265Parser")
-  (c-name "gst_h265_parser_parse_sps")
-  (return-type "GstH265ParserResult")
-  (parameters
-    '("GstH265NalUnit*" "nalu")
-    '("GstH265SPS*" "sps")
-    '("gboolean" "parse_vui_params")
-  )
-)
-
-(define-method parse_pps
-  (of-object &q