Move files from gst-devtools into the "subprojects/gst-devtools/" subdir
[platform/upstream/gstreamer.git] / subprojects / gst-devtools / docs / index.md
1 # GStreamer Validate
2
3 GstValidate is a tool that allows GStreamer developers to check that the
4 GstElements they write behave the way they are supposed to. It was first
5 started to provide plug-ins developers with a tool to check that they
6 use the framework the proper way.
7
8 GstValidate implements a monitoring logic that allows the system to
9 check that the elements of a GstPipeline respect some rules GStreamer
10 components have to follow to make them properly interact together. For
11 example, a GstValidatePadMonitor will make sure that if we receive a
12 GstSegment from upstream, an equivalent segment is sent downstream
13 before any buffer gets out.
14
15 Then GstValidate implements a reporting system that allows users to get
16 detailed informations about what was not properly handled by the
17 elements. The generated reports are ordered by level of importance from
18 "issue" to "critical".
19
20 Some tools have been implemented to help developers validate and test
21 their GstElement, see [gst-validate](gst-validate.md) for example.
22
23 On top of that, the notion of a [validation scenario](gst-validate-scenarios.md)
24 has been implemented so that developers can easily execute a set of actions on
25 pipelines to test real world interactive cases and reproduce existing
26 issues in a convenient way.