Commit graph

2656 commits

Author SHA1 Message Date
Edward Hervey
1e1e9f2197 validate-utils: Only modify structure fields that really need updates
This avoids memory corruption in users of that structure which
were (rightfullly) assuming static fields (such as name) wouldn't
change. Without this, they would be using strings which will have been freed in
the meantime.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/252>
2021-08-20 09:22:28 +02:00
Edward Hervey
cdfa0778c7 validate-media-descriptor: Don't check segment position field
The position field of GstSegment is meant for private usage within
elements. Don't compare the values of it when doing media-check.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/251>
2021-07-15 14:42:51 +02:00
Thibault Saunier
ea3bd58289 validate: use extract_objects to avoid rebuilding all files for the tracer
And add the tracer to the plugins list so it can be used in our
uninstalled environment.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/250>
2021-06-08 12:28:49 -04:00
Tim-Philipp Müller
f34f4b6c00 Back to development 2021-06-01 15:29:21 +01:00
Tim-Philipp Müller
5cbd556541 Release 1.19.1 2021-06-01 00:16:57 +01:00
Thibault Saunier
32591fece8 validate: Error out on invalid 'foreach' iterator types
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/248>
2021-05-27 12:23:05 -04:00
Thibault Saunier
87f656d1f6 validate: Handle unknown type in foreach types
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/248>
2021-05-27 12:23:05 -04:00
Thibault Saunier
6196aab94b validate: Make array delemiter a line continuation char
Making its usage more friendly

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/248>
2021-05-27 12:23:05 -04:00
Thibault Saunier
3883be76e7 validate:scenario: Allow iterating over arrays in foreach
We used to only support ranges, but we want to allow iterating over
values in an array too.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/248>
2021-05-27 12:23:05 -04:00
Thibault Saunier
8b8a6c8a18 validate: Add a flag to allow defining how to resolve variables in structs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/248>
2021-05-27 12:23:05 -04:00
Thibault Saunier
b3065bb9ec validate:flow: Log caps features
No reason not to use directy the GstCaps serialization function here
This commits avoids needing regenerated all expectations to remove
the `;` which is not generated anymore as it is simple and makes
merging simpler.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/248>
2021-05-27 12:22:13 -04:00
Philippe Normand
ac88851587 validate: launcher: Simplify fakesink handling
Now the function returns either a fakeaudiosink or a fakevideosink, depending on
the media type.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/246>
2021-05-25 10:46:47 +00:00
Thibault Saunier
34a88d95c6 validate:flow: Sort fields in serialized structures
Otherwise change in element implementations could lead to meaningless
breakages
2021-05-20 11:19:32 -04:00
Thibault Saunier
a56823d8f4 validate:scenario: Allow forcing running action on idle from scenario file
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/235>
2021-05-15 18:55:19 -04:00
Thibault Saunier
f00048781f validate:scenario: Add a run-command action type
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/235>
2021-05-15 18:55:19 -04:00
Thibault Saunier
2247cdadca validate:monitor: Only get_name on GstObject
GObject don't have such method!

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/235>
2021-05-14 01:59:09 +00:00
Stéphane Cerveau
1fd8c1501a validate: add config file support
Each test can now use a config file for
the given media file used to test.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/243>
2021-05-05 10:58:10 +02:00
François Laignel
26ddb49339 Use gst_element_request_pad_simple...
Instead of the deprecated gst_element_get_request_pad.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/241>
2021-04-21 13:54:38 +02:00
Edward Hervey
b11b055029 scenario: Fix action variable name
This was always meant to be `on-message=eos` (like in fast_forward.scenario)

Fixes #58

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/240>
2021-04-19 15:00:18 +02:00
Matthew Waters
8d4a815577 gst: don't use volatile to mean atomic
volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead.  GCC 11 has started warning about using volatile
with atomic operations.

https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719

Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/238>
2021-03-19 17:17:00 +11:00
Stéphane Cerveau
8b3340632c bash-completion: add gst-validate script
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/237>
2021-03-04 08:19:04 +01:00
Brady J. Garvin
2b8eef30e7 validate:launcher: Ensure a positive job count.
The default number of jobs to use is half of the available cores
rounded down, but in situations where only one core is available (such
as under some VMs), this means that `gst-validate-launcher` defaults
to using zero jobs, a case that the test-running code is not prepared
to handle.

This change makes the code match the documentation for the `--jobs` option,
guards against negative values both in the default setting and in argument
parsing, and introduces some defensive programming to prevent other situations
where the code might try to use zero jobs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/154>
2021-01-30 10:11:57 -06:00
Thibault Saunier
139c2cae66 pad-monitor: Plug a leak 2021-01-08 08:38:12 -03:00
Thibault Saunier
73a674ac2d validate: Do not check strv length on NULL pointers
This is not legal

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/234>
2021-01-05 11:33:51 -03:00
Thibault Saunier
f47e5b163f validate: Allow using the new nested structure syntax
And port the deeply nested tests we have

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/233>
2020-12-16 22:00:37 -03:00
Thibault Saunier
b4c9025db2 validate: Only consider the first pipeline when using test files
And port the deeply nested tests we have

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/233>
2020-12-16 22:00:37 -03:00
Thibault Saunier
6419f1f881 validate: Add missing GstValidateAction annotations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/233>
2020-12-16 22:00:37 -03:00
Thibault Saunier
f1de7c3a7f validate: Add an expected-values parameter to wait, message-type=XX
Allowing more precise filtering of the message we are waiting for.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/233>
2020-12-16 22:00:37 -03:00
Thibault Saunier
9dfb2016a2 validate: scenario: Add a GstValidateScenario::action-done signal
Allowing application to know when a specific action is done.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/233>
2020-12-16 22:00:37 -03:00
Thibault Saunier
b32debe06c validate: Enhance printing action execution information
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/233>
2020-12-15 18:00:58 -03:00
Thibault Saunier
920c12390f validate: Add an API to get the bin monitor scenario
This is useful for applications that use Validate directly.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/233>
2020-12-15 17:58:51 -03:00
Thibault Saunier
373071a743 scenario: Ensure that messages are handled from the right thread
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/233>
2020-12-10 18:31:43 -03:00
Philippe Normand
59c3802711 debug-viewer: Make appdata valid again
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/229>
2020-12-09 14:55:17 +00:00
Thibault Saunier
9eb7df7fef validate:scenario: Fix the refcount management for actions in structures
Handling the refcounting the same whether the action is blocking or not
as we were leaking a ref for non-blocking waits.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/231>
2020-12-08 16:47:15 +00:00
Thibault Saunier
aca781f981 validate:scenario: Minor cleanup
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/231>
2020-12-08 16:47:15 +00:00
Thibault Saunier
0a7cc6a56e validate: Use gst_validate_action_*ref everywhere.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/231>
2020-12-08 16:47:15 +00:00
Thibault Saunier
d974b0b5d5 validate: Add support to check properties of object properties
And recursively

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/231>
2020-12-08 16:47:15 +00:00
Stéphane Cerveau
88b320cc2b validate: add sync-version
Be able by the command line to change the sync version
which is usually the GST_VALIDATE_TESTSUITE_VERSION
from the test suite

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/227>
2020-12-08 15:25:30 +00:00
Thibault Saunier
f5c3a0c9a0 scenario: Add a 'non-blocking' flag to the wait signal
This way we can execute actions that will lead to the signal
emission later in the execution.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/228>
2020-11-25 00:25:16 +00:00
Thibault Saunier
3da3e8825b validate:scenario: Rename 'interlaced' action to 'non-blocking'
It is a better and more understandable naming.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/228>
2020-11-25 00:25:16 +00:00
Seungha Yang
062a4c27a4 meson: Check cairo-png dependency
Should check whether libpng dependent methods are available or not

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/128
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/225>
2020-11-10 23:32:50 +09:00
Nirbheek Chauhan
65b09be892 meson: Enable some MSVC warnings for parity with GCC/Clang
This makes it easier to do development with MSVC by making it warn
on common issues that GCC/Clang error out for in our CI configuration.

Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/226>
2020-11-04 18:49:03 +05:30
Stéphane Cerveau
dbf7dbe830 meson: update glib minimum version to 2.56
In order to support the symbol g_enum_to_string in various
project using GStreamer ( gst-validate etc.), the glib minimum
version should be 2.56.0.

Remove compat code as glib requirement
is now > 2.56

Version used by Ubuntu 18.04 LTS

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/224>
2020-10-30 19:01:24 +00:00
Thibault Saunier
bf56c5ab92 validate:launcher: Bump hard timeouts for all transcodin tests
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/172>
2020-10-23 12:18:40 -03:00
Thibault Saunier
d811e1b39f launcher: Avoid variable framerate when encoding to theora
It is not supported by theoraenc.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/172>
2020-10-23 12:18:40 -03:00
Thibault Saunier
6c08b2c570 validate: Scale down even more to speed up encoding in VP9
From 3min to 50secs to execute here.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/172>
2020-10-23 12:18:40 -03:00
Thibault Saunier
5b7ac97502 validate:transcoding: Port to GstTranscoder
Remove flag to force EOS on sigintr, making it the only choice
Also add support for variable framerate

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/172>
2020-10-23 12:18:40 -03:00
Thibault Saunier
33a6cf5234 validate: Use pad.last_flowret instead of trying to compute it ourselves
Which makes it more accurate

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/172>
2020-10-23 12:18:40 -03:00
Thibault Saunier
779817cb91 report: Add a way to force backtraces on reports
And stop report simple debug message

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/172>
2020-10-23 12:18:40 -03:00
Thibault Saunier
06793d1d34 validate:launcher: Add a way to define test timeout from dicts
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/172>
2020-10-23 12:18:21 -03:00