Commit graph

2167 commits

Author SHA1 Message Date
Thibault Saunier 237a976d07 validate: Add a way to use config actions in GST_VALIDATE_CONFIG files
The synthax is:

core, action=action-name, param1=1, param2=param2
2017-06-07 11:17:53 -04:00
Thibault Saunier 8d251f12d9 scenario: Fallback to using media_info to determine stream duration
In the case the query duration return CLOCK_TIME_NONE.
2017-06-07 11:17:53 -04:00
Thibault Saunier 37de89e6db validate:launcher: Do not run scenarios that need prerolling on RTSP stream 2017-06-07 11:17:53 -04:00
Thibault Saunier b9774b14b5 validate: Do not print \r in actual files 2017-06-07 11:17:53 -04:00
Thibault Saunier 3c62c315a9 validate: Implement RTSP support 2017-06-07 11:17:53 -04:00
Reynaldo H. Verdejo Pinochet a18cef9c3f validate: reporter: add doc entry for gst_validate_report()'s varargs
Avoids GTK-Doc parser warnings
2017-06-07 00:04:34 -07:00
Reynaldo H. Verdejo Pinochet 4349e11cb0 validate: scenario: fix typo/grammar issues in function documentation 2017-06-07 00:04:34 -07:00
Reynaldo H. Verdejo Pinochet 018ca98fd9 validate: actions: drop needless newline before feature-rank and wait
Stale new-lines messed the help output of gst-validate -t
2017-06-07 00:02:54 -07:00
Reynaldo H. Verdejo Pinochet 7f396ec660 validate: actions: add info on mandatory fields for set-property
Additionally, drop a comment that becomes redundant after adding this
info to the action description
2017-06-06 23:04:52 -07:00
Reynaldo H. Verdejo Pinochet 89fff02bb3 validate: scenario: fix description for 'seek' and 'stop' 2017-06-06 23:04:28 -07:00
Reynaldo H. Verdejo Pinochet 4b57c0bbb4 validate: fix documentation for gst_validate_init() 2017-06-06 18:50:47 -07:00
Thibault Saunier 7b7692d70b validate: Update win32 def file 2017-06-02 16:51:35 -04:00
Thibault Saunier 9d3b760cf3 validate: Make Reporter.runner a MT safe weak reference
It can be used in any thread!
2017-06-01 16:57:50 -04:00
Thibault Saunier 4a38efb6a0 validate:launcher: Add missing is_live implementation for FakeMediaDescriptor 2017-06-01 16:57:50 -04:00
Thibault Saunier e27367f040 validate: Fix json serialized object leaks 2017-06-01 16:57:50 -04:00
Thibault Saunier 02d716d6d8 validate:launcher: Handle not redirecting valgrind output 2017-06-01 16:57:50 -04:00
Thibault Saunier dba5675d81 validate:launcher: Add a way to pass arguments to the leak tracer 2017-06-01 16:57:50 -04:00
Thibault Saunier 86e9135b56 validate: Use GWeakRefs on monitor target and pipeline
Making it thread safe and more future proof (though having them point
to NULL might not be handled all around).

https://bugzilla.gnome.org/show_bug.cgi?id=782784
2017-06-01 16:57:50 -04:00
Thibault Saunier 8cc1b39919 validate: monitor: Unref our weak reference to the pipeline 2017-05-31 14:53:05 -04:00
Thibault Saunier 8f123cbc6f validate: Make accessing Scenario.pipeline thread safe
The fact that Scenario.pipeline was not accessible in a thread way lead
to the fact that all users had to take the unref the last pipeline ref
in the main thread, otherwise we were crying. This was an ugly
restriction which lead to issue when using scenario on gst-rtsp-server.

This break the API as this commit remove the GstValidateScenario.pipeline
field but it is worth it.
2017-05-31 14:53:05 -04:00
Edward Hervey 2dd729ccf9 scenarios: Add/Update scenarios for live contents 2017-05-25 16:08:42 +02:00
Edward Hervey 400d1f9326 validate: Implement Scenario.__repr__
Allows better debugging when looking at logs
2017-05-25 15:50:23 +02:00
Edward Hervey 9188968f5c validate: Add live-related features to scenarios and medias
Note: The notion of "live" here is in the *content* sense and not in the
GStreamer sense.
Ex:
  * A rtsp stream is always "live" in the GStreamer sense but might not always
    provide live content.
  * HLS/DASH streams are not "live" in the GStreamer sense but might
    provide "live" content.

Some scenarios might:
* require live content
* not be compatible with live content

This patch adds two new properties for scenarios:
* live_content_required (default False) for scenarios that can only work with
  live content.
* live_content_compatible (default False) for scenarios that can work with
  both live and non-live content.
This patch adds support for reading a "live" property from stream_info
2017-05-25 14:04:00 +02:00
Víctor Manuel Jáquez Leal 29480d006c validate: g_object_newv() is deprecated
Since glib version 2.54, g_object_newv() is deprecated.

This patch changes that function with a simpler g_object_new(),
since no properties are set.

https://bugzilla.gnome.org/show_bug.cgi?id=782860
2017-05-20 12:40:26 +02:00
Edward Hervey a4b16d54a0 validate-report: Don't leak GError 2017-05-05 15:27:37 +02:00
Edward Hervey 506e537f82 validate-scenario: Don't end up with invalid action name
When replacing an action structure, also update the action name with
the (new) name from the new structure. Otherwise we end up with
a bogus name from the previous (deleted) structure.
2017-05-05 15:27:37 +02:00
Edward Hervey 790e78c4f8 validate-scenario: Avoid invalid memory access
The name of the action comes directly (i.e. not copied) from the
contained GstStructure field. Therefore make sure to take that
name from the proper structure field (copied just before) and
not from an outside one.
2017-05-05 14:43:25 +02:00
Reynaldo H. Verdejo Pinochet 540200bd0a validate: drop superfluous whitespace from cmd description 2017-05-04 14:47:16 -07:00
Scott D Phillips e1bf823e0c validate: remove const from outfolder
GOptionEntry's arg_data is of type gpointer which differs in
constness from const gchar*, so remove constness from outfolder.
This fixes a build issue with msvc.

https://bugzilla.gnome.org/show_bug.cgi?id=782031
2017-05-04 14:34:34 -07:00
Sebastian Dröge 17f2220311 Back to development 2017-05-04 18:59:42 +03:00
Sebastian Dröge c2d86243ce Back to development 2017-05-04 18:59:14 +03:00
Sebastian Dröge e122285b62 Release 1.12.0 2017-05-04 15:48:44 +03:00
Thibault Saunier 40a31b05b6 launcher: Allow using the base launcher as a test manager
No reason to force people to subclass it in simple cases.
2017-04-30 14:36:16 -03:00
Thibault Saunier bf71c93e84 tools: Fix dotfile name 2017-04-27 16:46:22 -03:00
Sebastian Dröge 4b61eb4b41 Release 1.11.91 2017-04-27 17:54:05 +03:00
Thibault Saunier f34c7db3e4 validate: Fix update_stop.scenario seek property naming 2017-04-21 11:16:37 -03:00
Thibault Saunier e9db1c19d0 launcher:check: Ensure to set build dir before rebuilding 2017-04-20 10:13:00 -03:00
Edward Hervey 325c1b37dd baseclasses: Add method to set a specific list of scenarios
https://bugzilla.gnome.org/show_bug.cgi?id=781314
2017-04-14 16:55:06 +02:00
Reynaldo H. Verdejo Pinochet 9d33d0ec9c validate: drop unneeded break+concat in some string literals
Perform other related improvements while at it.
2017-04-12 10:31:21 -07:00
Thibault Saunier 26b388c349 validate: Do not expect track switch to be synchronous for playbin3
And let following actions to be executed (setting the action as
INTERLACED) which will make sure the track switch happened at some
point. It means the user has to set the pipeline to PLAYING so we can
make it works but we do not have choice here I think

https://bugzilla.gnome.org/show_bug.cgi?id=781213
2017-04-12 11:28:50 -03:00
Sebastian Dröge 91d2d2dc2b Update meson.build version to 1.11.90 too 2017-04-10 17:06:43 +03:00
Edward Hervey 1f5a900bce validate-pad-monitor: Fix previous commit
Post-send handling was only meant for seek events
2017-04-10 11:43:28 +02:00
Edward Hervey b156616b5c pad-monitor: Safely store expected seek values
Protect the expected seek values with the same lock as the one
that will be used to read/validate the resulting segments and flush
values.

Avoids races with duplicated seeks (i.e. a seek that was already
sent and handled via another pad, such as in demuxers).

https://bugzilla.gnome.org/show_bug.cgi?id=781112
2017-04-10 09:15:50 +02:00
Sebastian Dröge a4da90b8db Release 1.11.90 2017-04-07 16:36:04 +03:00
Reynaldo H. Verdejo Pinochet 22d99ac89c validate: scenario: fix error message on scenario parsing failure 2017-04-05 15:26:31 -07:00
Reynaldo H. Verdejo Pinochet 4ec6bda043 validate: report: avoid pointless var & associated dup/free
Just pass the replacement string literal to _regex_replace().
2017-04-05 14:40:32 -07:00
Reynaldo H. Verdejo Pinochet 38440a5931 validate: report: avoid _strdup_printf() if not needed
g_strdup() is enough for this string literal.
2017-04-05 14:36:10 -07:00
Reynaldo H. Verdejo Pinochet c8478b87f8 validate: report: fix description for timestamp out of range
Additionally: Fix nits in the descriptions for
SCENARIO_ACTION_EXECUTION_ISSUE and CONFIG_ACTION_TYPE
2017-04-05 12:24:06 -07:00
Edward Hervey 330ae663dc validate: Improve video fakesink properties
Try to emulate a bit better a real video sink by making the video
fakesink handle/calculate/report QoS.

Also use the same lateness value as default videosink
2017-04-04 14:53:30 +02:00
Reynaldo H. Verdejo Pinochet d5da8682b2 validate: scenario: improve description blurb for execute-on-idle
Additionally: Fix issues in _register_action_type() documentation.
2017-03-28 15:03:54 -07:00