gst-validate-launcher

gst-validate-launcher — Tool to launch GstValidate testsuites

Synopsis

gst-validate-launcher [options...] [TESTSUITE...]

Description

gst-validate-launcher is an application to create full testsuites on top of the GstValidate tools, testing behaviour with dynamic pipelines and user actions (seeking, changing the pipeline state, etc.) as described by the scenario format.

Run the GstValidate default testsuite

GstValidate comes with a default testsuite to be executed on a default set of media samples. Those media samples are stored with git-annex so you will need it to be able to launch the default testsuite.

The first time you launch the testsuite, you will need to make sure that the media samples are downloaded. To do so and launch the testsuite you can simply do:

1

This will only launch the GstValidate tests and not other applications that might be supported (currently ges-launch is also supported and has its own default testsuite).

Launching the default testsuite will open/close many windows, you might want to mute it so you can keep using your computer:

1

Example of a testsuite implementation

To implement a testsuite, you will have to write some simple python code that defines the tests to be launched by gst-validate-launcher.

In this example, we will assume that you want to write a whole new testsuite based on your own media samples and scenarios. The set of media files and the testsuite implementation file will be structured as follow:


testsuite_folder/
  |-> testsuite.py
  |-> sample_files/
      |-> file.mp4
      |-> file1.mkv
      |-> file2.ogv
  |-> scenarios
      |-> scenario.scenario
      |-> scenario1.scenario
      

You should generate the .media_info files. To generate them for local files, you can use:

1

For remote streams, you should use gst-validate-media-check-1.0. For an http stream you can for example do:

1

The gst-validate-launcher will use the generated .media_info and .stream_info files to validate the tests as those contain the necessary information.

Then you will need to write the testsuite.py file. You can for example implement the following testsuite:

1

Once this is done, you've got a testsuite that will:

  • Run playbin pipelines on file.mp4, file1.mkv and file2.ogv> executing scenario and scenario1 scenarios

  • Transcode file.mp4, file1.mkv and file2.ogv to Theora and Vorbis in a OGG container

The only thing to do to run the testsuite is:

1

Invocation

You can find detailed information about the launcher by launching it:

1