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
Thibault Saunier
bfc24038ba
validate: Avoid assertion when trying to pass the config as a caps
2017-01-31 08:25:05 -03:00
Wonchul Lee
74085a4460
validate: fix linker flags for validate plugin
...
https://bugzilla.gnome.org/show_bug.cgi?id=777938
2017-01-30 16:53:21 +02:00
Thibault Saunier
7daf21d2e7
validate: Handle the case where QUERY has an EMPTY caps filter
...
In our algorithm describing caps negotiation issues.
2017-01-27 16:44:46 -03:00
Thibault Saunier
2d83384263
validate: Stop comparing buffers offset values in media descriptor
...
This value can vary for some external reasons and should not matter
for now.
2017-01-24 18:43:52 -03:00
Sebastian Dröge
93fa16f1ba
validate-runner: Use correct enum in return value
...
gst-validate-runner.c:856:7: error: implicit conversion from enumeration type 'GstValidateReportLevel' to different enumeration type 'GstValidateReportingDetails' [-Werror,-Wenum-conversion]
GST_VALIDATE_REPORT_LEVEL_UNKNOWN);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2016-12-22 19:24:22 +02:00
Thibault Saunier
2a6c39d725
validate: Add safe guards to runner API
2016-12-22 10:29:18 -03:00
Edward Hervey
5eab79dbd3
validate-scenario: Properly get the rate for action validation
...
This issue was most likely introduced by the refactoring of the
position querying into a standalone function.
In execute_next_action() the rate variable was never replaced by
the current rate of the pipeline, this would result in all reverse
playback actions to trigger immediately instead of waiting for
the actual target time.
https://bugzilla.gnome.org/show_bug.cgi?id=776280
2016-12-19 16:44:31 +01:00
Thibault Saunier
e42d9a784e
validate: Fix usage of get_stack)trace after API change
2016-12-12 15:07:30 -03:00
Reynaldo H. Verdejo Pinochet
0495c9197b
validate: fix small grammar nit
2016-12-07 15:11:33 -08:00
Thibault Saunier
79faf44d32
validate: Properly handle proxy pads generating detailed info about NNEs
...
In cases where we had a two consecutive bins with proxy pads, we could
segfault because we were dereferencing a NULL pointer to pad.
2016-11-30 13:58:56 -03:00
Thibault Saunier
acfdd04e01
validate:launcher: Allow specifying timeout as a known issue
...
And minor cleanups
2016-11-28 19:37:08 -03:00
Thibault Saunier
8493b18e8c
validate: Fix GI warnings
2016-11-23 08:38:49 -03:00
Scott D Phillips
9b18bafc68
Enable building with MSVC
...
https://bugzilla.gnome.org/show_bug.cgi?id=774638
2016-11-17 17:36:03 -03:00
Scott D Phillips
11c5a413ab
pad-monitor: fix return type of get_range_func
...
The return type of GstPadGetRangeFunction is GstFlowReturn
https://bugzilla.gnome.org/show_bug.cgi?id=774638
2016-11-17 17:36:03 -03:00
Scott D Phillips
caafd6c36e
validate: Remove #include <unistd.h>
...
It isn't needed and isn't present in non-posix environments like windows
with MSVC or mingw.
https://bugzilla.gnome.org/show_bug.cgi?id=774638
2016-11-17 17:36:03 -03:00
Scott D Phillips
6299e1228c
Fix MSVC const warnings
...
https://bugzilla.gnome.org/show_bug.cgi?id=774638
2016-11-17 17:36:03 -03:00
Scott D Phillips
4e45b76c09
Pass gint/guint pointers instead of enum pointers
...
The underlying integer type for enums are implementation defined and may
not be the same size as gint/guint. So implicitly casting from pointers-
to-enum-types to pointers-to-int-types is unsafe. MSVC warns on these.
https://bugzilla.gnome.org/show_bug.cgi?id=774638
2016-11-17 17:36:03 -03:00
Thibault Saunier
612eaa4ad5
validate: meson: Do not mixup gstvalidate lib and tracer plugin
...
Even though it is mostly the same thing in the end
2016-11-15 18:55:09 -03:00
Thibault Saunier
30f4b590d8
validate: Remove extra buffering status prints
2016-11-14 13:06:10 -03:00
Thibault Saunier
17586b80b1
validate: Use gst_debug_get_stack_trace instead of our implementation
...
And remove now useless config.h.meson file
2016-11-09 10:55:40 -03:00
Thibault Saunier
8646977b27
validate: report: Do not unref an object where we do not own a ref
...
g_io_stream_get_output_stream is transfer none
2016-11-03 16:17:08 -03:00
Thibault Saunier
7ff1e0bca6
validate: gir: We should not depend on GstVideo
...
We do not depend on it at all in GstValidate itself
https://bugzilla.gnome.org/show_bug.cgi?id=773898
2016-11-03 11:22:39 -03:00
Nicolas Dufresne
c6dbb11c22
Also fix link issue in the plugin with libdw
2016-10-14 11:05:26 -04:00
Nicolas Dufresne
4fcc6ce452
Fix non-C89 code
...
In the automake build system we force C89 which does not allow mixing
code and declaration.
2016-10-14 10:52:53 -04:00
Nicolas Dufresne
3371a143be
Fix missing linker flags for libdw
...
This was added in the meson build but was only checked and not used in
the automake build.
2016-10-14 10:48:16 -04:00
Jinwoo Ahn
6ff5848789
validate: fix typo in gst-validate-report.c
...
parametter -> parameter
https://bugzilla.gnome.org/show_bug.cgi?id=772439
2016-10-05 12:37:30 +03:00
Thibault Saunier
41b005963f
validate: Allow doting the pipeline on issue reporting
...
And let the user configure on what level of issues to do it
by setting the GST_VALIDATE_CONFIG env var.
Always dot on critical issues.
2016-09-26 13:36:49 -03:00
Thibault Saunier
1fb0f02d6a
validate: Allow passing a GST_VALIDATE_CONFIG as a string
...
Instead of forcing user to put it in a file.
We are simply using the GstCaps synthax to parse it.
2016-09-26 13:36:48 -03:00
Thibault Saunier
e247122051
validate: Add a reference to the pipeline from each monitor
...
That will allow us to add more flexibility regarding the way
we report thing to the user and will allow us to properly make
reports per pipeline.
2016-09-26 13:36:48 -03:00
Thibault Saunier
2fae2b2342
validate: Always print trace for critical issues
...
And take into account issue details level to generate backtrace.
2016-09-26 13:36:48 -03:00
Thibault Saunier
64560aea32
validate: Add support for setting a report level for an issue type
...
Until now we could set report levels to the monitor, this adds support
for setting report level for the issue types too.
2016-09-26 13:36:48 -03:00
Thibault Saunier
a458dfadfb
validate: Dump the infos about NNEs if we can not properly determine the problem
...
It should anyway be pretty interesting pieces of information.
2016-09-22 16:11:09 -03:00
Javier Martinez Canillas
6110ecdc9b
validate: fix build warning in generate_unwind_trace()
...
The unw_word_t type has different sizes for 32-bit and 64-bit, so using the
%lx format specifier on a 32-bit CPU leads to the following compile warning:
CC libgstvalidate_1.0_la-gst-validate-report.lo
gst-validate-report.c: In function 'generate_unwind_trace':
gst-validate-report.c:137:36: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'unw_word_t {aka unsigned int}' [-Werror=format=]
g_string_append_printf (trace, "%s (0x%lx)\n", name, offset);
Cast to long so the %lx fomart specifier can be always used.
2016-09-22 12:54:57 -03:00
Thibault Saunier
6c37fa7110
validate: Avoid checking NULL pads when generating NNE reports
2016-09-22 12:36:29 -03:00
Tim-Philipp Müller
63ed33f1c5
validate: fix compiler warnings
...
gst-validate-report.c: In function ‘generate_unwind_trace’:
gst-validate-report.c:116:1: error: old-style function definition [-Werror=old-style-definition]
generate_unwind_trace ()
^~~~~~~~~~~~~~~~~~~~~
gst-validate-report.c:122:3: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
unw_cursor_t cursor;
^~~~~~~~~~~~
2016-09-20 13:39:02 +01:00
Thibault Saunier
026da6cd81
validate: Add backtraces in the reports
...
Printing them when the reporting all the details only
2016-09-20 08:49:04 -03:00
Thibault Saunier
3cbaae3090
meson: Build GstValidate as a tracer
...
And add version to the GStValidate shared library
2016-09-08 13:10:30 -03:00
Thibault Saunier
2fff14e469
validate: Pass information about GstValidate execution over a socket
...
Instead of trying to parsing stdout, generate json messages and
send them over a socket so that gst-validate-launcher can properly
have informations about gst-validate subprocess execution.
2016-09-08 13:10:29 -03:00
Thibault Saunier
29e5ac1362
validate: Enhance not-negotiated errors reporting
...
Keeping negotation information around and trying to figure
out precisely why the elements could not negotied the caps
when we get a NOT_NEGOTIATED error on the bus giving the
user details about it.
2016-09-08 13:10:29 -03:00
Thibault Saunier
4090b0a7ae
validare: Enhance report message about wrong position
2016-09-08 10:39:56 -03:00
Thibault Saunier
f7f600e730
validate: launcher: Fix the condition to check if we need an http server
...
We could be checking if a string was in None
And use gs_string_assign when assigning the first string
without using printf like format.
2016-09-08 10:39:56 -03:00
Thibault Saunier
61669bd042
validate: Indent report details
2016-09-08 10:39:56 -03:00
Thibault Saunier
6e9c67238d
validate:scenario: Wait for ASYNC_DONE to set async state change DONE
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=769894
2016-09-05 14:43:51 -03:00
Thibault Saunier
53d69adcaf
meson: Add support for building GIR when used as subproject
...
Add allow project to us it as subproject too
2016-08-26 20:06:22 -03:00
Thibault Saunier
da327d8625
validate: Add support for Meson as alternative/parallel build system
...
https://github.com/mesonbuild/meson
2016-08-25 15:12:31 -03:00