summaryrefslogtreecommitdiff
path: root/validate/docs
diff options
context:
space:
mode:
authorThiago Santos <thiago.sousa.santos@collabora.com>2013-08-08 12:35:50 -0300
committerThiago Santos <thiago.sousa.santos@collabora.com>2013-08-08 12:35:50 -0300
commit435626f0b773aa454de9d552ce6dfb9246e0235d (patch)
tree74c5a0a11392e849592057df6fcc996eb1011d89 /validate/docs
parent6544d5f67ee588cfdd125f5274e01319fcb66cb9 (diff)
docs: improve and update docs
Diffstat (limited to 'validate/docs')
-rw-r--r--validate/docs/qa-design.txt45
-rw-r--r--validate/docs/qa-usage.txt31
2 files changed, 58 insertions, 18 deletions
diff --git a/validate/docs/qa-design.txt b/validate/docs/qa-design.txt
index d216234..b1ca08a 100644
--- a/validate/docs/qa-design.txt
+++ b/validate/docs/qa-design.txt
@@ -1,7 +1,37 @@
== Main components
-Gst-qa is composed of 3 parts: the monitors, the runner and the reports.
+Gst-qa is composed of 4 parts: the issues, the reports, the runner and the
+reporters.
+
+= Issue
+Gst-QA main target is finding problems in GStreamer elements/pipelines. To
+make it easier to track down exactly what happens, the tests run by Gst-QA use
+an extensible list of 'Issues'. Each Issue describes a potential error
+situation and has an unique ID and a severity level.
+
+The issues list can be extended by 3rd party libraries if specific needs
+should be met.
+
+= Reporters
+A reporter is the object that implements the GstQaReporter interface and is
+responsible for perfoming tests on some target element/scenario. The reporter
+is able to create 'Reports' whenever a test it executes fails.
+
+= Reports
+The GstQaReports are created whenever a test fails, it is posted to the stderr
+and also are posted to the GstQaRunner for accumulation.
+
+Each report contains information about the object that generated the issue,
+the issue associated with the reprot and a specific debug message for the case,
+this helps tracking down the problem and fixing it.
+
+= Runner
+The GstQaRunner is the point of communication for the app to gst-qa
+monitoring. It provides an API to gather reports and to make them acessible
+to the application.
+
+== Reporter types
= Monitors
The monitors are used to wrap around pipeline (and elements and pads) and
@@ -23,12 +53,9 @@ a new pad is added.
Most (if not all) the checks are implemented at the GstQaPadMonitor, as it is
where the data flow happens.
-= Runner
-The GstQaRunner is the point of communication for the app to gst-qa
-monitoring. It provides an API to start monitoring a pipeline and then to
-access the results.
+= FileChecker
+The file checker is another reporter that is used to make sure a file has a
+few expected properties. It inspects the file and compares the results with
+expected values set by the user. Values such as file duration, file size, if
+it can be played back and also if its encoding and container types.
-= Reports
-The GstQaReports are created when a check fails, it is posted to the runner
-with information about the element that found the problem, along with details
-about it.
diff --git a/validate/docs/qa-usage.txt b/validate/docs/qa-usage.txt
index 404e1f6..8472205 100644
--- a/validate/docs/qa-usage.txt
+++ b/validate/docs/qa-usage.txt
@@ -1,13 +1,17 @@
-Using gst-qa is quite simple, there are 2 ways to test your pipeline/element.
+=== Testing with monitors
-== Creating a Runner
+Using gst-qa monitors is quite simple, there are 2 ways to test your
+pipeline/element.
+
+== Creating the monitors yourself
This method requires writing a specific application (or modifying yours) to
-add a GstQaRunner to it. Create a GstQaRunner with gst_qa_runner_new
-(GstPipeline *) and pass the pipeline you want to monitor to it.
+add GstQaMonitors and GstQaRunner to it. Create a GstQaRunner with
+gst_qa_runner_new, then use gst_qa_monitor_factory_create to create monitors
+for your pipeline.
-Then call gst_qa_runner_setup to start up the qa system for your pipeline.
-After that just use the GstPipeline as usual and the gst-qa system will
-collect the reports. You can access them after your pipeline has stopped.
+Now all you have to do is use your pipeline as usual, the reports will be
+created and posted to the runner. You can list them after the pipeline
+finishes to look at the issues found.
== Using LD_PRELOAD and an existing application
If you want to test an already existing application without modifying it. Just
@@ -16,6 +20,15 @@ use:
LD_PRELOAD=path/to/libgstqa.so yourapp ...
gst-qa will try to replace GstPipeline creating functions and already
-configure runners for you, reports will be printed to stdout when they
-are found.
+configure runners and monitors for you, reports will be printed to stdout when
+they are found.
+
+
+=== Using the file checker
+The GstQaFileChecker is a convenient API to compare a media file properties
+with its expected properties. The uri of the file to be tested and the
+expected values can be configured via gobject properties.
+gst_qa_file_checker_run is used to start the tests.
+There is also a convenience tool (gst-qa-file-check) that can be used to
+run the file checker.