<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GLib" version="2.0"/>
  <include name="GModule" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Gst" version="1.0"/>
  <include name="GstPbutils" version="1.0"/>
  <package name="gstreamer-validate-1.0"/>
  <c:include name="gst/validate/validate.h"/>
  <doc:format name="unknown"/>
  <namespace name="GstValidate"
             version="1.0"
             shared-library="libgstvalidate-1.0.so.0.2"
             c:identifier-prefixes="GstValidate"
             c:symbol-prefixes="gst_validate">
    <alias name="IssueId" c:type="GstValidateIssueId">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="28"/>
      <type name="GLib.Quark" c:type="GQuark"/>
    </alias>
    <function-macro name="ACTION_DEBUG"
                    c:identifier="GST_VALIDATE_ACTION_DEBUG"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="117"/>
      <parameters>
        <parameter name="action">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACTION_FILENAME"
                    c:identifier="GST_VALIDATE_ACTION_FILENAME"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="116"/>
      <parameters>
        <parameter name="action">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACTION_LINENO"
                    c:identifier="GST_VALIDATE_ACTION_LINENO"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="115"/>
      <parameters>
        <parameter name="action">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACTION_N_REPEATS"
                    c:identifier="GST_VALIDATE_ACTION_N_REPEATS"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="118"/>
      <parameters>
        <parameter name="action">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACTION_RANGE_NAME"
                    c:identifier="GST_VALIDATE_ACTION_RANGE_NAME"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="119"/>
      <parameters>
        <parameter name="action">
        </parameter>
      </parameters>
    </function-macro>
    <record name="Action"
            c:type="GstValidateAction"
            glib:type-name="GstValidateAction"
            glib:get-type="gst_validate_action_get_type"
            c:symbol-prefix="action">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-scenario.h"
           line="121">The GstValidateAction defined to be executed as part of a scenario

Only access it from the default main context.</doc>
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="160"/>
      <field name="mini_object" writable="1">
        <type name="Gst.MiniObject" c:type="GstMiniObject"/>
      </field>
      <field name="type" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="123">The type of the #GstValidateAction, which is the name of the
       GstValidateActionType registered with
       #gst_validate_register_action_type</doc>
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="name" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="126">The name of the action, set from the user in the scenario</doc>
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="structure" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="127">the #GstStructure defining the action</doc>
        <type name="Gst.Structure" c:type="GstStructure*"/>
      </field>
      <field name="action_number" readable="0" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="repeat" readable="0" private="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="playback_time" readable="0" private="1">
        <type name="Gst.ClockTime" c:type="GstClockTime"/>
      </field>
      <field name="lineno" readable="0" private="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="filename" readable="0" private="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="debug" readable="0" private="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="n_repeats" readable="0" private="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="rangename" readable="0" private="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ActionPrivate" c:type="GstValidateActionPrivate*"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <constructor name="new" c:identifier="gst_validate_action_new">
        <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                         line="167"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="557">A newly created #GstValidateAction</doc>
          <type name="Action" c:type="GstValidateAction*"/>
        </return-value>
        <parameters>
          <parameter name="scenario"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="552">The scenario executing the action</doc>
            <type name="Scenario" c:type="GstValidateScenario*"/>
          </parameter>
          <parameter name="action_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="553">The action type</doc>
            <type name="ActionType" c:type="GstValidateActionType*"/>
          </parameter>
          <parameter name="structure" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="554">The structure containing the action arguments</doc>
            <type name="Gst.Structure" c:type="GstStructure*"/>
          </parameter>
          <parameter name="add_to_lists" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="555">Weather the action should be added to the scenario action list</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_scenario"
              c:identifier="gst_validate_action_get_scenario">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.c"
             line="7706">Retrieve the scenario from which @action is executed.</doc>
        <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                         line="165"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7712">The scenario from which the action is being executed.</doc>
          <type name="Scenario" c:type="GstValidateScenario*"/>
        </return-value>
        <parameters>
          <instance-parameter name="action" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="7708">The action for which to retrieve the scenario</doc>
            <type name="Action" c:type="GstValidateAction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="gst_validate_action_ref">
        <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                         line="172"/>
        <return-value transfer-ownership="full">
          <type name="Action" c:type="GstValidateAction*"/>
        </return-value>
        <parameters>
          <instance-parameter name="action" transfer-ownership="none">
            <type name="Action" c:type="GstValidateAction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_done" c:identifier="gst_validate_action_set_done">
        <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                         line="163"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="action" transfer-ownership="none">
            <type name="Action" c:type="GstValidateAction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="gst_validate_action_unref">
        <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                         line="174"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="action" transfer-ownership="none">
            <type name="Action" c:type="GstValidateAction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="get_clocktime"
                c:identifier="gst_validate_action_get_clocktime">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.c"
             line="923">Get a time value for the @name parameter of an action. This
method should be called to retrieve and compute a timed value of a given
action. It will first try to retrieve the value as a double,
then get it as a string and execute any formula taking into account
the 'position' and 'duration' variables. And it will always convert that
value to a GstClockTime.</doc>
        <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                         line="406"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="939">%TRUE if the time value could be retrieved/computed or %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="scenario" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="925">The #GstValidateScenario from which to get a time
           for a parameter of an action</doc>
            <type name="Scenario" c:type="GstValidateScenario*"/>
          </parameter>
          <parameter name="action" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="927">The action from which to retrieve the time for @name
         parameter.</doc>
            <type name="Action" c:type="GstValidateAction*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="929">The name of the parameter for which to retrieve a time</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="retval"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="930">The return value for the wanted time</doc>
            <type name="Gst.ClockTime" c:type="GstClockTime*"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="ActionParameter" c:type="GstValidateActionParameter">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="332"/>
      <field name="name" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="293">The name of the parameter</doc>
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="description" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="294">The description of the parameter</doc>
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="mandatory" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="295">Whether the parameter is mandatory for
            a specific action type</doc>
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="types" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="297">The types the parameter can take described as a
        string. It can be precisely describing how the typing works
        using '\n' between the various acceptable types.
        NOTE: The types should end with `(GstClockTime)` if its final
        type is a GstClockTime, this way it will be processed when preparing
        the actions.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="possible_variables" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="303">The name of the variables that can be
                     used to compute the value of the parameter.
                     For example for the start value of a seek
                     action, we will accept to take 'duration'
                     which will be replace by the total duration
                     of the stream on which the action is executed.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="def" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="309">The default value of a parameter as a string, should be %NULL
      for mandatory streams.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="free" version="1.24" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="321">Function that frees the various members of the structure when done using</doc>
        <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="3">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="ActionPrivate"
            c:type="GstValidateActionPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="113"/>
    </record>
    <enumeration name="ActionReturn"
                 glib:type-name="GstValidateActionReturn"
                 glib:get-type="gst_validate_action_return_get_type"
                 c:type="GstValidateActionReturn">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-scenario.h"
           line="45">GST_VALIDATE_EXECUTE_ACTION_ERROR:
GST_VALIDATE_EXECUTE_ACTION_OK:
GST_VALIDATE_EXECUTE_ACTION_ASYNC:
GST_VALIDATE_EXECUTE_ACTION_ERROR_REPORTED:
GST_VALIDATE_EXECUTE_ACTION_IN_PROGRESS:
GST_VALIDATE_EXECUTE_ACTION_NONE:
GST_VALIDATE_EXECUTE_ACTION_DONE:</doc>
      <member name="error"
              value="0"
              c:identifier="GST_VALIDATE_EXECUTE_ACTION_ERROR"
              glib:nick="error"
              glib:name="GST_VALIDATE_EXECUTE_ACTION_ERROR">
      </member>
      <member name="ok"
              value="1"
              c:identifier="GST_VALIDATE_EXECUTE_ACTION_OK"
              glib:nick="ok"
              glib:name="GST_VALIDATE_EXECUTE_ACTION_OK">
      </member>
      <member name="async"
              value="2"
              c:identifier="GST_VALIDATE_EXECUTE_ACTION_ASYNC"
              glib:nick="async"
              glib:name="GST_VALIDATE_EXECUTE_ACTION_ASYNC">
      </member>
      <member name="non_blocking"
              value="3"
              c:identifier="GST_VALIDATE_EXECUTE_ACTION_NON_BLOCKING"
              version="1.20"
              glib:nick="non-blocking"
              glib:name="GST_VALIDATE_EXECUTE_ACTION_NON_BLOCKING">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="61">The action will be executed asynchronously without blocking further
actions to be executed</doc>
      </member>
      <member name="interlaced"
              value="3"
              c:identifier="GST_VALIDATE_EXECUTE_ACTION_INTERLACED"
              deprecated="1"
              deprecated-version="1.20"
              glib:nick="interlaced"
              glib:name="GST_VALIDATE_EXECUTE_ACTION_INTERLACED">
        <doc-deprecated xml:space="preserve">Use #GST_VALIDATE_EXECUTE_ACTION_NON_BLOCKING instead.</doc-deprecated>
      </member>
      <member name="error_reported"
              value="4"
              c:identifier="GST_VALIDATE_EXECUTE_ACTION_ERROR_REPORTED"
              glib:nick="error-reported"
              glib:name="GST_VALIDATE_EXECUTE_ACTION_ERROR_REPORTED">
      </member>
      <member name="in_progress"
              value="5"
              c:identifier="GST_VALIDATE_EXECUTE_ACTION_IN_PROGRESS"
              glib:nick="in-progress"
              glib:name="GST_VALIDATE_EXECUTE_ACTION_IN_PROGRESS">
      </member>
      <member name="none"
              value="6"
              c:identifier="GST_VALIDATE_EXECUTE_ACTION_NONE"
              glib:nick="none"
              glib:name="GST_VALIDATE_EXECUTE_ACTION_NONE">
      </member>
      <member name="done"
              value="7"
              c:identifier="GST_VALIDATE_EXECUTE_ACTION_DONE"
              glib:nick="done"
              glib:name="GST_VALIDATE_EXECUTE_ACTION_DONE">
      </member>
      <function name="get_name"
                c:identifier="gst_validate_action_return_get_name">
        <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                         line="83"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="r" transfer-ownership="none">
            <type name="ActionReturn" c:type="GstValidateActionReturn"/>
          </parameter>
        </parameters>
      </function>
    </enumeration>
    <record name="ActionType"
            c:type="GstValidateActionType"
            glib:type-name="GstValidateActionType"
            glib:get-type="gst_validate_action_type_get_type"
            c:symbol-prefix="action_type">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="277"/>
      <field name="mini_object" writable="1">
        <type name="Gst.MiniObject" c:type="GstMiniObject"/>
      </field>
      <field name="name" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="248">The name of the new action type to add</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="implementer_namespace" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="249">The namespace of the implementer of the action type</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="prepare" writable="1">
        <type name="PrepareAction" c:type="GstValidatePrepareAction"/>
      </field>
      <field name="execute" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="250">The function to be called to execute the action</doc>
        <type name="ExecuteAction" c:type="GstValidateExecuteAction"/>
      </field>
      <field name="parameters" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="251">The #GstValidateActionParameter usable as parameter of the type</doc>
        <array c:type="GstValidateActionParameter*">
          <type name="ActionParameter"/>
        </array>
      </field>
      <field name="description" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="252">A description of the new type</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="flags" writable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="253">The flags of the action type</doc>
        <type name="ActionTypeFlags" c:type="GstValidateActionTypeFlags"/>
      </field>
      <field name="rank" writable="1">
        <type name="Gst.Rank" c:type="GstRank"/>
      </field>
      <field name="overriden_type" writable="1">
        <type name="ActionType" c:type="GstValidateActionType*"/>
      </field>
      <field name="priv" writable="1">
        <type name="ActionTypePrivate" c:type="GstValidateActionTypePrivate*"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <bitfield name="ActionTypeFlags"
              glib:type-name="GstValidateActionTypeFlags"
              glib:get-type="gst_validate_action_type_flags_get_type"
              c:type="GstValidateActionTypeFlags">
      <member name="none"
              value="0"
              c:identifier="GST_VALIDATE_ACTION_TYPE_NONE"
              glib:nick="none"
              glib:name="GST_VALIDATE_ACTION_TYPE_NONE">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="187">No special flag</doc>
      </member>
      <member name="config"
              value="2"
              c:identifier="GST_VALIDATE_ACTION_TYPE_CONFIG"
              glib:nick="config"
              glib:name="GST_VALIDATE_ACTION_TYPE_CONFIG">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="188">The action is a config</doc>
      </member>
      <member name="async"
              value="4"
              c:identifier="GST_VALIDATE_ACTION_TYPE_ASYNC"
              glib:nick="async"
              glib:name="GST_VALIDATE_ACTION_TYPE_ASYNC">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="189">The action can be executed ASYNC</doc>
      </member>
      <member name="non_blocking"
              value="8"
              c:identifier="GST_VALIDATE_ACTION_TYPE_NON_BLOCKING"
              version="1.20"
              glib:nick="non-blocking"
              glib:name="GST_VALIDATE_ACTION_TYPE_NON_BLOCKING">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="217">The action can be executed asynchronously but without blocking further
actions execution.</doc>
      </member>
      <member name="interlaced"
              value="8"
              c:identifier="GST_VALIDATE_ACTION_TYPE_INTERLACED"
              deprecated="1"
              deprecated-version="1.20"
              glib:nick="interlaced"
              glib:name="GST_VALIDATE_ACTION_TYPE_INTERLACED">
        <doc-deprecated xml:space="preserve">Use #GST_VALIDATE_ACTION_TYPE_NON_BLOCKING instead.</doc-deprecated>
      </member>
      <member name="can_execute_on_addition"
              value="16"
              c:identifier="GST_VALIDATE_ACTION_TYPE_CAN_EXECUTE_ON_ADDITION"
              glib:nick="can-execute-on-addition"
              glib:name="GST_VALIDATE_ACTION_TYPE_CAN_EXECUTE_ON_ADDITION">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="190">The action will be executed on 'element-added'
                                                for a particular element type if no playback-time
                                                is specified</doc>
      </member>
      <member name="needs_clock"
              value="32"
              c:identifier="GST_VALIDATE_ACTION_TYPE_NEEDS_CLOCK"
              glib:nick="needs-clock"
              glib:name="GST_VALIDATE_ACTION_TYPE_NEEDS_CLOCK">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="193">The pipeline will need to be synchronized with the clock
                                       for that action type to be used.</doc>
      </member>
      <member name="no_execution_not_fatal"
              value="64"
              c:identifier="GST_VALIDATE_ACTION_TYPE_NO_EXECUTION_NOT_FATAL"
              glib:nick="no-execution-not-fatal"
              glib:name="GST_VALIDATE_ACTION_TYPE_NO_EXECUTION_NOT_FATAL">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="195">Do not consider the non execution of the action
                                                  as a fatal error.</doc>
      </member>
      <member name="can_be_optional"
              value="128"
              c:identifier="GST_VALIDATE_ACTION_TYPE_CAN_BE_OPTIONAL"
              glib:nick="can-be-optional"
              glib:name="GST_VALIDATE_ACTION_TYPE_CAN_BE_OPTIONAL">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="197">The action can use the 'optional' keyword. Such action
                                           instances will have the #GST_VALIDATE_ACTION_TYPE_NO_EXECUTION_NOT_FATAL
                                           flag set and won't be considered as fatal if they fail.</doc>
      </member>
      <member name="doesnt_need_pipeline"
              value="256"
              c:identifier="GST_VALIDATE_ACTION_TYPE_DOESNT_NEED_PIPELINE"
              glib:nick="doesnt-need-pipeline"
              glib:name="GST_VALIDATE_ACTION_TYPE_DOESNT_NEED_PIPELINE">
      </member>
      <member name="handled_in_config"
              value="512"
              c:identifier="GST_VALIDATE_ACTION_TYPE_HANDLED_IN_CONFIG"
              glib:nick="handled-in-config"
              glib:name="GST_VALIDATE_ACTION_TYPE_HANDLED_IN_CONFIG">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="200">The action can be used in config files even if it is not strictly a config
                                             action (ie. it needs a scenario to run).</doc>
      </member>
      <member name="check"
              value="1024"
              c:identifier="GST_VALIDATE_ACTION_TYPE_CHECK"
              version="1.22"
              glib:nick="check"
              glib:name="GST_VALIDATE_ACTION_TYPE_CHECK">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="231">The action is checking some state from objects in the pipeline. It means that it can
be used as 'check' in different action which have a `check` "sub action", such as the 'wait' action type.
This implies that the action can be executed from any thread and not only from the scenario thread as other
types.</doc>
      </member>
    </bitfield>
    <record name="ActionTypePrivate"
            c:type="GstValidateActionTypePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="244"/>
    </record>
    <class name="BinMonitor"
           c:symbol-prefix="bin_monitor"
           c:type="GstValidateBinMonitor"
           parent="ElementMonitor"
           glib:type-name="GstValidateBinMonitor"
           glib:get-type="gst_validate_bin_monitor_get_type"
           glib:type-struct="BinMonitorClass">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-bin-monitor.h"
           line="47">GStreamer Validate BinMonitor class.

Class that wraps a #GstBin for Validate checks</doc>
      <source-position filename="validate/gst/validate/gst-validate-bin-monitor.h"
                       line="80"/>
      <implements name="Reporter"/>
      <constructor name="new" c:identifier="gst_validate_bin_monitor_new">
        <source-position filename="validate/gst/validate/gst-validate-bin-monitor.h"
                         line="87"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-bin-monitor.c"
               line="197">A #GstValidateBinMonitor</doc>
          <type name="BinMonitor" c:type="GstValidateBinMonitor*"/>
        </return-value>
        <parameters>
          <parameter name="bin" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-bin-monitor.c"
                 line="193">a #GstBin to run Validate on</doc>
            <type name="Gst.Bin" c:type="GstBin*"/>
          </parameter>
          <parameter name="runner" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-bin-monitor.c"
                 line="194">a #GstValidateRunner</doc>
            <type name="Runner" c:type="GstValidateRunner*"/>
          </parameter>
          <parameter name="parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-bin-monitor.c"
                 line="195">The parent of the new monitor</doc>
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_scenario"
              c:identifier="gst_validate_bin_monitor_get_scenario"
              version="1.20">
        <source-position filename="validate/gst/validate/gst-validate-bin-monitor.h"
                         line="92"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-bin-monitor.c"
               line="355">The #GstValidateScenario being executed
under @monitor watch</doc>
          <type name="Scenario" c:type="GstValidateScenario*"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-bin-monitor.c"
                 line="353">A #GstValidateBinMonitor</doc>
            <type name="BinMonitor" c:type="GstValidateBinMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="handles-states"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent">
        <type name="ElementMonitor" c:type="GstValidateElementMonitor"/>
      </field>
      <field name="element_monitors">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="scenario">
        <type name="Scenario" c:type="GstValidateScenario*"/>
      </field>
      <field name="element_added_id" readable="0" private="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="element_removed_id" readable="0" private="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </class>
    <record name="BinMonitorClass"
            c:type="GstValidateBinMonitorClass"
            glib:is-gtype-struct-for="BinMonitor">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-bin-monitor.h"
           line="69">GStreamer Validate BinMonitor object class.</doc>
      <source-position filename="validate/gst/validate/gst-validate-bin-monitor.h"
                       line="80"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-bin-monitor.h"
             line="71">parent</doc>
        <type name="ElementMonitorClass"
              c:type="GstValidateElementMonitorClass"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <bitfield name="DebugFlags"
              glib:type-name="GstValidateDebugFlags"
              glib:get-type="gst_validate_debug_flags_get_type"
              c:type="GstValidateDebugFlags">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-report.h"
           line="41">GST_VALIDATE_FATAL_DEFAULT:
GST_VALIDATE_FATAL_ISSUES:
GST_VALIDATE_FATAL_WARNINGS:
GST_VALIDATE_FATAL_CRITICALS:
GST_VALIDATE_PRINT_ISSUES:
GST_VALIDATE_PRINT_WARNINGS:
GST_VALIDATE_PRINT_CRITICALS:</doc>
      <member name="fatal_default"
              value="0"
              c:identifier="GST_VALIDATE_FATAL_DEFAULT"
              glib:nick="fatal-default"
              glib:name="GST_VALIDATE_FATAL_DEFAULT">
      </member>
      <member name="fatal_issues"
              value="1"
              c:identifier="GST_VALIDATE_FATAL_ISSUES"
              glib:nick="fatal-issues"
              glib:name="GST_VALIDATE_FATAL_ISSUES">
      </member>
      <member name="fatal_warnings"
              value="2"
              c:identifier="GST_VALIDATE_FATAL_WARNINGS"
              glib:nick="fatal-warnings"
              glib:name="GST_VALIDATE_FATAL_WARNINGS">
      </member>
      <member name="fatal_criticals"
              value="4"
              c:identifier="GST_VALIDATE_FATAL_CRITICALS"
              glib:nick="fatal-criticals"
              glib:name="GST_VALIDATE_FATAL_CRITICALS">
      </member>
      <member name="print_issues"
              value="8"
              c:identifier="GST_VALIDATE_PRINT_ISSUES"
              glib:nick="print-issues"
              glib:name="GST_VALIDATE_PRINT_ISSUES">
      </member>
      <member name="print_warnings"
              value="16"
              c:identifier="GST_VALIDATE_PRINT_WARNINGS"
              glib:nick="print-warnings"
              glib:name="GST_VALIDATE_PRINT_WARNINGS">
      </member>
      <member name="print_criticals"
              value="32"
              c:identifier="GST_VALIDATE_PRINT_CRITICALS"
              glib:nick="print-criticals"
              glib:name="GST_VALIDATE_PRINT_CRITICALS">
      </member>
    </bitfield>
    <function-macro name="ELEMENT_MONITOR_ELEMENT_IS_CONVERTER"
                    c:identifier="GST_VALIDATE_ELEMENT_MONITOR_ELEMENT_IS_CONVERTER"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-element-monitor.h"
                       line="46"/>
      <parameters>
        <parameter name="m">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ELEMENT_MONITOR_ELEMENT_IS_DECODER"
                    c:identifier="GST_VALIDATE_ELEMENT_MONITOR_ELEMENT_IS_DECODER"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-element-monitor.h"
                       line="43"/>
      <parameters>
        <parameter name="m">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ELEMENT_MONITOR_ELEMENT_IS_DEMUXER"
                    c:identifier="GST_VALIDATE_ELEMENT_MONITOR_ELEMENT_IS_DEMUXER"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-element-monitor.h"
                       line="45"/>
      <parameters>
        <parameter name="m">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ELEMENT_MONITOR_ELEMENT_IS_ENCODER"
                    c:identifier="GST_VALIDATE_ELEMENT_MONITOR_ELEMENT_IS_ENCODER"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-element-monitor.h"
                       line="44"/>
      <parameters>
        <parameter name="m">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ELEMENT_MONITOR_ELEMENT_IS_SINK"
                    c:identifier="GST_VALIDATE_ELEMENT_MONITOR_ELEMENT_IS_SINK"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-element-monitor.h"
                       line="47"/>
      <parameters>
        <parameter name="m">
        </parameter>
      </parameters>
    </function-macro>
    <class name="ElementMonitor"
           c:symbol-prefix="element_monitor"
           c:type="GstValidateElementMonitor"
           parent="Monitor"
           glib:type-name="GstValidateElementMonitor"
           glib:get-type="gst_validate_element_monitor_get_type"
           glib:type-struct="ElementMonitorClass">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-element-monitor.h"
           line="52">GStreamer Validate ElementMonitor class.

Class that wraps a #GstElement for Validate checks</doc>
      <source-position filename="validate/gst/validate/gst-validate-element-monitor.h"
                       line="86"/>
      <implements name="Reporter"/>
      <constructor name="new" c:identifier="gst_validate_element_monitor_new">
        <source-position filename="validate/gst/validate/gst-validate-element-monitor.h"
                         line="93"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-element-monitor.c"
               line="158">A #GstValidateElementMonitor</doc>
          <type name="ElementMonitor" c:type="GstValidateElementMonitor*"/>
        </return-value>
        <parameters>
          <parameter name="element" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-element-monitor.c"
                 line="154">a #GstElement to run Validate on</doc>
            <type name="Gst.Element" c:type="GstElement*"/>
          </parameter>
          <parameter name="runner" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-element-monitor.c"
                 line="155">a #GstValidateRunner</doc>
            <type name="Runner" c:type="GstValidateRunner*"/>
          </parameter>
          <parameter name="parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-element-monitor.c"
                 line="156">The parent of the new monitor</doc>
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Monitor" c:type="GstValidateMonitor"/>
      </field>
      <field name="pad_added_id" readable="0" private="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="pad_monitors" readable="0" private="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="is_decoder" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="is_encoder" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="is_demuxer" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="is_converter" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="is_sink" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </class>
    <record name="ElementMonitorClass"
            c:type="GstValidateElementMonitorClass"
            glib:is-gtype-struct-for="ElementMonitor">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-element-monitor.h"
           line="75">GStreamer Validate ElementMonitor object class.</doc>
      <source-position filename="validate/gst/validate/gst-validate-element-monitor.h"
                       line="86"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-element-monitor.h"
             line="77">parent</doc>
        <type name="MonitorClass" c:type="GstValidateMonitorClass"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <callback name="ExecuteAction" c:type="GstValidateExecuteAction">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-scenario.h"
           line="88">A function that executes a #GstValidateAction</doc>
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="97"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="95">a #GstValidateExecuteActionReturn</doc>
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="scenario" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.h"
               line="90">The #GstValidateScenario from which the @action is executed</doc>
          <type name="Scenario" c:type="GstValidateScenario*"/>
        </parameter>
        <parameter name="action" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.h"
               line="91">The #GstValidateAction being executed</doc>
          <type name="Action" c:type="GstValidateAction*"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="GetIncludePathsFunc"
              c:type="GstValidateGetIncludePathsFunc"
              introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="37"/>
      <return-value>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="includer_file" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </callback>
    <function-macro name="ISSUE_ARGS"
                    c:identifier="GST_VALIDATE_ISSUE_ARGS"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="275"/>
      <parameters>
        <parameter name="i">
        </parameter>
      </parameters>
    </function-macro>
    <enumeration name="InterceptionReturn"
                 glib:type-name="GstValidateInterceptionReturn"
                 glib:get-type="gst_validate_interception_return_get_type"
                 c:type="GstValidateInterceptionReturn">
      <member name="drop"
              value="0"
              c:identifier="GST_VALIDATE_REPORTER_DROP"
              glib:nick="drop"
              glib:name="GST_VALIDATE_REPORTER_DROP">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-reporter.h"
             line="73">The report will be completely ignored.</doc>
      </member>
      <member name="keep"
              value="1"
              c:identifier="GST_VALIDATE_REPORTER_KEEP"
              glib:nick="keep"
              glib:name="GST_VALIDATE_REPORTER_KEEP">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-reporter.h"
             line="74">The report will be kept by the reporter,
                             but not reported to the runner.</doc>
      </member>
      <member name="report"
              value="2"
              c:identifier="GST_VALIDATE_REPORTER_REPORT"
              glib:nick="report"
              glib:name="GST_VALIDATE_REPORTER_REPORT">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-reporter.h"
             line="76">The report will be kept by the reporter
                               and reported to the runner.</doc>
      </member>
    </enumeration>
    <record name="Issue"
            c:type="GstValidateIssue"
            glib:type-name="GstValidateIssue"
            glib:get-type="gst_validate_issue_get_type"
            c:symbol-prefix="issue">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="205"/>
      <field name="issue_id" writable="1">
        <type name="IssueId" c:type="GstValidateIssueId"/>
      </field>
      <field name="summary" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="description" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="area" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="default_level" writable="1">
        <type name="ReportLevel" c:type="GstValidateReportLevel"/>
      </field>
      <field name="refcount" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="flags" writable="1">
        <type name="IssueFlags" c:type="GstValidateIssueFlags"/>
      </field>
      <field name="_gst_reserved" writable="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <constructor name="new" c:identifier="gst_validate_issue_new">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="294"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="274">The newly created #GstValidateIssue</doc>
          <type name="Issue" c:type="GstValidateIssue*"/>
        </return-value>
        <parameters>
          <parameter name="issue_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-report.c"
                 line="269">The ID of the issue, should be a GQuark</doc>
            <type name="IssueId" c:type="GstValidateIssueId"/>
          </parameter>
          <parameter name="summary" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-report.c"
                 line="270">A summary of the issue</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-report.c"
                 line="271">A more complete description of the issue</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="default_level" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-report.c"
                 line="272">The level at which the issue will be reported by default</doc>
            <type name="ReportLevel" c:type="GstValidateReportLevel"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_full" c:identifier="gst_validate_issue_new_full">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="298"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="235">The newly created #GstValidateIssue</doc>
          <type name="Issue" c:type="GstValidateIssue*"/>
        </return-value>
        <parameters>
          <parameter name="issue_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-report.c"
                 line="229">The ID of the issue, should be a GQuark</doc>
            <type name="IssueId" c:type="GstValidateIssueId"/>
          </parameter>
          <parameter name="summary" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-report.c"
                 line="230">A summary of the issue</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-report.c"
                 line="231">A more complete description of the issue</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="default_level" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-report.c"
                 line="232">The level at which the issue will be reported by default</doc>
            <type name="ReportLevel" c:type="GstValidateReportLevel"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-report.c"
                 line="233">The flags to determine behaviour of the issue</doc>
            <type name="IssueFlags" c:type="GstValidateIssueFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_id" c:identifier="gst_validate_issue_get_id">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="290"/>
        <return-value transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="issue" transfer-ownership="none">
            <type name="Issue" c:type="GstValidateIssue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="register" c:identifier="gst_validate_issue_register">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-report.c"
             line="316">Registers @issue in the issue type system</doc>
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="292"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="issue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-report.c"
                 line="318">The #GstValidateIssue to register</doc>
            <type name="Issue" c:type="GstValidateIssue*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_default_level"
              c:identifier="gst_validate_issue_set_default_level">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="302"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="issue" transfer-ownership="none">
            <type name="Issue" c:type="GstValidateIssue*"/>
          </instance-parameter>
          <parameter name="default_level" transfer-ownership="none">
            <type name="ReportLevel" c:type="GstValidateReportLevel"/>
          </parameter>
        </parameters>
      </method>
      <function name="from_id" c:identifier="gst_validate_issue_from_id">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="288"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="772">The issue if found or NULL otherwise</doc>
          <type name="Issue" c:type="GstValidateIssue*"/>
        </return-value>
        <parameters>
          <parameter name="issue_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-report.c"
                 line="770">The issue id</doc>
            <type name="IssueId" c:type="GstValidateIssueId"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <bitfield name="IssueFlags"
              glib:type-name="GstValidateIssueFlags"
              glib:get-type="gst_validate_issue_flags_get_type"
              c:type="GstValidateIssueFlags">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-report.h"
           line="156">GST_VALIDATE_ISSUE_FLAGS_NONE: No special flags for the issue type
GST_VALIDATE_ISSUE_FLAGS_FULL_DETAILS: Always show all occurrences of the issue in full details
GST_VALIDATE_ISSUE_FLAGS_NO_BACKTRACE: Do not generate backtrace for the issue type</doc>
      <member name="none"
              value="0"
              c:identifier="GST_VALIDATE_ISSUE_FLAGS_NONE"
              glib:nick="none"
              glib:name="GST_VALIDATE_ISSUE_FLAGS_NONE">
      </member>
      <member name="full_details"
              value="1"
              c:identifier="GST_VALIDATE_ISSUE_FLAGS_FULL_DETAILS"
              glib:nick="full-details"
              glib:name="GST_VALIDATE_ISSUE_FLAGS_FULL_DETAILS">
      </member>
      <member name="no_backtrace"
              value="2"
              c:identifier="GST_VALIDATE_ISSUE_FLAGS_NO_BACKTRACE"
              glib:nick="no-backtrace"
              glib:name="GST_VALIDATE_ISSUE_FLAGS_NO_BACKTRACE">
      </member>
      <member name="force_backtrace"
              value="4"
              c:identifier="GST_VALIDATE_ISSUE_FLAGS_FORCE_BACKTRACE"
              version="1.20"
              glib:nick="force-backtrace"
              glib:name="GST_VALIDATE_ISSUE_FLAGS_FORCE_BACKTRACE">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-report.h"
             line="167">Always generate backtrace, even if not a critical issue</doc>
      </member>
    </bitfield>
    <function-macro name="MEDIA_DESCRIPTOR_GET_LOCK"
                    c:identifier="GST_VALIDATE_MEDIA_DESCRIPTOR_GET_LOCK"
                    introspectable="0">
      <source-position filename="validate/gst/validate/media-descriptor.h"
                       line="48"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MEDIA_DESCRIPTOR_LOCK"
                    c:identifier="GST_VALIDATE_MEDIA_DESCRIPTOR_LOCK"
                    introspectable="0">
      <source-position filename="validate/gst/validate/media-descriptor.h"
                       line="49"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MEDIA_DESCRIPTOR_UNLOCK"
                    c:identifier="GST_VALIDATE_MEDIA_DESCRIPTOR_UNLOCK"
                    introspectable="0">
      <source-position filename="validate/gst/validate/media-descriptor.h"
                       line="50"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MONITOR_GET_PARENT"
                    c:identifier="GST_VALIDATE_MONITOR_GET_PARENT"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                       line="50"/>
      <parameters>
        <parameter name="m">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MONITOR_LOCK"
                    c:identifier="GST_VALIDATE_MONITOR_LOCK"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                       line="52"/>
      <parameters>
        <parameter name="m">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MONITOR_OVERRIDES"
                    c:identifier="GST_VALIDATE_MONITOR_OVERRIDES"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                       line="68"/>
      <parameters>
        <parameter name="m">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MONITOR_OVERRIDES_LOCK"
                    c:identifier="GST_VALIDATE_MONITOR_OVERRIDES_LOCK"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                       line="66"/>
      <parameters>
        <parameter name="m">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MONITOR_OVERRIDES_UNLOCK"
                    c:identifier="GST_VALIDATE_MONITOR_OVERRIDES_UNLOCK"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                       line="67"/>
      <parameters>
        <parameter name="m">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MONITOR_UNLOCK"
                    c:identifier="GST_VALIDATE_MONITOR_UNLOCK"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                       line="59"/>
      <parameters>
        <parameter name="m">
        </parameter>
      </parameters>
    </function-macro>
    <class name="MediaDescriptor"
           c:symbol-prefix="media_descriptor"
           c:type="GstValidateMediaDescriptor"
           parent="Gst.Object"
           abstract="1"
           glib:type-name="GstValidateMediaDescriptor"
           glib:get-type="gst_validate_media_descriptor_get_type"
           glib:type-struct="MediaDescriptorClass">
      <source-position filename="validate/gst/validate/media-descriptor.h"
                       line="74"/>
      <implements name="Reporter"/>
      <method name="_compare"
              c:identifier="gst_validate_media_descriptors_compare"
              moved-to="media_descriptors_compare">
        <source-position filename="validate/gst/validate/media-descriptor.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="ref" transfer-ownership="none">
            <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor*"/>
          </instance-parameter>
          <parameter name="compared" transfer-ownership="none">
            <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="detects_frames"
              c:identifier="gst_validate_media_descriptor_detects_frames">
        <source-position filename="validate/gst/validate/media-descriptor.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buffers"
              c:identifier="gst_validate_media_descriptor_get_buffers"
              introspectable="0">
        <source-position filename="validate/gst/validate/media-descriptor.h"
                         line="83"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor*"/>
          </instance-parameter>
          <parameter name="pad" transfer-ownership="none">
            <type name="Gst.Pad" c:type="GstPad*"/>
          </parameter>
          <parameter name="compare_func" transfer-ownership="none">
            <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
          </parameter>
          <parameter name="bufs" transfer-ownership="none">
            <type name="GLib.List" c:type="GList**">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="get_duration"
              c:identifier="gst_validate_media_descriptor_get_duration">
        <source-position filename="validate/gst/validate/media-descriptor.h"
                         line="89"/>
        <return-value transfer-ownership="none">
          <type name="Gst.ClockTime" c:type="GstClockTime"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pads"
              c:identifier="gst_validate_media_descriptor_get_pads"
              introspectable="0">
        <source-position filename="validate/gst/validate/media-descriptor.h"
                         line="94"/>
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_seekable"
              c:identifier="gst_validate_media_descriptor_get_seekable">
        <source-position filename="validate/gst/validate/media-descriptor.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_frame_info"
              c:identifier="gst_validate_media_descriptor_has_frame_info">
        <source-position filename="validate/gst/validate/media-descriptor.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="validate-runner"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Runner"/>
      </property>
      <field name="parent">
        <type name="Gst.Object" c:type="GstObject"/>
      </field>
      <field name="lock">
        <type name="GLib.Mutex" c:type="GMutex"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="MediaDescriptorPrivate"
              c:type="GstValidateMediaDescriptorPrivate*"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </class>
    <record name="MediaDescriptorClass"
            c:type="GstValidateMediaDescriptorClass"
            glib:is-gtype-struct-for="MediaDescriptor">
      <source-position filename="validate/gst/validate/media-descriptor.h"
                       line="74"/>
      <field name="parent">
        <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="MediaDescriptorParser"
           c:symbol-prefix="media_descriptor_parser"
           c:type="GstValidateMediaDescriptorParser"
           parent="MediaDescriptor"
           glib:type-name="GstValidateMediaDescriptorParser"
           glib:get-type="gst_validate_media_descriptor_parser_get_type"
           glib:type-struct="MediaDescriptorParserClass">
      <source-position filename="validate/gst/validate/media-descriptor-parser.h"
                       line="64"/>
      <implements name="Reporter"/>
      <constructor name="new"
                   c:identifier="gst_validate_media_descriptor_parser_new"
                   throws="1">
        <source-position filename="validate/gst/validate/media-descriptor-parser.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <type name="MediaDescriptorParser"
                c:type="GstValidateMediaDescriptorParser*"/>
        </return-value>
        <parameters>
          <parameter name="runner" transfer-ownership="none">
            <type name="Runner" c:type="GstValidateRunner*"/>
          </parameter>
          <parameter name="xmlpath" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gst_validate_media_descriptor_parser_new_from_xml"
                   throws="1">
        <source-position filename="validate/gst/validate/media-descriptor-parser.h"
                         line="71"/>
        <return-value transfer-ownership="none">
          <type name="MediaDescriptorParser"
                c:type="GstValidateMediaDescriptorParser*"/>
        </return-value>
        <parameters>
          <parameter name="runner" transfer-ownership="none">
            <type name="Runner" c:type="GstValidateRunner*"/>
          </parameter>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_stream"
              c:identifier="gst_validate_media_descriptor_parser_add_stream">
        <source-position filename="validate/gst/validate/media-descriptor-parser.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="parser" transfer-ownership="none">
            <type name="MediaDescriptorParser"
                  c:type="GstValidateMediaDescriptorParser*"/>
          </instance-parameter>
          <parameter name="pad" transfer-ownership="none">
            <type name="Gst.Pad" c:type="GstPad*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_taglist"
              c:identifier="gst_validate_media_descriptor_parser_add_taglist">
        <source-position filename="validate/gst/validate/media-descriptor-parser.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="parser" transfer-ownership="none">
            <type name="MediaDescriptorParser"
                  c:type="GstValidateMediaDescriptorParser*"/>
          </instance-parameter>
          <parameter name="taglist" transfer-ownership="none">
            <type name="Gst.TagList" c:type="GstTagList*"/>
          </parameter>
        </parameters>
      </method>
      <method name="all_stream_found"
              c:identifier="gst_validate_media_descriptor_parser_all_stream_found">
        <source-position filename="validate/gst/validate/media-descriptor-parser.h"
                         line="83"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="parser" transfer-ownership="none">
            <type name="MediaDescriptorParser"
                  c:type="GstValidateMediaDescriptorParser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="all_tags_found"
              c:identifier="gst_validate_media_descriptor_parser_all_tags_found">
        <source-position filename="validate/gst/validate/media-descriptor-parser.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="parser" transfer-ownership="none">
            <type name="MediaDescriptorParser"
                  c:type="GstValidateMediaDescriptorParser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_xml_path"
              c:identifier="gst_validate_media_descriptor_parser_get_xml_path">
        <source-position filename="validate/gst/validate/media-descriptor-parser.h"
                         line="75"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="parser" transfer-ownership="none">
            <type name="MediaDescriptorParser"
                  c:type="GstValidateMediaDescriptorParser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor"/>
      </field>
      <field name="priv">
        <type name="MediaDescriptorParserPrivate"
              c:type="GstValidateMediaDescriptorParserPrivate*"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </class>
    <record name="MediaDescriptorParserClass"
            c:type="GstValidateMediaDescriptorParserClass"
            glib:is-gtype-struct-for="MediaDescriptorParser">
      <source-position filename="validate/gst/validate/media-descriptor-parser.h"
                       line="64"/>
      <field name="parent">
        <type name="MediaDescriptorClass"
              c:type="GstValidateMediaDescriptorClass"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="MediaDescriptorParserPrivate"
            c:type="GstValidateMediaDescriptorParserPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="validate/gst/validate/media-descriptor-parser.h"
                       line="44"/>
    </record>
    <record name="MediaDescriptorPrivate"
            c:type="GstValidateMediaDescriptorPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="validate/gst/validate/media-descriptor.h"
                       line="53"/>
    </record>
    <class name="MediaDescriptorWriter"
           c:symbol-prefix="media_descriptor_writer"
           c:type="GstValidateMediaDescriptorWriter"
           parent="MediaDescriptor"
           glib:type-name="GstValidateMediaDescriptorWriter"
           glib:get-type="gst_validate_media_descriptor_writer_get_type"
           glib:type-struct="MediaDescriptorWriterClass">
      <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                       line="65"/>
      <implements name="Reporter"/>
      <constructor name="new"
                   c:identifier="gst_validate_media_descriptor_writer_new">
        <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <type name="MediaDescriptorWriter"
                c:type="GstValidateMediaDescriptorWriter*"/>
        </return-value>
        <parameters>
          <parameter name="runner" transfer-ownership="none">
            <type name="Runner" c:type="GstValidateRunner*"/>
          </parameter>
          <parameter name="location" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="duration" transfer-ownership="none">
            <type name="Gst.ClockTime" c:type="GstClockTime"/>
          </parameter>
          <parameter name="seekable" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_discover"
                   c:identifier="gst_validate_media_descriptor_writer_new_discover"
                   throws="1">
        <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <type name="MediaDescriptorWriter"
                c:type="GstValidateMediaDescriptorWriter*"/>
        </return-value>
        <parameters>
          <parameter name="runner" transfer-ownership="none">
            <type name="Runner" c:type="GstValidateRunner*"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="MediaDescriptorWriterFlags"
                  c:type="GstValidateMediaDescriptorWriterFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_frame"
              c:identifier="gst_validate_media_descriptor_writer_add_frame">
        <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                         line="103"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="writer" transfer-ownership="none">
            <type name="MediaDescriptorWriter"
                  c:type="GstValidateMediaDescriptorWriter*"/>
          </instance-parameter>
          <parameter name="pad" transfer-ownership="none">
            <type name="Gst.Pad" c:type="GstPad*"/>
          </parameter>
          <parameter name="buf" transfer-ownership="none">
            <type name="Gst.Buffer" c:type="GstBuffer*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_pad"
              c:identifier="gst_validate_media_descriptor_writer_add_pad">
        <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                         line="97"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="writer" transfer-ownership="none">
            <type name="MediaDescriptorWriter"
                  c:type="GstValidateMediaDescriptorWriter*"/>
          </instance-parameter>
          <parameter name="pad" transfer-ownership="none">
            <type name="Gst.Pad" c:type="GstPad*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_taglist"
              c:identifier="gst_validate_media_descriptor_writer_add_taglist">
        <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                         line="100"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="writer" transfer-ownership="none">
            <type name="MediaDescriptorWriter"
                  c:type="GstValidateMediaDescriptorWriter*"/>
          </instance-parameter>
          <parameter name="taglist" transfer-ownership="none">
            <type name="Gst.TagList" c:type="const GstTagList*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_tags"
              c:identifier="gst_validate_media_descriptor_writer_add_tags">
        <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                         line="107"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="writer" transfer-ownership="none">
            <type name="MediaDescriptorWriter"
                  c:type="GstValidateMediaDescriptorWriter*"/>
          </instance-parameter>
          <parameter name="stream_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="taglist" transfer-ownership="none">
            <type name="Gst.TagList" c:type="const GstTagList*"/>
          </parameter>
        </parameters>
      </method>
      <method name="detects_frames"
              c:identifier="gst_validate_media_descriptor_writer_detects_frames">
        <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                         line="92"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="writer" transfer-ownership="none">
            <type name="MediaDescriptorWriter"
                  c:type="GstValidateMediaDescriptorWriter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_duration"
              c:identifier="gst_validate_media_descriptor_writer_get_duration">
        <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <type name="Gst.ClockTime" c:type="GstClockTime"/>
        </return-value>
        <parameters>
          <instance-parameter name="writer" transfer-ownership="none">
            <type name="MediaDescriptorWriter"
                  c:type="GstValidateMediaDescriptorWriter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_seekable"
              c:identifier="gst_validate_media_descriptor_writer_get_seekable">
        <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="writer" transfer-ownership="none">
            <type name="MediaDescriptorWriter"
                  c:type="GstValidateMediaDescriptorWriter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_xml_path"
              c:identifier="gst_validate_media_descriptor_writer_get_xml_path">
        <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                         line="90"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="writer" transfer-ownership="none">
            <type name="MediaDescriptorWriter"
                  c:type="GstValidateMediaDescriptorWriter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="serialize"
              c:identifier="gst_validate_media_descriptor_writer_serialize">
        <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                         line="114"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="writer" transfer-ownership="none">
            <type name="MediaDescriptorWriter"
                  c:type="GstValidateMediaDescriptorWriter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="write"
              c:identifier="gst_validate_media_descriptor_writer_write">
        <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                         line="111"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="writer" transfer-ownership="none">
            <type name="MediaDescriptorWriter"
                  c:type="GstValidateMediaDescriptorWriter*"/>
          </instance-parameter>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor"/>
      </field>
      <field name="priv">
        <type name="MediaDescriptorWriterPrivate"
              c:type="GstValidateMediaDescriptorWriterPrivate*"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </class>
    <record name="MediaDescriptorWriterClass"
            c:type="GstValidateMediaDescriptorWriterClass"
            glib:is-gtype-struct-for="MediaDescriptorWriter">
      <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                       line="65"/>
      <field name="parent">
        <type name="MediaDescriptorClass"
              c:type="GstValidateMediaDescriptorClass"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <bitfield name="MediaDescriptorWriterFlags"
              glib:type-name="GstValidateMediaDescriptorWriterFlags"
              glib:get-type="gst_validate_media_descriptor_writer_flags_get_type"
              c:type="GstValidateMediaDescriptorWriterFlags">
      <member name="none"
              value="1"
              c:identifier="GST_VALIDATE_MEDIA_DESCRIPTOR_WRITER_FLAGS_NONE"
              glib:nick="none"
              glib:name="GST_VALIDATE_MEDIA_DESCRIPTOR_WRITER_FLAGS_NONE">
      </member>
      <member name="no_parser"
              value="2"
              c:identifier="GST_VALIDATE_MEDIA_DESCRIPTOR_WRITER_FLAGS_NO_PARSER"
              glib:nick="no-parser"
              glib:name="GST_VALIDATE_MEDIA_DESCRIPTOR_WRITER_FLAGS_NO_PARSER">
      </member>
      <member name="full"
              value="4"
              c:identifier="GST_VALIDATE_MEDIA_DESCRIPTOR_WRITER_FLAGS_FULL"
              glib:nick="full"
              glib:name="GST_VALIDATE_MEDIA_DESCRIPTOR_WRITER_FLAGS_FULL">
      </member>
      <member name="handle_glogs"
              value="8"
              c:identifier="GST_VALIDATE_MEDIA_DESCRIPTOR_WRITER_FLAGS_HANDLE_GLOGS"
              glib:nick="handle-glogs"
              glib:name="GST_VALIDATE_MEDIA_DESCRIPTOR_WRITER_FLAGS_HANDLE_GLOGS">
      </member>
    </bitfield>
    <record name="MediaDescriptorWriterPrivate"
            c:type="GstValidateMediaDescriptorWriterPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="validate/gst/validate/media-descriptor-writer.h"
                       line="45"/>
    </record>
    <record name="MediaInfo" c:type="GstValidateMediaInfo">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-media-info.h"
           line="34">GStreamer Validate MediaInfo struct.

Stores extracted information about a media</doc>
      <source-position filename="validate/gst/validate/gst-validate-media-info.h"
                       line="66"/>
      <field name="duration" writable="1">
        <type name="Gst.ClockTime" c:type="GstClockTime"/>
      </field>
      <field name="is_image" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="file_size" writable="1">
        <type name="guint64" c:type="guint64"/>
      </field>
      <field name="seekable" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="playback_error" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="reverse_playback_error" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="track_switch_error" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="uri" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="discover_only" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="stream_info" writable="1">
        <type name="StreamInfo" c:type="GstValidateStreamInfo*"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <method name="clear" c:identifier="gst_validate_media_info_clear">
        <source-position filename="validate/gst/validate/gst-validate-media-info.h"
                         line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="mi" transfer-ownership="none">
            <type name="MediaInfo" c:type="GstValidateMediaInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="compare" c:identifier="gst_validate_media_info_compare">
        <source-position filename="validate/gst/validate/gst-validate-media-info.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="expected" transfer-ownership="none">
            <type name="MediaInfo" c:type="GstValidateMediaInfo*"/>
          </instance-parameter>
          <parameter name="extracted" transfer-ownership="none">
            <type name="MediaInfo" c:type="GstValidateMediaInfo*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="gst_validate_media_info_free">
        <source-position filename="validate/gst/validate/gst-validate-media-info.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="mi" transfer-ownership="none">
            <type name="MediaInfo" c:type="GstValidateMediaInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="init" c:identifier="gst_validate_media_info_init">
        <source-position filename="validate/gst/validate/gst-validate-media-info.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="mi" transfer-ownership="none">
            <type name="MediaInfo" c:type="GstValidateMediaInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="inspect_uri"
              c:identifier="gst_validate_media_info_inspect_uri"
              throws="1">
        <source-position filename="validate/gst/validate/gst-validate-media-info.h"
                         line="83"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="mi" transfer-ownership="none">
            <type name="MediaInfo" c:type="GstValidateMediaInfo*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="discover_only" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="save"
              c:identifier="gst_validate_media_info_save"
              throws="1">
        <source-position filename="validate/gst/validate/gst-validate-media-info.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="mi" transfer-ownership="none">
            <type name="MediaInfo" c:type="GstValidateMediaInfo*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_string"
              c:identifier="gst_validate_media_info_to_string">
        <source-position filename="validate/gst/validate/gst-validate-media-info.h"
                         line="76"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="mi" transfer-ownership="none">
            <type name="MediaInfo" c:type="GstValidateMediaInfo*"/>
          </instance-parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <function name="load"
                c:identifier="gst_validate_media_info_load"
                introspectable="0"
                throws="1">
        <source-position filename="validate/gst/validate/gst-validate-media-info.h"
                         line="80"/>
        <return-value>
          <type name="MediaInfo" c:type="GstValidateMediaInfo*"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <class name="Monitor"
           c:symbol-prefix="monitor"
           c:type="GstValidateMonitor"
           parent="Gst.Object"
           abstract="1"
           glib:type-name="GstValidateMonitor"
           glib:get-type="gst_validate_monitor_get_type"
           glib:type-struct="MonitorClass">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-monitor.h"
           line="76">GStreamer Validate Monitor class.

Class that wraps a #GObject for Validate checks</doc>
      <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                       line="124"/>
      <implements name="Reporter"/>
      <function name="factory_create"
                c:identifier="gst_validate_monitor_factory_create">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-monitor-factory.c"
             line="44">Create a new monitor for @target and starts monitoring it.</doc>
        <source-position filename="validate/gst/validate/gst-validate-monitor-factory.h"
                         line="34"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-monitor-factory.c"
               line="52">The newly created #GstValidateMonitor</doc>
          <type name="Monitor" c:type="GstValidateMonitor*"/>
        </return-value>
        <parameters>
          <parameter name="target" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-monitor-factory.c"
                 line="46">The #GstObject to create a #GstValidateMonitor for</doc>
            <type name="Gst.Object" c:type="GstObject*"/>
          </parameter>
          <parameter name="runner" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-monitor-factory.c"
                 line="47">The #GstValidateRunner to use for the new monitor</doc>
            <type name="Runner" c:type="GstValidateRunner*"/>
          </parameter>
          <parameter name="parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-monitor-factory.c"
                 line="48">The parent of the new monitor</doc>
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="get_element" invoker="get_element">
        <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                         line="118"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-monitor.c"
               line="320">The GstElement associated with @monitor</doc>
          <type name="Gst.Element" c:type="GstElement*"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-monitor.c"
                 line="318">The monitor</doc>
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_media_descriptor"
                      invoker="set_media_descriptor">
        <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                         line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </instance-parameter>
          <parameter name="media_descriptor" transfer-ownership="none">
            <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="setup">
        <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                         line="117"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="attach_override"
              c:identifier="gst_validate_monitor_attach_override">
        <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                         line="131"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </instance-parameter>
          <parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_element"
              c:identifier="gst_validate_monitor_get_element">
        <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                         line="135"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-monitor.c"
               line="320">The GstElement associated with @monitor</doc>
          <type name="Gst.Element" c:type="GstElement*"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-monitor.c"
                 line="318">The monitor</doc>
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_element_name"
              c:identifier="gst_validate_monitor_get_element_name">
        <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                         line="137"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-monitor.c"
               line="338">The name of the element associated with @monitor</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-monitor.c"
                 line="336">The monitor</doc>
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pipeline"
              c:identifier="gst_validate_monitor_get_pipeline"
              glib:get-property="pipeline">
        <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                         line="142"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-monitor.c"
               line="80">The pipeline in which @monitor
target is in.</doc>
          <type name="Gst.Pipeline" c:type="GstPipeline*"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-monitor.c"
                 line="78">The monitor to get the pipeline from</doc>
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_target" c:identifier="gst_validate_monitor_get_target">
        <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                         line="144"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-monitor.c"
               line="93">The target object</doc>
          <type name="Gst.Object" c:type="GstObject*"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-monitor.c"
                 line="91">The monitor to get the target from</doc>
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_media_descriptor"
              c:identifier="gst_validate_monitor_set_media_descriptor">
        <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                         line="139"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </instance-parameter>
          <parameter name="media_descriptor" transfer-ownership="none">
            <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor*"/>
          </parameter>
        </parameters>
      </method>
      <property name="object"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="GObject.Object"/>
      </property>
      <property name="pipeline"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_pipeline">
        <type name="Gst.Pipeline"/>
      </property>
      <property name="validate-parent"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Monitor"/>
      </property>
      <property name="validate-runner"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Runner"/>
      </property>
      <property name="verbosity"
                writable="1"
                transfer-ownership="none"
                default-value="GST_VALIDATE_VERBOSITY_POSITION">
        <type name="VerbosityFlags"/>
      </property>
      <field name="object">
        <type name="Gst.Object" c:type="GstObject"/>
      </field>
      <field name="target">
        <type name="GObject.WeakRef" c:type="GWeakRef"/>
      </field>
      <field name="pipeline">
        <type name="GObject.WeakRef" c:type="GWeakRef"/>
      </field>
      <field name="mutex">
        <type name="GLib.Mutex" c:type="GMutex"/>
      </field>
      <field name="target_name">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="parent">
        <type name="Monitor" c:type="GstValidateMonitor*"/>
      </field>
      <field name="overrides_mutex">
        <type name="GLib.Mutex" c:type="GMutex"/>
      </field>
      <field name="overrides">
        <type name="GLib.Queue" c:type="GQueue"/>
      </field>
      <field name="media_descriptor">
        <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor*"/>
      </field>
      <field name="level">
        <type name="ReportingDetails" c:type="GstValidateReportingDetails"/>
      </field>
      <field name="reports" readable="0" private="1">
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="verbosity" readable="0" private="1">
        <type name="VerbosityFlags" c:type="GstValidateVerbosityFlags"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </class>
    <record name="MonitorClass"
            c:type="GstValidateMonitorClass"
            glib:is-gtype-struct-for="Monitor">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-monitor.h"
           line="108">GStreamer Validate Monitor object class.</doc>
      <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                       line="124"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-monitor.h"
             line="110">parent</doc>
        <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
      </field>
      <field name="setup">
        <callback name="setup">
          <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                           line="117"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="monitor" transfer-ownership="none">
              <type name="Monitor" c:type="GstValidateMonitor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_element">
        <callback name="get_element">
          <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                           line="118"/>
          <return-value transfer-ownership="none" nullable="1">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-monitor.c"
                 line="320">The GstElement associated with @monitor</doc>
            <type name="Gst.Element" c:type="GstElement*"/>
          </return-value>
          <parameters>
            <parameter name="monitor" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="validate/gst/validate/gst-validate-monitor.c"
                   line="318">The monitor</doc>
              <type name="Monitor" c:type="GstValidateMonitor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_media_descriptor">
        <callback name="set_media_descriptor">
          <source-position filename="validate/gst/validate/gst-validate-monitor.h"
                           line="119"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="monitor" transfer-ownership="none">
              <type name="Monitor" c:type="GstValidateMonitor*"/>
            </parameter>
            <parameter name="media_descriptor" transfer-ownership="none">
              <type name="MediaDescriptor"
                    c:type="GstValidateMediaDescriptor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <bitfield name="ObjectSetPropertyFlags"
              version="1.24"
              glib:type-name="GstValidateObjectSetPropertyFlags"
              glib:get-type="gst_validate_object_set_property_flags_get_type"
              c:type="GstValidateObjectSetPropertyFlags">
      <member name="optional"
              value="1"
              c:identifier="GST_VALIDATE_OBJECT_SET_PROPERTY_FLAGS_OPTIONAL"
              glib:nick="optional"
              glib:name="GST_VALIDATE_OBJECT_SET_PROPERTY_FLAGS_OPTIONAL">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-enums.h"
             line="119">The property is optional, if it
is not found on the object, nothing happens.</doc>
      </member>
      <member name="no_value_check"
              value="2"
              c:identifier="GST_VALIDATE_OBJECT_SET_PROPERTY_FLAGS_NO_VALUE_CHECK"
              glib:nick="no-value-check"
              glib:name="GST_VALIDATE_OBJECT_SET_PROPERTY_FLAGS_NO_VALUE_CHECK">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-enums.h"
             line="121">Do not check that after
setting the property, the value is the one we set.</doc>
      </member>
    </bitfield>
    <class name="Override"
           c:symbol-prefix="override"
           c:type="GstValidateOverride"
           parent="Gst.Object"
           glib:type-name="GstValidateOverride"
           glib:get-type="gst_validate_override_get_type"
           glib:type-struct="OverrideClass">
      <source-position filename="validate/gst/validate/gst-validate-override.h"
                       line="62"/>
      <implements name="Reporter"/>
      <constructor name="new" c:identifier="gst_validate_override_new">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="96"/>
        <return-value transfer-ownership="none">
          <type name="Override" c:type="GstValidateOverride*"/>
        </return-value>
      </constructor>
      <function name="register_by_klass"
                c:identifier="gst_validate_override_register_by_klass">
        <source-position filename="validate/gst/validate/gst-validate-override-registry.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="klass" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </parameter>
        </parameters>
      </function>
      <function name="register_by_name"
                c:identifier="gst_validate_override_register_by_name">
        <source-position filename="validate/gst/validate/gst-validate-override-registry.h"
                         line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </parameter>
        </parameters>
      </function>
      <function name="register_by_type"
                c:identifier="gst_validate_override_register_by_type">
        <source-position filename="validate/gst/validate/gst-validate-override-registry.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="gtype" transfer-ownership="none">
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="attached" invoker="attached">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="can_attach"
                      invoker="can_attach"
                      introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="monitor" transfer-ownership="none">
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="attached" c:identifier="gst_validate_override_attached">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="141"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="buffer_handler"
              c:identifier="gst_validate_override_buffer_handler"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="110"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="monitor" transfer-ownership="none">
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </parameter>
          <parameter name="buffer" transfer-ownership="none">
            <type name="Gst.Buffer" c:type="GstBuffer*"/>
          </parameter>
        </parameters>
      </method>
      <method name="buffer_probe_handler"
              c:identifier="gst_validate_override_buffer_probe_handler"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="114"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="monitor" transfer-ownership="none">
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </parameter>
          <parameter name="buffer" transfer-ownership="none">
            <type name="Gst.Buffer" c:type="GstBuffer*"/>
          </parameter>
        </parameters>
      </method>
      <method name="can_attach"
              c:identifier="gst_validate_override_can_attach"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="138"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="monitor" transfer-ownership="none">
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="change_severity"
              c:identifier="gst_validate_override_change_severity">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="issue_id" transfer-ownership="none">
            <type name="IssueId" c:type="GstValidateIssueId"/>
          </parameter>
          <parameter name="new_level" transfer-ownership="none">
            <type name="ReportLevel" c:type="GstValidateReportLevel"/>
          </parameter>
        </parameters>
      </method>
      <method name="element_added_handler"
              c:identifier="gst_validate_override_element_added_handler"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="133"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="monitor" transfer-ownership="none">
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </parameter>
          <parameter name="child" transfer-ownership="none">
            <type name="Gst.Element" c:type="GstElement*"/>
          </parameter>
        </parameters>
      </method>
      <method name="event_handler"
              c:identifier="gst_validate_override_event_handler"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="108"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="monitor" transfer-ownership="none">
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Gst.Event" c:type="GstEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="gst_validate_override_free">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="98"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_severity"
              c:identifier="gst_validate_override_get_severity">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="105"/>
        <return-value transfer-ownership="none">
          <type name="ReportLevel" c:type="GstValidateReportLevel"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="issue_id" transfer-ownership="none">
            <type name="IssueId" c:type="GstValidateIssueId"/>
          </parameter>
          <parameter name="default_level" transfer-ownership="none">
            <type name="ReportLevel" c:type="GstValidateReportLevel"/>
          </parameter>
        </parameters>
      </method>
      <method name="getcaps_handler"
              c:identifier="gst_validate_override_getcaps_handler"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="116"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="monitor" transfer-ownership="none">
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </parameter>
          <parameter name="caps" transfer-ownership="none">
            <type name="Gst.Caps" c:type="GstCaps*"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_handler"
              c:identifier="gst_validate_override_query_handler"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="monitor" transfer-ownership="none">
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </parameter>
          <parameter name="query" transfer-ownership="none">
            <type name="Gst.Query" c:type="GstQuery*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_buffer_handler"
              c:identifier="gst_validate_override_set_buffer_handler"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="123"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="handler" transfer-ownership="none">
            <type name="OverrideBufferHandler"
                  c:type="GstValidateOverrideBufferHandler"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_buffer_probe_handler"
              c:identifier="gst_validate_override_set_buffer_probe_handler"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="127"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="handler" transfer-ownership="none">
            <type name="OverrideBufferHandler"
                  c:type="GstValidateOverrideBufferHandler"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_element_added_handler"
              c:identifier="gst_validate_override_set_element_added_handler"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="135"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="func" transfer-ownership="none">
            <type name="OverrideElementAddedHandler"
                  c:type="GstValidateOverrideElementAddedHandler"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_event_handler"
              c:identifier="gst_validate_override_set_event_handler"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="121"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="handler" transfer-ownership="none">
            <type name="OverrideEventHandler"
                  c:type="GstValidateOverrideEventHandler"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_getcaps_handler"
              c:identifier="gst_validate_override_set_getcaps_handler"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="handler" transfer-ownership="none">
            <type name="OverrideGetCapsHandler"
                  c:type="GstValidateOverrideGetCapsHandler"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_query_handler"
              c:identifier="gst_validate_override_set_query_handler"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="125"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="handler" transfer-ownership="none">
            <type name="OverrideQueryHandler"
                  c:type="GstValidateOverrideQueryHandler"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_setcaps_handler"
              c:identifier="gst_validate_override_set_setcaps_handler"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="131"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="handler" transfer-ownership="none">
            <type name="OverrideSetCapsHandler"
                  c:type="GstValidateOverrideSetCapsHandler"/>
          </parameter>
        </parameters>
      </method>
      <method name="setcaps_handler"
              c:identifier="gst_validate_override_setcaps_handler"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override.h"
                         line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="override" transfer-ownership="none">
            <type name="Override" c:type="GstValidateOverride*"/>
          </instance-parameter>
          <parameter name="monitor" transfer-ownership="none">
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </parameter>
          <parameter name="caps" transfer-ownership="none">
            <type name="Gst.Caps" c:type="GstCaps*"/>
          </parameter>
        </parameters>
      </method>
      <property name="validate-runner"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Runner"/>
      </property>
      <field name="parent">
        <type name="Gst.Object" c:type="GstObject"/>
      </field>
      <field name="buffer_handler">
        <type name="OverrideBufferHandler"
              c:type="GstValidateOverrideBufferHandler"/>
      </field>
      <field name="event_handler">
        <type name="OverrideEventHandler"
              c:type="GstValidateOverrideEventHandler"/>
      </field>
      <field name="query_handler">
        <type name="OverrideQueryHandler"
              c:type="GstValidateOverrideQueryHandler"/>
      </field>
      <field name="buffer_probe_handler">
        <type name="OverrideBufferHandler"
              c:type="GstValidateOverrideBufferHandler"/>
      </field>
      <field name="getcaps_handler">
        <type name="OverrideGetCapsHandler"
              c:type="GstValidateOverrideGetCapsHandler"/>
      </field>
      <field name="setcaps_handler">
        <type name="OverrideSetCapsHandler"
              c:type="GstValidateOverrideSetCapsHandler"/>
      </field>
      <field name="element_added_handler">
        <type name="OverrideElementAddedHandler"
              c:type="GstValidateOverrideElementAddedHandler"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="OverridePrivate" c:type="GstValidateOverridePrivate*"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </class>
    <callback name="OverrideBufferHandler"
              c:type="GstValidateOverrideBufferHandler">
      <source-position filename="validate/gst/validate/gst-validate-override.h"
                       line="38"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="override" transfer-ownership="none">
          <type name="Override" c:type="GstValidateOverride*"/>
        </parameter>
        <parameter name="pad_monitor" transfer-ownership="none">
          <type name="Monitor" c:type="GstValidateMonitor*"/>
        </parameter>
        <parameter name="buffer" transfer-ownership="none">
          <type name="Gst.Buffer" c:type="GstBuffer*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="OverrideClass"
            c:type="GstValidateOverrideClass"
            glib:is-gtype-struct-for="Override">
      <source-position filename="validate/gst/validate/gst-validate-override.h"
                       line="62"/>
      <field name="parent_class" readable="0" private="1">
        <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
      </field>
      <field name="can_attach">
        <callback name="can_attach">
          <source-position filename="validate/gst/validate/gst-validate-override.h"
                           line="56"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="override" transfer-ownership="none">
              <type name="Override" c:type="GstValidateOverride*"/>
            </parameter>
            <parameter name="monitor" transfer-ownership="none">
              <type name="Monitor" c:type="GstValidateMonitor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="attached">
        <callback name="attached">
          <source-position filename="validate/gst/validate/gst-validate-override.h"
                           line="59"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="override" transfer-ownership="none">
              <type name="Override" c:type="GstValidateOverride*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <callback name="OverrideElementAddedHandler"
              c:type="GstValidateOverrideElementAddedHandler">
      <source-position filename="validate/gst/validate/gst-validate-override.h"
                       line="48"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="override" transfer-ownership="none">
          <type name="Override" c:type="GstValidateOverride*"/>
        </parameter>
        <parameter name="bin_monitor" transfer-ownership="none">
          <type name="Monitor" c:type="GstValidateMonitor*"/>
        </parameter>
        <parameter name="new_child" transfer-ownership="none">
          <type name="Gst.Element" c:type="GstElement*"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="OverrideEventHandler"
              c:type="GstValidateOverrideEventHandler">
      <source-position filename="validate/gst/validate/gst-validate-override.h"
                       line="40"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="override" transfer-ownership="none">
          <type name="Override" c:type="GstValidateOverride*"/>
        </parameter>
        <parameter name="pad_monitor" transfer-ownership="none">
          <type name="Monitor" c:type="GstValidateMonitor*"/>
        </parameter>
        <parameter name="event" transfer-ownership="none">
          <type name="Gst.Event" c:type="GstEvent*"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="OverrideGetCapsHandler"
              c:type="GstValidateOverrideGetCapsHandler">
      <source-position filename="validate/gst/validate/gst-validate-override.h"
                       line="44"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="override" transfer-ownership="none">
          <type name="Override" c:type="GstValidateOverride*"/>
        </parameter>
        <parameter name="pad_monitor" transfer-ownership="none">
          <type name="Monitor" c:type="GstValidateMonitor*"/>
        </parameter>
        <parameter name="caps" transfer-ownership="none">
          <type name="Gst.Caps" c:type="GstCaps*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="OverridePrivate"
            c:type="GstValidateOverridePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="validate/gst/validate/gst-validate-override.h"
                       line="30"/>
    </record>
    <callback name="OverrideQueryHandler"
              c:type="GstValidateOverrideQueryHandler">
      <source-position filename="validate/gst/validate/gst-validate-override.h"
                       line="42"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="override" transfer-ownership="none">
          <type name="Override" c:type="GstValidateOverride*"/>
        </parameter>
        <parameter name="pad_monitor" transfer-ownership="none">
          <type name="Monitor" c:type="GstValidateMonitor*"/>
        </parameter>
        <parameter name="query" transfer-ownership="none">
          <type name="Gst.Query" c:type="GstQuery*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="OverrideRegistry" c:type="GstValidateOverrideRegistry">
      <source-position filename="validate/gst/validate/gst-validate-override-registry.h"
                       line="43"/>
      <field name="mutex" writable="1">
        <type name="GLib.Mutex" c:type="GMutex"/>
      </field>
      <field name="name_overrides" writable="1">
        <type name="GLib.Queue" c:type="GQueue"/>
      </field>
      <field name="gtype_overrides" writable="1">
        <type name="GLib.Queue" c:type="GQueue"/>
      </field>
      <field name="klass_overrides" writable="1">
        <type name="GLib.Queue" c:type="GQueue"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <method name="get_override_for_names"
              c:identifier="gst_validate_override_registry_get_override_for_names"
              introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override-registry.h"
                         line="49"/>
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="reg" transfer-ownership="none">
            <type name="OverrideRegistry"
                  c:type="GstValidateOverrideRegistry*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="get_override_list"
              c:identifier="gst_validate_override_registry_get_override_list">
        <source-position filename="validate/gst/validate/gst-validate-override-registry.h"
                         line="52"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-override-registry.c"
               line="479">a list of #GstValidateOverride</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Override"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="registry" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-override-registry.c"
                 line="477">the override registry</doc>
            <type name="OverrideRegistry"
                  c:type="GstValidateOverrideRegistry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="attach_overrides"
                c:identifier="gst_validate_override_registry_attach_overrides">
        <source-position filename="validate/gst/validate/gst-validate-override-registry.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="monitor" transfer-ownership="none">
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get"
                c:identifier="gst_validate_override_registry_get"
                introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-override-registry.h"
                         line="46"/>
        <return-value>
          <type name="OverrideRegistry" c:type="GstValidateOverrideRegistry*"/>
        </return-value>
      </function>
      <function name="preload"
                c:identifier="gst_validate_override_registry_preload">
        <source-position filename="validate/gst/validate/gst-validate-override-registry.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
      </function>
    </record>
    <callback name="OverrideSetCapsHandler"
              c:type="GstValidateOverrideSetCapsHandler">
      <source-position filename="validate/gst/validate/gst-validate-override.h"
                       line="46"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="override" transfer-ownership="none">
          <type name="Override" c:type="GstValidateOverride*"/>
        </parameter>
        <parameter name="pad_monitor" transfer-ownership="none">
          <type name="Monitor" c:type="GstValidateMonitor*"/>
        </parameter>
        <parameter name="caps" transfer-ownership="none">
          <type name="Gst.Caps" c:type="GstCaps*"/>
        </parameter>
      </parameters>
    </callback>
    <function-macro name="PIPELINE_MONITOR_GET_PIPELINE"
                    c:identifier="GST_VALIDATE_PIPELINE_MONITOR_GET_PIPELINE"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-pipeline-monitor.h"
                       line="43"/>
      <parameters>
        <parameter name="m">
        </parameter>
      </parameters>
    </function-macro>
    <class name="PadMonitor"
           c:symbol-prefix="pad_monitor"
           c:type="GstValidatePadMonitor"
           parent="Monitor"
           glib:type-name="GstValidatePadMonitor"
           glib:get-type="gst_validate_pad_monitor_get_type"
           glib:type-struct="PadMonitorClass">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-pad-monitor.h"
           line="49">GStreamer Validate PadMonitor class.

Class that wraps a #GstPad for Validate checks</doc>
      <source-position filename="validate/gst/validate/gst-validate-pad-monitor.h"
                       line="150"/>
      <implements name="Reporter"/>
      <constructor name="new" c:identifier="gst_validate_pad_monitor_new">
        <source-position filename="validate/gst/validate/gst-validate-pad-monitor.h"
                         line="157"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-pad-monitor.c"
               line="1057">A #GstValidatePadMonitor</doc>
          <type name="PadMonitor" c:type="GstValidatePadMonitor*"/>
        </return-value>
        <parameters>
          <parameter name="pad" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-pad-monitor.c"
                 line="1053">a #GstPad to run Validate on</doc>
            <type name="Gst.Pad" c:type="GstPad*"/>
          </parameter>
          <parameter name="runner" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-pad-monitor.c"
                 line="1054">a #GstValidateRunner</doc>
            <type name="Runner" c:type="GstValidateRunner*"/>
          </parameter>
          <parameter name="parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-pad-monitor.c"
                 line="1055">The parent of the new monitor</doc>
            <type name="ElementMonitor" c:type="GstValidateElementMonitor*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Monitor" c:type="GstValidateMonitor"/>
      </field>
      <field name="setup">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="chain_func">
        <type name="Gst.PadChainFunction" c:type="GstPadChainFunction"/>
      </field>
      <field name="event_func">
        <type name="Gst.PadEventFunction" c:type="GstPadEventFunction"/>
      </field>
      <field name="event_full_func">
        <type name="Gst.PadEventFullFunction"
              c:type="GstPadEventFullFunction"/>
      </field>
      <field name="query_func">
        <type name="Gst.PadQueryFunction" c:type="GstPadQueryFunction"/>
      </field>
      <field name="activatemode_func">
        <type name="Gst.PadActivateModeFunction"
              c:type="GstPadActivateModeFunction"/>
      </field>
      <field name="get_range_func">
        <type name="Gst.PadGetRangeFunction" c:type="GstPadGetRangeFunction"/>
      </field>
      <field name="pad_probe_id">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="last_caps" readable="0" private="1">
        <type name="Gst.Caps" c:type="GstCaps*"/>
      </field>
      <field name="caps_is_audio" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="caps_is_video" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="caps_is_raw" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="first_buffer" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="has_segment" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="is_eos" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="pending_flush_stop" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="pending_newsegment_seqnum" readable="0" private="1">
        <type name="guint32" c:type="guint32"/>
      </field>
      <field name="pending_eos_seqnum" readable="0" private="1">
        <type name="guint32" c:type="guint32"/>
      </field>
      <field name="seeks" readable="0" private="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="current_seek" readable="0" private="1">
        <type name="PadSeekData" c:type="GstValidatePadSeekData*"/>
      </field>
      <field name="pending_buffer_discont" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="expected_segment" readable="0" private="1">
        <type name="Gst.Event" c:type="GstEvent*"/>
      </field>
      <field name="serialized_events" readable="0" private="1">
        <array name="GLib.PtrArray" c:type="GPtrArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <field name="expired_events" readable="0" private="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="pending_setcaps_fields" readable="0" private="1">
        <type name="Gst.Structure" c:type="GstStructure*"/>
      </field>
      <field name="last_refused_caps" readable="0" private="1">
        <type name="Gst.Caps" c:type="GstCaps*"/>
      </field>
      <field name="last_query_filter" readable="0" private="1">
        <type name="Gst.Caps" c:type="GstCaps*"/>
      </field>
      <field name="last_query_res" readable="0" private="1">
        <type name="Gst.Caps" c:type="GstCaps*"/>
      </field>
      <field name="segment" readable="0" private="1">
        <type name="Gst.Segment" c:type="GstSegment"/>
      </field>
      <field name="current_timestamp" readable="0" private="1">
        <type name="Gst.ClockTime" c:type="GstClockTime"/>
      </field>
      <field name="current_duration" readable="0" private="1">
        <type name="Gst.ClockTime" c:type="GstClockTime"/>
      </field>
      <field name="timestamp_range_start" readable="0" private="1">
        <type name="Gst.ClockTime" c:type="GstClockTime"/>
      </field>
      <field name="timestamp_range_end" readable="0" private="1">
        <type name="Gst.ClockTime" c:type="GstClockTime"/>
      </field>
      <field name="all_bufs" readable="0" private="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="current_buf" readable="0" private="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="check_buffers" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="min_buf_freq" readable="0" private="1">
        <type name="gdouble" c:type="gdouble"/>
      </field>
      <field name="buffers_pushed" readable="0" private="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="last_buffers_pushed" readable="0" private="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="min_buf_freq_interval_ts" readable="0" private="1">
        <type name="Gst.ClockTime" c:type="GstClockTime"/>
      </field>
      <field name="min_buf_freq_first_buffer_ts" readable="0" private="1">
        <type name="Gst.ClockTime" c:type="GstClockTime"/>
      </field>
      <field name="min_buf_freq_start" readable="0" private="1">
        <type name="Gst.ClockTime" c:type="GstClockTime"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </class>
    <record name="PadMonitorClass"
            c:type="GstValidatePadMonitorClass"
            glib:is-gtype-struct-for="PadMonitor">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-pad-monitor.h"
           line="139">GStreamer Validate PadMonitor object class.</doc>
      <source-position filename="validate/gst/validate/gst-validate-pad-monitor.h"
                       line="150"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-pad-monitor.h"
             line="141">parent</doc>
        <type name="MonitorClass" c:type="GstValidateMonitorClass"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="PadSeekData"
            c:type="GstValidatePadSeekData"
            disguised="1"
            opaque="1">
      <source-position filename="validate/gst/validate/gst-validate-pad-monitor.h"
                       line="30"/>
    </record>
    <callback name="ParseVariableFunc" c:type="GstValidateParseVariableFunc">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="34"/>
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="gdouble" c:type="double*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="PipelineMonitor"
           c:symbol-prefix="pipeline_monitor"
           c:type="GstValidatePipelineMonitor"
           parent="BinMonitor"
           glib:type-name="GstValidatePipelineMonitor"
           glib:get-type="gst_validate_pipeline_monitor_get_type"
           glib:type-struct="PipelineMonitorClass">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-pipeline-monitor.h"
           line="48">GStreamer Validate PipelineMonitor class.

Class that wraps a #GstPipeline for Validate checks</doc>
      <source-position filename="validate/gst/validate/gst-validate-pipeline-monitor.h"
                       line="90"/>
      <implements name="Reporter"/>
      <constructor name="new" c:identifier="gst_validate_pipeline_monitor_new">
        <source-position filename="validate/gst/validate/gst-validate-pipeline-monitor.h"
                         line="97"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-pipeline-monitor.c"
               line="890">A #GstValidatePipelineMonitor</doc>
          <type name="PipelineMonitor" c:type="GstValidatePipelineMonitor*"/>
        </return-value>
        <parameters>
          <parameter name="pipeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-pipeline-monitor.c"
                 line="886">a #GstPipeline to run Validate on</doc>
            <type name="Gst.Pipeline" c:type="GstPipeline*"/>
          </parameter>
          <parameter name="runner" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-pipeline-monitor.c"
                 line="887">a #GstValidateRunner</doc>
            <type name="Runner" c:type="GstValidateRunner*"/>
          </parameter>
          <parameter name="parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-pipeline-monitor.c"
                 line="888">The parent of the new monitor</doc>
            <type name="Monitor" c:type="GstValidateMonitor*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="BinMonitor" c:type="GstValidateBinMonitor"/>
      </field>
      <field name="element_added_id" readable="0" private="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="print_pos_srcid" readable="0" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="buffering" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="got_error" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="is_playbin" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="is_playbin3" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="stream_collection" readable="0" private="1">
        <type name="Gst.StreamCollection" c:type="GstStreamCollection*"/>
      </field>
      <field name="streams_selected" readable="0" private="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="deep_notify_id" readable="0" private="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </class>
    <record name="PipelineMonitorClass"
            c:type="GstValidatePipelineMonitorClass"
            glib:is-gtype-struct-for="PipelineMonitor">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-pipeline-monitor.h"
           line="79">GStreamer Validate PipelineMonitor object class.</doc>
      <source-position filename="validate/gst/validate/gst-validate-pipeline-monitor.h"
                       line="90"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-pipeline-monitor.h"
             line="81">parent</doc>
        <type name="BinMonitorClass" c:type="GstValidateBinMonitorClass"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <callback name="PrepareAction" c:type="GstValidatePrepareAction">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-scenario.h"
           line="99">A function that prepares @action so it can be executed right after.
Most of the time this function is used to parse and set fields with
equations in the action structure.</doc>
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="110"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.h"
             line="107">%TRUE if the action could be prepared and is ready to be run
         , %FALSE otherwise</doc>
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="action" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.h"
               line="101">The #GstValidateAction to prepare before execution</doc>
          <type name="Action" c:type="GstValidateAction*"/>
        </parameter>
      </parameters>
    </callback>
    <function-macro name="REPORT"
                    c:identifier="GST_VALIDATE_REPORT"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-reporter.h"
           line="44">Reports a new issue in the GstValidate reporting system with @m
as the source of that issue.</doc>
      <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                       line="54"/>
      <parameters>
        <parameter name="m">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-reporter.h"
               line="46">The #GstValidateReporter where the issue happened</doc>
        </parameter>
        <parameter name="issue_id">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-reporter.h"
               line="47">The #GstValidateIssueId of the issue</doc>
        </parameter>
        <parameter name="...">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-reporter.h"
               line="48">The format of the message describing the issue in a printf
      format, followed by the parameters.</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="REPORT_ACTION"
                    c:identifier="GST_VALIDATE_REPORT_ACTION"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                       line="61"/>
      <parameters>
        <parameter name="m">
        </parameter>
        <parameter name="a">
        </parameter>
        <parameter name="issue_id">
        </parameter>
        <parameter name="...">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="REPORT_PRINT_ARGS"
                    c:identifier="GST_VALIDATE_REPORT_PRINT_ARGS"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="281"/>
      <parameters>
        <parameter name="r">
        </parameter>
      </parameters>
    </function-macro>
    <record name="Report"
            c:type="GstValidateReport"
            glib:type-name="GstValidateReport"
            glib:get-type="gst_validate_report_get_type"
            c:symbol-prefix="report">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="245"/>
      <field name="mini_object" writable="1">
        <type name="Gst.MiniObject" c:type="GstMiniObject"/>
      </field>
      <field name="issue" writable="1">
        <type name="Issue" c:type="GstValidateIssue*"/>
      </field>
      <field name="level" writable="1">
        <type name="ReportLevel" c:type="GstValidateReportLevel"/>
      </field>
      <field name="reporter" writable="1">
        <type name="Reporter" c:type="GstValidateReporter*"/>
      </field>
      <field name="timestamp" writable="1">
        <type name="Gst.ClockTime" c:type="GstClockTime"/>
      </field>
      <field name="message" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="shadow_reports_lock" writable="1">
        <type name="GLib.Mutex" c:type="GMutex"/>
      </field>
      <field name="master_report" writable="1">
        <type name="Report" c:type="GstValidateReport*"/>
      </field>
      <field name="shadow_reports" writable="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="repeated_reports" writable="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="reporting_level" writable="1">
        <type name="ReportingDetails" c:type="GstValidateReportingDetails"/>
      </field>
      <field name="reporter_name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="trace" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="dotfile_name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="_gst_reserved" writable="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <constructor name="new" c:identifier="gst_validate_report_new">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="306"/>
        <return-value transfer-ownership="full">
          <type name="Report" c:type="GstValidateReport*"/>
        </return-value>
        <parameters>
          <parameter name="issue" transfer-ownership="none">
            <type name="Issue" c:type="GstValidateIssue*"/>
          </parameter>
          <parameter name="reporter" transfer-ownership="none">
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </parameter>
          <parameter name="message" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_repeated_report"
              c:identifier="gst_validate_report_add_repeated_report">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="350"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
          <parameter name="repeated_report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </parameter>
        </parameters>
      </method>
      <method name="check_abort"
              c:identifier="gst_validate_report_check_abort">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="318"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dotfile_name"
              c:identifier="gst_validate_report_get_dotfile_name"
              version="1.22">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="272"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="219">report dot file name</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_issue"
              c:identifier="gst_validate_report_get_issue"
              version="1.22">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="248"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="184">report issue</doc>
          <type name="Issue" c:type="GstValidateIssue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_issue_id"
              c:identifier="gst_validate_report_get_issue_id">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="315"/>
        <return-value transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_level"
              c:identifier="gst_validate_report_get_level"
              version="1.22">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="251"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="163">report level</doc>
          <type name="ReportLevel" c:type="GstValidateReportLevel"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_message"
              c:identifier="gst_validate_report_get_message"
              version="1.22">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="260"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="198">report message</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reporter"
              c:identifier="gst_validate_report_get_reporter"
              version="1.22">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="254"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="191">report reporter</doc>
          <type name="Reporter" c:type="GstValidateReporter*"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reporter_name"
              c:identifier="gst_validate_report_get_reporter_name"
              version="1.22">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="266"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="205">report issue</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reporting_level"
              c:identifier="gst_validate_report_get_reporting_level"
              version="1.22">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="263"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="177">reporting level</doc>
          <type name="ReportingDetails" c:type="GstValidateReportingDetails"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_timestamp"
              c:identifier="gst_validate_report_get_timestamp"
              version="1.22">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="257"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="170">report timestamp</doc>
          <type name="Gst.ClockTime" c:type="GstClockTime"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_trace"
              c:identifier="gst_validate_report_get_trace"
              version="1.22">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="269"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="212">report backtrace</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="print_description"
              c:identifier="gst_validate_report_print_description">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="328"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="print_details"
              c:identifier="gst_validate_report_print_details">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="326"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="print_detected_on"
              c:identifier="gst_validate_report_print_detected_on">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="324"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="print_level"
              c:identifier="gst_validate_report_print_level">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="322"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="printf" c:identifier="gst_validate_report_printf">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="320"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="gst_validate_report_ref">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="312"/>
        <return-value transfer-ownership="full">
          <type name="Report" c:type="GstValidateReport*"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_master_report"
              c:identifier="gst_validate_report_set_master_report">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="346"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
          <parameter name="master_report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reporting_level"
              c:identifier="gst_validate_report_set_reporting_level">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="348"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
          <parameter name="level" transfer-ownership="none">
            <type name="ReportingDetails"
                  c:type="GstValidateReportingDetails"/>
          </parameter>
        </parameters>
      </method>
      <method name="should_print"
              c:identifier="gst_validate_report_should_print">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="344"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="gst_validate_report_unref">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="310"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="action"
                c:identifier="gst_validate_report_action"
                introspectable="0">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-reporter.c"
             line="332">Reports a new issue in the GstValidate reporting system specifying @action
as failling action .

You can also use #GST_VALIDATE_REPORT instead.</doc>
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="reporter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="334">The source of the new report</doc>
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </parameter>
          <parameter name="action" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="335">The action reporting the issue</doc>
            <type name="Action" c:type="GstValidateAction*"/>
          </parameter>
          <parameter name="issue_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="336">The #GstValidateIssueId of the issue</doc>
            <type name="IssueId" c:type="GstValidateIssueId"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="337">The format of the message describing the issue in a printf
      format followed by the parameters.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="339">Substitution arguments for @format</doc>
            <varargs/>
          </parameter>
        </parameters>
      </function>
      <function name="init" c:identifier="gst_validate_report_init">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="286"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="valist"
                c:identifier="gst_validate_report_valist"
                introspectable="0">
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="122"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="reporter" transfer-ownership="none">
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </parameter>
          <parameter name="issue_id" transfer-ownership="none">
            <type name="IssueId" c:type="GstValidateIssueId"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="var_args" transfer-ownership="none">
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <enumeration name="ReportLevel"
                 glib:type-name="GstValidateReportLevel"
                 glib:get-type="gst_validate_report_level_get_type"
                 c:type="GstValidateReportLevel">
      <member name="critical"
              value="0"
              c:identifier="GST_VALIDATE_REPORT_LEVEL_CRITICAL"
              glib:nick="critical"
              glib:name="GST_VALIDATE_REPORT_LEVEL_CRITICAL">
      </member>
      <member name="warning"
              value="1"
              c:identifier="GST_VALIDATE_REPORT_LEVEL_WARNING"
              glib:nick="warning"
              glib:name="GST_VALIDATE_REPORT_LEVEL_WARNING">
      </member>
      <member name="issue"
              value="2"
              c:identifier="GST_VALIDATE_REPORT_LEVEL_ISSUE"
              glib:nick="issue"
              glib:name="GST_VALIDATE_REPORT_LEVEL_ISSUE">
      </member>
      <member name="ignore"
              value="3"
              c:identifier="GST_VALIDATE_REPORT_LEVEL_IGNORE"
              glib:nick="ignore"
              glib:name="GST_VALIDATE_REPORT_LEVEL_IGNORE">
      </member>
      <member name="unknown"
              value="4"
              c:identifier="GST_VALIDATE_REPORT_LEVEL_UNKNOWN"
              glib:nick="unknown"
              glib:name="GST_VALIDATE_REPORT_LEVEL_UNKNOWN">
      </member>
      <member name="expected"
              value="5"
              c:identifier="GST_VALIDATE_REPORT_LEVEL_EXPECTED"
              glib:nick="expected"
              glib:name="GST_VALIDATE_REPORT_LEVEL_EXPECTED">
      </member>
      <member name="num_entries"
              value="6"
              c:identifier="GST_VALIDATE_REPORT_LEVEL_NUM_ENTRIES"
              glib:nick="num-entries"
              glib:name="GST_VALIDATE_REPORT_LEVEL_NUM_ENTRIES">
      </member>
      <function name="from_name"
                c:identifier="gst_validate_report_level_from_name">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="352"/>
        <return-value transfer-ownership="none">
          <type name="ReportLevel" c:type="GstValidateReportLevel"/>
        </return-value>
        <parameters>
          <parameter name="level_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_name"
                c:identifier="gst_validate_report_level_get_name">
        <source-position filename="validate/gst/validate/gst-validate-report.h"
                         line="331"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="level" transfer-ownership="none">
            <type name="ReportLevel" c:type="GstValidateReportLevel"/>
          </parameter>
        </parameters>
      </function>
    </enumeration>
    <interface name="Reporter"
               c:symbol-prefix="reporter"
               c:type="GstValidateReporter"
               glib:type-name="GstValidateReporter"
               glib:get-type="gst_validate_reporter_get_type"
               glib:type-struct="ReporterInterface">
      <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                       line="102"/>
      <virtual-method name="get_pipeline" invoker="get_pipeline">
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="98"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-reporter.c"
               line="144">The #GstPipeline</doc>
          <type name="Gst.Pipeline" c:type="GstPipeline*"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="142">The reporter to get the pipeline from</doc>
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_reporting_level" invoker="get_reporting_level">
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="97"/>
        <return-value transfer-ownership="none">
          <type name="ReportingDetails" c:type="GstValidateReportingDetails"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="intercept_report">
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <type name="InterceptionReturn"
                c:type="GstValidateInterceptionReturn"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
          <parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_name" c:identifier="gst_validate_reporter_get_name">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-reporter.c"
             line="432">Gets @name of @reporter</doc>
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="108"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-reporter.c"
               line="438">The name of the reporter</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="434">The reporter to get the name from</doc>
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pipeline"
              c:identifier="gst_validate_reporter_get_pipeline">
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="145"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-reporter.c"
               line="144">The #GstPipeline</doc>
          <type name="Gst.Pipeline" c:type="GstPipeline*"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="142">The reporter to get the pipeline from</doc>
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_report"
              c:identifier="gst_validate_reporter_get_report">
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="133"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-reporter.c"
               line="163">The #GstValidateReport</doc>
          <type name="Report" c:type="GstValidateReport*"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="160">The reporter to get the report from</doc>
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
          <parameter name="issue_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="161">The issue id to get the report from</doc>
            <type name="IssueId" c:type="GstValidateIssueId"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_reporting_level"
              c:identifier="gst_validate_reporter_get_reporting_level">
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="140"/>
        <return-value transfer-ownership="none">
          <type name="ReportingDetails" c:type="GstValidateReportingDetails"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reports"
              c:identifier="gst_validate_reporter_get_reports">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-reporter.c"
             line="505">Get the list of reports present in the reporter.</doc>
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="136"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-reporter.c"
               line="511">the list of
#GstValidateReport present in the reporter.
The caller should unref each report once it is done with them.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Report"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="507">a #GstValidateReporter</doc>
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reports_count"
              c:identifier="gst_validate_reporter_get_reports_count">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-reporter.c"
             line="537">Get the number of reports present in the reporter.</doc>
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="138"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-reporter.c"
               line="543">the number of reports currently present in @reporter.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="539">a #GstValidateReporter</doc>
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_runner"
              c:identifier="gst_validate_reporter_get_runner">
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="110"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-reporter.c"
               line="452">The runner</doc>
          <type name="Runner" c:type="GstValidateRunner*"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="450">The reporter to get the runner from</doc>
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="init" c:identifier="gst_validate_reporter_init">
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="purge_reports"
              c:identifier="gst_validate_reporter_purge_reports">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-reporter.c"
             line="560">Remove all the #GstValidateReport from @reporter. This should be called
before unreffing the reporter to break cyclic references.</doc>
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="143"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="562">a #GstValidateReporter</doc>
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="report_simple"
              c:identifier="gst_validate_reporter_report_simple">
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="125"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
          <parameter name="issue_id" transfer-ownership="none">
            <type name="IssueId" c:type="GstValidateIssueId"/>
          </parameter>
          <parameter name="message" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_handle_g_logs"
              c:identifier="gst_validate_reporter_set_handle_g_logs">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-reporter.c"
             line="473">Set @reporter has the 'source' of any g_log happening during the
execution. Usually the monitor of the first #GstPipeline is used
to handle g_logs.

Basically this function is used in order to start tracking any
issue reported with g_log in the process into GstValidate report
in the GstValidate reporting system.</doc>
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="131"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="475">The #GstValidateReporter to set has the handler for g_log</doc>
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_name" c:identifier="gst_validate_reporter_set_name">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-reporter.c"
             line="415">Sets @name on @reporter</doc>
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="105"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="417">The reporter to set the name on</doc>
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="418">The name of the reporter</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_runner"
              c:identifier="gst_validate_reporter_set_runner">
        <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                         line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="reporter" transfer-ownership="none">
            <type name="Reporter" c:type="GstValidateReporter*"/>
          </instance-parameter>
          <parameter name="runner" transfer-ownership="none">
            <type name="Runner" c:type="GstValidateRunner*"/>
          </parameter>
        </parameters>
      </method>
      <property name="validate-runner"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Runner"/>
      </property>
    </interface>
    <record name="ReporterInterface"
            c:type="GstValidateReporterInterface"
            glib:is-gtype-struct-for="Reporter">
      <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                       line="102"/>
      <field name="parent">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-reporter.h"
             line="88">parent interface type.</doc>
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="intercept_report">
        <callback name="intercept_report">
          <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                           line="95"/>
          <return-value transfer-ownership="none">
            <type name="InterceptionReturn"
                  c:type="GstValidateInterceptionReturn"/>
          </return-value>
          <parameters>
            <parameter name="reporter" transfer-ownership="none">
              <type name="Reporter" c:type="GstValidateReporter*"/>
            </parameter>
            <parameter name="report" transfer-ownership="none">
              <type name="Report" c:type="GstValidateReport*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_reporting_level">
        <callback name="get_reporting_level">
          <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                           line="97"/>
          <return-value transfer-ownership="none">
            <type name="ReportingDetails"
                  c:type="GstValidateReportingDetails"/>
          </return-value>
          <parameters>
            <parameter name="reporter" transfer-ownership="none">
              <type name="Reporter" c:type="GstValidateReporter*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_pipeline">
        <callback name="get_pipeline">
          <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                           line="98"/>
          <return-value transfer-ownership="full" nullable="1">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-reporter.c"
                 line="144">The #GstPipeline</doc>
            <type name="Gst.Pipeline" c:type="GstPipeline*"/>
          </return-value>
          <parameters>
            <parameter name="reporter" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="validate/gst/validate/gst-validate-reporter.c"
                   line="142">The reporter to get the pipeline from</doc>
              <type name="Reporter" c:type="GstValidateReporter*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="ReportingDetails"
                 glib:type-name="GstValidateReportingDetails"
                 glib:get-type="gst_validate_reporting_details_get_type"
                 c:type="GstValidateReportingDetails">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-enums.h"
           line="30">Setting the reporting level allows to control the way issues are reported
when calling #gst_validate_runner_printf.

The reporting level can be set through the "GST_VALIDATE_REPORTING_DETAILS"
environment variable, as  a comma-separated list of (optional) object categories / names
and levels. No object category / name sets the global level.

Examples: GST_VALIDATE_REPORTING_DETAILS=synthetic,h264parse:all
          GST_VALIDATE_REPORTING_DETAILS=none,h264parse::sink_0:synthetic</doc>
      <member name="unknown"
              value="0"
              c:identifier="GST_VALIDATE_SHOW_UNKNOWN"
              glib:nick="unknown"
              glib:name="GST_VALIDATE_SHOW_UNKNOWN">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-enums.h"
             line="52">No reporting level known,
reporting will default to the global reporting level.</doc>
      </member>
      <member name="none"
              value="1"
              c:identifier="GST_VALIDATE_SHOW_NONE"
              glib:nick="none"
              glib:name="GST_VALIDATE_SHOW_NONE">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-enums.h"
             line="32">No debugging level specified or desired. Used to deactivate
 debugging output.</doc>
      </member>
      <member name="synthetic"
              value="2"
              c:identifier="GST_VALIDATE_SHOW_SYNTHETIC"
              glib:nick="synthetic"
              glib:name="GST_VALIDATE_SHOW_SYNTHETIC">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-enums.h"
             line="36">Summary of the issues found, with no
 details.</doc>
      </member>
      <member name="subchain"
              value="3"
              c:identifier="GST_VALIDATE_SHOW_SUBCHAIN"
              glib:nick="subchain"
              glib:name="GST_VALIDATE_SHOW_SUBCHAIN">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-enums.h"
             line="38">If set as the default level, similar
 issues can be reported multiple times for different subchains.
 If set as the level for a particular object (my_object:subchain), validate
 will report the issues where the object is the first to report an issue for
 a subchain.</doc>
      </member>
      <member name="monitor"
              value="4"
              c:identifier="GST_VALIDATE_SHOW_MONITOR"
              glib:nick="monitor"
              glib:name="GST_VALIDATE_SHOW_MONITOR">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-enums.h"
             line="43">If set as the default level, all the
distinct issues for all the monitors will be reported.
If set as the level for a particular object, all the distinct issues for this object
will be reported.
Note that if the same issue happens twice on the same object, up until this
level that issue is only reported once.</doc>
      </member>
      <member name="all"
              value="5"
              c:identifier="GST_VALIDATE_SHOW_ALL"
              glib:nick="all"
              glib:name="GST_VALIDATE_SHOW_ALL">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-enums.h"
             line="49">All the issues will be reported, even those
that repeat themselves inside the same object. This can be *very* verbose if
set globally.</doc>
      </member>
      <member name="smart"
              value="6"
              c:identifier="GST_VALIDATE_SHOW_SMART"
              glib:nick="smart"
              glib:name="GST_VALIDATE_SHOW_SMART">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-enums.h"
             line="34">Sythetic for not fatal issues and detailed for
others</doc>
      </member>
      <member name="count"
              value="7"
              c:identifier="GST_VALIDATE_SHOW_COUNT"
              glib:nick="count"
              glib:name="GST_VALIDATE_SHOW_COUNT">
      </member>
    </enumeration>
    <class name="Runner"
           c:symbol-prefix="runner"
           c:type="GstValidateRunner"
           parent="Gst.Tracer"
           glib:type-name="GstValidateRunner"
           glib:get-type="gst_validate_runner_get_type"
           glib:type-struct="RunnerClass">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-runner.h"
           line="51">GStreamer Validate Runner class.

Class that manages a Validate test run for some pipeline</doc>
      <source-position filename="validate/gst/validate/gst-validate-runner.h"
                       line="78"/>
      <constructor name="new" c:identifier="gst_validate_runner_new">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-runner.c"
             line="470">Create a new #GstValidateRunner</doc>
        <source-position filename="validate/gst/validate/gst-validate-runner.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-runner.c"
               line="475">A newly created #GstValidateRunner</doc>
          <type name="Runner" c:type="GstValidateRunner*"/>
        </return-value>
      </constructor>
      <method name="add_report" c:identifier="gst_validate_runner_add_report">
        <source-position filename="validate/gst/validate/gst-validate-runner.h"
                         line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="runner" transfer-ownership="none">
            <type name="Runner" c:type="GstValidateRunner*"/>
          </instance-parameter>
          <parameter name="report" transfer-ownership="none">
            <type name="Report" c:type="GstValidateReport*"/>
          </parameter>
        </parameters>
      </method>
      <method name="exit" c:identifier="gst_validate_runner_exit">
        <source-position filename="validate/gst/validate/gst-validate-runner.h"
                         line="98"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="runner" transfer-ownership="none">
            <type name="Runner" c:type="GstValidateRunner*"/>
          </instance-parameter>
          <parameter name="print_result" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_default_reporting_level"
              c:identifier="gst_validate_runner_get_default_reporting_level">
        <source-position filename="validate/gst/validate/gst-validate-runner.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <type name="ReportingDetails" c:type="GstValidateReportingDetails"/>
        </return-value>
        <parameters>
          <instance-parameter name="runner" transfer-ownership="none">
            <type name="Runner" c:type="GstValidateRunner*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reporting_level_for_name"
              c:identifier="gst_validate_runner_get_reporting_level_for_name">
        <source-position filename="validate/gst/validate/gst-validate-runner.h"
                         line="103"/>
        <return-value transfer-ownership="none">
          <type name="ReportingDetails" c:type="GstValidateReportingDetails"/>
        </return-value>
        <parameters>
          <instance-parameter name="runner" transfer-ownership="none">
            <type name="Runner" c:type="GstValidateRunner*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_reports"
              c:identifier="gst_validate_runner_get_reports">
        <source-position filename="validate/gst/validate/gst-validate-runner.h"
                         line="93"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-runner.c"
               line="791">The list of reports</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Report"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="runner" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-runner.c"
                 line="789">The #GstValidateRunner</doc>
            <type name="Runner" c:type="GstValidateRunner*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reports_count"
              c:identifier="gst_validate_runner_get_reports_count">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-runner.c"
             line="759">Get the number of reports present in the runner:</doc>
        <source-position filename="validate/gst/validate/gst-validate-runner.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-runner.c"
               line="765">The number of reports present in the runner.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="runner" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-runner.c"
                 line="761">The #GstValidateRunner to get the number of reports from</doc>
            <type name="Runner" c:type="GstValidateRunner*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="printf" c:identifier="gst_validate_runner_printf">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-runner.c"
             line="857">Prints all the reports on the terminal or on wherever is set
in the `GST_VALIDATE_FILE` env variable.</doc>
        <source-position filename="validate/gst/validate/gst-validate-runner.h"
                         line="96"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-runner.c"
               line="864">0 if no critical error has been found and 18 if a critical
error has been detected. That return value is usually to be used as
exit code of the application.</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="runner" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-runner.c"
                 line="859">The #GstValidateRunner to print all the reports for</doc>
            <type name="Runner" c:type="GstValidateRunner*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="params"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="object">
        <type name="Gst.Tracer" c:type="GstTracer"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="RunnerPrivate" c:type="GstValidateRunnerPrivate*"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <glib:signal name="report-added" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Report"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="stopping" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="RunnerClass"
            c:type="GstValidateRunnerClass"
            glib:is-gtype-struct-for="Runner">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-runner.h"
           line="67">GStreamer Validate Runner object class.</doc>
      <source-position filename="validate/gst/validate/gst-validate-runner.h"
                       line="78"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-runner.h"
             line="69">parent</doc>
        <type name="Gst.TracerClass" c:type="GstTracerClass"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="RunnerPrivate"
            c:type="GstValidateRunnerPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="validate/gst/validate/gst-validate-runner.h"
                       line="49"/>
    </record>
    <function-macro name="SCENARIO_EOS_HANDLING_LOCK"
                    c:identifier="GST_VALIDATE_SCENARIO_EOS_HANDLING_LOCK"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="369"/>
      <parameters>
        <parameter name="scenario">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SCENARIO_EOS_HANDLING_UNLOCK"
                    c:identifier="GST_VALIDATE_SCENARIO_EOS_HANDLING_UNLOCK"
                    introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="370"/>
      <parameters>
        <parameter name="scenario">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Scenario"
           c:symbol-prefix="scenario"
           c:type="GstValidateScenario"
           parent="Gst.Object"
           glib:type-name="GstValidateScenario"
           glib:get-type="gst_validate_scenario_get_type"
           glib:type-struct="ScenarioClass">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="341"/>
      <implements name="Reporter"/>
      <function name="deinit" c:identifier="gst_validate_scenario_deinit">
        <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                         line="435"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="factory_create"
                c:identifier="gst_validate_scenario_factory_create">
        <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                         line="376"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="6366">A #GstValidateScenario or NULL</doc>
          <type name="Scenario" c:type="GstValidateScenario*"/>
        </return-value>
        <parameters>
          <parameter name="runner" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="6362">The #GstValidateRunner to use to report issues</doc>
            <type name="Runner" c:type="GstValidateRunner*"/>
          </parameter>
          <parameter name="pipeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="6363">The pipeline to run the scenario on</doc>
            <type name="Gst.Element" c:type="GstElement*"/>
          </parameter>
          <parameter name="scenario_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="6364">The name (or path) of the scenario to run</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <method name="execute_seek"
              c:identifier="gst_validate_scenario_execute_seek">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.c"
             line="1119">Executes a seek event on the scenario's pipeline. You should always use
this method when you want to execute a seek inside a new action type
so that the scenario state is updated taking into account that seek.

For more information you should have a look at #gst_event_new_seek</doc>
        <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                         line="412"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="1137">%TRUE if the seek could be executed, %FALSE otherwise</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="scenario" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="1121">The #GstValidateScenario for which to execute a seek action</doc>
            <type name="Scenario" c:type="GstValidateScenario*"/>
          </instance-parameter>
          <parameter name="action" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="1122">The seek action to execute</doc>
            <type name="Action" c:type="GstValidateAction*"/>
          </parameter>
          <parameter name="rate" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="1123">The playback rate of the seek</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="1124">The #GstFormat of the seek</doc>
            <type name="Gst.Format" c:type="GstFormat"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="1125">The #GstSeekFlags of the seek</doc>
            <type name="Gst.SeekFlags" c:type="GstSeekFlags"/>
          </parameter>
          <parameter name="start_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="1126">The #GstSeekType of the start value of the seek</doc>
            <type name="Gst.SeekType" c:type="GstSeekType"/>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="1127">The start time of the seek</doc>
            <type name="Gst.ClockTime" c:type="GstClockTime"/>
          </parameter>
          <parameter name="stop_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="1128">The #GstSeekType of the stop value of the seek</doc>
            <type name="Gst.SeekType" c:type="GstSeekType"/>
          </parameter>
          <parameter name="stop" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="1129">The stop time of the seek</doc>
            <type name="Gst.ClockTime" c:type="GstClockTime"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_actions"
              c:identifier="gst_validate_scenario_get_actions">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.c"
             line="7925">Get remaining actions from @scenario.</doc>
        <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                         line="423"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7931">A list of #GstValidateAction.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Action"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="scenario" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="7927">The scenario to retrieve remaining actions for</doc>
            <type name="Scenario" c:type="GstValidateScenario*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pipeline"
              c:identifier="gst_validate_scenario_get_pipeline">
        <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                         line="432"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="343">The #GstPipeline the scenario is running
against</doc>
          <type name="Gst.Element" c:type="GstElement*"/>
        </return-value>
        <parameters>
          <instance-parameter name="scenario" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="341">The scenario to retrieve a pipeline from</doc>
            <type name="Scenario" c:type="GstValidateScenario*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_target_state"
              c:identifier="gst_validate_scenario_get_target_state">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.c"
             line="7950">Get current target state from @scenario.</doc>
        <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                         line="429"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7956">Current target state.</doc>
          <type name="Gst.State" c:type="GstState"/>
        </return-value>
        <parameters>
          <instance-parameter name="scenario" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="7952">The scenario to retrieve the current target state for</doc>
            <type name="Scenario" c:type="GstValidateScenario*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="execute-on-idle"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="handles-states"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="validate-runner"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Runner"/>
      </property>
      <field name="parent">
        <type name="Gst.Object" c:type="GstObject"/>
      </field>
      <field name="description">
        <type name="Gst.Structure" c:type="GstStructure*"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ScenarioPrivate" c:type="GstValidateScenarioPrivate*"/>
      </field>
      <field name="eos_handling_lock" readable="0" private="1">
        <type name="GLib.Mutex" c:type="GMutex"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <glib:signal name="action-done" when="last" version="1.20">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.c"
             line="5925">Emitted when an action is done.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="validate/gst/validate/gst-validate-scenario.c"
                 line="5928">The #GstValidateAction that is done running</doc>
            <type name="Action"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="done" when="last">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.c"
             line="5915">Emitted once all actions have been executed</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="stopping" when="last" version="1.26">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.c"
             line="5939">Emitted when the 'stop' action is fired</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ScenarioClass"
            c:type="GstValidateScenarioClass"
            glib:is-gtype-struct-for="Scenario">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="341"/>
      <field name="parent_class">
        <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="ScenarioPrivate"
            c:type="GstValidateScenarioPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="42"/>
    </record>
    <record name="StreamInfo"
            c:type="GstValidateStreamInfo"
            disguised="1"
            opaque="1">
      <source-position filename="validate/gst/validate/gst-validate-media-info.h"
                       line="32"/>
    </record>
    <bitfield name="StructureResolveVariablesFlags"
              version="1.20"
              glib:type-name="GstValidateStructureResolveVariablesFlags"
              glib:get-type="gst_validate_structure_resolve_variables_flags_get_type"
              c:type="GstValidateStructureResolveVariablesFlags">
      <member name="all"
              value="0"
              c:identifier="GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_ALL"
              glib:nick="all"
              glib:name="GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_ALL">
      </member>
      <member name="local_only"
              value="1"
              c:identifier="GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_LOCAL_ONLY"
              glib:nick="local-only"
              glib:name="GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_LOCAL_ONLY">
      </member>
      <member name="no_failure"
              value="2"
              c:identifier="GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_NO_FAILURE"
              glib:nick="no-failure"
              glib:name="GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_NO_FAILURE">
      </member>
      <member name="no_expression"
              value="2"
              c:identifier="GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_NO_EXPRESSION"
              glib:nick="no-expression"
              glib:name="GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_NO_EXPRESSION">
      </member>
    </bitfield>
    <constant name="UNKNOWN_BOOL"
              value="-1"
              c:type="GST_VALIDATE_UNKNOWN_BOOL">
      <source-position filename="validate/gst/validate/media-descriptor.h"
                       line="34"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="UNKNOWN_UINT64"
              value="-1"
              c:type="GST_VALIDATE_UNKNOWN_UINT64">
      <source-position filename="validate/gst/validate/media-descriptor.h"
                       line="32"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <bitfield name="VerbosityFlags"
              glib:type-name="GstValidateVerbosityFlags"
              glib:get-type="gst_validate_verbosity_flags_get_type"
              c:type="GstValidateVerbosityFlags">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-enums.h"
           line="89">Defines the level of verbosity of -validate (ie, printing on stdout).</doc>
      <member name="none"
              value="0"
              c:identifier="GST_VALIDATE_VERBOSITY_NONE"
              glib:nick="none"
              glib:name="GST_VALIDATE_VERBOSITY_NONE">
      </member>
      <member name="position"
              value="2"
              c:identifier="GST_VALIDATE_VERBOSITY_POSITION"
              glib:nick="position"
              glib:name="GST_VALIDATE_VERBOSITY_POSITION">
      </member>
      <member name="messages"
              value="4"
              c:identifier="GST_VALIDATE_VERBOSITY_MESSAGES"
              glib:nick="messages"
              glib:name="GST_VALIDATE_VERBOSITY_MESSAGES">
      </member>
      <member name="props_changes"
              value="8"
              c:identifier="GST_VALIDATE_VERBOSITY_PROPS_CHANGES"
              glib:nick="props-changes"
              glib:name="GST_VALIDATE_VERBOSITY_PROPS_CHANGES">
      </member>
      <member name="new_elements"
              value="16"
              c:identifier="GST_VALIDATE_VERBOSITY_NEW_ELEMENTS"
              glib:nick="new-elements"
              glib:name="GST_VALIDATE_VERBOSITY_NEW_ELEMENTS">
      </member>
      <member name="all"
              value="30"
              c:identifier="GST_VALIDATE_VERBOSITY_ALL"
              glib:nick="all"
              glib:name="GST_VALIDATE_VERBOSITY_ALL">
      </member>
    </bitfield>
    <function name="abort"
              c:identifier="gst_validate_abort"
              introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="360"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="action_get_clocktime"
              c:identifier="gst_validate_action_get_clocktime"
              moved-to="Action.get_clocktime">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-scenario.c"
           line="923">Get a time value for the @name parameter of an action. This
method should be called to retrieve and compute a timed value of a given
action. It will first try to retrieve the value as a double,
then get it as a string and execute any formula taking into account
the 'position' and 'duration' variables. And it will always convert that
value to a GstClockTime.</doc>
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="406"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.c"
             line="939">%TRUE if the time value could be retrieved/computed or %FALSE otherwise</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="scenario" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="925">The #GstValidateScenario from which to get a time
           for a parameter of an action</doc>
          <type name="Scenario" c:type="GstValidateScenario*"/>
        </parameter>
        <parameter name="action" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="927">The action from which to retrieve the time for @name
         parameter.</doc>
          <type name="Action" c:type="GstValidateAction*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="929">The name of the parameter for which to retrieve a time</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="retval"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="930">The return value for the wanted time</doc>
          <type name="Gst.ClockTime" c:type="GstClockTime*"/>
        </parameter>
      </parameters>
    </function>
    <function name="action_return_get_name"
              c:identifier="gst_validate_action_return_get_name"
              moved-to="ActionReturn.get_name">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="83"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="r" transfer-ownership="none">
          <type name="ActionReturn" c:type="GstValidateActionReturn"/>
        </parameter>
      </parameters>
    </function>
    <function name="deinit" c:identifier="gst_validate_deinit">
      <source-position filename="validate/gst/validate/validate.h" line="33"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="element_has_klass"
              c:identifier="gst_validate_element_has_klass">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="65"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="element" transfer-ownership="none">
          <type name="Gst.Element" c:type="GstElement*"/>
        </parameter>
        <parameter name="klass" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="element_matches_target"
              c:identifier="gst_validate_element_matches_target">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-utils.c"
           line="1181">Check if @element matches one of the 'target-element-name',
'target-element-klass' or 'target-element-factory-name' defined in @s.</doc>
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="89"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-utils.c"
             line="1189">%TRUE if it matches, %FALSE otherwise or if @s doesn't contain any
target-element field.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="element" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="1183">a #GstElement to check</doc>
          <type name="Gst.Element" c:type="GstElement*"/>
        </parameter>
        <parameter name="s" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="1184">a #GstStructure to use for matching</doc>
          <type name="Gst.Structure" c:type="GstStructure*"/>
        </parameter>
      </parameters>
    </function>
    <function name="error_structure"
              c:identifier="gst_validate_error_structure"
              introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="358"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="execute_action" c:identifier="gst_validate_execute_action">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-scenario.c"
           line="2951">Executes @action</doc>
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="425"/>
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="action_type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="2953">The #GstValidateActionType to execute</doc>
          <type name="ActionType" c:type="GstValidateActionType*"/>
        </parameter>
        <parameter name="action" transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="2954">The #GstValidateAction to execute</doc>
          <type name="Action" c:type="GstValidateAction*"/>
        </parameter>
      </parameters>
    </function>
    <function name="fail_on_missing_plugin"
              c:identifier="gst_validate_fail_on_missing_plugin">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="99"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="get_action_type"
              c:identifier="gst_validate_get_action_type">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="385"/>
      <return-value transfer-ownership="full">
        <type name="ActionType" c:type="GstValidateActionType*"/>
      </return-value>
      <parameters>
        <parameter name="type_name" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <docsection name="gst-validate-bin-monitor">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-bin-monitor.c"
           line="34">TODO</doc>
    </docsection>
    <docsection name="gst-validate-element-monitor">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-element-monitor.c"
           line="36">TODO</doc>
    </docsection>
    <docsection name="gst-validate-monitor">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-monitor.c"
           line="33">TODO</doc>
    </docsection>
    <docsection name="gst-validate-monitor-factory">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-monitor-factory.c"
           line="24">To start monitoring and thus run GstValidate tests on a #GstPipeline, the only thing to
do is to instanciate a #GstValidateRunner and then attach a #GstValidateMonitor
to it with #gst_validate_monitor_factory_create</doc>
    </docsection>
    <docsection name="gst-validate-override">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-override.c"
           line="25">TODO</doc>
    </docsection>
    <docsection name="gst-validate-pad-monitor">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-pad-monitor.c"
           line="38">TODO</doc>
    </docsection>
    <docsection name="gst-validate-pipeline-monitor">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-pipeline-monitor.c"
           line="47">TODO</doc>
    </docsection>
    <docsection name="gst-validate-runner">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-runner.c"
           line="55">Allows you to test a pipeline within GstValidate. It is the object where
all issue reporting is done.

In the tools using GstValidate the only minimal code to be able to monitor
your pipelines is:

|[
 GstPipeline *pipeline = gst_pipeline_new ("monitored-pipeline");
 GstValidateRunner *runner = gst_validate_runner_new ();
 GstValidateMonitor *monitor = gst_validate_monitor_factory_create (
         GST_OBJECT (pipeline), runner, NULL);

 // Run the pipeline and do whatever you want with it

 // In that same order
 gst_object_unref (pipeline);
 gst_object_unref (runner);
 gst_object_unref (monitor);
]|</doc>
    </docsection>
    <docsection name="gst-validate-scenario">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-scenario.c"
           line="27">A #GstValidateScenario represents the scenario that will be executed on a #GstPipeline.
It is basically an ordered list of #GstValidateAction that will be executed during the
execution of the pipeline.

Possible configurations (see [GST_VALIDATE_CONFIG](gst-validate-environment-variables.md)):
 * scenario-action-execution-interval: Sets the interval in
   milliseconds (1/1000ths of a second), between which actions
   will be executed, setting it to 0 means "execute in idle".
   The default value is 10ms.</doc>
    </docsection>
    <function name="has_colored_output"
              c:identifier="gst_validate_has_colored_output">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="100"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="init" c:identifier="gst_validate_init">
      <doc xml:space="preserve"
           filename="validate/gst/validate/validate.c"
           line="473">Initializes GstValidate. Call this before any usage of GstValidate.
You should take care of initializing GStreamer before calling this
function.</doc>
      <source-position filename="validate/gst/validate/validate.h" line="29"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="init_debug" c:identifier="gst_validate_init_debug">
      <source-position filename="validate/gst/validate/validate.h" line="31"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="is_initialized" c:identifier="gst_validate_is_initialized">
      <source-position filename="validate/gst/validate/validate.h" line="37"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="issue_from_id"
              c:identifier="gst_validate_issue_from_id"
              moved-to="Issue.from_id">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="288"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-report.c"
             line="772">The issue if found or NULL otherwise</doc>
        <type name="Issue" c:type="GstValidateIssue*"/>
      </return-value>
      <parameters>
        <parameter name="issue_id" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="770">The issue id</doc>
          <type name="IssueId" c:type="GstValidateIssueId"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_scenarios" c:identifier="gst_validate_list_scenarios">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="380"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="scenarios" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="num_scenarios" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="output_file" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="media_descriptors_compare"
              c:identifier="gst_validate_media_descriptors_compare">
      <source-position filename="validate/gst/validate/media-descriptor.h"
                       line="77"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="ref" transfer-ownership="none">
          <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor*"/>
        </parameter>
        <parameter name="compared" transfer-ownership="none">
          <type name="MediaDescriptor" c:type="GstValidateMediaDescriptor*"/>
        </parameter>
      </parameters>
    </function>
    <function name="media_info_load"
              c:identifier="gst_validate_media_info_load"
              moved-to="MediaInfo.load"
              introspectable="0"
              throws="1">
      <source-position filename="validate/gst/validate/gst-validate-media-info.h"
                       line="80"/>
      <return-value>
        <type name="MediaInfo" c:type="GstValidateMediaInfo*"/>
      </return-value>
      <parameters>
        <parameter name="path" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="object_set_property"
              c:identifier="gst_validate_object_set_property">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="71"/>
      <return-value transfer-ownership="none">
        <type name="ActionReturn" c:type="GstValidateActionReturn"/>
      </return-value>
      <parameters>
        <parameter name="reporter" transfer-ownership="none">
          <type name="Reporter" c:type="GstValidateReporter*"/>
        </parameter>
        <parameter name="object" transfer-ownership="none">
          <type name="GObject.Object" c:type="GObject*"/>
        </parameter>
        <parameter name="property" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="optional" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="object_set_property_full"
              c:identifier="gst_validate_object_set_property_full"
              version="1.24">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="78"/>
      <return-value transfer-ownership="none">
        <type name="ActionReturn" c:type="GstValidateActionReturn"/>
      </return-value>
      <parameters>
        <parameter name="reporter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="1034">The #GstValidateReporter to use to report errors</doc>
          <type name="Reporter" c:type="GstValidateReporter*"/>
        </parameter>
        <parameter name="object" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="1035">The #GObject to set the property on</doc>
          <type name="GObject.Object" c:type="GObject*"/>
        </parameter>
        <parameter name="property" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="1036">The name of the property to set</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="1037">The value to set the property to</doc>
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="1038">The #GstValidateObjectSetPropertyFlags to use</doc>
          <type name="ObjectSetPropertyFlags"
                c:type="GstValidateObjectSetPropertyFlags"/>
        </parameter>
      </parameters>
    </function>
    <function name="override_registry_attach_overrides"
              c:identifier="gst_validate_override_registry_attach_overrides"
              moved-to="OverrideRegistry.attach_overrides">
      <source-position filename="validate/gst/validate/gst-validate-override-registry.h"
                       line="61"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="monitor" transfer-ownership="none">
          <type name="Monitor" c:type="GstValidateMonitor*"/>
        </parameter>
      </parameters>
    </function>
    <function name="override_registry_get"
              c:identifier="gst_validate_override_registry_get"
              moved-to="OverrideRegistry.get"
              introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-override-registry.h"
                       line="46"/>
      <return-value>
        <type name="OverrideRegistry" c:type="GstValidateOverrideRegistry*"/>
      </return-value>
    </function>
    <function name="override_registry_preload"
              c:identifier="gst_validate_override_registry_preload"
              moved-to="OverrideRegistry.preload">
      <source-position filename="validate/gst/validate/gst-validate-override-registry.h"
                       line="64"/>
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
    </function>
    <function name="plugin_get_config"
              c:identifier="gst_validate_plugin_get_config">
      <doc xml:space="preserve"
           filename="validate/gst/validate/validate.c"
           line="312">Return the configuration specific to @plugin, or the "core" one if @plugin
is #NULL</doc>
      <source-position filename="validate/gst/validate/validate.h" line="35"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="validate/gst/validate/validate.c"
             line="319">a list of #GstStructure</doc>
        <type name="GLib.List" c:type="GList*">
          <type name="Gst.Structure"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="plugin" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/validate.c"
               line="314">a #GstPlugin, or #NULL</doc>
          <type name="Gst.Plugin" c:type="GstPlugin*"/>
        </parameter>
      </parameters>
    </function>
    <function name="print_action" c:identifier="gst_validate_print_action">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-report.c"
           line="1012">Print @message to the GstValidate logging system</doc>
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="338"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="action"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="1014">The source object to log</doc>
          <type name="Action" c:type="GstValidateAction*"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-report.c"
               line="1015">The message to print out in the GstValidate logging system</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="print_action_types"
              c:identifier="gst_validate_print_action_types">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-scenario.c"
           line="7863">Prints the action types details wanted in @wanted_types</doc>
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="289"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.c"
             line="7870">True if all types could be printed</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="wanted_types" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7865">(optional):  List of types to be printed</doc>
          <array length="1" zero-terminated="0" c:type="const gchar**">
            <type name="utf8" c:type="gchar*"/>
          </array>
        </parameter>
        <parameter name="num_wanted_types" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7866">Length of @wanted_types</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="print_issues" c:identifier="gst_validate_print_issues">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="355"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="print_position" c:identifier="gst_validate_print_position">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="354"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="position" transfer-ownership="none">
          <type name="Gst.ClockTime" c:type="GstClockTime"/>
        </parameter>
        <parameter name="duration" transfer-ownership="none">
          <type name="Gst.ClockTime" c:type="GstClockTime"/>
        </parameter>
        <parameter name="rate" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
        <parameter name="extra_info" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="printf"
              c:identifier="gst_validate_printf"
              introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="334"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="source"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="printf_valist"
              c:identifier="gst_validate_printf_valist"
              introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="340"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="source"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <type name="va_list" c:type="va_list"/>
        </parameter>
      </parameters>
    </function>
    <function name="register_action_type"
              c:identifier="gst_validate_register_action_type">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-scenario.c"
           line="7720">Register a new action type to the action type system. If the action type already
exists, it will be overridden by the new definition</doc>
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="388"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.c"
             line="7735">The newly created action type or the already registered action type
if it had a higher rank</doc>
        <type name="ActionType" c:type="GstValidateActionType*"/>
      </return-value>
      <parameters>
        <parameter name="type_name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7722">The name of the new action type to add</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="implementer_namespace" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7723">The namespace of the implementer of the action type.
                        That should always be the name of the GstPlugin as
                        retrieved with #gst_plugin_get_name when the action type
                        is registered inside a plugin.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="function" transfer-ownership="none" scope="notified">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7727">The function to be called to execute the action</doc>
          <type name="ExecuteAction" c:type="GstValidateExecuteAction"/>
        </parameter>
        <parameter name="parameters"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7728">The #GstValidateActionParameter usable as parameter of the type</doc>
          <array c:type="GstValidateActionParameter*">
            <type name="ActionParameter"/>
          </array>
        </parameter>
        <parameter name="description" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7729">A description of the new type</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7730">The #GstValidateActionTypeFlags to set on the new action type</doc>
          <type name="ActionTypeFlags" c:type="GstValidateActionTypeFlags"/>
        </parameter>
      </parameters>
    </function>
    <function name="register_action_type_dynamic"
              c:identifier="gst_validate_register_action_type_dynamic">
      <source-position filename="validate/gst/validate/gst-validate-scenario.h"
                       line="396"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-scenario.c"
             line="7777">The newly created action type or the already registered action type
if it had a higher rank</doc>
        <type name="ActionType" c:type="GstValidateActionType*"/>
      </return-value>
      <parameters>
        <parameter name="plugin"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7763">The #GstPlugin that register the action type,
                       or NULL for a static element.</doc>
          <type name="Gst.Plugin" c:type="GstPlugin*"/>
        </parameter>
        <parameter name="type_name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7771">The name of the new action type to add</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="rank" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7765">The ranking of that implementation of the action type called
       @type_name. If an action type has been registered with the same
       name with a higher rank, the new implementation will not be used,
       and the already registered action type is returned.
       If the already registered implementation has a lower rank, the
       new implementation will be used and returned.</doc>
          <type name="Gst.Rank" c:type="GstRank"/>
        </parameter>
        <parameter name="function" transfer-ownership="none" scope="notified">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7772">The function to be called to execute the action</doc>
          <type name="ExecuteAction" c:type="GstValidateExecuteAction"/>
        </parameter>
        <parameter name="parameters"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7773">The #GstValidateActionParameter usable as parameter of the type</doc>
          <array c:type="GstValidateActionParameter*">
            <type name="ActionParameter"/>
          </array>
        </parameter>
        <parameter name="description" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7774">A description of the new type</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-scenario.c"
               line="7775">The #GstValidateActionTypeFlags to be set on the new action type</doc>
          <type name="ActionTypeFlags" c:type="GstValidateActionTypeFlags"/>
        </parameter>
      </parameters>
    </function>
    <function name="replace_variables_in_string"
              c:identifier="gst_validate_replace_variables_in_string">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="90"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="incom"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="local_vars" transfer-ownership="none">
          <type name="Gst.Structure" c:type="GstStructure*"/>
        </parameter>
        <parameter name="in_string" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="StructureResolveVariablesFlags"
                c:type="GstValidateStructureResolveVariablesFlags"/>
        </parameter>
      </parameters>
    </function>
    <function name="report"
              c:identifier="gst_validate_report"
              introspectable="0">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-reporter.c"
           line="309">Reports a new issue in the GstValidate reporting system.

You can also use #GST_VALIDATE_REPORT instead.</doc>
      <source-position filename="validate/gst/validate/gst-validate-reporter.h"
                       line="114"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="reporter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-reporter.c"
               line="311">The source of the new report</doc>
          <type name="Reporter" c:type="GstValidateReporter*"/>
        </parameter>
        <parameter name="issue_id" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-reporter.c"
               line="312">The #GstValidateIssueId of the issue</doc>
          <type name="IssueId" c:type="GstValidateIssueId"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-reporter.c"
               line="313">The format of the message describing the issue in a printf
      format followed by the parameters.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-reporter.c"
               line="315">Substitution arguments for @format</doc>
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="report_init"
              c:identifier="gst_validate_report_init"
              moved-to="Report.init">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="286"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="report_level_from_name"
              c:identifier="gst_validate_report_level_from_name"
              moved-to="ReportLevel.from_name">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="352"/>
      <return-value transfer-ownership="none">
        <type name="ReportLevel" c:type="GstValidateReportLevel"/>
      </return-value>
      <parameters>
        <parameter name="level_name" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="report_level_get_name"
              c:identifier="gst_validate_report_level_get_name"
              moved-to="ReportLevel.get_name">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="331"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="level" transfer-ownership="none">
          <type name="ReportLevel" c:type="GstValidateReportLevel"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_globals" c:identifier="gst_validate_set_globals">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="97"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="structure" transfer-ownership="none">
          <type name="Gst.Structure" c:type="GstStructure*"/>
        </parameter>
      </parameters>
    </function>
    <function name="setup_test_file"
              c:identifier="gst_validate_setup_test_file">
      <source-position filename="validate/gst/validate/validate.h" line="39"/>
      <return-value transfer-ownership="full">
        <type name="Gst.Structure" c:type="GstStructure*"/>
      </return-value>
      <parameters>
        <parameter name="testfile" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="use_fakesinks" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="skip_test"
              c:identifier="gst_validate_skip_test"
              introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-report.h"
                       line="362"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="spin_on_fault_signals"
              c:identifier="gst_validate_spin_on_fault_signals">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="86"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="structs_parse_from_gfile"
              c:identifier="gst_validate_structs_parse_from_gfile"
              introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="61"/>
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="scenario_file" transfer-ownership="none">
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
        <parameter name="get_include_paths_func" transfer-ownership="none">
          <type name="GetIncludePathsFunc"
                c:type="GstValidateGetIncludePathsFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="structure_resolve_variables"
              c:identifier="gst_validate_structure_resolve_variables">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="93"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="source"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="structure" transfer-ownership="none">
          <type name="Gst.Structure" c:type="GstStructure*"/>
        </parameter>
        <parameter name="local_variables" transfer-ownership="none">
          <type name="Gst.Structure" c:type="GstStructure*"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="StructureResolveVariablesFlags"
                c:type="GstValidateStructureResolveVariablesFlags"/>
        </parameter>
      </parameters>
    </function>
    <function name="structure_set_variables_from_struct_file"
              c:identifier="gst_validate_structure_set_variables_from_struct_file">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="95"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="vars" transfer-ownership="none">
          <type name="Gst.Structure" c:type="GstStructure*"/>
        </parameter>
        <parameter name="struct_file" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_enum_from_str"
              c:identifier="gst_validate_utils_enum_from_str">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="47"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-utils.c"
             line="530">%TRUE on success %FALSE otherwise</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="526">The #GType of the enum we are trying to retrieve the enum value from</doc>
          <type name="GType" c:type="GType"/>
        </parameter>
        <parameter name="str_enum" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="527">The string representation of the value</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="enum_value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="528">The value of the enum</doc>
          <type name="guint" c:type="guint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_flags_from_str"
              c:identifier="gst_validate_utils_flags_from_str">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="45"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-utils.c"
             line="503">The flags set in @str_flags</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="500">The #GType of the flags we are trying to retrieve the flags from</doc>
          <type name="GType" c:type="GType"/>
        </parameter>
        <parameter name="str_flags" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="501">The string representation of the value</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_clocktime"
              c:identifier="gst_validate_utils_get_clocktime">
      <doc xml:space="preserve"
           filename="validate/gst/validate/gst-validate-utils.c"
           line="957">Get @name from @structure as a #GstClockTime, it handles various types
for the value, if it is a double, it considers the value to be in second
it can be a gint, gint64 a guint, a gint64.</doc>
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="67"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-utils.c"
             line="967">%TRUE in case of success, %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="structure" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="959">A #GstStructure to retrieve @name as a GstClockTime.</doc>
          <type name="Gst.Structure" c:type="GstStructure*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="960">The name of the field containing a #GstClockTime</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="retval"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="961">The clocktime contained in @structure</doc>
          <type name="Gst.ClockTime" c:type="GstClockTime*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_strv" c:identifier="gst_validate_utils_get_strv">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="51"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="validate/gst/validate/gst-validate-utils.c"
             line="1499">An array of strings from the GstValueList defined in @fieldname</doc>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="1496">A GstStructure</doc>
          <type name="Gst.Structure" c:type="GstStructure*"/>
        </parameter>
        <parameter name="fieldname" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="validate/gst/validate/gst-validate-utils.c"
               line="1497">A fieldname containing a GstValueList or is not defined</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_parse_expression"
              c:identifier="gst_validate_utils_parse_expression"
              introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="40"/>
      <return-value transfer-ownership="none">
        <type name="gdouble" c:type="gdouble"/>
      </return-value>
      <parameters>
        <parameter name="expr" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="variable_func" transfer-ownership="none" closure="2">
          <type name="ParseVariableFunc"
                c:type="GstValidateParseVariableFunc"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="error" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_structs_parse_from_filename"
              c:identifier="gst_validate_utils_structs_parse_from_filename"
              introspectable="0">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="54"/>
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="scenario_file" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="get_include_paths_func" transfer-ownership="none">
          <type name="GetIncludePathsFunc"
                c:type="GstValidateGetIncludePathsFunc"/>
        </parameter>
        <parameter name="file_path" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_test_file_get_meta"
              c:identifier="gst_validate_utils_test_file_get_meta">
      <source-position filename="validate/gst/validate/gst-validate-utils.h"
                       line="58"/>
      <return-value transfer-ownership="full">
        <type name="Gst.Structure" c:type="GstStructure*"/>
      </return-value>
      <parameters>
        <parameter name="testfile" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="use_fakesinks" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
