The GstValidateAction defined to be executed as part of a scenario
Only access it from the default main context.
      
      
        
      
      
        The type of the #GstValidateAction, which is the name of the
       GstValidateActionType registered with
       #gst_validate_register_action_type
        
      
      
        The name of the action, set from the user in the scenario
        
      
      
        the #GstStructure defining the action
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
      
        
        
          A newly created #GstValidateAction
          
        
        
          
            The scenario executing the action
            
          
          
            The action type
            
          
          
            The structure containing the action arguments
            
          
          
            Weather the action should be added to the scenario action list
            
          
        
      
      
        Retrieve the scenario from which @action is executed.
        
        
          The scenario from which the action is being executed.
          
        
        
          
            The action for which to retrieve the scenario
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        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.
        
        
          %TRUE if the time value could be retrieved/computed or %FALSE otherwise
          
        
        
          
            The #GstValidateScenario from which to get a time
           for a parameter of an action
            
          
          
            The action from which to retrieve the time for @name
         parameter.
            
          
          
            The name of the parameter for which to retrieve a time
            
          
          
            The return value for the wanted time
            
          
        
      
    
    
      
      
        The name of the parameter
        
      
      
        The description of the parameter
        
      
      
        Whether the parameter is mandatory for
            a specific action type
        
      
      
        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.
        
      
      
        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.
        
      
      
        The default value of a parameter as a string, should be %NULL
      for mandatory streams.
        
      
      
        Function that frees the various members of the structure when done using
        
      
      
        
          
        
      
    
    
      
    
    
      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:
      
      
      
      
      
      
      
        The action will be executed asynchronously without blocking further
actions to be executed
      
      
        Use #GST_VALIDATE_EXECUTE_ACTION_NON_BLOCKING instead.
      
      
      
      
      
      
      
      
      
      
        
        
          
        
        
          
            
          
        
      
    
    
      
      
        
      
      
        The name of the new action type to add
        
      
      
        The namespace of the implementer of the action type
        
      
      
        
      
      
        The function to be called to execute the action
        
      
      
        The #GstValidateActionParameter usable as parameter of the type
        
          
        
      
      
        A description of the new type
        
      
      
        The flags of the action type
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
    
    
      
        No special flag
      
      
        The action is a config
      
      
        The action can be executed ASYNC
      
      
        The action can be executed asynchronously but without blocking further
actions execution.
      
      
        Use #GST_VALIDATE_ACTION_TYPE_NON_BLOCKING instead.
      
      
        The action will be executed on 'element-added'
                                                for a particular element type if no playback-time
                                                is specified
      
      
        The pipeline will need to be synchronized with the clock
                                       for that action type to be used.
      
      
        Do not consider the non execution of the action
                                                  as a fatal error.
      
      
        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.
      
      
      
      
        The action can be used in config files even if it is not strictly a config
                                             action (ie. it needs a scenario to run).
      
      
        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.
      
    
    
      
    
    
      GStreamer Validate BinMonitor class.
Class that wraps a #GstBin for Validate checks
      
      
      
        
        
          A #GstValidateBinMonitor
          
        
        
          
            a #GstBin to run Validate on
            
          
          
            a #GstValidateRunner
            
          
          
            The parent of the new monitor
            
          
        
      
      
        
        
          The #GstValidateScenario being executed
under @monitor watch
          
        
        
          
            A #GstValidateBinMonitor
            
          
        
      
      
        
      
      
        
      
      
        
          
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
    
    
      GStreamer Validate BinMonitor object class.
      
      
        parent
        
      
      
        
          
        
      
    
    
      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:
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    
      
      
        
        
      
    
    
      
      
        
        
      
    
    
      
      
        
        
      
    
    
      
      
        
        
      
    
    
      
      
        
        
      
    
    
      GStreamer Validate ElementMonitor class.
Class that wraps a #GstElement for Validate checks
      
      
      
        
        
          A #GstValidateElementMonitor
          
        
        
          
            a #GstElement to run Validate on
            
          
          
            a #GstValidateRunner
            
          
          
            The parent of the new monitor
            
          
        
      
      
        
      
      
        
      
      
        
          
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
    
    
      GStreamer Validate ElementMonitor object class.
      
      
        parent
        
      
      
        
          
        
      
    
    
      A function that executes a #GstValidateAction
      
      
        a #GstValidateExecuteActionReturn
        
      
      
        
          The #GstValidateScenario from which the @action is executed
          
        
        
          The #GstValidateAction being executed
          
        
      
    
    
      
      
        
          
        
      
      
        
          
        
      
    
    
      
      
        
        
      
    
    
      
        The report will be completely ignored.
      
      
        The report will be kept by the reporter,
                             but not reported to the runner.
      
      
        The report will be kept by the reporter
                               and reported to the runner.
      
    
    
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
      
        
        
          The newly created #GstValidateIssue
          
        
        
          
            The ID of the issue, should be a GQuark
            
          
          
            A summary of the issue
            
          
          
            A more complete description of the issue
            
          
          
            The level at which the issue will be reported by default
            
          
        
      
      
        
        
          The newly created #GstValidateIssue
          
        
        
          
            The ID of the issue, should be a GQuark
            
          
          
            A summary of the issue
            
          
          
            A more complete description of the issue
            
          
          
            The level at which the issue will be reported by default
            
          
          
            The flags to determine behaviour of the issue
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        Registers @issue in the issue type system
        
        
          
        
        
          
            The #GstValidateIssue to register
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          The issue if found or NULL otherwise
          
        
        
          
            The issue id
            
          
        
      
    
    
      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
      
      
      
      
      
      
      
        Always generate backtrace, even if not a critical issue
      
    
    
      
      
        
        
      
    
    
      
      
        
        
      
    
    
      
      
        
        
      
    
    
      
      
        
        
      
    
    
      
      
        
        
      
    
    
      
      
        
        
      
    
    
      
      
        
        
      
    
    
      
      
        
        
      
    
    
      
      
        
        
      
    
    
      
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
          
            
              
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
            
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
    
    
      
      
        
      
      
        
          
        
      
    
    
      
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
      
      
        
      
      
        
          
        
      
    
    
      
      
        
      
      
        
          
        
      
    
    
      
    
    
      
    
    
      
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
      
      
        
      
      
        
          
        
      
    
    
      
      
        
      
      
        
          
        
      
    
    
      
      
      
      
      
      
      
      
    
    
      
    
    
      GStreamer Validate MediaInfo struct.
Stores extracted information about a media
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
    
    
      GStreamer Validate Monitor class.
Class that wraps a #GObject for Validate checks
      
      
      
        Create a new monitor for @target and starts monitoring it.
        
        
          The newly created #GstValidateMonitor
          
        
        
          
            The #GstObject to create a #GstValidateMonitor for
            
          
          
            The #GstValidateRunner to use for the new monitor
            
          
          
            The parent of the new monitor
            
          
        
      
      
        
        
          The GstElement associated with @monitor
          
        
        
          
            The monitor
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          The GstElement associated with @monitor
          
        
        
          
            The monitor
            
          
        
      
      
        
        
          The name of the element associated with @monitor
          
        
        
          
            The monitor
            
          
        
      
      
        
        
          The pipeline in which @monitor
target is in.
          
        
        
          
            The monitor to get the pipeline from
            
          
        
      
      
        
        
          The target object
          
        
        
          
            The monitor to get the target from
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
          
        
      
      
        
      
      
        
          
        
      
    
    
      GStreamer Validate Monitor object class.
      
      
        parent
        
      
      
        
          
          
            
          
          
            
              
            
          
        
      
      
        
          
          
            The GstElement associated with @monitor
            
          
          
            
              The monitor
              
            
          
        
      
      
        
          
          
            
          
          
            
              
            
            
              
            
          
        
      
      
        
          
        
      
    
    
      
        The property is optional, if it
is not found on the object, nothing happens.
      
      
        Do not check that after
setting the property, the value is the one we set.
      
    
    
      
      
      
        
        
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
      
    
    
      
      
        
      
      
        
          
          
            
          
          
            
              
            
            
              
            
          
        
      
      
        
          
          
            
          
          
            
              
            
          
        
      
      
        
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
      
    
    
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
      
    
    
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
      
        
        
          
            
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          a list of #GstValidateOverride
          
            
          
        
        
          
            the override registry
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
      
      
        
        
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
      
    
    
      
      
        
        
      
    
    
      GStreamer Validate PadMonitor class.
Class that wraps a #GstPad for Validate checks
      
      
      
        
        
          A #GstValidatePadMonitor
          
        
        
          
            a #GstPad to run Validate on
            
          
          
            a #GstValidateRunner
            
          
          
            The parent of the new monitor
            
          
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
      
        
          
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
      
        
          
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
    
    
      GStreamer Validate PadMonitor object class.
      
      
        parent
        
      
      
        
          
        
      
    
    
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
      
    
    
      GStreamer Validate PipelineMonitor class.
Class that wraps a #GstPipeline for Validate checks
      
      
      
        
        
          A #GstValidatePipelineMonitor
          
        
        
          
            a #GstPipeline to run Validate on
            
          
          
            a #GstValidateRunner
            
          
          
            The parent of the new monitor
            
          
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
      
        
      
      
        
          
        
      
    
    
      GStreamer Validate PipelineMonitor object class.
      
      
        parent
        
      
      
        
          
        
      
    
    
      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.
      
      
        %TRUE if the action could be prepared and is ready to be run
         , %FALSE otherwise
        
      
      
        
          The #GstValidateAction to prepare before execution
          
        
      
    
    
      Reports a new issue in the GstValidate reporting system with @m
as the source of that issue.
      
      
        
          The #GstValidateReporter where the issue happened
        
        
          The #GstValidateIssueId of the issue
        
        
          The format of the message describing the issue in a printf
      format, followed by the parameters.
        
      
    
    
      
      
        
        
        
        
        
        
        
        
      
    
    
      
      
        
        
      
    
    
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
      
        
          
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          report dot file name
          
        
        
          
            
          
        
      
      
        
        
          report issue
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          report level
          
        
        
          
            
          
        
      
      
        
        
          report message
          
        
        
          
            
          
        
      
      
        
        
          report reporter
          
        
        
          
            
          
        
      
      
        
        
          report issue
          
        
        
          
            
          
        
      
      
        
        
          reporting level
          
        
        
          
            
          
        
      
      
        
        
          report timestamp
          
        
        
          
            
          
        
      
      
        
        
          report backtrace
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        Reports a new issue in the GstValidate reporting system specifying @action
as failling action .
You can also use #GST_VALIDATE_REPORT instead.
        
        
          
        
        
          
            The source of the new report
            
          
          
            The action reporting the issue
            
          
          
            The #GstValidateIssueId of the issue
            
          
          
            The format of the message describing the issue in a printf
      format followed by the parameters.
            
          
          
            Substitution arguments for @format
            
          
        
      
      
        
        
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
          
            
          
        
      
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
    
    
      
      
        
        
          The #GstPipeline
          
        
        
          
            The reporter to get the pipeline from
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        Gets @name of @reporter
        
        
          The name of the reporter
          
        
        
          
            The reporter to get the name from
            
          
        
      
      
        
        
          The #GstPipeline
          
        
        
          
            The reporter to get the pipeline from
            
          
        
      
      
        
        
          The #GstValidateReport
          
        
        
          
            The reporter to get the report from
            
          
          
            The issue id to get the report from
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        Get the list of reports present in the reporter.
        
        
          the list of
#GstValidateReport present in the reporter.
The caller should unref each report once it is done with them.
          
            
          
        
        
          
            a #GstValidateReporter
            
          
        
      
      
        Get the number of reports present in the reporter.
        
        
          the number of reports currently present in @reporter.
          
        
        
          
            a #GstValidateReporter
            
          
        
      
      
        
        
          The runner
          
        
        
          
            The reporter to get the runner from
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        Remove all the #GstValidateReport from @reporter. This should be called
before unreffing the reporter to break cyclic references.
        
        
          
        
        
          
            a #GstValidateReporter
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
          
            
          
        
      
      
        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.
        
        
          
        
        
          
            The #GstValidateReporter to set has the handler for g_log
            
          
        
      
      
        Sets @name on @reporter
        
        
          
        
        
          
            The reporter to set the name on
            
          
          
            The name of the reporter
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
      
    
    
      
      
        parent interface type.
        
      
      
        
          
          
            
          
          
            
              
            
            
              
            
          
        
      
      
        
          
          
            
          
          
            
              
            
          
        
      
      
        
          
          
            The #GstPipeline
            
          
          
            
              The reporter to get the pipeline from
              
            
          
        
      
      
        
          
        
      
    
    
      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
      
        No reporting level known,
reporting will default to the global reporting level.
      
      
        No debugging level specified or desired. Used to deactivate
 debugging output.
      
      
        Summary of the issues found, with no
 details.
      
      
        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.
      
      
        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.
      
      
        All the issues will be reported, even those
that repeat themselves inside the same object. This can be *very* verbose if
set globally.
      
      
        Sythetic for not fatal issues and detailed for
others
      
      
      
    
    
      GStreamer Validate Runner class.
Class that manages a Validate test run for some pipeline
      
      
        Create a new #GstValidateRunner
        
        
          A newly created #GstValidateRunner
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          
        
        
          
            
          
        
      
      
        
        
          
        
        
          
            
          
          
            
          
        
      
      
        
        
          The list of reports
          
            
          
        
        
          
            The #GstValidateRunner
            
          
        
      
      
        Get the number of reports present in the runner:
        
        
          The number of reports present in the runner.
          
        
        
          
            The #GstValidateRunner to get the number of reports from
            
          
        
      
      
        Prints all the reports on the terminal or on wherever is set
in the `GST_VALIDATE_FILE` env variable.
        
        
          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.
          
        
        
          
            The #GstValidateRunner to print all the reports for
            
          
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
      
        
          
        
        
          
            
          
        
      
      
        
          
        
      
    
    
      GStreamer Validate Runner object class.
      
      
        parent
        
      
      
        
          
        
      
    
    
      
    
    
      
      
        
        
      
    
    
      
      
        
        
      
    
    
      
      
      
        
        
          
        
      
      
        
        
          A #GstValidateScenario or NULL
          
        
        
          
            The #GstValidateRunner to use to report issues
            
          
          
            The pipeline to run the scenario on
            
          
          
            The name (or path) of the scenario to run
            
          
        
      
      
        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
        
        
          %TRUE if the seek could be executed, %FALSE otherwise
          
        
        
          
            The #GstValidateScenario for which to execute a seek action
            
          
          
            The seek action to execute
            
          
          
            The playback rate of the seek
            
          
          
            The #GstFormat of the seek
            
          
          
            The #GstSeekFlags of the seek
            
          
          
            The #GstSeekType of the start value of the seek
            
          
          
            The start time of the seek
            
          
          
            The #GstSeekType of the stop value of the seek
            
          
          
            The stop time of the seek
            
          
        
      
      
        Get remaining actions from @scenario.
        
        
          A list of #GstValidateAction.
          
            
          
        
        
          
            The scenario to retrieve remaining actions for
            
          
        
      
      
        
        
          The #GstPipeline the scenario is running
against
          
        
        
          
            The scenario to retrieve a pipeline from
            
          
        
      
      
        Get current target state from @scenario.
        
        
          Current target state.
          
        
        
          
            The scenario to retrieve the current target state for
            
          
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
      
      
        
          
        
      
      
        Emitted when an action is done.
        
          
        
        
          
            The #GstValidateAction that is done running
            
          
        
      
      
        Emitted once all actions have been executed
        
          
        
      
      
        Emitted when the 'stop' action is fired
        
          
        
      
    
    
      
      
        
      
      
        
          
        
      
    
    
      
    
    
      
    
    
      
      
      
      
      
      
      
      
    
    
      
      
    
    
      
      
    
    
      Defines the level of verbosity of -validate (ie, printing on stdout).
      
      
      
      
      
      
      
      
      
      
      
      
    
    
      
      
        
      
      
        
          
        
        
          
        
      
    
    
      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.
      
      
        %TRUE if the time value could be retrieved/computed or %FALSE otherwise
        
      
      
        
          The #GstValidateScenario from which to get a time
           for a parameter of an action
          
        
        
          The action from which to retrieve the time for @name
         parameter.
          
        
        
          The name of the parameter for which to retrieve a time
          
        
        
          The return value for the wanted time
          
        
      
    
    
      
      
        
      
      
        
          
        
      
    
    
      
      
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
      
    
    
      Check if @element matches one of the 'target-element-name',
'target-element-klass' or 'target-element-factory-name' defined in @s.
      
      
        %TRUE if it matches, %FALSE otherwise or if @s doesn't contain any
target-element field.
        
      
      
        
          a #GstElement to check
          
        
        
          a #GstStructure to use for matching
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
      
    
    
      Executes @action
      
      
        
      
      
        
          The #GstValidateActionType to execute
          
        
        
          The #GstValidateAction to execute
          
        
      
    
    
      
      
        
      
    
    
      
      
        
      
      
        
          
        
      
    
    
      TODO
    
    
      TODO
    
    
      TODO
    
    
      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
    
    
      TODO
    
    
      TODO
    
    
      TODO
    
    
      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);
]|
    
    
      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.
    
    
      
      
        
      
    
    
      Initializes GstValidate. Call this before any usage of GstValidate.
You should take care of initializing GStreamer before calling this
function.
      
      
        
      
    
    
      
      
        
      
    
    
      
      
        
      
    
    
      
      
        The issue if found or NULL otherwise
        
      
      
        
          The issue id
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
      
    
    
      
      
        
      
      
        
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
        
          
        
        
          
        
      
    
    
      
      
        
      
      
        
          The #GstValidateReporter to use to report errors
          
        
        
          The #GObject to set the property on
          
        
        
          The name of the property to set
          
        
        
          The value to set the property to
          
        
        
          The #GstValidateObjectSetPropertyFlags to use
          
        
      
    
    
      
      
        
      
      
        
          
        
      
    
    
      
      
        
      
    
    
      
      
        
      
    
    
      Return the configuration specific to @plugin, or the "core" one if @plugin
is #NULL
      
      
        a list of #GstStructure
        
          
        
      
      
        
          a #GstPlugin, or #NULL
          
        
      
    
    
      Print @message to the GstValidate logging system
      
      
        
      
      
        
          The source object to log
          
        
        
          The message to print out in the GstValidate logging system
          
        
      
    
    
      Prints the action types details wanted in @wanted_types
      
      
        True if all types could be printed
        
      
      
        
          (optional):  List of types to be printed
          
            
          
        
        
          Length of @wanted_types
          
        
      
    
    
      
      
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
        
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
      
    
    
      Register a new action type to the action type system. If the action type already
exists, it will be overridden by the new definition
      
      
        The newly created action type or the already registered action type
if it had a higher rank
        
      
      
        
          The name of the new action type to add
          
        
        
          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.
          
        
        
          The function to be called to execute the action
          
        
        
          The #GstValidateActionParameter usable as parameter of the type
          
            
          
        
        
          A description of the new type
          
        
        
          The #GstValidateActionTypeFlags to set on the new action type
          
        
      
    
    
      
      
        The newly created action type or the already registered action type
if it had a higher rank
        
      
      
        
          The #GstPlugin that register the action type,
                       or NULL for a static element.
          
        
        
          The name of the new action type to add
          
        
        
          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.
          
        
        
          The function to be called to execute the action
          
        
        
          The #GstValidateActionParameter usable as parameter of the type
          
            
          
        
        
          A description of the new type
          
        
        
          The #GstValidateActionTypeFlags to be set on the new action type
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
        
          
        
      
    
    
      Reports a new issue in the GstValidate reporting system.
You can also use #GST_VALIDATE_REPORT instead.
      
      
        
      
      
        
          The source of the new report
          
        
        
          The #GstValidateIssueId of the issue
          
        
        
          The format of the message describing the issue in a printf
      format followed by the parameters.
          
        
        
          Substitution arguments for @format
          
        
      
    
    
      
      
        
      
    
    
      
      
        
      
      
        
          
        
      
    
    
      
      
        
      
      
        
          
        
      
    
    
      
      
        
      
      
        
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
      
    
    
      
      
        
      
    
    
      
      
        
          
        
      
      
        
          
        
        
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
        
          
        
        
          
        
      
    
    
      
      
        
      
      
        
          
        
        
          
        
      
    
    
      
      
        %TRUE on success %FALSE otherwise
        
      
      
        
          The #GType of the enum we are trying to retrieve the enum value from
          
        
        
          The string representation of the value
          
        
        
          The value of the enum
          
        
      
    
    
      
      
        The flags set in @str_flags
        
      
      
        
          The #GType of the flags we are trying to retrieve the flags from
          
        
        
          The string representation of the value
          
        
      
    
    
      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.
      
      
        %TRUE in case of success, %FALSE otherwise.
        
      
      
        
          A #GstStructure to retrieve @name as a GstClockTime.
          
        
        
          The name of the field containing a #GstClockTime
          
        
        
          The clocktime contained in @structure
          
        
      
    
    
      
      
        An array of strings from the GstValueList defined in @fieldname
        
          
        
      
      
        
          A GstStructure
          
        
        
          A fieldname containing a GstValueList or is not defined