GstValidate Configuration

GstValidate comes with some possible configuration files to setup its plugins and core behaviour. The config format is very similar to the scenario file format.

You can check the ssim plugin and the validate flow plugin for examples.

Core settings parameters

Config name should be core.


Default: position

See GstValidateVerbosityFlags for possible values.


The action type to execute, the action type must be a CONFIG action or the action type must have a as-config argument. When the action is specified in a parameter, a validate action is executed using the other parameters of the config as configuration for the validate scenario action.


GST_VALIDATE_CONFIG="core, action=set-property, target-element-name="videotestsrc0", property-name=pattern, property-value=blue" gst-validate-1.0 videotestsrc ! autovideosink

This will execute the set-property, target-element-name="videotestsrc0", property-name=pattern, property-value=blue validate action directly from the config file


Default: 0 meaning that action are executed in idle callbacks.

Set the interval between GstValidateScenario actions execution.


Default: GST_CLOCK_TIME_NONE - disabled

Set the maximum latency reported by the pipeline, over that defined latency the scenario will report an config::latency-too-high issue.


Default: GST_CLOCK_TIME_NONE - disabled

The maximum number of dropped buffers, a config::too-many-buffers-dropped issue will be reported if that limit is reached.


Default: false meaning that tests are marked as skipped when a GStreamer plugin is missing.


You can use variables in the configs the same way you can set them in gst-validate-scenarios.

Defaults variables are:

  • $(TMPDIR): The default temporary directory as returned by g_get_tmp_dir.
  • $(CONFIG_PATH): The path of the running scenario.
  • $(CONFIG_DIR): The directory the running scenario is in.
  • $(CONFIG_NAME): The name of the config file
  • $(LOGSDIR): The directory where to place log files. This uses the GST_VALIDATE_LOGSDIR environment variable if available or $(TMPDIR) if the variables hasn't been set. (Note that the gst-validate-launcher set the environment variables).

You can also set you own variables by using the set-vars=true argument:

core, set-vars=true, log-path=$(CONFIG_DIR/../log)

It is also possible to set global variables (also usable from scenarios) with:


change-issue-severity settings parameters

You can change issues severity with the change-issue-severity configuration with the following parameters:

  • issue-id: The GQuark name of the issue, for example: event::segment-has-wrong-start, You can use gst-validate-1.0 --print-issue-types to list all issue types.
  • new-severity: The new severity of the issue
  • element-name (optional): The name of the element the severity change applies to
  • element-factory-name (optional): The element factory name of the elements the severity change applies to
  • element-classification (optional): The classification of the elements the severity change applies to

The results of the search are