Thibault Saunier [Tue, 7 Jan 2020 18:46:21 +0000 (15:46 -0300)]
validate:launcher: Add support for skipped media info files
Those are skipped to generate tests by default but are updated when
required, this will allow us to generate specific test on demand for
those
Thibault Saunier [Mon, 6 Jan 2020 19:29:33 +0000 (16:29 -0300)]
validate:ssim: Avoid segfaults trying to attach pads without a template
Thibault Saunier [Mon, 6 Jan 2020 19:26:12 +0000 (16:26 -0300)]
validate:scenario:Handle GStreamer serialized timestamps
Thibault Saunier [Mon, 17 Feb 2020 13:32:48 +0000 (10:32 -0300)]
validate:launcher: Never try to load a testsuite with the same name from different locations
Thibault Saunier [Thu, 13 Feb 2020 13:41:07 +0000 (10:41 -0300)]
validate:media-check: Fix wrong exit code
There are code paths where the runner doesn't contain any issue but an error has already been reported
Thibault Saunier [Tue, 11 Feb 2020 19:01:07 +0000 (16:01 -0300)]
validate:launcher: Add support for the imagesequence protocol
Thibault Saunier [Mon, 3 Feb 2020 14:14:33 +0000 (11:14 -0300)]
validate:launcher: Fix reporting on failure when running forever/fatal
Thibault Saunier [Wed, 8 Jan 2020 12:54:15 +0000 (09:54 -0300)]
validate:launcher: Cache GstValidateMediaDescriptor to avoid reparsing .media_info
Saving another second at startup
Thibault Saunier [Wed, 8 Jan 2020 12:23:19 +0000 (09:23 -0300)]
validate:launcher: Generate profiling data even if an exception happens
Thibault Saunier [Tue, 7 Jan 2020 22:29:05 +0000 (19:29 -0300)]
validate:launcher: Batch inspecting scenarios
Removing almost 1 second to start running tests with the default
testsuite
Thibault Saunier [Mon, 6 Jan 2020 19:27:59 +0000 (16:27 -0300)]
validate:launcher: Fix printed test number
Thibault Saunier [Mon, 6 Jan 2020 19:27:19 +0000 (16:27 -0300)]
validate:launcher: Allow passing configs paths when loading from dictionary
The same way we allow it for scenarios
Philippe Normand [Mon, 2 Mar 2020 12:55:18 +0000 (12:55 +0000)]
debug-viewer: Display nanoseconds in the timestamp column
Nirbheek Chauhan [Thu, 27 Feb 2020 11:03:36 +0000 (16:33 +0530)]
validate: Don't use sprintf + glib format modifiers
We do not have a way to know the format modifiers to use with string
functions provided by the system. `G_GUINT64_FORMAT` and other string
modifiers only work for glib string formatting functions. We cannot
use them for string functions provided by the stdlib. See:
https://developer.gnome.org/glib/stable/glib-Basic-Types.html#glib-Basic-Types.description
```
../validate/plugins/flow/formatting.c: In function 'format_number':
../validate/plugins/flow/formatting.c:68:22: error: unknown conversion type character 'l' in format [-Werror=format=]
sprintf (dest_str, "%" G_GUINT64_FORMAT, number);
^~~
In file included from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib/gtypes.h:32,
from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib/galloca.h:32,
from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib.h:30,
from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/gstreamer-1.0/gst/gst.h:27,
from ../validate/plugins/flow/formatting.h:26,
from ../validate/plugins/flow/formatting.c:30:
/builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/lib/glib-2.0/include/glibconfig.h:69:28: note: format string is defined here
#define G_GUINT64_FORMAT "llu"
^
../validate/plugins/flow/formatting.c:68:22: error: too many arguments for format [-Werror=format-extra-args]
sprintf (dest_str, "%" G_GUINT64_FORMAT, number);
^~~
../validate/plugins/flow/formatting.c:68:22: error: unknown conversion type character 'l' in format [-Werror=format=]
In file included from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib/gtypes.h:32,
from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib/galloca.h:32,
from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib.h:30,
from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/gstreamer-1.0/gst/gst.h:27,
from ../validate/plugins/flow/formatting.h:26,
from ../validate/plugins/flow/formatting.c:30:
/builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/lib/glib-2.0/include/glibconfig.h:69:28: note: format string is defined here
#define G_GUINT64_FORMAT "llu"
^
../validate/plugins/flow/formatting.c:68:22: error: too many arguments for format [-Werror=format-extra-args]
sprintf (dest_str, "%" G_GUINT64_FORMAT, number);
^~~
```
Needed for https://gitlab.freedesktop.org/gstreamer/cerbero/merge_requests/419
Thibault Saunier [Wed, 26 Feb 2020 17:21:52 +0000 (14:21 -0300)]
meson: remove vs_module_defs
The GST_EXPORT should handle it.
Thibault Saunier [Wed, 26 Feb 2020 15:05:39 +0000 (12:05 -0300)]
launcher: Do not dump output on known issues
And remove dead code
Thibault Saunier [Wed, 26 Feb 2020 13:52:12 +0000 (10:52 -0300)]
validate: Fix leak parsing structure files
Thibault Saunier [Tue, 25 Feb 2020 14:00:57 +0000 (11:00 -0300)]
validate: Enhance error reporting for errors in struct files
Get a sense of files and line numbers in the parsed GstStructure
and take that information when reporting GstValidateAction errors
by letting the user know where the action comes from in the messages.
And accept non-literal string in printing formats.
Thibault Saunier [Tue, 25 Feb 2020 13:54:00 +0000 (10:54 -0300)]
validate: Add a specific error type for check actions
And mark it as `NO_BACKTRACE | FULL_DETAILS`, same as for
other action failure types.
Thibault Saunier [Thu, 16 Jan 2020 20:36:54 +0000 (17:36 -0300)]
validate: Enhance error reporting when scenario or configs are invalid
Thibault Saunier [Tue, 14 Jan 2020 13:23:39 +0000 (10:23 -0300)]
validate: Add a flags to issues
Currently those allow registering issue that:
- Won't print backtrace as it is sometimes useless info
- Will repeat the details even in smart mode
Thibault Saunier [Thu, 20 Feb 2020 01:16:44 +0000 (22:16 -0300)]
validate: Consider ',' as continuing line marker in struct files
Since `,` is the separator between fields of GstStructure we can
safely consider that if a line ends with it, the following line
is the logical continuity of the serialized GstStructure.
This makes writing those files more convenient and reading them
more pleasant as we do not need to add extra `\` at end of lines
anymore
Thibault Saunier [Tue, 11 Feb 2020 12:18:23 +0000 (09:18 -0300)]
validate:launcher: Handle validate report bigger than allowed by the socket
This almost never happens but I had a case where we had a report
with a GstSample in the caps that were reported leading to an
error printed.
Thibault Saunier [Thu, 6 Feb 2020 13:34:40 +0000 (10:34 -0300)]
validate:launcher: Reference exception in a var as we use it in the handling
Thibault Saunier [Tue, 4 Feb 2020 21:14:25 +0000 (18:14 -0300)]
validate:flow: Make field filtering in what is logged more generic
Instead of forcing it on event, allow specifying filters on anything
we log, meaning also buffers
Thibault Saunier [Tue, 4 Feb 2020 19:59:39 +0000 (16:59 -0300)]
validateflow: Add a logged-event-fields configuration
Thibault Saunier [Tue, 11 Feb 2020 18:57:56 +0000 (15:57 -0300)]
validate:scenario: Stop rounding up clocktime values
This doesn't make any sense in that context
Thibault Saunier [Thu, 6 Feb 2020 17:33:56 +0000 (14:33 -0300)]
validate:launcher: Fix defining several scenario with a same config
When generating tests from dictionary the dict format allows passing
several scenario for a same config and pipelines, but this was breaking
the case where expected flow is different with each config, instead we
should generate one config per scenario, fixing the expectation files
generated.
Thibault Saunier [Thu, 16 Jan 2020 00:22:49 +0000 (21:22 -0300)]
validate:launcher: Print the duration of the test run in the logs
Thibault Saunier [Thu, 16 Jan 2020 00:15:30 +0000 (21:15 -0300)]
validate:flow: Add a way to set the types of events to log/ignore
Added two properties to the plugin:
* ignored-event-types: A list of event types to be ignored when logging events
* logged-event-types: A list of event types to be logged when logging events
This commits also moves the "ignored-event-fields" property to using a proper
GstValueList for the list of event fields to be taken into account, instead
of the home grown separated by comas list of string, making the API more
uniform.
This also adds a simple helper method: `gst_validate_utils_get_strv`
Stéphane Cerveau [Tue, 3 Dec 2019 17:26:18 +0000 (18:26 +0100)]
gst-validate-launcher: separate known error from passed tests
Introduce known_error in statistics to keep in mind the expected
error result.
Stéphane Cerveau [Mon, 2 Dec 2019 13:46:59 +0000 (14:46 +0100)]
gst-validate-launcher: update documentation
Use the new api to create your custom testsuite.
Fix some broken links and enhance the logging system.
Nicolas Dufresne [Sun, 12 Jan 2020 04:00:06 +0000 (23:00 -0500)]
launcher: Allow partionning the tests
This introduce new command line options, --parts and --part-index. When
--parts is set to a value larger then 1, the tests will be split in the
same number of group. The group number identified by --part-index will
be executed.
This is being added in orther to support gliblab CI parallel feature.
Thibault Saunier [Mon, 12 Aug 2019 20:56:41 +0000 (16:56 -0400)]
validate:launcher: Try to dump logs with bat if avalaible
We got to many issues with mdv, it seems not to be maintained
bat is a very good replacement.
Brady J. Garvin [Sun, 5 Jan 2020 20:09:07 +0000 (14:09 -0600)]
validate:launcher: Support mixed str/bytes control sequences.
It is not safe for `_preformat_levels` to assume that all of the fields in a
`TerminalController` have the same type; at least in my environment, some of
these fields are populated with `bytes` while others remain strings.
This change conditionally applies decoding to each control sequence separately
using a helper function `_as_string`. As a side-effect, it also eliminates some
code repetition in `_preformat_levels`.
Closes #50.
Thibault Saunier [Mon, 30 Dec 2019 15:57:57 +0000 (12:57 -0300)]
validate:launcher: Enhance progress reporting using a progress bar
This also allows us to properly report progress on the CI
Thibault Saunier [Mon, 30 Dec 2019 13:27:06 +0000 (10:27 -0300)]
validate:launcher: Take our timeout factor into account for gstcheck
Thibault Saunier [Thu, 7 Nov 2019 18:57:41 +0000 (15:57 -0300)]
validate:scenario: fix some typos
Thibault Saunier [Thu, 7 Nov 2019 18:55:17 +0000 (15:55 -0300)]
validate:scenario: Implement an action to check property value
Alexandru Băluț [Sat, 28 Dec 2019 21:39:23 +0000 (22:39 +0100)]
meson: Remove unused gtk_doc option
The "doc" option is available to disable the documentation.
Mathieu Duponchelle [Mon, 23 Dec 2019 09:27:11 +0000 (10:27 +0100)]
check: unblacklist removed systemclock tests
See https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/348
Mathieu Duponchelle [Sat, 14 Dec 2019 09:45:30 +0000 (10:45 +0100)]
check: unblacklist gstreamer.pipelines_parse_launch.delayed_link
It should not be flaky anymore after
https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/343
Thibault Saunier [Fri, 15 Nov 2019 20:25:11 +0000 (17:25 -0300)]
validate:launcher: Use python dict for pipeline description
Edward Hervey [Wed, 27 Nov 2019 14:33:14 +0000 (15:33 +0100)]
validate-scenario: Initialize variable
We could end up using it uninitialized
CID: 1444920
Thibault Saunier [Fri, 4 Oct 2019 12:59:57 +0000 (09:59 -0300)]
validate: launcher: Make encoding extra check use common code path
Reusing the reporting infrastructure instead of shurtcuting it
Thibault Saunier [Tue, 24 Sep 2019 17:23:49 +0000 (14:23 -0300)]
validate: Add vp9 transcoding tests
Making sure to encode small frames as vp9enc is slow.
Edward Hervey [Wed, 20 Nov 2019 09:19:00 +0000 (10:19 +0100)]
validate: Fix memory leaks
Various structures were being leaked.
Thibault Saunier [Mon, 11 Nov 2019 21:57:27 +0000 (18:57 -0300)]
validate:launcher: Avoid clashes when importing testsuite
This introduce an hard dependency on python >= 3.5, same as meson
Jordan Petridis [Sun, 10 Nov 2019 15:29:45 +0000 (16:29 +0100)]
check: blacklist gst-plugins-good.elements_splitmux.test_splitmuxsink$
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/626
Stéphane Cerveau [Wed, 6 Nov 2019 17:21:11 +0000 (18:21 +0100)]
gstvalidate: fix GstValidateRTSPMediaDescriptor typo
Alicia Boya García [Sat, 2 Nov 2019 16:07:02 +0000 (17:07 +0100)]
gst-validate-bin-monitor: Remove unused field.
Alicia Boya García [Fri, 25 Oct 2019 10:45:40 +0000 (12:45 +0200)]
validateflow: Don't use colon in file names
The colon character commonly used to separate the element name and the
pad name is reserved in Windows filesystems, so it's better to use
something safer.
This patch replaces it with '-'. Please update
gst-integration-testsuites too where another commit has renamed all the
files.
Víctor Manuel Jáquez Leal [Fri, 25 Oct 2019 10:26:58 +0000 (12:26 +0200)]
validate: blacklist gstreamer-vaapi checks
They still can be checked by running the tests explicitly.
Tim-Philipp Müller [Fri, 18 Oct 2019 11:31:19 +0000 (12:31 +0100)]
meson: build gir even when cross-compiling if introspection was enabled explicitly
This can be made to work in certain circumstances when
cross-compiling, so default to not building g-i stuff
when cross-compiling, but allow it if introspection was
enabled explicitly via -Dintrospection=enabled.
See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
Tim-Philipp Müller [Mon, 14 Oct 2019 23:24:00 +0000 (00:24 +0100)]
validate: remove autotools build
Tim-Philipp Müller [Mon, 14 Oct 2019 23:11:19 +0000 (00:11 +0100)]
codecanalyzer: remove
Remove in effort to declutter. There has been
pretty much no activity at all since the initial
commit in 2014 apart from a few coverity fixes.
Doesn't seem super-useful in its current form
either. Still available on github at
https://github.com/sreerenjb/codecanalyzer/
if anyone has a use for it.
Tim-Philipp Müller [Mon, 14 Oct 2019 18:28:08 +0000 (19:28 +0100)]
mediainfo: remove
This looks bitrotten and abandoned,
remove in an effort to declutter.
Tim-Philipp Müller [Mon, 14 Oct 2019 18:25:30 +0000 (19:25 +0100)]
vagrant: remove
This looks bitrotten and still targets Ubuntu 13.10
and autotools. Doesn't look like anyone has been using
this in the last 5+ years, so let's remove it in an
effort to declutter.
Thibault Saunier [Mon, 15 Jul 2019 21:58:05 +0000 (17:58 -0400)]
validate:launcher: Fix the 'can-happen-several-times' known issue field
Thibault Saunier [Mon, 15 Jul 2019 16:36:23 +0000 (12:36 -0400)]
validate: Check that pull_range is called from the streaming thread
`gst_pad_pull_range` should always be called from the streaming thread,
we now check that when pull_range is called, and if the sinkpad calling
the function has a GstTask with a running thread, the function is called
from that thread.
Nicolas Dufresne [Fri, 27 Sep 2019 20:52:51 +0000 (16:52 -0400)]
validate-scanario: Fix crash when using installed validate
When installed, the lookup path will endup on the very last try, but the
scenario_file was left unset, which lead to a crash.
Matthew Waters [Tue, 24 Sep 2019 01:45:34 +0000 (11:45 +1000)]
validate: fix build with newer gcc
In file included from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gst.h:55,
from ../validate/gst/validate/gst-validate-scenario.c:45:
../validate/gst/validate/gst-validate-scenario.c: In function ‘gst_validate_scenario_load’:
../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstinfo.h:645:5: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
645 | gst_debug_log ((cat), (level), __FILE__, GST_FUNCTION, __LINE__, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
646 | (GObject *) (object), __VA_ARGS__); \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstinfo.h:1067:26: note: in expansion of macro ‘GST_CAT_LEVEL_LOG’
1067 | #define GST_ERROR(...) GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_ERROR, NULL, __VA_ARGS__)
| ^~~~~~~~~~~~~~~~~
../validate/gst/validate/gst-validate-scenario.c:3615:5: note: in expansion of macro ‘GST_ERROR’
3615 | GST_ERROR ("Invalid name for scenario '%s'", scenario_name);
| ^~~~~~~~~
../validate/gst/validate/gst-validate-scenario.c:3615:44: note: format string is defined here
3615 | GST_ERROR ("Invalid name for scenario '%s'", scenario_name);
| ^~
Thibault Saunier [Sat, 24 Aug 2019 11:57:23 +0000 (07:57 -0400)]
validate:launcher: Do not hardcode pathsep
Matthew Waters [Wed, 28 Aug 2019 07:22:55 +0000 (17:22 +1000)]
validate/flow: fix werror build with android clang
../validate/plugins/flow/gstvalidateflow.c:75:3: error: redefinition of typedef 'ValidateFlowOverride' is a C11 feature [-Werror,-Wtypedef-redefinition]
} ValidateFlowOverride;
^
../validate/plugins/flow/gstvalidateflow.h:31:23: note: previous definition is here
G_DECLARE_FINAL_TYPE (ValidateFlowOverride, validate_flow_override,
^
Matthew Waters [Mon, 26 Aug 2019 11:43:24 +0000 (21:43 +1000)]
validate: fix -Werror=unused-function with clang
[3623/4053] Compiling C object 'subprojects/gst-devtools/validate/plugins/flow/697521d@@gstvalidateflow@sha/gstvalidateflow.c.o'.
../subprojects/gst-devtools/validate/plugins/flow/gstvalidateflow.c:85:1: warning: unused function 'VALIDATE_IS_FLOW_OVERRIDE' [-Wunused-function]
G_DECLARE_FINAL_TYPE (ValidateFlowOverride, validate_flow_override,
^
/usr/include/glib-2.0/gobject/gtype.h:1407:26: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
static inline gboolean MODULE##_IS_##OBJ_NAME (gpointer ptr) { \
^
<scratch space>:129:1: note: expanded from here
VALIDATE_IS_FLOW_OVERRIDE
^
Matthew Waters [Mon, 26 Aug 2019 11:41:00 +0000 (21:41 +1000)]
validate: fix -Werror=format-nonliteral build with clang
[3470/4053] Compiling C object 'subprojects/gst-devtools/validate/gst/validate/28db7b6@@gstvalidatetracer@sha/gst-validate-reporter.c.o'.
../subprojects/gst-devtools/validate/gst/validate/gst-validate-reporter.c:186:31: warning: format string is not a string literal [-Wformat-nonliteral]
message = g_strdup_vprintf (format, vacopy);
^~~~~~
[3487/4053] Compiling C object 'subprojects/gst-devtools/validate/gst/validate/28db7b6@@gstvalidatetracer@sha/gst-validate-report.c.o'.
../subprojects/gst-devtools/validate/gst/validate/gst-validate-report.c:1007:34: warning: format string is not a string literal [-Wformat-nonliteral]
tmp = gst_info_strdup_vprintf (format, args);
^~~~~~
[76/151] Compiling C object 'subprojects/gst-devtools/validate/plugins/flow/697521d@@gstvalidateflow@sha/gstvalidateflow.c.o'.
../subprojects/gst-devtools/validate/plugins/flow/gstvalidateflow.c:125:65: warning: format string is not a string literal [-Wformat-nonliteral]
if (!flow->error_writing_file && vfprintf (flow->output_file, format, ap) < 0) {
^~~~~~
Philippe Normand [Mon, 19 Aug 2019 11:25:39 +0000 (12:25 +0100)]
validate: Add a scenario for 5 seconds playback use-cases
Philippe Normand [Mon, 19 Aug 2019 10:08:41 +0000 (11:08 +0100)]
validate/ssim: Clean-up temporary directory
When no output-dir is specified in the plugin config, a temporary directory is
created, so it needs to be removed when no-longer needed.
Philippe Normand [Mon, 19 Aug 2019 10:25:45 +0000 (11:25 +0100)]
validate/launcher: Ensure the HTTP server is started when a pipeline needs it
Pipelines declared in gst-integration-testsuites can rely on the validate HTTP
server, so when an URI pointing to it is detected, advertise the server as
needed before starting the test.
For this to work the test scenario should explicitely declare the pipeline uri,
as shown in this example:
"some_playbin3":
{
"pipeline": "playbin3 uri=%(uri)s video-sink=%(videosink)s",
"config": [
"%(validateflow)s, pad=sink:sink"
],
"scenarios": ["play_15s"],
"uri": "http://127.0.0.1:%(http-server-port)s/defaults/html/foo.html"
}
Thibault Saunier [Mon, 5 Aug 2019 23:04:54 +0000 (19:04 -0400)]
validate:launcher: Allow passing any extra_data in json test definition
This means that we can now pass any extra key that `populate_tests`
expects, meaning any key expected by FakeMediaDescriptor and
a few other keys supported by the methods such as
`expected-issues` and `extra_env_vars`
Thibault Saunier [Wed, 10 Jul 2019 20:52:45 +0000 (16:52 -0400)]
launcher: Raise an exception when provided scenario can't be found
Aaron Boxer [Sun, 4 Aug 2019 00:09:32 +0000 (20:09 -0400)]
validate: add missing G_BEGIN/END_DECLS in validate.h
Mathieu Duponchelle [Thu, 1 Aug 2019 19:04:12 +0000 (21:04 +0200)]
validate: Update blacklisting reason for fast forward rtsp
While https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/issues/14
was merged, the client side (in particular rtpbasedepayload) still
isn't expected to work appropriately
Tim-Philipp Müller [Mon, 29 Jul 2019 09:05:20 +0000 (10:05 +0100)]
validate: fix build with older GLib versions
g_enum_to_string() is only available in newer ones.
Add compatibility workaround for the time being to decouple
this from the decision whether to bump the GLib requirement
and what to bump it to.
https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/199
Fixes #45
Mathieu Duponchelle [Fri, 26 Jul 2019 00:28:42 +0000 (02:28 +0200)]
scenario: fix PAUSED position check
The way this was implemented was simply wrong, first of all checking
the position against the segment after a seek in PAUSED by a query
of the pipeline position is of limited interest, and can only work
in forward playback.
Furthermore the check was a huge blob of code that didn't even look
like it was pretending to do a good job at checking the position in
reverse playback.
Mathieu Duponchelle [Fri, 26 Jul 2019 00:26:20 +0000 (02:26 +0200)]
json tests: assume all user pipelines can seek reverse
When doing a targeted test, it is up to the user to make sure
their pipeline + scenario behaves correctly.
Thibault Saunier [Tue, 9 Jul 2019 03:37:22 +0000 (23:37 -0400)]
validate:launcher: Pass the right timeout_factor is passed to subprojects
Thibault Saunier [Tue, 9 Jul 2019 03:36:52 +0000 (23:36 -0400)]
scenario: Do not dereference NULL pointer
Thibault Saunier [Wed, 3 Jul 2019 19:42:26 +0000 (15:42 -0400)]
validate:pipeline-monitor: Connect deep properties notification only when required
This is quite expensive and can lead to an overwhelm mainloop.
Thibault Saunier [Fri, 28 Jun 2019 21:34:00 +0000 (17:34 -0400)]
validate:scenario: Keep a reference to 'description' structure
For it to be reusable outside the scenario
Thibault Saunier [Thu, 27 Jun 2019 00:41:03 +0000 (00:41 +0000)]
doc: Minor typo fixes.
Thibault Saunier [Sun, 23 Jun 2019 17:56:52 +0000 (13:56 -0400)]
scenario: Use internal sinks when a sink bin can be used to check last-sample
Thibault Saunier [Sun, 23 Jun 2019 17:40:37 +0000 (13:40 -0400)]
docs: Document validate core configuration
Thibault Saunier [Sun, 23 Jun 2019 16:48:43 +0000 (12:48 -0400)]
validate:flow: Log buffers even when tracking srcpads
Thibault Saunier [Sun, 23 Jun 2019 16:48:06 +0000 (12:48 -0400)]
validate:launcher: Move get_fakesink_for_media_type to utils
So it can be reused in other apps like GES
Thibault Saunier [Sun, 23 Jun 2019 16:46:37 +0000 (12:46 -0400)]
validate: Also monitor ghost pads
Allowing overrides to work on ghost pads too
Thibault Saunier [Sun, 23 Jun 2019 15:58:11 +0000 (11:58 -0400)]
validateflow: Add `buffers-checksum` option to log buffers data checksum
Thibault Saunier [Sun, 23 Jun 2019 07:31:30 +0000 (03:31 -0400)]
validate: Add SCENARIO_NAME and CONFIG_NAME vars in configs/scenarios
Thibault Saunier [Sun, 23 Jun 2019 07:09:58 +0000 (03:09 -0400)]
validate: Set 'LOGSDIR' variable in scenarios and config files
Implementing support for variables in config files.
Thibault Saunier [Sun, 23 Jun 2019 05:51:08 +0000 (01:51 -0400)]
scenario: Set `SCENARIO_PATH/DIR` variables in scenarios
And add some documentation about it
Thibault Saunier [Sun, 23 Jun 2019 04:47:04 +0000 (00:47 -0400)]
scenario: Add a `TMPDIR` global variables in scenarios
This also adds the notion of global variables which will be useable
in config files too.
And add some documentation about default variables in scenarios
Thibault Saunier [Tue, 18 Jun 2019 22:10:24 +0000 (18:10 -0400)]
docs: Update validate action types
Include minor fixes in the action types and markdown generator
Thibault Saunier [Tue, 18 Jun 2019 21:43:56 +0000 (17:43 -0400)]
validate: Misc leaks plugging
Thibault Saunier [Mon, 17 Jun 2019 21:59:21 +0000 (17:59 -0400)]
validate:launcher: Strip env vars in command line outputing verbose
But activate if activating verbosity more than once
Thibault Saunier [Fri, 14 Jun 2019 14:43:15 +0000 (10:43 -0400)]
docs: Document GES validate action types
Thibault Saunier [Tue, 11 Jun 2019 21:11:42 +0000 (17:11 -0400)]
validate:reporter: Show report by branches when doing smart reporting
Meaning that instead of getting 1 "Detected on" line per monitor,
there will be one per "branch" like:
Detected on <audioconvert1:sink, audioconvert1:src, audioresample1:sink, audioresample1:src, smart-adder-adder:sink_0, smart-adder-adder:src, smart-adder-capsfilter:sink, smart-adder-capsfilter:src, capsfilter2:sink, capsfilter2:src, tee1:sink, tee1:src_0>
Making it simpler to read and a bit less verbose.
Thibault Saunier [Tue, 11 Jun 2019 20:34:28 +0000 (16:34 -0400)]
validate:launcher: Avoid repeating failure info in summaries
Thibault Saunier [Tue, 11 Jun 2019 20:27:55 +0000 (16:27 -0400)]
validate:scenario: Move force-key-unit action from the transcoding tool
The action is generally useful but was implemented in a way that
was restricting its usage for no good reason. Refactor the
implementation adding more argument so it can be used in a wider
context, such as uvch264src.
Something like:
``` bash
echo "video-request-key-unit, direction=upstream, all-header=true, count=1, target-element-factory-name=h264parse, srcpad=src, playback-time=1.0" > tmp.scenario && \
echo "stop,playback-time=2.0" >> tmp.scenario && \
gst-validate-1.0 --set-scenario=tmp.scenario uvch264src \
device=/dev/video0 name=src iframe-period=33 auto-start=true src.vfsrc ! queue ! fakesink \
src.vidsrc ! queue ! video/x-h264,width=1280,height=720,framerate=30/1 ! h264parse ! fakesink
```
works now.
Thibault Saunier [Tue, 11 Jun 2019 20:23:00 +0000 (16:23 -0400)]
validate:scenario: Minor documentation cleanup
Thibault Saunier [Tue, 11 Jun 2019 20:21:52 +0000 (16:21 -0400)]
validate:pipeline-monitor: Avoid wrong position issue
If the reported position or duration is NONE, do not check its
validity