Commit graph

1108 commits

Author SHA1 Message Date
Thibault Saunier
8c760b0a0e validate: Turn GstValidateRunner into a GstTracer
This way we do not need the LD_PRELOAD hack anymore

Add a new libgstvalidateplugin GStreamer plugin, making sure it shares
the exact same code as the library (exposing only the wanted symbols).

Fix the way we set where to install GstValidate plugins

Try to keep backward compatibility even if tracers should never be instantiated
after an GstElement has been instantiated.

Differential Revision: https://phabricator.freedesktop.org/D459
2016-02-23 11:46:32 +01:00
Thibault Saunier
1d9c2d2a0b reporter: Properly reset g_log handler when reporter is destroyed
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D699
2016-02-23 11:46:24 +01:00
Thibault Saunier
2d5c6a749c validate: Make _deinit thread safe
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D698
2016-02-23 11:46:07 +01:00
Vineeth T M
bc66079d2a validate:launcher: handle spaces in transcode output path
When there are spaces in transcoding output path, then it fails. Hence adding the
path in double quotes

https://bugzilla.gnome.org/show_bug.cgi?id=756217
2016-02-17 22:33:32 +01:00
Vineeth T M
e2d2a6865f validate:launcher: Add proper check for is_seekable
The seekable variable in media_info file is of type string. When checking if the file
is seekable using is_seekable, it just returns the string, resulting in it always being true.
It should actually be comparing the string and returning true or false based on comparison

https://bugzilla.gnome.org/show_bug.cgi?id=755854
2016-02-17 22:33:16 +01:00
Vineeth T M
a02609fc37 validate: fast_forward: Calculate proper playback-time for scenario
In case of fast-forward scenario, the playback-time is not set properly
as per increase in the rate. This is resulting in short media files of duration
less that 15 seconds to fail.

https://bugzilla.gnome.org/show_bug.cgi?id=754151
2016-02-17 22:32:52 +01:00
Edward Hervey
35eeed9aee pad-monitor: More fixes of previous commit
You'd think in 2016 compilers could complain when assigning/comparing
different types of enums ... *sigh*.
2016-01-21 15:07:40 +01:00
Edward Hervey
4e2c7af46c tools: Fix relative track switching
I have no idea where that "-2" came from, but it was obviously wrong.
Just use modulo "total number of streams" to get the proper track id.
2016-01-21 14:30:46 +01:00
Thibault Saunier
c7df116a3c validate: Remove debugging left overs 2016-01-21 14:23:24 +01:00
Edward Hervey
e935640271 pad-monitor: Add support for GstPadEventFullFunc
This ensures our sink pad event wrapper is properly called if the
element implement a GstPadEventFullFunc instead of a regular one.

Removes all stray "buffer received before segment" issues with
queue/multiqueue
2016-01-21 14:17:40 +01:00
Thibault Saunier
633fddbb66 validate: Fix testsuite
Use fake elements instead of real ones in our tests so that
we control exactly the number of issues generated.

Until now we were trying to hide extra issues with a probe dropping
events and buffers but since 2dfa548f36
"pad: Append hooks instead of prepending to call them in the order they were added"
in core, hidding will not work.
2016-01-21 11:21:01 +01:00
Thibault Saunier
0482dab36b g-i: fix init section to avoid compiler warnings 2016-01-19 11:31:55 +01:00
Thibault Saunier
b08ef6b9ef runner: Report criticals when the reporter is in smart mode 2016-01-15 20:13:59 +00:00
Thiago Santos
3607f30fff media-descriptor-writer: track running time of buffers
PTS and DTS can be deceiving as a change in segment can dramatically change
playback synchronization. Track the running-time as well to properly
get any change in synchronization
2015-12-11 11:13:35 -03:00
Thiago Santos
ae52807efd media-check: enable 'full' for files which reference are also 'full'
If the reference file has frames information, enable it automatically
so that the comparison file also has frames to be used.

https://bugzilla.gnome.org/show_bug.cgi?id=758855
2015-12-04 19:03:53 -03:00
Thiago Santos
ee7cb88d02 media-descriptor: check if frame data matches
When comparing media descriptors, also check if the frames
match

https://bugzilla.gnome.org/show_bug.cgi?id=758855
2015-12-04 19:03:53 -03:00
Thiago Santos
84dd10b628 media-descriptor-writer: refactor getting the streamnode by a pad
https://bugzilla.gnome.org/show_bug.cgi?id=758855
2015-12-04 19:03:53 -03:00
Thiago Santos
37a2b6110f media-descriptor-writer: remove condition from inside loop
Only enter the loop if it indeed has a change of doing something
2015-12-04 19:03:53 -03:00
Thiago Santos
8088d5354b docs: fix typo
Retrive -> retrieve
2015-12-04 19:03:53 -03:00
Thibault Saunier
167306dbe0 validate: Add some documentation and annotiations 2015-12-02 13:50:02 +01:00
Thibault Saunier
87fbaf966c validate: Add a 'smart' reporting details mode
Making sure to show all informations for critical issues, but be synthetic for others
2015-12-02 13:49:34 +01:00
Edward Hervey
01f010b15d scenario: Set the default action execution interval to 10ms
Having a default value of 0 meant that a g_idle_add loop was constantly
running, causing each test to use 100% cpu.

This is no longer required. Using a 10ms interval brings down cpu usage
to a sane value
2015-11-23 17:44:27 +01:00
Vineeth T M
680ca5e10f validate: media-descriptor-writer: Don't create media info when stream info is not present.
When a file does not contain any stream info, then there is no need
to create the media info file as, it is not considered to be a valid file
and no validate checks are done for the same.
This skips unnecessary files like .txt, .dump files

https://bugzilla.gnome.org/show_bug.cgi?id=754006
2015-11-17 10:10:10 +01:00
Thibault Saunier
ade0fb3fed validate: launcher: Set scenario manager config before discovering testsuites 2015-11-16 16:45:13 +01:00
Vineeth T M
0f7105d317 validate: launcher: Print error when media-info files not present
When there are no media-info files present and --generate-media-info
option is not given, then it just fails without printing error.
Printing an error stating, use --generate-media-info if there are no
media info files.
When there are neither media files and media info files, print error
stating the same

https://bugzilla.gnome.org/show_bug.cgi?id=755087
2015-11-11 10:12:58 +01:00
Vineeth T M
d57fca241a validate: Fix memory leaks when context parse fails
When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.

And replacing g_error_free with g_clear_error, which checks if the error being passed
is not NULL and sets the variable to NULL on free'ing.

https://bugzilla.gnome.org/show_bug.cgi?id=753862
2015-11-11 10:12:49 +01:00
Vineeth TM
1e76d905ae validate: suppression: suppress 'uninitialised value of size 4' in aacdec
Suppress this error, until the logic in libav is fixed.

https://bugzilla.gnome.org/show_bug.cgi?id=753268
2015-11-11 10:12:25 +01:00
Thibault Saunier
8899fd8dd1 validate: Implement support to run tests inside gdb
Making debugging races leading to crashes easier to debug
2015-11-10 18:17:54 +01:00
Thibault Saunier
91d3e70098 validate: Minor documentation fix 2015-11-10 15:14:49 +01:00
Thibault Saunier
06749ee333 validate: Remove 0.10 caps reference from the documentation 2015-11-08 01:37:14 +01:00
Thibault Saunier
024b1762d7 validate: Handle setting several scenarios
The user might have scenarios specific to a particular pipeline, and the
application might have several pipelines running and scenarios that
apply on specific pipeline. We have to handle that valid use case.
2015-10-29 15:34:01 +01:00
Sebastian Dröge
3bd31854a8 validate: Un-blacklist seeking HLS tests
They are reliable enough after 36b80edb72
in gst-plugins-base now.
2015-10-27 15:51:44 +02:00
Wonchul Lee
db8efd60fc validate: Add missing gir include path
Add missing gir include path for building with gst-uninstalled script

Differential Revision: https://phabricator.freedesktop.org/D461
2015-10-26 15:36:40 +01:00
Vineeth T M
cfe7dc1d6d validate-transcoding: trivial patch to change error from 0.10 to 1.0
While printing error in transcoding, gst-validate-transcoding-0.10 is being used.
Changing the same to 1.0

https://bugzilla.gnome.org/show_bug.cgi?id=756215
2015-10-19 15:43:35 -03:00
Thibault Saunier
aef41ba72a validate: Add support for prores 2015-10-14 12:01:15 +01:00
Guillaume Desmottes
9005428910 validate: fix double free
Summary:
Move variable declarations in the for block so we won't try re-free
tldir in case of early short circuiting of the 'for' code.

Depends on D348

Reviewers: thiblahute

Reviewed By: thiblahute

Differential Revision: https://phabricator.freedesktop.org/D349
2015-10-10 10:51:10 +01:00
Guillaume Desmottes
5067cee05b validate: fix loading of full path scenario
Summary:
We were checking if the path was a full one but was using the
scenario_name instead of this path when trying to load the scenario.

Depends on D346

Reviewers: thiblahute

Reviewed By: thiblahute

Differential Revision: https://phabricator.freedesktop.org/D348
2015-10-10 10:50:58 +01:00
Vineeth TM
aa2c93c3d4 validate:launcher: throw valgrind error only for definite loss
errors-for-leak-kinds should be set to definite, because almost every test case
, will have possibly lost memory, which may or may not be a leak.
And throwing error for all these cases doesn't seem to be correct.

https://bugzilla.gnome.org/show_bug.cgi?id=752754
2015-10-02 17:46:51 +02:00
Vineeth T M
e7b65fe5df validate: launcher: Fix media_check class name and add double quotes for valgrind logs
When creating the class names for media check, uri is being used,
instead of the path. Hence converting the uri using uri2path and creating
class name.
Add double quotes for valgrind logs, to support special characters like space

https://bugzilla.gnome.org/show_bug.cgi?id=752808
2015-10-02 17:43:50 +02:00
Vineeth TM
e1c1c45eb8 validate: media-check: Pass NULL instead of GError if not using it
If not using the GError being passed on to media descriptor, writer and parser,
simply pass NULL instead of GError.

https://bugzilla.gnome.org/show_bug.cgi?id=753340
2015-10-02 17:39:00 +02:00
Vineeth TM
15c87003b8 validate: descriptor-writer: Handle NULL GError address and free GError during error cases
writer_new_discover() API should be able to accept NULL GError and in case of
error, if GError is passed on as parameter, it should be propagated, else it
should be free'd.

https://bugzilla.gnome.org/show_bug.cgi?id=753340
2015-10-02 17:39:00 +02:00
Vineeth TM
5c0c42ed6d validate:tools: set locale to all and change argument to FILENAME
When file name consists of characters from other languages, say korean,
then it throws an error
Error initializing: Invalid byte sequence in conversion input

Hence setting locale to all to fix this.
And changing the media-info argument to type G_OPTION_ARG_FILENAME

https://bugzilla.gnome.org/show_bug.cgi?id=753486
2015-10-02 17:32:19 +02:00
Vineeth T M
4071d60b0f validate: Print the return value at the end
Makes it easier to know if the test passed or failed.

https://bugzilla.gnome.org/show_bug.cgi?id=754013
2015-10-02 17:21:50 +02:00
Vineeth T M
1b700f13b4 validate: launcher: Support relative path for folder names
Even though relative paths are supported, right now it does not
work when we give the path as 'media/' present in the current directory.
Adding support for the same.

https://bugzilla.gnome.org/show_bug.cgi?id=754100
2015-10-02 17:20:18 +02:00
Thibault Saunier
91b3001f77 validate:launcher: Treat min-media-duration as a float 2015-09-30 18:13:28 +02:00
Thibault Saunier
b59cc63de7 scenarios: Set min-media-duration on switch_audio_track 2015-09-30 15:02:03 +02:00
Thibault Saunier
f69b63e749 validate:scenario: Add a way to define a timeout for actions execution
Reviewers: Mathieu_Du

Differential Revision: https://phabricator.freedesktop.org/D271
2015-09-30 14:56:24 +02:00
Sebastian Dröge
67d53d6aad validatessim: Stop using deprecated gst_segment_to_position() 2015-09-26 18:46:05 +02:00
Thibault Saunier
ac87f65d0d Back to development 2015-09-25 12:51:31 +02:00
Thibault Saunier
2501281b09 Release 1.6.0 2015-09-25 12:50:13 +02:00