Thibault Saunier
26ddc02cef
validate:tests: Fix race in validate_padmonitor.buffer_before_segment
...
We were using a fakesrc which data flow was potentially breaking the
test. Stop using it and remove dead code.
Fixes #34
2019-01-03 15:27:33 +00:00
Matthew Waters
1559e1aec7
gst: allow building static libraries for e.g. Android/iOS
2018-12-10 16:47:50 +11:00
Thibault Saunier
72995d5bbe
validate: launcher: Add a way to retrieve trace without coredumpctl
...
Simply spnning on segfaults (like gst-launch) and catch that in
the launcher to transform the timeout into a segfault and grab a gdb
backtrace
2018-12-07 09:06:50 -03:00
Thibault Saunier
79f686efa6
validate: Enhance printing actions with fields
...
If you have maby field, printed actions where unreadable, clean that
up by adding new lines.
2018-11-17 10:25:28 -03:00
Thibault Saunier
f9790f0eed
validate:scenario: Add an action to 'include' another scenario
...
This is particularly useful for scenario that define constants
that are used to check video frame checksum for example, we can
now have one single 'scenario' file that defines consts for the
checksum of the frames, and those can be reused everywhere.
2018-11-17 09:13:22 -03:00
Thibault Saunier
d4d99267a4
validate:override: Notify override object when they get attached
2018-11-17 09:13:22 -03:00
Alicia Boya García
2c1d8433bd
validate: fix bug monitor subscriptions on pads by name
...
gst_validate_override_register_by_name() was not working when using a
pad name because by the time gst_validate_pad_monitor_do_setup()
was called to set the name of the monitor it was too late for overrides
to have any effect.
Patch written by Thibault.
2018-11-14 17:10:28 +01:00
Thibault Saunier
288258c366
validate: Allow connecting reporters by name for overrides
...
Using the element that owns the pad on which we are connecting
was not making sense.
2018-10-28 14:54:47 +00:00
Wonchul Lee
955fc5fcce
validate: Update for g_type_class_add_private() deprecation in recent GLib
...
https://gitlab.gnome.org/GNOME/glib/merge_requests/7
2018-09-20 15:16:16 -03:00
Nirbheek Chauhan
8c06862e80
validate: Export the plugin symbol correctly
...
Otherwise it doesn't get correctly exported when building with MSVC
2018-09-06 17:29:24 +05:30
Nirbheek Chauhan
d035501228
meson: Maintain macOS ABI through dylib versioning
...
Requires Meson 0.48, but the feature will be ignored on older versions
so it's safe to add it without bumping the requirement.
Documentation:
https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-manual.md#shared_library
2018-08-31 14:52:04 +05:30
Nirbheek Chauhan
68a7ad72ac
meson: Build gstvalidate-default-overrides-1.0
...
Needed by Cerbero.
2018-07-31 23:30:36 +05:30
Thibault Saunier
0dbfa44839
validate:scenario: Add an action type to validate last sample checksum
2018-07-21 12:12:16 -04:00
Thibault Saunier
61a899acf2
validate:scenario: Add a way to define constants to be used in actions
...
Allowing writing simpler to read scenarios.
2018-07-21 11:43:37 -04:00
Thibault Saunier
64e84407bd
validate:scenario: Add a way to set rank on all features of a plugin
...
You often want to make sure that elements from a particular plugins
are always/never plugged, `set-rank,name=plugin-name,rank=XXX` allows
you to simply do that.
2018-07-14 08:27:05 -04:00
Edward Hervey
8d58befadd
pad-monitor: Reset stream-related variables when deactivating
...
Any local variable related to the stream should be resetted
when the pad is deactivated
Avoids weird issues when elements are re-used (and pads are deactivated
and reactivated).
2018-06-19 08:04:01 +02:00
Thibault Saunier
94ee508123
validate: Fix mixup in variable check
2018-06-15 15:01:32 -04:00
Thibault Saunier
b2e71e1404
validate: media-check: Add a way to skip pluggin parsers
...
This is useful when you want to check only the demuxer output.
- Keep the information in the media file so that we can launch media-check
with the proper arguments in the launcher. Update it accordingly.
- Refactor compare_streams to simplify it, which in the end leads to
reporting all the issues instead of exiting on the first one.
2018-06-15 12:05:14 -04:00
Thibault Saunier
ad6fc12b76
validate: media-descriptor: Add a way to specify when a field value is unknown
...
And this way is to set the attribute to... `unknown`
2018-06-15 12:05:13 -04:00
Thibault Saunier
3f668f3e80
validate: media-check: Also check that segments are correct
2018-06-15 12:05:13 -04:00
Edward Hervey
1a9455d2f6
validate/media-descriptor: Fix indentation
2018-06-05 16:38:10 +02:00
Edward Hervey
9af908195c
validate: Add a new issue to detect invalid event seqnum
...
Events should always have a valid seqnum. Add a new issue which
allows detecting such events. And use that check in the
pad monitor
2018-06-05 16:37:35 +02:00
Thibault Saunier
ba3b27fa83
validate: pipeline: Handle the case where a pad has no monitor
...
We do not monitor ghost pads, only real pads, so this is a totally
legitimate case.
https://bugzilla.gnome.org/show_bug.cgi?id=792536
2018-04-27 17:33:29 +02:00
Kai Kang
d9256865b4
validate: fix out of source tree build error
...
It fails to generate gst-validate-enum-types.h and gst-validate-enum-types.c
when build out of source tree. Add the path for template files.
https://bugzilla.gnome.org/show_bug.cgi?id=795531
Signed-off-by: Kai Kang <kai.kang@windriver.com>
2018-04-25 08:54:46 -03:00
Thibault Saunier
b9ea967275
validate: Handle having a list of structure based/file path configs
2018-04-12 23:03:04 -03:00
Tim-Philipp Müller
34d56abedd
validate: GST_EXPORT -> GST_VALIDATE_API
...
We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.
2018-03-13 14:00:01 +00:00
Tim-Philipp Müller
4906612269
validate: dist enum types templates
2018-02-15 18:28:13 +00:00
Edward Hervey
55274bc89f
validate-pad-monitor: Use GST_SEQNUM_INVALID
...
Instead of 0 (which is valid)
2018-02-10 14:20:44 +01:00
Edward Hervey
92285ef261
validate: Use a single TCPServer for subprocess communication
...
Instead of creating a separate TCPServer for each test, just create
one which handles all connections in a threaded fashion.
Shaves off ~500ms per test
https://bugzilla.gnome.org/show_bug.cgi?id=791159
2017-12-03 12:23:29 +01:00
Edward Hervey
9acfa7fe4b
validate: Don't leak strings
...
We only use them in the error/debug case anyway
2017-11-25 13:10:41 +01:00
Edward Hervey
c33b2e240c
validate-report: Plug leaks
...
The trace was never freed, nor were the output of g_str_split
2017-11-25 12:46:05 +01:00
Edward Hervey
b5bb7d7016
validate-scenario: Don't assume element have factories
...
Some elements might not originate from factories (like custom/internal
elements).
Avoids dereferencing a NULL pointer
2017-11-23 12:27:11 +01:00
Edward Hervey
ff6055b195
validate-scenario: Handle non-relative switch
...
Make sure we stay within the number of present streams (and avoid
out-of-bound read).
CID #1415470
2017-11-22 16:37:44 +01:00
Edward Hervey
81c3ab0b12
validate-scenario: Handle switching stream of type not present
...
Unlikely to happen, but at least don't end up doing unsafe calculation
with n == 0 afterwards
CID #1415453
2017-11-22 16:37:44 +01:00
Edward Hervey
9658e12086
validate: Call g-ir-scanner with the same toolchain as the rest
2017-11-08 17:22:47 +01:00
Tim-Philipp Müller
8b91fef492
validate: hide some private symbols
2017-08-12 12:04:42 +01:00
Thibault Saunier
8393a3d5ca
validate: Plug a potential leak when retrieving peer pad
2017-08-10 21:44:14 -04:00
Thibault Saunier
7be8ecd628
validate: Fix going over ghostpads/proxypads
2017-08-10 19:29:07 -04:00
Thibault Saunier
74a560163a
validate: Mark symbols explicitly for export with GST_EXPORT
...
With an exception:
* gst_validate_monitor_setup
which was never declared in headers and should always have been static.
2017-08-07 15:56:21 -04:00
Thibault Saunier
823c9ca834
validate: Fix building the tracer
...
It fails on some platforms, I guess this is the reason
2017-07-26 17:25:25 -04:00
Thibault Saunier
8ef1050d1e
validate: Also mkenums with autotools
...
And fix the build with stricter gcc arguments.
2017-07-26 16:18:02 -04:00
Thibault Saunier
b9d6f9df9e
validate: Add a way to print information about pipeline status
...
Similare to what is done with gst-launch.
And finally generate GTypes for our flags and enums.
2017-07-26 15:45:37 -04:00
Edward Hervey
40eb48d21f
validate-scenario: Fix NULL pointer usage
...
for good this time ...
CID #1415570
2017-07-26 15:22:49 +02:00
Edward Hervey
1b48ffdff5
validate-report: Fix a leak in error cases
...
CID #1415494
2017-07-26 15:18:57 +02:00
Edward Hervey
6ad8bd3e7c
validate-scenario: Protect against priv NULL usage
...
CID #1415570
2017-07-20 14:21:59 +02:00
Thibault Saunier
1a28e7b043
validate: Factor out a method to set properties on elements in utils
...
Make sure to use it where appropriate and add some logging when
setting an object property from an action.
And use the valgrind.conf to set all the properties instead of having
a mixture of a config scenario and the config file (making sure the
max-lateness is set on any sink)
2017-07-19 11:34:19 -04:00
Thibault Saunier
1d568ff11f
validate:scenario: Allow not config action to be executed from config files
...
When those are special cased to support that, such as the `set-property`
action.
This special handling was added in
4927c65710
validate: disable QOS features when running with valgrind
before we started to support executing arbitrary config action from
configuration files.
2017-07-19 11:34:12 -04:00
Thibault Saunier
b3134e89d9
validate: scenario: Fix running config action from the config file
2017-07-19 10:23:34 -04:00
Edward Hervey
8b9b6ead3f
validate: Cast GList data content before usage
...
Apart from code readability, it allows compilers to detect wrong usages,
such as the call to gst_validate_action_new() which was using the wrong
argument
2017-07-19 11:02:44 +02:00
Thibault Saunier
f7252cbd48
validate: Remove some dead code
...
CID 1415457
2017-07-18 10:47:00 -04:00