Commit graph

1290 commits

Author SHA1 Message Date
Edward Hervey
5e32a69ed4 scenarios: Fix scrub_backward scenarios
We will be changing states, set the handles-state variable accordingly
2016-04-07 14:12:42 +02:00
Tom Schoonjans
0344fd3a49 gst-validate: Link with GIO and clean up CFLAGS/LIBADD/LDFLAGS
https://bugzilla.gnome.org/show_bug.cgi?id=764192
2016-03-25 17:14:14 +02:00
Vineeth T M
5d503c9271 validate: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763197
2016-03-24 14:52:07 +02:00
Sebastian Dröge
e11b7cc26c Back to development 2016-03-24 13:34:03 +02:00
Sebastian Dröge
6ca7b35851 Release 1.8.0 2016-03-24 13:11:29 +02:00
Thibault Saunier
83c652ba76 validate: launcher: Make sure to properly setup all testsuites
When a first testsuite will set paths, it does not mean that we should
just register following testsuite test manager default tests.

So we need to make a difference between the media paths the user passed
with --media-path and the ones defined by the testsuite.
2016-03-23 20:10:51 +01:00
Thibault Saunier
9190bcf62a validate:launcher: Handle testslist files even running several testsuites
Only if those testsuites do not use the same Tester as we
currently can't know to what testsuite a test belongs.
2016-03-23 20:10:01 +01:00
Thibault Saunier
187df093eb launcher: Avoid caching all the debug logs in memory
And just write the temporary XML file on disc
2016-03-23 12:41:49 +01:00
Thibault Saunier
23ad66c552 validate: launcher: Blacklist dash and HLS failling seeking tests
As described in https://bugzilla.gnome.org/show_bug.cgi?id=764020
2016-03-22 19:02:27 +01:00
Thibault Saunier
a566b2c4b9 validate:testsuite: Blacklist validate.hls.playback.scrub_forward_seeking.hls_bibbop as it is racy 2016-03-22 17:46:50 +01:00
Thibault Saunier
5598d3d5dd validate: pad-monitor: Check right segment after seek
After a seek we need to wait for the right segment (meaning the segment
with seqnum == last seek/flush stop seqnum) to check whether the segment.time
has been properly set.
2016-03-22 12:13:30 +01:00
Thibault Saunier
4f553b7c78 validate: Accept pad return FLUSHING when the element is being teared down
In the case and element is in READY or is going to READY state, it can
always return GST_FLOW_FLUSHING.

Avoid a race where a demuxer sinkpad has not been set to FLUSHING when we are
still processing a buffer but downstream is already FLUSHING and thus
the demuxer is already returning FLUSHING.
2016-03-22 12:11:52 +01:00
Thibault Saunier
621bda9b62 validate: Use GstValidate logging system to print buffering avancement
So it can be used in the launcher.
And make sure to properly parse the info in the launcher.
2016-03-21 14:34:27 +01:00
Thibault Saunier
9b93cc884f validate:launcher: Remove dependency on wget 2016-03-21 14:09:26 +01:00
Sebastian Dröge
7b3eafbe6e Release 1.7.91 2016-03-15 12:40:03 +02:00
Sebastian Dröge
4cee9de321 validate: Add missing parenthesis to seek position check
https://bugzilla.gnome.org/show_bug.cgi?id=763602
2016-03-14 14:29:57 +02:00
Sebastian Dröge
3f0a13d52a validate: Fix overflow seek position comparision
MAX(0, ((gint64) priv->segment_start - priv->seek_pos_tol) will be a high
positive number thanks to being interpreted as unsigned values if
segment_start < seek_pos_tol. Fix this by explicitly checking for this case
and only doing the subtraction otherwise.

This fixes the problem from fdccffbb2e
completely now.

https://bugzilla.gnome.org/show_bug.cgi?id=763602
2016-03-14 13:00:14 +02:00
Thibault Saunier
c2a35eef15 validate: Fix seding mistakes
When we added namespace to make GI happy we ended up with
structure called like GstValidateMediaGstValidateMediaXXX.
2016-03-08 18:48:27 +01:00
Edward Hervey
ef4635fe51 monitor: Add critical issue for checking accurate seek results
If an accurate seek is accepted, the resulting segment.time should be
exactly the requested seek start value..

https://bugzilla.gnome.org/show_bug.cgi?id=763299
2016-03-08 15:45:39 +01:00
Thibault Saunier
fdccffbb2e validate: Fix accurate seeking in paused failling condition 2016-03-08 12:00:37 +01:00
Vineeth T M
65560d8b03 Validate: Fix consider, launch spelling mistakes
https://bugzilla.gnome.org/show_bug.cgi?id=763289
2016-03-08 09:28:11 +02:00
Vineeth T M
7d9e9b3b79 validate: Fix wrong condition check when adding tests
When listing tests, checking whether uri is present or not and displaying error.
But uri does notneed to be present in case of pipeline generator. So the condition check is wrong.
This results in validateelements testsuite not working. Hence modifying the condition to
not error out on valid cases.

https://bugzilla.gnome.org/show_bug.cgi?id=762422
2016-03-05 12:56:14 +01:00
Sebastian Dröge
6a0170709c Release 1.7.90 2016-03-01 19:23:37 +02:00
Thibault Saunier
9708c7eb19 validate:launcher: Strip os.pathsep from extra env variables
We might be working with something that is not a path
2016-03-01 15:10:15 +01:00
Thibault Saunier
0535071158 validate: Add a missing new line to media info files 2016-02-29 15:55:47 +01:00
Thibault Saunier
62d8235598 validate: Fix build 2016-02-23 12:15:21 +01:00
Thibault Saunier
39a0be8e0e validate:launcher: Add a way to fail if test have been removed/added 2016-02-23 11:47:15 +01:00
Thibault Saunier
6a09e685f7 validate: Fix annotations
Skipping all functions and methods that are not relevant and not easily
introspectable

Differential Revision: https://phabricator.freedesktop.org/D706
2016-02-23 11:47:15 +01:00
Thibault Saunier
907ed7b2c2 validate: Remove unimplemented function
Differential Revision: https://phabricator.freedesktop.org/D705
2016-02-23 11:47:03 +01:00
Thibault Saunier
3657e7867f validate: Namespace all our structures and objects
Making GI a bit happier.

Those are not stable API anyway...

Differential Revision: https://phabricator.freedesktop.org/D704
2016-02-23 11:46:58 +01:00
Thibault Saunier
62e5e5f2e3 validate: Misc annotation and gi friendly cleanups
Differential Revision: https://phabricator.freedesktop.org/D703
2016-02-23 11:46:54 +01:00
Thibault Saunier
c2a944965a validate: Guarantee that we never create 2 monitors for the same object
Differential Revision: https://phabricator.freedesktop.org/D702
2016-02-23 11:46:39 +01:00
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
eunhae choi
9e1cea6c4b validate: scenarios: set need clock sync for switching subtitle track
As soon as the track is changed, the pipeline state is set to NULL
by execution 'stop' action even if there is a 'playback-time' with 5sec.
If the AV sink is not synchronized,
audio fakesink and video fakesink has different position value.
When the validate request the position information of pipeline
to do 'stop' action, the audio fakesink response of the position query
with the bigger value than 5sec.

https://bugzilla.gnome.org/show_bug.cgi?id=755101
2015-09-16 10:59:03 +02:00
Thibault Saunier
82f6ef48e9 Release 1.5.90 2015-08-21 11:09:48 +02:00
Thibault Saunier
1dc7c32d4c Update common submodule 2015-08-21 11:09:48 +02:00
Thibault Saunier
2b5db0c092 validate: Put the GstValidate testsuite version in the launcher config
This way testsuite implementation can have the information
2015-08-21 10:36:56 +02:00
Sebastian Dröge
d14564fd84 validate/transcoding: Don't override the target state of the scenario when receiving BUFFERING=100%
If the scenario handles the states and wants to stay in PAUSED, it's not a
good idea to change the state to PLAYING when receiving BUFFERING=100%. This
caused a race condition in varios seeking tests, most often in the dash scrub
seeking test.
2015-08-17 17:20:07 +02:00
Sebastian Dröge
403b236426 validate: Don't override the target state of the scenario when receiving BUFFERING=100%
If the scenario handles the states and wants to stay in PAUSED, it's not a
good idea to change the state to PLAYING when receiving BUFFERING=100%. This
caused a race condition in varios seeking tests, most often in the dash scrub
seeking test.
2015-08-17 14:27:33 +02:00
Sebastian Dröge
09c5283692 validate: Fix typo 2015-08-16 17:59:00 +02:00
Sebastian Dröge
5b81bb4bc9 validate/launcher: Blacklist some HLS seeking tests again 2015-08-16 17:53:28 +02:00
Thiago Santos
b77f56a234 validate/launcher: Un-blacklist validate.dash.playback.reverse_playback.*
Fixed now
2015-08-16 08:50:36 -03:00
Sebastian Dröge
f898f3ec8b validate/launcher: Un-blacklist validate.hls.playback.reverse_playback.*
It apparently succeeds now.
2015-08-16 12:26:16 +02:00
Sebastian Dröge
fea86d3556 validate/launcher: De-blacklist some HLS tests 2015-08-15 19:07:02 +02:00
Sebastian Dröge
1f8a5483d3 validate/launcher: Blacklist some DASH tests 2015-08-15 19:04:14 +02:00
Thibault Saunier
bb2532aa54 launcher: Handle override files for media files
And make sure to create a new dict for extra_env_vars when instanciating
GstValidateTest
2015-08-15 18:30:53 +02:00
Thibault Saunier
367e6cc4f4 launcher: Make sure MediaDescriptor is set in the GstValidateTest class itself
It is used there but was set in each and every subclasses
2015-08-15 18:30:53 +02:00
Sebastian Dröge
233c99fbb7 validate/launcher: Treat DASH like HLS in another place 2015-08-15 16:19:46 +02:00
Vineeth TM
14414c13c5 validate: scenario: fix leak during error cases
When message_async is not called during error cases, needs_parsing GList is
not being freed resulting in leak. Hence free'ing the same in finalize.

https://bugzilla.gnome.org/show_bug.cgi?id=753339
2015-08-07 10:18:56 +02:00
Vineeth TM
82ffd9c53e validate: descriptor-writer: Handle error when stream info is not available
There is no check to see if stream info is available. This leads to
assertion error. Adding proper error messages for the same and reported
the same as a validate warning message.

https://bugzilla.gnome.org/show_bug.cgi?id=752758
2015-08-05 17:25:04 -04:00
Vineeth TM
97e630efba validate: descriptor-writer: Print proper error message when discover fails
When discovering the files, there will be different kind of errors. If we print
the exact message, then it will be more helpful for user. Especially in the case
of missing plugins, displaying which plugin is missing as error message

https://bugzilla.gnome.org/show_bug.cgi?id=752758
2015-08-05 17:25:04 -04:00
Vineeth TM
185b3b2d7e validate:override-registry: fix memory leak
mutex is being initialized but not cleared.

https://bugzilla.gnome.org/show_bug.cgi?id=752754
2015-08-05 17:22:39 -04:00
Vineeth TM
c2a5909cd4 validate: tools: transcoding error due to wrong condition check
when checking the restriction caps, not adding proper check, which
results in assertion error when calling gst_caps_from_string

https://bugzilla.gnome.org/show_bug.cgi?id=752749
2015-08-05 17:19:24 -04:00
Vineeth TM
e4d490fd45 validate:launcher: Fix documentation
Fix some trivial spelling mistakes in documentation
and document about --update-media-info.

https://bugzilla.gnome.org/show_bug.cgi?id=752748
2015-08-05 17:17:41 -04:00
Vineeth TM
94c684d401 validate:launcher: escape the characters to remove bad range in regex
When media file name consists of some special characters of the format
[b-a].mp3, then it fails with 'bad character range' error and exits.
call re.escape to escape the characters before using it in findall

https://bugzilla.gnome.org/show_bug.cgi?id=752650
2015-08-05 16:56:18 -04:00
Vineeth TM
ac172a9ac6 validate:launcher: improve uri generation for --medias-path
When --medias-paths option is being used, right now we have to
specify the full path, like /home/user/gst/master/media/
But when inside master directory, would like to specify only
media/ and expect it to work. Using os.path.abspath and create uri based on that.
This way we can either just pass media/ or pass the full path as parameters.

https://bugzilla.gnome.org/show_bug.cgi?id=752518
2015-08-05 16:12:47 -04:00
Vineeth TM
b37c550b2b validate:launcher: skip setting up test suite for --medias-paths
in validate.py, some mixer test generators are being added by default.
When passing --media-paths, i would not want to test these.
So instead of setting up the validate test suite, just call tester.register_defaults().

https://bugzilla.gnome.org/show_bug.cgi?id=752518
2015-08-05 16:12:47 -04:00
Vineeth TM
e0962c66ed validate: scenarios: Change start time for reverse playback
Right now reverse playback happens till the beginning of the media file.
But for files which are longer than 150 seconds,
Timeout 'Hard timeout reached: 150 secs' error happens. So we should set the
start time within 150 seconds.

https://bugzilla.gnome.org/show_bug.cgi?id=753216
2015-08-04 15:24:14 +02:00
Thibault Saunier
1fd14635ed validate: launcher: Add a --force-sync option
Which should put the testsuite in a clean state (basically using git
reset --hard for git based testsuite for example)
2015-08-04 15:23:54 +02:00
Nicolas Dufresne
bc297a8295 validate: Enable flac reverse playback tests
This is now supported and works as expected.
2015-08-04 08:53:17 -04:00
Nicolas Dufresne
6993666749 validate: media-descriptor: Workaround file:// stream-id changing
file:// base stream-id will vary depending on the file path. As we
don't expect everyone to use the same absolute path to place the
validate testsuite, the resulting stream-id changes. Because of that,
we can't match the stream-id in the recorded file, hence cannot do
further check. We work around this by doing what filesink would do,
which is compute a SHA256 of the URI which we can use to first
validate the ID is prefixed like expected, and decide if we should
consider the stream IDs the same or not.

https://bugzilla.gnome.org/show_bug.cgi?id=753079
2015-07-31 18:38:10 -04:00
Nicolas Dufresne
e25a6aaf78 validate: media-descriptor: Fix reading seekable record
Casting the result of g_strmp0 to boolean won't make gboolean
value 0 or 1. We need proper 0 and 1 so we can use == comparision.
2015-07-31 10:49:00 -04:00
Vineeth TM
8d477c6d93 validate: media-descriptor: handle proper return values
while comparing the media descriptor with --expected-results, the return
values are not being handled properly, which results in wrong comparision

https://bugzilla.gnome.org/show_bug.cgi?id=748390
2015-07-31 09:42:04 -04:00
Nicolas Dufresne
bd5fb7be26 validate: media-descriptor: Add comment before ignored return value
As stated in the bug, this comparison failing is not a critical
error, warning is enough. Add a comment so nobody thinks it's a
coding error.

https://bugzilla.gnome.org/review?bug=748390
2015-07-31 09:42:04 -04:00
Vineeth TM
2a5ff3f3c8 validate: media-descriptor: remove duplicate conditions
when comparing tags, two conditions in if an else if are same
the correct way is to first check if both are NULL and return.
changed the condition accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=748390
2015-07-30 15:09:00 -04:00
Vineeth TM
f020c41d41 validate: media-descriptor: fix trivial spelling mistakes
replace comparse_stream with compare_streams

https://bugzilla.gnome.org/show_bug.cgi?id=748390
2015-07-30 15:09:00 -04:00
Vineeth TM
c91ed016b1 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=752945
2015-07-30 14:06:41 +01:00
Thibault Saunier
df76ce5812 validate: Add a method to get action->scenario in a thread safe way
API:
  gst_validate_action_get_scenario
2015-07-25 10:54:19 +02:00
Olivier Crête
386b91522c validate-scenario: Use thread-safe GWeakRef
Since _set_done() is meant to be thread safe,
it can not be used with g_object_add_weak_pointer(),
instead, one must use GWeakRef. But since it is in the API,
document that fact and add a couple assertions to make sure
it doesn't get broken in the future.
2015-07-24 19:59:20 -04:00
Olivier Crête
ae9dec4cc3 validate-scenario: Use GLib functions to make sure GMainContext is used 2015-07-24 19:59:15 -04:00
Olivier Crête
0a17bfc2be scenario: Only modify the actions from the main thread
The action's content is not protected by a mutex, so only
modify it from the main thread.
2015-07-24 17:06:47 -04:00
Olivier Crête
1599c1abd8 gitignore: Add more generated files 2015-07-24 17:06:29 -04:00
Vineeth T M
7e91f73c76 validate-scenario: get duration from media_info if not able to query
In case of files, which don't have duration in header, baseparse
estimates the duration only after 1.5 seconds. But Async_done event
is sent before the duration is estimated, which results in error.
If duration query fails, getting the duration from the media-info being
passed through --set-media-info. If media-info is also not set,
printing an error message and throwing error.

https://bugzilla.gnome.org/show_bug.cgi?id=752521
2015-07-22 16:46:43 +01:00
Vineeth T M
aa6aebe41e validate:launcher: add quotes to the file path
When folder name contains space or other special characters,
it fails to recognise the same and error is thrown. Adding the path
inside  to recognise the same

https://bugzilla.gnome.org/show_bug.cgi?id=752611
2015-07-22 16:40:07 +01:00
Vineeth T M
074406bc2c validate:launcher: unquote the path to remove special characters
When getting path from url using, url2path, it is returning
special characters (%20 for space etc..), instead of returning
plain path. path.unquote replaces the same..

https://bugzilla.gnome.org/show_bug.cgi?id=752611
2015-07-22 16:39:43 +01:00
Vineeth TM
e4906c7289 validate:launcher: return on error cases properly
When folder name contains spaces during --medias-paths, it does not
create the media info, but still it shows as passed.
Returing failed during this case

https://bugzilla.gnome.org/show_bug.cgi?id=752611
2015-07-22 16:39:24 +01:00
Vineeth TM
6bf6fe7dec validate:launcher: handle file path in --medias-paths
right now --medias-paths accepts only directories. Added support to
accept file path as well.

https://bugzilla.gnome.org/show_bug.cgi?id=752692
2015-07-22 16:35:49 +01:00
Vineeth T M
6c48e89aab validate:launcher: skip default media path for --media-paths option
when --media-paths is specified, then no need to check the default media.
And add Force argument to let testsuite force the inclusion of
default media directory.

https://bugzilla.gnome.org/show_bug.cgi?id=752461
2015-07-16 16:31:09 +02:00
Thibault Saunier
89283ef3fe validate:ssim: Fix calls to the converters
We were mixing them
2015-07-16 16:30:52 +02:00
Vineeth T M
1ef0fdd66c validate:main.py: trivial document fixes
gst-validate-launch is being used instead of gst-validate-launcher
in a couple of places.

https://bugzilla.gnome.org/show_bug.cgi?id=752455
2015-07-16 09:35:17 +02:00
Thibault Saunier
0826c87136 validate:gtk: Handle the case were we are 'pressing' only a modifier 2015-07-14 20:31:59 +02:00
Guillaume Desmottes
09145cc56b validate: don't store the full description struct
Summary:
When running valgrind we'll have 2 scenarios loaded (the normal one and
"setup_sink_props_max_lateness.scenario"). The loading code shouldn't assume
which one will contain the description it actually care about and so just look
for the fields it actually needs.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D199
2015-07-14 18:28:34 +02:00
Thibault Saunier
11b1ae5f3b validate:scenario: Report EVENT_SEEK_NOT_HANDLED as reported error on error 2015-07-14 18:16:40 +02:00
Thibault Saunier
b02e422519 validate: Document the GST_VALIDATE_CONFIG environment variable 2015-07-13 16:36:15 +02:00
Thibault Saunier
5e2451da62 validate:scenario: Implement a config to set the interval between action calls
Allowing users to decide the time between which the action should be
executed. In some cases executing on idle might lead to action not
being executed fast enough so the user might want to force an interval
in that case.
2015-07-13 16:36:15 +02:00
Thibault Saunier
96d5d0ab27 Back to development 2015-06-24 17:43:53 +02:00
Thibault Saunier
bab3d99744 Release 1.5.2 2015-06-24 17:42:16 +02:00
Thibault Saunier
5edea350f6 validate:scenario: Reset seeked_in_paused when wrong position detected
+ Lower some debug output to LOG
2015-06-24 16:25:24 +02:00
Thibault Saunier
8e37c81811 validate:ssim: Inform about min average and min minimum similarities 2015-06-24 16:25:24 +02:00
Tim-Philipp Müller
de40a24b8f validate: spelling fixes
analize != analyze
2015-06-14 22:44:26 +01:00
Wonchul Lee
9ea5df9c98 validate: media-check: add newline to end of print statements
https://bugzilla.gnome.org/show_bug.cgi?id=750089
2015-06-14 22:41:12 +01:00
Wonchul Lee
953db96ede validate: media-check: fix double unref in error code path
Writer would get unrefed twice when it could not parse the file.

https://bugzilla.gnome.org/show_bug.cgi?id=750606
2015-06-13 19:28:19 +01:00
Tim-Philipp Müller
736ecef382 validate: tools: fix build
/usr/bin/ld: gst-validate-images-check.o: undefined reference to symbol 'gst_init'
/home/tpm/gst/glib-master/gstreamer/gst/.libs/libgstreamer-1.0.so.0: error adding symbols: DSO missing from command line
2015-06-13 19:25:17 +01:00
Thibault Saunier
06cca8a5b3 validate:ssim: Make position reporting parseable by the launcher 2015-06-12 12:42:42 +02:00
Thibault Saunier
3a1facdb45 validate:ssim: Print better information about execution 2015-06-12 12:42:40 +02:00
Thibault Saunier
245eb9d0f9 validate: print REPORTER->name when passed as source in validate_printf 2015-06-12 12:41:59 +02:00
Thibault Saunier
3e978a46b4 validate:launcher: Avoid printing twice env variables
When printing test command.
2015-06-12 11:31:13 +02:00
Thibault Saunier
ab7e9930d1 validate:tools: Cleanup Makefile.am
Removing useless CFLAGS and LIBS
2015-06-09 10:52:38 +02:00
Wonchul Lee
de6b24d905 validate:media-descriptor-writer: cleanup get tag code
https://bugzilla.gnome.org/show_bug.cgi?id=750609
2015-06-09 10:18:00 +02:00
Thibault Saunier
8b38d4745b validate: Do not define GstValidateOverride type twice 2015-06-08 18:58:46 +02:00
Thibault Saunier
7dd8bae7c2 validate: Fix make distcheck 2015-06-08 18:20:33 +02:00
Thibault Saunier
c206569a64 validate: Generate documentation for Validate plugins
Summary: Depends on D215

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D216
2015-06-08 17:40:32 +02:00
Thibault Saunier
6e5bddf54e validate: Add a validate ssim plugin
Summary:
 + Bump gst-video dependency to 1.4 as we need GstVideoConvert

 Depends on D213: validate: Mark gst_validate_report a G_GNUC_PRINTF

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D215
2015-06-08 17:40:32 +02:00
Thibault Saunier
dbcb6d5614 validate: Mark gst_validate_report a G_GNUC_PRINTF
Summary:
And fix the issue it raised

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D213

Depends on D211
2015-06-08 17:40:32 +02:00
Thibault Saunier
1dc3816943 validate: Add a gst-validate-images-check tool
Summary:
That is a new tool that uses ssim algorithm to compare images

+ Add a GstValidateVideo internal library adding an helper Gssim class

Depends on D210

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D211
2015-06-08 17:40:32 +02:00
Thibault Saunier
bf610de0d6 validate:utils: Add a utility to get a GstClockTime from a structure
Summary:
Properly handling the different types that can represent ClockTime

Make use of it in gst_validate_action_get_clocktime

API: gst_validate_utils_get_clocktime

Depends on D209

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D210
2015-06-08 17:40:32 +02:00
Thibault Saunier
6ddf55eaa2 validate: Properly clear the overrides registry on deinit
Summary: Depends on D208

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D209
2015-06-08 17:40:32 +02:00
Thibault Saunier
2c6993b2bd validate: Add a way to check whether Validate is initialized
Summary:
API:

  gst_validate_is_initialized

Depends on D207

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D208
2015-06-08 17:40:32 +02:00
Thibault Saunier
ba0ab132f9 validate:override: Add a vmethod to check whether a monitor can attach it
Summary: Depends on D206

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D207
2015-06-08 17:40:32 +02:00
Thibault Saunier
38df412a54 validate:override-registry: Make use of gst_validate_element_has_klass
Summary:
+ Fix a minor mixup bug between klass_overrides and name_overrides

Depends on D205

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D206
2015-06-08 17:40:31 +02:00
Thibault Saunier
40d00e8614 validate:override: Make overrides GObjects
Summary:
This way we can subclass them getting a proper
context in the various override methods.

Depends on D204

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D205
2015-06-08 17:40:31 +02:00
Thibault Saunier
13864f4998 validate: Move plugins to the toplevel directory
Summary:
Otherwise we end up with circular / complicated dependencies between
Validate, its libraries, and the plugins

Depends on D203

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D204
2015-06-08 17:40:31 +02:00
Thibault Saunier
83a8835a65 validate:scenario: Round up computed ClockTime values
Otherwise we end up with rounding error and instead of
seeking to 0.1 we seek to 0.09999999999 for example

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D203
2015-06-08 17:39:57 +02:00
Thibault Saunier
dfe29c56e5 validate🏃 Add a method to force exiting the runner
This method is similar to runner_printf() but can be used
only once. The user needs to make sure all the pipeline
are in NULL state when this is called.

The method emits a "STOPPING" signal and at that point
overrides or monitors should do extra processing/checks if
needed.

+ Make use of it everywhere where it makes sense.

API:
  gst_validate_runner_exit
  GstValidateRunner::stopping signal
2015-06-06 08:50:47 +02:00
Olivier Crête
5ce8ab213e pad-monitor: Check that an ERROR GstMessage has been posted on GST_FLOW_ERROR
Summary:
Before returning GST_FLOW_ERROR, an element must post an ERROR GstMessage,
enforce that.

Reviewers: thiblahute, Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D201
2015-06-03 11:43:12 -04:00
Luis de Bethencourt
111b7344a3 validate: remove unused assignment
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D202
2015-06-03 11:50:51 +01:00
Olivier Crête
dad9d252bc Revert "validate-utils: simplify _read_builtin ()"
This breaks the fast_forward scenario parsing.

This reverts commit 0cfff156b1.
2015-06-02 16:46:15 -04:00
Luis de Bethencourt
ab65b1e743 validate-utils: clean error handling in _file_get_lines () 2015-05-29 17:40:26 +01:00
Luis de Bethencourt
0cfff156b1 validate-utils: simplify _read_builtin () 2015-05-29 16:47:48 +01:00
Vineeth T M
1e3084aa95 validate-utils: sqrt(-1.0) leads to undefined result
Using sqrt of -1 is not valid and leads to undefined results.
When comparing the return value of the fucntion in validate-scenario,
it is being checked with ret == -1, so it makes sense to just return -1 in error case.

https://bugzilla.gnome.org/show_bug.cgi?id=748389
2015-05-29 15:40:55 +01:00
Thibault Saunier
e832785604 validate:scenario: Make sure to actually test position to execute actions 2015-05-20 14:16:14 +02:00
Guillaume Desmottes
9ef7943369 validate: add valgrind ignore supps for theora encoder
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D181
2015-05-18 10:16:28 +02:00
Guillaume Desmottes
dc2ba59ebb validate: add more H264 valgrind supp rules
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D180
2015-05-18 10:16:05 +02:00
Thibault Saunier
4829e44147 validate:gtk: Use event->type directly
gdk_event_get_event_type was introduced in Gtk 3.10 only

https://bugzilla.gnome.org/show_bug.cgi?id=749421
2015-05-18 10:15:33 +02:00
Thibault Saunier
d89b4884c6 validate:launcher: extra_env_variables is a dictionnary 2015-05-14 17:44:17 +02:00
Thibault Saunier
dc2f4f11c6 validate:launcher: Always set the protocol when creating a GstValidateMediaDescriptor
Summary: Depends on D174

Reviewers: Mathieu_Du, gdesmott

Differential Revision: http://phabricator.freedesktop.org/D175
2015-05-14 15:56:57 +02:00
Thibault Saunier
4ada36dbfc validate:launcher: Allow passing extra env variables to the tests
Summary: Depends on D173

Reviewers: Mathieu_Du, gdesmott

Differential Revision: http://phabricator.freedesktop.org/D174
2015-05-14 15:56:57 +02:00
Thibault Saunier
817ef82bb0 validate: overrides: Allow using regex for named overrides
Summary:
And minor fixes

Depends on D172

Reviewers: Mathieu_Du, gdesmott

Differential Revision: http://phabricator.freedesktop.org/D173
2015-05-14 15:56:57 +02:00
Thibault Saunier
d90f17a5b1 validate:scenario: Handle action execution after pipeline destruction
Summary:
It is possible to keep executing actions after the pipeline
has been destroyed.

API:
  GST_VALIDATE_ACTION_TYPE_DOESNT_NEED_PIPELINE

Depends on D171

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D172
2015-05-14 15:56:56 +02:00
Thibault Saunier
92732c9f24 validate:scenario: Add a macro to get ActionType from an Action
Summary: Depends on D170

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D171
2015-05-14 15:56:56 +02:00
Thibault Saunier
53628bd7f2 validate:scenario: Factor out code to check position
Summary:
Making simpler to follow the execute_next_action function.

Depends on D169

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D170
2015-05-14 15:56:56 +02:00
Thibault Saunier
0f1f1db171 validate:pipeline-monitor: Stop printing position when not possible
Summary:
If from anything >= PAUSED to anything <= READY we can not query
pipeline position, so do not try to.

Depends on D168

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D169
2015-05-14 15:56:56 +02:00
Thibault Saunier
2ccae6e500 validate:scenario: Rename 'get_position_id' to 'execute_actions_source_id'
Summary: Depends on D167

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D168
2015-05-14 15:56:56 +02:00
Thibault Saunier
319e86c81c validate: Do not unref twice the same list
Summary: Depends on D166

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D167
2015-05-14 15:56:56 +02:00
Thibault Saunier
2e8552eff0 validate:scenario: Add a way to specify the pipeline on which a scenario applies
Summary:
From within the scenario itself.

Depends on D165

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D166
2015-05-14 15:56:56 +02:00
Thibault Saunier
2548eafd11 validate: Avoid depending on Gst 1.4
Summary: Depends on D117

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D165
2015-05-14 15:56:56 +02:00
Thibault Saunier
b5d3622b31 validate: Add a gtk plugins that implements action types relative to Gtk
Summary:
Currently the only supported action is gtk-put-event allowing press and
release keyboard keys.

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D117
2015-05-14 15:56:56 +02:00
Thibault Saunier
0969e79607 validate: Always git submodule update from the toplevel directory
Otherwise it fails with older git versions
2015-05-12 09:55:58 +02:00
Emanuele Aina
2c3d0c9eab validate: Reshape documentation
Fix some errors, use more Docbook tags and split each command reference
in its own file.

https://bugzilla.gnome.org/show_bug.cgi?id=749162
2015-05-11 21:56:27 +02:00
Emanuele Aina
1286989c31 validate: Go back to the validate dir after submodule init
https://bugzilla.gnome.org/show_bug.cgi?id=749162
2015-05-11 21:56:27 +02:00
Guillaume Desmottes
d548286209 validate: ignore x264 valgrind errors
Summary: The x264 code is pretty hardcore so I just opened a bug for now.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D164
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
4927c65710 validate: disable QOS features when running with valgrind
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D156
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
b54a22c9bc validate: move element_has_klass() to utils
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D163
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
f6681ff003 validate: rename get_valgrind_suppression_file()
Summary:
This function is actually not specific to valgrind so we can make it more
generic.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D162
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
2760da33a3 validate: allow to pass more than one file to GST_VALIDATE_CONFIG
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D161
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
e5e7afd86f validate: gst_validate_plugin_get_config() return 'core' conf if plugin is NULL
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D160
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
92fa2b5681 validate: add gst_validate_deinit()
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D159
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
596daaed74 validate: don't leak not maching config structures
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D158
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
c2fef15266 validate: factor out create_config()
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D157
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
63ca026b03 validate: display debug info when stopping because EOS
Summary:
Useful to know if we are executing the 'stop' command provided by the scenario
or not.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D155
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
0417e47e50 validate: unref last_caps when destroying pad monitor
Reviewers: thiblahute

Reviewed By: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D150
2015-05-07 11:19:57 +02:00