Commit graph

1683 commits

Author SHA1 Message Date
Guillaume Desmottes
c8a3d6c607 validate: inherit from GstObject instead of GObject
This allow us to use to 'leaks' detector to check if those objects are
leaked.

Differential Revision: https://phabricator.freedesktop.org/D1232
2016-08-01 10:45:37 -04:00
Guillaume Desmottes
04282bb192 validate: call gst_deinit() after gst_validate_deinit()
This allows validate to clean up before the 'leak' tracer list leaked
objects.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1231
2016-08-01 10:45:36 -04:00
Guillaume Desmottes
df6e25514c validate: use MAY_BE_LEAKED flag
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1230
2016-08-01 10:45:34 -04:00
Guillaume Desmottes
5b78110813 validate: fix pad leaks
Pads returned using the playbin get-{audio,video}-pad are reffed.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1027
2016-08-01 10:45:32 -04:00
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
Guillaume Desmottes
b8c821dff4 validate: reporter: prevent usage of destroyed runner
Fix crashes.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1028
2016-08-01 10:45:28 -04:00
Guillaume Desmottes
b5e020daa2 validate: runner: prevent hash table modifications while iterating
A GHashTableIter is invalided if the hash table is modified while we are
iterating. Prevent this by taking the runner lock.

Fix assertion warnings with
validate.file.transcode.to_vorbis_and_vp8_in_webm.Sintel_2010_720p_mkv_srt

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1026
2016-08-01 10:45:26 -04:00
Thibault Saunier
5a745829dc validate: Add jpeg as known format 2016-07-29 15:54:02 -04:00
Thibault Saunier
1de54fcd09 validate: Fix testsuite after additional check for buffer DISCONT flag 2016-07-29 14:34:17 -04:00
Mathieu Duponchelle
a8b2281f12 data: Fix make distcheck.
by distributing newly-added files.

Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Differential Revision: https://phabricator.freedesktop.org/D185
2016-07-29 14:34:17 -04:00
Wonchul Lee
5977a7e307 validate: scenario: deploy setup_sink_props_max_lateness config scenario for valgrind
Add to deploy setup_sink_props_max_lateness scenario.
When running gst-validate with valgrind option on the installed package, it fails to find that scenario.

Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D379
2016-07-29 14:34:15 -04:00
Wonchul Lee
45603d786b docs: Fix typo
Reviewed-by: Alex Băluț <alexandru.balut@gmail.com>
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D681
2016-07-29 14:34:13 -04:00
Thibault Saunier
bcc7a1fcca validate:launcher: Add h265, opus and vp9 as known formats 2016-07-15 08:56:02 -04:00
Sebastian Dröge
6b884127b7 Back to development 2016-07-06 13:51:27 +03:00
Sebastian Dröge
8710de15ba Release 1.9.1 2016-07-06 13:48:18 +03:00
Edward Hervey
1e1475d352 validate: Fix usage for non-standard http server port
Translate the various stream_info URI from the standard port to the
specified port
Make the port option an integer option
2016-07-04 16:19:09 +02:00
Edward Hervey
0502e6bf5b media-descriptor: Fine-tune stream-id checking
Only expect fully identical stream-id from URI which are not local files
nor from our local http server.

Fixes issues with non-default http server port
2016-07-04 16:19:05 +02:00
Edward Hervey
e5f381b96a validate: Use presence of STREAM_START to detect track switching
When doing a track switch, the only reliable way to detect that it
happened is whether a new STREAM_START arrives.
Relying on a DISCONT buffer is not satisfactory, since there might
not have been an element setting that flag upstream.

Checking whether the first buffer after a STREAM_START has the
DISCONT flag properly set should be done in parallel
2016-06-30 14:58:03 +02:00
Edward Hervey
0799397768 tools: Make the stream-switching action more generic
This allows it to handle both playbin and playbin3
2016-06-30 14:58:03 +02:00
Edward Hervey
b413f3a404 tools: Fix playbin detection
We might be using playbin3 instead
2016-06-30 14:58:03 +02:00
Edward Hervey
b77797da4b validate: Use decodebin3/uridecodebin3 when specified
Set the USE_PLAYBIN3 environment variable to use those elements instead
of legacy ones.
2016-06-30 14:58:03 +02:00
Edward Hervey
98e31f52ef tools: New tool to view and compare xunit results 2016-06-30 14:58:03 +02:00
Tim-Philipp Müller
c4091f82a9 validate: fix one more export
gst-validate-scenario.c:183:7: error: '_gst_validate_action_type' redeclared without dllimport attribute: previous dllimport ignore

This is also declared in gst-validate-internal.h
2016-06-24 14:03:48 +01:00
Tim-Philipp Müller
727eb3979a validate: fix bogus exports for internal symbols
Hopefully fixes win32 build.

gst-validate-scenario.c:183:7: error: '_gst_validate_action_type' redeclared without dllimport attribute: previous dllimport ignored
gst-validate-scenario.c:286:1: error: '_action_check_and_set_printed' redeclared without dllimport attribute: previous dllimport ignored
gst-validate-scenario.c:298:1: error: 'gst_validate_action_is_subaction' redeclared without dllimport attribute: previous dllimport ignored
gst-validate-scenario.c:305:7: error: '_gst_validate_action_type_type' redeclared without dllimport attribute: previous dllimport ignored
2016-06-24 12:58:02 +01:00
Thibault Saunier
8e2c734841 validate: Fix Validate plugin paths mixup 2016-06-13 17:01:52 -04:00
Reynaldo H. Verdejo Pinochet
704d082e79 validate: fix typo in debug message 2016-06-10 12:55:47 -07:00
Reynaldo H. Verdejo Pinochet
07fa1b3ca5 validate: fix some recurring typos 2016-06-09 14:31:48 -07:00
Reynaldo H. Verdejo Pinochet
73ac07d6e3 validate: fix validate-transcoding option descriptions 2016-06-09 14:31:48 -07:00
Reynaldo H. Verdejo Pinochet
14a9dab346 validate: improve run-time option descriptions 2016-06-09 14:31:48 -07:00
Thibault Saunier
9f272556d5 validate: No execute ON_ADDITION if a previous action has a playback-time
As this is what user will expect in this case.

For example with this scenario:

    set-state, state=null; playback-time=5
    set-property, target-element-name=dvbsrc0, property-name=delsys, property-value=11
    play;
2016-06-09 17:27:26 -04:00
Vineeth TM
99f9f3f408 validate:launcher: Add support for relative path while providing file path
Instead of providing full absolute path while validating the file, should be
able to provide the relative path with respect to the present directory.

https://bugzilla.gnome.org/show_bug.cgi?id=753494
2016-06-04 12:51:35 +01:00
Guillaume Desmottes
15e7f1bbfd validate: fix monitor leak when doing frame analysis
The monitor returned by gst_validate_monitor_factory_create() was never
unreffed.
Report instances now have to keep a ref, as suggested by the TODO, as
the reporter is no longer leaked.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1012
2016-05-24 10:29:03 -04:00
Guillaume Desmottes
4c6fce855e validate: redefine default cat for the runner
The gstvalidate_debug may not be initialized like with the
validate/reporting which was crashing when run with GST_DEBUG=5.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1004
2016-05-24 10:28:59 -04:00
Guillaume Desmottes
01c2ba564a validate: transcoding: fix encoding_profile leak
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D980
2016-05-24 10:28:55 -04:00
Guillaume Desmottes
2c4dcae918 validate: transcoding: fix caps leaks
The 'all_raw_caps' list is never used and was just leaking caps.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D979
2016-05-24 10:28:53 -04:00
Guillaume Desmottes
63d4987341 validate: scenario: always unref srcpad
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D959
2016-05-24 10:28:49 -04:00
Guillaume Desmottes
862b077569 validate: media-descriptor-writer: fix pad leaks
- the pad returned by gst_element_get_static_pad() was leaked.
- unref the pad from snode when updating it, not the pad passed as
callback to pad_added_cb()

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D958
2016-05-24 10:28:47 -04:00
Guillaume Desmottes
e51912065e validate: clean up action_types list on deinit
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D957
2016-05-24 10:28:44 -04:00
Guillaume Desmottes
0a667858ab validate: keep a ref when registering an override
_add_override_from_struct() could, in theory, register more than once
the same override so we should not transfer the ref.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D956
2016-05-24 10:28:41 -04:00
Guillaume Desmottes
f5c50b19ed validate: use g_object_unref() on GstValidateOverride
Those are GObject subclasses, not GstObject.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D955
2016-05-24 10:28:33 -04:00
Guillaume Desmottes
f9fb5b00b7 validate: add mesa-related valgrind suppressions
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D954
2016-05-24 10:28:30 -04:00
Guillaume Desmottes
2ddbcb666f validate: generate valgrind suppression traces
Makes fixing easier as then we can just re-use the generated trace.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D953
2016-05-24 10:28:26 -04:00
Guillaume Desmottes
4322138c8f validate: fix typo if Xvfb is not installed
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D375
2016-05-24 10:28:23 -04:00
Edward Hervey
992292f8ae pad-monitor: Don't check for DISCONT flags on buffer in pull-mode
It only makes sense in push-mode
2016-05-23 16:00:42 +02:00
Edward Hervey
843578835f pad-monitor: Update checks for MISSING_DISCONT
* Some SEGMENT might be updates caused by calling gst_pad_set_offset(),
  which will send the same segment but with an updated offset and/or
  based field. For those segments, we don't require a DISCONT on the
  following buffer.
* Ignore differences in flags, they aren't relevant for now to figure
  out whether the segment is an update or not
* Ignore difference in 'position', it's only meant for internal usage
  by elements.
* Changes in the end position (stop in forward playback and start in
  reverse playback) are considering updates

Furthermore, also expect a DISCONT flag on the first buffer following
a STREAM_START.
2016-05-23 15:59:44 +02:00
Edward Hervey
0711d4e163 gst-validate: Avoid overreading array
If we offset the argv table as argument, we need to decrement the number
of items in the array (argc) when iterating it
2016-05-19 12:07:57 +02:00
Edward Hervey
ca38c4dc9a pad_monitor: Add a check for buffer DISCONT flag
The first buffer after a FLUSH or SEGMENT should have the DISCONT flag
set.
2016-05-19 12:07:26 +02:00
Thiago Santos
f4cdbd006b launcher: set gsettings-backend to prevent weird deadlocks
It seems like some sort of forking/dconf/gtype combination can
deadlock occasionally. Setting the gsettings backend to memory
makes it go away.

Same issue: https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/tests/check/Makefile.am?id=8e2c1d1de56bddbff22170f8b17473882e0e63f9
2016-05-15 06:34:21 -03:00
Thiago Santos
d0a7d9b094 validate: add non-seekable fragment file seek tests to the blacklist
The file has no index and is not easily seekable, seeking in these
kind of files isn't implemented.
2016-05-06 21:27:53 -03:00
Nicolas Dufresne
498e78897b debug-viewer: Allow running uninstalled with symlink
When uninstalled, we look at the directory of the executable to find
the resources. This patch uses realpath in replacement to abspath so
the path get expended, and symlink are followed.
2016-05-03 15:53:09 -04:00