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
Thibault Saunier
e70557dc3e
validate: Plug a minor string leak
...
CID 1415459
2017-07-18 10:45:29 -04:00
Thibault Saunier
9ee7b4483c
validate: Don't create scenario on a monitor which has no target
...
Not very probable but avoids a potential NULL pointer dereferencing.
CID 1415460
2017-07-18 10:42:00 -04:00
Thibault Saunier
6572af916b
validate: Always only use the first description in scenarios
...
Also pluging a leak of the descrption copied structure
CID 1415463
2017-07-18 10:38:24 -04:00
Thibault Saunier
c7483a90f0
validate: Plug a string leak
...
CID 1415475
2017-07-18 10:23:31 -04:00
Thibault Saunier
28f8787c17
validate: Add missing break statement
...
CID 1415485
2017-07-18 10:16:07 -04:00
Thibault Saunier
7eb9746adc
Check g_file_set_contents() return value
...
CID 1415486
2017-07-18 10:14:59 -04:00
Thibault Saunier
44260d70bd
validate: Plug leak of copy of a va_list
...
CID 1415490
2017-07-18 10:12:07 -04:00
Thibault Saunier
11ef28f3dc
validate: Do not check NULL pointer uselessly
...
CID 141593
2017-07-18 10:10:06 -04:00
Thibault Saunier
fc49d18425
validate: Plug minor leak in issue creation error path
...
CID 1415494
2017-07-18 10:10:06 -04:00
Thibault Saunier
54e35bb082
validate: Remove some dead code
...
Next will never be NULL as `done` is always set to TRUE when next is
set.
CID 1415503
2017-07-18 10:00:03 -04:00
Thibault Saunier
5c537bd627
validate: monitor: Add missing break; statement
...
Fixes CID 1415500
2017-07-18 09:59:42 -04:00
Edward Hervey
4f1242968e
validate-scenario: Fix wrong return value
...
We were always returning ok ...
CID #1415484
2017-07-18 15:50:35 +02:00
Edward Hervey
3904f2523b
validate-scenario: Check g_file_set_contents() return value
...
CID #1415487
2017-07-18 15:48:01 +02:00
Edward Hervey
e6073a411c
validate-scenario: Fix copy/paste error
...
CID #1415502
2017-07-18 15:45:13 +02:00
Edward Hervey
e5903f1d05
validate-scenario: Fix string usage
...
Use the string representation of the index if it *IS* present (and
not the opposite).
CID #1415506
2017-07-18 15:43:26 +02:00
Edward Hervey
5b54127c5a
validate-utils: Add NULL check
...
Unlikely to be triggered. And fix typo at the same time
CID #1415464
2017-07-18 15:38:04 +02:00
Thibault Saunier
c1f613d8e7
validate:scenario: Allow setting properties by element factory name
2017-06-30 12:30:40 -04:00
Thibault Saunier
f2fc6a4550
validate:scenario: Enhance the set_property action to handle enum props
...
User needs to specify the enum value as a string, to be used
as with gst_util_set_object_arg.
Also enhance reporting and verify that the set value has actually
been taken into account.
2017-06-30 09:46:57 -04:00
Thibault Saunier
dbc598b378
validate: Use Gst printing utils in our reporting system
...
Allowing us to use GST_PTR_FORMAT and friends!
2017-06-30 09:45:02 -04:00
Thibault Saunier
6a8b0111cd
validate:scenario: Enhance playbin3 stream selection error message
2017-06-22 11:52:26 -04:00
Thibault Saunier
eac403f87c
validate: Add missing space in segment mismatch issue description
2017-06-20 15:51:27 -04:00
Thibault Saunier
a728a7df49
validate: Fix the way we check if _CONFIG is a list of structures
2017-06-16 17:36:34 -04:00
Thibault Saunier
6439494f40
validate: overrides: Add a hook about newly added elements in a bin
2017-06-16 17:36:34 -04:00
Thibault Saunier
e0484a7cdd
validate: Attach overrides before calling monitor.setup()
2017-06-16 17:36:34 -04:00
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
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
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
e27367f040
validate: Fix json serialized object leaks
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
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
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
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
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
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
Reynaldo H. Verdejo Pinochet
eb2353f037
validate: scenario: fix msg on _lookup_feature() failure
2017-03-28 15:03:54 -07:00
Reynaldo H. Verdejo Pinochet
d6169ccb9f
validate: scenario: fix documentation for GstValidateAction
...
Additionally:
Improve GstValidatePrepareAction documentation
Correct one-off use of 'eos' instead of EOS.
2017-03-28 15:03:54 -07:00
Reynaldo H. Verdejo Pinochet
fd796d2976
validate: scenario: fix type field in description parameter
...
Nothing wrong with Sting though :)
Additionally: Fix typo in need-clock-sync's description
2017-03-28 15:03:47 -07:00
Reynaldo H. Verdejo Pinochet
b2ec10ace3
validate: do not check for NULL before g_free()
...
g_free() is NULL-safe.
2017-03-23 15:21:58 -07:00
Reynaldo H. Verdejo Pinochet
51a921b34b
validate: fix issues with a couple of string constants
...
Fix missing and/or dupplicated separators, bogus breaks, typos, etc.
2017-03-23 15:20:05 -07:00
Nicolas Dufresne
bdd152484c
Rename plugin filenames to match plugin names
...
- libgstvalidateplugin.so -> libgstvalidatetracer.so
- faultinjection -> validatefaultinjection
- gstvalidategtk -> validategtk
- ssim -> validatessim
https://bugzilla.gnome.org/show_bug.cgi?id=779344
2017-03-08 20:04:29 -05:00
Reynaldo H. Verdejo Pinochet
7f5d22f616
validate: report: avoid unnecessary calls to _append_printf
...
Additionally: simplify %format magic used for padding
2017-03-02 17:15:20 -08:00
Reynaldo H. Verdejo Pinochet
9588ccd02b
validate: report: clarify misleading message on skipped actions
...
Intention is to notify that not all actions were
executed but previous message suggested none were.
Additionally: fix problems in two others
2017-03-02 17:14:37 -08:00
Reynaldo H. Verdejo Pinochet
c62e33a7b8
validate: report: fix _issue_new()'s parameter description
2017-03-02 17:04:16 -08:00
Thibault Saunier
95a5a3a62c
validate: Ignore more parser related fields when comparing media caps
2017-02-27 12:12:38 -03:00
Reynaldo H. Verdejo Pinochet
158507585c
validate: fix multiple occurrences of 'parametter'
2017-02-17 14:05:00 -08:00
Thibault Saunier
40016b9956
validate:scenario: Report action done with the execution duration
2017-02-17 15:29:41 -03:00
Reynaldo H. Verdejo Pinochet
f92569724a
validate: runner: fix error msg for duplicated runner
...
- Add trailing whitespace to avoid accidental concatenation
- Fix bunch of typos and some grammar while at it
2017-02-16 14:34:33 -08:00
Thibault Saunier
aa006f78c4
meson: Fix Gir *_prefix value to be the sames as with autotools
...
We want to be able to do GstValidate.Monitor and not
GstValidate.ValidateMonitor.
And do not pass header to the list of sources to build libraries as
it is not needed.
2017-02-15 18:36:55 -03:00
Thibault Saunier
53e878ea8b
meson: Do not forget to install headers
2017-02-15 18:03:36 -03:00
Thibault Saunier
cd78d29c56
validate:scenario: Do not switch relative track when no track of type avalaible
...
This case was not handled and leaded to a division by zero.
2017-02-15 13:52:35 -03:00
Guillaume Desmottes
1cebf3a24f
valdate: fix element leak in overide-registry
...
The elements were never released once created.
https://bugzilla.gnome.org/show_bug.cgi?id=778279
2017-02-08 17:00:08 -03:00
Guillaume Desmottes
4c5ba39bfe
validate: pad-monitor: fix caps leaks
...
These caps were not released when disposing the pad monitor.
https://bugzilla.gnome.org/show_bug.cgi?id=778279
2017-02-08 17:00:08 -03:00
Thibault Saunier
addd76fc85
validate: Mark tests as SKIPPED when installation is missing a GStreamer plugin
2017-02-07 13:12:09 -03:00
Thibault Saunier
9790823d2a
validate: Do not fail media check when fields are related to (decoding) elements
...
In the case of h264 the stream might very well be in `nal` format but the decoder
might not accept it thus the parser converts to `byte-stream`, leading
to a correct stream detection but a failure in the validate-media-check
tool.
2017-02-06 16:02:55 -03:00