gstreamer/validate
Guillaume Desmottes dc7382017d validate: reporter: break cyclic references with reports
My patch fixing monitor leak (15e7f1bbfd)
introduced a ref cycle between GstValidateReporter and
GstValidateReport.

The reports uses its reporter so it needs a ref on it
to ensure it's stay alive. But reports are owned by GstValidateReporter and/or
GstValidateRunner.
The best way I found to break this cycle is to introduce this purge
method. It's not great but the design is a bit tricky.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1029
2016-08-01 10:45:30 -04:00
..
common@eb6a86e9e6 Update common submodule 2015-08-21 11:09:48 +02:00
data data: Fix make distcheck. 2016-07-29 14:34:17 -04:00
docs validate: Minor documentation fix 2015-11-10 15:14:49 +01:00
gst validate: reporter: break cyclic references with reports 2016-08-01 10:45:30 -04:00
gst-libs gst-validate: Link with GIO and clean up CFLAGS/LIBADD/LDFLAGS 2016-03-25 17:14:14 +02:00
launcher validate: Add jpeg as known format 2016-07-29 15:54:02 -04:00
pkgconfig validate: fix installation 2013-11-25 16:56:11 -03:00
plugins validate: keep a ref when registering an override 2016-05-24 10:28:41 -04:00
po validate: Update autogen.sh 2015-04-23 11:52:41 +02:00
tests validate: Fix testsuite after additional check for buffer DISCONT flag 2016-07-29 14:34:17 -04:00
tools validate: reporter: break cyclic references with reports 2016-08-01 10:45:30 -04:00
.gitignore gitignore: Add more generated files 2015-07-24 17:06:29 -04:00
AUTHORS qa: adds gst-qa binary and basic classes to run the QA tests 2013-07-09 16:08:30 -03:00
autogen.sh validate: Always git submodule update from the toplevel directory 2015-05-12 09:55:58 +02:00
ChangeLog Release 1.9.1 2016-07-06 13:48:18 +03:00
configure.ac Back to development 2016-07-06 13:51:27 +03:00
COPYING qa: adds gst-qa binary and basic classes to run the QA tests 2013-07-09 16:08:30 -03:00
gst-validate.doap Release 1.9.1 2016-07-06 13:48:18 +03:00
Makefile.am validate: Fix make distcheck 2015-06-08 18:20:33 +02:00
multi-pre-commit.hook validate: update pre-commit hook. 2014-10-30 15:40:17 +01:00
NEWS Release 1.9.1 2016-07-06 13:48:18 +03:00
pre-commit-python.hook validate: pre commit hook: Do not try to run pep8 on non python files! 2014-11-25 19:41:01 +01:00
README docs: update and improve 2013-09-02 16:09:07 -03:00

== Gst-Validate

The goal of GstValidate is to be able to detect when elements are not
behaving as expected and report it to the user so he knows how things
are supposed to work inside a GstPipeline. In the end, fixing issues
found by the tool will ensure that all elements behave all together in
the expected way.

The easiest way of using GstValidate is to use one of its command-line
tools, located at tools/ directory. It is also possible to monitor
GstPipelines from any application by using the LD_PRELOAD gstvalidate
lib. The third way of using it is to write your own application that
links and uses libgstvalidate.

== BUILDING

Getting the code:

Releases are available at <URL>, download and extract the tarball. If you
want to use latest git version, do:

git clone <URI>

After cloning or extracting from a tarball, enter the gst-validate directory:

cd gst-validate

The 'master' branch uses gstreamer 1.0, there is a '0.10' branch for
gstreamer 0.10. The default is the 'master' branch, if you want to use it
for 0.10, do:

git checkout --track origin/0.10

Build with:

./autogen.sh --prefix=<installation-prefix>
make
sudo make install (only if you want to install it)

Replace <installation-prefix> with your desired installation path, you can omit
the --prefix argument if you aren't going to install it or if you want the
default /usr/local. It is possible to use gst-validate CLI tools without
installation.

== INSTRUCTIONS

If you are looking for informations on how to use gst-validate -> docs/validate-usage.txt
If you are looking for informations on gst-validate design -> docs/validate-design.txt