Guillaume Desmottes
f7955f5249
validate: remove redundant pre-condition in monitor_factory_create
...
The same check is already done at the head of the function.
https://bugzilla.gnome.org/show_bug.cgi?id=736019
2014-09-05 19:00:23 +02:00
Guillaume Desmottes
f900f53e95
validate: fix a couple of typos in comments
...
https://bugzilla.gnome.org/show_bug.cgi?id=736019
2014-09-05 19:00:23 +02:00
Thibault Saunier
ef64eb0d0e
validate:docs: Sensibly update the usage file
2014-09-05 19:00:23 +02:00
Thibault Saunier
7cfdb5372c
validate: Use a GList to store action types instead of hashtable
...
It is more adapted and allows us to print the action types in a stable
maneer.
2014-09-05 19:00:23 +02:00
Thibault Saunier
eb6739c91b
validate: report: Do not repeat type name when printing its details
2014-09-05 19:00:23 +02:00
Thibault Saunier
b4ddea0fd2
validate: Change the version to 1.0.0.1
...
The 1.0.0.1 means that it is targetting the GStreamer 1.X serie,
and is a git version (thus 0.1)
GstValidate will most probably not be released and we should try to
be able to use it with as many version of the GStreamer 1.X serie
as possible.
2014-09-05 19:00:23 +02:00
Thibault Saunier
e5b485d776
validate: Document the API with gtk-doc
2014-09-05 19:00:23 +02:00
Thibault Saunier
45ffbdec07
validate: Add GObject Introspection support
2014-09-05 19:00:23 +02:00
Thibault Saunier
4fd1939b21
validate: Rework the action parameter API
...
Making it possible to properly define parameters, and describe them.
+ Document all action types!
2014-09-05 19:00:23 +02:00
Thibault Saunier
d29a8e4a77
validate: Add an option to print all avalaible actions with details
...
+ Cleanup actions descriptions
+ Make GstValidateActionType internal only and only expose the structure
2014-09-05 19:00:23 +02:00
Thibault Saunier
45e6d86c92
validate: Use the buffering mode to see if pipeline is live or not
2014-09-05 19:00:23 +02:00
Thibault Saunier
0ad475063d
validate: Do not segfault when receiving a segment on unlink pad
...
For some reason we did no discover that before.
2014-09-05 19:00:23 +02:00
Thibault Saunier
8eeaa1a95f
validate: Make GstValidateActionType a GstMiniObject and expose it in the API
2014-09-05 19:00:23 +02:00
Thibault Saunier
bdc09d2d4a
validate:scenario: Cleanup header and add some padding to classes
...
Let's start making gst-validate ABI and API stable
2014-09-05 19:00:23 +02:00
Anuj Jaiswal
eb16061fa9
gst-validate: fix some minor memory leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=735099
2014-08-23 11:57:12 +01:00
Mathieu Duponchelle
99204c0018
validate: generate test names with the stream_info filename.
...
And not with the contained uri string, which is variable.
2014-08-19 18:47:18 +02:00
Thibault Saunier
3979c49cd2
validate: The scenario only old a weak ref so unref the weak ref
...
We were unrefing an object we did not actually own a ref on.
2014-08-12 15:14:28 +02:00
Thibault Saunier
161610c26e
validate: Print when we set pipeline state because of buffering
2014-08-12 13:17:20 +02:00
Thibault Saunier
f4db183b2b
validate:launcher: Properly handle libsdir when gst-validate is installed
...
+ Fix the _in_devel function
+ Install the validate default testsuite implementation in the right
place
2014-08-12 13:16:43 +02:00
Thibault Saunier
f6c62d071c
validate:launcher: Let testsuite know the actual file in which they are
2014-08-12 13:16:43 +02:00
Thibault Saunier
bf30bf4fd7
validate:launcher: Add the logic of needed env variables in tests
2014-08-12 13:16:43 +02:00
Thibault Saunier
e81c0093fc
validate:launcher: Expose all classes to be used to create testsuites
...
To create testsuite from outside gst-validate, the user will need to be
able to use the TestGenerator and subclasses of Test that we implement
in the apps, to do so we publicly expose them in the TestManager class
so that user have acces to everything they need.
2014-08-12 13:16:43 +02:00
Thibault Saunier
20c28def3c
validate:launcher: Handle stdout/stderr as possible logfiles
...
Allowing people to get all the logs in the terminal
2014-08-12 13:16:43 +02:00
Thibault Saunier
32dac5014a
validate: Allow several outputs in GST_VALIDATE_FILE
2014-08-12 13:16:43 +02:00
Thibault Saunier
8e1997d820
validate: Launcher: Add support for the dash protocol
...
And make sure that the HTTP server is started if it is needed to serve
some HLS or DASH streams
2014-08-12 13:16:43 +02:00
Thibault Saunier
631db75718
validate:Launcher: Use the first media path as a path for http server
...
We need to have a default path and the first one sounds like a
reasonnable default.
2014-08-12 13:16:43 +02:00
Thibault Saunier
2da2c6cc56
validate:launcher: Allow limitating local HTTP server bandwith
...
By default we limit its bandwith to 1MBps which is somehow similare to a
good internet connection case.
2014-08-12 13:16:43 +02:00
Thibault Saunier
702992cf7a
validate:launcher: Disable racy HLS tests
...
+ Add need-clock-synk to switch_audio_track_while_paused as it relies on
the clock sync to pause and then display subtitles
2014-08-06 09:08:36 +02:00
Thibault Saunier
bab8a4c3bb
validate:launcher: Take into account exitcode in transcoding tests
...
And disable a few racy tests that were not detected because of that
2014-08-05 11:33:08 +02:00
Thibault Saunier
7875b9a3d9
validate:launcher:testsuite: De activate backward playback where appropriate
...
And re activate it where it works
2014-08-04 13:03:54 +02:00
Thibault Saunier
f42f0724e5
validate: Actually accept rounding errors and small mistakes for position
...
WHen seeking in paused the position right after should be pretty much
the exact one, but sometimes it can be a little different because of
rounding issues and similare.
2014-08-04 13:03:19 +02:00
Thibault Saunier
8518e08dbb
validate: Add a way to avoid printing all the issue in reports
...
Avoiding user to be flooded by information he does not want while
debugging
2014-08-04 13:02:46 +02:00
Thibault Saunier
d682bd29a9
validate: Print the report when aborting because of an issue
...
Letting a chance to the user to know what bug he faced!
2014-08-04 13:02:46 +02:00
Thibault Saunier
5c50219fae
validate: Enhance output about critical errors
...
+Lower some warning to INFO
2014-08-04 13:02:46 +02:00
Thibault Saunier
6da09fb919
validate: Allow overrides for scenario issues
2014-08-04 13:02:46 +02:00
Thibault Saunier
1bd6b2767f
validate: Avoid readding several time the same test in the tests result list
2014-08-04 13:02:46 +02:00
Thibault Saunier
b9712e336e
validate:launcher: Fix test number print
2014-08-04 13:02:46 +02:00
Thibault Saunier
0dd8e9cd3d
tools: Launcher: Disable validate.file.*.simple.scrub_forward_seeking.synchronized
...
It is still a bit racy and sometimes the seek just does not happen
2014-07-31 17:56:13 +02:00
Thibault Saunier
7057a9fd50
tools: launcher: Disable subtitle track switching scenario on Sintel
...
It is racy at the moment.
2014-07-31 17:43:51 +02:00
Thibault Saunier
1aa0d4eb4a
validate:launcher: Allow informing minimum media duration in scenarios
...
Allowing the launcher to avoid running tests on medias that are not long
enough
2014-07-23 20:43:57 +02:00
Thibault Saunier
24fe345f73
validate:launcher: Always print final report + enhance output
2014-07-23 17:49:44 +02:00
Thibault Saunier
35b6bfb7c8
validate:scenario: Properly check that remaining actions are not 'ending' ones
...
When checking that all action were executed, we need to make sure that
actions such as EOS or stop are not taken into account as we might have
shorter medias than the duration of the scenario, and that should not be
fatal.
+ Plug a leak on the way
2014-07-23 17:49:44 +02:00
Thibault Saunier
386b572066
validate: launcher: Force clock syncronization for some scenarios
...
In some cases it is necessary that the clock is sync so that all the
actions can be executed.
2014-07-23 17:49:44 +02:00
Thibault Saunier
40003689df
validate: Launcher: Make sure tests are always executed in same order
2014-07-23 13:48:44 +02:00
Thiago Santos
3cf3e7a438
gst-validate-scenario: add emit-signal
...
emit-signal action allows to emit signals to elements in scenarios.
The implementation only accepts signals without arguments for now but
it can be extended to use parameters if needed in the future
2014-07-22 11:59:58 -03:00
Thibault Saunier
1cdbba4327
validate: Launcher: Fix a backtrace using self in a @staticmethod
2014-07-22 15:50:47 +02:00
Thiago Santos
fd7c13d446
gst-validate-scenario: the structure has the type
...
Get the GValue directly from the structure and do not assume everything
is stored as a string and use the GstStructure's GValue to set the property
to the instances
2014-07-21 22:41:28 -03:00
Thiago Santos
d7c3d652d0
gst-validate: properly set pipeline to null before unref
...
In case it fails when going ready->paused it will remain in ready state
and be unref'd in ready, leading to an assertion
2014-07-21 22:01:27 -03:00
Arnaud Vrac
e1b3ec2ad7
validate: Fix build on some custom platforms
...
We need to explicitely pass GLIB_LIBS for GModule as it seems not to be included by
GST_ALL_LIBS and we need LIBM
2014-07-21 19:09:58 +02:00
Lubosz Sarnecki
24046a6168
httpserver: launch webserver with the same python interpreter.
2014-07-21 18:01:25 +02:00
Thibault Saunier
7d695fbed4
validate: Dot the pipeline on interuption
2014-07-19 09:48:17 +02:00
Aurélien Zanelli
d1c261f5b1
validate: duplicate strings in gst_validate_issue_new()
...
Do this to avoid discarding 'const' qualifier when using it with
constant strings. Moreover it will avoid a g_free on constant string.
https://bugzilla.gnome.org/show_bug.cgi?id=733362
2014-07-18 16:28:58 +02:00
Thibault Saunier
cf540d002b
validate:launcher: Fix a backtrace using an undefined method
2014-07-18 16:28:49 +02:00
Thibault Saunier
3cfa480eba
valdate:launcher: Do not refer to self in @staticmethod
...
There is no self in there.
2014-07-17 17:04:59 +02:00
Thibault Saunier
d7d1445e67
validate: Add a set-debug-threshold scenario action
...
Allowing users to activate the debug only at the interesting time
2014-07-17 17:04:59 +02:00
Thibault Saunier
cd55381a5f
validate: Add Gst debugging when using gst-validate printing feature
...
Giving usefull debugging informations in the GSt debug logs
2014-07-17 17:04:59 +02:00
Thibault Saunier
f6884a5a54
validate: Do not auto flush pipeline bus
...
We want to see all messages in our async handler
And flush it when we are done.
2014-07-17 12:17:31 +02:00
Thibault Saunier
fcb8a77e17
validate:launcher: Avoid using sync=true on fakesinks
...
Making the test run much faster!
2014-07-16 19:38:01 +02:00
Thibault Saunier
b075646451
validate: Launcher: Print total time spent in the final report
2014-07-16 19:37:35 +02:00
Thibault Saunier
71ae6d3816
validate: Make switch_subtitle_track_while_paused handle states
2014-07-16 18:21:16 +02:00
Thibault Saunier
e07e7cd43e
vaildate: Make disable_subtitle_track_while_paused handle states
2014-07-16 15:47:59 +02:00
Thibault Saunier
ded4bec35a
validate: Make scrub_forward_seeking handle states
2014-07-16 15:47:59 +02:00
Thibault Saunier
f5454f07f0
validate:launcher: Properly check that encoded files have the exact wanted format
2014-07-16 15:47:58 +02:00
Thibault Saunier
fe9ed41d6c
validate:launcher: Add a method to create a GstValidateMediaDescriptor from a uri
2014-07-16 15:47:58 +02:00
Thibault Saunier
265688fcd6
validate:launcher: Move MediaFormatCombination to baseclasses.py
...
+ Add some simple helpers
2014-07-16 15:47:58 +02:00
Thibault Saunier
f1163d61ba
validate:launcher: Implement a GstValidateEncodingTestInterface class
...
Allowing code to be shared between apps that run rendering tests
2014-07-16 15:47:58 +02:00
Thibault Saunier
a735b9eb99
validate:launcher: Implement a MediaDescriptor subclass for xges project files
2014-07-16 15:47:58 +02:00
Thibault Saunier
d61c0d6166
validate:launcher: Make a MediaDescriptor baseclass to be used by any application
2014-07-16 15:47:58 +02:00
Thibault Saunier
89aa70545a
validate:launcher: Give information to users when cloning asset failed
...
It might not be obvious from the stacktrace so it is better to clearly
explain what the failure was when we know it
2014-07-16 15:47:58 +02:00
Thibault Saunier
6beb346aa3
validate:launcher: Fixup the default asset update command
2014-07-16 15:47:58 +02:00
Thibault Saunier
9a69c21acc
validate:launcher: Generate proper EncodingProfiles for audio/video only media files
2014-07-16 15:47:58 +02:00
Thibault Saunier
87cc7da213
validate:launcher: Move the MediaDescriptor class to the baseclasses.py file
2014-07-16 15:47:58 +02:00
Thibault Saunier
58256ab135
validate:launcher: Allow transcoding audio only files 5 time longer than long_limit
...
Transcoding audio is a lot shorter so we can concider that transcoding files that are only
only is 5 time shorter than the actual file (empirical number)
2014-07-16 15:47:58 +02:00
Thibault Saunier
f925c0c1be
validate:media-check: Pass the GError where needed.
2014-07-16 15:47:58 +02:00
Thibault Saunier
822c7eaa6e
validate: Avoid segfault in the error path
2014-07-16 15:47:58 +02:00
Thibault Saunier
f8a37a1c80
validate:media-descriptor-writer: Handle medias with 1 single stream
2014-07-16 15:47:58 +02:00
Thibault Saunier
fa35a10779
validate: Check that after a seek in PAUSED position is perfect
...
In case of ACCURATE seeking, the position after a SEEK in PAUSED state
should be *exactly* the one requested by the user.
2014-07-16 15:47:58 +02:00
Thiago Santos
db21883c0c
scenario: add set_property scenario action
...
Allows setting element's properties during a scenario. Very useful
for testing that elements behave correctly when changing properties
during playing state
https://bugzilla.gnome.org/show_bug.cgi?id=733070
2014-07-11 19:43:20 -03:00
Thibault Saunier
bed0f51d6c
validate: Execute actions if we get seeked in ready state
2014-07-07 11:27:35 +02:00
Thibault Saunier
87ae465c77
validate: Let scenarios tell the apps about whether it handles states
...
The user only needs to add handles-states=true in the description line
of the scenario
2014-07-07 11:27:34 +02:00
Thibault Saunier
52e39a4fcb
validate:scenario: Do not care about the position if we are not at least in PAUSED state
...
At that time the position query will be meaningless so we should just go to the next
action.
2014-07-07 11:27:34 +02:00
Thibault Saunier
4227655db1
validate: Handle MXF files
2014-07-07 11:27:34 +02:00
Thibault Saunier
1c2d31dd2f
validate:media-check: Changes in tags detection are not fatal issues
2014-07-07 11:27:34 +02:00
Thibault Saunier
7d23d75edb
validate:launcher Add video mixing tests
...
+ Move default_testsuite.py to validate_testsuite.py as we are now
exposing tests that are not enabled by default
2014-07-07 11:27:34 +02:00
Thibault Saunier
af383ad0c0
validate:launcher: Move the notion of test generator to the baseclasses
...
This can be very usefull for all the TestManager and thus exposes a
higher level API for test writers.
2014-07-07 11:27:34 +02:00
Thibault Saunier
aeec108c88
validate:launcher: Move default testsuite to a dedicated file
...
Making the separation cleaner between the launcher and the test
implementation
2014-07-07 11:27:34 +02:00
Thibault Saunier
00719fb07e
validate: Properly handle CLOCK_TIME_NONE position and duration values
...
In the value parser.
2014-07-07 11:27:34 +02:00
Thibault Saunier
3607fd8deb
validate: Print the return value at the end
...
Making it easier to know whether the test passed or not.
2014-07-07 11:27:34 +02:00
Thibault Saunier
f708156ff6
validate:scenario: Move the check about whether we are still seeking upper in the function
...
Avoiding to try to get position and do operations on a pipeline that is seeking
2014-07-07 11:27:34 +02:00
Vincent Penquerc'h
4dc3f5171e
validate-scenario: only use valid position/duration
...
Position/duration query may fail, or yield unknown values (eg,
unknown duration for live streams). In these cases, we must ensure
we do not use those invalid values.
https://bugzilla.gnome.org/show_bug.cgi?id=715160
2014-07-07 11:27:34 +02:00
Thibault Saunier
71cd2a8ce7
validate:launcher: Not concider all scenarios by default with --wanted-test
...
Instead let the users activate that with -t ALL
2014-07-07 11:27:34 +02:00
Thibault Saunier
5266fee48c
validate:launcher: Let the user set user options in the config file
2014-07-07 11:27:34 +02:00
Thibault Saunier
b9389c85c2
validate:launcher: Use RawTextHelpFormatter to (not) format user help
2014-07-07 11:27:34 +02:00
Thibault Saunier
f10ff2b610
validate:launcher: Add a way to create test suite outside the three
...
+ Make sure to namespace the API
+ Remove cruft about G_V_PROTOCOL_VIDEO_RESTRICTION_CAPS
2014-07-07 11:27:34 +02:00
Thibault Saunier
150c5bc6b2
validate:scenario: We are not changing state if the set_state failed.
2014-07-07 11:27:34 +02:00
Thibault Saunier
b3a168ed73
validate:scenario: Add a debug category and add some debug
2014-07-07 11:27:34 +02:00
Thibault Saunier
a4d3971709
validate: media-descirptor: Add more infos about discoverer error
2014-07-07 11:27:34 +02:00
Thibault Saunier
5983df47c5
validate:launcher: Cleanup the way we generate tests adding the notion of TestGenerator
...
Making it easier to extend the testsuite.
2014-07-07 11:27:34 +02:00
Thibault Saunier
5c85e4500d
validate:tools: Dot the pipeline on usefull places
...
Meaning on warning and state changes.
2014-07-07 11:27:34 +02:00
Sebastian Dröge
b6c439ee88
validate: Don't call gst_debug_log_valist() if debugging is disabled
...
And also stop leaking a string every time.
2014-06-28 12:33:45 +02:00