=== release 1.19.2 === 2021-09-23 01:36:10 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-devtools.doap: * meson.build: Release 1.19.2 2021-09-13 18:24:18 +0200 Vivienne Watermeier * validate/gst/validate/validate.c: validate: fix relative paths for test files Part-of: 2021-09-10 17:11:29 -0300 Thibault Saunier * validate/gst/validate/gst-validate-override-registry.c: validate: Fix double freeing of GstStructure gst_validate_get_config is transfer-container only Part-of: 2021-08-20 09:22:28 +0200 Edward Hervey * validate/gst/validate/gst-validate-utils.c: 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: 2021-07-15 14:42:51 +0200 Edward Hervey * validate/gst/validate/media-descriptor.c: 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: 2021-06-08 12:28:49 -0400 Thibault Saunier * meson.build: * validate/gst/validate/meson.build: 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: 2021-06-01 15:29:21 +0100 Tim-Philipp Müller * meson.build: Back to development === release 1.19.1 === 2021-06-01 00:16:57 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-devtools.doap: * meson.build: Release 1.19.1 2021-05-25 21:25:14 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Error out on invalid 'foreach' iterator types Part-of: 2021-05-25 21:00:09 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Handle unknown type in foreach types Part-of: 2021-05-24 01:26:41 -0400 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: Make array delemiter a line continuation char Making its usage more friendly Part-of: 2021-05-24 01:20:47 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/tests/launcher_tests/foreach_array.validatetest: 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: 2021-05-24 01:19:13 -0400 Thibault Saunier * validate/gst/validate/gst-validate-enums.h: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: * validate/gst/validate/validate.c: * validate/tests/check/validate/utilities.c: validate: Add a flag to allow defining how to resolve variables in structs Part-of: 2021-05-23 22:43:04 -0400 Thibault Saunier * validate/gst/validate/flow/formatting.c: 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: 2021-05-20 16:43:25 +0100 Philippe Normand * validate/launcher/utils.py: validate: launcher: Simplify fakesink handling Now the function returns either a fakeaudiosink or a fakevideosink, depending on the media type. Part-of: 2021-05-20 10:45:34 -0400 Thibault Saunier * validate/gst/validate/flow/formatting.c: * validate/gst/validate/flow/formatting.h: * validate/tests/launcher_tests/simple_repeat/flow-expectations/log-sink-sink-expected: validate:flow: Sort fields in serialized structures Otherwise change in element implementations could lead to meaningless breakages 2021-01-12 15:38:03 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Allow forcing running action on idle from scenario file Part-of: 2021-01-12 15:37:08 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/tests/launcher_tests/run_command_with_envvars.validatetest: validate:scenario: Add a `run-command` action type Part-of: 2021-01-12 15:36:05 -0300 Thibault Saunier * validate/gst/validate/gst-validate-monitor.c: validate:monitor: Only get_name on GstObject GObject don't have such method! Part-of: 2021-04-29 10:09:05 +0200 Stéphane Cerveau * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate: add config file support Each test can now use a config file for the given media file used to test. Part-of: 2021-04-21 13:54:38 +0200 François Laignel * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/reporting.c: Use gst_element_request_pad_simple... Instead of the deprecated gst_element_get_request_pad. Part-of: 2021-04-19 15:00:18 +0200 Edward Hervey * validate/data/scenarios/seek_forward.scenario: scenario: Fix action variable name This was always meant to be `on-message=eos` (like in fast_forward.scenario) Fixes #58 Part-of: 2021-03-19 17:16:33 +1100 Matthew Waters * validate/tests/check/validate/test-utils.c: 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: 2021-02-26 15:32:29 +0100 Stéphane Cerveau * validate/data/bash-completion/completions/gst-validate-1.0: bash-completion: add gst-validate script Part-of: 2021-01-30 10:01:54 -0600 Brady J. Garvin * validate/launcher/apps/gstcheck.py: * validate/launcher/baseclasses.py: * validate/launcher/main.py: 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: 2021-01-08 08:38:12 -0300 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Plug a leak 2021-01-05 10:06:40 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Do not check strv length on NULL pointers This is not legal Part-of: 2020-12-15 18:18:29 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/validate.c: * validate/tests/launcher_tests/foreach.validatetest: * validate/tests/launcher_tests/foreach_deep.validatetest: validate: Allow using the new nested structure syntax And port the deeply nested tests we have Part-of: 2020-12-15 18:18:29 -0300 Thibault Saunier * validate/gst/validate/validate.c: validate: Only consider the first pipeline when using test files And port the deeply nested tests we have Part-of: 2020-12-15 18:18:29 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Add missing GstValidateAction annotations Part-of: 2020-12-15 18:15:50 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Add an `expected-values` parameter to `wait, message-type=XX` Allowing more precise filtering of the message we are waiting for. Part-of: 2020-12-15 18:02:00 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: scenario: Add a GstValidateScenario::action-done signal Allowing application to know when a specific action is done. Part-of: 2020-12-15 18:00:58 -0300 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: validate: Enhance printing action execution information Part-of: 2020-12-15 17:58:51 -0300 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-bin-monitor.h: validate: Add an API to get the bin monitor scenario This is useful for applications that use Validate directly. Part-of: 2020-12-10 16:26:15 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Ensure that messages are handled from the right thread Part-of: 2020-11-29 10:05:36 +0000 Philippe Normand * debug-viewer/org.freedesktop.GstDebugViewer.appdata.xml.in: debug-viewer: Make appdata valid again Part-of: 2020-12-08 11:46:37 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: 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: 2020-12-08 10:57:15 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Minor cleanup Part-of: 2020-12-08 10:55:28 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Use gst_validate_action_*ref everywhere. Part-of: 2020-11-30 23:06:18 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Add support to check properties of object properties And recursively Part-of: 2020-11-06 12:43:57 +0100 Stéphane Cerveau * validate/launcher/main.py: 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: 2020-11-19 22:41:40 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: 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: 2020-11-20 10:16:28 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Rename 'interlaced' action to 'non-blocking' It is a better and more understandable naming. Part-of: 2020-10-23 22:40:41 +0900 Seungha Yang * validate/gst-libs/gst/video/meson.build: * validate/plugins/ssim/meson.build: * validate/tools/meson.build: 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: 2020-11-04 18:49:03 +0530 Nirbheek Chauhan * meson.build: 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: 2020-10-16 12:49:02 +0200 Stéphane Cerveau * meson.build: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: 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: 2020-03-22 09:51:40 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: Bump hard timeouts for all transcodin tests Part-of: 2020-03-21 11:57:51 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/utils.py: launcher: Avoid variable framerate when encoding to theora It is not supported by theoraenc. Part-of: 2020-03-20 09:05:52 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate: Scale down even more to speed up encoding in VP9 From 3min to 50secs to execute here. Part-of: 2020-03-19 18:48:08 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/tools/gst-validate-transcoding.c: * validate/tools/meson.build: 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: 2020-03-19 18:41:24 -0300 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/tests/check/validate/padmonitor.c: validate: Use pad.last_flowret instead of trying to compute it ourselves Which makes it more accurate Part-of: 2020-03-19 18:26:58 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: report: Add a way to force backtraces on reports And stop report simple debug message Part-of: 2020-03-17 12:19:46 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: Add a way to define test timeout from dicts Part-of: 2020-08-06 08:00:53 -0400 Xavier Claessens * meson.build: * validate/gst/validate/meson.build: * validate/meson.build: * validate/pkgconfig/gst-validate-uninstalled.pc.in: * validate/pkgconfig/gst-validate.pc.in: * validate/pkgconfig/meson.build: Meson: Use pkg-config generator 2020-09-10 21:38:00 +0000 Jordan Petridis * validate/data/gstvalidate.supp: gstvalidate.supp: update location of gst.supp Part-of: 2020-05-12 09:26:40 -0400 Thibault Saunier * docs/gst-validate-launcher.md: docs: Update gst-validate-launcher documentation Part-of: 2020-09-08 17:30:56 +0100 Tim-Philipp Müller * .gitlab-ci.yml: ci: include template from gst-ci master branch again 2020-09-08 16:59:12 +0100 Tim-Philipp Müller * meson.build: Back to development === release 1.18.0 === 2020-09-08 00:10:18 +0100 Tim-Philipp Müller * .gitlab-ci.yml: * ChangeLog: * NEWS: * RELEASE: * gst-devtools.doap: * meson.build: Release 1.18.0 2020-08-26 15:47:23 +0100 Tim-Philipp Müller * validate/launcher/testsuites/check.py: Revert "Revert "launcher: add webrtcbin datachannel tests to valgrind skip list"" This reverts commit ff79af843bc40a554795ee2a0682cfd12272dd24. Looks like most of these are still problematic and flaky in valgrind, so re-add to skiplist for now. https://gitlab.freedesktop.org/thaytan/gst-plugins-base/-/jobs/4275045 2020-08-24 23:59:14 +0100 Tim-Philipp Müller * validate/launcher/testsuites/check.py: Revert "launcher: add webrtcbin datachannel tests to valgrind skip list" This reverts commit 369c74941f1607b421bc2f16edcaea0b887926a9. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1383 Part-of: === release 1.17.90 === 2020-08-20 16:16:50 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-devtools.doap: * meson.build: Release 1.17.90 2020-08-13 21:55:09 -0400 Thibault Saunier * validate/launcher/testsuites/check.py: validate:check: Blacklist new ges valgrind test I can't find what the issue is and the test is very long anyway Part-of: 2020-08-13 20:51:52 -0400 Thibault Saunier * validate/gst/validate/flow/formatting.c: * validate/gst/validate/flow/gstvalidateflow.c: * validate/meson.build: validate: flow: Plug some leaks Part-of: 2020-08-13 16:19:50 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Plug some leaks Part-of: 2020-08-14 00:27:25 +0100 Tim-Philipp Müller * validate/launcher/testsuites/check.py: launcher: add webrtcbin datachannel tests to valgrind skip list They were previously not run because the sctp plugin wasn't built but they will be run now that we bundle libusrsctp. https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1465 Part-of: 2020-07-25 21:12:00 +0100 Tim-Philipp Müller * validate/gst/validate/gst-validate-bin-monitor.h: * validate/gst/validate/gst-validate-element-monitor.h: * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-override.h: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-pipeline-monitor.h: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-runner.h: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/media-descriptor-parser.h: * validate/gst/validate/media-descriptor-writer.h: * validate/gst/validate/media-descriptor.h: validate: silence g-ir-scanner warnings about GST_IS_VALIDATE_* Which it complains about because we say our prefix is 'gst_validate' so it should really be GST_VALIDATE_IS_* instead. Hide the boilerplate defines from g-ir-scanner, it doesn't need to process them. Fixes #46 Part-of: 2020-07-27 09:06:39 -0400 Thibault Saunier * validate/gst/validate/meson.build: Revert "validate: fix up gir namespace and symbol prefix" This reverts commit b73e81614021a856fc7d3ff221a9bbf5ebf2ce6e. Part-of: 2020-07-25 23:40:05 +0100 Tim-Philipp Müller * validate/gst/validate/meson.build: validate: fix up gir namespace and symbol prefix Change gir namespace and symbol prefix from GstValidate / gst_validate to Gst / gst, same as we do for other libs like GstVideo etc. Helps with warnings about GST_IS_VALIDATE_* Fixes #46, Closes !214 Part-of: 2020-07-25 13:57:01 -0400 Thibault Saunier * validate/gst/validate/media-descriptor-writer.c: validate: Fix media descriptor mp3 like formats Part-of: 2020-07-25 20:27:48 +0100 Tim-Philipp Müller * validate/gst/validate/gst-validate-scenario.c: validate-scenario: reflow #ifdef to work around bogus g-ir-scanner warning Looks like a scanner bug. The endif comments are the wrong way round too, but that's not it. gst-validate-scenario.c:126: mismatched #endif /* G_HAVE_GNUC_VARARGS */ Part-of: 2020-07-03 02:04:19 +0100 Tim-Philipp Müller * meson.build: Back to development === release 1.17.2 === 2020-07-03 00:37:27 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-devtools.doap: * meson.build: Release 1.17.2 2020-06-18 12:46:39 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Always check if scenario is done from the right thread Action will be set_done from the right thread and we will check if the action is done from there Part-of: 2020-06-16 15:34:04 -0400 Thibault Saunier * validate/gst/validate/gst-validate-reporter.c: validate: Print errors on action failures Part-of: 2020-06-15 17:32:13 -0400 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: validate: Plug some leaks Part-of: 2020-06-15 16:17:55 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tests/launcher_tests/simple_interlaced_action.validatetest: validate: Move action finalization to _set_done where it belongs gst_validate_action_set_done is the place where we should finalize the action, not in `execute_next`, this way we better handle printing interlaced action finalization too. Part-of: 2020-06-15 10:50:14 -0400 Thibault Saunier * validate/data/scenarios/change_state_intensive.scenario: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tests/launcher_tests/foreach.validatetest: * validate/tests/launcher_tests/foreach/flow-expectations/log-sink-sink-expected: * validate/tests/launcher_tests/foreach_deep.validatetest: * validate/tests/launcher_tests/foreach_repeat.validatetest: validate:scenario: Replace the `sub-action` with a `foreach` action type Sub-actions were really hard to use and conceptually weird. The implementation was ugly and made the code complex for nothing. Instead this commit introduces a `foreach` action type which allows repeating actions passed in an `actions` array the number of time specified by any `GstIntRange` value defined in the structure or its `repeat` field. This commit also makes sure that all action got through gst_validate_action_set_done upon finalization. + Cleanup surrounding code + Add tests Part-of: 2020-06-15 09:17:55 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tests/launcher_tests/simple_repeat.validatetest: * validate/tests/launcher_tests/simple_repeat/flow-expectations/log-sink-sink-expected: validate: scenario: Implement 'repeat' by copying actions Instead of trying to reuse the same action structure and deal with that in a complex way, copy the action the required number of times. And add a simple test Part-of: 2020-06-15 09:32:23 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Round results of expressions in a sensible way Part-of: 2020-06-15 10:54:20 -0400 Thibault Saunier * validate/launcher/baseclasses.py: launcher: Keep running tests forever on KNOWN_ERROR Part-of: 2020-06-15 09:37:21 -0400 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Add private action type to check number of action type calls Part-of: 2020-06-15 09:14:16 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Avoid dereferencing NULL structure Part-of: 2020-06-15 09:08:51 -0400 Thibault Saunier * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-runner.c: validate: Fix marking expected issues as criticals And never mark a repeat expected reports as repeated Part-of: 2020-06-12 10:08:25 -0400 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: Add a way to use the expression parser in any field Part-of: 2020-06-12 10:05:57 -0400 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: Allow variables to be set with other types than strings And use value serialization from GStreamer to convert Part-of: 2020-06-12 09:58:24 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Add an action to remove a feature/plugin from the registry Part-of: 2020-06-10 17:18:49 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/tests/launcher_tests/check_set_props_and_time_props.validatetest: valiadate: Add a test for setting/checking (timed) properties Part-of: 2020-06-10 16:44:04 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Add action to set and check several properties at once Part-of: 2020-06-10 15:39:12 -0400 Thibault Saunier * meson.build: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/meson.build: * validate/tools/meson.build: validate: Add an action type to set timed value properties Part-of: 2020-06-19 10:26:17 +0100 Philippe Normand * debug-viewer/org.freedesktop.GstDebugViewer.appdata.xml.in: * debug-viewer/screenshots/gst-debug-viewer.png: debug-viewer: Add screenshot Part-of: 2020-06-20 00:28:39 +0100 Tim-Philipp Müller * meson.build: Back to development === release 1.17.1 === 2020-06-19 19:27:58 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-devtools.doap: * meson.build: Release 1.17.1 2020-06-12 19:31:41 +0530 Vivek R <123vivekr@gmail.com> * validate/gst/validate/flow/formatting.c: validate: flow: record GstRegionOfInterestMeta Part-of: 2020-06-15 18:37:51 -0400 Thibault Saunier * validate/launcher/main.py: validate:launcher: Ensure that the main directory exists Fixes https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/issues/53 part 1 Part-of: 2020-06-15 18:06:33 -0400 Thibault Saunier * validate/tests/check/meson.build: * validate/tests/launcher_tests/meson.build: * validate/tests/meson.build: validate:tests: Cleanup the way set environment vars Part-of: 2020-06-15 17:56:54 -0400 Thibault Saunier * validate/tools/gst-validate-launcher.in: validate: Stop trying to support uninstalled autotools Fix https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/issues/53 part 2 Part-of: 2020-06-09 17:29:08 -0400 Thibault Saunier * validate/gst/validate/flow/formatting.c: validateflow: Plug leak Part-of: 2020-06-08 14:01:49 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Fix waiting for signal The signal callback signature was just wrong and not generic leading to crash if waiting for any signal that didn't match it. This commit fixes it. Part-of: 2020-06-08 14:00:44 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Add an option to set properties on all instances Part-of: 2020-06-08 13:45:26 -0400 Thibault Saunier * validate/gst/validate/flow/formatting.c: * validate/gst/validate/flow/formatting.h: * validate/gst/validate/flow/gstvalidateflow.c: validate:flow: Add a way to dump buffer content as hex Useful in unit tests with very small buffers Part-of: 2020-06-02 19:10:14 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Cleanup implementation of appsrc-push Part-of: 2020-05-07 09:16:11 -0400 Thibault Saunier * validate/tools/gst-validate.c: validate: Remove useless condition CID 1462652 Part-of: 2020-05-07 09:09:14 -0400 Thibault Saunier * validate/plugins/ssim/gstvalidatessim.c: validate:ssim: Avoid dereferencing NULL pointer CID 1462650 Part-of: 2020-05-07 09:06:32 -0400 Thibault Saunier * validate/tools/gst-validate.c: validate: Give a proper argv[0] when running test files Fixes CID 1462613 Part-of: 2020-05-07 09:05:06 -0400 Thibault Saunier * validate/tools/gst-validate-transcoding.c: validate:transcoding: Exit after printing the help Fixes CID 1455575 Part-of: 2020-05-07 08:49:34 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Ensure Scenario isn't NULL when preparing action Part-of: 2020-06-03 14:29:22 -0400 Thibault Saunier * docs/fakesrc.simple.validatetest: * docs/fakesrc.simple.validatetest.ini: * docs/fakesrc.simple/flow-expectations/log-sink-sink-expected: * docs/gst-validate-config.md: * docs/gst-validate-flow.md: * docs/gst-validate-test-file.md: * docs/plugins/validateflow.md: * docs/sitemap.txt: validate: Update documentation now core plugins are integrated Part-of: 2020-06-03 10:55:22 -0400 Thibault Saunier * validate/gst/validate/flow/formatting.c: * validate/gst/validate/flow/formatting.h: * validate/gst/validate/flow/gstvalidateflow.c: * validate/gst/validate/flow/gstvalidateflow.h: * validate/gst/validate/flow/meson.build: * validate/gst/validate/gst-validate-extra-checks.c: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/meson.build: * validate/gst/validate/validate.c: * validate/plugins/extra_checks/meson.build: * validate/plugins/meson.build: validate: Make extracheck and flow part of core instead plugins It makes things more complex and doesn't bring anything! Part-of: 2020-06-03 09:32:32 +0200 Edward Hervey * validate/launcher/baseclasses.py: launcher: Limit copies of massive debug logs in markdown file When debugging is activated, we could end up with log files ranging in the multi-megabyte or even gigabyte range. Copying those is expensive from a cpu/io point of view in addition to clobbering the storage. Instead of always copying those files, check if they are smaller than 500kB. If not, don't copy them and instead provide a link to their location. Fixes #52 Part-of: 2020-05-30 15:54:31 -0400 Thibault Saunier * docs/plugins/validateflow.md: * validate/plugins/flow/formatting.c: * validate/plugins/flow/formatting.h: * validate/plugins/flow/gstvalidateflow.c: validateflow: Allow specifying checksum type And add an extra mode 'checksum-as-id' which basically numerate buffers checksums as they are being received so that it is simpler to compare expectations when you are tracking buffers from both sinkpads and srcpads. Part-of: 2020-05-29 18:11:54 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/validate.c: validate: Add a parameter to force waiting on the test clock This allows to wait for a new buffer to reach the sink without actually cranking that buffer, allowing to quite the test without waiting for EOS in a 100% reproducible way Part-of: 2020-05-29 18:11:11 -0400 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/validate.c: validate: Error out when a config hasn't been used at all It probably means a plugin is not available Part-of: 2020-05-28 00:16:57 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-devtools.doap: * validate/AUTHORS: * validate/meson.build: Ship validate as part of a gst-devtools tarball Part-of: 2020-05-27 20:59:41 +0100 Tim-Philipp Müller * meson.build: * meson_options.txt: meson: make debug_viewer a feature option ... and disable by default. Part-of: 2020-05-28 17:04:20 -0400 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: Fix mixup in quarks usages Part-of: 2020-05-27 19:35:26 -0400 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: Add missing return func when GLib < 2.50 CID 1463854 Part-of: 2020-05-26 23:25:48 -0400 Thibault Saunier * docs/gst-validate-action-types.md: * docs/gst-validate-test-file.md: * docs/plugins/validateflow.md: * validate/gst/validate/gst-validate-report.c: validate: Update documentation Part-of: 2020-05-05 18:09:08 -0400 Thibault Saunier * docs/plugins/fakesrc.simple.validatetest: * docs/plugins/fakesrc.simple.validatetest.yaml: * docs/plugins/fakesrc.simple/flow-expectations/log-sink-sink-expected: * docs/plugins/validateflow.md: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/validate.c: * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/plugins/flow/gstvalidateflow.c: validateflow: Add a way to configure when to generate expectations By default, generate them whenever the file is missing but adding a way to override that with `validateflow,generate-expectations=true` to force regenerating them or setting `validateflow,generate-expectations=false` to disallow generating them (on CI servers for example) Also update the validateflow documentation to take that into account and remove references to pipeline.json file which is now gone! Part-of: 2020-05-14 19:22:18 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Minor cleanup around pipeline change state management Part-of: 2020-05-14 18:45:11 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Mark seek as done only when reaching next state There is a race where following actions could generate a flush-start/flush-stop dance but the state change resulting from the seek hasn't been committed yet, leading to the ASYNC_START being ignored by GstBin since its pending_state is not VOID when receiving the ASYNC_START message. Conceptually it is totally correct to consider an action done when the state change of the pipeline is stabilized.. Part-of: 2020-05-26 15:55:55 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Stop wrongly erroring on testsuite loading failure When the testsuite was actually already loaded as the .py file was explicitly passed in Part-of: 2020-05-26 15:53:47 -0400 Thibault Saunier * validate/gst/validate/validate.c: validate: Fix loading configs from a caps Part-of: 2020-05-23 00:38:32 -0400 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: * validate/plugins/flow/gstvalidateflow.c: flow: Use bat to color diffs when possible Adding a function to check if can output colored logs Part-of: 2020-05-15 11:27:12 -0400 Thibault Saunier * validate/launcher/apps/gstcheck.py: launcher: check: Properly set PLUGIN_PATH and registry when running in gst-build This makes registry Part-of: 2020-05-13 18:25:00 -0400 Thibault Saunier * validate/launcher/apps/gstcheck.py: * validate/launcher/baseclasses.py: launcher: Ensure that -j tests run in parallel when running forever So that you can reproduce the issue you want faster! Part-of: 2020-05-12 09:26:40 -0400 Thibault Saunier * docs/gst-validate-launcher.md: docs: Update gst-validate-launcher documentation Part-of: 2020-03-10 11:52:35 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: * validate/launcher/baseclasses.py: * validate/launcher/main.py: * validate/launcher/utils.py: launcher: Add support for running tests inside rr Allowing us to easily run the tests forever and then replay the failures! https://rr-project.org/ Part-of: 2020-05-14 12:35:40 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-utils.c: validate: add missing gir annotation Part-of: 2020-05-22 18:00:04 +0200 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: validate-scenario: Initialize variable correctly ret needs to be always reset to FALSE *before* checking attempting to load the individual files. Otherwise there's the possibility it would silently accept an invalid scenario name Part-of: 2020-05-22 17:56:40 +0200 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: validate-scenario: Remove unused variable We only need to check whether the field is present and of a given type Part-of: 2020-05-15 11:26:10 -0400 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: Stop using g_file_peek_path It was introduced in 2.56 so is too recent Fixes https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/issues/51 Part-of: 2020-05-05 13:52:52 -0400 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: * validate/gst/validate/validate.c: * validate/tests/check/validate/utilities.c: validate: Add including support in the structure file parser Adding proper error reporting support Part-of: 2020-05-08 17:35:59 -0400 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: utils: Do not try to replace vars in debug info fields Part-of: 2020-05-08 17:35:39 -0400 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: Fix parsing validate tests files with vars on windows And ensure that we escape windows path in variables Part-of: 2020-05-03 01:24:32 -0400 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate:launcher:check: Add support for gst-tester-1.0 Part-of: 2020-05-07 00:23:07 -0400 Thibault Saunier * docs/gst-validate-test-file.md: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/validate.c: * validate/launcher/baseclasses.py: * validate/tests/launcher_tests/check_set_prop_never_called_error.validatetest: * validate/tests/launcher_tests/not_negotiated.accept_caps_failure.validatetest: * validate/tests/launcher_tests/test_validate.py: * validate/tools/gst-validate.c: validate: Add support for known-issues in the .validatetest And add some tests about remaining actions failures Part-of: 2020-05-06 22:36:59 -0400 Thibault Saunier * validate/gst/validate/validate.c: validate: Ensure a meta structure is found in test files Part-of: 2020-05-06 22:20:58 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Check remaining action on stop, not EOS When ignoring EOS, on addition action could end up not being executed and no error was reported which was wrong. Part-of: 2020-05-04 17:59:28 -0400 Thibault Saunier * validate/launcher/main.py: validate: Fix rendering destination directory path creation We were ending up creating file:/some/path in cwd Part-of: 2020-05-04 16:59:54 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/validate.c: * validate/launcher/baseclasses.py: * validate/tools/gst-validate.c: validate: Plug some leaks Part-of: 2020-05-03 01:22:04 -0400 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-runner.c: validate: Add details on all g_log message reports. Part-of: 2020-05-03 01:20:19 -0400 Thibault Saunier * docs/gst-validate-config.md: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: * validate/launcher/baseclasses.py: * validate/launcher/reporters.py: * validate/tools/gst-validate-rtsp-server.c: * validate/tools/gst-validate.c: validate: Add a mechanism to mark tests as skipped And use it when a plugin is missing and the user didn't ask for failure when it happens And use the TAP[0] synthax to report it [0]: https://testanything.org Part-of: 2020-05-03 00:54:56 -0400 Thibault Saunier * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/validate.c: * validate/plugins/extra_checks/gstvalidateextrachecks.c: * validate/plugins/flow/gstvalidateflow.c: * validate/tools/gst-validate-images-check.c: * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-rtsp-server.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Enhance issue reporting from structures And properly bail out when required This is preparatory work for gst-test in core which will use the TAP protocol Part-of: 2020-05-05 22:57:08 -0400 Thibault Saunier * validate/plugins/flow/formatting.c: validate:flow: Handle some more segment fields filtering Those slept through when implementing filtering Part-of: 2020-04-09 16:04:53 -0400 Thibault Saunier * validate/plugins/ssim/gstvalidatessim.c: ssim: Minor improvements on the way we attach to pads Part-of: 2018-06-05 17:56:36 +0200 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: validate-scenario: Refactor seek handling * Store all seek values into a list of pending seeks instead of hardcoding some values * Store all segments that sinks received * Match segments to seeks when all sinks received segments with the same seqnum * Detect when a seek did *not* result in segments with identical matching seqnums Should allow checking for all types of seek handling, including flush-less seeks Part-of: 2018-06-15 10:52:46 +0200 Edward Hervey * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: validate-report: Add new check for top-level seek This issue is to detect seeks that don't result in segments with identical seqnums. This check can be done at the top-level scenario Part-of: 2018-06-05 17:55:29 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: validate-pad-monitor: Post GstBaseSink SEGMENT on the bus Allows higher-level bin or app (like validate-scenario) to know what each sink currently has in terms of SEGMENT. Part-of: 2018-06-05 17:53:51 +0200 Edward Hervey * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-element-monitor.h: validate-element-monitor: Detect basesink elements And add a macro Part-of: 2018-06-05 17:51:44 +0200 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: validate-scenario: Add logging for scenario lock taking/releasing Part-of: 2020-04-30 12:39:44 -0400 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: pad-monitor: Reliably track pending seeks Instead of overriding all values when receiving a seek, store them as a list of expected values. This allows handling several seeks in a row, like non-flushing seeks. Part-of: 2020-04-28 23:06:24 -0400 Thibault Saunier * docs/gst-validate-config.md: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/validate.c: validate: Allow overidding issue severity from configs Refactoring sensibly to allow getting configs outside the `core` namespace and outside plugin names. The `GST_VALIDATE_OVERRIDE` env variable should probably be removed all together at some point. Part-of: 2020-04-28 23:26:13 -0400 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tools/gst-validate.c: validate: Add an option to describe issue types Part-of: 2020-04-28 12:51:21 -0400 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/plugins/flow/gstvalidateflow.c: * validate/tools/gst-validate.c: validate: Show the exact file line when error out in structure files And minor stdout enhancements Part-of: 2020-04-28 21:30:29 -0400 Thibault Saunier * validate/launcher/testsuites/check.py: validate:launcher: Mark some more tests as too long for valgrind 2020-04-27 21:46:02 +0000 Bilal Elmoussaoui * debug-viewer/org.freedesktop.GstDebugViewer.appdata.xml.in: Apply suggestion to debug-viewer/org.freedesktop.GstDebugViewer.appdata.xml.in Part-of: 2020-01-23 15:53:03 +0000 Bilal Elmoussaoui * debug-viewer/org.freedesktop.GstDebugViewer.appdata.xml.in: Metainfo: backport flathub fixes Part-of: 2020-03-19 18:25:28 -0300 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: validate: Do not check pulling thread when thread is paused With decodebin3 we have cases where a task has been started in the `typefind` element but the demuxer is the one pulling (from its own thread) Part-of: 2020-04-24 23:33:16 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Add a check-position action type Part-of: 2020-04-24 23:32:59 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Enhance failures messages Part-of: 2020-04-13 16:23:32 -0400 Thibault Saunier * docs/gst-validate-test-file.md: * meson.build: * meson_options.txt: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/meson.build: validate: Add a way to run a TestClock in scenarios A TestClock will be used automatically when a scenario has a `crank-clock` action. And make `validate` and `debug-viewer` options features in meson, no reason they weren't and now we require gst-check to build validate Part-of: 2020-04-24 15:41:10 -0400 Thibault Saunier * docs/gst-validate-scenarios.md: * docs/gst-validate-test-file.md: * docs/sitemap.txt: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: * validate/gst/validate/validate.c: * validate/gst/validate/validate.h: * validate/launcher/apps/gstvalidate.py: * validate/tools/gst-validate.c: validate: Introduce the concept of "Test files" This way we can have a single file that wraps scenarios, `gst-validate-1.0` arguments, as well as a configuration. It changes the name of `description` of scenarios to use `meta` The goal is to replace tests describes in python with dictionary to fully self contained `.validatetest` files which look like: ``` meta, handles-states=true, ignore-eos=true, gst-validate-args = { "videotestsrc pattern=blue ! video/x-raw,format=I420,framerate=1/1 ! timeoverlay ! $(videosink) name=videosink allocation-meta-flags=0", }, configs = { "$(validateflow), pad=videosink:sink, buffers-checksum=true, ignored-fields={\"buffers=meta\", }", } play seek, start=0.0, stop=5.0, flags=accurate+flush, rate=1.0 crank-clock, expected-elapsed-time=0.0 crank-clock, repeat=4, expected-elapsed-time=1.0 crank-clock, expected-elapsed-time=1.0 stop, on-message=eos ``` 2020-04-23 20:11:14 -0400 Thibault Saunier * validate/plugins/flow/gstvalidateflow.c: validate:flow: Sensibly improve stdout 2020-04-23 20:10:48 -0400 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: Fix criticals around NULL structure usage 2020-04-23 20:09:53 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Fix 'repeat' parameter on non ASYNC action types 2020-04-22 21:13:06 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Do not consider action with 'on-message' as on addition 2020-04-09 16:01:25 -0400 Thibault Saunier * validate/gst/validate/gst-validate-reporter.c: validate: report: Handle when reporting NULL action And add information about the action repeat state. 2020-04-22 13:02:29 -0400 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: Handle comments in multiline expressions Part-of: 2020-04-22 11:27:16 -0400 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: * validate/tests/check/meson.build: * validate/tests/check/validate/utilities.c: validate: Fix multi variable in a single structure field We were keeping using the GMatchInfo even after modifying the string which is explicitly stated as invalid in the GRegex documentation Part-of: 2020-04-21 15:48:20 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Fix 'on-message' actions execution Part-of: 2020-04-21 15:28:00 -0400 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: Add { and [ as line continuation markers Part-of: 2020-04-13 15:38:05 -0400 Nicolas Dufresne * validate/launcher/main.py: validate-launcher: Fix syntax error This error prevents downloading assets from scratch. This regression was introduced by MR !145 / commit 2581fef6843bfb53f3fc6f629577c1f013ef84e7 2020-04-07 18:33:08 -0400 Nicolas Dufresne * validate/gst/validate/gst-validate-utils.c: utils: Fix double free in error case This was detected by Coverity. The content point would have been freed gain in the done: label. CID 1461289 2020-03-23 21:28:45 -0300 Thibault Saunier * validate/gst/validate/gst-validate-reporter.c: validate: Use gst_print for validate report messages 2020-03-17 11:51:32 -0400 Nicolas Dufresne * .gitlab-ci.yml: ci: Port from only: to rules This fixed CI breakage introduced by gst-ci!247 2020-03-10 11:50:26 -0300 Thibault Saunier * validate/data/gstvalidate.supp: * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/plugins/flow/gstvalidateflow.c: validate: Plug some leaks And add some valgrind suppression for fontconfig 2020-03-04 11:07:32 -0300 Thibault Saunier * docs/plugins/ssim.md: * validate/gst-libs/gst/video/gstvalidatessim.c: * validate/gst-libs/gst/video/gstvalidatessim.h: * validate/plugins/ssim/gstvalidatessim.c: * validate/tools/gst-validate-images-check.c: validate:ssim: Allow specifying file framerate to use frame numbers during comparison 2020-03-03 21:36:21 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Make the action->prepare function return a GstValidateExecuteActionReturn Implementers might want to report the error themselves 2020-02-28 13:51:58 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Add a way to check last frame number This introduces a new 'timecode-frame-number' in the 'check-last-sample' action type se we can verify the number of output frames. 2020-02-20 08:52:38 -0300 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: Enhance debug message on invalid expression function call 2020-02-04 18:13:51 -0300 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate:utils: Allow plain string in `gst_validate_utils_get_strv` 2020-02-10 14:55:18 -0300 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: * validate/gst-libs/gst/video/gstvalidatessim.h: * validate/plugins/ssim/gstvalidatessim.c: validatessim: Avoid having ':' in file names This is unsupported on windows 2020-02-03 16:23:37 -0300 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: validate:ssim: Flush cairo surface before getting pixels 2020-02-03 11:14:33 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: Fix reporting on failure when running forever/fatal 2020-01-14 10:26:54 -0300 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/plugins/ssim/gstvalidatessim.c: validate:ssim: Enhance printing position Adding a new `gst_validate_print_position` method which also sends messages to the runner if required. 2020-01-08 15:26:41 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate:launcher: Add a generator to generate test for frame accurate seeking 2020-01-08 15:21:11 -0300 Thibault Saunier * validate/plugins/ssim/gstvalidatessim.c: validate:ssim: Use stream time to reference frames 2020-01-08 15:18:15 -0300 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: validate:ssim: Don't check neighbor frames when comparing exact same frame 2020-01-08 15:14:34 -0300 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: validate:ssim: Enhance debugging message when similarity do not match Printing out where the diff image file is 2020-01-07 15:48:51 -0300 Thibault Saunier * validate/launcher/utils.py: validate:launcher: Enhance support for running ssim tests Using a special 'ssim' variable in pipeline dicts to activate it Similare to what we do for validateflow 2020-01-07 15:46:21 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: 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 2020-01-06 16:29:33 -0300 Thibault Saunier * validate/plugins/ssim/gstvalidatessim.c: validate:ssim: Avoid segfaults trying to attach pads without a template 2020-01-06 16:26:12 -0300 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate:scenario:Handle GStreamer serialized timestamps 2020-02-17 10:32:48 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Never try to load a testsuite with the same name from different locations 2020-02-13 10:41:07 -0300 Thibault Saunier * validate/tools/gst-validate-media-check.c: 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 2020-02-11 16:01:07 -0300 Thibault Saunier * validate/gst/validate/media-descriptor.c: * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate:launcher: Add support for the imagesequence protocol 2020-02-03 11:14:33 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Fix reporting on failure when running forever/fatal 2020-01-08 09:54:15 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Cache GstValidateMediaDescriptor to avoid reparsing .media_info Saving another second at startup 2020-01-08 09:23:19 -0300 Thibault Saunier * validate/tools/gst-validate-launcher.in: validate:launcher: Generate profiling data even if an exception happens 2020-01-07 19:29:05 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Batch inspecting scenarios Removing almost 1 second to start running tests with the default testsuite 2020-01-06 16:27:59 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Fix printed test number 2020-01-06 16:27:19 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: Allow passing configs paths when loading from dictionary The same way we allow it for scenarios 2020-03-02 12:55:18 +0000 Philippe Normand * debug-viewer/GstDebugViewer/GUI/columns.py: debug-viewer: Display nanoseconds in the timestamp column 2020-02-27 16:33:36 +0530 Nirbheek Chauhan * validate/plugins/flow/formatting.c: 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 2020-02-26 14:21:52 -0300 Thibault Saunier * validate/gst/validate/meson.build: * validate/meson.build: * validate/win32/common/libgstvalidate.def: meson: remove vs_module_defs The GST_EXPORT should handle it. 2020-02-26 12:05:39 -0300 Thibault Saunier * validate/launcher/baseclasses.py: launcher: Do not dump output on known issues And remove dead code 2020-02-26 10:52:12 -0300 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: Fix leak parsing structure files 2020-02-25 11:00:57 -0300 Thibault Saunier * meson.build: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/gst-validate-utils.c: 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. 2020-02-25 10:54:00 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: validate: Add a specific error type for check actions And mark it as `NO_BACKTRACE | FULL_DETAILS`, same as for other action failure types. 2020-01-16 17:36:54 -0300 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: * validate/launcher/baseclasses.py: validate: Enhance error reporting when scenario or configs are invalid 2020-01-14 10:23:39 -0300 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: * validate/win32/common/libgstvalidate.def: 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 2020-02-19 22:16:44 -0300 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: 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 2020-02-11 09:18:23 -0300 Thibault Saunier * validate/launcher/baseclasses.py: 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. 2020-02-06 10:34:40 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Reference exception in a var as we use it in the handling 2020-02-04 18:14:25 -0300 Thibault Saunier * docs/plugins/validateflow.md: * validate/plugins/flow/formatting.c: * validate/plugins/flow/formatting.h: * validate/plugins/flow/gstvalidateflow.c: 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 2020-02-04 16:59:39 -0300 Thibault Saunier * docs/plugins/validateflow.md: * validate/plugins/flow/formatting.c: * validate/plugins/flow/formatting.h: * validate/plugins/flow/gstvalidateflow.c: validateflow: Add a logged-event-fields configuration 2020-02-11 15:57:56 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Stop rounding up clocktime values This doesn't make any sense in that context 2020-02-06 14:33:56 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: 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. 2020-01-15 21:22:49 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Print the duration of the test run in the logs 2020-01-15 21:15:30 -0300 Thibault Saunier 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` 2019-12-03 18:26:18 +0100 Stéphane Cerveau * validate/launcher/baseclasses.py: * validate/launcher/reporters.py: gst-validate-launcher: separate known error from passed tests Introduce known_error in statistics to keep in mind the expected error result. 2019-12-02 14:46:59 +0100 Stéphane Cerveau * docs/gst-validate-launcher.md: * validate/launcher/apps/gstvalidate.py: * validate/launcher/main.py: gst-validate-launcher: update documentation Use the new api to create your custom testsuite. Fix some broken links and enhance the logging system. 2020-01-11 23:00:06 -0500 Nicolas Dufresne * validate/launcher/baseclasses.py: * validate/launcher/main.py: 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. 2019-08-12 16:56:41 -0400 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: 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. 2020-01-05 14:09:07 -0600 Brady J. Garvin * validate/launcher/loggable.py: 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. 2019-12-30 12:57:57 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Enhance progress reporting using a progress bar This also allows us to properly report progress on the CI 2019-12-30 10:27:06 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate:launcher: Take our timeout factor into account for gstcheck 2019-11-07 15:57:41 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: fix some typos 2019-11-07 15:55:17 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Implement an action to check property value 2019-12-28 22:39:23 +0100 Alexandru Băluț * meson_options.txt: meson: Remove unused gtk_doc option The "doc" option is available to disable the documentation. 2019-12-23 10:27:11 +0100 Mathieu Duponchelle * validate/launcher/testsuites/check.py: check: unblacklist removed systemclock tests See https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/348 2019-12-14 10:45:30 +0100 Mathieu Duponchelle * validate/launcher/testsuites/check.py: check: unblacklist gstreamer.pipelines_parse_launch.delayed_link It should not be flaky anymore after https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/343 2019-11-15 17:25:11 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: Use python dict for pipeline description 2019-11-27 15:33:14 +0100 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: validate-scenario: Initialize variable We could end up using it uninitialized CID: 1444920 2019-10-04 09:59:57 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate: launcher: Make encoding extra check use common code path Reusing the reporting infrastructure instead of shurtcuting it 2019-09-24 14:23:49 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate: Add vp9 transcoding tests Making sure to encode small frames as vp9enc is slow. 2019-11-20 10:19:00 +0100 Edward Hervey * validate/gst/validate/validate.c: * validate/plugins/flow/formatting.c: * validate/tests/check/validate/scenario.c: validate: Fix memory leaks Various structures were being leaked. 2019-11-11 18:57:27 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Avoid clashes when importing testsuite This introduce an hard dependency on python >= 3.5, same as meson 2019-11-10 16:29:45 +0100 Jordan Petridis * validate/launcher/testsuites/check.py: check: blacklist gst-plugins-good.elements_splitmux.test_splitmuxsink$ https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/626 2019-11-06 18:21:11 +0100 Stéphane Cerveau * validate/launcher/apps/gstvalidate.py: gstvalidate: fix GstValidateRTSPMediaDescriptor typo 2019-11-02 17:07:02 +0100 Alicia Boya García * validate/gst/validate/gst-validate-bin-monitor.h: gst-validate-bin-monitor: Remove unused field. 2019-10-25 12:45:40 +0200 Alicia Boya García * validate/plugins/flow/gstvalidateflow.c: 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. 2019-10-25 12:26:58 +0200 Víctor Manuel Jáquez Leal * validate/launcher/testsuites/check.py: validate: blacklist gstreamer-vaapi checks They still can be checked by running the tests explicitly. 2019-10-18 12:31:19 +0100 Tim-Philipp Müller * meson.build: 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. 2019-10-15 00:24:00 +0100 Tim-Philipp Müller * .gitignore: * .gitmodules: * configure: * validate/.gitignore: * validate/Makefile.am: * validate/README: * validate/autogen.sh: * validate/common: * validate/configure.ac: * validate/data/Makefile.am: * validate/data/scenarios/Makefile.am: * validate/docs/.gitignore: * validate/gst-libs/Makefile.am: * validate/gst-libs/gst/Makefile.am: * validate/gst-libs/gst/video/Makefile.am: * validate/gst/Makefile.am: * validate/gst/overrides/Makefile.am: * validate/gst/validate/Makefile.am: * validate/launcher/Makefile.am: * validate/launcher/apps/Makefile.am: * validate/launcher/testsuites/Makefile.am: * validate/pkgconfig/Makefile.am: * validate/plugins/Makefile.am: * validate/plugins/fault_injection/Makefile.am: * validate/plugins/flow/Makefile.am: * validate/plugins/gapplication/Makefile.am: * validate/plugins/gtk/Makefile.am: * validate/plugins/ssim/Makefile.am: * validate/po/Makevars: * validate/po/POTFILES.in: * validate/tests/Makefile.am: * validate/tests/check/Makefile.am: * validate/tools/.gitignore: * validate/tools/Makefile.am: * validate/win32/MANIFEST: validate: remove autotools build 2019-10-15 00:11:19 +0100 Tim-Philipp Müller * codecanalyzer/.gitignore: * codecanalyzer/AUTHORS: * codecanalyzer/COPYING: * codecanalyzer/Makefile.am: * codecanalyzer/NEWS: * codecanalyzer/README.md: * codecanalyzer/autogen.sh: * codecanalyzer/configure.ac: * codecanalyzer/data/Makefile.am: * codecanalyzer/data/pixmaps/Makefile.am: * codecanalyzer/data/pixmaps/codecanalyzer-logo.png: * codecanalyzer/data/pixmaps/frame-thumbnail.png: * codecanalyzer/data/ui/LICENSE.txt: * codecanalyzer/data/ui/Makefile.am: * codecanalyzer/data/ui/mainwindow.xml: * codecanalyzer/data/ui/menu.xml: * codecanalyzer/src/Makefile.am: * codecanalyzer/src/codecanalyzer.c: * codecanalyzer/src/gst_analyzer.c: * codecanalyzer/src/gst_analyzer.h: * codecanalyzer/src/plugins/Makefile.am: * codecanalyzer/src/plugins/gst/Makefile.am: * codecanalyzer/src/plugins/gst/analyzersink/Makefile.am: * codecanalyzer/src/plugins/gst/analyzersink/analyzer_utils.c: * codecanalyzer/src/plugins/gst/analyzersink/analyzer_utils.h: * codecanalyzer/src/plugins/gst/analyzersink/gstanalyzersink.c: * codecanalyzer/src/plugins/gst/analyzersink/gstanalyzersink.h: * codecanalyzer/src/plugins/gst/analyzersink/mpeg_xml.c: * codecanalyzer/src/plugins/gst/analyzersink/mpeg_xml.h: * codecanalyzer/src/plugins/gst/analyzersink/plugin.c: * codecanalyzer/src/plugins/gst/analyzersink/xml_utils.c: * codecanalyzer/src/plugins/gst/analyzersink/xml_utils.h: * codecanalyzer/src/xml_parse.c: * codecanalyzer/src/xml_parse.h: 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. 2019-10-14 19:28:08 +0100 Tim-Philipp Müller * mediainfo/AUTHORS: * mediainfo/COPYING: * mediainfo/ChangeLog: * mediainfo/HACKING: * mediainfo/Makefile.am: * mediainfo/NEWS: * mediainfo/README: * mediainfo/TODO: * mediainfo/autogen.sh: * mediainfo/configure.ac: * mediainfo/git.mk: * mediainfo/gst-mediainfo.anjuta: * mediainfo/po/LINGUAS: * mediainfo/po/POTFILES.in: * mediainfo/po/POTFILES.skip: * mediainfo/src/Makefile.am: * mediainfo/src/gst-mi.desktop.in: * mediainfo/src/gst-mi.png: * mediainfo/src/gst-mi.svg: * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: * mediainfo/src/mi-preview.vala: * mediainfo/src/mi.vala: * mediainfo/vapi/Makefile.am: * mediainfo/vapi/config.vapi: mediainfo: remove This looks bitrotten and abandoned, remove in an effort to declutter. 2019-10-14 19:25:30 +0100 Tim-Philipp Müller * vagrant/Vagrantfile: * vagrant/ansible_hosts: * vagrant/gst-streaming-server-git.yml: * vagrant/gstreamer-git.yml: * vagrant/gstreamer.yml: * vagrant/ipython.yml: * vagrant/playbook.yml: 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. 2019-07-15 17:58:05 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Fix the 'can-happen-several-times' known issue field 2019-07-15 12:36:23 -0400 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: 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. 2019-09-27 16:52:51 -0400 Nicolas Dufresne * validate/gst/validate/gst-validate-scenario.c: 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. 2019-09-24 11:45:34 +1000 Matthew Waters * validate/gst/validate/gst-validate-scenario.c: 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); | ^~ 2019-08-24 07:57:23 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Do not hardcode pathsep 2019-08-28 17:22:55 +1000 Matthew Waters * validate/plugins/flow/gstvalidateflow.c: 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, ^ 2019-08-26 21:43:24 +1000 Matthew Waters * validate/plugins/flow/gstvalidateflow.c: * validate/plugins/flow/gstvalidateflow.h: 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) { \ ^ :129:1: note: expanded from here VALIDATE_IS_FLOW_OVERRIDE ^ 2019-08-26 21:41:00 +1000 Matthew Waters * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.h: * validate/plugins/flow/gstvalidateflow.c: 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) { ^~~~~~ 2019-08-19 12:25:39 +0100 Philippe Normand * validate/data/scenarios/meson.build: * validate/data/scenarios/play_5s.scenario: validate: Add a scenario for 5 seconds playback use-cases 2019-08-19 11:08:41 +0100 Philippe Normand * validate/plugins/ssim/gstvalidatessim.c: 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. 2019-08-19 11:25:45 +0100 Philippe Normand * validate/launcher/apps/gstvalidate.py: 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" } 2019-08-05 19:04:54 -0400 Thibault Saunier * validate/launcher/apps/gstvalidate.py: 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` 2019-07-10 16:52:45 -0400 Thibault Saunier * validate/launcher/apps/gstvalidate.py: launcher: Raise an exception when provided scenario can't be found 2019-08-03 20:09:32 -0400 Aaron Boxer * validate/gst/validate/validate.h: validate: add missing G_BEGIN/END_DECLS in validate.h 2019-08-01 21:04:12 +0200 Mathieu Duponchelle * validate/launcher/apps/gstvalidate.py: 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 2019-07-29 10:05:20 +0100 Tim-Philipp Müller * validate/gst/validate/gst-validate-scenario.c: 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 2019-07-26 02:28:42 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-scenario.c: 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. 2019-07-26 02:26:20 +0200 Mathieu Duponchelle * validate/launcher/apps/gstvalidate.py: 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. 2019-07-08 23:37:22 -0400 Thibault Saunier * validate/launcher/main.py: validate:launcher: Pass the right timeout_factor is passed to subprojects 2019-07-08 23:36:52 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Do not dereference NULL pointer 2019-07-03 15:42:26 -0400 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate:pipeline-monitor: Connect deep properties notification only when required This is quite expensive and can lead to an overwhelm mainloop. 2019-06-28 17:34:00 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Keep a reference to 'description' structure For it to be reusable outside the scenario 2019-06-27 00:41:03 +0000 Thibault Saunier * docs/gst-validate-config.md: doc: Minor typo fixes. 2019-06-23 13:56:52 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Use internal sinks when a sink bin can be used to check last-sample 2019-06-23 13:40:37 -0400 Thibault Saunier * docs/gst-validate-config.md: * docs/sitemap.txt: docs: Document validate core configuration 2019-06-23 12:48:43 -0400 Thibault Saunier * validate/plugins/flow/gstvalidateflow.c: validate:flow: Log buffers even when tracking srcpads 2019-06-23 12:48:06 -0400 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate:launcher: Move get_fakesink_for_media_type to utils So it can be reused in other apps like GES 2019-06-23 12:46:37 -0400 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.c: validate: Also monitor ghost pads Allowing overrides to work on ghost pads too 2019-06-23 11:58:11 -0400 Thibault Saunier * docs/plugins/validateflow.md: * validate/plugins/flow/formatting.c: * validate/plugins/flow/formatting.h: * validate/plugins/flow/gstvalidateflow.c: validateflow: Add `buffers-checksum` option to log buffers data checksum 2019-06-23 03:31:30 -0400 Thibault Saunier * docs/gst-validate-config.md: * docs/gst-validate-scenarios.md: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/validate.c: validate: Add SCENARIO_NAME and CONFIG_NAME vars in configs/scenarios 2019-06-23 03:09:58 -0400 Thibault Saunier * docs/gst-validate-config.md: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: * validate/gst/validate/validate.c: * validate/launcher/baseclasses.py: validate: Set 'LOGSDIR' variable in scenarios and config files Implementing support for variables in config files. 2019-06-23 01:51:08 -0400 Thibault Saunier * docs/gst-validate-scenarios.md: * validate/gst/validate/gst-validate-scenario.c: scenario: Set `SCENARIO_PATH/DIR` variables in scenarios And add some documentation about it 2019-06-23 00:47:04 -0400 Thibault Saunier * docs/gst-validate-scenarios.md: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: 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 2019-06-18 18:10:24 -0400 Thibault Saunier * docs/gst-validate-action-types.md: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: docs: Update validate action types Include minor fixes in the action types and markdown generator 2019-06-18 17:43:56 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/media-descriptor-writer.c: * validate/tools/gst-validate.c: validate: Misc leaks plugging 2019-06-17 17:59:21 -0400 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate:launcher: Strip env vars in command line outputing verbose But activate if activating verbosity more than once 2019-06-14 10:43:15 -0400 Thibault Saunier * docs/ges-validate-action-types.md: * docs/gst-validate-action-types.md: * docs/sitemap.txt: docs: Document GES validate action types 2019-06-11 17:11:42 -0400 Thibault Saunier * validate/gst/validate/gst-validate-report.c: 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 Making it simpler to read and a bit less verbose. 2019-06-11 16:34:28 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Avoid repeating failure info in summaries 2019-06-11 16:27:55 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/tools/gst-validate-transcoding.c: 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. 2019-06-11 16:23:00 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Minor documentation cleanup 2019-06-11 16:21:52 -0400 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate:pipeline-monitor: Avoid wrong position issue If the reported position or duration is NONE, do not check its validity 2019-05-31 23:18:08 +0200 Niels De Graef * meson.build: meson: Bump minimal GLib version to 2.44 This means we can use some newer features and get rid of some boilerplate code using the G_DECLARE_* macros. As discussed on IRC, 2.44 is old enough by now to start depending on it. 2019-05-21 14:54:39 -0400 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-scenario.c: validate: Implement seeking with DEFAULT format 2019-05-23 11:49:01 -0400 Thibault Saunier * validate/plugins/ssim/gstvalidatessim.c: ssim: Report critical issue when override not attached 2019-05-23 11:35:28 -0400 Thibault Saunier * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-override-registry.c: * validate/plugins/ssim/gstvalidatessim.c: ssim: Fix the way we handle when an override is attached 2019-05-23 11:34:19 -0400 Thibault Saunier * docs/plugins/ssim.md: docs: Minor fix about ssim plugin 2019-04-24 16:24:05 +0000 Thibault Saunier * docs/gst-validate-transcoding.md: * docs/index.md: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/validate.c: docs: Fix docstrings 2019-04-20 10:21:07 -0400 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate:launcher: Do not dump to big log files Avoiding ' The script exceeded the maximum execution time set for the job' in GitLab 2019-02-07 15:50:26 -0300 Thibault Saunier * docs/sitemap.txt: docs: Document the validateflow plugin 2018-11-17 16:50:30 -0300 Thibault Saunier * docs/gst-validate-action-types.md: * docs/sitemap.txt: docs: Document validate action types Just did: ``` gst-validate-1.0 --inspect-action-type all > docs/gst-validate-action-types.md ``` 2018-11-17 12:31:13 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/tools/gst-validate.c: validate: inspect: Output valid markdown So it can be used directly in the documentation Also add a special "all" argument to `gst-validate-1.0 --inspect-action-type` so we can generate the documentation for all action types easily. 2018-10-22 11:38:30 +0200 Thibault Saunier * docs/api.md: * docs/gi-index.md: * docs/gst-validate-config.md: * docs/gst-validate-environment-variables.md: * docs/gst-validate-launcher.md: * docs/gst-validate-media-check.md: * docs/gst-validate-scenarios.md: * docs/gst-validate-transcoding.md: * docs/gst-validate.md: * docs/index.md: * docs/meson.build: * docs/plugins/index.md: * docs/plugins/ssim.md: * docs/sitemap.txt: * meson.build: * meson_options.txt: * validate/Makefile.am: * validate/configure.ac: * validate/docs/Makefile.am: * validate/docs/launcher/Makefile.am: * validate/docs/launcher/conf.py: * validate/docs/launcher/index.rst: * validate/docs/launcher/launcher.rst: * validate/docs/launcher/modules.rst: * validate/docs/meson.build: * validate/docs/plugins/.gitignore: * validate/docs/plugins/Makefile.am: * validate/docs/plugins/gst-validate-plugins-docs.sgml: * validate/docs/plugins/gst-validate-plugins-overrides.txt: * validate/docs/plugins/gst-validate-plugins-sections.txt: * validate/docs/plugins/gst-validate-plugins.sgml: * validate/docs/plugins/gst-validate-plugins.types: * validate/docs/validate/.gitignore: * validate/docs/validate/Makefile.am: * validate/docs/validate/envvariables.xml: * validate/docs/validate/gst-validate-docs.sgml: * validate/docs/validate/gst-validate-launcher.xml: * validate/docs/validate/gst-validate-media-check.xml: * validate/docs/validate/gst-validate-sections.txt: * validate/docs/validate/gst-validate-transcoding.xml: * validate/docs/validate/gst-validate.types: * validate/docs/validate/gst-validate.xml: * validate/docs/validate/meson.build: * validate/docs/validate/scenarios.xml: * validate/docs/version.entities.in: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/media-descriptor-writer.h: * validate/gst/validate/meson.build: * validate/meson.build: * validate/plugins/ssim/gstvalidatessim.c: doc: Port to hotdoc Ideally we want a GstValidate hotdoc plugin... not for now. 2018-10-22 11:38:27 +0200 Thibault Saunier * validate/tests/check/meson.build: meson: Use dep.type_name() when it makes sense 2018-10-22 11:38:24 +0200 Thibault Saunier * validate/gst/validate/gst-validate-enums.h: * validate/gst/validate/gst-validate-monitor-factory.c: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/validate.c: doc: Minor fixes 2019-04-19 13:02:43 +0100 Tim-Philipp Müller * validate/launcher/testsuites/check.py: launcher: testsuites: skip systemclock stress tests These are very flaky when the build bots are under load. 2019-05-04 19:54:16 +0100 Tim-Philipp Müller * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/validate.c: validate: fix build on macOS _Q_VALIDATE_MONITOR was defined twice because it wasn't declared as extern in the header, so it would be defined as variable in all included files. This doesn't seem to cause problems on Linux, but seems to cause build failures on macOS. Fixes #42 2019-04-19 10:42:30 +0100 Tim-Philipp Müller * meson.build: * validate/RELEASE: * validate/configure.ac: * validate/meson.build: Back to development === release 1.16.0 === 2019-04-19 00:36:53 +0100 Tim-Philipp Müller * meson.build: * validate/ChangeLog: * validate/NEWS: * validate/RELEASE: * validate/configure.ac: * validate/gst-validate.doap: * validate/meson.build: Release 1.16.0 2019-04-17 17:05:36 -0400 Thibault Saunier * validate/launcher/testsuites/check.py: validate:check: Mare nle test_simple_operation as long 2019-04-17 16:46:31 -0400 Thibault Saunier * validate/launcher/testsuites/check.py: validate:check: Fix some mistakes translating regex from gitlab-ci.yml 2019-04-17 16:59:32 -0400 Thibault Saunier * .gitlab-ci.yml: ci: Run valgrind tests when changing the check testsuite 2019-04-17 11:04:45 -0400 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate:launcher: Set ORC_CODE=backup when running gst unit tests under valgrind 2019-04-17 10:43:09 -0400 Thibault Saunier * validate/launcher/testsuites/check.py: validate:check: Blacklist and mark some GES tests as long under valgrind 2019-04-17 10:30:02 -0400 Thibault Saunier * validate/launcher/testsuites/check.py: validate:testsuites: Add unit tests blacklists 2019-04-17 08:56:46 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Ignore possibly lost for now 2019-04-17 02:31:30 +0200 Mathieu Duponchelle * validate/launcher/baseclasses.py: TestsManager: _add_blacklist in set_default_blacklist Otherwise test suites that want to set_default_blacklist and add tests in setup_tests were seeing their blacklist ignored. Split up and rename set_blacklists() to complete the refactoring 2019-04-17 02:29:36 +0200 Mathieu Duponchelle * validate/launcher/baseclasses.py: Check indirect leaks 2019-04-15 16:13:48 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Do not copy logs for non flaky tests That looks weird for users and is incorrect 2019-04-15 11:50:16 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Fix printing debug logs URIs 2019-04-12 12:33:25 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Do not stop tcp server when reiterating tests runs 2019-04-12 10:13:15 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Associate issues with the bug they come from Making it simpler to follow when print the known issues 2019-04-12 10:12:45 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Indent known issues printing 2019-04-11 10:31:07 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Print the number of times the test was run when --forever 2019-04-06 11:40:32 -0300 Thibault Saunier * validate/launcher/utils.py: validate:launcher: Add python suppression files 2019-04-06 11:10:14 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate:launcher: Use md viewer to dump md logs if avalaible And enhance the markdown See https://github.com/axiros/terminal_markdown_viewer 2019-04-06 10:46:52 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate:launcher: Avoid forking when running gstcheck tests in gdb 2019-04-05 23:05:20 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate:launcher: Add an option to output HTML if commonmark is installed 2019-04-05 22:23:29 -0300 Thibault Saunier * validate/launcher/utils.py: validate:launcher: Do not user python 3.5 features 2019-04-05 10:41:14 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Move all logs to one single log files to be displayed to end user 2019-04-05 10:40:45 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Make extra_logfiles a set and fix their names 2019-04-05 10:40:04 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: Remove spurious print 2019-04-04 17:07:58 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Remove noise about empty known issues in logs 2019-04-04 17:05:14 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Fix printing application name in the logs === release 1.15.90 === 2019-04-11 01:27:45 +0100 Tim-Philipp Müller * meson.build: * validate/ChangeLog: * validate/NEWS: * validate/RELEASE: * validate/configure.ac: * validate/gst-validate.doap: * validate/meson.build: Release 1.15.90 2019-04-11 01:25:17 +0100 Tim-Philipp Müller * validate/gst/validate/Makefile.am: validate: autotools: dist mock decryptor header file 2019-04-11 01:00:39 +0100 Tim-Philipp Müller * validate/win32/common/libgstvalidate.def: validate: win32: add new api to export file 2019-03-28 10:08:16 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate:launcher: Add a list of well known subpression files from gst-build subprojects Fixes https://gitlab.freedesktop.org/gstreamer/gst-devtools/issues/38 2019-03-27 12:36:16 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate: Add a mecanism to rerun failling tests And add a way to mark some 'flakes' as tolerated 2019-03-27 15:07:48 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Reset process on clean 2019-03-26 19:35:19 -0300 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: Print error message details in our reports 2019-03-26 15:18:27 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Dump applied known issues in the logs 2019-03-26 14:09:54 -0300 Thibault Saunier * validate/launcher/reporters.py: validate:launcher: Put all logs inside the failure node Pleasing gitlab CI reporting system 2019-03-26 12:19:16 -0300 Thibault Saunier * validate/launcher/main.py: validate:launcher: By default use cpu_count / 2 2019-03-26 10:49:26 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Print name of the test to be debugged When --debug was passed 2019-03-26 10:47:12 -0300 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/tests/check/validate/padmonitor.c: validate:pad-monitor: Accept any return value when we aggregated FLUSHING while tearing down Basically nothing guarantees that the set of pads we aggregated the flow for is the same as the one that was aggregated during the actual data flow as some pads could have been removed meanwhile. 2019-03-25 18:14:53 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Allow last-sample to not be set when checking it And instead of failling, wait for it to be set again. Depends on https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/119 2019-03-25 18:14:35 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Return the GstValidateAction on .ref() 2019-03-25 16:46:46 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/launcher/baseclasses.py: validate: Generate dot files and link to them on CI 2019-03-21 17:10:25 -0300 Thibault Saunier * validate/launcher/utils.py: validate:launcher: Try to send SIGINT before killing processes Giving a chance for validate to print reports 2019-03-21 10:01:14 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Add a way to say that a known issues can happen several times 2019-03-19 21:39:02 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Remove now useless code to check sending EOS brings down the pipeline If we want to make an exception we can use known issues these days 2019-03-20 18:36:17 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Be a bit more resilient in GstValidateListener And handle exception decoding received json info 2019-03-20 18:26:19 -0300 Thibault Saunier * validate/data/scenarios/fast_forward.scenario: * validate/data/scenarios/seek_forward.scenario: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Implement a way to execute an action on message And use it for seek forward and fast forward scenarios 2019-03-19 21:21:09 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Add a way to require a non fatal error when matching a fatal one 2019-03-19 12:16:13 -0300 Thibault Saunier * validate/launcher/utils.py: validate:launcher: Add a way to force coloration 2019-03-19 12:15:35 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate:launcher: factor out TTY check and enhance iteration output 2019-03-19 10:22:26 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Clear up last seek on EOS generating a 'stop' action Otherwise there is a race leading to a segfault where ASYNC_DONE is received *after* generating EOS ourselves: ``` Executing stop ( - generated-after-eos=true ) **Stack trace**: ... Thread 1 (Thread 0x7f3c3e50df00 (LWP 10183)): #8 0x00007f3c3f01bea5 in g_cclosure_marshal_generic (closure=, return_gvalue=, n_param_values=, param_values=, invocation_hint=, marshal_data=) at gclosure.c:1496 #9 0x00007f3c3f01b3dd in g_closure_invoke (closure=0x1855980, return_value=0x0, n_param_values=2, param_values=0x7ffda2e0a7e0, invocation_hint=0x7ffda2e0a760) at gclosure.c:810 #10 0x00007f3c3f02e983 in signal_emit_unlocked_R (node=node@entry=0x15af670, detail=detail@entry=298, instance=instance@entry=0x171fc80, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffda2e0a7e0) at gsignal.c:3635 #11 0x00007f3c3f037aaa in g_signal_emit_valist (instance=, signal_id=, detail=, var_args=var_args@entry=0x7ffda2e0a9c0) at gsignal.c:3391 [Inferior 1 (process 10183) detached] ``` 2019-03-19 10:12:42 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Add generated known issue list to the logs instead of printing then 2019-03-19 09:43:55 -0300 Thibault Saunier * validate/launcher/utils.py: validate:launcher: Add a way to force stdout coloring 2019-03-18 16:52:11 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/tests/launcher_tests/test_validate.py: validate:launcher: Rework expected-issues data format Instead of having the issues centered on the test classes, they are now focusing on the "bug". And harmise names on `expected_issue` not `expected_failures` 2019-03-18 14:30:59 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Allow printing log URL on a CI server 2019-03-18 11:09:10 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Fix getting skip-parser when generating media descriptor On old version it didn't exist 2019-03-18 10:32:06 -0300 Thibault Saunier * validate/launcher/main.py: validate:launcher: Review default for `--mute` `--mute` is now True by default and added `--unmute` if the user wants to have visual/audio feedback. It was really annoying to have thousand of window pop up by default 2019-03-17 14:39:38 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Allow referencing known issue by exiting signal names 2019-03-16 22:52:53 -0300 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: * validate/launcher/baseclasses.py: validate:launcher: Output markdown as much as possible 2019-03-16 21:37:16 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/main.py: * validate/launcher/utils.py: validate:launcher: Implement bug checks for gitlab And use new gitlab urls for all the bugs 2019-03-16 21:37:37 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/httpserver.py: * validate/launcher/vfb_server.py: validate:launcher: Enhance and standardize output 2019-03-16 18:05:56 -0300 Thibault Saunier * validate/data/scenarios/change_state_intensive.scenario: * validate/data/scenarios/fast_backward.scenario: * validate/data/scenarios/fast_forward.scenario: * validate/data/scenarios/seek_backward.scenario: * validate/data/scenarios/seek_forward.scenario: * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Add a way to ignore EOS And ignore then in seek_forward/backward to avoid cases where the pipeline EOS before we have the chance to launch the following seek, see: https://ci.gstreamer.net/job/GStreamer-master-meson-validate/3483/testReport/junit/(root)/gst-validate-launcher/validate_rtsp_playback_seek_backward_raw_h264_1_mp4/ 2019-03-16 16:28:15 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Take into account the timeout when checking EOS 2019-03-16 12:21:34 -0300 Thibault Saunier * debug-viewer/GstDebugViewer/Common/generictreemodel.py: * debug-viewer/GstDebugViewer/GUI/app.py: * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/gst-debug-viewer: * hooks/pre-commit-python.hook: * tracer/gsttr-stats.py: * tracer/gsttr-tsplot.py: * tracer/tracer/analysis_runner.py: * tracer/tracer/parser.py: * tracer/tracer/structure.py: * tracer/tracer/structure_perf.py: * validate/docs/launcher/conf.py: * validate/launcher/RangeHTTPServer.py: * validate/launcher/baseclasses.py: * validate/launcher/httpserver.py: * validate/launcher/loggable.py: * validate/tools/gst-validate-analyze: * validate/tools/gst-validate-launcher.in: Pass python files through autopep8 2019-03-15 23:46:00 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Help the user add known issues And make it clear a bug should be opened about it 2019-03-15 07:39:04 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Enhance dumping log files output 2019-03-13 19:08:25 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/config.py.in: * validate/launcher/main.py: * validate/launcher/meson.build: * validate/launcher/utils.py: validate:launcher: Use gst-integration-testsuites subproject as default testsuite repo if avalaible 2019-03-08 15:44:31 +0100 Philipp Zabel * validate/gst/validate/gst-validate-scenario.c: validate: fix pause duration handling Commit 394242c2248a ("validate:scenario: Enhance variable implementation") caused the duration parameter to be stored as a double instead of GstClockTime, which the _execute_pause implementation expects. Fix the parameter type and use gst_validate_action_get_clocktime to handle duration correctly. https://gitlab.freedesktop.org/gstreamer/gst-devtools/merge_requests/73 2019-04-01 15:23:21 -0400 Nicolas Dufresne * debug-viewer/meson.build: debug-viewer: Use python.install_sources() With current implementation we would try and install into the system path regardless of the prefix. On top of that, we could install any left over pyc file and would install the unit test also. To fix this, we now list every files to be installed and use python.install_sources(), leaving to meson the decision on where things should be installed. 2019-04-01 14:48:54 -0400 Nicolas Dufresne * meson.build: * validate/gst/validate/meson.build: meson: validate: Fix linking error missing GstBaseTransform There is a mockdecryptor that has been added into validate-sources and this element is base on GstBaseTransform. This added a deps against gstbase which was leading to linking errors when building with meson. 2019-04-01 21:49:19 +0900 Jimmy Ohn * codecanalyzer/src/codecanalyzer.c: * codecanalyzer/src/gst_analyzer.c: * codecanalyzer/src/plugins/gst/analyzersink/gstanalyzersink.c: codecanalyzer: Use glib variant of strcmp safer, and avoids missing include 2019-02-15 14:59:20 +0900 Jimmy Ohn * validate/gst/validate/validate.c: validate: Print some log when environment variable is not set print some log when environment variable is not set 2019-03-23 19:48:29 +0000 Tim-Philipp Müller * validate/gst/validate/meson.build: meson: validate: actually pass extra arguments to gnome.generate_gir() Especially the init section and the --quiet. Remove the whole manual build/source dir include addition to the g-ir-scanner args seeing that things worked fine without the args being passed to the scanner at all. 2019-03-23 19:47:24 +0000 Tim-Philipp Müller * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-override-registry.h: * validate/gst/validate/gst-validate-utils.c: validate: fix g-i warnings gst-validate-utils.c:914: gst_validate_element_matches_target: unknown parameter 'structure' in documentation comment, should be 's' gst-validate-override-registry.h:49: gst_validate_override_registry_get_override_list: return value: Missing (element-type) annotation 2019-03-23 19:22:29 +0000 Tim-Philipp Müller * meson.build: g-i: pass --quiet to g-ir-scanner This suppresses the annoying 'g-ir-scanner: link: cc ..' output that we get even if everything works just fine. We still get g-ir-scanner warnings and compiler warnings if we pass this option. 2019-03-22 15:37:37 -0400 Xavier Claessens * validate/gst/validate/gst-validate-mockdecryptor.c: Avoid C99 declaration in 'for' loop 2019-03-22 10:48:03 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate:launcher: Set CK_MULTIPLIER=10 in GstCheck tests when using valgrind Fixes https://gitlab.freedesktop.org/gstreamer/gst-devtools/issues/39 2019-03-21 13:06:00 +0000 Tim-Philipp Müller * debug-viewer/meson.build: * meson.build: meson: use new 'python' module instead of deprecated 'python3' one https://github.com/mesonbuild/meson/pull/4169 2019-03-14 23:17:16 +1100 Matthew Waters * validate/gst/overrides/meson.build: validate: allow building a static overrides library 2019-02-21 17:22:10 +0000 Charlie Turner * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-mockdecryptor.c: * validate/gst/validate/gst-validate-mockdecryptor.h: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/meson.build: validate: Add a mock decryptor element. 2019-03-15 17:38:15 +0000 Alicia Boya García * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-override-registry.h: * validate/gst/validate/gst-validate-runner.c: * validate/plugins/flow/gstvalidateflow.c: validateflow: Fail when a pad is not attached Previously validateflow tests did not fail when the pad was not attached. This was a limitation caused by how the Validate API worked. Before, the `notify::validate-runner` signal was not emitted until a monitor was attached to the override. This made impossible to listen for the runner's `stopping` signal. This patch fixes the problem by setting `validate-runner` for all existing overrides when the runner is initialized and adding checks in validateflow to error in the case no pad was attached. 2019-03-10 17:07:08 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/utils.py: validate:launcher: Move '_format_config_template' to the utilities So it can be reused by GES tests 2019-03-10 17:06:13 -0300 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: Check that position <= duration from the pipeline monitor We should not require a scenario for that check to happen 2019-03-10 17:05:15 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Cleanup spurious error message 2019-03-10 17:03:09 -0300 Thibault Saunier * docs/plugins/validateflow.md: * validate/plugins/flow/formatting.c: * validate/plugins/flow/formatting.h: * validate/plugins/flow/gstvalidateflow.c: validate-flow: Add an ignored-event-fields configuration It replaces `record-stream-id` as it is a more generic way of doing the same thing. 2019-02-07 15:50:26 -0300 Thibault Saunier * docs/plugins/validateflow.md: docs: Document the validateflow plugin 2019-03-06 10:15:21 +0100 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: validate: More usage of g_strcmp0 instead of strcmp 2019-03-06 10:11:02 +0100 Edward Hervey * validate/plugins/flow/gstvalidateflow.c: validateflow: Use glib variant of strcmp safer, and avoids missing include 2019-03-04 15:20:49 +0100 Edward Hervey * validate/plugins/flow/formatting.c: * validate/plugins/flow/gstvalidateflow.c: validate: Include config.h before anything else To avoid double-defines (such as GST_LEVEL_DEFAULT) 2019-03-04 09:15:11 +0000 Tim-Philipp Müller * meson.build: * validate/NEWS: * validate/RELEASE: * validate/configure.ac: * validate/meson.build: Back to development === release 1.15.2 === 2019-02-26 12:00:40 +0000 Tim-Philipp Müller * meson.build: * validate/ChangeLog: * validate/NEWS: * validate/RELEASE: * validate/configure.ac: * validate/gst-validate.doap: * validate/meson.build: Release 1.15.2 2019-02-26 19:42:08 +0000 Tim-Philipp Müller * validate/data/scenarios/Makefile.am: scenarios: don't clobber scenarios in 'make install' /usr/bin/install: will not overwrite just-created '_inst/share/gstreamer-1.0/validate/scenarios/default-seek-flags.scenario' with '../../../../data/scenarios/rtsp_overrides/includes/default-seek-flags.scenario' https://gitlab.freedesktop.org/gstreamer/gst-devtools/merge_requests/44#note_123683 2019-02-26 18:53:28 +0000 Tim-Philipp Müller * validate/win32/common/libgstvalidate.def: validate: add new API to exports file 2019-02-01 10:02:22 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: validate: Notice that issue summaries should be 'stable' As they are used in the testsuite to define known issues 2019-02-17 15:38:53 +0100 Alicia Boya García * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: gst-validate-scenario: Make waits optional in appsrc-push While in many cases it's desirable to wait for a buffer to be pushed downstream when using appsrc-push, in some cases this is not possible as such pushing action is dependent on following actions that would not be executed if we wait. An example for this is prerolling: appsrc ! qtdemux ! video/x-h264 ! decodebin name=dec ! %(videosink)s description, seek=false, handles-states=true appsrc-push, target-element-name=appsrc0, file-name="raw_h264.0.mp4" set-state, state=playing appsrc-eos, target-element-name=appsrc0 In order for the preroll to occur, both the appsrc needs to push the buffer and the state needs to reach PLAYING. But `set-state` cannot finish if the buffer has not been pushed (the state transition does not finish) and conversely pushing the buffer will not finish until the state has reached. Making appsrc-push not wait for the buffer solves this problem. This patch makes appsrc-push aware of this issue by only waiting for the buffer to be pushed if the pipeline is in a state that allows buffers to flow. 2019-02-21 22:01:24 +0100 Alicia Boya García * validate/gst/validate/gst-validate-scenario.c: gst-validate-scenario: Fix (another) race condition in EOS handling Since gst_validate_action_set_done() is asynchronous, the bus EOS handler may already be running before the action is actually finished. This patch ensures that is not a problem. 2019-02-19 17:36:23 +0000 Charlie Turner * validate/launcher/apps/gstvalidate.py: validateflow: interpolate folder directories into pipeline descriptions. Allow 'pipeline' fields in validateflow to be interpolated with directory keys like $(medias)s. 2019-02-07 15:36:41 +0100 Guillaume Desmottes * validate/docs/validate/envvariables.xml: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: validate: allow config to check for minimum buffer frequency on pads This change allow tests to check performance of elements by checking the frequency at which buffers are pushed on src pads. I re-used most of the logic from fpsdisplaysink to compute the frequency. We can now uses something like: GST_VALIDATE_CONFIG='core,min-buffer-frequency=60,target-element-factory-name=v4l2src' The 'buffer-frequency-start' optional field can be used to ignore the frequency during the start of the pipeline. This is useful when testing live pipelines where configuring and setting up elements can take some time slowing down the first buffers. 2019-02-11 16:07:28 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: validate: factor out gst_validate_element_matches_target() 2019-02-18 11:05:26 +0000 Charlie Turner * validate/plugins/flow/gstvalidateflow.c: validateflow: Fix double-free on stdout 2019-02-04 13:19:26 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/tests/check/validate/expression_parser.c: validate: report: Fix the way we print 'repeat' values 2019-02-04 13:18:04 -0300 Thibault Saunier * validate/gst/validate/validate.c: * validate/tests/check/meson.build: * validate/tests/check/validate/expression_parser.c: validate: Force LC_NUMERIC to C as it is required by our expression parser And... add some expression parser unit tests 2019-02-03 20:05:36 -0300 Thibault Saunier * validate/data/scenarios/alternate_fast_backward_forward.scenario: * validate/data/scenarios/fast_backward.scenario: * validate/data/scenarios/fast_forward.scenario: * validate/data/scenarios/includes/default-seek-flags.scenario: * validate/data/scenarios/reverse_playback.scenario: * validate/data/scenarios/rtsp_overrides/includes/default-seek-flags.scenario: * validate/data/scenarios/scrub_backward_seeking.scenario: * validate/data/scenarios/scrub_backward_seeking_full.scenario: * validate/data/scenarios/scrub_forward_seeking.scenario: * validate/data/scenarios/scrub_forward_seeking_full.scenario: * validate/data/scenarios/seek_backward.scenario: * validate/data/scenarios/seek_forward.scenario: * validate/data/scenarios/seek_forward_backward.scenario: * validate/data/scenarios/seek_with_stop.scenario: * validate/data/scenarios/simple_seeks.scenario: * validate/data/scenarios/update_start.scenario: * validate/data/scenarios/update_stop.scenario: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tests/check/meson.build: * validate/tests/check/validate/scenario.c: validate:scenario: Enhance variable implementation - Stop arbitrarily consider params as ClockTime based on their names but add a convetion that the `.type` field of the ActionType should end by `(GstClockTime)` when it is a clock time. 2019-02-03 20:03:40 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Make gst_validate_action_new public Mainly so it can be used in unit tests. 2019-02-02 13:43:35 -0300 Thibault Saunier * validate/data/scenarios/fast_forward.scenario: * validate/data/scenarios/reverse_playback.scenario: * validate/data/scenarios/scrub_backward_seeking.scenario: * validate/data/scenarios/scrub_backward_seeking_full.scenario: * validate/data/scenarios/scrub_forward_seeking.scenario: * validate/data/scenarios/scrub_forward_seeking_full.scenario: * validate/data/scenarios/seek_backward.scenario: * validate/data/scenarios/seek_forward.scenario: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: validate:scenario: Allow using set-vars from numeric expressions And require them to follow the `$varname` (can't be $(varname) as parenthesis have another meaning in those expressions). Still accept "duration" and "position" as varname for backward compat but update our scenarios anyway. 2019-02-02 13:32:50 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: scenario: Parse playback times as we execute the scenario This way we will be able to use 'set-vars' for it 2019-02-01 22:54:13 -0300 Thibault Saunier * validate/data/scenarios/alternate_fast_backward_forward.scenario: * validate/data/scenarios/fast_backward.scenario: * validate/data/scenarios/fast_forward.scenario: * validate/data/scenarios/includes/default-seek-flags.scenario: * validate/data/scenarios/reverse_playback.scenario: * validate/data/scenarios/rtsp_overrides/includes/default-seek-flags.scenario: * validate/data/scenarios/scrub_backward_seeking.scenario: * validate/data/scenarios/scrub_backward_seeking_full.scenario: * validate/data/scenarios/scrub_forward_seeking.scenario: * validate/data/scenarios/scrub_forward_seeking_full.scenario: * validate/data/scenarios/seek_backward.scenario: * validate/data/scenarios/seek_forward.scenario: * validate/data/scenarios/seek_forward_backward.scenario: * validate/data/scenarios/seek_with_stop.scenario: * validate/data/scenarios/simple_seeks.scenario: * validate/data/scenarios/update_start.scenario: * validate/data/scenarios/update_stop.scenario: * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Enforce a synthax $(varname) to reference variables This way it is clear that you are using a variable reading the scenario and we can verify that what the scenario writer intents is to use an already set variable. 2019-02-07 17:34:56 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: don't override max-latency if config contains multiple structs gst_validate_utils_get_clocktime() is resetting the value if it's not present in the struct so we were overriding it on the next iterations. 2019-02-08 11:46:58 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: baseclasses: include env variable in logged command We were missing the env variables in the command written to the log file, making it impossible to re-run the test later from the logs. 2019-02-09 01:16:31 +0100 Alicia Boya García * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: gst-validate-scenario: Add GST_VALIDATE_SCENARIO_EOS_HANDLING_LOCK There was a race in appsrc-push when the pushed buffer caused an EOS. The EOS event could be handled by the main thread, finishing the test while the action, executing in the streaming thread, has not finished yet. A mutex is now introduced to add mutual exclusion for the two threads so that an EOS does not cause the termination of the test while the action is still going. 2019-02-07 15:42:06 -0300 Thibault Saunier * validate/plugins/flow/gstvalidateflow.c: validateflow: Print some indication that the flow checking is happening 2019-02-11 11:09:21 +0100 Edward Hervey * validate/configure.ac: * validate/plugins/Makefile.am: * validate/plugins/flow/Makefile.am: validate: Add autotools support for flow plugin 2019-02-10 01:23:50 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: Revert "validate:launcher: Cache the result of meson introspect" This reverts commit 05ce6d3b92e88341bd9743b021b33ce606c5d1bc. We can't do that as it breaks meson logic to set envvars 2019-02-09 17:25:03 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Do not sort tests all the time Do it once only once it is fully populated 2019-02-09 17:24:10 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate:launcher: Cache the result of meson introspect Running it takes quite some time and we can easily cache it. 2019-02-09 17:23:28 -0300 Thibault Saunier * validate/tools/gst-validate-launcher.in: validate:launcher: Add a simple way to profile app 2019-02-08 14:36:56 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: scenario: not need to use an atomic to handle dropped count It's all handled from the same thread. 2019-02-08 14:23:15 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: scenario: fix dropped checking when terminating scenario We want to early return if either no max value has been set for the scenario or if we didn't receive any QoS information. 2019-02-08 13:32:12 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: validate: properly namespace config related checks 2018-10-28 17:27:22 +0000 Alicia Boya García * validate/gst/validate/gst-validate-override.h: * validate/gst/validate/gst-validate-scenario.c: * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/plugins/flow/formatting.c: * validate/plugins/flow/formatting.h: * validate/plugins/flow/gstvalidateflow.c: * validate/plugins/flow/meson.build: * validate/plugins/meson.build: New validate plugin: validateflow validateflow can be used to check the buffers and events flowing through a custom pipeline match an expectation file. This can be used to test non-regular-playback use cases like demuxers handling adaptive streaming fragment pushing. This patch includes also new actions used for these cases: `appsrc-push`, `appsrc-eos` and `flush` (plus `checkpoint`, which is only available with validateflow). 2019-02-07 17:04:52 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: baseclass: add_validate_config: don't use self.proc_env self.proc_env is created when starting the test but this API can be call by generator when creating the test. 2019-02-06 18:24:19 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: validate: allow scenarios to define a max nb of dropped buffers The 'max-dropped' description field can now be used to specify the max number of buffers than can be dropped by the QoS system. 2019-02-05 23:46:40 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate:launcher: Error out in the check testsuite if rebuilding failed 2019-02-04 17:03:01 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: validate: allow scenarios to define max pipeline latency The 'max-latency' description field can now be used to specify the max latency allowed for the running pipeline. 2019-02-02 01:23:16 +0100 Mathieu Duponchelle * validate/data/scenarios/Makefile.am: * validate/data/scenarios/alternate_fast_backward_forward.scenario: * validate/data/scenarios/fast_backward.scenario: * validate/data/scenarios/fast_forward.scenario: * validate/data/scenarios/includes/default-seek-flags.scenario: * validate/data/scenarios/meson.build: * validate/data/scenarios/reverse_playback.scenario: * validate/data/scenarios/rtsp_overrides/includes/default-seek-flags.scenario: * validate/data/scenarios/scrub_backward_seeking.scenario: * validate/data/scenarios/scrub_backward_seeking_full.scenario: * validate/data/scenarios/scrub_forward_seeking.scenario: * validate/data/scenarios/scrub_forward_seeking_full.scenario: * validate/data/scenarios/seek_backward.scenario: * validate/data/scenarios/seek_forward.scenario: * validate/data/scenarios/seek_forward_backward.scenario: * validate/data/scenarios/seek_with_stop.scenario: * validate/data/scenarios/simple_seeks.scenario: * validate/data/scenarios/update_start.scenario: * validate/data/scenarios/update_stop.scenario: * validate/launcher/apps/gstvalidate.py: Scenarios: override seek flags for RTSP tests Our RTSP server is not accurate, it makes no sense to perform accuracy checks on the client-side segments. 2019-02-01 20:01:40 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Set variables on all action fields 2019-02-01 19:30:44 -0300 Thibault Saunier * validate/gst/validate/gst-validate-reporter.c: validate: Handle G_LOG_ERROR in our glog handler 2019-02-01 19:03:04 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Rename action 'define-consts' to 'set-vars' Those are not consts are they can be modified at runtime 2019-02-01 18:41:07 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: validate: Cleanup flags/enum_from_string 2019-02-01 23:08:16 +0100 Mathieu Duponchelle * validate/gst/validate/gst-validate-scenario.c: scenario: prioritize SCENARIOS_PATH when including 2019-02-01 01:24:19 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate: Let people know the testsuite starts running Now that we do not print infos about successful tests when redirecting. 2019-02-01 00:08:45 -0300 Thibault Saunier * validate/gst/validate/gst-validate-reporter.c: validate: Keep trying to print stack traces when our log hanlder is removed There are cases where a crash happens after the program ends 2019-01-31 23:43:28 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Give pipeline position when failling on EOS 2019-01-31 23:35:50 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Do not print passing tests if not running in a tty 2019-01-31 22:37:17 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Explicitely mark generated stop() action as such 2019-01-30 15:57:13 -0300 Thibault Saunier * validate/launcher/apps/pyunittest.py: validate:launcher:punittest: Raise an exception if a testsuite can't be loaded 2015-11-25 16:10:50 +0100 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: pad-monitor: Remove unused pad getrange override 2015-11-25 14:20:31 +0100 Edward Hervey * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/validate.c: validate: Use g_object_{get|set}_qdata where applicable This provides a substantial speedup compared to using strings 2019-01-30 01:24:16 +0100 Mathieu Duponchelle * validate/launcher/baseclasses.py: TestsManager: stop displaying blacklisted tests on stdout It's basically spam, better suited to the debug logs 2019-01-29 15:59:44 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Never print lines larger than the terminal 2019-01-29 12:54:01 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: scenario: Mark action as being executed right before calling ->execute And make sure that we do not try to execute the following action In the case the action type leads to the GMainContext to be ieterated 2018-12-11 11:42:25 +0200 Jordan Petridis * validate/launcher/reporters.py: validate: Report the full test name in the xunit file Looks like gitlab prefers this way of representing tests as it displays only the name field in its junit reports. Close #32 2019-01-26 10:27:47 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Make baseclasses.py pep8 compliant 2019-01-25 22:27:07 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate:launcher: Handle launching launching a sub launcher If you use validate-launcher in a meson testsuite, those test now gets integrated as one unique testsuite (with a pretty long namespace). 2019-01-25 22:13:28 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate:launcher: Refactor the "main" function - Move the parser code into a `LauncherConfig.create_parser()` method - Remove the need to pass libsdir to the _TestsLauncher object - Extract out a `setup_launcher_from_args` function 2019-01-25 22:09:30 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: launcher: Move http serveur and xvfb server to the main test runner object No good reason for it to be in the main function 2019-01-25 22:06:14 -0300 Thibault Saunier * validate/launcher/apps/pyunittest.py: launcher: Cleanup the way we find python test command line By setting it before the test base class adds the current testsuite name in the classname 2019-01-25 22:03:57 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: launcher: Fix test listing in meson VS gstcheck tests You might select tests that match Meson but not gstcheck in which case the 'meson only' variant is exposed but those should never exist. 2019-01-26 09:19:35 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: Add `%(config_path)s` in the pipeline desc vars When defining pipelines_descriptions to run test on in a `.json` file, you might need to point to paths in the testsuite directory (for media files URIs for example), you can now do `"pipeline": "filesrc location="$(config_path)s/../medias/some/file.mkv...` === release 1.15.1 === 2019-01-17 10:01:50 +0000 Tim-Philipp Müller * meson.build: * validate/ChangeLog: * validate/NEWS: * validate/RELEASE: * validate/configure.ac: * validate/gst-validate.doap: Release 1.15.1 2019-01-17 09:58:47 +0000 Tim-Philipp Müller * validate/meson.build: Fix distcheck Work around broken disthook check in release.mak so we don't have to update the common submodules for that (applies only to this module because the version number is in the top-level meson.build but the package/dist directory is a subdir). This only became a problem now because the common submodule hadn't been updated for the last few years. 2019-01-17 09:38:13 +0000 Tim-Philipp Müller * validate/win32/common/libgstvalidate.def: win32: update .def file for new API Fixes distcheck 2019-01-15 16:52:24 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Display unix nickname of signals leading to test failure 2019-01-15 16:05:41 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Fix error message about 'crashed' test 2019-01-14 22:55:35 +0100 Alicia Boya García * hooks/pre-commit-python.hook: pre-commit-python: Allow line breaks between binary operators pre-commit-python overrides the list of ignored Python style errors. Unfortunately, before this patch the list did not exclude W503 and W504 (which are otherwise ignored by default). The consequence of having those two warnings enabled at the same time is that it's not possible to break lines on binary operators, which is an unreasonable unintentional restriction: 'validateflow': "validateflow, expectations-dir=\"" + expectations_dir + "\", actual-results-dir=\"" + actual_results_dir + "\"", W504 line break after binary operator 'validateflow': "validateflow, expectations-dir=\"" + expectations_dir + "\", actual-results-dir=\"" + actual_results_dir + "\"", W503 line break before binary operator This patch excludes W503 so that there is a valid style for breaking lines on binary operators. 2019-01-12 15:25:53 -0300 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: validate: Plug newly introduced leak 2019-01-12 09:59:12 -0300 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: validate: Use filename instead of full path in dotfiles names 2019-01-07 00:06:30 +0100 Thibault Saunier * validate/tests/check/validate/padmonitor.c: validate:tests: Fix race in `validate_padmonitor.buffer_outside_segment` We were using a fakesrc which data flow was potentially breaking the test. 2019-01-07 00:05:50 +0100 Thibault Saunier * validate/gst/validate/gst-validate-report.c: validate: Lower a ERROR message to INFO This behaviour is totally valid when running unit tests 2019-01-03 14:15:16 +0100 Thibault Saunier * validate/tests/check/validate/padmonitor.c: validate:tests: s/discount_buffer/discont_buffer/ 2019-01-03 12:09:09 +0100 Thibault Saunier * validate/gst/validate/gst-validate-monitor.c: * validate/tests/check/validate/padmonitor.c: 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 2018-12-17 10:34:43 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: fix crash if timeout when media_descriptor is None Some tests may not have any media_descriptor. If those were failing to shutdown after EOS we were calling get_protocol() on None. 2018-12-14 12:00:18 +0100 Alexandru Băluț * validate/launcher/apps/gstvalidate.py: validate:launcher: Fix error message 2018-12-14 11:17:41 +0100 Alexandru Băluț * validate/launcher/apps/gstvalidate.py: validate:launcher: Fix discovery of commands 2018-12-10 13:25:58 +1100 Matthew Waters * meson.build: * validate/gst/validate/meson.build: * validate/plugins/extra_checks/meson.build: gst: allow building static libraries for e.g. Android/iOS 2018-12-09 17:55:37 +0530 Nirbheek Chauhan * validate/win32/common/libgstvalidate.def: meson: Fix build on {cross-,}win{32,64} We use visual studio module definitions for the list of symbols to export when targetting Windows. Fixes CI failure: ../validate/tools/gst-validate.c:460: undefined reference to `gst_validate_spin_on_fault_signals' 2018-12-07 09:05:09 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate:launcher: Do not CK_FORK on our test Otherwise the process can't cleanly quit on assertion because of the way libcheck runner is implemented 2018-12-07 09:03:24 -0300 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: * validate/launcher/baseclasses.py: * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: 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-06 23:17:29 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate:launcher: Do not take CK_DEFAULT_TIMEOUT into account to set the timeout The timeout is what is set in the meson build definition otherwise we will not behave as 'meson test' which we should avoid 2018-12-06 15:35:18 -0300 Thibault Saunier * validate/launcher/reporters.py: validate:launcher: Make failure as in our xunit reporter I think it was a mistake to call them as the two notions are different (we marked failed test as "failures" in the node). Should make gitlab happy with our file! 2018-12-06 11:53:10 +0200 Sebastian Dröge * validate/common: Automatic update of common submodule From eb6a86e to 59cb678 2018-11-30 10:59:51 -0300 Thibault Saunier * validate/launcher/main.py: * validate/launcher/utils.py: validate:launcher: Add a GST_VALIDATE_LAUNCHER_MAIN_DIR env variable This is generally usefull so we do not have to pass -M every time we launch the launcher And it adds support for nesting launcher calls always respecting the provided main directory + Fix some new pep8 errors 2018-11-28 10:14:35 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: Don't about unexisting tests when filtering tests It was wrong 2018-11-28 10:11:00 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate:launcher: Fix setting meson tests as "parallel" 2018-11-26 10:13:22 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: Avoid using not yet set variables And make the file pep8 compliant with latest pep8 checker. 2018-11-25 11:36:06 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate: launcher: Add a way to load pipeline tests from a scenario 2018-11-22 21:06:36 -0300 Thibault Saunier * validate/launcher/main.py: validate: Update default testsuite git repository 2018-11-17 09:48:41 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: 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 09:09:34 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: 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-10-28 15:21:38 +0000 Thibault Saunier * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-override.h: validate:override: Notify override object when they get attached 2018-10-29 15:37:11 +0000 Alicia Boya García * validate/gst/validate/gst-validate-monitor.c: 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-12 13:14:42 +0200 Jordan Petridis * .gitlab-ci.yml: Add Gitlab CI configuration This commit adds a .gitlab-ci.yml file, which uses a feature to fetch the config from a centralized repository. The intent is to have all the gstreamer modules use the same configuration. The configuration is currently hosted at the gst-ci repository under the gitlab/ci_template.yml path. Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29 2018-11-05 05:54:43 +0000 Matthew Waters * .gitmodules: * validate/gst-validate.doap: Update git locations to gitlab 2018-10-28 14:54:47 +0000 Thibault Saunier * validate/gst/validate/gst-validate-override-registry.c: 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 11:03:54 +0000 Philippe Normand * debug-viewer/gst-debug-viewer: debug-viewer: Python3 port follow-up One print statement wasn't ported to Python3. 2018-10-27 09:01:53 -0400 Xavier Claessens * debug-viewer/meson.build: * meson_options.txt: meson: add option to disable translation https://bugzilla.gnome.org/show_bug.cgi?id=797342 2018-09-19 11:50:09 +0900 Wonchul Lee * validate/gst-libs/gst/video/gssim.c: * validate/gst-libs/gst/video/gstvalidatessim.c: * validate/gst-libs/gst/video/gstvalidatessim.h: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-override.h: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor.c: * validate/plugins/ssim/gstvalidatessim.c: validate: Update for g_type_class_add_private() deprecation in recent GLib https://gitlab.gnome.org/GNOME/glib/merge_requests/7 2018-09-08 19:24:41 -0300 Thibault Saunier * validate/gst-libs/gst/video/gssim.c: * validate/gst-libs/gst/video/gssim.h: Update for g_type_class_add_private() deprecation in recent GLib 2018-09-08 11:12:32 -0300 Thibault Saunier * validate/launcher/baseclasses.py: launcher:scenario: Fix the way we compute scenario path/name when paths supplied We were just iterating over the list without any check and could end up with a patch that was not corresponding to the actual scenario. 2018-09-07 15:59:49 -0300 Thibault Saunier * validate/launcher/vfb_server.py: validate:launcher: Just wait for a while before considering Xvfb is ready if xset is not present This is what xvfb-run so let's consider it good enough 2018-08-01 21:05:32 -0400 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Use fakevideosink everywhere it makes sense. 2018-09-06 17:29:24 +0530 Nirbheek Chauhan * validate/gst/overrides/gst-validate-default-overrides.c: validate: Export the plugin symbol correctly Otherwise it doesn't get correctly exported when building with MSVC 2018-09-01 12:09:32 +0530 Nirbheek Chauhan * meson.build: * meson_options.txt: * validate/meson.build: * validate/tests/check/meson.build: * validate/tests/meson.build: meson: Add a feature option for tests This autodetection is needed on iOS inside Cerbero where gstreamer-check-1.0 is not available. 2018-08-31 15:21:05 +0530 Nirbheek Chauhan * meson.build: meson: gst_version_* are ints, convert them early Fixes error reported by ceyusa: gst-devtools/meson.build:23:0: ERROR: Multiplication works only with integers. 2018-08-31 14:52:04 +0530 Nirbheek Chauhan * meson.build: * validate/gst/overrides/meson.build: * validate/gst/validate/meson.build: 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-07-31 23:29:57 +0530 Nirbheek Chauhan * validate/gst/meson.build: * validate/gst/overrides/meson.build: meson: Build gstvalidate-default-overrides-1.0 Needed by Cerbero. 2018-07-30 21:36:48 +0200 Alicia Boya García * validate/launcher/baseclasses.py: gst-validate-launcher: Print copypaste-friendlier commands This patch removes the quotes surrounding the command shown by gst-validate to reproduce the issues -- which were troublesome when copying and pasting. It also introduces escaping for the arguments, so that the command line can be copied and pasted in the terminal without further changes. https://bugzilla.gnome.org/show_bug.cgi?id=796897 2018-07-25 17:27:03 +0530 Nirbheek Chauhan * meson.build: * meson_options.txt: * validate/docs/validate/meson.build: * validate/meson.build: meson: Convert common options to feature options The rest will be converted later, these are necessary for gst-build to set options correctly. https://bugzilla.gnome.org/show_bug.cgi?id=795107 2018-07-14 15:55:34 -0400 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Add an action type to validate last sample checksum 2018-07-19 22:00:17 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate: launcher: Print some ERROR log when inspecting scenario fails 2018-07-19 18:27:32 -0400 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Add a way to define constants to be used in actions Allowing writing simpler to read scenarios. 2018-07-14 08:27:05 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: 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-12 19:13:09 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Minor output string message 2018-07-10 13:16:36 +0200 Edward Hervey * validate/launcher/reporters.py: validate: Use 'skipped' keyword in xunit xml It was always meant to be 'skipped' to be 100% compatible with xunit xsl. Makes jenkins happy again 2018-07-08 17:02:59 -0400 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate:launcher: Stop spamming envvars in unit tests command printing. We used to print the whole environment, making it ugly and hard to read. 2018-07-01 11:32:10 -0400 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate:launcher: Allow retrieving coredumps from within flatpak 2018-06-19 07:12:20 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: 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-17 08:34:09 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Fix the --forever switch It was not stopping on error. https://bugzilla.gnome.org/show_bug.cgi?id=796608 2018-06-15 17:52:47 -0400 Thibault Saunier * validate/win32/common/libgstvalidate.def: validate: Update .def 2018-06-15 16:42:32 -0400 Thibault Saunier * validate/launcher/apps/Makefile.am: * validate/launcher/apps/meson.build: * validate/launcher/apps/pyunittest.py: * validate/launcher/testsuites/Makefile.am: * validate/launcher/testsuites/meson.build: * validate/launcher/testsuites/pyunittest.py: validate:launcher: Add a TestManager to run python tests Add a stupid simple testsuite made to be configured from the outside 2018-06-15 15:01:32 -0400 Thibault Saunier * validate/gst/validate/media-descriptor.c: validate: Fix mixup in variable check 2018-06-15 10:25:33 -0400 Thibault Saunier * meson_options.txt: * validate/meson.build: meson: Rename the gtkdoc option to gtk_doc This is what other modules use 2018-05-24 14:41:27 +0200 Thibault Saunier * validate/tools/gst-validate-media-check.c: validate: media-check: Avoid spamming the MediaInfo file on stdout 2018-05-23 17:57:23 +0200 Thibault Saunier * validate/docs/validate/gst-validate-launcher.xml: * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate: launcher: Add support for running tests with a pushfile source Introducing the `.media_info.push` media info extension, which is meant to let the launcher know that those file should run with the "pushfile://" protocol. And allow symlinking "normal" `.media_info` to their `.pushfile` variant so that both can share the exact same content. 2018-05-25 15:35:10 +0200 Thibault Saunier * validate/gst/validate/gst-validate-enum-types.h.template: * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor-writer.h: * validate/gst/validate/media-descriptor.c: * validate/gst/validate/media-descriptor.h: * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/tools/gst-validate-media-check.c: 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-05-23 01:11:32 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor.c: * validate/gst/validate/media-descriptor.h: 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-05-22 19:43:01 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor.c: * validate/gst/validate/media-descriptor.h: validate: media-check: Also check that segments are correct 2018-06-14 18:01:54 +0100 Philippe Normand * debug-viewer/GstDebugViewer/GUI/window.py: debug-viewer: Fix reload file action. Copy the log file only we're loading a file different from the previous file. The previous version of this code was broken because the existing tmpfile was removed from disk before being copied to a new temporary file. 2018-06-05 16:38:10 +0200 Edward Hervey * validate/gst/validate/media-descriptor.c: validate/media-descriptor: Fix indentation 2018-06-05 16:36:24 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: 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:25:46 +0200 Edward Hervey * validate/.gitignore: * validate/docs/.gitignore: * validate/tools/.gitignore: validate: Update all gitignore 2018-05-25 12:03:46 +0200 Alicia Boya García * validate/launcher/baseclasses.py: gst-validate-launcher: let gdb handle SIGINT itself Otherwise both gdb and gst-validate-launcher will react to ^C at the same time, gdb will be killed by SIGHUP (because gst-validate-launcher quitted in consequence of the ^C) and the terminal state will be left garbled because readline inside gdb had disabled echo. https://bugzilla.gnome.org/show_bug.cgi?id=796396 2018-05-25 12:06:22 +0200 Alicia Boya García * validate/launcher/baseclasses.py: gst-validate-launcher: disable timeouts when debugging in gdb interactively An interactive debugging session can be going for a long time, we don't want any timeouts in that case. https://bugzilla.gnome.org/show_bug.cgi?id=796397 2018-05-24 18:25:59 +0200 Alicia Boya García * validate/launcher/baseclasses.py: * validate/launcher/main.py: gst-validate-launcher: Stop in --gdb by default, add --gdb-non-stop This patch modifies the default behavior of --gdb to not run and quit automatically the test, but rather wait for user input. This is usually much more convenient to debug all kinds of bugs. The automatic run behavior has been moved to a new command switch: --gdb-non-stop https://bugzilla.gnome.org/show_bug.cgi?id=796389 2018-05-18 11:50:18 -0400 Thibault Saunier * validate/tools/gst-validate.c: validate: Error out if gst_parse_launch sets an error. https://bugzilla.gnome.org/show_bug.cgi?id=796240 2018-05-15 14:40:45 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Error out loudly if the testlist changes When --fail-on-testlist-change is set. 2018-05-15 14:35:30 -0400 Thibault Saunier * validate/launcher/reporters.py: validate:launcher: Do not print time spent if the testsuite never started 2018-04-28 10:15:17 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate: launcher: Make sure testsuites are used/configured once only 2018-05-13 16:30:25 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Add a way to check if a gst feature is present And make sure iqa is present to run IQA tests. 2018-05-03 11:27:31 +0200 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Cleanup the way we find where -validate tools are 2018-04-20 23:57:32 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate: launcher: Add a way to simply run SSIM checks on rendered files We will run a simple pipeline with the IQA element to run ssim (dssim) tests on the rendered files, comparing it with a reference file. For now we use the very empiric 1.0 value as a ssim error threshold and the goal is basically to detect completely broken renderings. 2018-04-19 22:13:29 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate: Add support for the new testbin protocol 2018-04-19 22:13:03 -0300 Thibault Saunier * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/window.py: debug-viewer: Ignore broken utf8 errors Not much we can do if the input file is not perfectly valid UTF8 but we should just do as good as we can. 2018-05-13 13:02:11 +0100 Philippe Normand * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI/colors.py: * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: debug-viewer: MEMDUMP debug level support 2018-05-07 17:30:13 +0200 Edward Hervey * validate/launcher/apps/gstvalidate.py: validate: Remove hls.*seek_with_stop blacklisting The issue is closed upstream (because of concentrating on decodebin3 instead), and initial forever testing seems to show the issue doesn't happen anymore 2018-05-05 19:55:14 +0530 Nirbheek Chauhan * meson.build: * meson_options.txt: * validate/meson.build: meson: Update option names to omit disable_ prefixes Also yield common options to the outer project (gst-build in our case) so that they don't have to be set manually. 2018-04-27 17:32:38 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: 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-25 10:57:14 +0800 Kai Kang * validate/gst/validate/Makefile.am: 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 2018-04-19 14:26:23 -0300 Thibault Saunier * debug-viewer/GstDebugViewer/Common/Main.py: debug-viewer: Fix raising unhandled exception Old code was uselessly complex 2018-04-19 08:44:50 -0300 Thibault Saunier * debug-viewer/GstDebugViewer/Plugins/FindBar.py: debug-viewer: Fix stacktrace after port to py3 2018-04-18 09:34:57 -0300 Thibault Saunier * debug-viewer/GstDebugViewer/GUI/window.py: debug-viewer: Copy log files in temporaries before using them They are mmap'ed and it gets wrong if the file is changed. There is high probablility the user will generate new logs while inspecting some logs in the same file 2018-04-18 09:03:01 -0300 Thibault Saunier * debug-viewer/GstDebugViewer/Plugins/Timeline.py: debug-viewer: Add a shortcut to show/hide timeline 2018-04-15 16:31:36 -0300 Thibault Saunier * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/GstDebugViewer/__init__.py: * debug-viewer/data/meson.build: * debug-viewer/gst-debug-viewer: * debug-viewer/meson.build: * debug-viewer/org.freedesktop.GstDebugViewer.desktop.in: * debug-viewer/po/LINGUAS: * debug-viewer/setup.cfg: * debug-viewer/setup.py: * meson.build: * meson_options.txt: debug-viewer: Port to meson This allows us to run unit test as part of ninja test and have versionning in sync. Also the goal is to have everything inside meson. https://bugzilla.gnome.org/show_bug.cgi?id=795282 2018-04-15 20:47:36 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: * validate/launcher/baseclasses.py: validate:launcher: Add support for specifying a workdir in tests 2018-04-15 19:45:43 -0300 Thibault Saunier * validate/launcher/utils.py: validate:launcher: printc is accepting object as arguments Make sure in all code paths those are converted to strings 2018-04-15 11:28:33 +0100 Philippe Normand * debug-viewer/GstDebugViewer/Common/Data.py: debug-viewer: Dispatcher source ID clean-up This patch fixes this runtime warning: GstDebugViewer/Common/Data.py:67: Warning: Source ID 17 was not found when attempting to remove it GObject.source_remove(self.source_id) 2018-04-14 16:04:22 +0100 Philippe Normand * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/Common/utils.py: * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI/__init__.py: * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/filters.py: * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/GstDebugViewer/Main.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/tests/__init__.py: * debug-viewer/GstDebugViewer/tests/create-test-log.py: * debug-viewer/GstDebugViewer/tests/performance.py: * debug-viewer/GstDebugViewer/tests/test_models.py: * debug-viewer/setup.py: * debug-viewer/tests/test_models.py: * hooks/pre-commit-python.hook: debug-viewer: PEP8 all the things 2018-04-14 14:22:11 +0100 Philippe Normand * debug-viewer/GstDebugViewer/Common/Data.py: * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/Common/__init__.py: * debug-viewer/GstDebugViewer/Common/utils.py: * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI/__init__.py: * debug-viewer/GstDebugViewer/GUI/app.py: * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/GstDebugViewer/Main.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/gst-debug-viewer: * debug-viewer/setup.py: * debug-viewer/tests/create-test-log.py: * debug-viewer/tests/performance.py: * debug-viewer/tests/test_models.py: debug-viewer: Port to Python3 And fix unit-tests. https://bugzilla.gnome.org/show_bug.cgi?id=795260 2018-04-14 11:27:48 +0100 Philippe Normand * debug-viewer/GstDebugViewer/Plugins/ColorizeRows.py: * debug-viewer/GstDebugViewer/Plugins/FileProperties.py: debug-viewer: remove broken/unimplemented plugins 2018-04-12 23:24:16 -0300 Thibault Saunier * hooks/pre-commit-python.hook: Update python hook with the new pycodestyle 2018-04-12 23:11:04 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Add a method to find tests in a TestManager 2018-04-12 23:05:01 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Extract method to set a validate configuration on tests 2018-04-12 23:03:04 -0300 Thibault Saunier * validate/gst/validate/validate.c: validate: Handle having a list of structure based/file path configs 2018-03-23 20:58:38 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/utils.py: launcher: Print test number in the order they finish Instead of the test index in the list of tests as it is meaningless to the user and feels weird. Also minor fix in the test name display when running with --forever. 2018-03-23 18:02:43 -0300 Thibault Saunier * validate/launcher/baseclasses.py: launcher: Minor indentation issue fixes 2018-03-23 17:44:06 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/reporters.py: * validate/launcher/utils.py: launcher: Clean up outpout Make our stdout output simpler to follow by: - Not printing the tests we launch (it is not really useful in the end) - Using `\r` when printing the passed tests - Not reprinting all the test in a now useless summary 2018-03-18 10:38:42 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: check: Use meson introspect to list meson tests 2018-03-20 10:56:57 +0000 Tim-Philipp Müller * meson.build: * validate/NEWS: * validate/RELEASE: * validate/configure.ac: Back to development === release 1.14.0 === 2018-03-19 20:29:07 +0000 Tim-Philipp Müller * meson.build: * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.14.0 2018-03-13 21:14:51 -0300 Thibault Saunier * meson.build: validate: Fix the way we set the testsuite version The testuite version should be 'master' during development and the version number on releases, during the pre-release cycle, there is no nano version, thus our detection handling was mistaking. 2018-03-13 22:20:52 +0000 Tim-Philipp Müller * meson.build: meson: update version === release 1.13.91 === 2018-03-13 19:30:43 +0000 Tim-Philipp Müller * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.13.91 2018-03-13 13:58:07 +0000 Tim-Philipp Müller * validate/docs/validate/meson.build: * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-bin-monitor.h: * validate/gst/validate/gst-validate-element-monitor.h: * validate/gst/validate/gst-validate-enum-types.h.template: * validate/gst/validate/gst-validate-media-info.h: * validate/gst/validate/gst-validate-monitor-factory.h: * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-override-registry.h: * validate/gst/validate/gst-validate-override.h: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-pipeline-monitor.h: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-runner.h: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/gst-validate-utils.h: * validate/gst/validate/media-descriptor-parser.h: * validate/gst/validate/media-descriptor-writer.h: * validate/gst/validate/media-descriptor.h: * validate/gst/validate/meson.build: * validate/gst/validate/validate-prelude.h: * validate/gst/validate/validate.h: 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 13:48:00 +0100 Xabier Rodriguez Calvar * debug-viewer/GstDebugViewer/Plugins/Timeline.py: debug-viewer: solved crash when maximum freq sentinel is 0 https://bugzilla.gnome.org/show_bug.cgi?id=794282 2018-03-12 12:11:18 -0300 Thibault Saunier * debug-viewer/GstDebugViewer/GUI/window.py: debug-viewer: Fix copying current line 2018-03-12 11:18:02 -0300 Thibault Saunier * debug-viewer/MANIFEST.in: * debug-viewer/org.freedesktop.GstDebugViewer.appdata.xml.in: * debug-viewer/setup.cfg: debug-viewer: Add an appdata file === release 1.13.90 === 2018-03-03 22:54:57 +0000 Tim-Philipp Müller * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.13.90 2018-03-01 18:49:21 +0100 Mathieu Duponchelle * meson.build: meson: enable more warnings 2018-02-07 10:13:44 +0100 Xabier Rodriguez Calvar * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/data/menus.ui: debug-viewer: fix names of actions/functions https://bugzilla.gnome.org/show_bug.cgi?id=793241 2018-02-07 10:05:35 +0100 Xabier Rodriguez Calvar * debug-viewer/GstDebugViewer/GUI/filters.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/data/menus.ui: debug-viewer: Added filter for threads https://bugzilla.gnome.org/show_bug.cgi?id=793241 2018-02-07 09:52:26 +0100 Xabier Rodriguez Calvar * debug-viewer/GstDebugViewer/GUI/filters.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/data/menus.ui: debug-viewer: Added filter for function https://bugzilla.gnome.org/show_bug.cgi?id=793241 2018-02-21 19:50:33 +0000 Tim-Philipp Müller * meson.build: meson: simplify GST_DISABLE_GST_DEBUG check and don't use add_global_* add_global_arguments() can't be used in subprojects. It's entirely possible that devtools is a subproject but gstreamer is picked up from an installed location, so we should really use add_project_arguments() in both cases. 2018-02-19 12:02:04 +0000 Tim-Philipp Müller * validate/tools/meson.build: validate: tools: fix build dependencies for validate-rtsp-server In file included from ../subprojects/gst-devtools/validate/tools/gst-validate-rtsp-server.c:21:0: .../gst/gst.h:31:10: fatal error: gst/gstenumtypes.h: No such file or directory 2018-02-18 12:21:34 +0200 Sebastian Dröge * validate/plugins/gtk/gstvalidategtk.c: validategtk: Stop using deprecated keymap API gstvalidategtk.c:184:7: error: ‘gdk_keymap_get_default’ is deprecated: Use 'gdk_keymap_get_for_display' instead [-Werror=deprecated-declarations] gdk_keymap_get_entries_for_keyval (gdk_keymap_get_default (), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2018-02-14 13:30:41 +0100 Xabier Rodriguez Calvar * debug-viewer/GstDebugViewer/Data.py: debug-viewer: Fixed C++ destructors detection https://bugzilla.gnome.org/show_bug.cgi?id=793447 2018-02-15 21:00:57 +0000 Tim-Philipp Müller * meson.build: * validate/configure.ac: Fix versions 2018-02-15 19:44:37 +0000 Tim-Philipp Müller * meson.build: * validate/configure.ac: Back to development === release 1.13.1 === 2018-02-15 17:30:08 +0000 Tim-Philipp Müller * meson.build: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.13.1 2018-02-15 18:27:37 +0000 Tim-Philipp Müller * validate/gst/validate/Makefile.am: validate: dist enum types templates 2018-02-13 14:02:39 +0100 Xabier Rodriguez Calvar * debug-viewer/GstDebugViewer/Data.py: debug-viewer: Fix C++ detection of lambdas as function https://bugzilla.gnome.org/show_bug.cgi?id=793422 2018-02-10 14:20:44 +0100 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: validate-pad-monitor: Use GST_SEQNUM_INVALID Instead of 0 (which is valid) 2018-02-08 08:20:55 -0700 Olivier Crête * debug-viewer/GstDebugViewer/Data.py: debug-viewer; Store thread as long instead of int On 64-bit platforms, the thread id can be over 2^32 so use a long to handle it. 2017-12-29 11:25:05 +0900 Wonchul Lee * validate/tools/gst-validate-images-check.c: * validate/tools/meson.build: tools: gst-validate-images-check: Fix typo https://bugzilla.gnome.org/show_bug.cgi?id=792035 2018-01-30 20:36:00 +0000 Tim-Philipp Müller * meson.build: meson: use -fno-strict-aliasing where supported https://bugzilla.gnome.org/show_bug.cgi?id=769183 2017-12-18 10:51:05 +0100 Edward Hervey * validate/launcher/baseclasses.py: validate/baseclasses: Release un-needed data when test ends This was keeping around 500-700kB of data for each test, which was gradually raising memory usage of a full run by 100MB+ The reports are definitely not needed, and we only need to keep information from the subprocess env variable that we might need later on for final reporting 2017-12-18 09:48:21 +0100 Edward Hervey * validate/launcher/baseclasses.py: validate/baseclasses: Don't leak several hundred MB of XML The xml-based MediaDescriptor were keeping open the XML file and the associated ElementTree structures, resulting in memory usage of several hundred megabytes. Instead cache the information we need immediately and release the XML structure 2017-12-17 16:22:51 -0500 Nicolas Dufresne * validate/data/scenarios/meson.build: meson: Add missing force_rtsp2 scenario Without this file, gst-validate installed using meson will fail all RTSP2 tests 2017-12-03 12:23:51 +0100 Edward Hervey * validate/launcher/apps/gstvalidate.py: validate: Remove protocol-specific timeouts Since we now check position/status of pipeline at regular intevals, we no longer need to impose a different timeout based on the protocol used. Avoids having 4min long timeouts for no reason (30s is enough) 2017-12-03 10:42:49 +0100 Edward Hervey * validate/gst/validate/gst-validate-report.c: * validate/launcher/baseclasses.py: 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 10:49:22 +0100 Edward Hervey * validate/launcher/baseclasses.py: * validate/launcher/main.py: * validate/launcher/reporters.py: validate-launcher: Allow running tests out-of-order When the --shuffle option is used, the tests will be run out of order. This optimizes CPU utilization since it allows running synchronized and unsynchronized tests at the same. 2017-12-03 11:07:00 +0100 Edward Hervey * validate/launcher/utils.py: validate: Reduce time waiting for subprocess to stop stopping the subprocess is done from the main thread, this would throttle starting/stopping any tests by one second. Start with 50ms, and gradually increase the wait between iterations 2017-12-03 11:05:40 +0100 Edward Hervey * validate/launcher/apps/gstvalidate.py: gstvalidate: Lower timeout to check for rtsp-server to be up Check every 100ms, avoids throttling all rtsp tests by 500ms 2017-12-02 09:36:27 -0300 Thibault Saunier * .gitignore: * validate/launcher/baseclasses.py: validate:launcher: Launch tests in `_TestsLauncher` not in TestsManagaer So that Test from several TestManager can run in parallel and thus avoid waiting for tests from one TestManager to run the following one., Also by design TestsLauncher should always have been the responsible for ... launching tests. 2017-11-25 13:10:41 +0100 Edward Hervey * validate/gst/validate/media-descriptor.c: validate: Don't leak strings We only use them in the error/debug case anyway 2017-11-25 12:46:05 +0100 Edward Hervey * validate/gst/validate/gst-validate-report.c: validate-report: Plug leaks The trace was never freed, nor were the output of g_str_split 2017-11-23 12:27:11 +0100 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: 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-22 16:35:46 +0100 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: 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:34:42 +0100 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: 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-12 20:08:39 +0530 Nirbheek Chauhan * validate/tools/meson.build: meson: Always require the latest gst-rtsp-server In the worst case, when building with gst-uninstalled, we will try to link against an older gst-rtsp-server provided by the system. Found by philn. 2017-11-08 17:22:47 +0100 Edward Hervey * validate/gst/validate/Makefile.am: validate: Call g-ir-scanner with the same toolchain as the rest 2017-10-27 09:59:53 +0200 Edward Hervey * validate/tools/gst-validate-analyze: validate-analyze: Update for xml format changes 2017-07-03 16:36:32 -0400 Thibault Saunier * validate/data/scenarios/force_rtsp2.scenario: * validate/launcher/apps/gstvalidate.py: validate: launcher: Run rtsp tests against both V1 and V2 https://bugzilla.gnome.org/show_bug.cgi?id=781446 2017-09-06 16:35:25 -0300 Thibault Saunier * validate/launcher/main.py: validate:launcher: Allow disabling using the number of failed tests as exitcode This is usefull on CI servers where the test results will be inspected and the status of the build built from it. 2017-08-24 14:17:08 +0900 Jimmy Ohn * validate/launcher/main.py: validate: launcher: Modify the order of the parser argument Modify the order of the parser argument before setting dir_group https://bugzilla.gnome.org/show_bug.cgi?id=786715 2017-08-26 10:50:44 -0300 Thibault Saunier * validate/launcher/utils.py: launcher: Automatically disable output coloration if not supported 2017-08-26 09:10:40 -0300 Thibault Saunier * validate/launcher/meson.build: meson: Fix the way we set the testsuite version 2017-08-18 11:37:28 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: * validate/launcher/reporters.py: validate:launcher: Use the number of failed test as exit code We used to always return 0, which was not right! 2017-08-14 16:39:56 -0300 Thibault Saunier * validate/launcher/baseclasses.py: launcher: Avoid exceptions when inspecting renders files We were a bit to strict on the Exception types which lead to the launcher failling itself when it shouldn't 2017-08-12 12:08:09 +0100 Tim-Philipp Müller * meson.build: meson: hide symbols by default unless explicitly exported 2017-08-12 12:04:42 +0100 Tim-Philipp Müller * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/win32/common/libgstvalidate.def: validate: hide some private symbols 2017-08-10 21:43:54 -0400 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: Plug a potential leak when retrieving peer pad 2017-08-10 19:25:09 -0400 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: Fix going over ghostpads/proxypads 2017-08-10 14:35:09 +0100 Tim-Philipp Müller * validate/docs/validate/meson.build: * validate/launcher/meson.build: * validate/plugins/gtk/meson.build: meson: fix a few meson warnings WARNING: The variable(s) 'DATADIR', 'LIBDIR' in the input file 'subprojects/gst-devtools/validate/launcher/config.py.in' are not present in the given configuration data WARNING: Passed invalid keyword argument "scanobj_args". This will become a hard error in the future. WARNING: Keyword argument "install" defined multiple times. This will be a an error in future Meson releases. 2017-08-07 16:00:53 -0400 Thibault Saunier * validate/win32/common/libgstvalidate.def: validate:win32: Update .def file. 2017-08-07 15:56:21 -0400 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.h: * validate/gst/validate/gst-validate-element-monitor.h: * validate/gst/validate/gst-validate-media-info.h: * validate/gst/validate/gst-validate-monitor-factory.h: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-override-registry.h: * validate/gst/validate/gst-validate-override.h: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-pipeline-monitor.h: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-runner.h: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/gst-validate-utils.h: * validate/gst/validate/media-descriptor-parser.h: * validate/gst/validate/media-descriptor-writer.h: * validate/gst/validate/media-descriptor.h: * validate/gst/validate/validate.h: * validate/win32/common/libgstvalidate.def: 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-07-26 17:22:33 -0400 Thibault Saunier * validate/gst/validate/Makefile.am: validate: Fix building the tracer It fails on some platforms, I guess this is the reason 2017-07-26 16:15:16 -0400 Thibault Saunier * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-enum-types.c.template: * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: Also mkenums with autotools And fix the build with stricter gcc arguments. 2017-07-25 11:23:35 -0400 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-bin-monitor.h: * validate/gst/validate/gst-validate-enum-types.c.template: * validate/gst/validate/gst-validate-enum-types.h.template: * validate/gst/validate/gst-validate-enums.h: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-pipeline-monitor.h: * validate/gst/validate/meson.build: * validate/gst/validate/validate.h: * validate/tools/gst-validate.c: 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:22:49 +0200 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: validate-scenario: Fix NULL pointer usage for good this time ... CID #1415570 2017-07-26 15:18:57 +0200 Edward Hervey * validate/gst/validate/gst-validate-report.c: validate-report: Fix a leak in error cases CID #1415494 2017-07-25 09:55:02 +0200 Edward Hervey * validate/launcher/apps/gstvalidate.py: validate: Re-enable mxf op2b tests https://bugzilla.gnome.org/show_bug.cgi?id=785119 2017-07-21 10:30:37 -0400 Thibault Saunier * validate/win32/common/libgstvalidate.def: wind32: Update .def file. 2017-07-20 14:21:59 +0200 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: validate-scenario: Protect against priv NULL usage CID #1415570 2017-07-19 12:16:53 -0400 Thibault Saunier * validate/data/scenarios/Makefile.am: * validate/data/scenarios/meson.build: validate: Do not install now removed setup_sink_props_max_lateness.scenario file 2017-07-19 11:49:09 -0400 Thibault Saunier * validate/launcher/apps/gstcheck.py: * validate/launcher/testsuites/check.py: validate:launcher:check: Make sure to register tests from the testsuite Instead of having them listed from the app manager. This is needed to avoid backtrace as tests now have to be register when setting up the testsuite. 2017-07-19 11:27:13 -0400 Thibault Saunier * validate/data/scenarios/setup_sink_props_max_lateness.scenario: * validate/data/valgrind.config: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: * validate/launcher/baseclasses.py: 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 10:52:40 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: 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 4927c657107dd23405456a703bb23173ab60f27d validate: disable QOS features when running with valgrind before we started to support executing arbitrary config action from configuration files. 2017-07-19 10:17:25 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: scenario: Fix running config action from the config file 2017-07-19 15:47:28 +0200 Edward Hervey * validate/launcher/apps/gstvalidate.py: validate: Blacklist op2b mxf files See https://bugzilla.gnome.org/show_bug.cgi?id=785119 2017-07-19 11:02:44 +0200 Edward Hervey * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/media-descriptor-writer.c: 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-18 12:09:13 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Error out if no testsuite could be loaded 2017-07-13 16:43:32 -0400 Thibault Saunier * validate/launcher/apps/gstcheck.py: * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate: launcher: Namespace test name with the testsuite name Also allowing users to pass test names directly 2017-07-13 20:17:51 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate: launcher: Properly use TestsLauncher.list_test to load tests Otherwise we might skip check_defined_tests. 2017-07-18 10:47:00 -0400 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: Remove some dead code CID 1415457 2017-07-18 10:45:29 -0400 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: Plug a minor string leak CID 1415459 2017-07-18 10:42:00 -0400 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: 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:36:34 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Always only use the first description in scenarios Also pluging a leak of the descrption copied structure CID 1415463 2017-07-18 10:27:49 -0400 Thibault Saunier * validate/plugins/ssim/gstvalidatessim.c: validate: ssim: Do not compare unsigned to < 0 CID 1415473 2017-07-18 10:23:31 -0400 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: Plug a string leak CID 1415475 2017-07-18 10:19:23 -0400 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: validate:ssim: Let user know when no file have been compared Fixing a possible division by zero issue. CID 1415482 2017-07-18 10:16:07 -0400 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: validate: Add missing break statement CID 1415485 2017-07-18 10:14:59 -0400 Thibault Saunier * validate/gst/validate/gst-validate-media-info.c: Check g_file_set_contents() return value CID 1415486 2017-07-18 10:12:07 -0400 Thibault Saunier * validate/gst/validate/gst-validate-reporter.c: validate: Plug leak of copy of a va_list CID 1415490 2017-07-18 10:07:34 -0400 Thibault Saunier * validate/gst/validate/gst-validate-element-monitor.c: validate: Do not check NULL pointer uselessly CID 141593 2017-07-18 10:05:02 -0400 Thibault Saunier * validate/gst/validate/gst-validate-report.c: validate: Plug minor leak in issue creation error path CID 1415494 2017-07-18 10:00:03 -0400 Thibault Saunier * validate/gst/validate/gst-validate-media-info.c: 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 09:51:16 -0400 Thibault Saunier * validate/gst/validate/gst-validate-monitor.c: validate: monitor: Add missing break; statement Fixes CID 1415500 2017-07-18 15:50:35 +0200 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: validate-scenario: Fix wrong return value We were always returning ok ... CID #1415484 2017-07-18 15:48:01 +0200 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: validate-scenario: Check g_file_set_contents() return value CID #1415487 2017-07-18 15:45:13 +0200 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: validate-scenario: Fix copy/paste error CID #1415502 2017-07-18 15:43:26 +0200 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: 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:38:04 +0200 Edward Hervey * validate/gst/validate/gst-validate-utils.c: validate-utils: Add NULL check Unlikely to be triggered. And fix typo at the same time CID #1415464 2017-07-14 10:36:49 +0300 Sebastian Dröge * validate/launcher/apps/gstvalidate.py: validate: Un-blacklist scrub_forward_seeking.op2b-mpeg2-wave_hd_mxf It works now after various mxfdemux changes. https://bugzilla.gnome.org/show_bug.cgi?id=764025 2017-07-13 08:45:28 +0200 Edward Hervey * validate/launcher/apps/gstvalidate.py: gstvalidate: Re-allow tests that should be fixed 2017-07-12 14:46:36 +0200 Edward Hervey * validate/tests/check/validate/test-utils.c: check: Remove dead assignments 2017-07-11 10:11:33 -0400 Thibault Saunier * validate/launcher/apps/gstcheck.py: * validate/launcher/baseclasses.py: validate: launcher: Add some missing env variables in command to launch test 2017-07-07 12:26:40 +0100 Tim-Philipp Müller * meson.build: meson: find python3 via python3 module https://bugzilla.gnome.org/show_bug.cgi?id=783198 2017-06-30 12:32:56 -0400 Thibault Saunier * validate/tools/gst-validate.c: validate: Recalculate latency on LATENCY messages 2017-06-30 12:30:40 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Allow setting properties by element factory name 2017-06-30 09:46:57 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: 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:45:02 -0400 Thibault Saunier * validate/gst/validate/gst-validate-report.c: validate: Use Gst printing utils in our reporting system Allowing us to use GST_PTR_FORMAT and friends! 2017-06-28 15:54:13 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Do not check ModuleNotFound exception It is a subclass of ImportError and is avalaible only since 3.6 https://ci.gstreamer.net/job/pitivi-flatpak/626/console 2017-06-28 13:01:47 -0400 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: Disable seek with stop on RTSP streams It is actually not supported 2017-06-23 16:20:01 -0400 Thibault Saunier * meson.build: meson: Allow using glib as a subproject 2017-06-22 15:26:08 -0400 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: Avoid useless and expensive deep copies 2017-06-22 13:08:30 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Speed up xml parsing using lxml if avalaible 2017-06-22 12:01:12 -0400 Thibault Saunier * validate/data/scenarios/disable_subtitle_track_while_paused.scenario: validate: make swicthing subtitle track while paused require prerolling 2017-06-22 11:53:49 -0400 Thibault Saunier * validate/data/scenarios/change_state_intensive.scenario: validate: Fix the change_state_intensive scenario The scenario was in no way certified that the pipeline was in PAUSED state when starting on an stream that does not preroll 2017-06-21 14:36:33 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Enhance playbin3 stream selection error message 2017-06-20 15:51:27 -0400 Thibault Saunier * validate/gst/validate/gst-validate-report.c: validate: Add missing space in segment mismatch issue description 2017-06-20 10:43:54 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Enhance command printing when using a server So it can be copy pasted and work 2017-06-20 10:43:09 -0400 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: No need to use -validate as a tracer for RTSP server It is now linked into the server app 2017-06-16 17:31:19 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Fix launching testsuite with relative paths 2017-06-13 17:13:22 -0400 Thibault Saunier * validate/plugins/extra_checks/gstvalidateextrachecks.c: * validate/plugins/extra_checks/meson.build: * validate/plugins/meson.build: validate: Add a plugin with potential extra checks And add a way to check that a configured number of instances of a particular element is used, this is useful to make sure for example that playing a particular stream doesn't lead to several decoders being instanciated. 2017-06-13 17:11:40 -0400 Thibault Saunier * validate/gst/validate/validate.c: validate: Fix the way we check if _CONFIG is a list of structures 2017-06-13 16:15:20 -0400 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-override.h: validate: overrides: Add a hook about newly added elements in a bin 2017-06-13 16:08:23 -0400 Thibault Saunier * validate/gst/validate/gst-validate-monitor-factory.c: * validate/gst/validate/gst-validate-monitor.c: validate: Attach overrides before calling monitor.setup() 2017-06-08 13:43:41 -0700 Reynaldo H. Verdejo Pinochet * validate/gst-libs/gst/video/gstvalidatessim.c: validate: libs: video: improve ssim's action registrations 2017-06-08 12:30:22 -0400 Thibault Saunier * validate/tools/Makefile.am: validate: Do not link the rtsp server against validatevideo It is not needed https://bugzilla.gnome.org/show_bug.cgi?id=783554 2017-06-08 12:16:24 -0400 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: Do not which(None), the rtsp-server command is unset if not avalaible https://bugzilla.gnome.org/show_bug.cgi?id=783551 2017-06-07 16:18:59 -0400 Thibault Saunier * validate/tools/meson.build: meson: Make dependency on rtsp-server really optionnal 2017-06-07 15:06:10 -0400 Thibault Saunier * validate/launcher/apps/gstcheck.py: * validate/launcher/baseclasses.py: validate:launcher: Handle test that can't be run in parralel 2017-06-07 12:29:17 -0400 Thibault Saunier * validate/tests/check/meson.build: meson: Do not use path separator in test names Avoiding warnings like: WARNING: Target "elements/audioamplify" has a path separator in its name. 2017-06-07 09:16:45 -0400 Thibault Saunier * validate/configure.ac: * validate/launcher/apps/gstvalidate.py: * validate/tools/Makefile.am: * validate/tools/gst-validate-rtsp-server.c: * validate/tools/meson.build: validate: Add 'our own' RTSP server implementation 2017-06-06 16:23:48 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Handle optional tests For example RTSP tests might not be avalaible if gst-rtsp-server-example-uri is not avalaible 2017-06-06 12:45:31 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Print logfiles when printing test result It was often annoying to check wrong logs because the result are not printed near the reference to logs. 2017-06-06 12:42:57 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/validate.c: 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-05 11:35:43 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Fallback to using media_info to determine stream duration In the case the query duration return CLOCK_TIME_NONE. 2017-05-10 08:12:18 -0300 Thibault Saunier * validate/data/scenarios/scrub_backward_seeking.scenario: * validate/data/scenarios/scrub_backward_seeking_full.scenario: * validate/data/scenarios/scrub_forward_seeking.scenario: * validate/data/scenarios/scrub_forward_seeking_full.scenario: * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Do not run scenarios that need prerolling on RTSP stream 2017-04-28 17:59:21 -0300 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/meson.build: validate: Do not print \r in actual files 2014-12-05 12:16:36 +0100 Thibault Saunier * validate/data/scenarios/switch_audio_track_while_paused.scenario: * validate/data/scenarios/switch_subtitle_track_while_paused.scenario: * validate/docs/validate-design.txt: * validate/gst/validate/media-descriptor-writer.c: * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate: Implement RTSP support 2017-06-06 23:39:21 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-reporter.c: validate: reporter: add doc entry for gst_validate_report()'s varargs Avoids GTK-Doc parser warnings 2017-06-06 23:01:32 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-scenario.c: validate: scenario: fix typo/grammar issues in function documentation 2017-06-06 20:56:29 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-scenario.c: validate: actions: drop needless newline before feature-rank and wait Stale new-lines messed the help output of gst-validate -t 2017-06-06 20:25:10 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-scenario.c: 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 19:38:23 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-scenario.c: validate: scenario: fix description for 'seek' and 'stop' 2017-06-06 18:50:47 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/validate.c: validate: fix documentation for gst_validate_init() 2017-06-02 16:51:21 -0400 Thibault Saunier * validate/win32/common/libgstvalidate.def: validate: Update win32 def file 2017-06-01 16:38:25 -0400 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/media-descriptor.c: * validate/plugins/ssim/gstvalidatessim.c: validate: Make Reporter.runner a MT safe weak reference It can be used in any thread! 2017-05-31 14:06:04 -0400 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: Add missing is_live implementation for FakeMediaDescriptor 2017-05-30 17:42:07 -0400 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: validate: Fix json serialized object leaks 2017-05-30 16:15:19 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Handle not redirecting valgrind output 2017-05-30 16:14:51 -0400 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate:launcher: Add a way to pass arguments to the leak tracer 2017-05-30 16:13:08 -0400 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-bin-monitor.h: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-element-monitor.h: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-scenario.h: * validate/plugins/ssim/gstvalidatessim.c: 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-05-18 15:21:41 +0200 Thibault Saunier * validate/gst/validate/gst-validate-monitor.c: validate: monitor: Unref our weak reference to the pipeline 2017-04-28 18:02:05 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/plugins/gtk/gstvalidategtk.c: * validate/tests/check/validate/monitoring.c: * validate/tests/check/validate/padmonitor.c: * validate/tools/gst-validate.c: 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-25 15:57:33 +0200 Edward Hervey * validate/data/scenarios/change_state_intensive.scenario: * validate/data/scenarios/full_live_rewind.scenario: * validate/data/scenarios/play_15s_live.scenario: * validate/data/scenarios/seek_end_live.scenario: scenarios: Add/Update scenarios for live contents 2017-05-25 15:50:23 +0200 Edward Hervey * validate/launcher/baseclasses.py: validate: Implement Scenario.__repr__ Allows better debugging when looking at logs 2017-05-25 13:55:52 +0200 Edward Hervey * validate/launcher/baseclasses.py: validate: Add live-related features to scenarios and medias Note: The notion of "live" here is in the *content* sense and not in the GStreamer sense. Ex: * A rtsp stream is always "live" in the GStreamer sense but might not always provide live content. * HLS/DASH streams are not "live" in the GStreamer sense but might provide "live" content. Some scenarios might: * require live content * not be compatible with live content This patch adds two new properties for scenarios: * live_content_required (default False) for scenarios that can only work with live content. * live_content_compatible (default False) for scenarios that can work with both live and non-live content. This patch adds support for reading a "live" property from stream_info 2017-05-20 12:26:31 +0200 Víctor Manuel Jáquez Leal * validate/gst/validate/validate.c: 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-05 14:57:20 +0200 Edward Hervey * validate/gst/validate/gst-validate-report.c: validate-report: Don't leak GError 2017-05-05 14:57:56 +0200 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: 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-03 17:57:05 +0200 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: 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-04 14:45:32 -0700 Reynaldo H. Verdejo Pinochet * validate/tools/gst-validate-images-check.c: validate: drop superfluous whitespace from cmd description 2017-05-01 13:51:48 -0700 Scott D Phillips * validate/tools/gst-validate-images-check.c: validate: remove const from outfolder GOptionEntry's arg_data is of type gpointer which differs in constness from const gchar*, so remove constness from outfolder. This fixes a build issue with msvc. https://bugzilla.gnome.org/show_bug.cgi?id=782031 2017-05-04 18:59:42 +0300 Sebastian Dröge * meson.build: Back to development 2017-05-04 18:59:14 +0300 Sebastian Dröge * validate/configure.ac: Back to development === release 1.12.0 === 2017-05-04 15:48:44 +0300 Sebastian Dröge * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.12.0 2017-04-30 14:35:29 -0300 Thibault Saunier * validate/launcher/baseclasses.py: launcher: Allow using the base launcher as a test manager No reason to force people to subclass it in simple cases. 2017-04-27 16:45:00 -0300 Thibault Saunier * validate/tools/gst-validate.c: tools: Fix dotfile name === release 1.11.91 === 2017-04-27 17:54:05 +0300 Sebastian Dröge * meson.build: * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.11.91 2015-08-16 13:32:04 +0200 Thibault Saunier * validate/data/scenarios/update_stop.scenario: validate: Fix update_stop.scenario seek property naming 2017-04-20 10:02:58 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: launcher:check: Ensure to set build dir before rebuilding 2017-04-11 07:48:21 +0200 Edward Hervey * validate/launcher/baseclasses.py: baseclasses: Add method to set a specific list of scenarios https://bugzilla.gnome.org/show_bug.cgi?id=781314 2017-04-07 13:49:32 -0700 Reynaldo H. Verdejo Pinochet * validate/gst-libs/gst/video/gstvalidatessim.c: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-scenario.c: * validate/plugins/ssim/gstvalidatessim.c: validate: drop unneeded break+concat in some string literals Perform other related improvements while at it. 2017-04-12 11:07:44 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: 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-10 17:06:25 +0300 Sebastian Dröge * meson.build: Update meson.build version to 1.11.90 too 2017-04-10 11:43:28 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: validate-pad-monitor: Fix previous commit Post-send handling was only meant for seek events 2017-04-10 07:58:01 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: 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 === release 1.11.90 === 2017-04-07 16:36:04 +0300 Sebastian Dröge * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.11.90 2017-04-05 15:26:31 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-scenario.c: validate: scenario: fix error message on scenario parsing failure 2017-04-05 14:40:12 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-report.c: validate: report: avoid pointless var & associated dup/free Just pass the replacement string literal to _regex_replace(). 2017-04-05 14:09:53 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-report.c: validate: report: avoid _strdup_printf() if not needed g_strdup() is enough for this string literal. 2017-03-31 15:18:09 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-report.c: 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-04 14:52:17 +0200 Edward Hervey * validate/launcher/apps/gstvalidate.py: validate: Improve video fakesink properties Try to emulate a bit better a real video sink by making the video fakesink handle/calculate/report QoS. Also use the same lateness value as default videosink 2017-03-28 14:35:38 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-scenario.c: validate: scenario: improve description blurb for execute-on-idle Additionally: Fix issues in _register_action_type() documentation. 2017-03-28 14:01:16 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-scenario.c: validate: scenario: fix msg on _lookup_feature() failure 2017-03-28 13:30:04 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: scenario: fix documentation for GstValidateAction Additionally: Improve GstValidatePrepareAction documentation Correct one-off use of 'eos' instead of EOS. 2017-03-28 12:51:12 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-scenario.c: validate: scenario: fix type field in description parameter Nothing wrong with Sting though :) Additionally: Fix typo in need-clock-sync's description 2017-03-21 16:22:50 -0700 Reynaldo H. Verdejo Pinochet * validate/gst-libs/gst/video/gssim.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/media-descriptor.c: validate: do not check for NULL before g_free() g_free() is NULL-safe. 2017-03-20 15:39:24 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor.c: validate: fix issues with a couple of string constants Fix missing and/or dupplicated separators, bogus breaks, typos, etc. 2017-03-20 14:36:36 -0700 Reynaldo H. Verdejo Pinochet * validate/tools/gst-validate-images-check.c: * validate/tools/gst-validate-transcoding.c: validate: fix whitespace separators in multi-line string constants Drop dupplicated & add missing ones Additionally: typo fixes 2017-03-04 11:13:33 -0500 Nicolas Dufresne * validate/gst/validate/Makefile.am: * validate/gst/validate/meson.build: * validate/plugins/fault_injection/socket_interposer.c: * validate/plugins/gapplication/gstvalidategapplication.c: * validate/plugins/gtk/gstvalidategtk.c: * validate/plugins/ssim/gstvalidatessim.c: 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-03 21:31:02 +0100 Stefan Sauer * tracer/gsttr-tsplot.py: tracer: tsplot: tune the plot style a bit Tweak the styles and spacing. Make the title multi-line and add more info. 2017-03-01 15:06:59 -0800 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-report.c: validate: report: avoid unnecessary calls to _append_printf Additionally: simplify %format magic used for padding 2017-03-01 14:04:24 -0800 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-report.c: 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-01 13:49:01 -0800 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-report.c: validate: report: fix _issue_new()'s parameter description 2017-03-02 21:27:05 +0100 Stefan Sauer * tracer/gsttr-tsplot.py: tracer: tsplot: ensure multiplots use same xrange Only this way one can visually align events with buffer graphs. 2017-02-15 17:53:05 +0100 Stefan Sauer * tracer/gsttr-tsplot.py: tracer: tsplot: add a 3rd plot showing cycle vs. durations This is helpful to spot time-segments where we processes slower than required for real-time playback. 2017-03-02 17:35:22 +0100 Edward Hervey * validate/launcher/RangeHTTPServer.py: validate: Make the HTTP server multi-threaded Avoids having one test blocking all other tests 2017-02-27 12:10:49 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Add information on media info files parsing failures 2017-02-27 12:10:16 -0300 Thibault Saunier * validate/gst/validate/media-descriptor.c: validate: Ignore more parser related fields when comparing media caps 2017-02-20 12:52:06 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate: launcher: Fix the way we retrieve command name We are now using a list of args for subprocess so just using it is simple now 2017-02-20 12:51:26 -0300 Thibault Saunier * meson.build: * validate/launcher/meson.build: validate:launcher: Fix typo in meson build definitions 2017-02-17 16:29:15 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate: Fix call to decode() on a string 2017-02-24 14:40:25 -0800 Reynaldo H. Verdejo Pinochet * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: fix mention to nonexistent option 2017-02-24 11:29:31 -0800 Reynaldo H. Verdejo Pinochet * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: improve set-config option description 2017-02-24 17:32:16 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate:launcher: Fix setting meson build dir 2017-02-24 16:00:19 +0200 Sebastian Dröge * meson.build: meson: Update version 2017-02-24 15:37:52 +0200 Sebastian Dröge * validate/configure.ac: Back to development === release 1.11.2 === 2017-02-24 15:10:12 +0200 Sebastian Dröge * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.11.2 2017-02-21 13:39:37 -0300 Thibault Saunier * validate/launcher/apps/meson.build: * validate/launcher/baseclasses.py: * validate/tools/meson.build: validate:launcher: Various fixes to make the Test class directly usable And the launcher installed with meson usable 2017-02-21 13:38:16 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate: launcher: Do not force using current module dir to run check tests 2017-02-17 13:37:06 -0800 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-scenario.c: * validate/plugins/gtk/gstvalidategtk.c: * validate/plugins/ssim/gstvalidatessim.c: validate: fix multiple occurrences of 'parametter' 2017-02-17 13:23:34 -0800 Reynaldo H. Verdejo Pinochet * validate/tools/gst-validate.c: validate: fix unbalanced quotation mark in set-subtitle description + Remove pointless split in string literal 2017-02-16 15:12:44 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Take ValidateAction execution as a marker of test update 2017-02-16 14:52:15 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/launcher/baseclasses.py: validate:scenario: Report action done with the execution duration 2017-02-16 13:46:06 -0800 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-runner.c: 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 13:30:06 -0800 Reynaldo H. Verdejo Pinochet * validate/tools/gst-validate.c: validate: fix message on runner errors - Add newline char to avoid accidental concatenation with actual error message - Fix grammar while at it 2017-02-15 18:31:38 -0300 Thibault Saunier * validate/gst/validate/meson.build: 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:00:00 -0300 Thibault Saunier * validate/gst/validate/meson.build: meson: Do not forget to install headers 2017-02-15 00:48:26 +0000 Tim-Philipp Müller * validate/pkgconfig/gst-validate-uninstalled.pc.in: validate: pkgconfig: fix libtool-ism in uninstalled .pc file 2017-02-15 13:46:03 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: 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 12:39:18 -0300 Thibault Saunier * meson_options.txt: * validate/meson.build: validate: meson: Add a way to disable documentation generation 2017-02-10 15:54:05 -0300 Thibault Saunier * validate/tools/meson.build: validate:meson: Build gst-validate-image-check if possible 2017-02-08 17:46:23 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: * validate/launcher/baseclasses.py: * validate/launcher/testsuites/check.py: validate:launcher: Add a way to specify a set of tests to run under the leak tracer https://bugzilla.gnome.org/show_bug.cgi?id=767856 2017-02-10 18:15:15 +0100 Stefan Sauer * tracer/gsttr-tsplot.py: tracer: tsplot: separate the event section Place the events below the buffer-ts. This makes it more readable in many cases. 2017-02-09 15:52:40 +0100 Stefan Sauer * tracer/gsttr-stats.py: * tracer/gsttr-tsplot.py: tracer: tools: add a brief tool description 2017-02-09 15:15:23 +0100 Stefan Sauer * tracer/gsttr-tsplot.py: tracer: tsplot: a new tool to draw buffer-ts vs. clock time graphs This tool helps to inspect data flow on each pad. It shows buffer timestamps and events in relation to wall clock. 2017-02-05 19:37:51 +0100 Stefan Sauer * tracer/README: tracer: REAME: planning update 2017-02-05 19:37:07 +0100 Stefan Sauer * tracer/gsttr-stats.py: tracer: stats: python style cleanup 2017-02-07 12:57:06 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-override-registry.c: 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-07 12:50:33 +0100 Guillaume Desmottes * validate/tests/check/validate/overrides.c: validate: fix leak in overrides test The runner was never released. https://bugzilla.gnome.org/show_bug.cgi?id=778279 2017-02-07 12:04:45 +0100 Guillaume Desmottes * validate/tests/check/validate/padmonitor.c: validate: fix leaks in pad monitor test - monitors were never released - reports were leaked - GstValidateMediaDescriptor was leaked - caps were leaked: gst_check_setup_events_with_stream_id() and gst_event_new_caps() don't consume the caps - srcpad were never released https://bugzilla.gnome.org/show_bug.cgi?id=778279 2017-02-07 12:28:02 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-pad-monitor.c: 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-07 13:12:09 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/launcher/baseclasses.py: * validate/launcher/reporters.py: * validate/launcher/utils.py: validate: Mark tests as SKIPPED when installation is missing a GStreamer plugin 2017-02-06 15:51:57 -0300 Thibault Saunier * validate/gst/validate/media-descriptor.c: 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 12:16:41 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate:launcher: Add an option for user to modify timeout values Allowing to expand the test timeout when running on slow platforms 2017-02-03 11:02:49 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Verify that Gst supression file could be found 2017-02-02 15:47:30 -0300 Thibault Saunier * validate/gst-libs/gst/video/meson.build: validate:meson: Add pbutils as a dependency on the video library 2017-02-02 14:29:30 +0100 Guillaume Desmottes * validate/tests/launcher_tests/meson.build: validate: meson: fix --validate-tools-path argument The path passed to --validate-tools-path was wrong when building using gst-build, preventing the launcher to find the validate tools. https://bugzilla.gnome.org/show_bug.cgi?id=777982 Differential Revision: https://phabricator.freedesktop.org/D1634 2017-02-02 08:19:01 -0300 Thibault Saunier * validate/plugins/ssim/meson.build: validate:meson: Add pbutils as a dependency Fixing build failure https://ci.appveyor.com/project/thiblahute/gst-build-ge9m5/build/1.0.1197 FAILED: cl @subprojects/gst-devtools/validate/gst-libs/gst/video/gstvalidatevideo@sta/gstvalidatessim.c.obj.rsp c:\projects\gst-build-ge9m5\subprojects\gst-plugins-base\gst-libs\gst\pbutils\pbutils.h(30): fatal error C1083: Cannot open include file: 'gst/pbutils/pbutils-enumtypes.h': No such file or directory FAILED: cl @subprojects/gst-devtools/validate/plugins/ssim/gstvalidatessim@sha/gstvalidatessim.c.obj.rsp c:\projects\gst-build-ge9m5\subprojects\gst-plugins-base\gst-libs\gst\pbutils\pbutils.h(30): fatal error C1083: Cannot open include file: 'gst/pbutils/pbutils-enumtypes.h': No such file or directory 2017-01-30 22:22:20 +0000 Thibault Saunier * validate/gst/validate/validate.c: validate: Avoid assertion when trying to pass the config as a caps 2017-01-31 08:24:32 -0300 Thibault Saunier * validate/gst-libs/gst/video/meson.build: validate: Fix build if cairo is not avalaible 2017-01-30 22:20:11 +0000 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: validate:plugins: Handle the case where we have a pipelines with only 1 frame 2017-01-31 11:35:30 +0100 Guillaume Desmottes * validate/tests/check/validate/monitoring.c: * validate/tests/check/validate/overrides.c: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/reporting.c: validate: tests: call gst_validate_deinit() gst_validate_deinit() needs to be called when the test is done to remove false positives when using the leaks tracer. https://bugzilla.gnome.org/show_bug.cgi?id=777977 Differential Revision: https://phabricator.freedesktop.org/D1630 2017-01-30 19:19:04 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:launcher: Allow passing extra env var to simple pipeline generator 2017-01-30 21:19:00 +0000 Thibault Saunier * meson.build: * validate/gst-libs/gst/meson.build: * validate/gst-libs/gst/video/meson.build: * validate/gst-libs/meson.build: * validate/meson.build: * validate/plugins/fault_injection/meson.build: * validate/plugins/gapplication/meson.build: * validate/plugins/gtk/meson.build: * validate/plugins/meson.build: * validate/plugins/ssim/meson.build: meson:validate: Build validate plugins 2017-01-24 12:28:15 +0900 Wonchul Lee * validate/gst/validate/Makefile.am: validate: fix linker flags for validate plugin https://bugzilla.gnome.org/show_bug.cgi?id=777938 2017-01-25 21:41:31 +0000 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: Handle the case where QUERY has an EMPTY caps filter In our algorithm describing caps negotiation issues. 2017-01-10 12:32:31 -0300 Thibault Saunier * validate/gst/validate/media-descriptor.c: 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-13 12:39:29 +0000 Tim-Philipp Müller * meson.build: meson: bump version 2017-01-12 16:33:03 +0200 Sebastian Dröge * validate/configure.ac: Back to development === release 1.11.1 === 2017-01-12 16:28:02 +0200 Sebastian Dröge * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.11.1 2017-01-06 13:14:17 -0300 Thibault Saunier * meson.build: validate: Fix setting of the testsuite version If nano is set, it means we are running in git/unreleased version 2017-01-06 12:09:13 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: * validate/launcher/baseclasses.py: validate: Make sure to update children environment from current env And minor fix in function call 2017-01-06 11:48:01 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate: check: Enhance test names 2017-01-04 17:40:59 +0100 Guillaume Desmottes * validate/pkgconfig/Makefile.am: * validate/pkgconfig/gst-validate-uninstalled.pc.in: * validate/pkgconfig/meson.build: meson: generate pkg-config -uninstalled pc files Generating those files is useful for users building the GStreamer stack using meson and having to link it to another project which is still using the autotools. Fixed the -uninstalled pc file libdir path while I was on it. https://bugzilla.gnome.org/show_bug.cgi?id=776810 2017-01-03 16:25:47 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Make the IPC server socket blocking 0.0 does not mean blocking in python3 and makes everything failling on windows. 2017-01-03 15:58:35 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate: Properly kill subprocesses on windows 2017-01-03 15:34:39 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/config.py.in: * validate/tools/gst-validate-launcher.in: validate:launcher: Fix running on windows 2017-01-03 14:52:38 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate: Respect active testers when listing tests 2017-01-03 14:38:24 -0300 Thibault Saunier * validate/launcher/__init__.py: * validate/tools/gst-validate-launcher.in: validate: Make validate launcher apps work in a meson uninstalled env 2017-01-03 13:11:42 -0300 Thibault Saunier * validate/launcher/apps/Makefile.am: * validate/launcher/apps/gstcheck.py: validate: Fix gstcheck when not running on a meson build dir 2017-01-03 13:01:31 -0300 Thibault Saunier * validate/configure.ac: * validate/launcher/Makefile.am: * validate/launcher/apps/gstcheck.py: * validate/launcher/baseclasses.py: * validate/launcher/config.py.in: * validate/launcher/main.py: * validate/launcher/meson.build: * validate/launcher/testsuites/Makefile.am: * validate/launcher/testsuites/check.py: * validate/launcher/testsuites/meson.build: Revert "Revert "validate:launcher: Add an app handler for unit tests described in meson"" This reverts commit 5656e2a1b208155be36cf16b08a9ffcc95694328. 2017-01-03 07:05:12 +0100 Edward Hervey * validate/launcher/main.py: validate: Ensure non-standard testsuite location is taken into account This is a regression that was introduced by 6504b9152cfd2d78ee3d773a0a32eec1900f955c If we have non-standard main_dir or qa_assets, make sure we prepend the checked-out testsuites directory to the list of expected ones 2017-01-02 16:11:22 +0100 Edward Hervey * validate/configure.ac: * validate/launcher/Makefile.am: * validate/launcher/apps/gstcheck.py: * validate/launcher/baseclasses.py: * validate/launcher/config.py.in: * validate/launcher/main.py: * validate/launcher/meson.build: * validate/launcher/testsuites/Makefile.am: * validate/launcher/testsuites/check.py: * validate/launcher/testsuites/meson.build: Revert "validate:launcher: Add an app handler for unit tests described in meson" This reverts commit a4aa5c60bb2015f006103317800fb1fddb5718e6. Does not work outside of gst-build (i.e. validate won't work when used either installed, in a prefix, or in gst-uninstalled). 2016-12-30 11:53:13 +0100 christophecvr * mediainfo/autogen.sh: * mediainfo/configure.ac: * mediainfo/src/Makefile.am: mediainfo: update build setup Fix intltool build setup to make it build on ubuntu 16.04 as well. Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=776523 2016-12-30 11:43:01 +0100 Stefan Sauer * mediainfo/src/mi-info.vala: mediinfo: use less deprecated gtk api 2016-12-30 11:41:10 +0100 Stefan Sauer * mediainfo/configure.ac: mediainfo: use libgee-0.8 We were using libgee-0.6 which was using gee-1.0 in pkgconfig. https://bugzilla.gnome.org/show_bug.cgi?id=776523 2016-12-28 20:29:50 +0100 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: mediinfo: replace some deprecated UI by the new one 2016-12-28 20:29:23 +0100 Stefan Sauer * mediainfo/vapi/config.vapi: mediinfo: remove unused field 2016-12-28 20:27:58 +0100 Stefan Sauer * mediainfo/src/Makefile.am: mediainfo: remove 0.10 libs We check those in configure anyway. 2016-12-25 11:34:33 +0100 Stefan Sauer * tracer/tracer/analysis_runner.py: * tracer/tracer/parser.py: * tracer/tracer/parser_perf.py: * tracer/tracer/parser_test.py: tracer: parser: small speedup Add a parser_perf test. Skip the extra filter stage and change the regex to match on category=TRACE lines only. Also flip the check in analysis_runner, since we only have a few tracer classes in the beginning, the rest are tracer entries. 2016-12-22 16:23:02 +0100 Stefan Sauer * tracer/gsttr-stats.py: tracer: gsttr-stats: add a fast path for tracer-entry matching Extract the structure name from the string and only parse the full structure, if we are going to handle it. 2016-12-23 15:00:53 -0300 Thibault Saunier * validate/tools/gst-validate-transcoding.c: validate-transcoding: Use standard GstEncodingProfile deserialization function 2016-12-23 14:58:56 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Take into account test duration when filtering them Otherwise running -t 'some.*test' will run long tests (longer than hard timeout) which is not what the user expect. 2016-12-22 19:24:22 +0200 Sebastian Dröge * validate/gst/validate/gst-validate-runner.c: 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 10:08:32 -0300 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: validate: Add safe guards to runner API 2016-12-22 10:08:31 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate: Whitlist blacklisted test only when explicitely Otherwise running -t '.*reverse.*' will also run blacklisted tests which is probably not what use wants. 2016-12-22 10:08:30 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/main.py: launcher: Make --update-media-info check if generating frames info or not 2016-12-22 10:08:28 -0300 Thibault Saunier * validate/configure.ac: * validate/launcher/Makefile.am: * validate/launcher/apps/gstcheck.py: * validate/launcher/baseclasses.py: * validate/launcher/config.py.in: * validate/launcher/main.py: * validate/launcher/meson.build: * validate/launcher/testsuites/Makefile.am: * validate/launcher/testsuites/check.py: * validate/launcher/testsuites/meson.build: validate:launcher: Add an app handler for unit tests described in meson This way we can run all tests with the launcher which brings in many features. And add a testsuite for GStreamer unit tests. 2016-12-22 10:08:27 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Allow specifying a timeout factor 2016-12-22 10:08:26 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Print the iteration number when running forever 2016-12-22 10:08:25 -0300 Thibault Saunier * validate/launcher/main.py: validate:launcher: Add a -v option to print subprocesses to stdout 2016-12-22 10:08:24 -0300 Thibault Saunier * validate/launcher/main.py: validate:launcher: Run cpu_count test in parallel by default 2016-12-22 10:08:23 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate:launcher: Do not list tests on unneeded testers 2016-12-22 10:08:21 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate:launcher: Allow specifying several testsuite dirs 2016-12-22 10:07:58 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Stop running test subprocesses in a shell And instead properly use a list of argument for the subprocesses. 2016-12-20 21:00:58 +0100 Stefan Sauer * tracer/gsttr-stats.py: tracer: gsttr-stats: don't average aggregated values Only collect the first/last values for them. 2016-12-20 12:10:43 +0100 Stefan Sauer * tracer/gsttr-stats.py: tracer/gsttr-stats: skip optional fields 2016-12-20 12:09:21 +0100 Stefan Sauer * tracer/tracer/structure.py: * tracer/tracer/structure_test.py: tracer/structure: handle boolean fields 2016-12-20 10:27:45 +0100 Stefan Sauer * tracer/gsttr-stats.py: tracer/gsttr-stats: improve formatting Add a headline and print the results as columns. Use ':' in ts format. 2016-12-20 10:26:55 +0100 Stefan Sauer * tracer/README: tracer/README: update docs Update status of what is done and what we want to figure still. 2016-12-20 09:25:30 +0100 Stefan Sauer * tracer/tracer/parser.py: tracer/parser: use local vars in the iterator function This saves variable lookups in this thight loop. 2016-12-20 08:24:32 +0100 Stefan Sauer * tracer/tracer/analysis_runner.py: * tracer/tracer/analysis_runner_test.py: * tracer/tracer/analyzer.py: * tracer/tracer/parser.py: * tracer/tracer/parser_test.py: * tracer/tracer/structure.py: * tracer/tracer/structure_perf.py: * tracer/tracer/structure_test.py: tracer: pep8 cleanup 2016-12-20 08:17:34 +0100 Stefan Sauer * tracer/tracer/analysis_runner.py: * tracer/tracer/analyzer.py: * tracer/tracer/parser.py: * tracer/tracer/structure.py: tracer: update docstrings 2016-12-19 22:37:20 +0100 Stefan Sauer * tracer/tracer/structure.py: tracer/structure: improve performance Use local vars in the parser. This way we can make them static methods. 2016-12-16 15:00:04 +0100 Stefan Sauer * tracer/gsttr-stats.py: * tracer/tracer/analysis_runner.py: tracer/gsttr-stats: adding some filtering options Also adding a way to show what is in the file. 2016-12-16 14:08:46 +0100 Stefan Sauer * tracer/Makefile: * tracer/tracer/parser_test.py: tracer/Makefile: fix test invocation And fix a deprecation warning. 2016-12-16 14:07:45 +0100 Stefan Sauer * tracer/tracer/structure.py: * tracer/tracer/structure_perf.py: * tracer/tracer/structure_test.py: tracer/structure: add more tests and a benchmark 2016-12-14 21:28:12 +0100 Stefan Sauer * tracer/gsttr-stats.py: tracer/gsttr-stats: move time unit hack into method 2016-12-14 19:07:22 +0100 Stefan Sauer * tracer/gsttr-stats.py: * tracer/tracer/analysis_runner.py: * tracer/tracer/analysis_runner_test.py: * tracer/tracer/analyzer.py: tracer/gsttr-stats: split Analyzer into Analyzer and AnalysisRunner This lets us run chain analyzers. Move the stats collection into the gsttr-stats tool. 2016-12-12 22:41:23 +0100 Stefan Sauer * tracer/gsttr-stats.py: tracer: add a first tool to report aggregated findings A tool to report min/max/avg values per scope and traced value. 2016-12-12 22:38:57 +0100 Stefan Sauer * tracer/Makefile: * tracer/README: * tracer/tracer/analyzer.py: * tracer/tracer/analyzer_test.py: * tracer/tracer/parser.py: * tracer/tracer/parser_test.py: * tracer/tracer/structure.py: * tracer/tracer/structure_test.py: tracer: add new python library to process tracer logs This is the beginning of a python library for wrting tools that process tracer logs. This library contains a structure parser written in python to avoid the dependency on gobject introspection (and the slowness and non pythoness that comes with it). 2016-12-13 13:26:35 +0100 Stefan Sauer * debug-viewer/GstDebugViewer/Data.py: debug-viewer: inline expression 2016-12-19 16:17:56 +0100 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: 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-12 15:07:30 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: validate: Fix usage of get_stack)trace after API change 2016-12-12 12:27:42 -0300 Thibault Saunier * validate/tools/gst-validate-transcoding.c: validate: transcode: No buffering handling when the sink is not synced on the clock It makes no sense to pause the pipeline and wait for buffering to be done when the pipeline is just processing the data as it comes in without synchronizing on the clock. 2016-12-09 17:43:53 -0300 Thibault Saunier * meson.build: meson: Support building without Gst debug 2016-12-07 15:11:33 -0800 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: fix small grammar nit 2016-12-01 10:51:56 -0300 Thibault Saunier * validate/launcher/reporters.py: launcher: Handle stack trace information as jenkins expect it in the xunit file 2016-11-30 14:07:04 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Handle missing media info file 2016-11-30 13:32:09 -0300 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/tests/launcher_tests/test_validate.py: 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-18 14:45:42 -0300 Thibault Saunier * validate/tests/check/meson.build: * validate/tests/getpluginsdir: * validate/tests/launcher_tests/meson.build: * validate/tests/meson.build: * validate/tools/meson.build: meson: Modernize the way we set test env variables Removing the now useless getplugindirs script 2016-11-30 07:40:05 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Make sure that the IPC server is shutdown before closing the socket 2016-11-29 14:47:35 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Make sure to check string when verifying expected failures The value can potentially be None and we should handle that 2016-11-26 10:25:43 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate:launcher: Allow specifying timeout as a known issue And minor cleanups 2016-11-26 10:24:11 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/reporters.py: validate:launcher: Properly report stack trace as such in the xunit file 2016-11-26 09:27:45 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Remove now useless validatelog We are now doing IPC to communicate with the launcher so let it simply go to stdout. 2016-11-24 10:29:53 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate:launcher: Handle checking bug status for expected failures 2016-11-26 11:26:05 +0000 Tim-Philipp Müller * .gitmodules: common: use https protocol for common submodule https://bugzilla.gnome.org/show_bug.cgi?id=775110 2016-11-23 08:38:49 -0300 Thibault Saunier * validate/gst/validate/gst-validate-monitor-factory.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Fix GI warnings 2016-11-19 12:36:32 +0200 Sebastian Dröge * meson.build: * validate/meson.build: meson: Move vs_module_defs_dir to the validate subdirectory It's validate/win32/ and not just win32/ https://bugzilla.gnome.org/show_bug.cgi?id=774638 2016-11-18 10:06:14 -0800 Scott D Phillips * validate/Makefile.am: * validate/win32/MANIFEST: * validate/win32/common/libgstvalidate.def: validate: make: include common/win32.mak With the addition of the .def file for validate we need to make sure the check-export script from common gets executed so that the .def stays up to date. https://bugzilla.gnome.org/show_bug.cgi?id=774638 2016-11-17 17:26:49 -0800 Scott D Phillips * meson.build: meson: Add ignored warnings for MSVC https://bugzilla.gnome.org/show_bug.cgi?id=774656 2016-11-17 10:00:25 -0800 Scott D Phillips * meson.build: * validate/gst/validate/meson.build: * win32/common/libgstvalidate.def: Enable building with MSVC https://bugzilla.gnome.org/show_bug.cgi?id=774638 2016-11-17 10:28:01 -0800 Scott D Phillips * validate/gst/validate/gst-validate-pad-monitor.c: 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 10:25:37 -0800 Scott D Phillips * validate/gst/validate/validate.c: validate: Remove #include 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 10:24:08 -0800 Scott D Phillips * validate/gst/validate/gst-validate-pad-monitor.c: * validate/tools/gst-validate-transcoding.c: Fix MSVC const warnings https://bugzilla.gnome.org/show_bug.cgi?id=774638 2016-11-17 10:19:22 -0800 Scott D Phillips * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-scenario.c: 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 15:43:15 -0300 Thibault Saunier * validate/launcher/main.py: validate: Minor documentation fixes. 2016-11-16 10:47:21 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: * validate/launcher/utils.py: validate: launcher: Allow checking if bugs linked to blacklist is fixed 2016-11-16 10:48:26 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Consider wanted tests as whitelisted 2016-11-15 18:55:09 -0300 Thibault Saunier * validate/gst/validate/meson.build: validate: meson: Do not mixup gstvalidate lib and tracer plugin Even though it is mostly the same thing in the end 2016-11-14 18:41:34 -0300 Thibault Saunier * validate/launcher/utils.py: validate:launcher: Timeout if running gdb takes too much time 2016-10-29 11:22:31 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate:launcher: Allow running the testsuite N number of times 2016-11-14 13:05:04 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/media-descriptor-writer.c: validate: Remove extra buffering status prints 2016-11-09 17:37:24 -0300 Thibault Saunier * validate/launcher/utils.py: validate:launcher: Fix usage in an uninstalled environment 2016-11-08 18:06:19 -0300 Thibault Saunier * validate/config.h.meson: * validate/configure.ac: * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/meson.build: * validate/meson.build: validate: Use gst_debug_get_stack_trace instead of our implementation And remove now useless config.h.meson file 2016-11-07 17:20:09 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate:launcher: Try to generate a backtrace on segfaults 2016-11-04 18:04:37 -0300 Thibault Saunier * hooks/pre-commit-python.hook: * validate/launcher/RangeHTTPServer.py: * validate/launcher/__init__.py: * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/config.py.in: * validate/launcher/httpserver.py: * validate/launcher/loggable.py: * validate/launcher/main.py: * validate/launcher/reporters.py: * validate/launcher/utils.py: * validate/launcher/vfb_server.py: * validate/tools/gst-validate-analyze: * validate/tools/gst-validate-launcher.in: validate:launcher: Port to Python3 And sync logging.py with Pitivi version 2016-11-04 14:45:19 -0300 Thibault Saunier * meson.build: meson: Unset the plugin paths to generate the .gir files Avoiding problems when using subproject: 'Failed to load plugin something.so file too short' 2016-11-03 16:17:08 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: 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 11:22:08 -0300 Thibault Saunier * validate/gst/validate/Makefile.am: * validate/gst/validate/meson.build: 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-02 08:28:27 -0300 Thibault Saunier * meson.build: * validate/meson.build: validate: Allow using json-glib as a subproject 2016-11-02 17:25:21 -0300 Thibault Saunier * validate/tools/gst-validate-media-check.c: validate: media check: Always print runner infos when bailing out. 2016-11-02 12:43:54 -0300 Thibault Saunier * validate/launcher/vfb_server.py: validate:launcher: Do not try to set DISPLAY envvar to None 2016-11-01 18:11:13 +0000 Tim-Philipp Müller * meson.build: meson: update version === release 1.11.0 === 2016-11-01 18:53:16 +0200 Sebastian Dröge * validate/configure.ac: Back to development === release 1.10.0 === 2016-11-01 18:16:13 +0200 Sebastian Dröge * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.10.0 2016-10-26 17:58:58 +0200 Edward Hervey * validate/data/scenarios/Makefile.am: scenarios: Simplify Makefile 2016-10-26 17:51:37 +0200 Edward Hervey * validate/data/scenarios/Makefile.am: * validate/data/scenarios/trick_mode_seeks.scenario: scenarios: Add a forward key-unit trick mode scenario Not enabled for the time being 2016-10-26 17:34:49 +0200 Edward Hervey * validate/launcher/baseclasses.py: baseclasses: Also check for minimum number of video-tracks Some scenarios might only be for video files and are meaningless for audio-only files 2016-10-25 08:53:59 -0700 Scott D Phillips * meson.build: meson: Don't depend on gstreamer-check-1.0 on windows https://bugzilla.gnome.org/show_bug.cgi?id=773114 2016-10-25 10:52:12 +0530 Nirbheek Chauhan * meson.build: * validate/tests/check/meson.build: Revert "meson: move gstreamer-check-1.0 dependency to validate/tests/check" This reverts commit e8e51bdad499b38d2acc0216dc124bb82b0bd72b. Does not actually work. See: https://bugzilla.gnome.org/show_bug.cgi?id=773114#c31 2016-10-21 00:48:47 -0700 Scott D Phillips * meson.build: * validate/tests/check/meson.build: meson: move gstreamer-check-1.0 dependency to validate/tests/check https://bugzilla.gnome.org/show_bug.cgi?id=773114 2016-10-18 15:41:11 +0200 Edward Hervey * validate/launcher/apps/gstvalidate.py: validate: Blacklist failing hls tests See https://bugzilla.gnome.org/show_bug.cgi?id=773159 2016-10-14 11:05:26 -0400 Nicolas Dufresne * validate/gst/validate/Makefile.am: Also fix link issue in the plugin with libdw 2016-10-14 10:52:53 -0400 Nicolas Dufresne * validate/gst/validate/gst-validate-report.c: Fix non-C89 code In the automake build system we force C89 which does not allow mixing code and declaration. 2016-10-14 10:48:16 -0400 Nicolas Dufresne * validate/gst/validate/Makefile.am: 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-10 15:59:49 +0200 Stefan Sauer * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: debug-viewer: window: add helper to get visible range Move this code to the window class, as multiple plugins are going to need it. 2016-10-09 12:55:59 +0200 Stefan Sauer * debug-viewer/GstDebugViewer/GUI/models.py: degbug-viewer: models: only temporarilly modify the row for filtering This avoid that we have to chek the type in the getter. Also update the comment - we need the strip since the readline call will not strip the newline. 2016-06-21 17:56:58 +0100 William Manley * codecanalyzer/autogen.sh: gst-devtools/codecanalyser: Fix typo NO_CONFIGURE should be NOCONFIGURE For consistency with the rest of the autogen.sh scripts. https://bugzilla.gnome.org/show_bug.cgi?id=772616 2016-10-08 22:23:39 +0200 Stefan Sauer * debug-viewer/GstDebugViewer/GUI/app.py: * debug-viewer/data/main-window.ui: debug-viewer: app: Switch for rc_parse to css This gets us the line shading back and some size savings. 2016-10-08 14:49:38 +0200 Stefan Sauer * debug-viewer/GstDebugViewer/GUI/models.py: debug-viewer: models: allow filter to check COL_MESSAGE COL_MESSAGE contains the message offset as an internal optimization. When preparing a row for filters, we need to replace this. Otherwise filters get an 'int' instead of the 'string' they expect. 2016-10-07 13:42:02 +0900 Jinwoo Ahn * validate/tools/gst-validate.c: validate: fix typo https://bugzilla.gnome.org/show_bug.cgi?id=772543 2016-10-05 14:50:53 +0900 Jinwoo Ahn * validate/gst/validate/gst-validate-report.c: validate: fix typo in gst-validate-report.c parametter -> parameter https://bugzilla.gnome.org/show_bug.cgi?id=772439 2016-09-30 22:29:43 +0200 Stefan Sauer * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: debug-viewer: small code cleanups Inline a few statements. Remove unused variables. 2016-09-30 22:31:24 +0200 Stefan Sauer * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: debug-viewer: add a few doc strings 2016-09-30 11:35:41 -0300 Thibault Saunier * hooks/multi-pre-commit.hook: * hooks/pre-commit-python.hook: * hooks/pre-commit.hook: * meson.build: * validate/tests/getpluginsdir: meson: Setup pre commit hook and fix getpluginsdir for standalone case 2016-09-30 14:57:27 +0100 Tim-Philipp Müller * meson.build: meson: update version === release 1.9.90 === 2016-09-30 13:06:16 +0300 Sebastian Dröge * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.9.90 2016-09-23 20:40:52 -0300 Thibault Saunier * validate/docs/validate/meson.build: meson: Fix gtkdoc using new meson features 2016-09-28 21:19:29 +0200 Stefan Sauer * debug-viewer/GstDebugViewer/Plugins/ColorizeRows.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: debug-viewer: initialize all features from tuples Also add a first doc string about the plugin initialisation. 2016-09-28 20:38:55 +0200 Stefan Sauer * debug-viewer/GstDebugViewer/Common/Data.py: * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/Common/__init__.py: * debug-viewer/GstDebugViewer/Common/generictreemodel.py: * debug-viewer/GstDebugViewer/Common/utils.py: * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI/__init__.py: * debug-viewer/GstDebugViewer/GUI/app.py: * debug-viewer/GstDebugViewer/GUI/colors.py: * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/filters.py: * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/GstDebugViewer/Main.py: * debug-viewer/GstDebugViewer/Plugins/ColorizeRows.py: * debug-viewer/GstDebugViewer/Plugins/FileProperties.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: formatting: run autopep8 over all files We have a commit hook on the repo. Get all files to match the pep8 guidelines. 2016-09-28 20:34:53 +0200 Stefan Sauer * debug-viewer/GstDebugViewer/Plugins/FileProperties.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: debug-viewer: cleanup imports in plugins Don't use * imports. Don't rely on package level imports. 2016-09-21 16:41:45 -0300 Thibault Saunier * validate/launcher/meson.build: * validate/tools/meson.build: meson: Fix installing configured files 2016-09-21 16:14:59 -0300 Thibault Saunier * validate/docs/validate/envvariables.xml: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/validate.c: 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-21 16:00:18 -0300 Thibault Saunier * validate/docs/validate/envvariables.xml: * validate/gst/validate/validate.c: 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-21 15:48:57 -0300 Thibault Saunier * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-scenario.c: 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-21 14:10:53 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Minor fix in returncode check 2016-09-21 14:07:29 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-runner.c: validate: Always print trace for critical issues And take into account issue details level to generate backtrace. 2016-09-21 12:26:17 -0300 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: * validate/tests/check/validate/reporting.c: 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-25 18:23:30 -0700 Reynaldo H. Verdejo Pinochet * validate/tools/gst-validate-transcoding.c: validate: transcoding: fix several error messages No encoders found, no static src/sink pads found and keyunit and force-stop error conditions. 2016-09-25 18:03:45 -0700 Reynaldo H. Verdejo Pinochet * validate/tools/gst-validate.c: validate: fix grammar on subtitle-file action description 2016-09-22 15:56:24 -0300 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: 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 11:37:57 -0400 Javier Martinez Canillas * validate/gst/validate/gst-validate-report.c: 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:36:29 -0300 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: Avoid checking NULL pads when generating NNE reports 2016-09-20 13:39:02 +0100 Tim-Philipp Müller * validate/gst/validate/gst-validate-report.c: 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-08 12:53:30 -0300 Thibault Saunier * validate/config.h.meson: * validate/configure.ac: * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/meson.build: * validate/meson.build: validate: Add backtraces in the reports Printing them when the reporting all the details only 2016-09-14 11:31:47 +0200 Sebastian Dröge * validate/configure.ac: configure: Depend on gstreamer 1.9.2.1 2016-09-12 14:21:30 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Do not use unset sent_eos variable And rename class member to sent_eos_time as it is more accurate 2016-09-09 12:09:45 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/utils.py: * validate/tests/check/meson.build: * validate/tests/getpluginsdir: * validate/tests/launcher_tests/meson.build: * validate/tests/meson.build: meson:validate:test: Properly set paths to run launcher based tests Adding a --validate-tools-path option to the launcher, allowing to pass it from meson. 2016-09-08 12:52:24 -0300 Thibault Saunier * validate/config.h.meson: * validate/gst/validate/meson.build: * validate/meson.build: meson: Build GstValidate as a tracer And add version to the GStValidate shared library 2016-09-07 17:24:53 -0300 Thibault Saunier * validate/tests/launcher_tests/meson.build: * validate/tests/launcher_tests/test_validate.py: * validate/tests/meson.build: validate: tests: Add launcher based GstValidate tests First checking the new not negotiated error reporting code. 2016-09-02 17:39:50 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate: launcher: Always clean all tests at the end Making sure that if an exception of anything happens we will properly clean all the tests, or at least try to. 2016-09-02 17:37:24 -0300 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Allow specifying expected tests errors In the future instead of blacklisting tests we should define what error is expected, and this way when the bug is closed, we will notice, also, it will allow us to check GstValidate error reporting itself. 2016-09-01 17:39:38 -0300 Thibault Saunier * validate/configure.ac: * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/meson.build: * validate/gst/validate/validate.c: * validate/launcher/baseclasses.py: * validate/meson.build: 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-08-28 20:37:05 -0300 Thibault Saunier * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: 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-07 10:59:22 -0300 Thibault Saunier * meson.build: * validate/meson.build: * validate/tests/check/getpluginsdir: * validate/tests/check/meson.build: * validate/tests/meson.build: validate:meson: Add tests 2016-09-06 16:21:05 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: * validate/launcher/reporters.py: validate:launcher: Use a xunit reporter only when explicitely specified 2016-09-06 10:29:27 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validare: Enhance report message about wrong position 2016-09-05 12:16:59 -0300 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate:launcher: Report error and exit when a testsuite could not load Otherwise the user might end up seeing a lot of meaningless logs about 'removed' tests. 2016-09-02 17:41:32 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/launcher/apps/gstvalidate.py: 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-02 16:24:47 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: validate: Indent report details 2016-08-14 16:03:44 -0700 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: 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 12:23:35 -0300 Thibault Saunier * meson.build: * meson_options.txt: meson: Bump version to 1.9.2 And unify the name of the disable_introspection option 2016-09-01 12:35:08 +0300 Sebastian Dröge * validate/configure.ac: Back to development === release 1.9.2 === 2016-09-01 12:35:00 +0300 Sebastian Dröge * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.9.2 2016-09-01 03:39:18 +0200 Mathieu Duponchelle * validate/launcher/baseclasses.py: * validate/launcher/main.py: launcher: Add --dump-on-failure switch When the test fails, it can be useful to have the log files dumped to stdout. https://bugzilla.gnome.org/show_bug.cgi?id=741092 2016-08-28 22:12:35 -0300 Thibault Saunier * validate/tools/gst-validate-launcher.in: validate: Fix launching gst-validate-launcher in a meson based uninstalled env 2016-08-26 20:06:22 -0300 Thibault Saunier * meson.build: * validate/gst/validate/meson.build: meson: Add support for building GIR when used as subproject Add allow project to us it as subproject too 2016-08-05 15:48:41 -0400 Thibault Saunier * .gitignore: * meson.build: * meson_options.txt: * validate/.gitignore: * validate/config.h.meson: * validate/data/meson.build: * validate/data/scenarios/meson.build: * validate/docs/meson.build: * validate/docs/validate/meson.build: * validate/gst/meson.build: * validate/gst/validate/meson.build: * validate/launcher/apps/meson.build: * validate/launcher/meson.build: * validate/meson.build: * validate/pkgconfig/meson.build: * validate/plugins/fault_injection/meson.build: * validate/plugins/gapplication/meson.build: * validate/plugins/gtk/meson.build: * validate/plugins/meson.build: * validate/tools/gst-validate-launcher.in: * validate/tools/meson.build: validate: Add support for Meson as alternative/parallel build system https://github.com/mesonbuild/meson 2016-08-13 16:56:18 +0200 Edward Hervey * validate/launcher/apps/gstvalidate.py: validate: Un-blacklist tests that are fixed the bug reports to which they report have been closed and I can't make them fail locally. 2016-08-13 15:39:18 +0200 Edward Hervey * validate/launcher/apps/gstvalidate.py: validate: Blacklist more ogg files https://bugzilla.gnome.org/show_bug.cgi?id=769545 2016-08-12 12:30:41 +0200 Edward Hervey * validate/launcher/apps/gstvalidate.py: validate: Blacklist scrub_forward_seeking.op2b-mpeg2-wave_hd_mxf See https://bugzilla.gnome.org/show_bug.cgi?id=764025 2016-07-28 09:47:42 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-pipeline-monitor.h: * validate/gst/validate/gst-validate-scenario.c: * validate/tools/gst-validate.c: validate: use new API when switching track with playbin3 Move all the implementations of 'switch-track' to gst-validate-scenario.c while doing so. Differential Revision: https://phabricator.freedesktop.org/D1227 2016-05-31 12:32:16 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: validate: reporter: break cyclic references with reports My patch fixing monitor leak (15e7f1bbfd84ce2cc5e6420fee2255c2be95e0f6) introduced a ref cycle between GstValidateReporter and GstValidateReport. The reports uses its reporter so it needs a ref on it to ensure it's stay alive. But reports are owned by GstValidateReporter and/or GstValidateRunner. Fix this by not taking a reference on the reporter but instead caching its name. Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1029 2016-05-26 14:02:45 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tests/check/validate/padmonitor.c: validate: turn GstValidateReport to a mini object It handles refcounting for us and will enable automatic leak checks when using the 'leaks' tracer. Differential Revision: https://phabricator.freedesktop.org/D1233 2016-05-26 12:32:16 +0200 Guillaume Desmottes * validate/gst-libs/gst/video/gssim.c: * validate/gst-libs/gst/video/gssim.h: * validate/gst-libs/gst/video/gstvalidatessim.c: * validate/gst-libs/gst/video/gstvalidatessim.h: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-override.h: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/media-descriptor.c: * validate/gst/validate/media-descriptor.h: validate: inherit from GstObject instead of GObject This allow us to use to 'leaks' detector to check if those objects are leaked. Differential Revision: https://phabricator.freedesktop.org/D1232 2016-05-20 15:46:19 +0300 Guillaume Desmottes * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: call gst_deinit() after gst_validate_deinit() This allows validate to clean up before the 'leak' tracer list leaked objects. Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1231 2016-05-20 15:44:20 +0300 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: use MAY_BE_LEAKED flag Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1230 2016-05-30 15:42:24 +0200 Guillaume Desmottes * validate/tools/gst-validate.c: validate: fix pad leaks Pads returned using the playbin get-{audio,video}-pad are reffed. Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1027 2016-05-27 15:37:00 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/media-descriptor-writer.c: * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: reporter: break cyclic references with reports My patch fixing monitor leak (15e7f1bbfd84ce2cc5e6420fee2255c2be95e0f6) introduced a ref cycle between GstValidateReporter and GstValidateReport. The reports uses its reporter so it needs a ref on it to ensure it's stay alive. But reports are owned by GstValidateReporter and/or GstValidateRunner. The best way I found to break this cycle is to introduce this purge method. It's not great but the design is a bit tricky. Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1029 2016-05-27 14:36:44 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-reporter.c: validate: reporter: prevent usage of destroyed runner Fix crashes. Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1028 2016-05-27 13:23:48 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-runner.c: validate: runner: prevent hash table modifications while iterating A GHashTableIter is invalided if the hash table is modified while we are iterating. Prevent this by taking the runner lock. Fix assertion warnings with validate.file.transcode.to_vorbis_and_vp8_in_webm.Sintel_2010_720p_mkv_srt Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1026 2016-07-29 15:52:48 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate: Add jpeg as known format 2016-07-29 13:27:23 -0400 Thibault Saunier * validate/tests/check/validate/padmonitor.c: validate: Fix testsuite after additional check for buffer DISCONT flag 2015-05-19 13:53:06 +0000 Mathieu Duponchelle * validate/data/Makefile.am: data: Fix make distcheck. by distributing newly-added files. Reviewed-by: Guillaume Desmottes Differential Revision: https://phabricator.freedesktop.org/D185 2015-10-15 07:29:27 +0000 Wonchul Lee * validate/data/scenarios/Makefile.am: validate: scenario: deploy setup_sink_props_max_lateness config scenario for valgrind Add to deploy setup_sink_props_max_lateness scenario. When running gst-validate with valgrind option on the installed package, it fails to find that scenario. Reviewed-by: Guillaume Desmottes Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D379 2016-01-18 03:53:20 +0000 Wonchul Lee * validate/gst/validate/gst-validate-scenario.h: docs: Fix typo Reviewed-by: Alex Băluț Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D681 2016-07-15 08:56:02 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Add h265, opus and vp9 as known formats 2016-07-06 13:51:27 +0300 Sebastian Dröge * validate/configure.ac: Back to development === release 1.9.1 === 2016-07-06 13:48:18 +0300 Sebastian Dröge * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.9.1 2016-07-04 16:16:25 +0200 Edward Hervey * validate/launcher/apps/gstvalidate.py: * validate/launcher/main.py: validate: Fix usage for non-standard http server port Translate the various stream_info URI from the standard port to the specified port Make the port option an integer option 2016-07-04 16:12:27 +0200 Edward Hervey * validate/gst/validate/media-descriptor.c: media-descriptor: Fine-tune stream-id checking Only expect fully identical stream-id from URI which are not local files nor from our local http server. Fixes issues with non-default http server port 2015-11-23 15:11:58 +0100 Edward Hervey * validate/tools/gst-validate.c: validate: Use presence of STREAM_START to detect track switching When doing a track switch, the only reliable way to detect that it happened is whether a new STREAM_START arrives. Relying on a DISCONT buffer is not satisfactory, since there might not have been an element setting that flag upstream. Checking whether the first buffer after a STREAM_START has the DISCONT flag properly set should be done in parallel 2015-11-05 10:29:33 +0100 Edward Hervey * validate/tools/gst-validate.c: tools: Make the stream-switching action more generic This allows it to handle both playbin and playbin3 2015-11-05 10:19:22 +0100 Edward Hervey * validate/tools/gst-validate.c: tools: Fix playbin detection We might be using playbin3 instead 2015-11-02 14:42:53 +0100 Edward Hervey * validate/launcher/apps/gstvalidate.py: validate: Use decodebin3/uridecodebin3 when specified Set the USE_PLAYBIN3 environment variable to use those elements instead of legacy ones. 2015-11-05 16:37:17 +0100 Edward Hervey * validate/tools/gst-validate-analyze: tools: New tool to view and compare xunit results 2016-06-24 14:03:48 +0100 Tim-Philipp Müller * validate/gst/validate/gst-validate-scenario.h: validate: fix one more export gst-validate-scenario.c:183:7: error: '_gst_validate_action_type' redeclared without dllimport attribute: previous dllimport ignore This is also declared in gst-validate-internal.h 2016-06-24 11:48:50 +0100 Tim-Philipp Müller * validate/gst/validate/gst-validate-internal.h: validate: fix bogus exports for internal symbols Hopefully fixes win32 build. gst-validate-scenario.c:183:7: error: '_gst_validate_action_type' redeclared without dllimport attribute: previous dllimport ignored gst-validate-scenario.c:286:1: error: '_action_check_and_set_printed' redeclared without dllimport attribute: previous dllimport ignored gst-validate-scenario.c:298:1: error: 'gst_validate_action_is_subaction' redeclared without dllimport attribute: previous dllimport ignored gst-validate-scenario.c:305:7: error: '_gst_validate_action_type_type' redeclared without dllimport attribute: previous dllimport ignored 2016-06-13 17:00:39 -0400 Thibault Saunier * validate/gst/validate/validate.c: validate: Fix Validate plugin paths mixup 2016-06-10 12:55:47 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-scenario.c: validate: fix typo in debug message 2016-06-09 14:30:53 -0700 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/launcher/main.py: validate: fix some recurring typos 2016-06-09 14:22:31 -0700 Reynaldo H. Verdejo Pinochet * validate/tools/gst-validate-transcoding.c: validate: fix validate-transcoding option descriptions 2016-06-09 13:57:33 -0700 Reynaldo H. Verdejo Pinochet * validate/tools/gst-validate.c: validate: improve run-time option descriptions 2016-06-09 16:41:57 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: No execute ON_ADDITION if a previous action has a playback-time As this is what user will expect in this case. For example with this scenario: set-state, state=null; playback-time=5 set-property, target-element-name=dvbsrc0, property-name=delsys, property-value=11 play; 2015-08-11 16:41:20 +0900 Vineeth TM * validate/launcher/apps/gstvalidate.py: validate:launcher: Add support for relative path while providing file path Instead of providing full absolute path while validating the file, should be able to provide the relative path with respect to the present directory. https://bugzilla.gnome.org/show_bug.cgi?id=753494 2016-05-24 14:05:37 +0000 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/media-descriptor-writer.c: validate: fix monitor leak when doing frame analysis The monitor returned by gst_validate_monitor_factory_create() was never unreffed. Report instances now have to keep a ref, as suggested by the TODO, as the reporter is no longer leaked. Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1012 2016-05-24 14:05:30 +0000 Guillaume Desmottes * validate/gst/validate/gst-validate-runner.c: validate: redefine default cat for the runner The gstvalidate_debug may not be initialized like with the validate/reporting which was crashing when run with GST_DEBUG=5. Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1004 2016-05-24 14:05:24 +0000 Guillaume Desmottes * validate/tools/gst-validate-transcoding.c: validate: transcoding: fix encoding_profile leak Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D980 2016-05-24 14:05:17 +0000 Guillaume Desmottes * validate/tools/gst-validate-transcoding.c: validate: transcoding: fix caps leaks The 'all_raw_caps' list is never used and was just leaking caps. Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D979 2016-05-24 14:05:10 +0000 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: scenario: always unref srcpad Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D959 2016-05-24 14:05:03 +0000 Guillaume Desmottes * validate/gst/validate/media-descriptor-writer.c: validate: media-descriptor-writer: fix pad leaks - the pad returned by gst_element_get_static_pad() was leaked. - unref the pad from snode when updating it, not the pad passed as callback to pad_added_cb() Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D958 2016-05-24 14:04:57 +0000 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/validate.c: validate: clean up action_types list on deinit Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D957 2016-05-24 14:04:50 +0000 Guillaume Desmottes * validate/gst/overrides/gst-validate-default-overrides.c: * validate/gst/validate/gst-validate-override-registry.c: * validate/plugins/ssim/gstvalidatessim.c: validate: keep a ref when registering an override _add_override_from_struct() could, in theory, register more than once the same override so we should not transfer the ref. Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D956 2016-05-24 14:04:44 +0000 Guillaume Desmottes * validate/gst/validate/gst-validate-override-registry.c: validate: use g_object_unref() on GstValidateOverride Those are GObject subclasses, not GstObject. Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D955 2016-05-24 14:04:37 +0000 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: add mesa-related valgrind suppressions Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D954 2016-05-24 14:04:31 +0000 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: generate valgrind suppression traces Makes fixing easier as then we can just re-use the generated trace. Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D953 2016-05-24 14:04:25 +0000 Guillaume Desmottes * validate/launcher/vfb_server.py: validate: fix typo if Xvfb is not installed Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D375 2016-05-23 15:57:04 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Don't check for DISCONT flags on buffer in pull-mode It only makes sense in push-mode 2016-05-20 09:07:01 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Update checks for MISSING_DISCONT * Some SEGMENT might be updates caused by calling gst_pad_set_offset(), which will send the same segment but with an updated offset and/or based field. For those segments, we don't require a DISCONT on the following buffer. * Ignore differences in flags, they aren't relevant for now to figure out whether the segment is an update or not * Ignore difference in 'position', it's only meant for internal usage by elements. * Changes in the end position (stop in forward playback and start in reverse playback) are considering updates Furthermore, also expect a DISCONT flag on the first buffer following a STREAM_START. 2016-05-17 10:03:26 +0200 Edward Hervey * validate/tools/gst-validate.c: gst-validate: Avoid overreading array If we offset the argv table as argument, we need to decrement the number of items in the array (argc) when iterating it 2016-05-19 11:59:19 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: pad_monitor: Add a check for buffer DISCONT flag The first buffer after a FLUSH or SEGMENT should have the DISCONT flag set. 2016-05-15 06:34:21 -0300 Thiago Santos * validate/launcher/main.py: launcher: set gsettings-backend to prevent weird deadlocks It seems like some sort of forking/dconf/gtype combination can deadlock occasionally. Setting the gsettings backend to memory makes it go away. Same issue: https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/tests/check/Makefile.am?id=8e2c1d1de56bddbff22170f8b17473882e0e63f9 2016-05-06 21:27:53 -0300 Thiago Santos * validate/launcher/apps/gstvalidate.py: validate: add non-seekable fragment file seek tests to the blacklist The file has no index and is not easily seekable, seeking in these kind of files isn't implemented. 2016-05-03 15:47:32 -0400 Nicolas Dufresne * debug-viewer/gst-debug-viewer: debug-viewer: Allow running uninstalled with symlink When uninstalled, we look at the directory of the executable to find the resources. This patch uses realpath in replacement to abspath so the path get expended, and symlink are followed. 2016-04-13 21:18:28 +0200 Alexandru Băluț * validate/plugins/gtk/gstvalidategtk.c: validate: Stop using deprecated method https://bugzilla.gnome.org/show_bug.cgi?id=764964 2016-04-07 14:11:45 +0200 Edward Hervey * validate/data/scenarios/scrub_backward_seeking.scenario: * validate/data/scenarios/scrub_backward_seeking_full.scenario: scenarios: Fix scrub_backward scenarios We will be changing states, set the handles-state variable accordingly 2016-03-18 10:42:55 +0100 Xabier Rodriguez Calvar * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/data/menus.ui: Added menu opts to filter in instead of only out Added also menu option to filter a log level and all above that https://bugzilla.gnome.org/show_bug.cgi?id=763857 2016-03-18 10:42:18 +0100 Xabier Rodriguez Calvar * debug-viewer/GstDebugViewer/GUI/filters.py: Added support to filter in instead of only out Added support to filter a log level and all above it https://bugzilla.gnome.org/show_bug.cgi?id=763857 2016-04-04 22:23:26 +0200 Stefan Sauer * debug-viewer/GstDebugViewer/GUI/models.py: filter: add more logging 2016-03-25 22:20:11 +0100 Stefan Sauer * debug-viewer/GstDebugViewer/Common/GUI.py: menu: port menu.popup calls Add 1 extra arg. 2016-01-14 12:21:34 +0100 Philippe Normand * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: debug-viewer: use the gi GLib version rather than the old gobject glib package 2016-01-14 12:19:22 +0100 Philippe Normand * debug-viewer/GstDebugViewer/Common/GUI.py: debug-viewer: explicitely require GTK+3 2016-01-12 09:44:17 +0100 Stefan Sauer * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/README: debug-viewer: add more logging and some profiling how-to The port is much slower than the gtk3 version. Try to figure why. 2015-10-21 15:03:03 +0200 Stefan Sauer * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/README: GstDebugViewer/Timeline: port timeline widgets to gtk3 2015-10-20 15:21:01 +0200 Stefan Sauer * debug-viewer/GstDebugViewer/Common/Data.py: * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/Common/__init__.py: * debug-viewer/GstDebugViewer/Common/generictreemodel.py: * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI/__init__.py: * debug-viewer/GstDebugViewer/GUI/app.py: * debug-viewer/GstDebugViewer/GUI/colors.py: * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/GstDebugViewer/Plugins/FileProperties.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/README: * debug-viewer/tests/performance.py: GstDebugViewer: basic port to gtk3 and python gobject 2016-03-25 14:17:28 +0000 Tom Schoonjans * validate/gst-libs/gst/video/Makefile.am: gst-validate: Link with GIO and clean up CFLAGS/LIBADD/LDFLAGS https://bugzilla.gnome.org/show_bug.cgi?id=764192 2016-03-07 08:55:27 +0900 Vineeth T M * validate/tests/check/validate/test-utils.c: validate: use new gst_element_class_add_static_pad_template() https://bugzilla.gnome.org/show_bug.cgi?id=763197 2016-03-07 08:53:23 +0900 Vineeth T M * codecanalyzer/src/plugins/gst/analyzersink/gstanalyzersink.c: codecanalyzer: use new gst_element_class_add_static_pad_template() https://bugzilla.gnome.org/show_bug.cgi?id=763197 2016-03-24 13:34:03 +0200 Sebastian Dröge * validate/configure.ac: Back to development === release 1.8.0 === 2016-03-24 13:11:29 +0200 Sebastian Dröge * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.8.0 2016-03-23 20:02:47 +0100 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate: launcher: Make sure to properly setup all testsuites When a first testsuite will set paths, it does not mean that we should just register following testsuite test manager default tests. So we need to make a difference between the media paths the user passed with --media-path and the ones defined by the testsuite. 2016-03-23 19:34:10 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Handle testslist files even running several testsuites Only if those testsuites do not use the same Tester as we currently can't know to what testsuite a test belongs. 2016-03-23 11:48:10 +0100 Thibault Saunier * validate/launcher/reporters.py: launcher: Avoid caching all the debug logs in memory And just write the temporary XML file on disc 2016-03-22 19:00:48 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate: launcher: Blacklist dash and HLS failling seeking tests As described in https://bugzilla.gnome.org/show_bug.cgi?id=764020 2016-03-22 17:46:50 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate:testsuite: Blacklist validate.hls.playback.scrub_forward_seeking.hls_bibbop as it is racy 2016-03-22 12:07:08 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: validate: pad-monitor: Check right segment after seek After a seek we need to wait for the right segment (meaning the segment with seqnum == last seek/flush stop seqnum) to check whether the segment.time has been properly set. 2016-03-22 11:19:42 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: Accept pad return FLUSHING when the element is being teared down In the case and element is in READY or is going to READY state, it can always return GST_FLOW_FLUSHING. Avoid a race where a demuxer sinkpad has not been set to FLUSHING when we are still processing a buffer but downstream is already FLUSHING and thus the demuxer is already returning FLUSHING. 2016-03-21 14:34:27 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/launcher/baseclasses.py: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Use GstValidate logging system to print buffering avancement So it can be used in the launcher. And make sure to properly parse the info in the launcher. 2016-03-09 10:05:49 +0100 Thibault Saunier * validate/launcher/httpserver.py: validate:launcher: Remove dependency on wget === release 1.7.91 === 2016-03-15 12:40:03 +0200 Sebastian Dröge * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.7.91 2016-03-14 14:29:57 +0200 Sebastian Dröge * validate/gst/validate/gst-validate-scenario.c: validate: Add missing parenthesis to seek position check https://bugzilla.gnome.org/show_bug.cgi?id=763602 2016-03-14 12:55:57 +0200 Sebastian Dröge * validate/gst/validate/gst-validate-scenario.c: validate: Fix overflow seek position comparision MAX(0, ((gint64) priv->segment_start - priv->seek_pos_tol) will be a high positive number thanks to being interpreted as unsigned values if segment_start < seek_pos_tol. Fix this by explicitly checking for this case and only doing the subtraction otherwise. This fixes the problem from fdccffbb2e5885b3f8e7369cdbda45b6717ffab0 completely now. https://bugzilla.gnome.org/show_bug.cgi?id=763602 2016-03-08 17:01:09 +0100 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor.c: * validate/gst/validate/media-descriptor.h: validate: Fix seding mistakes When we added namespace to make GI happy we ended up with structure called like GstValidateMediaGstValidateMediaXXX. 2016-03-08 10:49:43 +0100 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: monitor: Add critical issue for checking accurate seek results If an accurate seek is accepted, the resulting segment.time should be exactly the requested seek start value.. https://bugzilla.gnome.org/show_bug.cgi?id=763299 2016-03-08 12:00:19 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Fix accurate seeking in paused failling condition 2016-03-08 15:54:32 +0900 Vineeth T M * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/gst-validate-utils.c: * validate/launcher/httpserver.py: * validate/launcher/utils.py: * validate/plugins/gtk/gstvalidategtk.c: * validate/tools/gst-validate-images-check.c: Validate: Fix consider, launch spelling mistakes https://bugzilla.gnome.org/show_bug.cgi?id=763289 2016-02-22 11:49:48 +0900 Vineeth T M * validate/launcher/apps/gstvalidate.py: validate: Fix wrong condition check when adding tests When listing tests, checking whether uri is present or not and displaying error. But uri does notneed to be present in case of pipeline generator. So the condition check is wrong. This results in validateelements testsuite not working. Hence modifying the condition to not error out on valid cases. https://bugzilla.gnome.org/show_bug.cgi?id=762422 === release 1.7.90 === 2016-03-01 19:23:37 +0200 Sebastian Dröge * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.7.90 2016-03-01 14:59:29 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Strip os.pathsep from extra env variables We might be working with something that is not a path 2016-02-29 15:55:47 +0100 Thibault Saunier * validate/gst/validate/media-descriptor-writer.c: validate: Add a missing new line to media info files 2016-02-23 12:15:21 +0100 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: validate: Fix build 2016-02-23 11:29:56 +0100 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate:launcher: Add a way to fail if test have been removed/added 2016-01-22 20:55:27 +0100 Thibault Saunier * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/media-descriptor.c: validate: Fix annotations Skipping all functions and methods that are not relevant and not easily introspectable Differential Revision: https://phabricator.freedesktop.org/D706 2016-01-22 20:45:01 +0100 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.h: validate: Remove unimplemented function Differential Revision: https://phabricator.freedesktop.org/D705 2016-01-22 20:14:16 +0100 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-parser.h: * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor-writer.h: * validate/gst/validate/media-descriptor.c: * validate/gst/validate/media-descriptor.h: * validate/tests/check/validate/padmonitor.c: * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate.c: validate: Namespace all our structures and objects Making GI a bit happier. Those are not stable API anyway... Differential Revision: https://phabricator.freedesktop.org/D704 2016-01-22 19:50:15 +0100 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-parser.h: * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor-writer.h: * validate/gst/validate/media-descriptor.h: * validate/gst/validate/validate.c: validate: Misc annotation and gi friendly cleanups Differential Revision: https://phabricator.freedesktop.org/D703 2016-01-22 19:38:53 +0100 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-monitor-factory.c: validate: Guarantee that we never create 2 monitors for the same object Differential Revision: https://phabricator.freedesktop.org/D702 2015-10-24 09:28:51 +0200 Thibault Saunier * validate/configure.ac: * validate/gst/Makefile.am: * validate/gst/preload/Makefile.am: * validate/gst/preload/gst-validate-monitor-preload.c: * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/gst/validate/validate.c: * validate/plugins/fault_injection/Makefile.am: * validate/plugins/gapplication/Makefile.am: * validate/plugins/gtk/Makefile.am: * validate/plugins/ssim/Makefile.am: * validate/tests/check/validate/monitoring.c: * validate/tests/check/validate/overrides.c: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/reporting.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Turn GstValidateRunner into a GstTracer This way we do not need the LD_PRELOAD hack anymore Add a new libgstvalidateplugin GStreamer plugin, making sure it shares the exact same code as the library (exposing only the wanted symbols). Fix the way we set where to install GstValidate plugins Try to keep backward compatibility even if tracers should never be instantiated after an GstElement has been instantiated. Differential Revision: https://phabricator.freedesktop.org/D459 2016-01-22 12:58:31 +0100 Thibault Saunier * validate/gst/validate/gst-validate-reporter.c: reporter: Properly reset g_log handler when reporter is destroyed Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D699 2016-01-19 11:10:49 +0100 Thibault Saunier * validate/gst/validate/validate.c: validate: Make _deinit thread safe Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D698 2015-10-08 10:19:39 +0900 Vineeth T M * validate/launcher/apps/gstvalidate.py: validate:launcher: handle spaces in transcode output path When there are spaces in transcoding output path, then it fails. Hence adding the path in double quotes https://bugzilla.gnome.org/show_bug.cgi?id=756217 2015-11-12 09:04:01 +0900 Vineeth T M * validate/launcher/baseclasses.py: validate:launcher: Add proper check for is_seekable The seekable variable in media_info file is of type string. When checking if the file is seekable using is_seekable, it just returns the string, resulting in it always being true. It should actually be comparing the string and returning true or false based on comparison https://bugzilla.gnome.org/show_bug.cgi?id=755854 2015-08-27 11:16:39 +0900 Vineeth T M * validate/data/scenarios/fast_forward.scenario: validate: fast_forward: Calculate proper playback-time for scenario In case of fast-forward scenario, the playback-time is not set properly as per increase in the rate. This is resulting in short media files of duration less that 15 seconds to fail. https://bugzilla.gnome.org/show_bug.cgi?id=754151 2016-01-28 14:59:08 -0800 Reynaldo H. Verdejo Pinochet * codecanalyzer/src/gst_analyzer.h: codecanalyzer: fix typo leading to implicit decl warning at build-time 2016-01-28 14:48:17 -0800 Reynaldo H. Verdejo Pinochet * codecanalyzer/src/codecanalyzer.c: * codecanalyzer/src/gst_analyzer.c: * codecanalyzer/src/plugins/gst/analyzersink/mpeg_xml.c: * codecanalyzer/src/xml_parse.c: codecanalyzer: do not use g_error if abort is not desired Use g_printerr() instead. g_error() calls abort after outputting the message so these blocks' return statements and free()s were unreachable. Aditionally, fix wrong void returns on non-void function, drop trailing whitespace before newline and add \n's as needed (default handler won't add one). 2016-01-28 14:34:37 -0800 Reynaldo H. Verdejo Pinochet * codecanalyzer/src/codecanalyzer.c: * codecanalyzer/src/gst_analyzer.c: codecanalyzer: add missing includes for g_printf() 2016-01-28 14:25:59 -0800 Reynaldo H. Verdejo Pinochet * codecanalyzer/src/codecanalyzer.c: codecanalyzer: Update README URL in help dialog Previous one was a 404 2016-01-28 11:22:15 -0800 Reynaldo H. Verdejo Pinochet * configure: configure: fix typos 2016-01-21 15:05:52 +0100 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: More fixes of previous commit You'd think in 2016 compilers could complain when assigning/comparing different types of enums ... *sigh*. 2016-01-20 13:42:31 +0100 Edward Hervey * validate/tools/gst-validate.c: tools: Fix relative track switching I have no idea where that "-2" came from, but it was obviously wrong. Just use modulo "total number of streams" to get the proper track id. 2016-01-21 14:23:24 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: validate: Remove debugging left overs 2016-01-21 14:17:40 +0100 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: pad-monitor: Add support for GstPadEventFullFunc This ensures our sink pad event wrapper is properly called if the element implement a GstPadEventFullFunc instead of a regular one. Removes all stray "buffer received before segment" issues with queue/multiqueue 2016-01-21 11:13:55 +0100 Thibault Saunier * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/reporting.c: * validate/tests/check/validate/test-utils.c: * validate/tests/check/validate/test-utils.h: validate: Fix testsuite Use fake elements instead of real ones in our tests so that we control exactly the number of issues generated. Until now we were trying to hide extra issues with a probe dropping events and buffers but since 2dfa548f3645844082c3db65d96d87255701b3ad "pad: Append hooks instead of prepending to call them in the order they were added" in core, hidding will not work. 2016-01-19 11:31:37 +0100 Thibault Saunier * validate/gst/validate/Makefile.am: g-i: fix init section to avoid compiler warnings 2016-01-15 20:13:59 +0000 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: runner: Report criticals when the reporter is in smart mode 2015-11-26 17:08:12 -0300 Thiago Santos * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor.c: * validate/gst/validate/media-descriptor.h: media-descriptor-writer: track running time of buffers PTS and DTS can be deceiving as a change in segment can dramatically change playback synchronization. Track the running-time as well to properly get any change in synchronization 2015-12-10 14:10:54 +0100 Thibault Saunier * configure: Add a toplevel configure script to build components at once And this way respect https://github.com/cgwalters/build-api 2015-11-30 11:54:05 -0300 Thiago Santos * validate/gst/validate/media-descriptor.c: * validate/gst/validate/media-descriptor.h: * validate/tools/gst-validate-media-check.c: media-check: enable 'full' for files which reference are also 'full' If the reference file has frames information, enable it automatically so that the comparison file also has frames to be used. https://bugzilla.gnome.org/show_bug.cgi?id=758855 2015-11-27 18:05:23 -0300 Thiago Santos * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/media-descriptor.c: media-descriptor: check if frame data matches When comparing media descriptors, also check if the frames match https://bugzilla.gnome.org/show_bug.cgi?id=758855 2015-11-26 16:30:20 -0300 Thiago Santos * validate/gst/validate/media-descriptor-writer.c: media-descriptor-writer: refactor getting the streamnode by a pad https://bugzilla.gnome.org/show_bug.cgi?id=758855 2015-11-26 17:20:20 -0300 Thiago Santos * validate/gst/validate/media-descriptor-writer.c: media-descriptor-writer: remove condition from inside loop Only enter the loop if it indeed has a change of doing something 2015-11-30 11:00:07 -0300 Thiago Santos * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-scenario.c: docs: fix typo Retrive -> retrieve 2015-12-02 13:50:02 +0100 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: Add some documentation and annotiations 2015-12-02 13:49:01 +0100 Thibault Saunier * validate/gst/validate/gst-validate-enums.h: * validate/gst/validate/gst-validate-runner.c: validate: Add a 'smart' reporting details mode Making sure to show all informations for critical issues, but be synthetic for others 2015-11-23 17:44:27 +0100 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: scenario: Set the default action execution interval to 10ms Having a default value of 0 meant that a g_idle_add loop was constantly running, causing each test to use 100% cpu. This is no longer required. Using a 10ms interval brings down cpu usage to a sane value 2015-08-20 16:54:14 +0900 Vineeth T M * codecanalyzer/src/codecanalyzer.c: codecanalyzer: Fix memory leaks when context parse fails When g_option_context_parse fails, context and error variables are not getting free'd which results in memory leaks being reported. https://bugzilla.gnome.org/show_bug.cgi?id=753862 2015-08-24 12:30:57 +0900 Vineeth T M * validate/gst/validate/media-descriptor-writer.c: validate: media-descriptor-writer: Don't create media info when stream info is not present. When a file does not contain any stream info, then there is no need to create the media info file as, it is not considered to be a valid file and no validate checks are done for the same. This skips unnecessary files like .txt, .dump files https://bugzilla.gnome.org/show_bug.cgi?id=754006 2015-11-16 16:45:13 +0100 Thibault Saunier * validate/launcher/main.py: validate: launcher: Set scenario manager config before discovering testsuites 2015-10-05 13:38:10 +0900 Vineeth T M * validate/launcher/apps/gstvalidate.py: validate: launcher: Print error when media-info files not present When there are no media-info files present and --generate-media-info option is not given, then it just fails without printing error. Printing an error stating, use --generate-media-info if there are no media info files. When there are neither media files and media info files, print error stating the same https://bugzilla.gnome.org/show_bug.cgi?id=755087 2015-08-20 16:51:03 +0900 Vineeth T M * validate/tools/gst-validate-images-check.c: * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Fix memory leaks when context parse fails When g_option_context_parse fails, context and error variables are not getting free'd which results in memory leaks. Free'ing the same. And replacing g_error_free with g_clear_error, which checks if the error being passed is not NULL and sets the variable to NULL on free'ing. https://bugzilla.gnome.org/show_bug.cgi?id=753862 2015-08-05 13:40:52 +0900 Vineeth TM * validate/data/gstvalidate.supp: validate: suppression: suppress 'uninitialised value of size 4' in aacdec Suppress this error, until the logic in libav is fixed. https://bugzilla.gnome.org/show_bug.cgi?id=753268 2015-11-10 17:43:54 +0100 Thibault Saunier * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate: Implement support to run tests inside gdb Making debugging races leading to crashes easier to debug 2015-11-10 15:14:49 +0100 Thibault Saunier * validate/docs/validate/gst-validate-transcoding.xml: validate: Minor documentation fix 2015-11-08 01:37:14 +0100 Thibault Saunier * validate/docs/validate/gst-validate-transcoding.xml: validate: Remove 0.10 caps reference from the documentation 2015-10-29 14:53:53 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: Handle setting several scenarios The user might have scenarios specific to a particular pipeline, and the application might have several pipelines running and scenarios that apply on specific pipeline. We have to handle that valid use case. 2015-10-27 15:51:44 +0200 Sebastian Dröge * validate/launcher/apps/gstvalidate.py: validate: Un-blacklist seeking HLS tests They are reliable enough after 36b80edb7263118467dfcaee3923f7c964ae6bc8 in gst-plugins-base now. 2015-10-26 15:35:42 +0100 Wonchul Lee * validate/gst/validate/Makefile.am: validate: Add missing gir include path Add missing gir include path for building with gst-uninstalled script Differential Revision: https://phabricator.freedesktop.org/D461 2015-10-08 09:58:25 +0900 Vineeth T M * validate/tools/gst-validate-transcoding.c: validate-transcoding: trivial patch to change error from 0.10 to 1.0 While printing error in transcoding, gst-validate-transcoding-0.10 is being used. Changing the same to 1.0 https://bugzilla.gnome.org/show_bug.cgi?id=756215 2015-10-14 11:56:56 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate: Add support for prores 2015-10-10 10:51:10 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: fix double free Summary: Move variable declarations in the for block so we won't try re-free tldir in case of early short circuiting of the 'for' code. Depends on D348 Reviewers: thiblahute Reviewed By: thiblahute Differential Revision: https://phabricator.freedesktop.org/D349 2015-10-10 10:50:58 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: fix loading of full path scenario Summary: We were checking if the path was a full one but was using the scenario_name instead of this path when trying to load the scenario. Depends on D346 Reviewers: thiblahute Reviewed By: thiblahute Differential Revision: https://phabricator.freedesktop.org/D348 2015-10-10 10:47:40 +0100 Thibault Saunier * .arcconfig: Update .arcconfig 2015-07-27 08:46:01 +0900 Vineeth TM * validate/launcher/baseclasses.py: validate:launcher: throw valgrind error only for definite loss errors-for-leak-kinds should be set to definite, because almost every test case , will have possibly lost memory, which may or may not be a leak. And throwing error for all these cases doesn't seem to be correct. https://bugzilla.gnome.org/show_bug.cgi?id=752754 2015-08-07 21:38:20 +0900 Vineeth T M * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate: launcher: Fix media_check class name and add double quotes for valgrind logs When creating the class names for media check, uri is being used, instead of the path. Hence converting the uri using uri2path and creating class name. Add double quotes for valgrind logs, to support special characters like space https://bugzilla.gnome.org/show_bug.cgi?id=752808 2015-08-17 10:40:22 +0900 Vineeth TM * validate/tools/gst-validate-media-check.c: validate: media-check: Pass NULL instead of GError if not using it If not using the GError being passed on to media descriptor, writer and parser, simply pass NULL instead of GError. https://bugzilla.gnome.org/show_bug.cgi?id=753340 2015-08-17 10:31:33 +0900 Vineeth TM * validate/gst/validate/media-descriptor-writer.c: validate: descriptor-writer: Handle NULL GError address and free GError during error cases writer_new_discover() API should be able to accept NULL GError and in case of error, if GError is passed on as parameter, it should be propagated, else it should be free'd. https://bugzilla.gnome.org/show_bug.cgi?id=753340 2015-08-11 10:05:41 +0900 Vineeth TM * validate/tools/gst-validate-images-check.c: * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate:tools: set locale to all and change argument to FILENAME When file name consists of characters from other languages, say korean, then it throws an error Error initializing: Invalid byte sequence in conversion input Hence setting locale to all to fix this. And changing the media-info argument to type G_OPTION_ARG_FILENAME https://bugzilla.gnome.org/show_bug.cgi?id=753486 2015-08-24 16:39:15 +0900 Vineeth T M * validate/tools/gst-validate-images-check.c: * validate/tools/gst-validate-media-check.c: validate: Print the return value at the end Makes it easier to know if the test passed or failed. https://bugzilla.gnome.org/show_bug.cgi?id=754013 2015-08-26 10:36:51 +0900 Vineeth T M * validate/launcher/apps/gstvalidate.py: validate: launcher: Support relative path for folder names Even though relative paths are supported, right now it does not work when we give the path as 'media/' present in the current directory. Adding support for the same. https://bugzilla.gnome.org/show_bug.cgi?id=754100 2015-09-30 18:13:28 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Treat min-media-duration as a float 2015-09-30 15:02:03 +0200 Thibault Saunier * validate/data/scenarios/switch_audio_track.scenario: scenarios: Set min-media-duration on switch_audio_track 2015-09-30 14:55:37 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Add a way to define a timeout for actions execution Reviewers: Mathieu_Du Differential Revision: https://phabricator.freedesktop.org/D271 2015-09-26 18:46:05 +0200 Sebastian Dröge * validate/plugins/ssim/gstvalidatessim.c: validatessim: Stop using deprecated gst_segment_to_position() 2015-09-25 12:51:31 +0200 Thibault Saunier * validate/configure.ac: Back to development === release 1.6.0 === 2015-09-25 12:50:13 +0200 Thibault Saunier * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.6.0 2015-09-16 17:12:17 +0900 eunhae choi * validate/data/scenarios/switch_subtitle_track.scenario: * validate/data/scenarios/switch_subtitle_track_while_paused.scenario: validate: scenarios: set need clock sync for switching subtitle track As soon as the track is changed, the pipeline state is set to NULL by execution 'stop' action even if there is a 'playback-time' with 5sec. If the AV sink is not synchronized, audio fakesink and video fakesink has different position value. When the validate request the position information of pipeline to do 'stop' action, the audio fakesink response of the position query with the bigger value than 5sec. https://bugzilla.gnome.org/show_bug.cgi?id=755101 === release 1.5.90 === 2015-08-20 17:58:36 +0200 Thibault Saunier * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.5.90 2015-08-21 11:09:03 +0200 Thibault Saunier * validate/common: Update common submodule 2015-08-20 16:35:15 +0200 Thibault Saunier * validate/configure.ac: * validate/launcher/config.py.in: validate: Put the GstValidate testsuite version in the launcher config This way testsuite implementation can have the information 2015-08-17 17:20:07 +0200 Sebastian Dröge * validate/tools/gst-validate-transcoding.c: validate/transcoding: Don't override the target state of the scenario when receiving BUFFERING=100% If the scenario handles the states and wants to stay in PAUSED, it's not a good idea to change the state to PLAYING when receiving BUFFERING=100%. This caused a race condition in varios seeking tests, most often in the dash scrub seeking test. 2015-08-17 14:27:33 +0200 Sebastian Dröge * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tools/gst-validate.c: validate: Don't override the target state of the scenario when receiving BUFFERING=100% If the scenario handles the states and wants to stay in PAUSED, it's not a good idea to change the state to PLAYING when receiving BUFFERING=100%. This caused a race condition in varios seeking tests, most often in the dash scrub seeking test. 2015-08-16 17:59:00 +0200 Sebastian Dröge * validate/gst/validate/gst-validate-scenario.c: validate: Fix typo 2015-08-16 17:53:28 +0200 Sebastian Dröge * validate/launcher/apps/gstvalidate.py: validate/launcher: Blacklist some HLS seeking tests again 2015-08-16 08:50:36 -0300 Thiago Santos * validate/launcher/apps/gstvalidate.py: validate/launcher: Un-blacklist validate.dash.playback.reverse_playback.* Fixed now 2015-08-16 12:26:16 +0200 Sebastian Dröge * validate/launcher/apps/gstvalidate.py: validate/launcher: Un-blacklist validate.hls.playback.reverse_playback.* It apparently succeeds now. 2015-08-15 19:07:02 +0200 Sebastian Dröge * validate/launcher/apps/gstvalidate.py: validate/launcher: De-blacklist some HLS tests 2015-08-15 19:04:14 +0200 Sebastian Dröge * validate/launcher/apps/gstvalidate.py: validate/launcher: Blacklist some DASH tests 2015-08-15 16:40:11 +0200 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: launcher: Handle override files for media files And make sure to create a new dict for extra_env_vars when instanciating GstValidateTest 2015-08-15 16:23:02 +0200 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: launcher: Make sure MediaDescriptor is set in the GstValidateTest class itself It is used there but was set in each and every subclasses 2015-08-15 16:19:24 +0200 Sebastian Dröge * validate/launcher/utils.py: validate/launcher: Treat DASH like HLS in another place 2015-08-07 12:51:53 +0900 Vineeth TM * validate/gst/validate/gst-validate-scenario.c: validate: scenario: fix leak during error cases When message_async is not called during error cases, needs_parsing GList is not being freed resulting in leak. Hence free'ing the same in finalize. https://bugzilla.gnome.org/show_bug.cgi?id=753339 2015-07-23 15:51:09 +0900 Vineeth TM * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/media-descriptor-writer.c: validate: descriptor-writer: Handle error when stream info is not available There is no check to see if stream info is available. This leads to assertion error. Adding proper error messages for the same and reported the same as a validate warning message. https://bugzilla.gnome.org/show_bug.cgi?id=752758 2015-07-23 15:08:55 +0900 Vineeth TM * validate/gst/validate/media-descriptor-writer.c: validate: descriptor-writer: Print proper error message when discover fails When discovering the files, there will be different kind of errors. If we print the exact message, then it will be more helpful for user. Especially in the case of missing plugins, displaying which plugin is missing as error message https://bugzilla.gnome.org/show_bug.cgi?id=752758 2015-07-23 13:35:04 +0900 Vineeth TM * validate/gst/validate/gst-validate-override-registry.c: validate:override-registry: fix memory leak mutex is being initialized but not cleared. https://bugzilla.gnome.org/show_bug.cgi?id=752754 2015-07-23 11:08:18 +0900 Vineeth TM * validate/tools/gst-validate-transcoding.c: validate: tools: transcoding error due to wrong condition check when checking the restriction caps, not adding proper check, which results in assertion error when calling gst_caps_from_string https://bugzilla.gnome.org/show_bug.cgi?id=752749 2015-07-23 09:18:46 +0900 Vineeth TM * validate/launcher/main.py: validate:launcher: Fix documentation Fix some trivial spelling mistakes in documentation and document about --update-media-info. https://bugzilla.gnome.org/show_bug.cgi?id=752748 2015-07-22 08:45:26 +0900 Vineeth TM * validate/launcher/baseclasses.py: validate:launcher: escape the characters to remove bad range in regex When media file name consists of some special characters of the format [b-a].mp3, then it fails with 'bad character range' error and exits. call re.escape to escape the characters before using it in findall https://bugzilla.gnome.org/show_bug.cgi?id=752650 2015-08-04 08:35:16 +0900 Vineeth TM * validate/launcher/apps/gstvalidate.py: validate:launcher: improve uri generation for --medias-path When --medias-paths option is being used, right now we have to specify the full path, like /home/user/gst/master/media/ But when inside master directory, would like to specify only media/ and expect it to work. Using os.path.abspath and create uri based on that. This way we can either just pass media/ or pass the full path as parameters. https://bugzilla.gnome.org/show_bug.cgi?id=752518 2015-07-17 16:45:35 +0900 Vineeth TM * validate/launcher/baseclasses.py: validate:launcher: skip setting up test suite for --medias-paths in validate.py, some mixer test generators are being added by default. When passing --media-paths, i would not want to test these. So instead of setting up the validate test suite, just call tester.register_defaults(). https://bugzilla.gnome.org/show_bug.cgi?id=752518 2015-08-04 13:47:24 +0900 Vineeth TM * validate/data/scenarios/reverse_playback.scenario: validate: scenarios: Change start time for reverse playback Right now reverse playback happens till the beginning of the media file. But for files which are longer than 150 seconds, Timeout 'Hard timeout reached: 150 secs' error happens. So we should set the start time within 150 seconds. https://bugzilla.gnome.org/show_bug.cgi?id=753216 2015-08-04 15:21:16 +0200 Thibault Saunier * validate/launcher/main.py: validate: launcher: Add a --force-sync option Which should put the testsuite in a clean state (basically using git reset --hard for git based testsuite for example) 2015-08-04 08:53:17 -0400 Nicolas Dufresne * validate/launcher/apps/gstvalidate.py: validate: Enable flac reverse playback tests This is now supported and works as expected. 2015-07-31 10:50:24 -0400 Nicolas Dufresne * validate/gst/validate/media-descriptor.c: validate: media-descriptor: Workaround file:// stream-id changing file:// base stream-id will vary depending on the file path. As we don't expect everyone to use the same absolute path to place the validate testsuite, the resulting stream-id changes. Because of that, we can't match the stream-id in the recorded file, hence cannot do further check. We work around this by doing what filesink would do, which is compute a SHA256 of the URI which we can use to first validate the ID is prefixed like expected, and decide if we should consider the stream IDs the same or not. https://bugzilla.gnome.org/show_bug.cgi?id=753079 2015-07-31 10:49:00 -0400 Nicolas Dufresne * validate/gst/validate/media-descriptor-parser.c: validate: media-descriptor: Fix reading seekable record Casting the result of g_strmp0 to boolean won't make gboolean value 0 or 1. We need proper 0 and 1 so we can use == comparision. 2015-07-24 15:36:27 +0900 Vineeth TM * validate/gst/validate/media-descriptor.c: * validate/tools/gst-validate-media-check.c: validate: media-descriptor: handle proper return values while comparing the media descriptor with --expected-results, the return values are not being handled properly, which results in wrong comparision https://bugzilla.gnome.org/show_bug.cgi?id=748390 2015-07-30 15:14:13 -0400 Nicolas Dufresne * validate/gst/validate/media-descriptor.c: validate: media-descriptor: Add comment before ignored return value As stated in the bug, this comparison failing is not a critical error, warning is enough. Add a comment so nobody thinks it's a coding error. https://bugzilla.gnome.org/review?bug=748390 2015-07-22 16:32:06 +0900 Vineeth TM * validate/gst/validate/media-descriptor.c: validate: media-descriptor: remove duplicate conditions when comparing tags, two conditions in if an else if are same the correct way is to first check if both are NULL and return. changed the condition accordingly. https://bugzilla.gnome.org/show_bug.cgi?id=748390 2015-07-22 16:07:19 +0900 Vineeth TM * validate/gst/validate/media-descriptor.c: validate: media-descriptor: fix trivial spelling mistakes replace comparse_stream with compare_streams https://bugzilla.gnome.org/show_bug.cgi?id=748390 2015-07-29 16:42:48 +0900 Vineeth TM * validate/tools/gst-validate.c: validate:tools: set locale to all and change argument to FILENAME When file name consists of characters from other languages, say korean, then it throws an error Error initializing: Invalid byte sequence in conversion input Hence setting locale to all to fix this. And changing the media-info argument to type G_OPTION_ARG_FILENAME https://bugzilla.gnome.org/show_bug.cgi?id=752945 2015-07-25 10:54:19 +0200 Thibault Saunier * validate/docs/validate/gst-validate-sections.txt: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Add a method to get action->scenario in a thread safe way API: gst_validate_action_get_scenario 2015-07-24 16:47:57 -0400 Olivier Crête * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate-scenario: Use thread-safe GWeakRef Since _set_done() is meant to be thread safe, it can not be used with g_object_add_weak_pointer(), instead, one must use GWeakRef. But since it is in the API, document that fact and add a couple assertions to make sure it doesn't get broken in the future. 2015-07-24 16:25:38 -0400 Olivier Crête * validate/gst/validate/gst-validate-scenario.c: validate-scenario: Use GLib functions to make sure GMainContext is used 2015-07-24 16:19:46 -0400 Olivier Crête * validate/gst/validate/gst-validate-scenario.c: scenario: Only modify the actions from the main thread The action's content is not protected by a mutex, so only modify it from the main thread. 2015-07-24 17:05:30 -0400 Olivier Crête * .gitignore: * codecanalyzer/.gitignore: * validate/.gitignore: * validate/docs/plugins/.gitignore: gitignore: Add more generated files 2015-07-17 23:42:22 +0900 Vineeth T M * validate/gst/validate/gst-validate-scenario.c: validate-scenario: get duration from media_info if not able to query In case of files, which don't have duration in header, baseparse estimates the duration only after 1.5 seconds. But Async_done event is sent before the duration is estimated, which results in error. If duration query fails, getting the duration from the media-info being passed through --set-media-info. If media-info is also not set, printing an error message and throwing error. https://bugzilla.gnome.org/show_bug.cgi?id=752521 2015-07-20 19:37:41 +0900 Vineeth T M * validate/launcher/apps/gstvalidate.py: validate:launcher: add quotes to the file path When folder name contains space or other special characters, it fails to recognise the same and error is thrown. Adding the path inside to recognise the same https://bugzilla.gnome.org/show_bug.cgi?id=752611 2015-07-20 19:35:34 +0900 Vineeth T M * validate/launcher/utils.py: validate:launcher: unquote the path to remove special characters When getting path from url using, url2path, it is returning special characters (%20 for space etc..), instead of returning plain path. path.unquote replaces the same.. https://bugzilla.gnome.org/show_bug.cgi?id=752611 2015-07-20 17:27:56 +0900 Vineeth TM * validate/tools/gst-validate-media-check.c: validate:launcher: return on error cases properly When folder name contains spaces during --medias-paths, it does not create the media info, but still it shows as passed. Returing failed during this case https://bugzilla.gnome.org/show_bug.cgi?id=752611 2015-07-22 15:20:54 +0900 Vineeth TM * validate/launcher/apps/gstvalidate.py: validate:launcher: handle file path in --medias-paths right now --medias-paths accepts only directories. Added support to accept file path as well. https://bugzilla.gnome.org/show_bug.cgi?id=752692 2015-07-16 20:27:11 +0900 Vineeth T M * validate/launcher/main.py: validate:launcher: skip default media path for --media-paths option when --media-paths is specified, then no need to check the default media. And add Force argument to let testsuite force the inclusion of default media directory. https://bugzilla.gnome.org/show_bug.cgi?id=752461 2015-07-16 13:44:07 +0200 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: validate:ssim: Fix calls to the converters We were mixing them 2015-07-16 10:28:18 +0900 Vineeth T M * validate/launcher/main.py: validate:main.py: trivial document fixes gst-validate-launch is being used instead of gst-validate-launcher in a couple of places. https://bugzilla.gnome.org/show_bug.cgi?id=752455 2015-07-14 20:31:59 +0200 Thibault Saunier * validate/plugins/gtk/gstvalidategtk.c: validate:gtk: Handle the case were we are 'pressing' only a modifier 2015-07-14 18:28:18 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: don't store the full description struct Summary: When running valgrind we'll have 2 scenarios loaded (the normal one and "setup_sink_props_max_lateness.scenario"). The loading code shouldn't assume which one will contain the description it actually care about and so just look for the fields it actually needs. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D199 2015-07-14 18:16:40 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Report EVENT_SEEK_NOT_HANDLED as reported error on error 2015-07-13 13:10:15 +0200 Thibault Saunier * validate/docs/validate/envvariables.xml: validate: Document the GST_VALIDATE_CONFIG environment variable 2015-07-13 13:05:41 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Implement a config to set the interval between action calls Allowing users to decide the time between which the action should be executed. In some cases executing on idle might lead to action not being executed fast enough so the user might want to force an interval in that case. 2015-06-24 17:43:53 +0200 Thibault Saunier * validate/configure.ac: Back to development === release 1.5.2 === 2015-06-24 17:42:16 +0200 Thibault Saunier * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.5.2 2015-06-24 16:06:06 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Reset seeked_in_paused when wrong position detected + Lower some debug output to LOG 2015-06-18 11:09:26 +0200 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: * validate/plugins/ssim/gstvalidatessim.c: * validate/tools/gst-validate-images-check.c: validate:ssim: Inform about min average and min minimum similarities 2015-06-14 22:44:26 +0100 Tim-Philipp Müller * validate/gst/validate/media-descriptor-writer.c: * validate/tools/gst-validate-media-check.c: validate: spelling fixes analize != analyze 2015-05-29 16:45:25 +0900 Wonchul Lee * validate/tools/gst-validate-media-check.c: validate: media-check: add newline to end of print statements https://bugzilla.gnome.org/show_bug.cgi?id=750089 2015-06-09 09:10:42 +0900 Wonchul Lee * validate/tools/gst-validate-media-check.c: validate: media-check: fix double unref in error code path Writer would get unrefed twice when it could not parse the file. https://bugzilla.gnome.org/show_bug.cgi?id=750606 2015-06-13 19:25:17 +0100 Tim-Philipp Müller * validate/tools/Makefile.am: validate: tools: fix build /usr/bin/ld: gst-validate-images-check.o: undefined reference to symbol 'gst_init' /home/tpm/gst/glib-master/gstreamer/gst/.libs/libgstreamer-1.0.so.0: error adding symbols: DSO missing from command line 2015-06-12 12:10:55 +0200 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: * validate/plugins/ssim/gstvalidatessim.c: validate:ssim: Make position reporting parseable by the launcher 2015-06-12 11:00:54 +0200 Thibault Saunier * validate/plugins/ssim/gstvalidatessim.c: validate:ssim: Print better information about execution 2015-06-12 10:59:28 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: validate: print REPORTER->name when passed as source in validate_printf 2015-06-12 11:17:43 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Avoid printing twice env variables When printing test command. 2015-06-09 10:52:21 +0200 Thibault Saunier * validate/tools/Makefile.am: validate:tools: Cleanup Makefile.am Removing useless CFLAGS and LIBS 2015-06-09 11:14:58 +0900 Wonchul Lee * validate/gst/validate/media-descriptor-writer.c: validate:media-descriptor-writer: cleanup get tag code https://bugzilla.gnome.org/show_bug.cgi?id=750609 2015-06-08 18:48:30 +0200 Thibault Saunier * validate/gst/validate/gst-validate-override.h: validate: Do not define GstValidateOverride type twice 2015-06-08 18:20:33 +0200 Thibault Saunier * validate/Makefile.am: * validate/data/Makefile.am: * validate/docs/plugins/Makefile.am: * validate/docs/plugins/gst-validate-plugins-overrides.txt: * validate/tools/Makefile.am: * validate/tools/gst-validate-images-check.c: validate: Fix make distcheck 2015-06-08 17:11:51 +0200 Thibault Saunier * validate/configure.ac: * validate/docs/Makefile.am: * validate/docs/plugins/Makefile.am: * validate/docs/plugins/gst-validate-plugins-docs.sgml: * validate/docs/plugins/gst-validate-plugins-sections.txt: * validate/docs/plugins/gst-validate-plugins.sgml: * validate/docs/plugins/gst-validate-plugins.types: * validate/docs/version.entities: * validate/docs/version.entities.in: * validate/plugins/Makefile.am: validate: Generate documentation for Validate plugins Summary: Depends on D215 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D216 2015-06-08 17:10:50 +0200 Thibault Saunier * validate/Makefile.am: * validate/configure.ac: * validate/plugins/ssim/Makefile.am: * validate/plugins/ssim/gstvalidatessim.c: validate: Add a validate ssim plugin Summary: + Bump gst-video dependency to 1.4 as we need GstVideoConvert Depends on D213: validate: Mark gst_validate_report a G_GNUC_PRINTF Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D215 2015-06-03 12:43:52 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/media-descriptor.c: validate: Mark gst_validate_report a G_GNUC_PRINTF Summary: And fix the issue it raised Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D213 Depends on D211 2015-05-25 13:41:04 +0200 Thibault Saunier * validate/Makefile.am: * validate/configure.ac: * validate/gst-libs/Makefile.am: * validate/gst-libs/gst/Makefile.am: * validate/gst-libs/gst/video/Makefile.am: * validate/gst-libs/gst/video/gssim.c: * validate/gst-libs/gst/video/gssim.h: * validate/gst-libs/gst/video/gstvalidatessim.c: * validate/gst-libs/gst/video/gstvalidatessim.h: * validate/tools/.gitignore: * validate/tools/Makefile.am: * validate/tools/gst-validate-images-check.c: validate: Add a gst-validate-images-check tool Summary: That is a new tool that uses ssim algorithm to compare images + Add a GstValidateVideo internal library adding an helper Gssim class Depends on D210 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D211 2015-05-27 19:35:15 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: validate:utils: Add a utility to get a GstClockTime from a structure Summary: Properly handling the different types that can represent ClockTime Make use of it in gst_validate_action_get_clocktime API: gst_validate_utils_get_clocktime Depends on D209 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D210 2015-05-26 18:45:45 +0200 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/validate.c: validate: Properly clear the overrides registry on deinit Summary: Depends on D208 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D209 2015-05-26 13:58:15 +0200 Thibault Saunier * validate/gst/validate/validate.c: * validate/gst/validate/validate.h: validate: Add a way to check whether Validate is initialized Summary: API: gst_validate_is_initialized Depends on D207 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D208 2015-05-26 15:57:29 +0200 Thibault Saunier * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-override.h: validate:override: Add a vmethod to check whether a monitor can attach it Summary: Depends on D206 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D207 2015-05-26 12:04:02 +0200 Thibault Saunier * validate/gst/validate/gst-validate-override-registry.c: validate:override-registry: Make use of gst_validate_element_has_klass Summary: + Fix a minor mixup bug between klass_overrides and name_overrides Depends on D205 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D206 2015-05-26 12:03:25 +0200 Thibault Saunier * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-override.h: * validate/gst/validate/gst-validate-reporter.c: validate:override: Make overrides GObjects Summary: This way we can subclass them getting a proper context in the various override methods. Depends on D204 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D205 2015-05-25 18:52:34 +0200 Thibault Saunier * validate/Makefile.am: * validate/configure.ac: * validate/gst/Makefile.am: * validate/plugins/Makefile.am: * validate/plugins/fault_injection/Makefile.am: * validate/plugins/fault_injection/socket_interposer.c: * validate/plugins/gapplication/Makefile.am: * validate/plugins/gapplication/gstvalidategapplication.c: * validate/plugins/gtk/Makefile.am: * validate/plugins/gtk/gstvalidategtk.c: validate: Move plugins to the toplevel directory Summary: Otherwise we end up with circular / complicated dependencies between Validate, its libraries, and the plugins Depends on D203 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D204 2015-05-27 16:41:00 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Round up computed ClockTime values Otherwise we end up with rounding error and instead of seeking to 0.1 we seek to 0.09999999999 for example Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D203 2015-05-27 13:18:33 +0200 Thibault Saunier * validate/gst/preload/gst-validate-monitor-preload.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate:runner: Add a method to force exiting the runner This method is similar to runner_printf() but can be used only once. The user needs to make sure all the pipeline are in NULL state when this is called. The method emits a "STOPPING" signal and at that point overrides or monitors should do extra processing/checks if needed. + Make use of it everywhere where it makes sense. API: gst_validate_runner_exit GstValidateRunner::stopping signal 2015-06-02 20:25:56 -0400 Olivier Crête * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-pipeline-monitor.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tests/check/validate/padmonitor.c: pad-monitor: Check that an ERROR GstMessage has been posted on GST_FLOW_ERROR Summary: Before returning GST_FLOW_ERROR, an element must post an ERROR GstMessage, enforce that. Reviewers: thiblahute, Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D201 2015-06-03 11:49:58 +0100 Luis de Bethencourt * validate/gst/validate/media-descriptor-writer.c: validate: remove unused assignment Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D202 2015-06-02 16:46:15 -0400 Olivier Crête * validate/gst/validate/gst-validate-utils.c: Revert "validate-utils: simplify _read_builtin ()" This breaks the fast_forward scenario parsing. This reverts commit 0cfff156b1d7013174652cdd25d3ad3f0571813e. 2015-05-29 17:40:26 +0100 Luis de Bethencourt * validate/gst/validate/gst-validate-utils.c: validate-utils: clean error handling in _file_get_lines () 2015-05-29 16:29:44 +0100 Luis de Bethencourt * validate/gst/validate/gst-validate-utils.c: validate-utils: simplify _read_builtin () 2015-05-29 15:40:04 +0100 Vineeth T M * validate/gst/validate/gst-validate-utils.c: validate-utils: sqrt(-1.0) leads to undefined result Using sqrt of -1 is not valid and leads to undefined results. When comparing the return value of the fucntion in validate-scenario, it is being checked with ret == -1, so it makes sense to just return -1 in error case. https://bugzilla.gnome.org/show_bug.cgi?id=748389 2015-05-20 13:57:55 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Make sure to actually test position to execute actions 2015-05-15 14:45:04 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: add valgrind ignore supps for theora encoder Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D181 2015-05-15 14:26:35 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: add more H264 valgrind supp rules Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D180 2015-05-15 12:57:49 +0200 Thibault Saunier * validate/gst/plugins/gtk/gstvalidategtk.c: validate:gtk: Use event->type directly gdk_event_get_event_type was introduced in Gtk 3.10 only https://bugzilla.gnome.org/show_bug.cgi?id=749421 2015-05-14 17:43:40 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: extra_env_variables is a dictionnary 2015-05-13 15:30:23 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Always set the protocol when creating a GstValidateMediaDescriptor Summary: Depends on D174 Reviewers: Mathieu_Du, gdesmott Differential Revision: http://phabricator.freedesktop.org/D175 2015-05-13 15:29:43 +0200 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Allow passing extra env variables to the tests Summary: Depends on D173 Reviewers: Mathieu_Du, gdesmott Differential Revision: http://phabricator.freedesktop.org/D174 2015-05-13 15:27:08 +0200 Thibault Saunier * validate/gst/validate/gst-validate-override-registry.c: validate: overrides: Allow using regex for named overrides Summary: And minor fixes Depends on D172 Reviewers: Mathieu_Du, gdesmott Differential Revision: http://phabricator.freedesktop.org/D173 2015-05-13 12:18:18 +0200 Thibault Saunier * validate/gst/plugins/gapplication/gstvalidategapplication.c: * validate/gst/plugins/gtk/gstvalidategtk.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Handle action execution after pipeline destruction Summary: It is possible to keep executing actions after the pipeline has been destroyed. API: GST_VALIDATE_ACTION_TYPE_DOESNT_NEED_PIPELINE Depends on D171 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D172 2015-05-13 12:16:57 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Add a macro to get ActionType from an Action Summary: Depends on D170 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D171 2015-05-13 12:13:17 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Factor out code to check position Summary: Making simpler to follow the execute_next_action function. Depends on D169 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D170 2015-05-13 11:27:25 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate:pipeline-monitor: Stop printing position when not possible Summary: If from anything >= PAUSED to anything <= READY we can not query pipeline position, so do not try to. Depends on D168 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D169 2015-05-13 11:20:42 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Rename 'get_position_id' to 'execute_actions_source_id' Summary: Depends on D167 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D168 2015-05-12 12:07:13 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Do not unref twice the same list Summary: Depends on D166 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D167 2015-05-12 10:58:19 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Add a way to specify the pipeline on which a scenario applies Summary: From within the scenario itself. Depends on D165 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D166 2015-05-12 12:04:52 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Avoid depending on Gst 1.4 Summary: Depends on D117 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D165 2015-04-21 15:29:15 +0200 Thibault Saunier * validate/configure.ac: * validate/gst/plugins/Makefile.am: * validate/gst/plugins/gtk/Makefile.am: * validate/gst/plugins/gtk/gstvalidategtk.c: validate: Add a gtk plugins that implements action types relative to Gtk Summary: Currently the only supported action is gtk-put-event allowing press and release keyboard keys. Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D117 2015-05-12 09:55:58 +0200 Thibault Saunier * validate/autogen.sh: validate: Always git submodule update from the toplevel directory Otherwise it fails with older git versions 2015-05-09 16:28:20 +0200 Emanuele Aina * validate/docs/validate/Makefile.am: * validate/docs/validate/command-line-tools.xml: * validate/docs/validate/envvariables.xml: * validate/docs/validate/gst-validate-docs.sgml: * validate/docs/validate/gst-validate-launcher.xml: * validate/docs/validate/gst-validate-media-check.xml: * validate/docs/validate/gst-validate-transcoding.xml: * validate/docs/validate/gst-validate.xml: * validate/docs/validate/scenarios.xml: validate: Reshape documentation Fix some errors, use more Docbook tags and split each command reference in its own file. https://bugzilla.gnome.org/show_bug.cgi?id=749162 2015-05-09 16:23:06 +0200 Emanuele Aina * validate/autogen.sh: validate: Go back to the validate dir after submodule init https://bugzilla.gnome.org/show_bug.cgi?id=749162 2015-05-11 17:08:37 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: ignore x264 valgrind errors Summary: The x264 code is pretty hardcore so I just opened a bug for now. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D164 2015-05-08 16:33:50 +0200 Guillaume Desmottes * validate/data/Makefile.am: * validate/data/valgrind.config: * validate/gst/validate/gst-validate-element-monitor.c: * validate/launcher/baseclasses.py: validate: disable QOS features when running with valgrind Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D156 2015-05-11 14:24:32 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: validate: move element_has_klass() to utils Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D163 2015-05-11 12:22:25 +0200 Guillaume Desmottes * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate: rename get_valgrind_suppression_file() Summary: This function is actually not specific to valgrind so we can make it more generic. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D162 2015-05-11 12:01:56 +0200 Guillaume Desmottes * validate/gst/validate/validate.c: validate: allow to pass more than one file to GST_VALIDATE_CONFIG Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D161 2015-05-11 11:47:47 +0200 Guillaume Desmottes * validate/gst/validate/validate.c: validate: gst_validate_plugin_get_config() return 'core' conf if plugin is NULL Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D160 2015-05-11 13:54:15 +0200 Guillaume Desmottes * validate/gst/validate/validate.c: * validate/gst/validate/validate.h: * validate/tests/check/validate/monitoring.c: * validate/tests/check/validate/overrides.c: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/reporting.c: * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: add gst_validate_deinit() Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D159 2015-05-11 14:25:49 +0200 Guillaume Desmottes * validate/gst/validate/validate.c: validate: don't leak not maching config structures Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D158 2015-05-11 11:08:36 +0200 Guillaume Desmottes * validate/gst/validate/validate.c: validate: factor out create_config() Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D157 2015-05-08 16:28:11 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: display debug info when stopping because EOS Summary: Useful to know if we are executing the 'stop' command provided by the scenario or not. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D155 2015-05-11 19:40:49 +0200 Thibault Saunier * .gitignore: Update .gitignore 2015-05-07 11:19:57 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-pad-monitor.c: validate: unref last_caps when destroying pad monitor Reviewers: thiblahute Reviewed By: thiblahute Differential Revision: http://phabricator.freedesktop.org/D150 2015-05-05 15:59:18 +0200 Guillaume Desmottes * validate/data/scenarios/reverse_playback.scenario: validate: fix typo in reverse_playback.scenario Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D148 2015-05-05 12:46:38 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: initialize position Summary: Fix invalid read when executing without having the actual position. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D147 2015-05-05 09:32:53 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: be less specific when ignoring the pixman tls leak Summary: I hit the same big in a slightly different code path. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D146 2015-05-04 14:22:00 +0200 Guillaume Desmottes * validate/.gitignore: * validate/tools/.gitignore: update gitignore Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D145 2015-04-30 17:39:55 +0200 Guillaume Desmottes * validate/data/scenarios/setup_sink_props_max_lateness.scenario: * validate/launcher/baseclasses.py: use the setup_sink_props_max_lateness config scenario with valgrind Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D141 2015-04-30 17:22:19 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: add 'target-element-klass' property on set-property action Summary: This allows us to set a property on all the elements of the pipeline matching a specific klass name. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D140 2015-05-01 16:39:04 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: add 'optional' action keyword Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D139 2015-04-30 15:39:23 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: scenario: call _element_added_cb() on existing children Summary: We want to have a chance to set property on all the elements of the pipelines, including the existing children when the element is added. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D138 2015-04-29 14:12:01 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: * validate/launcher/httpserver.py: * validate/launcher/vfb_server.py: Fix 'stoped' typo Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D137 2015-04-27 15:57:13 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: add vg suppression for libdrm bug Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D134 2015-04-27 15:14:10 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: ignore invalid read from libav aac decoding Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D133 2015-04-27 14:48:54 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: ignore libvpx valgrind errors Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D132 2015-04-27 14:04:05 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate: display the URL of ignored Valgrind bugs Summary: We don't want to forget about those so best to remind it when starting tests as we do with blacklisted tests. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D131 2015-04-27 13:25:44 +0200 Guillaume Desmottes * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate: move look_for_file_in_source_dir and get_valgrind_suppression_file to utils Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D130 2015-04-30 23:57:09 +0200 Thibault Saunier * validate/autogen.sh: validate: Make sure to run submodule init from the root dir 2015-04-29 13:22:11 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Fix 'duration' property of the pause action We preparse it into and set it as GstClockTime in the structures so make sure to use them as such. 2015-04-28 16:44:42 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Concider unset MediaDescriptor duration has 'infinite' 2015-04-22 11:38:56 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: ignore a pixman leak which is fixed in master http://phabricator.freedesktop.org/D128 2015-04-21 15:57:57 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: use a bigger hammer to ignore mesa related leaks Looks like some tests are hitting a slightly different code path in udev but the root bug is the same. http://phabricator.freedesktop.org/D128 2015-04-23 12:33:26 +0100 Tim-Philipp Müller * codecanalyzer/src/codecanalyzer.c: codecanalyzer: minor style fix 2015-04-23 15:53:12 +0900 Vineeth T M * codecanalyzer/src/codecanalyzer.c: codecanalyzer: don't try to free uninitialized pointers xml_files_path and hex_files_path variable are not initialized. There are chances that corruption happens when uninitialized variables are freed, so init them to NULL before use. https://bugzilla.gnome.org/show_bug.cgi?id=748351 2015-04-23 12:23:24 +0100 Tim-Philipp Müller * codecanalyzer/src/codecanalyzer.c: codecanalyzer: run gst-indent on code 2015-04-23 11:44:24 +0200 Thibault Saunier * validate/autogen.sh: * validate/gst-validate.doap: * validate/po/Makevars: validate: Update autogen.sh And add a gst-validate.doap file. 2015-04-23 11:24:14 +0200 Thibault Saunier * validate/common: Update common submodule 2015-04-21 11:00:58 +0200 Guillaume Desmottes * validate/launcher/baseclasses.py: * validate/tools/Makefile.am: validate: use -debug versions of bins when running from source Summary: Those versions are using rpath instead of libtool's wrappers and so will be faster to start and won't confuse valgrind. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D116 2015-04-20 15:24:46 +0200 Guillaume Desmottes * validate/configure.ac: * validate/data/Makefile.am: * validate/data/scenarios/Makefile.am: * validate/data/scenarios/adaptive_video_framerate.scenario: * validate/data/scenarios/adaptive_video_framerate_size.scenario: * validate/data/scenarios/adaptive_video_size.scenario: * validate/data/scenarios/alternate_fast_backward_forward.scenario: * validate/data/scenarios/camerabin_signal.scenario: * validate/data/scenarios/change_state_intensive.scenario: * validate/data/scenarios/disable_subtitle_track_while_paused.scenario: * validate/data/scenarios/fast_backward.scenario: * validate/data/scenarios/fast_forward.scenario: * validate/data/scenarios/force_key_unit.scenario: * validate/data/scenarios/pause_resume.scenario: * validate/data/scenarios/play_15s.scenario: * validate/data/scenarios/reverse_playback.scenario: * validate/data/scenarios/scrub_backward_seeking.scenario: * validate/data/scenarios/scrub_backward_seeking_full.scenario: * validate/data/scenarios/scrub_forward_seeking.scenario: * validate/data/scenarios/scrub_forward_seeking_full.scenario: * validate/data/scenarios/seek_backward.scenario: * validate/data/scenarios/seek_forward.scenario: * validate/data/scenarios/seek_forward_backward.scenario: * validate/data/scenarios/seek_with_stop.scenario: * validate/data/scenarios/simple_seeks.scenario: * validate/data/scenarios/switch_audio_track.scenario: * validate/data/scenarios/switch_audio_track_while_paused.scenario: * validate/data/scenarios/switch_set_external_subtitle.scenario: * validate/data/scenarios/switch_subtitle_track.scenario: * validate/data/scenarios/switch_subtitle_track_while_paused.scenario: * validate/data/scenarios/update_start.scenario: * validate/data/scenarios/update_stop.scenario: * validate/gst/validate/gst-validate-scenario.c: move scenarios to data/scenarios Differential Revision: http://phabricator.freedesktop.org/D115 2015-04-20 10:53:29 +0200 Guillaume Desmottes * validate/Makefile.am: * validate/data/gstvalidate.supp: * validate/launcher/baseclasses.py: validate: add gstvalidate.supp valgrind suppression file Differential Revision: http://phabricator.freedesktop.org/D115 2015-04-13 13:55:56 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: scenario: fix structure and action leak 2015-04-10 11:28:34 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: validate: report: fix GString leak when early returning 2015-04-19 11:57:36 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate:pipelinemonitor: Print position only when in state >= PAUSED Reviewers: Mathieu_Du Reviewed By: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D86 2015-04-19 11:56:29 +0200 Thibault Saunier * validate/launcher/vfb_server.py: validate:launcher: Use full HD screen as default screen size in xvfb 2015-04-17 20:37:21 +0200 Thibault Saunier * validate/launcher/Makefile.am: * validate/launcher/main.py: * validate/launcher/vfb_server.py: validate:launcher: Add a way to run tests without displaying the output Summary: Adding a --no-display option and running Xvfb virtual frame buffer X server. Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D105 2015-04-17 19:56:17 +0200 Thibault Saunier * validate/launcher/main.py: validate:launcher: Error out if valgrind is not available on the system Summary: When the user wants to use valgrind, make sure it is present on the system before doing anything Reviewers: gdesmott Differential Revision: http://phabricator.freedesktop.org/D104 2015-04-17 19:28:19 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Stop scenario execution on stop action And document it properly. Summary: The stop action was defined as "setting state to NULL" but its actual goal is to stop the execution of the scenario. Make sure that the scenario will not try to execute other actions when that one has been executed. Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D103 2015-04-16 13:40:08 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor.c: validate: Gracefully handle absence of TAG on streams Summary: And do not segfault when it happens! Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D99 2015-04-16 12:02:11 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Pass GST_VALIDATE_SCENARIO to the subprocess env only Summary: And make sure to remove it from the env if the user has it in its main environment. Without that commit we ended up passing scenarios from previous tests to the following ones where None were specified. Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D98 2015-03-31 15:10:11 +0200 Guillaume Desmottes * validate/gst/validate/media-descriptor-writer.c: validate: don't pass NULL to gst_caps_copy() 2015-03-31 14:54:28 +0200 Guillaume Desmottes * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor-writer.h: * validate/tools/gst-validate-media-check.c: validate: use GstMediaDescriptorWriter as log handler Allow us to catch warnings when running gst-validate-media-check-1.0. 2015-03-31 09:59:58 +0200 Guillaume Desmottes * validate/gst/validate/media-descriptor-writer.c: validate: media-descriptor-writer: fix string leaks 2015-04-15 14:02:32 +0900 Young Han Lee * validate/tools/gst-validate-launcher.in: validate:launcher: Handle git error properly 'OSError' exception is emitted but not handled properly when git is not installed on running system. https://bugzilla.gnome.org/show_bug.cgi?id=747892 2015-04-14 12:31:32 +0200 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: set GST_GL_XINITTHREADS This ensure that XInitThreads is called and so gl contexts are properly initialized. https://bugzilla.gnome.org/show_bug.cgi?id=747840 Signed-off-by: Guillaume Desmottes 2015-04-10 18:19:40 +0200 Thibault Saunier * validate/launcher/main.py: validate:launcher: Make validate the only default testsuite Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D93 2015-04-10 18:11:09 +0200 Thibault Saunier * validate/launcher/main.py: validate:launcher: Let the responsibility to update asset to the testsuite Summary: It makes it easier to make sure that the assets needed for a specific testsuite are available when needed Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D92 2015-04-10 13:29:47 +0200 Thibault Saunier * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate:tools: EOS handling is the responsibility of the scenario Summary: If any scenario set Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D90 2015-02-13 18:34:04 +0100 Ramiro Polla * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Add support for waiting on signals and messages Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D88 2015-03-06 11:55:09 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Report disabling plugin issues Summary: + typedef GstValidateActionReturn so it can be used in the introspection + Add GST_VALIDATE_EXECUTE_ACTION_ERROR_REPORTED which should be used to tell Validate that something wrong happened so the sub action won't be executed, but that it should not report an error itself as it has already been handled in the action function. Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D81 2015-03-06 11:51:19 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Allow execution of disable-plugin as a config action Summary: And fix a bug where config actions were added to the list of action even if they had already been executed Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D80 2015-03-03 09:16:20 +0000 Thibault Saunier * validate/data/seek_forward_backward.scenario: validate:scenarios: Set seek_forward_backward min-media-duration=45 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D79 2015-02-27 23:20:43 +0000 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Set more env variable in the launcher command desc Summary: Adding if present: * LD_PRELOAD * DISPLAY * GST_VALIDATE_CONFIG * GST_VALIDATE_OVERRIDE + enhance the add_env_variable method to more easily set envvar from current value Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D78 2015-03-02 11:03:08 +0100 Thibault Saunier * validate/gst/plugins/gapplication/gstvalidategapplication.c: * validate/gst/validate/validate.c: * validate/gst/validate/validate.h: validate: Add a method to easily get plugin configuration Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D77 2015-02-26 13:11:51 +0100 Thibault Saunier * validate/configure.ac: * validate/gst/plugins/Makefile.am: * validate/gst/plugins/gapplication/Makefile.am: * validate/gst/plugins/gapplication/gstvalidategapplication.c: validate:plugins: Add support to all GApplication as a test apps Summary: Add a very simple plugin that will allow any GApplication to easily be used with GstValidate using the LD_PRELOAD feature Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D75 2015-01-17 22:21:16 +0100 Mathieu Duponchelle * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: validate: let structs_from_filename be exported. Summary: It is useful for plugins too Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D74 2015-03-03 15:42:06 +0100 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Update Action.repeat field when needed Summary: And print the current repeat value of the action that have such a field Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D73 2015-02-26 15:21:01 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Alway execute a 'quit' action on EOS Summary: Making scenario more usable with LD_PRELOAD Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D72 2015-02-27 22:39:42 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Set the main action structure in fill_structure Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D71 2015-02-27 13:18:04 +0000 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Use GST_VALIDATE_SCENARIO envvar to set scenarios Summary: Instead of concidering all apps will have a --set-scenario argument which is not going to be the case as soon as we run the tests through LD_PRELOAD Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D70 2015-02-27 13:16:01 +0000 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Move get_current_position from GstValidatePipelineTest to GstValidateTest This is where it belongs Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D69 2015-04-08 14:13:11 +0900 Wonchul Lee * validate/docs/validate/scenarios.xml: validate: fix typo in scenario file format docs https://bugzilla.gnome.org/show_bug.cgi?id=747487 2015-03-30 16:47:28 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: scenario: fix caps leak 2015-03-30 16:46:12 +0200 Guillaume Desmottes * validate/gst/validate/media-descriptor.c: validate: media-descriptor: fix filenode->caps leak 2015-03-27 16:00:50 +0100 Guillaume Desmottes * validate/tools/gst-validate-transcoding.c: validate: transcoding: don't create a second mainloop 2015-03-27 16:00:19 +0100 Guillaume Desmottes * validate/tools/gst-validate-transcoding.c: validate: transcoding: don't leak the requested sinkpad from decodebin 2015-03-27 15:59:42 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-pad-monitor.c: validate: pad-monitor: fix caps leak Don't create othercaps when early returning. 2015-03-27 12:16:03 +0100 Guillaume Desmottes * validate/launcher/apps/gstvalidate.py: validate: GstValidateMediaCheckTest should inherit from GstValidateTest 2015-03-31 09:20:05 +0900 Young Han Lee * validate/launcher/Makefile.am: validate:launcher: Install config.py for non-development mode Running installed gst-validate-launcher aborted with the following error. File "lib/gst-validate-launcher/python/launcher/baseclasses.py", line 28, in import config ImportError: No module named config This is because config.py is added but not installed in ba6d209b3fd062f4e6bd889f81f1213cc12339ec. https://bugzilla.gnome.org/show_bug.cgi?id=747087 2015-03-29 11:13:01 +0900 Young Han Lee * validate/launcher/baseclasses.py: validate:launcher: Show timeout seconds for timeout result message Current timeout message doesn't show how many seconds a test took and it is timeouted by normal timeout or hard timeout. This patch changes the message like following. 1. normal timeout old : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Application timed out) new : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Application timed out: 120 secs) 2. hard timeout old : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Application timed out) new : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Hard timeout reached: 600 secs) https://bugzilla.gnome.org/show_bug.cgi?id=746957 2015-03-30 16:00:09 +0900 Young Han Lee * validate/launcher/baseclasses.py: validate:launcher: Fix wrong test number with -j option When '-j n' option is given, first n tests print test number 0. This is caused by test_num part of 919db986052602dca452f05e284cfc857302d4f0. https://bugzilla.gnome.org/show_bug.cgi?id=747006 2015-03-28 23:29:56 +0100 Thibault Saunier * validate/configure.ac: * validate/launcher/baseclasses.py: * validate/launcher/config.py.in: validate:launcher: Avoid depending on PyGObject Summary: And rely on our knowledge of the configuration to figure out where the suppression file has been installed Reviewers: gdesmott Differential Revision: http://phabricator.freedesktop.org/D61 2015-03-26 15:42:11 +0100 Guillaume Desmottes * validate/gst/validate/media-descriptor-writer.c: validate: media-descriptor-writer: don't leak info and streaminfo 2015-03-26 15:39:12 +0100 Guillaume Desmottes * validate/tools/gst-validate-media-check.c: validate: media-check: don't leak output_file and expected_file 2015-03-26 13:59:30 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: check VALGRIND_ERROR_CODE in Test as well We were doing it only in GstValidateTest which was overriding the default implementation. 2015-03-26 13:57:34 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: don't increase hard_timeout is if it's None Some tests, like the media check ones, have None as hard_timeout. 2015-03-26 11:29:26 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: increase VALGRIND_TIMEOUT_FACTOR 5 wasn't enough for my poor laptop. 2015-03-26 11:29:06 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: increase the normal timeout as well when using valgrind 2015-03-26 10:32:09 +0100 Guillaume Desmottes * validate/gst/validate/media-descriptor.c: validate: media-descriptor: fix caps leak gst_pad_get_current_caps() returns a reffed caps. 2015-03-23 13:36:45 +0100 Guillaume Desmottes * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-transcoding.c: also call gst_deinit() in media-check and transcoding More valgrind friendly. 2015-03-23 16:19:49 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: raise an error if valgrind detected issues Differential Revision: http://phabricator.freedesktop.org/D53 2015-03-23 13:36:45 +0100 Guillaume Desmottes * validate/tools/gst-validate.c: call gst_deinit() when we are done More valgrind friendly. 2015-03-23 13:35:41 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/media-descriptor-writer.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: call gst_bus_remove_signal_watch() We are supposed to call gst_bus_remove_signal_watch() for each gst_bus_add_signal_watch() call to prevent leaks. 2015-03-23 10:24:21 +0100 Guillaume Desmottes * validate/gst/validate/media-descriptor-parser.c: validate: media-descriptor-parser: fix string leak _set_content() doesn't actually consume @content so the caller is responsible freeing it. 2015-03-23 10:23:02 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-pad-monitor.c: validate: pad-monitor: fix buffers list leak 2015-03-23 10:22:47 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-pad-monitor.c: validate: pad-monitor: fix caps leak 2015-03-20 15:22:32 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/media-descriptor-writer.c: validate: fix a bunch of GstBus leaks 2015-03-23 09:39:30 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: store valgrind logs to its own file 2015-03-20 15:00:28 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: report: fix invalid read when destroying Report Summary: @report was invalid when we were trying to clear the mutex. validate: scenario: remove weak pointer when destroying action Free an invalid read when the scenario is destroyed after the action. Differential Revision: http://phabricator.freedesktop.org/D44 2015-03-20 14:49:24 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: validate: report: fix invalid read when destroying Report @report was invalid when we were trying to clear the mutex. 2015-03-20 12:15:03 +0100 Guillaume Desmottes * validate/tools/gst-validate.c: validate: fix string arguments leaks We are responsible of freeing the string arguments parsed by GOptionContext. 2015-03-20 11:39:32 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: scenario: don't borrow @structure in _fill_action() @structure was borrowed in some code path and wasn't in some other. Make it clearer, and fix a leak, by always copying it. 2015-03-20 11:33:01 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-utils.c: validate: override-registry: fix structs list leak The list returned by _lines_get_strutures() needs to be deeply freed. 2015-03-20 11:27:29 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: scenario: fix scenarios leak 2015-03-20 11:25:39 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-reporter.c: validate: reporter: fix message leak 2015-03-20 11:24:27 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: validate: report: don't shadow the GString variable We were leaking the GString as it's freed outside of the block. 2015-03-20 11:24:04 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: validate: report: fix GStrv leak 2015-03-20 11:23:29 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: validate: report: fix GStrv leak We borrow the content of the GStrv but were leaking the array itself. 2015-03-19 17:22:26 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: launcher: try using gst.supp as valgrind suppressions file https://bugzilla.gnome.org/show_bug.cgi?id=746465 2015-03-19 17:44:19 +0100 Guillaume Desmottes * validate/Makefile.am: validate: install gst.supp Will be used when running tests inside Valgrind. https://bugzilla.gnome.org/show_bug.cgi?id=746465 2015-03-19 16:06:54 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: * validate/launcher/main.py: launcher: add valgrind support Add a --valgrind option to gst-validate-launcher to run the tests inside Valgrind and tune GLib's memory allocator accordingly. Fix https://bugzilla.gnome.org/show_bug.cgi?id=746465 2015-03-20 10:06:35 +0100 Guillaume Desmottes * validate/data/Makefile.am: * validate/docs/validate/envvariables.xml: * validate/docs/validate/scenarios.xml: * validate/gst/validate/gst-validate-scenario.c: validate: move scenarios to validate/scenarios/ https://bugzilla.gnome.org/show_bug.cgi?id=746465 2015-03-19 12:22:39 +0100 Guillaume Desmottes * validate/launcher/main.py: validate:launcher: Fix small typo 2015-03-18 17:05:19 +0100 Thibault Saunier * validate/launcher/main.py: validate:launcher: Make sure to show apps specific options in the help 2015-03-18 11:05:08 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Fix test number printing 2015-03-14 15:40:17 +0000 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher Rename _other_testsuite_for_tester To _check_tester_has_other_testsuite 2015-03-14 15:08:12 +0000 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Cache all the tests in the runner This way we do not have to re ask all the test managers what tests should be run. 2015-03-13 17:09:08 +0000 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Add a way to simply run validate default tests on uris Summary: This allows us to easily run all the scenarios on a particular file doing: $ gst-validate-launcher validate --validate-check-uri file:///some/media/file.webm Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D36 2015-03-13 17:07:00 +0000 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: keep executing actions even after linking up following execution When linking actions execution without waiting on execution context, then idle callback should keep being called so following action keep being executed. 2015-03-10 10:29:28 +0100 Thibault Saunier * .arcconfig: * validate/.gitignore: validate: Add more files to .gitignore Differential Revision: http://phabricator.freedesktop.org/D34 2015-03-10 10:25:23 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Rename get_position to execute_next_action That function was wrongly called and did not correspond to what it actually does. 2015-03-09 18:26:37 +0000 Vincent Penquerc'h * validate/data/Makefile.am: * validate/data/seek_backward_non_flushing.scenario: * validate/data/seek_forward_non_flushing.scenario: * validate/gst/validate/gst-validate-scenario.c: Revert "validate: add non flushing seek support" This reverts commit 3ff55dcc3119b39e7c86044159db8bce49a2dc3a. Regressions on the test server, apparently linked to this patchset. 2015-03-09 18:26:33 +0000 Vincent Penquerc'h * validate/gst/validate/gst-validate-scenario.c: Revert "validate: use segments to detect success of flushing seeks too" This reverts commit c47cc7ba90e96ffaefe201087428ef448670f3be. Regressions on the test server, apparently linked to this patchset. 2015-03-09 18:26:06 +0000 Vincent Penquerc'h * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: Revert "validate: expect a buffer with discontinuity after a seek" This reverts commit 87064b6994e36203b6976d436feda809068f1497. Regressions on the test server, apparently linked to this patchset. 2015-03-09 18:41:54 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Make sure TIMEOUTs do not get converted to ERROR This was a regression introduced in c0e3d2e4f190fc9627897cc3d3d016448cb5dbe9 2015-02-27 16:56:06 +0000 Vincent Penquerc'h * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: validate: expect a buffer with discontinuity after a seek https://bugzilla.gnome.org/show_bug.cgi?id=744783 2015-02-27 14:40:09 +0000 Vincent Penquerc'h * validate/gst/validate/gst-validate-scenario.c: validate: use segments to detect success of flushing seeks too https://bugzilla.gnome.org/show_bug.cgi?id=744783 2015-02-19 13:12:50 +0000 Vincent Penquerc'h * validate/data/Makefile.am: * validate/data/seek_backward_non_flushing.scenario: * validate/data/seek_forward_non_flushing.scenario: * validate/gst/validate/gst-validate-scenario.c: validate: add non flushing seek support and a couple scenarios using them https://bugzilla.gnome.org/show_bug.cgi?id=744783 2015-03-06 09:39:10 +0100 Thibault Saunier * validate/launcher/apps/Makefile.am: validate:launcher: Do not forget to install apps/__init__.py It is a python module that should be usable by external apps/testsuites 2015-03-05 13:33:27 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Handle not mandatory action types Summary: There is currently no way to handle the fact that action types might be handled only by a specific application but not handling this action types would not cause any difference for the good execution of the scenario as a whole Differential Revision: http://phabricator.freedesktop.org/D33 2015-03-02 17:32:56 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Better handle GST debug log outputs redirection 2015-03-04 17:30:41 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: First rely on the presence of criticals to set tests result In the case of external applications they might not set their exist code bases on the result of validate so we should rely on what validates as to say first. 2015-03-04 17:26:55 +0100 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: validate:report: Allow registering of issue types through the introspection Fixing annotations and make GstValidateIssue refcounted We break the ABI in that commit but I do not expect anyone to register issue type outside GstValidate yet. Add padding in the structures so we can avoid breaking the ABI again later. 2015-03-04 17:24:52 +0100 Thibault Saunier * validate/gst/validate/gst-validate-monitor.c: validate:monitor: Do not requiere a GstObject as target We can work with any GObject and that allows applications to write monitors for other aspects too 2015-03-03 12:26:52 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Alway execute sub action on action running SYNC Move methods around to avoid needing on top prototypes 2015-03-03 19:26:33 +0900 Wonchul Lee * validate/docs/validate/command-line-tools.xml: validate:docs: Rename gst-validate-launch to gst-validate-launcher https://bugzilla.gnome.org/show_bug.cgi?id=745510 2015-03-03 11:33:06 +0100 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Do not execute last sub action twice when ASYNC 2015-03-03 10:39:52 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Properly print sub action as if they were main actions 2015-03-02 14:38:16 +0100 Emanuele Aina * validate/docs/validate/scenarios.xml: validate:docs: Fix typos in Scenario File Format https://bugzilla.gnome.org/show_bug.cgi?id=736160 2015-02-26 18:51:57 +0100 Thibault Saunier * validate/tools/gst-validate-launcher.in: validate:launcher Do not use git -C as it is relatively recent https://bugzilla.gnome.org/show_bug.cgi?id=736160 2015-02-26 11:09:23 +0100 Thibault Saunier * validate/gst/preload/Makefile.am: validate: Build the preload so when possible 2015-02-24 19:32:37 +0100 Thibault Saunier * validate/launcher/main.py: validate:launcher: Print the long help in less when possible 2015-02-24 19:08:12 +0100 Thibault Saunier * validate/launcher/main.py: validate:launcher: Mention testsuite implementation in the help 2015-02-23 12:24:39 +0100 Thibault Saunier * validate/configure.ac: validate: Define GST_PLUGIN_LDFLAGS as needed 2015-02-19 20:53:16 +0900 Young Han Lee * validate/tools/gst-validate-launcher.in: validate: Determine development mode using git hash value Development mode has been determined by whether the launcher is in git repo or not. This could be wrong when the launcher is installed to subdirectory of other project's git repo, such as jhbuild. It is normal to install compiled output to subdirectory of your jhbuild. Changed logic gets the first commit hash of current git repo and compares it with gst-devtools' the first commit hash. https://bugzilla.gnome.org/show_bug.cgi?id=744781 2015-02-19 11:32:05 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Fix typo s/FILE_EXTENDION/FILE_EXTENSION/g 2015-02-18 14:23:16 +0100 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Fix GstValidateAction ABI adding a private structure This way we can easily extend the structure and avoid needing using a union and such 2015-01-22 22:29:10 +0100 Mathieu Duponchelle * validate/tests/check/validate/padmonitor.c: validate: Test buffer outside of received range. Summary: As part of the preparation for a port to tracer. Test Plan: This is a test, we won't test tests Reviewers: tsaunier Differential Revision: http://internal.opencreed.com:8888/D19 2015-02-18 11:36:59 +0000 Tim-Philipp Müller * codecanalyzer/src/gst_analyzer.c: codecanalyzer: fix codec detection with git master The names might be 'MPEG-2 (Simple Profile)' now. Shouldn't really rely on codec name strings here in the first place, but use caps instead. 2015-02-18 10:05:55 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: Properly notify user about missing plugins This way it is clear in gst-validate-launcher that the failure is due to a missing plugin 2015-02-17 18:18:56 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.h: validate: Fix wrong sizeof usage sizeof(int) is always <= sizeof(gpointer) 2015-01-21 13:13:02 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Use cElementTree for XML parsing Using cElementTree instead of ElementTree speeds up parsing of media descriptor files. The total time spent parsing XML files drops from ~0.64 s to ~0.24 s, leading to faster initialisation times for gst-validate-launcher. https://bugzilla.gnome.org/show_bug.cgi?id=743293 2015-02-17 14:56:47 +0100 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Print actions directly from the scenario Avoiding user to have to print them in each and every action type implementation. This requires adding some API to prepare actions before printing them. Preparing action in that case mean parsing the values contained in the GstStructure parsing equations and setting back the actual value afterward API: * GstValidatePrepateAction * gst_validate_action_type_set_prepare_function 2015-02-16 22:12:54 +0100 Thibault Saunier * validate/gst/validate/validate.c: validate: Fix build on windows Check where libgstvalidate.dll is installed and use that base folder to figure out where GstValidate plugins are installed 2015-02-16 20:52:54 +0100 Thibault Saunier * validate/data/Makefile.am: * validate/gst/validate/gst-validate-types.h: validate: Do not forget to dist _full variant of scrubing scenarios 2015-02-16 19:49:50 +0100 Thibault Saunier * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/gst-validate-types.h: * validate/gst/validate/validate.h: validate: Create a gst-validate-types.h header where we define types And include it from validate.h. This way we avoid to need to typedef GstValidateAction twice, which is a C11 feature 2015-02-16 19:24:23 +0100 Edward Hervey * validate/gst/validate/gst-validate-report.c: validate-report: Fix valist usage a va_list always 'exists' (it's a struct). It therefore can't be NULL (and can't be tested) Just use the regular print variant where appropriate. 2015-02-16 16:47:37 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Document locking 2015-02-13 12:17:37 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Make get_position happen on idle Summary: - Add a way to force action to be executed in their own GSource dispatch, disabling chain action execution API: GstValidateScenario::execute-on-idle property 2015-02-12 16:23:49 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Add a method to retrieve all remaining actions Not only the next one as it was not making much sense! API: - gst_validate_scenario_get_next_action + gst_validate_scenario_get_actions 2015-02-12 16:13:09 +0100 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate:utils: Fix some annotations 2015-02-12 16:10:00 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Allow link up of action executions for overriden types Exposing a GstValidateActionType.overriden_type field And properly expose gst_validate_execute_action 2015-02-12 16:09:11 +0100 Thibault Saunier * validate/gst/validate/gst-validate-reporter.c: validate:reporter: Always print reports in the Gst debug system 2015-02-11 18:27:10 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Misc fixes 2015-02-11 17:06:06 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Properly annotate gst_validate_register_action_type* It does not return any reference to the type 2015-02-10 13:50:23 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: Revert "validate:scenario: Add a way to specify action structure size" This reverts commit b976319ef7f977b8ce910c4b8aa1a843da3b264f. Now that the exact same structure can be used to represent different action types, we can not rely on the structure size to stuff informations into the action. Users should just make use of GstMiniObject.qdata. 2015-02-10 13:39:43 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: We do not own any ref in GstValidateExecuteAction And gst_validate_action_set_done might very well unref the last reference to the action 2015-02-10 13:22:34 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Make sure that the latest action type registration is kept Avoiding to change the behaviour! 2015-02-07 12:51:30 +0100 Thibault Saunier * validate/data/change_state_intensive.scenario: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Handle scenario repeat property with sub actions And port change_state_intensive.scenario to it 2015-02-07 11:19:22 +0100 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Add the notion of sub actions Sub action will allow user to executed action *right* after the previous action has been completed, meaning in the end that both action can be considered as one single action. + Factor out a function to fill an GstValidateAction structure from a GstStructure + Factor out a function to set action playback time 2015-02-06 12:20:30 +0100 Thibault Saunier * validate/docs/validate/envvariables.xml: validate: Document some env variable usage 2015-02-06 11:46:13 +0100 Thibault Saunier * validate/gst/plugins/fault_injection/socket_interposer.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Add an API to cleanly register action type from plugins API: gst_validate_register_action_type_dynamic https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 22:12:48 +0100 Thibault Saunier * validate/gst/plugins/fault_injection/Makefile.am: * validate/gst/plugins/fault_injection/socket_interposer.c: validate: Rename libfaultinjector to libgstvalidatefaultinjector https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 15:14:04 +0100 Thibault Saunier * validate/gst/plugins/fault_injection/socket_interposer.c: * validate/gst/validate/gst-validate-scenario.c: validate: Use plugin name as implementer_namespace when registering action type And document it as a good practice as it will allow us to map plugins and action types https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 14:54:55 +0100 Thibault Saunier * validate/Makefile.am: * validate/configure.ac: * validate/fault_injection/socket_interposer.h: * validate/gst/Makefile.am: * validate/gst/plugins/Makefile.am: * validate/gst/plugins/fault_injection/Makefile.am: * validate/gst/plugins/fault_injection/socket_interposer.c: validate: Move the fault_injection plugin to gst/plugins/ https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 14:50:14 +0100 Thibault Saunier * validate/gst/validate/validate.c: validate: Use an actual GstRegistry to track our plugins Keeping everything internal for now https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 14:30:05 +0100 Thibault Saunier * validate/configure.ac: * validate/fault_injection/Makefile.am: * validate/fault_injection/socket_interposer.c: * validate/fault_injection/socket_interposer.h: * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/validate.c: validate: Implement fault_injection as a Gs(tValidate)Plugin https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-02 18:00:14 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Add a way to specify action structure size And return the register GstValidateActionType on registration https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-02 11:41:24 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Do not concider we are seek_in_paused if executing a new action The new action might change the position on purpose and we should not fail in that case. Also at that point we know the test of position after the seek has been executed + Minor cosmetic fixes https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-01-20 09:59:23 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher:baseclasses: Avoid raising axception when all getting scenarios https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-01-13 19:07:04 +0100 Thibault Saunier * validate/launcher/main.py: launcher: Use gst-integration-testsuites FDO git repo And make sure that people that were using the old repo get the origin repo properly updated. https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 15:27:37 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate: launcher: Allow discovering scenario from full path https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 15:25:50 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: scenario: Add a method to get the following action to be executed API: + gst_validate_scenario_get_next_action https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 15:24:35 +0100 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-runner.c: validate: Add helper functions ti print actions API: + gst_validate_scenario_get_next_action + gst_validate_reporter_report_simple https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 15:23:29 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.h: validate: Minor documentation fixes https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 15:18:22 +0100 Thibault Saunier * validate/data/seek_with_stop.scenario: validate: Set seek_with_stop as needing at least 2secs media files https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 23:23:11 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/launcher/apps/gstvalidate.py: validate: Fix the check of action that can be *not* executed The check was wrong and we ended up allowing seek actions to no be executed. API: GST_VALIDATE_ACTION_TYPE_NO_EXECUTION_NOT_FATAL https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 23:16:27 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario; Advertise action types that will be executed on addition Adding a flag to the action type And make that code thread safe. https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 23:12:30 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Add a Flag fore ActionType that need clocks sync And cleanly use it to set the need-clock-sync field in the scenario properties https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 19:17:45 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Add the notion of INTERLACED actions An interlaced action is an action that will be executed ASYNC but without that will not block following actions during its execution. The action should be set to done later on at any point during the execution of the scenario. API: + GST_VALIDATE_EXECUTE_ACTION_INTERLACED + GST_VALIDATE_ACTION_TYPE_INTERLACED https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 19:15:59 +0100 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Add a way to retrieve register actoin type from outside API: * GstValidateActionType * gst_validate_get_action_type https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 16:01:49 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Implement a FakeMediaDescriptor This allows us to more cleanly implement Simple pipeline test generation https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 16:00:19 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Make action->scenario public API It can be usefull for action type implementers https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 16:00:12 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Add a disable-plugin action type https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-12 14:41:38 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Properly advertise the wait action as ASYNC And add some printing when executing the set-property action https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-12 14:36:16 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate: Enhance support for simple pipeline test generation The GstValidatePipelineGenerator was quite limited in term of configuration for user who just want to specify pipelines to run with/without scenario. Enhance the API so that we can properly configure that. https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-11 14:21:12 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/tools/gst-validate.c: validate: Wait for switch-track to complete before executing next action This action type can take some time, we need to make sure that the combiner/input-selector element properly pushed a buffer marked as DISCONT to concider the action is done. https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-11 12:08:13 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Avoid waiting for 50ms between actions We should be able to execute the next action as soon as the previous one is fully completed, make sure the code tries to do that and does not artificially add some waiting time. And make sure if the gst_validate_action_set_done is called from outside our execution thread, we do not try to execute anything https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-10 20:37:58 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Add a signal to notify user when the scenario is DONE executing https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-01-20 16:44:07 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Print test name in Result https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-16 21:29:55 +0100 Ramiro Polla * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate: launcher: Add option to run tests in parallel Patch 4/4 to implement parallel test execution. https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-16 21:09:37 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Print test number on result With parallel test execution, it will be hard to track which result relates to which test. Therefore, the test number should be printed along with the results as well. Patch 3/4 to implement parallel test execution. https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-16 21:08:54 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Use jobs list to take track of tests running Currently the tests are still run serially. Patch 2/4 to implement parallel test execution. https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-16 20:35:33 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Use test index instead of counting test numbers Patch 1/4 to implement parallel test execution. https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-19 10:35:03 +0100 Ramiro Polla * validate/launcher/RangeHTTPServer.py: validate: launcher: Support simultaneous requests in RangeHTTPServer https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-16 19:08:19 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Make TestManager handle waiting for processes Patch 4/4 to make TestManager handle waiting for processes instead of expecting each Test to do it. https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-16 19:03:07 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Use a Queue to test for test completion TestManager will use a Queue to track progress for all tests. This commit implements a queue inside Test to simplify the transition. Patch 3/4 to make TestManager handle waiting for processes instead of expecting each Test to do it. https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-16 19:00:25 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Initialize Test start time outside of wait_process wait_process will be moved to TestManager, so the values used to track process update must remain inside Test. Patch 2/4 to make TestManager handle waiting for processes instead of expecting each Test to do it. 2015-01-16 18:57:06 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Split process_update() out of wait_process() Patch 1/4 to make TestManager handle waiting for processes instead of expecting each Test to do it. 2015-01-16 18:50:38 +0100 Ramiro Polla * validate/launcher/baseclasses.py: * validate/launcher/reporters.py: validate: launcher: Move logfile handling out of Reporter and into Test This makes each Test handle its own logfile, allowing the Reporter to work on multiple tests at the same time. Patch 5/5 to move logfile handling out of Reporter and into Test. 2015-01-16 19:54:56 +0100 Ramiro Polla * validate/launcher/reporters.py: validate: launcher: Remove redundant check self.out is always available when _get_captured() is called. Patch 4/5 to move logfile handling out of Reporter and into Test. 2015-01-16 18:45:52 +0100 Ramiro Polla * validate/launcher/baseclasses.py: * validate/launcher/reporters.py: validate: launcher: Split test log file handling in Reporter Patch 3/5 to move logfile handling out of Reporter and into Test. 2015-01-16 18:42:19 +0100 Ramiro Polla * validate/launcher/baseclasses.py: * validate/launcher/reporters.py: validate: launcher: Separate Reporter from current Test Instead of saving the current Test in Reporter for every test, use function parameters to achieve the same goal. Patch 2/5 to move logfile handling out of Reporter and into Test. 2015-01-16 18:25:56 +0100 Ramiro Polla * validate/launcher/baseclasses.py: * validate/launcher/reporters.py: validate: launcher: Initialize reporter timer before starting all tests Patch 1/5 to move logfile handling out of Reporter and into Test. 2015-01-12 13:09:33 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Don't wait for processes longer than necessary 2015-02-03 16:48:49 +0100 Mathieu Duponchelle * validate/fault_injection/socket_interposer.c: socket interposer: Be even more platform restrictive. 2015-02-03 15:41:01 +0100 Mathieu Duponchelle * validate/fault_injection/socket_interposer.c: validate: do not compile for android. 2015-01-30 18:52:57 +0100 Mathieu Duponchelle * validate/Makefile.am: * validate/configure.ac: * validate/fault_injection/Makefile.am: * validate/fault_injection/socket_interposer.c: * validate/fault_injection/socket_interposer.h: * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-scenario.c: * validate/tools/Makefile.am: validate: Implement a fault injection library. + And implement a corrupt-socket-recv action + Only compile this on Linux, LD_PRELOAD won't work on Windows. For now the registering of the action is done through a call to socket_interposer_init, this will get better when we refactor the action logic. https://bugzilla.gnome.org/show_bug.cgi?id=743871 2015-01-23 02:04:47 +0100 Mathieu Duponchelle * validate/tests/check/validate/padmonitor.c: validate: tests more issues with caps. https://bugzilla.gnome.org/show_bug.cgi?id=743387 2015-01-23 01:40:59 +0100 Mathieu Duponchelle * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/test-utils.c: validate: Add a test case for caps missing field. + Make the fake decoder have video/x-raw caps. https://bugzilla.gnome.org/show_bug.cgi?id=743387 2015-01-22 22:29:10 +0100 Mathieu Duponchelle * validate/tests/check/validate/padmonitor.c: validate: prepare tests for port to tracers backend. https://bugzilla.gnome.org/show_bug.cgi?id=743387 2015-01-22 22:07:37 +0100 Mathieu Duponchelle * validate/gst/validate/gst-validate-bin-monitor.c: bin-monitor: add itself as gobject data. 2015-01-13 02:32:16 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Fix test log header output Write log file header before running tests, instead of overwriting the file afterwards. https://bugzilla.gnome.org/show_bug.cgi?id=742966 2015-01-15 15:32:12 +0100 Ramiro Polla * validate/launcher/baseclasses.py: * validate/launcher/httpserver.py: * validate/launcher/reporters.py: validate: launcher: Always create log files Create log files even when stdout redirection is enabled. This commit partially reverts 20c28de. https://bugzilla.gnome.org/show_bug.cgi?id=742973 2015-01-15 15:26:14 +0100 Ramiro Polla * validate/launcher/baseclasses.py: * validate/launcher/httpserver.py: * validate/launcher/main.py: * validate/launcher/reporters.py: validate: launcher: Introduce new parameter for log file redirecting Allow log file redirection through the new --redirect-logs parameter. Keep the old --logs-dir stdout/stderr parameter, but reset to the default logs directory in that case, and set redirect_logs internally. This also prevents the creation of an stdout/stderr directory for writing xunit.xml. https://bugzilla.gnome.org/show_bug.cgi?id=742973 2015-01-09 14:04:16 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: plug caps leak on iterator resync 2015-01-09 12:36:31 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: use the same filter caps when querying downstream caps To avoid comparing the real result that has been filtered against a much larger caps that contains all possibilities. 2014-12-09 10:09:15 +0100 Thibault Saunier * validate/tests/check/validate/test-utils.c: validate: tests: disable g_log handler It messes up our own failures counter And pass test-utils into gst-indent 2014-12-08 18:53:55 -0300 Thiago Santos * validate/tests/check/validate/padmonitor.c: tests: padmonitor: disable glog handling It messes up our own failures counter 2014-12-08 17:27:52 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: get correct caps to check for proxied fields in caps queries Elements should proxy the peer element's caps fields and not what they have currently set on their pads when replying to a caps query 2014-12-08 17:17:08 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Only add pending caps fields for source pads As caps events are downstream, caps set travels from sinks to sources. Adding pending setcaps values to sink pads makes no sense as when a new caps is set on the sink it would compare with values currently set on the source pad, causing a critical failure when renegotiation happens. 2014-12-08 18:23:10 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate: launcher: Take the timeout as ref timeout to compute hard_timeout when it is provided. 2014-12-08 15:27:54 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate: launcher: Set a hard timeout on GstValidate tests if we know the duration 2014-12-08 14:37:15 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate: launcher: Force kill subprocess when done with them Making sure that we do not end up having spurious subprocess around 2014-12-08 08:42:51 -0300 Thiago Santos * validate/launcher/baseclasses.py: launcher: baseclass: add missing parameter Fixes "NameError: global name 'options' is not defined" 2014-12-08 10:09:57 +0100 Thibault Saunier * validate/launcher/main.py: validate: launcher: Properly handle non default main dir for the case of the new testsuite files 2014-12-07 12:30:25 +0100 Thibault Saunier * validate/launcher/apps/__init__.py: * validate/launcher/apps/gstvalidate.py: * validate/launcher/main.py: validate: launcher: Make the gstvalidate application a python module 2014-12-06 10:53:37 +0100 Thibault Saunier * validate/configure.ac: validate: Remove remaining reference to launcher/apps/validate It has been removed now. 2014-12-03 11:28:28 +0100 Thibault Saunier * validate/tools/gst-validate.c: validate: Avoid assert removing an already removed signal handler And, make sure that we set the return value != 0 when we receive SIGINT 2014-12-02 17:32:18 +0100 Thibault Saunier * validate/launcher/main.py: validate: Handle setting the HTTP server local path from testsuites 2014-12-02 15:41:17 +0100 Thibault Saunier * validate/launcher/main.py: * validate/launcher/utils.py: validate: Rename gst-qa-assets to gst-integration-testsuites 2014-12-02 15:39:09 +0100 Thibault Saunier * validate/tools/gst-validate.c: validate: print execution of set_subtitles actions 2014-12-02 10:02:09 +0100 Thibault Saunier * validate/launcher/main.py: validate: Factor out an LauncherConfig class type to handle configurations Allowing us to more simply define default value and expose an API on top of it 2014-12-02 10:00:42 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/launcher/apps/gstvalidate.py: validate: Remove file specific blacklisted tests 2014-11-29 13:43:06 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate: Let the user know when new tests are added, or tests are REMOVED 2014-11-29 00:03:04 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate: Add a cleaner API to setup tests in testsuite files With the testsuite format you will get a setup_tests(tests_manager, options) function called for each TestManager. The function will have the exact same role as with old config file but with a clean API and not magic global variables. This implies that we need default blacklist to be directly set on the TestManager and not on options.blacklisted_test 2014-11-28 22:58:09 +0100 Thibault Saunier * validate/launcher/main.py: validate: Add a way to sync all assets, including big ones 2014-11-28 22:42:47 +0100 Thibault Saunier * validate/launcher/apps/Makefile.am: * validate/launcher/apps/gstvalidate.py: * validate/launcher/apps/validate/Makefile.am: * validate/launcher/apps/validate/validate_testsuite.py: * validate/launcher/main.py: * validate/launcher/utils.py: validate: Remove the default testsuite implementation The default testsuite implementation should belong to the default asset repo where we have the corresponding knowledge. We should style manage a sensible list of known blacklisted tests, encoding profiles, and generators in GstValidate itself and allow testsuite actual implementations to easily use them though the register_default_* methods. This allow us to be able to remove the ugly execfile() call. 2014-11-27 12:11:43 +0100 Thibault Saunier * validate/gst/validate/gst-validate-reporter.c: validate: Make sure to at least listen to GStreamer and GLib g_logs If somewhere else someone is overriding the g_log default handler, we would not get notified of anything. 2014-11-27 13:48:17 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate: Disable coloration of GST_DEBUG logs when we have no-color Do that only when those logs are not saved to a file 2014-11-26 17:50:11 +0100 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/media-descriptor-parser.h: * validate/gst/validate/media-descriptor.h: validate: Factor out a function to print action types parametters + Remove playback-type from the list and just print it 2014-11-19 17:16:02 -0300 Thiago Santos * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-element-monitor.h: * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: do not enforce caps querying rules for converters Some encoders/decoders can also be converters, do not enforce caps proxying rules for them 2014-11-28 11:14:12 +0530 Vineeth T M * validate/launcher/main.py: validate: fix typo in documentation There are some typing mistakes in gst-validate-launcher --help Hence fixing the same. https://bugzilla.gnome.org/show_bug.cgi?id=740833 2014-11-25 15:35:09 +0100 Thibault Saunier * validate/launcher/apps/validate/validate_testsuite.py: * validate/launcher/main.py: validate: Handle unlimited tests duration Running full length scenario when the user asks 2014-11-25 15:32:31 +0100 Thibault Saunier * validate/gst/validate/gst-validate-element-monitor.c: validate: Already having a monitor is no error 2014-11-25 15:30:42 +0100 Thibault Saunier * validate/pre-commit-python.hook: validate: pre commit hook: Do not try to run pep8 on non python files! 2014-11-25 15:29:29 +0100 Thibault Saunier * validate/data/Makefile.am: * validate/data/scrub_backward_seeking_full.scenario: * validate/data/scrub_forward_seeking_full.scenario: validate: Add scub_*_seeking_full scenarios Which basically do the same thing as scrub_*_seeking but during throughout the whole duration of the media 2014-11-21 19:35:16 +0100 Thibault Saunier * validate/docs/validate/gst-validate-docs.sgml: * validate/docs/validate/gst-validate-sections.txt: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-runner.h: validate: Enhance documentation 2014-11-19 17:58:23 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/main.py: validate: Add an option to update all .media_info files 2014-11-16 23:05:45 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Execute actions without playback time without a valid position If the user did not specify any playback time we should be able to execute actions even if the pipeline can't answer the position query + Make simpler to read the conditions of an action execution 2014-11-09 19:08:52 +0100 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Properly handle ASYNC action execution in the API The ->execute function now return a GstValidateExecuteActionReturn which can be set as ASYNC in order to tell the scenario that the action will be executed asynchronously, when the action is done, the caller is responsible for calling gst_validate_action_set_done(); so that the scenario keeps going on. In this commit we make sure that the old API keeps working as GST_VALIDATE_EXECUTE_ACTION_ERROR == FALSE and GST_VALIDATE_EXECUTE_ACTION_OK == TRUE Morevover GstValidateExecuteActionReturn is just a define API: + gst_validate_action_set_done + GstValidateExecuteActionReturn https://bugzilla.gnome.org/show_bug.cgi?id=739854 2014-11-07 23:19:59 +0100 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Add a GstValidateActionTypeFlag flag Allowing us to define action types more in detail. Keep backward compatibility, at least with the C API https://bugzilla.gnome.org/show_bug.cgi?id=739854 2014-11-21 14:01:48 +0100 Thibault Saunier * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-bin-monitor.h: * validate/gst/validate/gst-validate-monitor-factory.c: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-pipeline-monitor.h: validate: Add a GstValidatePipelineMonitor subclass We had quite a bit of code dedicated to handled GstPipeline monitoring inside GstValidateBinMonitor, cleanly split that code into a new object type https://bugzilla.gnome.org/show_bug.cgi?id=740704 2014-11-20 11:55:45 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/main.py: * validate/launcher/utils.py: validate:launcher: Force clock sync for some protocols In HLS for example, not having clock sync might lead to races and failures do not test that for now 2014-11-20 11:53:34 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: validate: Don't fail getting master report from a ghostpad without target 2014-11-19 20:05:57 +0100 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: validate: Print current position even if we do not know the rate That could cause gst-validate-launcher to wrongly concider tests as timeout 2014-11-17 11:39:12 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Force clock sink for scenarios with a pause action 2014-11-15 18:08:42 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate: Handle wrong paths when listing avalaible apps User can make mistake or we can have an empty path. 2014-11-11 20:56:04 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tests/check/validate/padmonitor.c: validate: Do not check if first buffer running time is 0 It can perfectly not be 0, so it makes no sense to check that. https://bugzilla.gnome.org/show_bug.cgi?id=739965 2014-11-06 23:43:47 +0100 Thibault Saunier * validate/launcher/apps/validate/validate_testsuite.py: validate: Add audiomixer test to the default testsuite 2014-11-01 09:24:15 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Give better details about segment mismatch issues 2014-10-30 14:10:33 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: validate: Be more precise in issue type for wrong seqnum Depending on the type of event where the bug occurs, it is not the same issue type. That allows us to have much precise reports, and better explain the user where the issue stands. 2014-10-16 17:32:56 +0200 Thibault Saunier * validate/gst/validate/gst-validate-monitor-factory.c: * validate/gst/validate/gst-validate-scenario.c: validate: Fix a few annotation issues 2014-10-15 17:03:48 +0200 Thibault Saunier * validate/docs/validate/envvariables.xml: * validate/gst/validate/gst-validate-scenario.c: validate: Add the notion of WAIT_MULTIPLIER for the wait action Allowing the user to decide to wait more, or less, or even not wait for the wait action to execute when running scenarios. 2014-09-28 22:37:01 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Report an EXECUTION_ERROR on action execution failure If the action type handles a better error report type, it should just return TRUE, and report its issue itself. 2014-09-19 09:13:13 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate: Do not exit when we can not discover a result file Loggable.error actually exit the process, it is not what we want! + Avoid a backtrace 2014-11-03 11:50:54 +0100 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: scenario: Allow set-property action to work much earlier By default an action has no playback-time, this makes it actionable immediatly. When no playback-time is set on a set-property action, it will be activated the moment the element is added in the pipeline. 2014-10-31 16:01:52 +0100 Edward Hervey * validate/gst/validate/gst-validate-bin-monitor.c: validate-bin-monitor: Initialize local variable Avoids segfaults when freeing them if they didn't get filled in 2014-10-26 14:47:12 +0100 Mathieu Duponchelle * validate/autogen.sh: * validate/multi-pre-commit.hook: * validate/pre-commit-python.hook: validate: update pre-commit hook. + Allows to run multiple pre-commit hooks. + Always relink the hooks on autogen. + Run pep8 on commited python files. https://bugzilla.gnome.org/show_bug.cgi?id=739208 2014-10-25 14:59:49 +0200 Mathieu Duponchelle * validate/launcher/apps/gstvalidate.py: apps: gstvalidate.py: fix various pyflakes / uncaught pep8 issues. https://bugzilla.gnome.org/show_bug.cgi?id=739208 2014-10-25 14:50:54 +0200 Mathieu Duponchelle * validate/launcher/utils.py: validate-launcher: utils: fix various pyflakes / uncaught pep8 issues. https://bugzilla.gnome.org/show_bug.cgi?id=739208 2014-10-25 14:49:26 +0200 Mathieu Duponchelle * validate/launcher/main.py: validate-launcher: main: fix various pyflakes / uncaught pep8 issues. https://bugzilla.gnome.org/show_bug.cgi?id=739208 2014-10-25 14:46:26 +0200 Mathieu Duponchelle * validate/launcher/loggable.py: validate-launcher: loggable: fix various pyflakes / uncaught pep8 issues. https://bugzilla.gnome.org/show_bug.cgi?id=739208 2014-10-24 14:38:00 +0200 Mathieu Duponchelle * validate/launcher/baseclasses.py: validate-launcher: baseclasses: fix various pyflakes / uncaught pep8 issues. https://bugzilla.gnome.org/show_bug.cgi?id=739208 2014-10-24 14:23:52 +0200 Mathieu Duponchelle * validate/launcher/RangeHTTPServer.py: * validate/launcher/apps/gstvalidate.py: * validate/launcher/apps/validate/validate_testsuite.py: * validate/launcher/baseclasses.py: * validate/launcher/httpserver.py: * validate/launcher/loggable.py: * validate/launcher/main.py: * validate/launcher/reporters.py: * validate/launcher/utils.py: validate-launcher: pep8ify sources. https://bugzilla.gnome.org/show_bug.cgi?id=739208 2014-10-23 21:43:45 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-utils.c: validate-utils: downgrade ERROR to DEBUG. This function is called in places where it is legit for it to return NULL. 2014-10-23 21:36:03 +0200 Mathieu Duponchelle * validate/launcher/baseclasses.py: launcher: add a way to specify an application directory. https://bugzilla.gnome.org/show_bug.cgi?id=739091 2014-10-23 21:34:27 +0200 Mathieu Duponchelle * validate/launcher/apps/Makefile.am: * validate/launcher/apps/geslaunch.py: launcher: Don't implement product-specific TestManagers. This manager will be moved in GES. https://bugzilla.gnome.org/show_bug.cgi?id=739091 2014-10-23 15:21:14 +0200 Mathieu Duponchelle * validate/Makefile.am: * validate/configure.ac: * validate/launcher/Makefile.am: * validate/launcher/RangeHTTPServer.py: * validate/launcher/__init__.py: * validate/launcher/apps/Makefile.am: * validate/launcher/apps/geslaunch.py: * validate/launcher/apps/gstvalidate.py: * validate/launcher/apps/validate/Makefile.am: * validate/launcher/apps/validate/validate_testsuite.py: * validate/launcher/baseclasses.py: * validate/launcher/httpserver.py: * validate/launcher/loggable.py: * validate/launcher/main.py: * validate/launcher/reporters.py: * validate/launcher/utils.py: * validate/tools/Makefile.am: * validate/tools/gst-validate-launcher.in: validate-launcher: restructure filesystem https://bugzilla.gnome.org/show_bug.cgi?id=739091 2014-10-24 18:41:30 +0530 Ramprakash Jelari * validate/gst/validate/gst-validate-reporter.c: validate: Fix compiler warning about implicit enum type conversion gst-validate-reporter.c:119:39: error: implicit conversion from enumeration type 'GstValidateReportingDetails' to different enumeration type 'GstValidateInterceptionReturn' [-Werror,-Wenum-conversion] GstValidateInterceptionReturn ret = GST_VALIDATE_SHOW_UNKNOWN; ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~ gst-validate-reporter.c:124:11: error: implicit conversion from enumeration type 'GstValidateReportingDetails' to different enumeration type 'GstValidateInterceptionReturn' [-Werror,-Wenum-conversion] ret = iface->get_reporting_level (reporter); ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gst-validate-reporter.c:127:10: error: implicit conversion from enumeration type 'GstValidateInterceptionReturn' to different enumeration type 'GstValidateReportingDetails' [-Werror,-Wenum-conversion] return ret; ~~~~~~ ^~~ 2014-10-22 14:16:45 +0200 Mathieu Duponchelle * validate/gst/validate/Makefile.am: build: We install all headers system wide for now. Will be fixed when the API is deemed stable enough 2014-10-21 23:31:37 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-enums.h: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/tests/check/validate/overrides.c: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/reporting.c: validate: rename GstValidateReportingLevel. Removes the confusion with GstValidateReportLevel. Modeled on GstDebugGraphDetails. 2014-10-18 18:55:59 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/tests/check/validate/padmonitor.c: validate: Verify that elements always send a segment before pushing EOS EOS is some kind of data flow and thus a segment event should always be pushed before the EOS is sent 2014-10-18 18:53:03 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/reporting.c: validate: Properly check that the seqnum of the EOS is always properly set In the pipeline, an EOS should always have the same seqnum of the previous SEGMENT event that was received. If the segment is the result of a seek, it should always be the same as the seek seqnum too. + (Mathieu Duponchelle): fix reporting and concatenation tests. 2014-10-03 18:51:17 +0200 Thibault Saunier * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tests/check/Makefile.am: * validate/tests/check/validate/overrides.c: validate: Add support for text based override files Allowing user to easily determine the severity of issue types in a config file https://bugzilla.gnome.org/show_bug.cgi?id=737852 2014-10-03 18:53:42 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-parser.h: validate: Remove unused method gst_media_descriptor_add_frame is not used anywhere https://bugzilla.gnome.org/show_bug.cgi?id=737852 2014-10-03 18:42:04 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: validate: Move GstStructure file parsing into utils So it can be reused, at least in GstValidate. 2014-10-02 15:34:28 +0200 Thibault Saunier * validate/gst/overrides/gst-validate-default-overrides.c: * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/media-descriptor-writer.c: * validate/tests/check/validate/padmonitor.c: validate: report: Simplify the issue ID registering using GQuarks + Remove unused issue types https://bugzilla.gnome.org/show_bug.cgi?id=737790 2014-09-15 17:27:54 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/test-utils.c: * validate/tests/check/validate/test-utils.h: * validate/tools/launcher/apps/gstvalidate.py: validate: Check all buffers when we have the info from MediaDescriptor We now check that each buffer is the expected one for each buffer that come into the decoder. + Fix some minor leaks in test-utils https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-10-02 11:27:30 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-parser.h: validate:media-descriptor-parser: Add a way to create from a string So it is simple to make use of it from the testsuite https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-10-01 16:24:58 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: report: g_critical are CRITICAL issues! https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-09-17 17:32:52 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate: launcher: Fix printing of errors in final report https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-09-15 19:14:27 +0200 Thibault Saunier * validate/tools/launcher/apps/gstvalidate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: validate: Add the possibility to generate media infos with frame descs + Fix a little issue when the generation fails. https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-09-15 17:26:23 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor.h: validate: MediaDescriptors: Add md5sum to buffer informations In the media descriptor files, we now have the md5sum of the actual content of encoded buffers so that we can check that the buffer content is perfectly what is was supposed to be. + Fix the check of whether a frame is a keyframe in the string comparison (g_ascii_strcasecmp return 0 if string matches) https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-09-15 17:25:14 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-parser.h: validate: Move some method between GstMediaDescriptorParser and GstMediaDescriptor So that method land where they actually belong. https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-09-15 17:22:52 +0200 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: * validate/tools/gst-validate.c: validate: Add a way to pass a MediaDescriptor around monitors And add an option in gst-validate so that the user can define what media descriptor file to use. https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-09-12 12:12:14 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-writer.c: validate:media-descriptor: Handle stream with no tags It was segfaulting before. 2014-09-17 16:51:20 +0200 Thibault Saunier * .gitignore: * validate/.gitignore: * validate/docs/.gitignore: * validate/docs/validate/.gitignore: validate: Add more files to gitignore 2014-09-15 17:25:14 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-parser.h: * validate/gst/validate/media-descriptor.c: * validate/gst/validate/media-descriptor.h: validate: Move some method between GstMediaDescriptorParser and GstMediaDescriptor So that method land where they actually belong. 2014-10-12 16:25:25 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-runner.c: * validate/tests/check/validate/reporting.c: validate-report / reporter: rework the way we repeat issues. + runner: update reports count algorithm. 2014-10-12 16:13:51 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: mark the peer pad as EOS too. When a sink pad gets EOS, its src pad monitor should also be marked as EOS (helpful with issue concatenation). 2014-10-10 10:22:31 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-runner.c: * validate/tests/check/validate/reporting.c: validate-pad-monitor / runner: Check per-object reporting levels. 2014-10-12 14:36:13 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: validate-report: Set conditions in which a report can't be master. 2014-10-12 14:34:34 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: validate-report: Add a reporting level field and setter. 2014-10-21 19:43:45 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-runner.c: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/reporting.c: validate-runner: implement synthetic report. + Fix criticals logic in validate_runner_printf + Update padmonitor tests + Split validate_report_printf function. 2014-10-10 06:01:03 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-runner.c: * validate/tests/check/validate/reporting.c: validate-runner: Implement REPORT_NONE for global reporting. Yeah that was tough. Helpful already though, for example: GST_VALIDATE_REPORT_LEVEL=none,x:all gst-validate src name=x ! sink will only report issues reported by the source. + Add test. 2014-10-10 05:08:28 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/tests/check/validate/reporting.c: tests: Check monitors correctly determine their reporting level. + [API] gst_validate_reporter_get_reporting_level 2014-10-10 03:55:37 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-runner.c: validate-runner / monitor: Let the user single out pads. That's some pretty specific code but it should be helpful. The following syntax can be used : element-name::pad-name. + Free return of gst_object_get_name. 2014-10-10 02:52:26 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-runner.c: validate-runner / reporter: Sanitize reports refcounting. The previous code worked but was confusing, the runner didn't actually take the ref it was releasing later. + Fix indentation. 2014-10-10 02:49:54 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-element-monitor.c: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/test-utils.c: * validate/tests/check/validate/test-utils.h: tests: Test reports refcounts. + Set the element monitor on the element as qdata. 2014-10-10 01:17:43 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: validate-monitor: Determine the reporting level at setup. 2014-10-09 19:41:48 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/tests/check/validate/reporting.c: validate-runner: Add code to parse GST_VALIDATE_REPORT_LEVEL. + Extend the tests. + [API] gst_validate_runner_get_default_reporting_level + [API] gst_validate_runner_get_reporting_level_for_name 2014-10-08 05:08:21 +0200 Mathieu Duponchelle * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-enums.h: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/tests/check/Makefile.am: * validate/tests/check/validate/reporting.c: validate-runner: report-level initial work. + Defines reporting levels and document them. + Add API to get the default level. + fix indentation. + fix some typos. + Add the beginning of a reporting test. 2014-10-02 02:50:29 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-pad-monitor.c: * validate/tests/check/validate/padmonitor.c: validate-pad-monitor: concatenate issues. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=735665 The process is to check for a similar report in intercept_report on the pads of the upstream element, set that report as the master report of the intercepted report, and return REPORTER_KEEP instead of REPORTER_REPORT. 2014-10-02 02:34:26 +0200 Mathieu Duponchelle * validate/tests/check/validate/test-utils.c: * validate/tests/check/validate/test-utils.h: test-utils: add a create_and_monitor element function. 2014-10-01 18:28:33 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: validate-reporter: Add some methods + gst_validate_reporter_get_reports + gst_validate_reporter_get_reports_count 2014-10-01 15:53:24 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: validate-report: Add the notion of master / shadow reports. A master report is a report that has been detected by a monitor to stem from the same issue. It thus contains a list of "shadow reports" which it will browse when printing itself. 2014-10-01 15:50:11 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-report.c: validate-report: Make the ref / unref functions safer. 2014-10-21 13:07:02 +0200 Mathieu Duponchelle * validate/tests/check/validate/padmonitor.c: tests/padmonitor: Correcly strdup the result of get_metadata. The const pointer was becoming invalid after the first call to add_metadata, and we ended up setting corrupted data on the second call. 2014-10-01 15:11:21 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-scenario.c: validate-reporter: Add return value to intercept_report. It will allow to drop, keep or report reports. 2014-09-30 16:08:46 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-pad-monitor.c: validate-pad-monitor: Reimplement reporter interface. + Do nothing there for now, except chain up. 2014-09-30 14:52:35 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: validate-reporter: add gst_validate_reporter_get_report. + Add locking. 2014-10-20 13:38:20 +0200 Thibault Saunier * validate/configure.ac: Back to development 2014-10-20 12:04:25 +0200 Thibault Saunier * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: Release 1.4.0 2014-10-13 16:28:54 +0200 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: validate: Print position if it could properly be queried Otherwize we will print meaningless garbage. 2014-10-13 10:32:07 +0200 Thibault Saunier * validate/docs/launcher/conf.py: * validate/tools/launcher/baseclasses.py: validate:launcher: Minor enhancement in the documentation 2014-10-12 20:19:42 +0200 Thibault Saunier * validate/data/adaptive_video_framerate.scenario: * validate/data/adaptive_video_framerate_size.scenario: * validate/data/adaptive_video_size.scenario: * validate/data/alternate_fast_backward_forward.scenario: * validate/data/camerabin_signal.scenario: * validate/data/disable_subtitle_track_while_paused.scenario: * validate/data/fast_backward.scenario: * validate/data/fast_forward.scenario: * validate/data/force_key_unit.scenario: * validate/data/pause_resume.scenario: * validate/data/play_15s.scenario: * validate/data/reverse_playback.scenario: * validate/data/scrub_backward_seeking.scenario: * validate/data/scrub_forward_seeking.scenario: * validate/data/seek_backward.scenario: * validate/data/seek_forward.scenario: * validate/data/seek_forward_backward.scenario: * validate/data/seek_with_stop.scenario: * validate/data/simple_seeks.scenario: * validate/data/switch_audio_track.scenario: * validate/data/switch_audio_track_while_paused.scenario: * validate/data/switch_subtitle_track.scenario: * validate/data/switch_subtitle_track_while_paused.scenario: * validate/data/update_start.scenario: * validate/data/update_stop.scenario: * validate/docs/validate/scenarios.xml: * validate/gst/validate/gst-validate-scenario.c: validate: Rename action type playback_time to playback-time Keeping backward compatiblity with the old naming 2014-10-12 20:07:58 +0200 Thibault Saunier * validate/docs/validate/gst-validate-sections.txt: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Rename gst_validate_add_action_type to gst_validate_register_action_type The _register naming corresponds much better to what the method does and makes it more similar to how we refer to this kind of action in GStreamer. It is a last minute API change, but that API should not change anymore after 1.4 is released. 2014-10-12 20:00:03 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Fix the addition of playback_time in the parameter types 2014-10-12 19:46:39 +0200 Thibault Saunier * validate/docs/validate/scenarios.xml: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Rename --list-action-types to --inspect-action-type Making clearer the meaning of the parameter and closer to the usual naming in the GStreamer land. 2014-10-12 19:16:08 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Add the 'flags' for the seek action type This was always a mandatory field but was not documented 2014-09-29 10:22:55 +0530 Anuj Jaiswal * validate/gst/validate/gst-validate-runner.c: validate: mishandled pointer criticals Free glist of criticals Signed-off-by: Anuj Jaiswal https://bugzilla.gnome.org/show_bug.cgi?id=736313 2014-10-01 10:54:47 +0200 Thibault Saunier * validate/docs/validate/command-line-tools.xml: validate:docs: Add documentation about the default testsuite 2014-09-30 10:30:24 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/tests/check/validate/padmonitor.c: validate-runner: switch to using a GList for the reports. + Return a copy of that list in get_reports. + update tests. 2014-09-30 09:24:48 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/tests/check/validate/padmonitor.c: validate-runner: Hide implementation. 2014-09-30 09:11:58 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: gst-validate-runner: Add locking for the reports list. 2014-09-29 15:37:40 +0200 Thibault Saunier * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/docs/release.txt: Release 1.3.90 2014-09-12 10:47:18 +0200 Thibault Saunier * validate/tools/launcher/apps/gstvalidate.py: * validate/tools/launcher/baseclasses.py: validate:launcher: Factorize code to get a MediaDescriptor name for classname Instead of copy/pasting that code badly 2014-09-12 10:22:15 +0200 Edward Hervey * validate/docs/validate/gst-validate.types: validate/docs: Add location of Scenario/Action defines 2014-09-10 16:45:41 +0530 Anuj Jaiswal * validate/gst/validate/gst-validate-media-info.c: validate: (performance issue)refactor to remove duplicate assignment Signed-off-by: Anuj Jaiswal https://bugzilla.gnome.org/show_bug.cgi?id=736412 2014-09-11 10:54:43 +0200 Thibault Saunier * validate/docs/Makefile.am: validate: docs: Always dist the launcher directoty Fixing make distcheck 2014-09-11 09:42:02 +0200 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: validate: Get the Runner reports in order of arrival Making sure they are printed in the right order 2014-09-10 09:47:22 +0200 Thibault Saunier validate: Start a testsuite Currently implemented tests are: * Settup and cleanup on monitor is done properly * Some tests in the PadMonitor are done properly, namely: - Buffer before segment - Buffer outside segment - First buffer running time is always 0 - The Demuxer flow aggregation is properly checked https://bugzilla.gnome.org/show_bug.cgi?id=736379 2014-09-12 09:49:35 +0200 Edward Hervey * validate/gst/validate/gst-validate-internal.h: validate/private: Avoid double typdef Instead just include required (public and local) header gst-validate-scenario.h:43:44: error: redefinition of typedef 'GstValidateActionParameter' is a C11 feature [-Werror,-Wtypedef-redefinition] 2012-09-26 02:28:00 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: disable tooltip while scrolling 2012-09-26 02:00:10 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: Hide some columns by default 2012-09-26 01:56:05 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: columns: optimize cell data functions a little 2012-09-26 01:41:22 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: Fix crash when copying row to clipboard 2012-09-24 22:58:58 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: fix incorrect position after scrolling using the timeline Apparently events are dropped internally, so the last position after you stop dragging can be off. 2012-09-23 16:43:25 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/models.py: models: store line offsets in arrays 2012-09-23 17:22:53 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Use pango markup instead of attributes Attributes don't work from introspection, so this blocks porting to gtk3. In MessageColumn, admit that multiple highlighters don't actually work. 2012-09-23 17:22:12 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: findbar: highlight multiple matches in a message 2012-09-24 02:15:09 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: only redraw updated parts of the graph Improves rendering performance a lot. 2012-09-24 02:23:22 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: fix position rectangle missing on first click Regression caused by previous commit. 2012-09-22 01:27:37 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: only redraw required areas when updating position rectangle 2012-09-22 01:25:22 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/models.py: Fix crash when range filtering Regression from 25cfe9 (timeline: make log level calculation a lot faster). 2012-09-22 00:33:41 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: clean up widget drawing 2012-09-21 22:52:25 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: make log level calculation a lot faster This is the step where the timeline graph gets colored with the individual log level colors. It's roughly 4.5 times faster now. Probably can be made even better, the code also needs a cleanup. 2012-09-21 22:15:07 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Data: improve stripped log file loading performance A ~9% improvement for files without colors. This now slightly outperforms the code before color support was added. 2012-09-21 21:38:58 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Data: also yield while loading unparseable files Otherwise, the UI would be blocked while loading something big that is not a log file at all. 2012-09-21 19:13:07 +0200 René Stadler * debug-viewer/gst-debug-strip-color.py: Remove color stripping script 2012-09-21 19:11:40 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Data: add support for colored log files Adds a ~5% penalty for loading stripped files. 2012-09-21 00:40:07 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: remove broken actions from context menu Hide lines before/after doesn't work as expected in this case. 2012-09-20 23:51:05 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Data: fix parsing of lines missing filename or function name E.g. ffmpeg. 2012-09-20 20:20:58 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: grab when scrolling in TimelineWidget Also use gdk_event_request_motions. 2012-09-20 20:11:48 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: move mouse handling into TimelineWidget 2012-09-20 19:58:06 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: replace self.connect calls with vmethod overrides 2012-09-17 18:39:53 +0200 Andrzej Bieniek * debug-viewer/setup.py: setup: fix build 2012-08-27 13:52:56 -0700 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: don't select row when changing position in the timeline Behaves just like the scrollbar now. 2012-08-27 13:46:14 -0700 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: stop scanning the file while filtering 2012-08-27 13:45:57 -0700 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: small cleanup 2012-08-24 02:09:04 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/data/menus.ui: Modernize menus a little A bit in preparation to gtk3 app menus. 2012-08-24 01:50:44 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/GstDebugViewer/GUI/window.py: Simplify and optimize filtered model implementation RangeFilteredLogModel is gone. The functionality is trivially implemented in FilteredLogModel now. Changing the range is now O(log n) at worst (was O(n) at best, for rewriting the arrays). Stacking filtered models is not supported anymore, which simplifies the code. 2012-08-24 01:42:00 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/GstDebugViewer/GUI/window.py: Make RangeFilteredLogModel internal to GUI.models 2012-08-24 01:40:24 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/GstDebugViewer/GUI/window.py: Always use a filtered log model in the log view Preparing to phase out RangeFilteredLogModel. 2012-08-24 01:37:27 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/models.py: models: cleanup dead code 2012-03-31 01:16:25 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: window: prevent default handler for delete-event from running 2012-08-24 01:26:32 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: window: set to insensitive during load/filter operations 2012-08-24 01:20:05 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: window: show error for unparseable files 2012-08-24 00:24:55 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/data/progress-dialog.ui: window: replace progress and error dialogs with InfoBars 2012-08-24 00:10:05 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: window: set wmclass, to have a nicer app name when running uninstalled 2011-11-16 20:37:21 +0100 René Stadler * debug-viewer/GstDebugViewer/Data.py: Data: fix up out-of-order log lines This is important because we rely on monotonically increasing timestamps for binary searches in various places. Overhead for an already sorted file with 1 million lines is less than 5%. 2011-11-16 20:23:31 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: window: connect action handlers using a function decorator A bit esoteric, but better than maintaining the list of action names. 2011-11-16 19:50:06 +0100 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: GUI: use 'with' statement 2011-11-16 19:45:16 +0100 René Stadler * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/Common/utils.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/gst-debug-viewer: Switch to new try..except syntax This is forward compatible to Python 3. 2011-11-06 13:35:26 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/window.py: columns: auto size time column when setting base time Base time formatting adds + or - in front of the timestamp, so the column has to grow a little to not hide the last digit. Also fixes a crash when setting the base time while the time column is hidden. 2011-11-06 13:19:55 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: columns: also auto size thread and pid column on zoom change 2011-11-06 13:18:19 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: columns: cleanup default size calculation Some unused parameters here. 2011-11-06 12:49:43 +0100 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Timeline: small cleanup 2011-11-06 12:41:08 +0100 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/tests/create-test-log.py: Data: remove log line serialization This is incomplete and prone to error. Move it out into the utility script (which is the only user). 2011-11-06 12:19:52 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/colors.py: * debug-viewer/GstDebugViewer/GUI/columns.py: Remove odd-even row colors from log level column This is more of visual clutter than aid. People also seem to be less likely to spot the connection between the column and the timeline graph colors. 2011-11-06 00:16:29 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: Resize time and log level columns after zoom change 2011-11-05 23:47:47 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/app.py: * debug-viewer/GstDebugViewer/GUI/window.py: Store zoom level in state 2011-11-05 23:05:00 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/data/menus.ui: Add zoom reset action 2011-11-05 22:53:24 +0100 René Stadler * debug-viewer/data/menus.ui: Clean up context menu These actions are not so commonly used, and also are not depending on the context at all. 2011-11-05 23:52:40 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/window.py: Refactor and fix zoom handling ColumnManager has to apply the zoom factor to newly added columns. Otherwise, showing a previously hidden column appears with scale 1.0. This also drops the value-changed signal emission for the vadjustment, as it is apparently not needed. 2010-07-06 11:42:08 +0300 Stefan Kost * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI/colors.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add 'fixme' and 'trace' log levels 2010-06-30 16:16:45 +0300 Stefan Kost * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: add tooltip to histogram as well 2010-04-16 18:26:26 +0300 Stefan Kost * debug-viewer/GstDebugViewer/GUI/app.py: * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/data/menus.ui: Add zoom in/out actions, reduce vertical row padding Add two actions to shrink and enlarge the text in the log pane. Add a theme overide to set expander size to 1 (see bug #615985) and also turn focus lines off. Remove extra ypadding on cells. 2011-09-25 21:38:48 +0200 René Stadler * debug-viewer/tests/test_models.py: Fix tests Forgot to convert this when modules got split. 2011-09-11 21:10:47 +0100 Andrzej Bieniek * debug-viewer/GstDebugViewer/Main.py: Fix --version option 2011-09-09 22:02:28 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: Improve wording of hide lines actions These also appear in the context menu of the timeline. The more generic wording makes more sense for the timeline, since you do not pinpoint any specific line in this case. 2011-09-09 21:47:16 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: fix grey background artifact when enlarging window 2011-09-07 16:11:58 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix glib warnings on model property access Seems like pygobject can all of the sudden not handle a NULL model on a property. Using the getter works around this. Also using the setter now for consistency. 2011-09-06 22:27:33 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: fix possible lag when dragging on timeline I need to idle-aggregate scroll updates, since gtk performs heavy operations in a synchronous fashion here (ironically, they do that to make scrolling smooth). 2010-07-02 23:03:39 +0300 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: GUI: Work around GtkBuilder name property API break (gtk+ 2.20) 2009-10-21 00:32:09 +0300 René Stadler * debug-viewer/setup.py: setup.py: fix installation 2009-10-21 00:31:46 +0300 René Stadler * debug-viewer/GstDebugViewer/Main.py: Main: fix import 2009-10-21 00:27:46 +0300 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove stale GUI module 2009-10-16 21:45:29 +0300 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/data/menus.ui: Add new base time feature The log view context menu gains a new action "Set base time", which changes the time column to show the delta to the selected row. 2009-08-07 02:54:10 +0300 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/GUI/__init__.py: * debug-viewer/GstDebugViewer/GUI/app.py: * debug-viewer/GstDebugViewer/GUI/colors.py: * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/filters.py: * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Split giant GUI module into submodules 2009-06-13 00:58:36 +0300 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: fix timestamp binary search Fixes dragging the mouse over bigger gaps of log activity making the red position rectangle come out next to the mouse pointer. Also selects the proper row now, not randomly 1-2 rows before or after the gap. 2009-06-12 21:53:28 +0300 René Stadler * debug-viewer/GstDebugViewer/GUI.py: GUI: remove unused imports 2009-03-14 23:50:03 +0200 René Stadler * debug-viewer/setup.py: setup.py: Fix version number 2009-03-14 23:02:45 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/Common/utils.py: * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/setup.py: * debug-viewer/tests/test_models.py: Cleanup whitespace 2009-03-14 20:40:52 +0200 René Stadler * debug-viewer/data/about-dialog.ui: Update copyright statement in about dialog 2009-03-14 20:06:16 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/menus.ui: * debug-viewer/setup.py: Rename UIManager file 2009-03-14 20:03:37 +0200 René Stadler * debug-viewer/data/about-dialog.ui: * debug-viewer/data/main-window.ui: * debug-viewer/data/progress-dialog.ui: Re-write builder files with glade3 2009-03-14 19:38:36 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/__init__.py: * debug-viewer/data/about-dialog.ui: * debug-viewer/data/main-window.ui: * debug-viewer/data/progress-dialog.ui: * debug-viewer/setup.py: Migrate from glade to GtkBuilder 2009-03-11 00:41:26 +0200 René Stadler * debug-viewer/data/gst-debug-viewer.gladep: Remove glade project file 2008-11-29 21:06:52 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/Main.py: Fix logging being on by default with recent Python The fix for Python issue #1021 uncovered a mistake of mine. I was under the impression that logging.NOTSET level means "off", but in fact it means to not modify the level, and setting that on the root logger with basicConfig leads to turning on all levels. 2008-11-29 21:00:20 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Use mmap in a portable way 2008-11-26 23:21:57 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Add FIXME comments 2008-11-26 23:13:05 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: GUI: Fix edit-copy-line action crashing/copying wrong line When the view was unfiltered, this crashed. When the view was range filtered, this copied the wrong line. Spotted by Stefan Kost. 2008-11-05 00:00:48 +0200 René Stadler * debug-viewer/.bzrignore: * debug-viewer/.gitignore: Migrate .bzrignore -> .gitignore 2008-06-30 19:48:34 +0300 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Move more attribute lookups out of loops for speed 2008-06-29 21:14:07 +0300 René Stadler * debug-viewer/GstDebugViewer/Data.py: Add support for recent log format changes, be more tolerant on whitespaces, cope with object names containing '>' 2008-06-13 22:58:54 +0300 René Stadler * debug-viewer/data/gst-debug-viewer.glade: Use correct license in about dialog 2008-03-02 15:24:16 +0200 René Stadler * debug-viewer/setup.py: Fix installation by including missing packages 2008-03-01 20:44:53 +0200 René Stadler * debug-viewer/data/gst-debug-viewer.svg: Add (placeholder) SVG icon file 2008-02-05 17:29:52 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Update vertical timeline when the widget size changes 2008-02-04 17:36:57 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix bottom view showing the wrong selected log line 2008-02-04 17:26:48 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix bottom view line activating the wrong line after filtering 2008-01-25 15:44:38 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix bottom view not showing current line until you add something there 2008-01-25 12:40:51 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Faster handling of partial expose events in timeline 2008-01-25 11:17:02 +0200 René Stadler * debug-viewer/GstDebugViewer/Main.py: Mention GStreamer in --help output 2008-01-25 11:12:48 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Allow to cancel a running filter process 2008-01-24 16:19:15 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Make hide before/after action insensitive when first/last line is selected 2008-01-24 15:18:37 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Add filtering for object name and source code filename 2008-01-24 14:29:39 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add FIXME comment 2008-01-24 12:16:41 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Create own menu structure for log view context menu 2008-01-24 11:49:41 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Sync show-timeline action state before connecting signal handler 2008-01-24 11:47:27 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Timeline.py: Move per-window management into own class 2008-01-24 11:12:05 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Re-format long line 2008-01-24 10:59:14 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Replace gdk.ALL_EVENTS_MASK with proper minimal set of event flags 2008-01-23 17:13:07 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/tests/performance.py: Move performance test program into its own file 2008-01-23 17:07:55 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Allow creation of more than one window 2008-01-23 17:07:51 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add TODO comment 2008-01-23 14:51:14 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Use GdkColors for level column, cleanup color handling 2008-01-23 11:03:47 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Replace linear-time filtered index search with usage of bisect module 2008-01-22 16:28:09 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Restore visible range of log view when changing filter 2008-01-22 13:50:04 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Resolve small FIXME in SubRange 2008-01-22 13:40:36 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Cleanup FilteredLogModel.super_model_changed_range 2008-01-22 12:59:37 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/tests/test_models.py: Fix crash with unparsable files 2008-01-22 11:22:38 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/Main.py: Make option parser work with glib before 2.13.2 2008-01-21 14:45:02 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: s/get_cells/get_cell_renderers/ again 2008-01-21 13:24:02 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Correctly parse categories with digits in them (fixes flump3dec, v4l2src messages) 2008-01-21 11:15:42 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/tests/test_models.py: Fix filtered range transformation (finally!) 2008-01-11 11:11:00 +0200 René Stadler * debug-viewer/tests/test_models.py: Add simple identity filter model tests 2008-01-10 16:15:53 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/tests/test_models.py: Fix filtered model index translation and improve tests 2008-01-10 14:14:12 +0200 René Stadler * debug-viewer/tests/test_models.py: Add test suite for filtered models 2008-01-10 14:12:34 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix off-by-one error in filtered model range reclamping 2008-01-10 13:49:58 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Improve filtered model interacting with range changes 2008-01-02 20:54:33 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Unify two very similar methods 2007-12-21 15:10:15 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add FIXME about broken index translation logic 2007-12-18 18:48:28 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Prevent crash with older bindings 2007-12-18 17:10:08 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix more problems when clamping with filter turned on 2007-12-18 15:26:05 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix off-by-one error causing display of spurious line when clamping with filter turned on 2007-12-18 13:46:55 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix selection of line after changing filter, add logging 2007-12-17 17:50:10 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Preserve clamped timestamp range when filtering and vice versa 2007-12-13 13:43:28 +0200 René Stadler * debug-viewer/gst-debug-strip-color.py: Fix color stripping script 2007-12-13 13:36:45 +0200 René Stadler * debug-viewer/gst-debug-strip-color.py: Add gst-debug-strip-color.py, a script to strip color codes 2007-12-12 18:35:28 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Implement idle filtering (with progress display) 2007-12-12 16:22:51 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.glade: Factor out progress dialog handling into its own reusable object class 2007-12-12 14:59:53 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Implement category filtering 2007-12-12 13:49:02 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Allow for more than one (log level) filter to be set 2007-12-11 11:38:45 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Restore search to a consistent state when showing the search bar again 2007-12-11 11:28:17 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Add accelerators to search result navigation actions 2007-12-11 11:16:44 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Fix search result navigation action sensitivity when showing the find bar 2007-12-11 11:13:46 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Add search navigation menu items to view menu 2007-12-11 10:44:20 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: When right clicking to open a context menu, pass the event on (which selects the row) 2007-12-10 17:40:31 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Implement backward search result navigation 2007-12-10 17:09:07 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Remove dead/useless code 2007-12-10 17:06:23 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Rename variable 2007-12-10 17:04:47 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Implement lazy searching 2007-12-10 14:22:51 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Some search fixes 2007-12-10 11:49:39 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: Add status label to find bar 2007-12-07 16:50:02 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix timeline warning/error indicator triangle vertical position 2007-12-07 16:24:01 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add GUI utility function to add a popup menu to a widget 2007-12-07 14:10:03 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Cleanup timeline warning/error triangle drawing, add TODOs 2007-12-07 12:02:15 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add tooltip to vertical timeline widget 2007-12-07 11:25:30 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add hide before/after menu items to timeline context menu 2007-12-06 17:51:33 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Add context menu to bottom view, with entry to clear all lines 2007-12-04 16:34:53 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix copying of line to clipboard 2007-12-04 16:21:45 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove implicit keybinding of copy message action 2007-12-04 14:44:34 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix adding rows to the bottom view 2007-12-04 14:40:41 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix crash when adding a line to bottom view with log filter turned on 2007-12-04 14:35:50 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Implement filtered log model index translation 2007-12-04 14:22:19 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add support for stacking log model filters 2007-12-03 17:49:04 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Do not let the user add duplicate lines to the bottom log view 2007-12-03 17:44:40 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Keep the bottom view sorted by timestamp 2007-12-03 16:38:29 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Unbreak filtering again 2007-12-03 16:07:05 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Improve method to update log view after search text change 2007-12-03 15:47:58 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Remove dead code 2007-12-03 15:45:09 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Use the mmapped fileobj in more places and use slice access 2007-12-03 15:24:20 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add simple cache eviction to LazyLogModel to limit memory usage 2007-12-03 14:58:04 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Rename show-find-bar action callback handler 2007-12-03 12:18:23 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Implement lazy highlighting of search results 2007-12-03 11:46:44 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Move search matching logic into the SearchOperation object 2007-12-03 11:35:31 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Add search result navigation 2007-11-30 17:41:33 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix crash when showing all lines after having filtered down to zero lines 2007-11-30 17:39:36 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Avoid GtkWarning when filtering down to no visible line at all 2007-11-30 17:33:08 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix crash when displaying only one line 2007-11-30 17:14:36 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Hide unimplemented filtering actions 2007-11-30 17:13:12 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add preliminary log level filtering support 2007-11-30 16:44:36 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Add level, category, object filtering actions 2007-11-30 16:01:51 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Derive range/clamping model filter from the new base class 2007-11-30 16:00:09 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add identity filter model to save some memory 2007-11-30 15:47:51 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add base class for filtered log models 2007-11-30 15:38:20 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Move class around 2007-11-30 15:35:05 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Change code to cleaner terminology of filter model relationships 2007-11-30 14:15:32 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Try to avoid a crash regarding illegal paths received from GtkTreeView 2007-11-30 14:05:18 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix timeline level distribution plotting after gaps 2007-11-30 10:54:32 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: For search highlighting, use pango attrlists instead of markup 2007-11-30 10:31:45 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: After changing the filter, scroll to the selected row 2007-11-30 10:21:38 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Retain bottom view model and fix crash after filter change 2007-11-29 17:28:35 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Keep line selection when changing filter model 2007-11-29 16:21:38 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Only auto size view columns once 2007-11-29 15:49:58 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.glade: Remove redundant property settings 2007-11-29 15:40:51 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.glade: Fix window size and position state persistency 2007-11-29 15:34:35 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix hanging after loading an unparsable/colored file 2007-11-29 15:25:31 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Behave a little better with unparsable/colored files 2007-11-29 15:11:40 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix division by zero crash with unparsable/colored files 2007-11-29 15:03:07 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Fix crash when viewing a colored log file 2007-11-29 14:29:10 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix crash when opening a file that has trash lines only 2007-11-29 14:26:56 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Gracefully handle garbage lines at the line cache level 2007-11-29 14:07:31 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Correct wording in benchmark output 2007-11-29 13:53:42 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix comment 2007-11-29 13:51:46 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix level distribution calculation for the last partition 2007-11-29 13:31:54 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Make message column receive a minimal size, which removes the size warning 2007-11-29 13:26:54 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove more outdated comments 2007-11-29 13:15:28 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove outdated comment 2007-11-29 13:09:20 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove commented code 2007-11-29 11:38:39 +0200 René Stadler * debug-viewer/data/gst-debug-viewer.ui: Add separator to view menu 2007-11-29 11:37:51 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/data/gst-debug-viewer.ui: s/omit lines/hide lines/ 2007-11-29 11:20:34 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: After load, select the first line 2007-11-29 11:19:00 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: When navigating with the timeline, select the line in the center of the view 2007-11-29 11:16:34 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: When navigating with the bottom view, select the target line 2007-11-29 11:09:28 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: When activating a bottom view row, navigate the log view there 2007-11-29 10:31:59 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add ability to add rows to bottom view 2007-11-28 16:10:57 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Avoid copies of the line index list in the line view model (fixes range filtering) 2007-11-28 15:58:28 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove left over whitespace 2007-11-28 15:32:06 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.glade: Display timestamp and full message of selected line 2007-11-28 11:27:26 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/GUI.py: Correctly set sensitivity of row action group 2007-11-28 10:57:02 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add a (pretty limited) context menu to the timeline widget 2007-11-28 10:42:46 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Adjust comment 2007-11-28 10:27:45 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Main.py: Fix handling of filename command line argument 2007-11-28 09:56:35 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Tweak thread colors a bit 2007-11-27 17:11:28 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add fuzzy compatibility to unpatched pygtk 2.12.0 2007-11-27 16:50:41 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/data/gst-debug-viewer.ui: Add ranged line omission feature 2007-11-27 13:47:30 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Speed up immediate search results by setting search start position 2007-11-27 13:30:28 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/Data.py: Use low idle priority for dispatching, to fix initial vtimeline display 2007-11-27 12:03:32 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Add basic search highlighting 2007-11-26 18:01:30 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Draw vertical timeline connectors as triangles 2007-11-26 16:55:11 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Set view selection mode to BROWSE 2007-11-26 16:52:21 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix timeline position drawing and vertical timeline initial display 2007-11-26 15:42:44 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Put basename of open file into window title 2007-11-26 15:31:13 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Add reload file functionality 2007-11-26 14:55:31 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Disable interactive search on the log view 2007-11-26 14:42:46 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/FileProperties.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: Save state of timeline visibility 2007-11-26 13:55:03 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/GUI.py: Refactor state/config classes to be more flexible 2007-11-26 11:06:31 +0200 René Stadler * debug-viewer/data/gst-debug-viewer.ui: Comment out unimplemented new-window action item 2007-11-26 10:53:37 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Gracefully handle errors when opening a file 2007-11-26 09:47:53 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/data/gst-debug-viewer.glade: Add very simple search bar 2007-11-23 16:06:10 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Colorize vertical timeline lines to indicate different threads 2007-11-23 15:04:14 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add (commented) support to draw the vertical timeline on first display 2007-11-23 11:46:43 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/data/gst-debug-viewer.glade: Add vertical timeline widget (which looks quite cool) 2007-11-22 20:44:02 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: s/get_cells/get_cell_renderers/ 2007-11-22 16:27:34 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Replace filename column with code column, listing filename and line number 2007-11-22 16:06:55 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: Make file->open work correctly 2007-11-22 13:48:47 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Enable double-clicking a file in file chooser dialog 2007-11-22 13:36:13 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Align log level column text in center 2007-11-22 13:35:39 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix initial column size measurement 2007-11-22 11:56:34 +0200 René Stadler * debug-viewer/tests/create-test-log.py: Adjust test log generator 2007-11-22 11:03:09 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Clamp timeline mouse position to actual range 2007-11-22 10:47:06 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/Data.py: * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/Common/__init__.py: * debug-viewer/GstDebugViewer/Common/utils.py: * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Main.py: * debug-viewer/GstDebugViewer/Plugins/ColorizeRows.py: * debug-viewer/GstDebugViewer/Plugins/FileProperties.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: * debug-viewer/GstDebugViewer/__init__.py: * debug-viewer/gst-debug-viewer: * debug-viewer/setup.py: Fix copyright/license headers and module docstrings 2007-11-22 10:33:18 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: Cleanup 2007-11-22 10:29:23 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: Display timeline by default 2007-11-22 10:19:36 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix missing the last vertical ref line in the timeline display 2007-11-22 09:56:21 +0200 René Stadler * debug-viewer/.bzrignore: Add .bzrignore file 2007-11-22 09:55:13 +0200 René Stadler * debug-viewer/data/gst-debug-viewer.glade.bak: Kick glade backup file out of the repo 2007-11-22 09:54:10 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.glade: * debug-viewer/data/gst-debug-viewer.glade.bak: Implement cancelling of the load process in the UI 2007-11-22 09:31:37 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Progressively draw the debug level distribution into the timeline widget 2007-11-21 17:40:31 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/Data.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Don't make timeline data processing block the GUI 2007-11-21 15:21:40 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/__init__.py: * debug-viewer/GstDebugViewer/GUI.py: Ease importing of modules from the Common package 2007-11-21 14:21:38 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Ditch arrays for offset storage again 2007-11-21 13:42:32 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix timeline for files where the first timestamp >> 0 2007-11-21 11:40:13 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Use an array for line offset mapping (if file < 4GB) 2007-11-21 10:47:40 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Add LogLines class 2007-11-20 17:45:35 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Rename COL_LINE to COL_LINE_NUMBER 2007-11-20 17:40:35 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Fix object name serialization 2007-11-20 15:58:52 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/tests/create-test-log.py: Add test script to generate a simple test log. Fix level name space adjustment 2007-11-20 15:32:14 +0200 René Stadler * debug-viewer/MANIFEST.in: * debug-viewer/po/POTFILES.in: Add dummy po directory and add MANIFEST.in 2007-11-20 15:25:32 +0200 René Stadler * debug-viewer/gst-debug-viewer: * debug-viewer/gst-debug-viewer.desktop.in: * debug-viewer/setup.cfg: * debug-viewer/setup.py: Copy over distutils setup from gst-inspector 2007-11-20 14:52:26 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Almost allow copying a full line to clipboard 2007-11-20 13:58:34 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove commented code 2007-11-20 13:56:15 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Replace model.get with model.get_value 2007-11-20 13:34:00 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Cleanup 2007-11-20 13:31:58 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Remove commented code, resolve FIXME 2007-11-20 12:33:47 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Simplify function 2007-11-20 11:06:27 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Rename more density stuff to timeline 2007-11-19 15:55:08 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove unused attribute 2007-11-19 15:52:01 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: And now make it actually run\! 2007-11-19 15:44:54 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Also commit the previous change to the GUI module :-/ 2007-11-19 15:27:16 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Move final log line parsing from GUI to Data module 2007-11-19 11:35:27 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Optimize color stripping function a bit 2007-11-19 10:59:52 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Also plot green info line count in timeline display 2007-11-17 10:23:58 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add user/system time to benchmark output 2007-11-17 10:06:09 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/data/gst-debug-viewer.ui: Rename line frequency plugin/widget to timeline 2007-11-16 17:25:08 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: Speed up level density sentinel 2007-11-16 16:30:17 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Correctly handle variable length thread address formatting 2007-11-16 15:56:57 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: Add markers for warning and error log messages to the timeline display 2007-11-16 15:06:59 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: Colorize log and debug log levels in frequency display widget 2007-11-16 13:26:20 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Colorize debug level column 2007-11-16 12:53:02 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Rename debug level instances 2007-11-16 12:48:08 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Hacky commit to parse debug level on line cache level 2007-11-16 11:03:22 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Add (commented out) support for parsing debug level at line cache scan time 2007-11-16 10:28:23 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: Cleanup 2007-11-15 18:17:28 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix timestamps of unparsable lines to fix line density display 2007-11-15 18:12:57 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Fix message display 2007-11-15 17:54:30 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Save huge amounts of memory by never caching the message and interning data for the other columns 2007-11-15 15:06:37 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Use less regex matching to parse lines (does not provide a performance gain though) 2007-11-15 14:07:00 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Make column id order match log line fields order 2007-11-15 14:01:53 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix benchmark hack option 2007-11-15 13:47:38 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Add some simple filtering 2007-11-15 09:20:34 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add evil comment about treeview slowness with multiple selection mode 2007-11-15 08:58:48 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix comment 2007-11-14 22:51:47 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Use monospace font for some numeric columns 2007-11-14 20:35:18 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: Also draw vertical help lines 2007-11-14 16:56:35 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Change model design to be more filter friendly 2007-11-14 15:49:03 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: Draw horizontal helper lines in frequency display 2007-11-14 15:44:01 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Separate log model into base class and lazy implementation. Add basis for a filter model based on that 2007-11-14 14:49:55 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove dead/commented out code 2007-11-14 14:48:31 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add/change comments 2007-11-14 13:57:08 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Change view columns menu item label 2007-11-14 13:34:53 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Add PID column 2007-11-14 13:15:36 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FileProperties.py: * debug-viewer/data/gst-debug-viewer.ui: Add skeleton for file properties plugin 2007-11-14 12:48:43 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Add debug output. Add filename column 2007-11-14 11:31:57 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add view columns visibility and ordering state persistence 2007-11-14 11:13:07 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Don't make column headers clickable 2007-11-14 10:55:12 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Fix progress display on load 2007-11-14 10:44:08 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: If the indicator in the frequency display is just 1px wide, don't use transparency 2007-11-14 10:30:19 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/Data.py: * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/Common/__init__.py: * debug-viewer/GstDebugViewer/Common/utils.py: * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Main.py: * debug-viewer/GstDebugViewer/Plugins/ColorizeRows.py: * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: * debug-viewer/GstDebugViewer/__init__.py: * debug-viewer/data/gst-debug-viewer.glade: * debug-viewer/data/gst-debug-viewer.glade.bak: * debug-viewer/data/gst-debug-viewer.gladep: * debug-viewer/data/gst-debug-viewer.png: * debug-viewer/data/gst-debug-viewer.ui: * debug-viewer/gst-debug-viewer.desktop: * debug-viewer/gst-debug-viewer.py: * debug-viewer/pixmaps/gst-debug-viewer.png: New import (the old repo got busted, just had 4 revs anyways) 2014-09-06 12:34:39 +0200 Thibault Saunier * validate/configure.ac: * validate/docs/Makefile.am: validate: Make sphinx documentation generation optionnal 2014-09-06 11:41:48 +0200 Thibault Saunier * validate/configure.ac: * validate/docs/Makefile.am: * validate/docs/launcher/Makefile.am: * validate/docs/launcher/conf.py: * validate/docs/launcher/index.rst: * validate/docs/launcher/launcher.rst: * validate/docs/launcher/modules.rst: validate:launcher: Add needed files to build documentation with sphinx 2014-09-06 11:38:38 +0200 Thibault Saunier * validate/tools/launcher/apps/Makefile.am: * validate/tools/launcher/apps/geslaunch.py: * validate/tools/launcher/apps/gstvalidate.py: validate: launcher: Cleanup and rename apps to avoid '-' in their name 2014-09-06 10:02:13 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:launcher: Avoid '.' before media file extension in test classnames 2014-09-05 19:47:00 +0000 Felix Schwarz * validate/docs/validate-design.txt: * validate/docs/validate-usage.txt: * validate/docs/validate/command-line-tools.xml: * validate/docs/validate/envvariables.xml: * validate/docs/validate/scenarios.xml: validate:docs: fix spelling mistakes https://bugzilla.gnome.org/show_bug.cgi?id=736160 2014-09-05 23:15:29 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Take a const gchar ** in gst_validate_print_action_types This is what we actually need and thus is cleaner. 2014-09-05 23:03:58 +0200 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Implement the notion of implementer namespace to the action types This allows users to know who implements an action type. + Enhance the printing of all action making it readable. 2014-09-05 19:30:52 +0200 Thibault Saunier * validate/tools/gst-validate.c: validate: Add informations on the switch-track action overrided for playbin 2014-09-04 23:54:34 +0200 Thibault Saunier * validate/docs/validate/Makefile.am: * validate/docs/validate/command-line-tools.xml: * validate/docs/validate/envvariables.xml: * validate/docs/validate/gst-validate-docs.sgml: * validate/docs/validate/scenarios.xml: * validate/gst/validate/gst-validate-scenario.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: docs: Add some GstValidate usage documentation + Fix minor issues in the gst-validate and gst-validate-transcoding tools documentation 2014-09-04 11:54:41 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-monitor-factory.c: validate: remove redundant pre-condition in monitor_factory_create The same check is already done at the head of the function. https://bugzilla.gnome.org/show_bug.cgi?id=736019 2014-09-04 11:53:56 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-runner.c: validate: fix a couple of typos in comments https://bugzilla.gnome.org/show_bug.cgi?id=736019 2014-09-04 19:18:25 +0200 Thibault Saunier * validate/docs/validate-usage.txt: validate:docs: Sensibly update the usage file 2014-08-22 19:30:14 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Use a GList to store action types instead of hashtable It is more adapted and allows us to print the action types in a stable maneer. 2014-08-22 18:45:13 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: validate: report: Do not repeat type name when printing its details 2014-08-19 11:10:57 +0200 Thibault Saunier * validate/configure.ac: validate: Change the version to 1.0.0.1 The 1.0.0.1 means that it is targetting the GStreamer 1.X serie, and is a git version (thus 0.1) GstValidate will most probably not be released and we should try to be able to use it with as many version of the GStreamer 1.X serie as possible. 2014-08-18 18:41:50 +0200 Thibault Saunier * validate/Makefile.am: * validate/configure.ac: * validate/docs/Makefile.am: * validate/docs/validate/Makefile.am: * validate/docs/validate/gst-validate-docs.sgml: * validate/docs/validate/gst-validate-sections.txt: * validate/docs/validate/gst-validate.types: * validate/docs/version.entities: * validate/docs/version.entities.in: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-monitor-factory.c: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/validate.c: validate: Document the API with gtk-doc 2014-06-11 09:23:11 +0200 Thibault Saunier * validate/gst/validate/Makefile.am: validate: Add GObject Introspection support 2014-08-14 10:55:44 +0200 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Rework the action parameter API Making it possible to properly define parameters, and describe them. + Document all action types! 2014-08-13 23:07:47 +0200 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/validate.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Add an option to print all avalaible actions with details + Cleanup actions descriptions + Make GstValidateActionType internal only and only expose the structure 2014-08-14 10:57:33 +0200 Thibault Saunier * validate/tools/gst-validate.c: validate: Use the buffering mode to see if pipeline is live or not 2014-08-14 10:56:56 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: validate: Do not segfault when receiving a segment on unlink pad For some reason we did no discover that before. 2014-08-13 20:47:24 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Make GstValidateActionType a GstMiniObject and expose it in the API 2014-08-13 20:46:17 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Cleanup header and add some padding to classes Let's start making gst-validate ABI and API stable 2014-08-20 18:59:26 +0530 Anuj Jaiswal * validate/tools/gst-validate.c: gst-validate: fix some minor memory leaks https://bugzilla.gnome.org/show_bug.cgi?id=735099 2014-08-19 18:06:14 +0200 Mathieu Duponchelle * validate/tools/launcher/apps/gst-validate.py: validate: generate test names with the stream_info filename. And not with the contained uri string, which is variable. 2014-08-12 15:14:28 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: The scenario only old a weak ref so unref the weak ref We were unrefing an object we did not actually own a ref on. 2014-08-12 09:36:34 +0200 Thibault Saunier * validate/tools/gst-validate.c: validate: Print when we set pipeline state because of buffering 2014-08-11 20:19:02 +0200 Thibault Saunier * validate/configure.ac: * validate/tools/gst-validate-launcher.in: * validate/tools/launcher/apps/Makefile.am: * validate/tools/launcher/apps/validate/Makefile.am: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: validate:launcher: Properly handle libsdir when gst-validate is installed + Fix the _in_devel function + Install the validate default testsuite implementation in the right place 2014-08-11 13:21:09 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate:launcher: Let testsuite know the actual file in which they are 2014-08-11 13:19:22 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate:launcher: Add the logic of needed env variables in tests 2014-08-10 12:41:57 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:launcher: Expose all classes to be used to create testsuites To create testsuite from outside gst-validate, the user will need to be able to use the TestGenerator and subclasses of Test that we implement in the apps, to do so we publicly expose them in the TestManager class so that user have acces to everything they need. 2014-08-10 12:04:31 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/httpserver.py: * validate/tools/launcher/main.py: * validate/tools/launcher/reporters.py: validate:launcher: Handle stdout/stderr as possible logfiles Allowing people to get all the logs in the terminal 2014-08-09 23:22:39 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: validate: Allow several outputs in GST_VALIDATE_FILE 2014-08-09 16:34:09 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/utils.py: validate: Launcher: Add support for the dash protocol And make sure that the HTTP server is started if it is needed to serve some HLS or DASH streams 2014-08-08 19:14:02 +0200 Thibault Saunier * validate/tools/launcher/main.py: validate:Launcher: Use the first media path as a path for http server We need to have a default path and the first one sounds like a reasonnable default. 2014-08-08 12:33:54 +0200 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-bin-monitor.h: * validate/tools/launcher/RangeHTTPServer.py: * validate/tools/launcher/httpserver.py: * validate/tools/launcher/main.py: validate:launcher: Allow limitating local HTTP server bandwith By default we limit its bandwith to 1MBps which is somehow similare to a good internet connection case. 2014-08-05 18:51:20 +0200 Thibault Saunier * validate/data/switch_audio_track_while_paused.scenario: * validate/tools/launcher/apps/validate/validate_testsuite.py: * validate/tools/launcher/baseclasses.py: validate:launcher: Disable racy HLS tests + Add need-clock-synk to switch_audio_track_while_paused as it relies on the clock sync to pause and then display subtitles 2014-08-05 10:59:21 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/apps/validate/validate_testsuite.py: validate:launcher: Take into account exitcode in transcoding tests And disable a few racy tests that were not detected because of that 2014-07-29 12:17:21 +0200 Thibault Saunier * validate/tools/launcher/apps/validate/validate_testsuite.py: validate:launcher:testsuite: De activate backward playback where appropriate And re activate it where it works 2014-07-26 11:42:09 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Actually accept rounding errors and small mistakes for position WHen seeking in paused the position right after should be pretty much the exact one, but sometimes it can be a little different because of rounding issues and similare. 2014-07-26 11:41:09 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: validate: Add a way to avoid printing all the issue in reports Avoiding user to be flooded by information he does not want while debugging 2014-07-26 08:27:55 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: validate: Print the report when aborting because of an issue Letting a chance to the user to know what bug he faced! 2014-07-24 19:26:29 +0200 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: validate: Enhance output about critical errors +Lower some warning to INFO 2014-07-24 19:02:38 +0200 Thibault Saunier * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-override-registry.h: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-scenario.c: validate: Allow overrides for scenario issues 2014-07-21 18:00:42 +0200 Thibault Saunier * validate/tools/launcher/reporters.py: validate: Avoid readding several time the same test in the tests result list 2014-07-19 11:47:44 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate:launcher: Fix test number print 2014-07-31 17:54:17 +0200 Thibault Saunier * validate/tools/launcher/apps/validate/validate_testsuite.py: tools: Launcher: Disable validate.file.*.simple.scrub_forward_seeking.synchronized It is still a bit racy and sometimes the seek just does not happen 2014-07-31 17:43:51 +0200 Thibault Saunier * validate/tools/launcher/apps/validate/validate_testsuite.py: tools: launcher: Disable subtitle track switching scenario on Sintel It is racy at the moment. 2014-07-23 20:39:05 +0200 Thibault Saunier * validate/data/change_state_intensive.scenario: * validate/data/fast_backward.scenario: * validate/data/fast_forward.scenario: * validate/tools/launcher/baseclasses.py: validate:launcher: Allow informing minimum media duration in scenarios Allowing the launcher to avoid running tests on medias that are not long enough 2014-07-23 17:49:21 +0200 Thibault Saunier * validate/tools/launcher/main.py: * validate/tools/launcher/reporters.py: validate:launcher: Always print final report + enhance output 2014-07-23 14:51:43 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Properly check that remaining actions are not 'ending' ones When checking that all action were executed, we need to make sure that actions such as EOS or stop are not taken into account as we might have shorter medias than the duration of the scenario, and that should not be fatal. + Plug a leak on the way 2014-07-23 14:43:29 +0200 Thibault Saunier * validate/data/change_state_intensive.scenario: * validate/data/fast_backward.scenario: * validate/data/fast_forward.scenario: * validate/data/seek_backward.scenario: * validate/data/seek_forward.scenario: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate: launcher: Force clock syncronization for some scenarios In some cases it is necessary that the clock is sync so that all the actions can be executed. 2014-07-23 10:54:37 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: validate: Launcher: Make sure tests are always executed in same order 2014-07-22 11:42:48 -0300 Thiago Santos * validate/data/camerabin_signal.scenario: * validate/gst/validate/gst-validate-scenario.c: gst-validate-scenario: add emit-signal emit-signal action allows to emit signals to elements in scenarios. The implementation only accepts signals without arguments for now but it can be extended to use parameters if needed in the future 2014-07-22 15:49:09 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate: Launcher: Fix a backtrace using self in a @staticmethod 2014-07-21 22:41:28 -0300 Thiago Santos * validate/gst/validate/gst-validate-scenario.c: gst-validate-scenario: the structure has the type Get the GValue directly from the structure and do not assume everything is stored as a string and use the GstStructure's GValue to set the property to the instances 2014-07-21 22:01:27 -0300 Thiago Santos * validate/tools/gst-validate.c: gst-validate: properly set pipeline to null before unref In case it fails when going ready->paused it will remain in ready state and be unref'd in ready, leading to an assertion 2014-07-21 19:09:24 +0200 Arnaud Vrac * validate/configure.ac: * validate/gst/validate/Makefile.am: validate: Fix build on some custom platforms We need to explicitely pass GLIB_LIBS for GModule as it seems not to be included by GST_ALL_LIBS and we need LIBM 2014-05-19 18:06:46 +0200 Lubosz Sarnecki * validate/tools/launcher/httpserver.py: httpserver: launch webserver with the same python interpreter. 2014-07-19 09:48:17 +0200 Thibault Saunier * validate/tools/gst-validate.c: validate: Dot the pipeline on interuption 2014-07-18 15:57:24 +0200 Aurélien Zanelli * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: validate: duplicate strings in gst_validate_issue_new() Do this to avoid discarding 'const' qualifier when using it with constant strings. Moreover it will avoid a g_free on constant string. https://bugzilla.gnome.org/show_bug.cgi?id=733362 2014-07-18 16:28:49 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate:launcher: Fix a backtrace using an undefined method 2014-07-17 16:48:21 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: valdate:launcher: Do not refer to self in @staticmethod There is no self in there. 2014-07-17 16:44:08 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Add a set-debug-threshold scenario action Allowing users to activate the debug only at the interesting time 2014-07-17 16:42:02 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: validate: Add Gst debugging when using gst-validate printing feature Giving usefull debugging informations in the GSt debug logs 2014-07-17 12:17:31 +0200 Thibault Saunier * validate/tools/gst-validate.c: validate: Do not auto flush pipeline bus We want to see all messages in our async handler And flush it when we are done. 2014-07-16 19:38:01 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:launcher: Avoid using sync=true on fakesinks Making the test run much faster! 2014-07-16 19:37:35 +0200 Thibault Saunier * validate/tools/launcher/reporters.py: validate: Launcher: Print total time spent in the final report 2014-07-16 18:21:16 +0200 Thibault Saunier * validate/data/switch_subtitle_track_while_paused.scenario: validate: Make switch_subtitle_track_while_paused handle states 2014-07-16 14:46:32 +0200 Thibault Saunier * validate/data/disable_subtitle_track_while_paused.scenario: vaildate: Make disable_subtitle_track_while_paused handle states 2014-07-13 18:21:50 +0200 Thibault Saunier * validate/data/scrub_forward_seeking.scenario: validate: Make scrub_forward_seeking handle states 2014-07-16 13:54:54 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate:launcher: Properly check that encoded files have the exact wanted format 2014-07-16 12:50:41 +0200 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate:launcher: Add a method to create a GstValidateMediaDescriptor from a uri 2014-07-16 12:16:03 +0200 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/utils.py: validate:launcher: Move MediaFormatCombination to baseclasses.py + Add some simple helpers 2014-07-16 12:03:14 +0200 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/utils.py: validate:launcher: Implement a GstValidateEncodingTestInterface class Allowing code to be shared between apps that run rendering tests 2014-07-16 11:39:08 +0200 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: validate:launcher: Implement a MediaDescriptor subclass for xges project files 2014-07-16 11:36:29 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate:launcher: Make a MediaDescriptor baseclass to be used by any application 2014-07-16 10:35:34 +0200 Thibault Saunier * validate/tools/launcher/main.py: validate:launcher: Give information to users when cloning asset failed It might not be obvious from the stacktrace so it is better to clearly explain what the failure was when we know it 2014-07-16 10:16:19 +0200 Thibault Saunier * validate/tools/launcher/main.py: validate:launcher: Fixup the default asset update command 2014-07-16 10:12:04 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/utils.py: validate:launcher: Generate proper EncodingProfiles for audio/video only media files 2014-07-16 10:10:44 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate:launcher: Move the MediaDescriptor class to the baseclasses.py file 2014-07-16 10:09:32 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:launcher: Allow transcoding audio only files 5 time longer than long_limit Transcoding audio is a lot shorter so we can concider that transcoding files that are only only is 5 time shorter than the actual file (empirical number) 2014-07-16 10:03:11 +0200 Thibault Saunier * validate/tools/gst-validate-media-check.c: validate:media-check: Pass the GError where needed. 2014-07-15 12:16:34 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-writer.c: validate: Avoid segfault in the error path 2014-07-15 11:59:23 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-writer.c: validate:media-descriptor-writer: Handle medias with 1 single stream 2014-07-08 13:50:11 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Check that after a seek in PAUSED position is perfect In case of ACCURATE seeking, the position after a SEEK in PAUSED state should be *exactly* the one requested by the user. 2014-07-11 15:45:18 -0300 Thiago Santos * validate/gst/validate/gst-validate-scenario.c: scenario: add set_property scenario action Allows setting element's properties during a scenario. Very useful for testing that elements behave correctly when changing properties during playing state https://bugzilla.gnome.org/show_bug.cgi?id=733070 2014-07-09 19:10:57 +0300 Sreerenj Balachandran * codecanalyzer/.gitignore: * codecanalyzer/AUTHORS: * codecanalyzer/COPYING: * codecanalyzer/Makefile.am: * codecanalyzer/NEWS: * codecanalyzer/README.md: * codecanalyzer/autogen.sh: * codecanalyzer/configure.ac: * codecanalyzer/data/Makefile.am: * codecanalyzer/data/pixmaps/Makefile.am: * codecanalyzer/data/pixmaps/codecanalyzer-logo.png: * codecanalyzer/data/pixmaps/frame-thumbnail.png: * codecanalyzer/data/ui/LICENSE.txt: * codecanalyzer/data/ui/Makefile.am: * codecanalyzer/data/ui/mainwindow.xml: * codecanalyzer/data/ui/menu.xml: * codecanalyzer/src/Makefile.am: * codecanalyzer/src/codecanalyzer.c: * codecanalyzer/src/gst_analyzer.c: * codecanalyzer/src/gst_analyzer.h: * codecanalyzer/src/plugins/Makefile.am: * codecanalyzer/src/plugins/gst/Makefile.am: * codecanalyzer/src/plugins/gst/analyzersink/Makefile.am: * codecanalyzer/src/plugins/gst/analyzersink/analyzer_utils.c: * codecanalyzer/src/plugins/gst/analyzersink/analyzer_utils.h: * codecanalyzer/src/plugins/gst/analyzersink/gstanalyzersink.c: * codecanalyzer/src/plugins/gst/analyzersink/gstanalyzersink.h: * codecanalyzer/src/plugins/gst/analyzersink/mpeg_xml.c: * codecanalyzer/src/plugins/gst/analyzersink/mpeg_xml.h: * codecanalyzer/src/plugins/gst/analyzersink/plugin.c: * codecanalyzer/src/plugins/gst/analyzersink/xml_utils.c: * codecanalyzer/src/plugins/gst/analyzersink/xml_utils.h: * codecanalyzer/src/xml_parse.c: * codecanalyzer/src/xml_parse.h: New Tool: Add a CodecAnalyzer https://bugzilla.gnome.org/show_bug.cgi?id=731853 2014-07-07 16:12:22 +0200 Stefan Sauer * mediainfo/TODO: * mediainfo/src/mi-info.vala: TODO: add some planning comments 2013-10-22 10:57:14 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: add wikilink for opus 2014-07-02 17:53:55 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Execute actions if we get seeked in ready state 2014-07-02 11:27:22 +0200 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-scenario.c: * validate/tools/gst-validate.c: validate: Let scenarios tell the apps about whether it handles states The user only needs to add handles-states=true in the description line of the scenario 2014-06-19 12:58:49 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Do not care about the position if we are not at least in PAUSED state At that time the position query will be meaningless so we should just go to the next action. 2014-06-26 15:07:39 +0200 Thibault Saunier * validate/tools/launcher/apps/validate/validate_testsuite.py: validate: Handle MXF files 2014-06-26 15:03:07 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/media-descriptor.c: validate:media-check: Changes in tags detection are not fatal issues 2014-06-26 13:01:13 +0200 Thibault Saunier * validate/tools/launcher/apps/Makefile.am: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/apps/validate/validate_testsuite.py: validate:launcher Add video mixing tests + Move default_testsuite.py to validate_testsuite.py as we are now exposing tests that are not enabled by default 2014-06-26 12:42:38 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/apps/validate_default_testsuite.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: validate:launcher: Move the notion of test generator to the baseclasses This can be very usefull for all the TestManager and thus exposes a higher level API for test writers. 2014-06-19 16:26:43 +0200 Thibault Saunier * validate/tools/launcher/apps/Makefile.am: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/apps/validate_default_testsuite.py: validate:launcher: Move default testsuite to a dedicated file Making the separation cleaner between the launcher and the test implementation 2014-06-20 19:01:41 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Properly handle CLOCK_TIME_NONE position and duration values In the value parser. 2014-06-19 13:03:48 +0200 Thibault Saunier * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Print the return value at the end Making it easier to know whether the test passed or not. 2014-06-19 12:56:34 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Move the check about whether we are still seeking upper in the function Avoiding to try to get position and do operations on a pipeline that is seeking 2013-11-25 13:55:10 +0000 Vincent Penquerc'h * validate/gst/validate/gst-validate-scenario.c: validate-scenario: only use valid position/duration Position/duration query may fail, or yield unknown values (eg, unknown duration for live streams). In these cases, we must ensure we do not use those invalid values. https://bugzilla.gnome.org/show_bug.cgi?id=715160 2014-06-19 09:38:52 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:launcher: Not concider all scenarios by default with --wanted-test Instead let the users activate that with -t ALL 2014-06-19 09:22:36 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/main.py: validate:launcher: Let the user set user options in the config file 2014-06-18 17:27:09 +0200 Thibault Saunier * validate/tools/launcher/main.py: validate:launcher: Use RawTextHelpFormatter to (not) format user help 2014-06-18 17:26:05 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: validate:launcher: Add a way to create test suite outside the three + Make sure to namespace the API + Remove cruft about G_V_PROTOCOL_VIDEO_RESTRICTION_CAPS 2014-06-18 13:02:53 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: We are not changing state if the set_state failed. 2014-06-18 13:02:29 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Add a debug category and add some debug 2014-06-18 13:01:42 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-writer.c: validate: media-descirptor: Add more infos about discoverer error 2014-06-18 12:51:02 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:launcher: Cleanup the way we generate tests adding the notion of TestGenerator Making it easier to extend the testsuite. 2014-06-18 15:57:14 +0200 Thibault Saunier * validate/tools/gst-validate.c: validate:tools: Dot the pipeline on usefull places Meaning on warning and state changes. 2014-06-28 12:33:45 +0200 Sebastian Dröge * validate/gst/validate/gst-validate-reporter.c: validate: Don't call gst_debug_log_valist() if debugging is disabled And also stop leaking a string every time. 2014-06-28 11:36:27 +0200 Sebastian Dröge * validate/tools/Makefile.am: gst-validate: Add $(GIO_LIBS) and $(GIO_CFLAGS) as required 2014-06-17 15:10:41 +0200 Thibault Saunier * validate/tools/gst-validate-launcher.in: validate: Fix launcher when running installed 2014-06-17 14:17:21 +0200 Thibault Saunier * validate/data/Makefile.am: validate: scenarios: Install play_15s.scenario 2014-06-16 16:47:18 +0200 Thibault Saunier * validate/tools/launcher/reporters.py: validate:launcher:reporter: Sort Final report by results 2014-06-16 16:46:21 +0200 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/utils.py: validate:launcher:ges: Fix rendered duration checking 2014-06-16 16:40:10 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: validate: pad-monitor: Do not compare not fixed sinkpad caps fields We are only able to check that the sink pad caps values are inside the src pad value. 2014-06-16 08:49:22 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Do not be so tolerant about seek drift 2014-06-03 09:38:29 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Handle out-of-segment first buffer If the initial buffer is before segment.start, we don't want to raise the "first buffer doesn't have 0 running-time" issue. Also add debug for tracking issues 2014-06-03 10:02:10 +0200 Edward Hervey * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/media-descriptor.c: * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Run gst-indent on all code so whitespace. much indent. spacing ! 2014-05-27 12:30:54 +0200 Thibault Saunier * validate/configure.ac: validate: Depend at least on GLib 2.36 2014-05-19 19:42:46 +0200 Thibault Saunier * validate/data/Makefile.am: * validate/data/scrub_backward_seeking.scenario: * validate/tools/launcher/apps/ges-launch.py: validate: Add a scrub_backward_seeking scenario + Make use of it in ges-launch and do not try to seek while playing in GES as it is not supported yet 2014-05-24 01:28:36 -0400 Nicolas Dufresne * validate/gst/validate/gst-validate-scenario.c: validate: Don't pass NULL to g_strsplit 2014-05-22 16:13:31 +0200 Edward Hervey * validate/gst/validate/gst-validate-utils.c: validate-utils: Fix unitialized variable gst-validate-utils.c:413:7: error: variable 'v0' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized] if (c == '!') { ^~~~~~~~ gst-validate-utils.c:424:10: note: uninitialized use occurs here return v0; ^~ gst-validate-utils.c:413:3: note: remove the 'if' if its condition is always false if (c == '!') { ^~~~~~~~~~~~~~~ gst-validate-utils.c:411:13: note: initialize the variable 'v0' to silence this warning gdouble v0; ^ = 0.0 1 2014-05-21 11:50:09 +0200 Thibault Saunier * validate/configure.ac: * validate/gst/Makefile.am: * validate/gst/overrides/Makefile.am: * validate/gst/overrides/gst-validate-default-overrides.c: * validate/gst/preload/Makefile.am: * validate/gst/preload/gst-validate-monitor-preload.c: * validate/gst/validate/Makefile.am: validate: Move overrides and preload libraries to dedicated folders This way it is cleaner and it is simpler to handle the various compilation dependencies. 2014-05-16 16:20:26 +0200 Lubosz Sarnecki * validate/tools/gst-validate-launcher.in: * validate/tools/launcher/RangeHTTPServer.py: * validate/tools/launcher/__init__.py: * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/httpserver.py: * validate/tools/launcher/main.py: * validate/tools/launcher/reporters.py: * validate/tools/launcher/utils.py: python: change shebangs to python2 2014-05-15 09:46:24 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-writer.c: validate: Properly use boolean in XML 2014-05-08 17:48:39 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-writer.c: validate: Improve perf when writing the XML file + Pass the file into gst-indent 2014-05-07 13:14:51 +0200 Thibault Saunier * validate/data/Makefile.am: * validate/data/change_state_intensive.scenario: * validate/tools/launcher/apps/gst-validate.py: validate: Add a scenario that switches state many intensively + Use it by default in the launcher tests 2014-05-07 12:43:53 +0200 Thibault Saunier * validate/tools/launcher/main.py: validate: Minor fix for blacklisted test output formatting 2014-05-07 12:21:49 +0200 Thibault Saunier * validate/tools/launcher/main.py: validate:launcher: Add an option to only launch the http server 2014-05-07 12:21:30 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate: Keep scenario discovering logs in a file 2014-05-07 11:34:47 +0200 Thibault Saunier * validate/data/fast_forward.scenario: validate: Avoid using stop value in the fast_forward scenario 2014-05-07 11:30:39 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate: Properly check that outputed videos have a correct duration 2014-05-07 11:30:09 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: * validate/tools/launcher/utils.py: validate: Add the notion of "long" tests so that we can avoid some test to be run if they are too long 2014-05-07 09:51:19 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Add a general action to set state 2014-05-07 09:50:28 +0200 Thibault Saunier * validate/autogen.sh: validate: Properly set the pre commit hook 2014-05-07 09:46:28 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Pass into gst-indent 2014-05-07 09:15:34 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: The wait mandatory field is duration 2014-05-07 09:11:12 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Make sure mandatory fields are present when parsing scenarios 2014-05-06 15:34:08 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-bin-monitor.h: * validate/gst/validate/gst-validate-scenario.c: scenarios: add a stateless property. This property enables the user to have actions executed independently of the state of the pipeline. Conflicts: validate/gst/validate/gst-validate-scenario.c 2014-05-05 17:00:45 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-scenario.c: scenario: make sure to not execute actions when changing state. Conflicts: validate/gst/validate/gst-validate-scenario.c 2014-05-04 09:30:14 +0200 Thibault Saunier * validate/tools/gst-validate.c: validate: The 'buffering' variable needs to be static We need its value between bus_callback calls to be the same 2014-05-02 17:25:07 -0400 Luis de Bethencourt * validate/tools/gst-validate.c: gst-validate: some static variables can be local buffering is only used inside the bus_callback, so it can have that local scope. same thing with ret which is only used in the main function. 2014-05-02 16:53:51 -0400 Luis de Bethencourt * validate/tools/gst-validate.c: gst-validate: small typo in usage summary 2014-05-02 20:05:28 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Wait for the PAUSED state to be reached before executing actions 2014-05-02 19:00:49 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate: Fix the name of the sintel blacklisting 2014-05-02 18:50:41 +0200 Thibault Saunier * validate/data/Makefile.am: * validate/data/disable_subtitle_track_while_paused.scenario: validate: Add a scenario to disable subtitle track while paused 2014-05-02 14:06:18 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor-writer.h: * validate/gst/validate/media-descriptor.h: * validate/tools/gst-validate-media-check.c: validate: Implement frame by frame writing in the media descriptor writer + Add an option to fully parse media files in the gst-validate-media-check tool 2014-05-01 14:58:14 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Execute position right when the pipeline reaches PAUSED We might go to PAUSED SYNC if nothing happens in the pipeline 2014-05-01 14:11:24 +0200 Thibault Saunier * validate/tools/gst-validate.c: * validate/tools/launcher/apps/gst-validate.py: validate: Add a scenario that disable subtitles + Clean the sythax to define switch-track action that actually desactivate the track 2014-05-01 12:52:09 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Do not execute action when buffering While buffering we should no try to execute anything as we would not be controlling properly the execution. + Activate scrub forward seeking for HTTP streams 2014-05-01 12:34:35 +0200 Thibault Saunier * validate/data/Makefile.am: * validate/data/switch_set_external_subtitle.scenario: * validate/data/switch_subtitle_track_while_paused.scenario: * validate/tools/launcher/apps/gst-validate.py: validate: Add a scenario that switches subtitle track while paused + Integrate it in the launcher 2014-05-01 11:32:42 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:launcher: Sensibly simplify scenario handling 2014-05-01 10:27:53 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Plug a minor leak 2014-04-30 15:51:43 +0200 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: validate: Use ges-launch recursing path new feature And fix path to URI conversion 2014-04-30 15:40:10 +0200 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: * validate/tools/launcher/utils.py: validate: Add a gst-validate-launcher documentation 2014-04-30 11:52:00 +0200 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: validate:launcher: Port OptionParser to ArgParse 2014-04-30 11:20:43 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/main.py: validate: Can not do reverse playback on sintel sample + Minor improvement in the CLI 2014-04-30 11:13:51 +0200 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: validate:launcher: Do not except meaningless argument in ges-launch 2014-04-30 11:06:09 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate: Handle per file special scenarios When a file is int the same folder as a media file and has a name like: mediafilename.mkv.scenarios_name.scenario we run that scenario on that particular file 2014-04-30 09:35:03 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Allow specifying scenarios to parse when lisiting them It used to only handle the scenario present in proper paths, we also need to handle special scenarios provided by users on the fly 2014-04-29 20:00:21 +0200 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Handle ERROR on the bus when monitoring the pipeline This way the user get a clear information in the report about the issue + sensibly cleanup code 2014-04-29 19:04:46 +0200 Thibault Saunier * validate/data/Makefile.am: * validate/data/switch_subtitle_track.scenario: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate: Add a scenarios that switchs subtitle track + Make it easier and cleaner to tell that a switch is actually disabling a track type. And run the scenario in gst-validate-launcher by default 2014-04-29 18:51:54 +0200 Thibault Saunier * validate/data/Makefile.am: * validate/data/switch_audio_track_while_paused.scenario: * validate/tools/launcher/apps/gst-validate.py: validate: Add a switch_audio_track_while_paused scenario And run it as a default 2014-05-01 18:20:25 +0200 Thibault Saunier * validate/tools/gst-validate.c: validate: Add an action to set an external URI file on playbin at runtime 2014-05-01 18:19:50 +0200 Thibault Saunier * validate/tools/gst-validate.c: validate: Override switch_track action when using a playbin And use the playbin feature for that when the pipeline is based on playbin 2014-05-01 18:17:44 +0200 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: Do not g_strrstr with a NULL pointer as needle 2014-05-01 18:16:16 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Print more details when executing the switch_track action + Fix some issue in the memory freeing codepath of GstValidateAction 2014-04-29 17:16:50 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: validate: Do not try to use a NULL iter 2013-10-01 21:11:35 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: pad-monitor: check that no buffers are pushed after a pad is EOS Make sure no resources are wasted after elements are done with the current segment 2014-04-28 13:08:09 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: * validate/tools/launcher/utils.py: launcher: Now using git annex to handle media files 2014-04-26 09:52:37 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Expose a seeking method so other actions types can seek Other action types might need to seek and we GstValidateScenario need to know about it, add a method others can use to do the seeking 2014-04-26 09:16:26 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/reporters.py: Revert "validate:launcher: Always put gst-validate result as stderr in reports" This reverts commit 925ff7542b69bb5516b6eb5b4488da23124a0cbc. Actually jenkins never truncates on failure stacktrace... we do not want to set gst-validate as failure stacktrace in our results. That commit was not usefull. 2014-04-26 08:11:20 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/reporters.py: validate:launcher: Always put gst-validate result as stderr in reports This way jenkins will always keep the information in its database even if the test passes 2014-04-25 18:33:33 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Pass -scenario.c into gst-indent and fix some docs 2014-04-25 18:27:30 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Add a "dot-pipeline" action 2014-04-25 18:26:50 +0200 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: validate: Return a boolean when parsing an enum string 2014-04-25 13:42:03 +0200 Thibault Saunier * validate/data/adaptive_video_framerate.scenario: * validate/data/adaptive_video_framerate_size.scenario: * validate/data/adaptive_video_size.scenario: * validate/data/force_key_unit.scenario: * validate/data/pause_resume.scenario: * validate/data/play_15s.scenario: * validate/data/scrub_forward_seeking.scenario: * validate/data/seek_backward.scenario: * validate/data/seek_forward.scenario: * validate/data/switch_audio_track.scenario: validate:scenarios: Prefer stop action instead of EOS when appropriate 2014-04-25 13:19:19 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate:launcher: Properly set error message when sending EOS did not work 2014-04-25 13:18:41 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/main.py: validate:launcher: Add a way to specify tests filtering only on defaults 2014-04-25 13:17:39 +0200 Thibault Saunier * validate/data/switch_audio_track.scenario: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate:launcher: Add support for audio track switching scenario 2014-04-25 11:32:04 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate:launcher: Make it possible to run any scenario test in gst-validate 2014-04-25 11:31:27 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:launcher: Do not run reverse playback on mpegts files 2014-04-25 11:31:01 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:launcher: Cleanup media descriptor usage 2014-04-25 10:23:21 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/main.py: validate:launch: Port to the new media_info format 2014-04-24 15:41:50 +0200 Thibault Saunier * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-parser.h: * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor-writer.h: * validate/gst/validate/media-descriptor.c: * validate/gst/validate/media-descriptor.h: * validate/tools/gst-validate-media-check.c: validate: Add a media-descriptor parser and writer 2014-04-23 13:25:44 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: validate: Minor printing cleanup 2014-04-23 13:24:23 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Add a 'stop' action to stop a pipeline It uses the GST_MESSAGE_REQUEST state with the scenario as a source so that application can stop running when they receive it on the bus. 2014-04-23 11:47:10 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/reporters.py: * validate/tools/launcher/utils.py: validate:launcher: Use the new validatelog file Making the output cleaner and clearer in junit XML file 2014-04-23 11:27:41 +0200 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-bin-monitor.h: * validate/gst/validate/gst-validate-report.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Handle position printing at the monitor level Instead of replicating that code all around 2014-04-23 11:16:29 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/validate.c: * validate/tools/gst-validate-transcoding.c: validate: Add printing utilities Allowing the user to print everyting in a file through the GST_VALIDATE_FILE env variable 2014-04-22 16:50:08 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Add an action to wait for a given amout of time During that time we will just not execute any new action + Lower WARNING to DEBUG when no playbcak_time is provided for an action, it should just be 0. 2014-04-22 12:02:35 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: validate: Check that for raw, buffers are strictly contained in segment For encoded data we might need buffers that have timestamp < segment.start to make sure that we have the keyframe, etc... but for raw data, buffer end should strictly be inside the segment, be more strict about that. 2014-04-22 11:21:34 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: validate: PAR is not a mandatory field Also make it possible to check other not mandatory fields in the future 2014-04-22 11:10:01 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: validate: Do not use GST_PTR_FORMAT when reporting It will not work now that we have our own implementation of printf for that in Gst and thus provide us with pretty useless infos 2014-04-22 10:49:10 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate:launcher: Send SIGINT signal instead of killing the subprocess This way we get the result from GstValidate even on timeouts 2014-04-22 09:42:57 +0200 Thibault Saunier * validate/tools/gst-validate.c: * validate/tools/launcher/apps/gst-validate.py: validate:launcher: Always set sync=True on fakesink on playback pipelines This way we are in closer condition of real sink playback. + some minor cleanup in gst-validate.c 2014-04-17 12:58:48 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:launcher: ring-buffer-max-size is in bytes 2014-04-17 12:17:03 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Handle g_log errors at the gst-validate level 2014-04-17 11:23:23 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Allow comments in scenario files Comment are per line only and start with # 2014-04-15 15:26:36 +0200 Thibault Saunier * validate/tools/launcher/main.py: validate:launcher: Fix default blacklist management 2014-04-02 19:14:30 +0200 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate:launcher: Print the number of the test being run 2014-04-02 19:13:50 +0200 Thibault Saunier * validate/gst/validate/gst-validate-media-info.c: validate: Avoid segfault when discovering fails In that case the x->stream_info might not be set 2014-04-02 12:12:11 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:launcher: Fix mixup in media_check tests expected file path 2014-03-31 13:54:27 +0200 Thibault Saunier * validate/tools/launcher/utils.py: validate:launcher: Flush stdout each time we print So everything gets printed on time on windows and jenkins 2014-03-31 11:03:48 +0200 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate: launcher: Use the ConfigPraser object everywhere for file_infos 2014-03-28 15:01:12 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate:launcher: Properly handle missing scenarios on the system 2014-03-28 15:00:45 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: validate:launcher: Handle windows path to construct arguments 2014-03-28 15:00:01 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/utils.py: validate:launcher: Handle the fact that win32 apps end with .exe 2014-03-28 11:30:01 +0100 Thibault Saunier * validate/configure.ac: * validate/gst/validate/Makefile.am: validate: Do not build LD_PRELOAD related code on windows And do not forget to link against gst-pbutils 2014-03-28 10:30:21 +0100 Thibault Saunier * validate/gst/validate/gst-validate-override-registry.c: validate: Use GModule to 'dlopen' ovverrides We want gst-validate to be cross platform so use cross platform tools 2014-03-26 20:09:12 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/utils.py: validate:launcher: Put gst logs in a specific file + Make default timeout 30seconds just in case. 2014-03-26 19:37:44 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: validate: launcher: Let the use debug on test fail When a test timeouts, let the user know about the subprocess etc, and let him possibly connect gdb to it. 2014-03-26 11:46:48 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: validate:launcher: Do not set sample path to letter in ges-launch 2014-03-26 11:00:32 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:launcher: Start the server only when actually needed to run filtered tests 2014-03-26 10:56:58 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: validate: Do not query pad caps to check if caps are properly fowarded Query caps will actually get the caps from downstream and those caps might be different in case there is a Filter in between. What we want is to check that the caps set on the internally linked pads are correct. 2014-03-19 18:42:37 +0100 Thibault Saunier * validate/tools/launcher/main.py: launcher: Allow user to set media-files directory That was broken by 71dee6c3843d02d9d41bbb353cb3fa653190018d 2014-03-19 17:43:43 +0100 Thibault Saunier * validate/tools/gst-validate.c: tools:validate: Start printing position on ASYNC_DONE As this is what is done in the scenarios. 2014-03-19 18:09:09 +0100 Edward Hervey * validate/tools/launcher/main.py: launcher: Don't hardcode option defaults Since they are relative to other options, we need to post-process them to get the proper value. Fixes using the launcher with non-default MAIN_DIR 2014-03-19 17:13:14 +0100 Edward Hervey * validate/tools/launcher/main.py: launcher: Warn if MAIN_DIR isn't present And move blacklist file listing to further down 2014-03-19 17:04:14 +0100 Edward Hervey * validate/tools/launcher/main.py: launcher: No need to start a web server when listing tests It's not needed and makes listing faster. Also sort the list of tests 2014-03-19 17:03:05 +0100 Edward Hervey * validate/tools/launcher/main.py: launcher: --sync: Only update/clone git repo if specified Allows: * handling non-git-based asset directory * working offline * working without forcing updates 2014-03-19 17:02:03 +0100 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: validate-scenario: Handle non-set env variable Nothing guarantees it's present/set 2014-03-12 15:23:33 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Do not be strict about position after not accurate seek 2014-03-12 14:24:02 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Cleanup output and pass into gst-indent 2014-03-12 12:21:38 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Cleanup output of --list-scenarios 2014-03-12 12:04:52 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: scenario: Load scenario if the name is actually a path to a file 2014-02-12 11:20:06 +0100 Thibault Saunier * validate/tools/launcher/main.py: validate: tools: Fix path to media folder 2014-02-19 13:07:03 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate:tools: Clean test between runs when running forever 2014-02-19 10:31:15 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate: Do not check result furthers if alredy set as passing 2014-02-19 09:58:22 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Pass into gst-indent 2014-02-19 09:56:12 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Add actions to the actions list only when they are fully parsed Otherwize in some corner cases they can be executed before they are actually parsed 2014-01-24 17:36:53 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Ignore EOS actions that can not be executed 2014-02-18 18:49:00 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Handle various paths in GST_VALIDATE_SCENARIOS_PATH 2014-02-18 18:15:33 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Make GstValidateAction a GstMiniObject 2014-02-18 18:13:39 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: validate: Move enums and flags deserialization from scenario to utilities This way it can be reused. 2014-02-18 18:09:37 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Make the pipeline puiblic This way people can access it from outside the main action implementation. 2014-02-14 16:07:51 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate:launcher: Avoid running useless tests For example we should not check if duration are equal when transcoding with scenario set. Also checking if position is in the seeked segment should be done at a lower level 2014-02-13 15:35:01 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate:launcher: Avoid seeking in output files to parse them Tihs creates issue and missing content. 2014-02-13 15:34:10 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:launcher: Properly classify test for media check 2014-02-13 15:33:25 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/utils.py: validate:launcher: Handle issue with unknown framerate in HLS while transcoding 2014-02-13 15:31:58 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/utils.py: validate:tools: Handle cases were EOS does not stop the pipeline in the launcher + Fix parsing of GstClockTime + Avoid using play_15s scenario when not necessary 2014-02-12 11:18:14 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: * validate/tools/launcher/utils.py: validate: tools: Use the new scenario discovering fearure in the launcher 2014-02-12 00:28:41 +0100 Thibault Saunier * validate/data/adaptive_video_framerate.scenario: * validate/data/adaptive_video_framerate_size.scenario: * validate/data/adaptive_video_size.scenario: * validate/data/alternate_fast_backward_forward.scenario: * validate/data/fast_backward.scenario: * validate/data/fast_forward.scenario: * validate/data/force_key_unit.scenario: * validate/data/pause_resume.scenario: * validate/data/play_15s.scenario: * validate/data/reverse_playback.scenario: * validate/data/scrub_forward_seeking.scenario: * validate/data/seek_backward.scenario: * validate/data/seek_forward.scenario: * validate/data/seek_forward_backward.scenario: * validate/data/seek_with_stop.scenario: * validate/data/simple_seeks.scenario: * validate/data/switch_audio_track.scenario: * validate/data/update_start.scenario: * validate/data/update_stop.scenario: validate: Update all scenario to use the new description feature + Fix minor issues in scenario files 2014-02-12 00:28:18 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Add a way to save details about avalaible scenarios in a file 2014-02-11 23:05:00 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tools/gst-validate.c: validate: Add a way to add a "description" to scenario files Print details about the descriptions when listing scenario in a KeyFile format The description can contain any information about the scenario such as its duration before EOS, how long the pipeline needs to be so the scenario can be applied...etc 2014-02-11 23:09:57 +0100 Thibault Saunier * validate/tools/gst-validate-transcoding.c: validate: tools: Init gst-validate before listing scenarios And return 0 when only listing scenarios 2014-02-10 16:48:44 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Handle backslashes in scenario files 2014-02-06 17:24:30 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: * validate/tools/launcher/utils.py: validate:tools: Rework the way we handle options Make groups so it is easier for users to find what they look for By default have 1 single directory where everything is oututed (main-dir) Add a way to specify how and where to look for remote assets 2014-02-06 17:23:10 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate:tools:launcher: Take into account the position value when rendering When rendering a files we try to use the size of the outputed file to determine wether we are timeout or not, but if that fails try to check the position 2014-02-06 17:22:36 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: validate: Better organize rendered files 2014-01-31 12:21:21 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/utils.py: validate:tools: Use regex for parsing when appropriate 2014-01-31 00:23:29 +0100 Thibault Saunier * validate/tools/launcher/main.py: validate:toold: Add a --output-dir parametter 2014-01-31 00:22:57 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: validate:tools: Keep file extension in test classnames + add test "namespace" in transcoded files 2014-01-30 16:59:21 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:tools: Add a class to back pipeline creation in gst-validate 2014-01-30 16:58:58 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/utils.py: validate:tools: Define supported protocols in an enum 2014-01-30 16:56:51 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate: toold: Properly define scenario properties 2014-01-30 16:38:37 +0100 Thibault Saunier * validate/data/Makefile.am: * validate/data/reverse_playback.scenario: * validate/data/simple_backward.scenario: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate: Rename simple_backward to reverse_playback as this is what it does 2014-01-30 15:40:21 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: validate:tools: Add namespace in apps global variables Avoiding conflicts 2014-01-30 13:36:04 +0100 Thibault Saunier * validate/tools/launcher/main.py: validate:tools: Allow user to append paths to medias 2014-01-30 13:25:57 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate:tools: Make use of the new seek_with_stop scenario 2014-01-30 12:42:25 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/utils.py: validate:tools: Implement the logic of validate ouput parsing in the baseclass + Add some logic to check that we are mot playing outside wanted segment 2014-01-30 12:20:33 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: tools:validate: Make default blacklist handled by managers themselves 2014-01-30 11:59:54 +0100 Thibault Saunier * validate/data/Makefile.am: * validate/data/scrub_forward_seeking.scenario: * validate/data/seek_backward.scenario: * validate/data/seek_forward.scenario: * validate/data/seek_with_stop.scenario: validate: data: Avoid using seek.stop time when not necessary Instead send an EOS. And add a seek_with_stop scenario to test that particular feature 2014-01-29 17:39:14 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:tools: Only discover files with media-check 2014-01-29 17:37:57 +0100 Thibault Saunier * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-media-info.h: * validate/tools/gst-validate-media-check.c: validate:tools: Add a 'discover-only' option to media-check 2014-01-27 12:20:02 +0100 Thibault Saunier * validate/data/seek_forward.scenario: data: Let playback until the end on last seek of seek_forward if duration < 30s 2014-01-24 16:38:12 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: validate: tools: Add a --fatal-error option to the launcher 2014-01-24 13:59:56 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate: tools: Implement the notion of hard timeout Allowing to define timeout that is not relative to the last observed number. 2014-01-24 11:41:25 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate: tools: Create a class for scenarios 2014-01-24 11:31:42 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate: tools: Change timeouts depending on used protocol 2014-01-24 11:29:50 +0100 Thibault Saunier * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: * validate/tools/launcher/utils.py: validate:tools: Implement Buffering support in the various tools 2014-01-23 00:15:54 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: validate:tools: Blacklist some scenario/protocol combinations And add the option for user to easilly blacklist tests 2014-01-22 23:25:09 +0100 Thibault Saunier * validate/gst/validate/gst-validate-reporter.c: validate: Plug a leak in validate-reporter 2014-01-22 23:22:59 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-reporter.c: validate:tools: Do not forget to give a ref for reporter's reports Also enhance a bit report 'wording' 2014-01-15 16:11:39 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: * validate/tools/launcher/utils.py: validate:tools: Print test result in the terminal after the end of each test 2014-01-15 16:07:26 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Enhance explanation about seek execution failure 2014-01-14 18:07:46 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: validate:tools: Add an option to run testforever 2014-01-14 18:05:45 +0100 Thibault Saunier * validate/tools/launcher/utils.py: validate: tools: Cleanup the way we return code in position query 2014-01-14 10:32:53 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: validate:tools: Use the same semantic for all tests classnames 2014-01-14 10:31:27 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Do not remove GSource if it has never been set 2014-01-14 10:28:01 +0100 Thibault Saunier * validate/data/play_15s.scenario: data: Add a scenario where we send EOS after 15secs if the duration is > to that 2014-01-13 17:31:57 +0100 Thibault Saunier * validate/tools/launcher/Makefile.am: * validate/tools/launcher/RangeHTTPServer.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/httpserver.py: * validate/tools/launcher/main.py: validate:tools: Add support for testing http streams locally 2014-01-13 09:47:45 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:tools: Some cleanup in gst-validate test launcher 2014-01-13 11:13:02 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:tools: Add actuall tests for media checking 2014-01-13 11:07:43 +0100 Thibault Saunier * validate/tools/gst-validate-media-check.c: validate: tools: media-check: When comparing with a file just compare We do not want to know if the file is seekable etc, but in that case we want to see that the results are stable throughout the various runs Also make sure to report an understandable error if the media file info could not be parsed 2014-01-13 09:32:14 +0100 Thibault Saunier * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: tools: Do not dot the pipeline every 50ms, it is a bit exessive 2014-01-10 18:00:27 +0100 Thibault Saunier * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate:tools: Return an exit code != 0 if pipeline can't go to playing And give some information to the user about why the return code is !=0 everywhere it happens 2014-01-10 17:21:44 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate:tools: Add informations about the test in the log files 2014-01-10 16:56:44 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate:tools: Remove reference to get_backtrace which is not implemented + Enhance Message about launched apps 2014-01-10 16:46:00 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/reporters.py: validate:tools: Do not duplicated name in the classname in xunit reports 2014-01-10 15:31:01 +0100 Thibault Saunier * validate/tools/launcher/utils.py: validate:tools: Do not check if position > duration This is actually done by the scenario themselve. Instead if it is the case, we return 0, this way it will timeout if it happens too many times concecutively 2014-01-10 15:30:38 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/reporters.py: * validate/tools/launcher/utils.py: validate:tools: Properly inform the user about the log location when test fails 2014-01-10 15:29:31 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/main.py: validate:tools: Add an option to generate .media_info files So we can properly choose what media should be tested only placing media_file as needed. 2014-01-10 15:27:46 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: validate:tools: use more scenarios in gst-validate launcher And ensure that the list does not get mixed up with as we are sharing "symboles" between all the files 2014-01-10 15:26:29 +0100 Thibault Saunier * validate/data/simple_backward.scenario: validate:tools: Play the entire file in simple_backward 2014-01-10 14:31:24 +0100 Thibault Saunier * validate/data/fast_forward.scenario: validate:tools: Fix the fast forward scenario to handle any file duration 2014-01-10 12:41:30 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:tools: Do not try to transcode images 2014-01-10 12:01:43 +0100 Thibault Saunier * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-media-info.h: validate: Properly handle images in the media-info helper In the case of images we should not check reverse playback, fast forward etc... We also should keep the information 2014-01-10 11:36:10 +0100 Thibault Saunier * validate/configure.ac: * validate/tools/launcher/loggable.py: * validate/tools/launcher/main.py: validate:tools: Minor cleanups 2014-01-10 11:35:47 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:tools: Fix classname in gst-launch transcoding tests 2014-01-10 11:11:10 +0100 Thibault Saunier * validate/tools/launcher/reporters.py: validate:tools: Properly name the project launcher in the report 2014-01-10 10:58:54 +0100 Thibault Saunier * validate/tools/launcher/main.py: validate:tools: Create the rendering directory if it does not exist 2014-01-10 10:27:25 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: * validate/tools/launcher/utils.py: validate:tools: Add an option to desativate ANSI colors And enhance some debugging output 2014-01-10 10:12:13 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/utils.py: validate:tools: Remove our dependency to PyGobject 2014-01-09 18:43:15 +0100 Thibault Saunier * validate/tools/launcher/Makefile.am: * validate/tools/launcher/apps/Makefile.am: * validate/tools/launcher/main.py: validate:tools: Do not forget to add Makefile.am and main.py 2014-01-09 16:57:54 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/baseclasses.py: validate:tools: Enhance the way we detect if ges-launch can be used We make sure it has been compiled against gst-validate 2014-01-09 15:24:52 +0100 Thibault Saunier * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/utils.py: validate:tools: Set video/webm instead of video/x-matroska as caps for webm + some mirore indentation cleanups 2014-01-09 15:24:05 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:tools: Do not forget to keep our ref to file_info g-v-transcode 2014-01-09 15:23:38 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/utils.py: validate:tools: Cleanup how we check result of rendering test Factor out a method in the utils, and make use of it for both ges-launch and gst-validate-transcode 2014-01-09 15:20:46 +0100 Thibault Saunier * validate/tools/launcher/apps/gst-validate.py: validate:tools: Don't give file duration as timeout for gst-validate We use the other mean letting us actually control the process advancement. 2014-01-09 15:17:53 +0100 Thibault Saunier * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/utils.py: validate:tools: Veryfy test manager are operationnal before using them 2014-01-09 15:15:51 +0100 Thibault Saunier * validate/tools/gst-validate-launcher.in: * validate/tools/launcher/apps/ges-launch.py: validate:tools: Move the main function in a dedictaed file 2014-01-09 11:14:19 +0100 Thibault Saunier * validate/tools/launcher/reporters.py: * validate/tools/launcher/utils.py: validate:tools: Print some statistic at the end of the test run 2014-01-09 11:13:40 +0100 Thibault Saunier * validate/tools/gst-validate.c: validate:tools: Print position every 50ms in gst-validate 2014-01-09 09:39:05 +0100 Thibault Saunier * validate/configure.ac: * validate/tools/Makefile.am: * validate/tools/gst-validate-launcher.in: * validate/tools/launcher/__init__.py: * validate/tools/launcher/apps/ges-launch.py: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/loggable.py: * validate/tools/launcher/reporters.py: * validate/tools/launcher/utils.py: validate:tools: Rename files around and integrate into autotools File distribution used to be messy, clean it all up. Also make sure the launcher is integrated into the autotools. 2014-01-09 09:28:02 +0100 Thibault Saunier * validate/tools/testdefinitions.py: validate: tools: Enhance error message for GstValidate tests 2014-01-09 09:27:50 +0100 Thibault Saunier * validate/tools/testdefinitions.py: * validate/tools/utils.py: validate: tools: Concider timeouts as errors when printing tests 2014-01-09 09:14:27 +0100 Thibault Saunier * validate/tools/apps/ges-projects-tests.py: * validate/tools/apps/gst-validate.py: * validate/tools/gst-validate-launcher.py: * validate/tools/testdefinitions.py: * validate/tools/utils.py: validate: tools: Refactor and add a GstValidateTranscodeTest class 2014-01-08 18:51:14 +0100 Thibault Saunier * validate/tools/apps/gst-validate.py: * validate/tools/gst-validate-launcher.py: * validate/tools/loggable.py: * validate/tools/reporters.py: * validate/tools/testdefinitions.py: validate: launcher: add the debug logger from pitivi It is way more powerfull, simple to use and usefull than the stock python one and has been proved to work reliably 2014-01-13 09:41:16 +0100 Thibault Saunier * validate/tools/gst-validate.c: validate: tools: Unref the pipeline before the runner and monitor Avoids segfault in some cases, and monitors and runners have week ref on their targets. 2014-01-08 09:49:38 +0100 Thibault Saunier * validate/tools/apps/gst-validate.py: validate: tools: Add a gst-validate test manager 2014-01-08 09:44:02 +0100 Thibault Saunier * validate/gst/validate/gst-validate-media-info.c: validate: tools: media-info: Fixes in the media file descriptor parsing code We used to always fail when the user was passing something not NULL as err 2013-12-31 11:45:07 +0100 Thibault Saunier * validate/tools/apps/ges-projects-tests.py: * validate/tools/gst-validate-launcher.py: * validate/tools/reporters.py: * validate/tools/testdefinitions.py: * validate/tools/utils.py: validate: tools: Cleanup test launcher tool Previous commit was not meant to be pushed and those two should have been fixed up together, sorry for the mistake 2014-01-30 15:52:34 -0300 Reynaldo H. Verdejo Pinochet * validate/gst/validate/Makefile.am: validate: fix parallel build Without this, parallel building with > 2 jobs fails. Also, LDFLAGS should not contain -l flags but _LIBADD. 2014-01-30 15:47:15 -0300 Reynaldo H. Verdejo Pinochet * validate/gst/validate/gst-validate-default-overrides.c: validate: drop unneeded stdio include 2013-12-31 11:45:07 +0100 Thibault Saunier * validate/tools/apps/ges-projects-tests.py: * validate/tools/gst-validate-launcher.py: * validate/tools/reporters.py: * validate/tools/testdefinitions.py: * validate/tools/utils.py: Add a test launcher tool 2013-11-25 21:51:11 +0100 Lubosz Sarnecki * validate/gst/validate/Makefile.am: * validate/pkgconfig/gst-validate.pc.in: validate: fix installation * install headers * fix libname in pk file 2013-11-15 05:22:24 -0500 Vincent Penquerc'h * validate/gst/validate/gst-validate-scenario.c: validate-scenarios: list scenarios in GST_VALIDATE_SCENARIOS_PATH GST_VALIDATE_SCENARIOS_PATH was used only for loading scenarios, so any in that path would not be listed by -l. Change-Id: If3cb94867ef3876933bda02477675c8ccf67baaf 2013-10-18 16:22:03 -0300 Thibault Saunier * validate/tools/gst-validate-transcoding.c: tools: transcoding: Avoid reencoding unless explicitely specified 2013-10-28 19:49:52 -0300 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Do not concider TIME_NONE as 0 for serialized events In case we have serialized events right after a buffer that had no timestamp set we concider that last timestamp was 0, but we can actually not concider the timestamp at all in that case as it is only "meaningless value". 2013-10-19 13:41:01 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: tools: Simplify the setting of action scenario vs config scenario This make it easier for user to understand the difference between the two concepts and avoids confusion. Change-Id: Ib42913722c93a1e7e3c8b156173c458230946592 Conflicts: validate/tools/gst-validate-transcoding.c validate/tools/gst-validate.c 2013-10-25 11:33:54 +0200 Thibault Saunier * validate/tools/gst-validate.c: scenario: Do not execute anything when listing scenarios 2013-10-25 11:31:58 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Add a "set-feature-rank" config action This action can be used to change the rank of a particular element, so you can force a particular element to be used when using autoplugging elements (such as decodebin, encodebin, and friends) 2013-10-25 11:29:04 +0200 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tools/gst-validate-transcoding.c: scenario: Add support for "config" actions, actions executed at parse time This type of actions is used to change some parametter on GStreamer core and it plugins, it can be fore example, to change the rank of a plugin or things like that. 2013-10-16 17:35:36 -0300 Thibault Saunier * validate/tools/gst-validate-transcoding.c: validate-transcoding: Dot pipeline on error 2013-10-26 03:01:37 -0700 Zaheer Abbas Merali * vagrant/Vagrantfile: * vagrant/ansible_hosts: * vagrant/gst-streaming-server-git.yml: * vagrant/gstreamer-git.yml: * vagrant/gstreamer.yml: * vagrant/ipython.yml: * vagrant/playbook.yml: vagrant: initial commit Vagrant environment to do GStreamer development, debugging and testing. 2013-10-21 13:06:46 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: handle streams with unknown duration 2013-10-21 09:08:18 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: start handling missing plugin messages We only print them to the debug log for now. 2013-10-21 09:07:09 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: * mediainfo/src/mi-preview.vala: mi-preview: use ensure_native() in realized() This fixes X crashers at startup when preparing the overlay. 2013-10-19 21:15:08 +0200 Stefan Sauer * mediainfo/TODO: mi/TODO: planning update 2013-10-19 21:13:46 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: go back to use the sync api If we discover 'too quickly' the machinery seems to get into a state, where it does not discover anything anymore. 2013-10-18 23:33:50 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: * mediainfo/src/mi-preview.vala: mi-preview: reflow the overlay sync We need to listen to preview-widget resizing to send an expose to the gst- overlay. Defer discovering until the ui has be realized. 2013-10-18 18:22:33 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: mi-app: use an idle-handler to set the initial directory This ensures we don't emit selection changed signals before we're up and running. 2013-10-17 22:34:25 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: improve media preview Set double_buffering when we analyzed the media. Drop signal handlers on preview widget for delayed configuration. Prepare preview as soon as we have discovered. 2013-10-14 11:25:39 -0300 Thibault Saunier * validate/configure.ac: * validate/tools/Makefile.am: Properly link against gstreamer-video as it is now needed 2013-10-14 11:20:03 -0300 Thibault Saunier * validate/gst/validate/gst-validate-media-info.c: media-info: Do not use GST_PTR_FORMAT with g_print Fix compilation 2013-10-14 11:07:03 -0300 Thibault Saunier * validate/data/scrub_forward_seeking.scenario: data: Avoid races in the scrub_forward seeking scenario Make sure that it does not last too long if the file is long (scrubing on 10 secs maximum), and make sure that we do not end up seeking after the max duration 2013-10-14 11:05:48 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: report: Set refcount=1 when creating a report As it should start with 1 reference, not 0 2013-10-09 09:35:29 -0300 Thibault Saunier * validate/data/Makefile.am: * validate/data/force_key_unit.scenario: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tools/gst-validate-transcoding.c: scenario: Add an action that checks the "force-key-unit" event execution 2013-10-09 09:33:06 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: scenario: Make the get_clocktime helper a public method So it can be reused outside of the core code 2013-10-07 19:47:15 -0300 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Do not try to compare 2 not fixed values There is no reliable way of checking those values in the case they are not fixed, let's just make sure we get fixed values before executing the check 2013-10-07 17:40:54 -0300 Thibault Saunier * validate/data/Makefile.am: * validate/data/adaptive_video_framerate_size.scenario: data: Add an adaptive video framerate and size scenario 2013-10-07 17:18:37 -0300 Thibault Saunier * validate/data/Makefile.am: * validate/data/adaptive_video_framerate.scenario: * validate/tools/gst-validate-transcoding.c: data: Add an adaptive video framerate scenario 2013-10-07 12:08:28 -0300 Thibault Saunier * validate/data/Makefile.am: * validate/data/adaptive_video_size.scenario: data: Add a scenario where we change the video size on during playback 2013-10-07 12:06:22 -0300 Thibault Saunier * validate/tools/gst-validate-transcoding.c: transcoding: Add a new action to change restriction caps at runtime 2013-10-07 12:07:47 -0300 Thibault Saunier * validate/tools/gst-validate-transcoding.c: transcoding: Fix the way we get pad caps 2013-10-07 10:59:39 +0200 Stefan Sauer * mediainfo/TODO: * mediainfo/src/mi-info.vala: mi-todo: planning and todo comment update 2013-10-07 10:59:15 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: add two more wikilinks 2013-10-07 10:07:31 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: filter language-code from tags We already show the language code as a separate field. 2013-10-05 13:29:52 -0300 Thibault Saunier * validate/data/alternate_fast_backward_forward.scenario: * validate/data/fast_backward.scenario: * validate/data/fast_forward.scenario: * validate/data/seek_backward.scenario: * validate/data/seek_forward.scenario: * validate/data/seek_forward_backward.scenario: * validate/data/simple_backward.scenario: * validate/data/simple_seeks.scenario: * validate/data/update_start.scenario: * validate/data/update_stop.scenario: data: Set seeks to accurate+flush by default 2013-10-05 12:44:39 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Pass through gst-indent 2013-10-05 12:43:27 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Use g_error instead of exit (0) 2013-10-05 12:43:03 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Factor out function to get GstClockTime out of a structure 2013-10-05 12:01:46 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Use a weak ref to the pipeline We are listening to it, we should not be owning a ref to it. 2013-10-05 12:00:35 -0300 Thibault Saunier * validate/docs/validate-usage.txt: * validate/gst/validate/gst-validate-runner.c: * validate/tools/gst-validate-transcoding.c: runner: Use "18" as exit code in case of error It is a random number, but it will in most cases give people a hint that gst-validate reported a critical issue, and thus set the return code, only by looking at it Also make use of gst_validate_runner_print() in gst-validate-transcoding.c as we were copy pasting that method there. 2013-10-03 19:23:57 -0300 Thibault Saunier * validate/data/seek_backward.scenario: * validate/data/seek_forward.scenario: * validate/gst/validate/gst-validate-scenario.c: scenario: Handle formulas in playback_time And port seek forward/backward scenarios to relative seeking 2013-09-28 02:18:55 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: scenario: Check that all action were properly executed 2013-09-28 00:15:13 +0200 Thibault Saunier * validate/data/Makefile.am: * validate/data/scrub_forward_seeking.scenario: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: scenario: Add the notion of repeated actions 2013-09-28 00:05:51 +0200 Thibault Saunier * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: utils: Add util functions to parse simple mathematical expressions And make use of it to set the start of a seek 2013-09-28 00:12:07 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Error out and exit when we fail loading a scenario 2013-10-04 09:58:17 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: add more wikilinks 2013-10-04 07:51:46 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: pretty print framerates Avoid to print 0 fps. Handle the special 0/1 case for still images. 2013-10-03 18:14:18 -0400 Olivier Crête * validate/gst/validate/gst-validate-scenario.h: gst-validate-scenario: Only typedef the struct once Some gcc versions don't like the typedef being done twice 2013-10-03 22:23:22 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: add a helper to format bit-rates Print bit-rates in kbit/sec. Add handling for unknown values and ranges. 2013-10-03 22:22:46 +0200 Stefan Sauer * mediainfo/src/mi-preview.vala: mi-preview: ensure that natural-size >= min-size 2013-10-01 08:21:45 +0200 Stefan Sauer * mediainfo/TODO: mi/TODO: planning update 2013-10-01 07:48:20 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: reset toc info when we did not get disco info 2013-10-03 05:32:54 -0400 Vincent Penquerc'h * validate/gst/validate/gst-validate-scenario.c: scenario: do not set default seek flags Seeks will be done with no particular flags, unless specified in the scenario. 2013-09-30 15:39:54 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: filter buffer entries from caps Filter buffer entries from caps before showing them as string. 2013-09-28 07:19:59 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: show tooltip for caps labels with full caps string 2013-09-28 07:12:27 +0200 Stefan Sauer * mediainfo/TODO: * mediainfo/src/mi-info.vala: mi-info: send seek events when clicking toc entries Get the start-pos from the active toc entry and seek. 2013-09-27 08:03:59 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: use a TreeView for the toc Use a TreeView with a TreeStore to show toc-entries. 2013-09-30 09:51:21 -0400 Olivier Crête * validate/tools/gst-validate.c: gst-validate: Don't use the GOptionContext after freeing it 2013-09-25 08:19:26 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: indent toc entries Also add todo for how to make it a treeview instead 2013-09-25 08:01:29 +0200 Stefan Sauer * mediainfo/TODO: TODO: planning 2013-09-25 07:58:49 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: mark nullable parameters as such 2013-09-25 07:54:43 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: add start/stop times in toc 2013-09-21 00:23:17 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Check if channel-mask is present only if channels > 2 As it is not a mandatory field otherwize https://bugzilla.gnome.org/show_bug.cgi?id=708499 2013-09-19 07:38:20 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Add GST_VALIDATE_SCENARIOS_PATH environment variable So you can specify the PATHS where to look for scenario files 2013-09-16 10:03:07 -0300 Thiago Santos * validate/data/update_start.scenario: * validate/data/update_stop.scenario: scenarios: add 2 new scenarios for seeks with different seek types They test seeks that only update the stop or the start position, some demuxers seem not to handle the case where start type is set to None. 2013-09-13 12:09:30 -0300 Thiago Santos * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: validate-scenario: track position query results closer Always keep probing the pipeline for the current position and compare with the latest requested seek segment to detect if the seek boundaries are being respected 2013-09-17 15:56:19 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: scenario: Make it possible to define mandatory fields And give a descrpition for actions 2013-09-02 11:11:15 -0400 Vincent Penquerc'h * validate/data/Makefile.am: * validate/data/switch_audio_track.scenario: * validate/gst/validate/gst-validate-scenario.c: scenario: add a track switch command, and an audio track switch test The "switch-track" command can be used to switch tracks. The "type" argument selects which track type to change (can be "audio", "video", or "text"). The "index" argument selects which track of this type to use: it can be either a number, which will be the Nth track of the given type, or a number with a "+" or "-" prefix, which means a relative change (eg, "+1" means "next track", "-1" means "previous track"). Conflicts: validate/gst/validate/gst-validate-scenario.c 2013-09-16 18:48:38 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Make it possible to register action parsing funcs before init 2013-09-13 15:48:56 -0300 Thibault Saunier * validate/Makefile.am: * validate/configure.ac: * validate/pkgconfig/Makefile.am: * validate/pkgconfig/gst-validate-uninstalled.pc.in: * validate/pkgconfig/gst-validate.pc.in: validate: Add .pc files so applications can link against us 2013-09-15 15:11:53 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: extact helper to format times 2013-09-13 08:16:34 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: comment updates 2013-09-13 08:12:34 +0200 Stefan Sauer * mediainfo/TODO: TODO: update planing 2013-09-13 08:12:05 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: extract ui-helper for format/codec-rows 2013-09-13 07:55:14 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: extract ui helper for adding an entry A helper to add a label + str formatted details as a table row. 2013-09-11 08:21:06 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: extract more common ui code into helpers 2013-09-09 18:48:10 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: reshuffle container widgets Prepare for handling nested containers. 2013-09-09 18:37:24 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: code cleanups First reset the info pane and then check/update. This fixes not resetting the tabs on info==null. 2013-09-09 18:36:47 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: fix type It is 'Notebook' and not 'NoteBook'. 2013-09-06 08:56:05 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: * mediainfo/src/mi.vala: mi: code cleanups, comments 2013-09-06 08:03:51 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: fix tab-index in compact mode 2013-09-05 09:18:26 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: sort streams by stream_id This way we are activating the right stream when switching tabs. 2013-09-05 09:18:04 +0200 Stefan Sauer * mediainfo/TODO: TODO: spelling fixes and update 2013-09-04 09:17:28 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi.vala: app: allow giving an uri instead of a directory as a startup arg This way we can play streams. 2013-09-04 09:16:47 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: * mediainfo/src/mi-preview.vala: preview: fix minimal size We need some minial size, otherwise we can enlarge, but not shrink the window. 2013-09-04 09:15:34 +0200 Stefan Sauer * mediainfo/TODO: TODO: small ideas update 2013-09-04 09:15:07 +0200 Stefan Sauer * mediainfo/HACKING: * mediainfo/src/mi-info.vala: HACKING: update instructions 2013-09-03 22:03:19 +0200 Stefan Sauer * mediainfo/src/Makefile.am: * mediainfo/src/mi-info.vala: * mediainfo/src/mi-preview.vala: preview: extract preview area as separate widget 2013-09-03 07:41:46 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: * mediainfo/src/mi.vala: mi: update my name and years 2013-09-02 22:25:09 +0200 Stefan Sauer * mediainfo/HACKING: * mediainfo/src/Makefile.am: * mediainfo/vapi/config.vapi: mi: set the log domain 2013-09-02 09:52:30 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: comment updates 2013-09-02 09:49:51 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: turn stdout.printf into debug log calls 2013-09-02 09:41:24 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: add todo for stream switching 2013-09-02 09:40:58 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: playbin handles force-aspect-ration in 1.0 2013-08-30 10:53:13 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: improve sizing We're now hinting the scrolled window about the content size to avoid empty space + scrolling. 2013-08-30 08:41:48 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: basic subtitle support 2013-08-30 08:26:37 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: video-area: improve resizing of the video area The browser pane does not expand by default. Track aspect-ration for the currently displayed object. Use an aspect frame as a container for the drawing-area. 2013-08-29 07:51:13 +0200 Stefan Sauer * mediainfo/README: * mediainfo/TODO: todo: update planning and ideas 2013-08-28 21:27:36 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: mi-app: use the newer gtk api with orientation 2013-08-28 20:26:54 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: improve wikilink mapping Try codecname and then caps name to get wiki links. Also show caps for the container. 2013-08-27 23:57:06 +0200 Stefan Sauer * mediainfo/configure.ac: * mediainfo/src/mi-info.vala: mi: port to gst-1.0 and gtk+3 2013-08-18 16:01:33 +0200 Stefan Sauer * mediainfo/TODO: TODO: some link for inspiration 2012-10-23 15:54:06 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: cleanup. update name and year, queue a redraw for album art 2012-10-23 15:21:34 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: porting: update on vala changes 2011-06-21 15:05:37 +0200 Stefan Sauer * mediainfo/autogen.sh: * mediainfo/configure.ac: buid: fix the bootstrapping Create the macrodir. Remove the GETTXT macro that was clashing with INTLTOOL. 2011-03-04 18:14:06 +0200 Stefan Sauer * mediainfo/README: README: more planning 2011-03-04 18:13:34 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: add wikilinks for two more codecs 2011-02-18 17:36:30 +0200 Stefan Sauer * mediainfo/README: README: planning 2011-01-29 14:41:28 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: reset container and duration fields if file is not discoverable Before the previous text was left. 2011-01-25 15:07:07 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: change the order of asyn disco calls Starting disco before enqueueuing uris seems to make it work. 2011-01-25 14:52:05 +0200 Stefan Sauer * mediainfo/README: planing: CBR/VBR info 2011-01-24 23:42:15 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: prepare for async discovery The async api usage is not yet activated due to some uncertanty in the api use. 2011-01-24 23:40:23 +0200 Stefan Sauer * mediainfo/README: * mediainfo/src/mi-info.vala: comments: planning and code comments 2011-01-24 22:28:32 +0200 Stefan Sauer * mediainfo/src/Makefile.am: Makefile: indenting 2011-01-24 11:24:26 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: add more wikilinks 2011-01-17 23:09:54 +0200 Stefan Sauer * mediainfo/configure.ac: release: bump versions and back to development 2011-01-17 23:05:54 +0200 Stefan Sauer * mediainfo/NEWS: release: prepare for release 2011-01-17 23:06:07 +0200 Stefan Sauer * mediainfo/HACKING: docs: more maintainer info 2011-01-16 14:25:19 +0200 Stefan Sauer * mediainfo/HACKING: docs: add simple HACKING file 2011-01-14 23:15:42 +0200 Stefan Sauer * mediainfo/src/Makefile.am: build: fix distcheck 2011-01-14 23:01:08 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: app: add idea for stream-open dialog 2011-01-14 22:41:20 +0200 Stefan Sauer * mediainfo/configure.ac: * mediainfo/po/POTFILES.in: * mediainfo/src/Makefile.am: * mediainfo/src/gst-mi.desktop.in: desktop: add a desktop file 2011-01-14 22:40:03 +0200 Stefan Sauer * mediainfo/src/Makefile.am: * mediainfo/src/gst-mi.png: * mediainfo/src/gst-mi.svg: * mediainfo/src/mi-app.vala: icon: add an application icon Set as default icons, so that it it used for windows and in about dialog. 2011-01-14 21:53:34 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: enable double buffering when displaying album art 2011-01-14 18:39:01 +0200 Stefan Sauer * mediainfo/README: * mediainfo/src/mi-info.vala: info: handle album-art Decode and draw the album art into the video window. 2011-01-14 11:19:16 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: filter buffers from tags and add some planning comments 2011-01-14 11:18:45 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: add comment with wikipedia alternative for links 2011-01-13 12:21:46 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: app: add about dialog 2011-01-13 12:05:35 +0200 Stefan Sauer * mediainfo/po/POTFILES.in: * mediainfo/po/POTFILES.skip: i18n: manage translatable files 2011-01-13 12:03:00 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: * mediainfo/vapi/vapi.gstreamer-pbutils-0.10.patch: vapi: no more need for patching the vapi file 2011-01-13 11:56:37 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: switch stream callback for compact layout 2011-01-13 11:56:18 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: verified link 2011-01-13 10:03:32 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: add compact_layout mode For screen-heights <= 600 pixels use a single notebook for all streams. 2011-01-13 09:15:04 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: add more wikilinks and use it for streams too 2011-01-12 10:17:56 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: add a hashmap with wiki links and start using them The container description will be turned into a link if we have a known wikipedia article for it. 2011-01-04 14:56:40 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: more ui layout planning 2010-12-21 23:09:43 +0200 Stefan Sauer * mediainfo/README: README: planning 2010-12-21 14:54:56 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: menu: use alternative way to get the key number 2010-12-21 13:55:02 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: menu: add F11 accelerator for fullscreen 2010-12-21 13:21:34 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: blacklist "norminal-bitrate" too We show that above already. 2010-12-21 13:18:38 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: menu: add View menu with fullscreen item 2010-12-21 12:01:40 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: layout: improve the layout on small screens Pack the info view info a scrolled window. Use an extra paned to allow resizing the video pane. Minimize padding on paned widgets. 2010-12-21 11:27:57 +0200 Stefan Sauer * mediainfo/Makefile.am: * mediainfo/configure.ac: build: updates for gettext 2010-12-16 23:06:57 +0200 Stefan Sauer * mediainfo/README: README: planning 2010-12-16 23:02:31 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: show the fps as a double 23.97 fps is easier to read that 10000000 / 417083. 2010-12-16 11:42:34 +0200 Stefan Sauer * mediainfo/autogen.sh: autogen.sh: fix silly typo 2010-12-15 11:46:08 +0200 Stefan Sauer * mediainfo/README: README: planning 2010-11-30 12:20:44 +0200 Stefan Sauer * mediainfo/README: README: update todo lists 2010-11-30 11:19:35 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: make urls in tags clickable 2010-11-30 11:18:37 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: make labels selectable for copy'n'paste 2010-11-10 08:50:48 +0200 Stefan Sauer * mediainfo/README: * mediainfo/src/mi-info.vala: planning: comments and todos 2010-11-08 11:52:11 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: improve tag filtering Hide duration as well. Also skip all tags where the name starts with "private-". 2010-11-08 11:40:06 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: redo tag list formatting Loop over tags and serialize items. Skip some already shown info. 2010-11-08 10:38:39 +0200 Stefan Sauer * mediainfo/README: * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: maintenance: code cleanups and addition TODO: comments 2010-11-05 17:17:16 +0200 Stefan Sauer * mediainfo/configure.ac: * mediainfo/src/mi-info.vala: info: add named video resolutions Use a gee hashmap for named video resolutions (e.g. VGA) and show those in the info. 2010-11-04 12:47:14 +0200 Stefan Sauer * mediainfo/README: * mediainfo/src/mi-info.vala: * mediainfo/vapi/vapi.gstreamer-pbutils-0.10.patch: info: show human readable container format name Update the patch for vala bindings. Update README as getting the contaienr caps is already possible. 2010-11-04 10:49:40 +0200 Stefan Sauer * mediainfo/vapi/vapi.gstreamer-pbutils-0.10.patch: vapi: add current patch for gstreamer-pbutils vapi metadata 2010-11-04 10:46:43 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: show stream tags as multiline label 2010-11-04 10:15:19 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: show misc stream info, if available 2010-11-04 09:48:55 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi.vala: app: add directory property and use it as default location for browsing Allow passing a directory as a commandline arg. If given use that as the default location, otherwise use current working dir. 2010-11-04 09:46:58 +0200 Stefan Sauer * mediainfo/src/mi.vala: mi: we need to open the default display The ui was crashing otherwise. Opening the default display seems to be the default behaviour for gtk_init(). 2010-11-03 13:59:44 +0200 Stefan Sauer * mediainfo/src/mi.vala: mi: add basic goption usage Only --version works right now. 2010-11-03 10:47:04 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: handle video area expose also if we have no video 2010-11-03 10:34:57 +0200 Stefan Sauer * mediainfo/README: README: add todo for gst-discoverer 2010-11-03 10:33:43 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: use File.query to get file info Use the file info to query content-type and icon. Show file-type icon in the UI. 2010-11-03 10:01:04 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: prepare to show human readable container format info gst-discoverer does not yet provide it unfortunately. 2010-10-28 17:34:38 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: add more TODO 2010-10-28 17:34:15 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: switch streams when switching tabs 2010-10-28 17:33:54 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: whitespace fix 2010-10-28 16:45:55 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: add human readable code info 2010-10-28 16:39:35 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: improve resolution Orint it as "w x h" and add idea to convert to human readable string 2010-10-28 16:34:08 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: add remaining audio/video info fields 2010-10-28 03:08:28 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: turn stream widgets into tables and add bitrate 2010-10-28 02:15:56 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: initialy paint video area black 2010-10-28 01:41:48 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: ellipsize labels to avoid horzontal window growth 2010-10-28 01:41:07 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: stop playback on unrealize Prevent "BadDrawable" errors. 2010-10-27 02:18:17 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: ensure we have a native widnow for the drawing_area Fixes BadID x errors. 2010-10-27 02:02:15 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: add vapi info for ubuntu 2010-10-25 10:54:07 +0300 Stefan Sauer * mediainfo/README: REDME: planning 2010-10-20 00:44:18 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: get a/mediainfo/v streams and show caps 2010-10-19 23:04:42 +0300 Stefan Sauer * mediainfo/src/mi-app.vala: app: use a hpane instead of the file-chooser preview widget This allows the user to modify the size. 2010-10-19 22:53:28 +0300 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: app: only run discover for files 2010-10-18 22:50:02 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: start to use discoverer and improve the ui Organize the info pane as a table. Add mime type and duration fields to container section. 2010-10-18 17:38:32 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: add more ui boilerplate and fixme comments 2010-10-18 17:14:46 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: enable discovered Add comment telling how to regenerate the vapi files. 2010-10-18 10:31:43 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: make the overlay iface work and activate playback 2010-10-18 09:53:45 +0300 Stefan Sauer * mediainfo/src/mi-app.vala: app: configure the filechooser more. Go to home dir (maybe annoying feature). Don't show hidden files. 2010-10-18 09:51:48 +0300 Stefan Sauer * mediainfo/src/Makefile.am: build: fix libraryname 2010-10-18 00:07:02 +0300 Stefan Sauer * mediainfo/src/Makefile.am: * mediainfo/src/mi-info.vala: info: add missing libs and enable the overlay code 2010-10-17 23:54:06 +0300 Stefan Sauer * mediainfo/gst-mediainfo.anjuta: anjuta: add anjuta project 2010-10-17 23:53:23 +0300 Stefan Sauer * mediainfo/src/mi-app.vala: info: add playbin2 and overlay iface handling 2010-10-17 23:52:37 +0300 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: * mediainfo/src/mi.vala: mi: init gst 2010-10-17 23:21:16 +0300 Stefan Sauer * mediainfo/configure.ac: * mediainfo/src/mi-info.vala: info: start adding gstreamer discoverer 2010-10-17 22:37:26 +0300 Stefan Sauer * mediainfo/src/mi.vala: mi: code style 2010-10-17 22:36:39 +0300 Stefan Sauer * mediainfo/src/Makefile.am: * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: info,app: move label to separate info class Info class will run discover and have the detailed UI. 2010-10-17 22:35:50 +0300 Stefan Sauer * mediainfo/README: README: add sample discover output 2010-10-17 22:16:27 +0300 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi.vala: app: add basic widget and do basic preview Add a menu bar and a file browser. Set up a preview callback. 2010-10-17 00:18:20 +0300 Stefan Sauer * mediainfo/Makefile.am: * mediainfo/po/LINGUAS: po: add LINGUAS file and handle generated files under po/ 2010-10-16 23:56:55 +0300 Stefan Sauer * mediainfo/autogen.sh: build: tweak autogen.sh Generate autoregen.sh, run configure. 2010-10-16 23:48:38 +0300 Stefan Sauer * mediainfo/AUTHORS: * mediainfo/COPYING: * mediainfo/ChangeLog: * mediainfo/Makefile.am: * mediainfo/NEWS: * mediainfo/autogen.sh: * mediainfo/configure.ac: * mediainfo/git.mk: * mediainfo/po/POTFILES.in: * mediainfo/po/POTFILES.skip: * mediainfo/src/Makefile.am: * mediainfo/src/mi-app.vala: * mediainfo/src/mi.vala: * mediainfo/vapi/Makefile.am: * mediainfo/vapi/config.vapi: *: initial boilerplate 2010-10-16 22:43:20 +0300 Stefan Sauer * mediainfo/README: docs: start collecting ideas 2013-09-13 11:43:33 -0300 Thibault Saunier * validate/data/seek_forward_backward.scenario: * validate/data/simple_backward.scenario: * validate/gst/validate/gst-validate-scenario.c: data: Port remaning scenario files to new format And add support to user declared timestamps -1.0 as GST_CLOCK_TIME_NONE 2013-09-09 19:04:48 -0300 Thibault Saunier * validate/data/alternate_fast_backward_forward.scenario: * validate/data/fast_backward.scenario: * validate/data/fast_forward.scenario: * validate/data/pause_resume.scenario: * validate/data/seek_backward.scenario: * validate/data/seek_forward.scenario: * validate/data/simple_seeks.scenario: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/validate.c: scenario: Rework scenarios to be: 1- Simpler to write them, 2- extendible Make the scenario files a list of GstStructure-s as strings 2013-09-09 19:05:24 -0300 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: bin-monitor: Add a way to specify pipelines on which to set scenarios When used with LD_PRELOAD, the application might use various pipelines for several different thing, we need to make it possible to spcify a specific pipeline (or set of pipelines) on which to run the scenario. The format is in the form of: scenario_name:pipelinename_pattern* 2013-09-09 19:01:44 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Try to run scenarios in development first 2013-09-09 17:40:36 +0200 Edward Hervey * .gitmodules: * common: * validate/autogen.sh: * validate/common: Adapt submodule usage for gst-devtools 2013-09-02 15:42:40 +0200 Edward Hervey * validate/tools/.gitignore: tools: Update .gitignore for tools move 2013-09-05 16:15:40 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: avoid false positives when a seek fails Remove the expected seqnums for events when a seek fails, preventing false positives at the final report 2013-09-05 04:34:42 -0400 Vincent Penquerc'h * validate/gst/validate/gst-validate-monitor-preload.c: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/tools/gst-validate.c: monitor-preload: schedule a report printout at exit Conflicts: tools/gst-validate.c 2013-09-04 11:09:50 -0400 Vincent Penquerc'h * validate/tools/gst-validate.c: gst-validate: ensure the top level element is a pipeline For instance, "fakesrc" will return a fakesrc, not a pipeline. This is similar to what gst-launch does, and avoids calling pipeline API on a non pipeline object (and thus asserting). 2013-09-04 11:05:48 -0400 Vincent Penquerc'h * validate/tools/gst-validate.c: gst-validate: do not try to use a pipeline which failed to create Instead, error out properly with the actual error, if available. 2013-09-04 10:50:11 -0400 Vincent Penquerc'h * validate/tools/gst-validate.c: gst-validate: initialize gst/glib before use in scenario listing Also ensure that if just -l is passed, we don't try creating a non existent pipeline. This makes gst-validate -l work properly again. 2013-09-05 11:47:21 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: fix typo on macro usage Pass the correct variable to macro 2013-09-05 11:46:46 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: allow flushing flow returns when pad is flushing It should always be acceptable to return GST_FLOW_FLUSHING when the pad is flushing 2013-09-03 15:58:20 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: removing bad check Elements are allowed to accumulate segments, they don't have to push 1:1 segments as they receive 2013-09-03 15:35:36 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: pad-monitor: buffer timestamp ranges check Improve buffer timestamp range check: * Only do it for encoders or decoders * Audio has an acceptable tolerance of 100ms To do this, keep track of the caps on the pad and store if it is dealing with audio or video 2013-09-03 15:17:05 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: move caps check to common event handling Allows both src and sink pad to keep track of the current caps, but the duplicated caps check is still only applied to sink pads as src pads can push the same caps multiple times when it isn't linked 2013-09-02 20:41:35 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: fix reference handling for expired events list 2013-09-02 16:08:19 -0300 Thiago Santos * validate/README: * validate/docs/validate-usage.txt: docs: update and improve Thanks to Thibault Saunier for most of the explanatory texts 2013-09-02 13:22:51 -0300 Thiago Santos * validate/README: * validate/data/Makefile.am: * validate/docs/qa-usage.txt: * validate/docs/validate-design.txt: * validate/docs/validate-usage.txt: * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-scenario.c: Replacing mentions of qa with validate 2013-09-02 12:18:07 -0300 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Check if iterator exists before trying to use it 2013-09-02 12:15:24 -0300 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: make debug log more readable Use pad as the debug object to make logs more meaningful. Also adds a FIXME note 2013-09-02 12:11:25 -0300 Edward Hervey * validate/gst/validate/gst-validate-element-monitor.c: element-monitor: protect agains elements that have no klass 2013-09-02 11:37:02 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: pad-monitor: use activate-mode function to detect when to clear pad data Clear as much as a flush-stop when pad is deactivated 2013-08-23 09:15:29 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: WIP: pad-monitor: Fix serialized event order check 2013-09-02 10:46:55 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: pad-monitor: also track eos event that should be emitted after a seek When seeking out of the media file length, the element should push an EOS with the same seqnum of the seek event 2013-09-02 10:46:42 -0300 Thiago Santos * validate/gst/validate/gst-validate-scenario.c: scenario: add missing space 2013-08-25 19:53:27 +0200 Edward Hervey * validate/gst/validate/gst-validate-report.c: * validate/tools/gst-validate.c: validate: prettify output of results Makes the result a bit more readable than a compact multi-line list. FIXME: Figure out how to print the description of the issues (which can spawn multiple lines) in a nice way. 2013-08-29 14:27:34 -0300 Thiago Santos * validate/gst/validate/gst-validate-scenario.c: scenario: add missing line break after print 2013-08-29 14:26:05 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: avoid tracking tag events Tag events are hard to track and check if properly serialized because they mutate too much inside elements. There is no reliable way currently to match a tag event pushed into an element and another tag event leaving the element (other than if the pointers are actually the same). 2013-08-29 11:48:33 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: only do combined return checks for demuxers Seems like the only place that gstreamer elements should really care about it 2013-08-29 11:47:58 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: add two useful macros for readability Avoids using long macros and having to check for pad-monitor parent existance 2013-08-28 06:07:40 -0400 Vincent Penquerc'h * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-media-info.h: media-info: add a track switching test This test will find the first input selector with more than one sink pad, and cycle through them till it gets back to the original one. Five seconds between switches. The test checks that some data was sent from the input selector when each of the sink pads was selected. 2013-08-23 09:58:58 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Print on stdout when we seek 2013-08-23 09:39:05 -0400 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: validate: Report an issue result of query state that position > duration 2013-08-22 16:52:45 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Execute action whenever we pass the expected position We know are sequential so whenever the wanted position is passed we should execute the action. This avoid issue with the tolerance when we have high rate playback 2013-08-22 12:16:55 -0400 Thibault Saunier * validate/tools/gst-validate-transcoding.c: validate: Dump pipeline for each state change Ala gst-launch 2013-08-22 11:17:26 -0400 Thibault Saunier * validate/tools/gst-validate-transcoding.c: transcoding: Print duration regularly 2013-08-22 10:51:49 -0400 Thibault Saunier * validate/tools/gst-validate.c: validate: Print state changes to help debugging 2013-08-28 16:58:11 -0300 Thiago Santos * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-default-overrides.c: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-monitor-factory.c: * validate/gst/validate/gst-validate-monitor-preload.c: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/validate.c: * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: licenses: improving licensing info on all files 2013-08-28 16:49:07 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: fix typo when acessing parents data 2013-08-27 18:23:09 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: reset buffer timestamp data after a flush As the pad/element also clears its internal state 2013-08-27 16:16:08 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: also track flush events on probes 2013-08-27 11:56:33 -0300 Thiago Santos * validate/Makefile.am: * validate/autogen.sh: * validate/configure.ac: * validate/gst/validate/Makefile.am: * validate/tools/Makefile.am: * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: tools: moving applications from gst/validate to tools Keeps the CLI applications separate from the libs files 2013-08-27 05:15:19 -0400 Vincent Penquerc'h * validate/gst/validate/gst-validate-scenario.c: gst-validate-scenario: fix scenario listing missing installed ones Only scenarii in the current directory or the user's home directory were being listed. 2013-08-27 05:08:46 -0400 Vincent Penquerc'h * validate/gst/validate/gst-validate-transcoding.c: gst-validate-transcoding: fix help text to refer to URIs as URIs Referring to them as files is confusing, as you'll try to use files and not URIs. 2013-08-27 04:38:52 -0400 Vincent Penquerc'h * validate/docs/qa-design.txt: * validate/docs/qa-usage.txt: docs: minor spelling/grammar fixes 2013-08-27 11:48:00 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Move repeated caps to test only on sinkpads Testing on source pads can lead to false positives when pads are unlinked. The caps event is sticky and will be pushed again later when another buffer/event is pushed, leading to an acceptable situation to push the caps twice. 2013-08-26 20:30:07 -0300 Thiago Santos * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-element-monitor.h: * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: add another acceptable flow return combination scenarios A demuxer knows when to return EOS after samples are over, so it is ok for it to return even when all src pads returned OK 2013-08-26 18:38:27 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: improve serialized event checks If the event was already found at the first position of the array, it shouldn't be searched on the rest of it. This removes lots of false positives. 2013-08-26 18:36:06 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: fix aggregate flow return check for error situations Flow flushing must be returned upstream to indicate an error situation downstream 2013-08-26 20:31:22 -0300 Thiago Santos * validate/gst/validate/gst-validate.c: gst-validate: print error message when starting the pipeline fails Instead of just exiting silently 2013-08-23 09:16:43 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: pad-monitor: New check for duplicate caps event We shouldn't get/push twice caps that are identical 2013-08-23 17:26:51 -0300 Thiago Santos * validate/gst/validate/gst-validate-media-info.c: media-info: avoid glib assert 2013-08-23 11:38:15 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-scenario.c: report: Avoid repeating long macros Makes the code a bit more readable and compact 2013-08-23 11:07:40 +0200 Edward Hervey * validate/gst/validate/gst-validate-report.c: validate-report: Fix critical flag handling criticals are warnings/issues also warnings are issues also 2013-08-20 17:25:48 -0400 Thibault Saunier * validate/data/Makefile.am: * validate/data/alternate_fast_backward_forward.scenario: data: Add a test that alternates (fast) backward and forward playback 2013-08-19 10:03:04 -0400 Thibault Saunier * validate/data/Makefile.am: * validate/data/seek_backward.scenario: * validate/data/seek_forward.scenario: data: Add a seek_backward/forward scenarios 2013-08-19 10:02:35 -0400 Thibault Saunier * validate/data/simple_seeks.scenario: * validate/gst/validate/gst-validate-scenario.c: scenario: Have GstClockTime as second (in double) inside scenario files Making it easier to read 2013-08-15 17:32:23 +0200 Thibault Saunier * validate/data/Makefile.am: * validate/data/fast_backward.scenario: * validate/data/fast_forward.scenario: * validate/data/simple_backward.scenario: data: Add fast_forward/backward and simple_backward scenarios 2013-08-15 12:34:09 +0200 Thibault Saunier * validate/data/Makefile.am: * validate/data/seek_forward_backward.scenario: * validate/gst/validate/gst-validate-scenario.c: data: Add a Backward and Forward seeking scenario 2013-08-15 12:17:43 +0200 Thibault Saunier * validate/data/Makefile.am: * validate/data/pause_resume.scenario: data: Add a Pause/Resume scenario 2013-08-19 14:13:10 -0400 Thibault Saunier * validate/gst/validate/gst-validate-transcoding.c: * validate/gst/validate/gst-validate.c: validate: Set return value of apps to -1 only if a critical issues was reported Conflicts: gst/validate/gst-validate-transcoding.c gst/validate/gst-validate.c 2013-08-16 16:41:50 +0200 Thibault Saunier * validate/gst/validate/gst-validate-transcoding.c: transcoding: Make sure to initialize Gst before parsing options Avoiding to break the help 2013-08-15 15:59:22 +0200 Thibault Saunier * validate/gst/validate/gst-validate-transcoding.c: transcoding: Connect to the bus signals watch as the main watch might already be connected 2013-08-15 17:31:17 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Start monitoring the position only when the pipeline starts playing Otherwize seeking with a playback_time=0 won't work properly 2013-08-15 17:30:34 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Fix negative rate management Properly parse the it has a gdouble and set the stop position of the seek as seeked_position if the rate is negative + Add some debug 2013-08-15 12:33:23 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Actions order in xml file is the order in which they must be executed When seeking we might want to execute seeks at a playback time inferior than previous seek, so we need to be able to define the order in which actions have to be executed, the simplest way is to just concider that actions are always order in the XML files. + Add some more debugs Conflicts: gst/validate/gst-validate-scenario.c 2013-08-15 15:57:52 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Rename the seeks list to actions, and initialize action to 0 when allocating 2013-08-16 12:17:34 +0200 Thibault Saunier * validate/data/Makefile.am: * validate/data/simple_seeks.scenario: * validate/gst/validate/gst-validate-scenario.c: scenario: Rename scenario xml files extension to .scenario 2013-08-15 12:18:56 +0200 Thibault Saunier * validate/gst/validate/gst-validate.c: validate: Connect to the bus signals watch as the main watch might already be connected 2013-08-16 12:50:51 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/gst-validate-transcoding.c: * validate/gst/validate/gst-validate.c: validate: Add a way to list avalaible scenarios Conflicts: gst/validate/gst-validate-transcoding.c 2013-08-22 10:35:50 -0300 Thiago Santos * validate/gst/validate/gst-validate-transcoding.c: gst-validate-transcoding: add signal handling and issues printing Update to have the same features as gst-validate. 1) Handle interrupts properly, with the additional of having the 'eos-on-shutdown' argument that sends EOS to the pipeline. This is very useful for transcoding processes to finish correctly. 2) Print issues on the end of application 2013-08-22 10:08:13 -0300 Thiago Santos * validate/gst/validate/gst-validate.c: gst-validate: add interrupt handler Handle interrupt properly to still print issues when exiting 2013-08-21 18:21:41 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Fix source pad probe handling type is a bitmask and not an enum 2013-08-21 13:10:42 -0300 Thiago Santos * validate/gst/validate/gst-validate.c: gst-validate: fix documentation after debug category changes 2013-08-21 18:00:16 +0200 Edward Hervey * validate/gst/validate/gst-validate-reporter.c: validate-reporter: More comprehensive debug message Some issues don't have any arguments, so put the full details in. 2013-08-20 11:43:07 +0200 Edward Hervey * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/validate.c: validate: Only use one debugging category: validate There's no point in having a different debug category per file, you can filter it by source filename if you *really* want that. 2013-08-21 12:11:40 -0300 Thiago Santos * validate/gst/validate/gst-validate-media-check.c: * validate/gst/validate/gst-validate.c: gst-validate: print issues at the end And improve documentation about usage 2013-08-21 11:03:19 -0300 Thiago Santos * validate/gst/validate/gst-validate-media-check.c: * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-media-info.h: media-check: add results file comparison Adds a new expected-results argument to receive a file that is used as a base for comparison with the new results. In case differences are found, the application will print those issues. 2013-08-20 17:10:44 -0300 Thiago Santos * validate/gst/validate/gst-validate-reporter.c: reporter: do not print issues to stdout 2013-08-20 15:44:10 -0300 Thiago Santos * validate/gst/validate/gst-validate-media-info.c: media-info: fix playback tests They weren't waiting for the pipeline to properly change state before sending seek events, that would cause some events to return TRUE even if they were not handled 2013-08-20 15:42:54 -0300 Thiago Santos * validate/gst/validate/gst-validate-media-check.c: media-check: return nonzero if a test failed 2013-08-20 13:24:31 -0300 Thiago Santos * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-media-info.h: media-info: add playback and reverse-playback tests The tests are very simple as they only write the first error they found during playback. If no error is set, an empty string is printed. The playback pipeline isn't monitored with validate monitors for now 2013-08-20 11:43:06 -0300 Thiago Santos * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-media-check.c: rename: gst-validate-file-check -> gst-validate-media-check It not only validates files, takes any URI 2013-08-20 11:41:15 -0300 Thiago Santos * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-media-info.h: media-info: add stream topology parsing Currently it only saves/loads the main type, but all topology is already being parsed for future use 2013-08-19 16:52:12 -0300 Thiago Santos * validate/gst/validate/gst-validate-media-info.c: media-info: add duration and seekable entries Add duration entry in ns and seekable as a boolean to a new group 'media-info' 2013-08-19 16:38:13 -0300 Thiago Santos * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-file-check.c: * validate/gst/validate/gst-validate-file-checker.h: * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-media-info.h: * validate/gst/validate/gst-validate-transcoding.c: * validate/gst/validate/validate.h: media-info: replacing file-checker with a simpler media-info struct This struct stores information about a media and tests run on it. It also has a few helper functions that allows storing the results to a file and loading it back. Instead of having the file-checker object that would compare the extracted values from the file to expected results set to its properties, the media-info will store the values and it will be possible to compare old media-info with new media-info from the same file. This allows tracking improvements and regressions on different gstreamer versions. Right now, the media-info is very tiny and doesn't store much info, only the uri and the file size in bytes, but it will receive more additions in the upcoming commits for storing duration, media topology, seekability and playback information. 2013-08-16 15:15:51 +0200 Edward Hervey * validate/.gitignore: * validate/gst/validate/.gitignore: .gitignore: Update for 1.0 and cleanup 2013-08-16 15:05:54 +0200 Edward Hervey * validate/configure.ac: * validate/gst/validate/gst-validate-bin-monitor.h: * validate/gst/validate/gst-validate-default-overrides.c: * validate/gst/validate/gst-validate-element-monitor.h: * validate/gst/validate/gst-validate-monitor-factory.h: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-override-registry.h: * validate/gst/validate/gst-validate-override.h: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/validate.h: all: Enable more C warnings at build time And fix the issues: * Proper forward declaration * static functions marked properly * absolute includes * declaration order 2013-08-16 14:27:29 +0200 Edward Hervey * validate/gst/validate/gst-validate-reporter.c: reporter: Fix proper debug message output partially In order for the special gstreamer print argument handler to be used you can't use g_strdup_printf. You need to pass it the actual va_list. 2013-08-16 14:26:35 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Handle case where internal pad iterator is NULL Can happen with inputselector 2013-08-16 14:25:49 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Don't use signal that doesn't exist Note that we should just ensure we always get the pads from the parent 2013-08-16 14:24:12 +0200 Edward Hervey * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Update raw audio caps checks 2013-08-16 14:23:05 +0200 Edward Hervey * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Fix locking issues We were taking locks twice. Also add debugging info when taking/releasing locks to help further similar issues 2013-08-16 11:24:11 +0200 Edward Hervey * validate/gst/validate/gst-validate-file-checker.c: file-checker: GstEncodingProfile is a GObject in 1.0 2013-08-15 01:46:27 -0300 Thiago Santos * validate/configure.ac: * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-file-checker.c: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-transcoding.c: gst-validate: port to 1.0 2013-08-15 01:44:59 -0300 Thiago Santos * validate/po/POTFILES.in: po: missing po rename 2013-08-14 20:03:43 -0300 Thiago Santos * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-monitor-factory.c: * validate/gst/validate/gst-validate-monitor-preload.c: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-runner.c: validade: add missing config.h includes 2013-08-14 19:14:18 -0300 Thiago Santos * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-file-check.c: * validate/gst/validate/gst-validate-monitor-preload.c: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-transcoding.c: * validate/gst/validate/gst-validate.c: * validate/gst/validate/validate.c: * validate/gst/validate/validate.h: validate: add init function Adds an init() function that should be called before using the lib. It takes care of calling all internal initializing functions in gst-validete 2013-08-14 18:04:23 -0300 Thiago Santos * validate/gst/validate/gst-validate-file-check.c: * validate/gst/validate/gst-validate-transcoding.c: * validate/gst/validate/gst-validate.c: tools: improve documentation 2013-08-14 16:30:39 -0300 Thiago Santos * validate/autogen.sh: * validate/configure.ac: * validate/gst/Makefile.am: * validate/gst/qa/.gitignore: * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-bin-monitor.h: * validate/gst/qa/gst-qa-element-monitor.c: * validate/gst/qa/gst-qa-element-monitor.h: * validate/gst/qa/gst-qa-file-checker.h: * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: * validate/gst/qa/gst-qa-override-registry.c: * validate/gst/qa/gst-qa-override.h: * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: * validate/gst/qa/gst-qa-reporter.c: * validate/gst/qa/gst-qa-reporter.h: * validate/gst/qa/gst-qa-runner.h: * validate/gst/qa/gst-qa-scenario.h: * validate/gst/qa/qa.h: * validate/gst/validate/.gitignore: * validate/gst/validate/Makefile.am: * validate/gst/validate/gettext.h: * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-bin-monitor.h: * validate/gst/validate/gst-validate-default-overrides.c: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-element-monitor.h: * validate/gst/validate/gst-validate-file-check.c: * validate/gst/validate/gst-validate-file-checker.c: * validate/gst/validate/gst-validate-file-checker.h: * validate/gst/validate/gst-validate-i18n-lib.h: * validate/gst/validate/gst-validate-monitor-factory.c: * validate/gst/validate/gst-validate-monitor-factory.h: * validate/gst/validate/gst-validate-monitor-preload.c: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-override-registry.h: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-override.h: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/gst-validate-transcoding.c: * validate/gst/validate/gst-validate.c: * validate/gst/validate/validate.h: rename gst-qa -> gst-validate 2013-08-14 15:58:34 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: only do complete caps checks on setcaps On get caps it is acceptable to have missing fields to simplify caps negotiation 2013-08-13 13:40:48 -0300 Thiago Santos * validate/gst/qa/Makefile.am: qa-preload: split to separate lib It should only be used separately, otherwise it will wrap around any pipeline from applications linking with gstqa 2013-08-12 15:18:36 -0300 Thiago Santos * validate/gst/qa/gst-qa-file-check.c: * validate/gst/qa/gst-qa-file-checker.c: * validate/gst/qa/gst-qa-file-checker.h: file-check: add reverse-playback test Adds a test that checks if reverse playback works without errors 2013-08-13 11:07:31 +0200 Edward Hervey * validate/gst/qa/gst-qa-reporter.c: qa-reporter: Make debug message a bit more readable By surrounding it with double quotes 2013-08-13 11:07:05 +0200 Edward Hervey * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: 0.10 uses "channel-positions" field in audio caps And it's an array, not a string 2013-08-13 10:11:42 +0200 Edward Hervey * validate/Makefile.am: * validate/gst/qa/Makefile.am: Makefile: Clean up for make distcheck Directories, headers, files weren't properly disted Also clean up the various CFLAGS/HEADERS/SOURCES variables and remove ones that aren't needed. 2013-08-13 09:44:50 +0200 Edward Hervey * validate/po/Makevars: po: Add missing Makevars file 2013-08-09 12:37:49 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: use correct variable for segment comparisons Use the expected versus the received instead of using the received twice. 2013-08-09 12:33:27 -0300 Thiago Santos * validate/gst/qa/gst-qa-reporter.c: reporter: fix printf format type 2013-08-08 12:35:50 -0300 Thiago Santos * validate/README: * validate/docs/qa-design.txt: * validate/docs/qa-usage.txt: docs: improve and update docs 2013-08-07 17:31:17 -0300 Thiago Santos * validate/gst/qa/gst-qa-bin-monitor.c: * validate/gst/qa/gst-qa-bin-monitor.h: * validate/gst/qa/gst-qa-runner.c: * validate/gst/qa/gst-qa-runner.h: qa-scenario: re add scenarios creation to bin-monitor GstPipelines are monitored by bin monitors. Create scenarios if requested from the bin monitors and store them there. 2013-08-07 16:22:36 -0300 Thiago Santos * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: * validate/gst/qa/gst-qa-reporter.h: qa-monitor: remove reference to the runner qa-monitor implements qa-reporter, and we already have a runner stored there. 2013-08-07 16:13:33 -0300 Thiago Santos * validate/gst/qa/.gitignore: gitignore: ignore more binaries 2013-08-07 16:12:45 -0300 Thiago Santos * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-file-check.c: qa-file-check: add new binary to run file checks easily It creates a GstQaFileChecker and runs it on the passed URI with the tests enabled as arguments 2013-08-07 16:10:57 -0300 Thiago Santos * validate/gst/qa/gst-qa-monitor-preload.c: * validate/gst/qa/gst-qa-runner.c: * validate/gst/qa/gst-qa-runner.h: * validate/gst/qa/gst-qa-scenario.c: * validate/gst/qa/gst-qa-scenario.h: * validate/gst/qa/gst-qa-transcoding.c: * validate/gst/qa/gst-qa.c: * validate/gst/qa/qa.h: qa-runner: simplify runner to not hold refs to monitor/pipeline The GstQaRunner is now a simple aggregator of reports that it receives from monitors and filechecker. This allows it to be used in both scenarios without APIs that expect GstElement or Monitors, that are only used on the pipeline monitoring QA tests. 2013-08-07 11:31:04 -0300 Thiago Santos * validate/gst/qa/gst-qa-file-checker.c: * validate/gst/qa/gst-qa-file-checker.h: * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: * validate/gst/qa/gst-qa-transcoding.c: file-checker: add file playback testing feature Adds a property that triggers the file playback tests on GstQaFileCheker. Also enable it in the gst-transcoding post file checks. The implementation is simple, just create a playbin2 and use fakesinks as sinks, set it to playing and wait for either EOS or ERROR messages. 2013-08-06 19:42:21 -0300 Thiago Santos * validate/gst/qa/gst-qa-reporter.h: qa-reporter: fix typo 2013-08-06 19:39:58 -0300 Thiago Santos * validate/gst/qa/gst-qa-file-checker.c: file-checker: include restriction caps tests when checking for profiles Also move the caps check earlier on the path, to error out sooner and avoid iterating the sub streams without needing 2013-08-06 18:17:39 -0300 Thiago Santos * validate/gst/qa/gst-qa-file-checker.c: file-checker: replace encoding profile comparison Use our own custom comparison to allow to add more fine grained error reporting. Also the encoding profile is_equal function is too strict as it also compares profiles names, that doesn't matter to us. This commit implementation is still initial and needs improvements as it isn't using the restriction caps, which includes information that might not be on the profile format caps. 2013-08-06 10:36:58 -0300 Thiago Santos * validate/gst/qa/gst-qa-reporter.c: qa-reporter: fix crash by avoiding unref an integer 2013-08-06 10:36:47 -0300 Thiago Santos * validate/gst/qa/Makefile.am: makefile: fix build of gst-qa- tools 2013-08-06 10:36:02 -0300 Thiago Santos * validate/gst/qa/gst-qa-file-checker.c: * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: file-checker: add error report and new report types Add a list of new report types and use them in the file-checker. The errors are mostly related to testing file attributes against expected values 2013-08-05 14:16:06 -0300 Thiago Santos * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-file-checker.c: * validate/gst/qa/gst-qa-file-checker.h: * validate/gst/qa/gst-qa-transcoding.c: qa-file-checker: add a file checker object/runner It is an object that is capable to run a few file checks. The implemented tests are: file size, duration, if the file is seekable and comparing the file stream types with a encoding profile 2013-08-01 18:08:44 -0300 Thiago Santos * validate/gst/qa/gst-qa-scenario.c: qa-scenario: adding eos scenario action Allows sending EOS to the pipeline 2013-08-01 09:35:59 -0300 Thiago Santos * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: * validate/gst/qa/gst-qa-scenario.c: qa-scenario: add new scenario action - Pause The pause action instructs the pipeline to go to paused state and then return to playing. It has the argument 'duration', that indicates the duration for which the pipeline will remain in paused 2013-08-01 01:27:20 -0300 Thiago Santos * validate/data/simple_seeks.xml: * validate/gst/qa/gst-qa-scenario.c: qa-scenario: refactor to accomodate more actions Refactor to be able to reuse to add more actions to scenarios. Planned are pauses and encoding changes 2013-07-31 15:01:13 -0300 Thiago Santos * validate/gst/qa/gst-qa-scenario.c: qa-scenario: avoid assertion on dispose After an error, the pipeline might still be null, check before unreffing 2013-07-31 15:00:56 -0300 Thiago Santos * validate/gst/qa/gst-qa-scenario.c: qa-scenario: fix typo on define variable 2013-07-31 15:00:33 -0300 Thiago Santos * validate/gst/qa/gst-qa-report.c: qa-report: fix typo on assertion comparison 2013-07-31 11:12:41 +0100 Vincent Penquerc'h * validate/gst/qa/gst-qa-element-monitor.c: gst-qa-element-monitor: do not bypass monitor factory A pad monitor was created directly. Prefer going through the factory. 2013-07-31 11:05:05 +0100 Vincent Penquerc'h * validate/gst/qa/gst-qa-report.c: gst-qa-reporter: fix use of uninitialized repeat field 2013-07-31 11:04:32 +0100 Vincent Penquerc'h * validate/gst/qa/gst-qa-reporter.c: gst-qa-reporter: fix report leak when discarding repeated report 2013-07-31 10:49:48 +0100 Vincent Penquerc'h * validate/autogen.sh: * validate/configure.ac: * validate/po/POTFILES.in: gst-qa: fix build in po Using a lot of grep and some cargo culting. 2013-07-31 10:07:53 +0100 Vincent Penquerc'h * validate/gst/qa/Makefile.am: gst-qa: make tools depend on libraries This fixes parallel build randomly breaking. 2013-07-30 17:07:13 -0300 Thiago Santos * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: qa-report: expose API for adding custom issues expose gst_qa_issue_register and gst_qa_issue_new to allow applications to register their own custom issues. Issues IDs should use Areas higher than GST_QA_AREA_OTHER for custom areas. And to add more issues to existing areas, the IDs should be higher than GST_QA_ISSUE_ID_CUSTOM_FIRST. Custom issues registering should be done at startup and from the same thread as there is no locking around the issues hashtable 2013-07-30 16:21:15 -0300 Thiago Santos * validate/gst/qa/gst-qa-transcoding.c: * validate/gst/qa/gst-qa.c: Fix typos 2013-07-30 16:20:49 -0300 Thiago Santos * validate/gst/qa/gst-qa-runner.c: * validate/gst/qa/gst-qa-runner.h: * validate/gst/qa/gst-qa-transcoding.c: * validate/gst/qa/gst-qa.c: qa-runner: Remove printing API from qa-runner Replace it with functions to list the reports 2013-07-30 12:17:48 -0400 Vincent Penquerc'h * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: fix NULL format string An empty message should be an empty string. 2013-07-30 10:21:13 -0300 Thiago Santos * validate/gst/qa/gst-qa-monitor-preload.c: * validate/gst/qa/gst-qa-runner.c: * validate/gst/qa/gst-qa-runner.h: * validate/gst/qa/gst-qa-transcoding.c: * validate/gst/qa/gst-qa.c: qa-runner: removing _setup call Do setup on the _new function directly instead of having a separate call for that 2013-07-30 09:56:05 -0300 Thiago Santos * validate/gst/qa/gst-qa-override.c: * validate/gst/qa/gst-qa-override.h: * validate/gst/qa/gst-qa-pad-monitor.c: qa-override: add more pad overrides for buffer probe and caps Add override functions for custom checking of buffer probe and getcaps/setcaps functions. 2013-07-29 17:26:21 -0300 Thiago Santos * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: * validate/gst/qa/gst-qa-override.c: * validate/gst/qa/gst-qa-override.h: * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: call the event/query/buffer overrides Use the new event/buffer/query overrides to allow custom checks on those scenarios 2013-07-29 16:26:52 -0300 Thiago Santos * validate/gst/qa/gst-qa-override.c: * validate/gst/qa/gst-qa-override.h: qa-override: add callbacks for query/buffer/event functions Add callbacks for pad event/buffer/query functions in case the override wants to do additional checks 2013-07-30 10:20:43 +0100 Vincent Penquerc'h * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-default-overrides.c: * validate/gst/qa/gst-qa-override-registry.c: * validate/gst/qa/gst-qa-override-registry.h: * validate/gst/qa/gst-qa-runner.c: gst-qa-override-registry: load overrides dynamically Shared objects listed in GST_QA_OVERRIDE are loaded on startup, and the symbol gst_qa_create_overrides is run. It should create any override needed. While it can do anything it wants, this is discouraged. GST_QA_OVERRIDE should be a comma separated list of shared objects, any relative paths should be from the current working directory at the time they are loaded (ie, if the process to be traced changes cwd, use absolute paths). No attempt whatsoever is made at not running what was not meant. Includes a sample shared object for illustration purposes. 2013-07-29 13:17:50 -0300 Thiago Santos * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: * validate/gst/qa/gst-qa-override-registry.c: * validate/gst/qa/gst-qa-override-registry.h: qa-override-registry: register overrides by gtype and klass Overrides can now be registerd by gtype, meaning that they will be attached to monitors that the target is of the requested type. Also by element klass, that will check that the element has the selected class in its details 2013-07-29 12:01:02 -0300 Thiago Santos * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: qa-monitor: implement intercept_report It is used to iterate over overrides and modify the report level if the overrides wants to do so. Also adds a new mutex only for the overrides to avoid deadlocks when reporting if we used the same lock for iterating the overrides 2013-07-29 11:35:20 -0300 Thiago Santos * validate/gst/qa/gst-qa-reporter.h: qa-reporter: fix copy n paste left over 2013-07-29 11:34:42 -0300 Thiago Santos * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: * validate/gst/qa/gst-qa-reporter.c: * validate/gst/qa/gst-qa-reporter.h: qa-reporter: add function for intercepting reports after report creation, this function is called and implementers can modify the report to their liking before it is posted to the runner 2013-07-29 09:37:46 -0400 Vincent Penquerc'h * validate/gst/qa/gst-qa-monitor.c: qa-monitor: chain gst_qa_monitor_finalize to parent's finalize It was chaining to the parent's dispose. 2013-07-29 10:06:48 -0300 Thiago Santos * validate/gst/qa/gst-qa-report.h: gst-qa-report: put the correct format to avoid compiler warnings 2013-07-29 07:02:30 -0400 Vincent Penquerc'h * validate/gst/qa/Makefile.am: * validate/gst/qa/gettext.h: * validate/gst/qa/gst-qa-i18n-lib.h: * validate/gst/qa/gst-qa-report.c: i18n: copy necessary files in-tree 2013-07-29 07:20:50 -0400 Vincent Penquerc'h * validate/gst/qa/gst-qa-report.h: GstIssueId: make this uintptr_t As it's used a a placeholder pointer for g_hash_table use, it needs to be converted back and forth to a pointer. 2013-07-26 19:05:31 -0300 Thiago Santos * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-bin-monitor.c: * validate/gst/qa/gst-qa-element-monitor.c: * validate/gst/qa/gst-qa-monitor-factory.c: * validate/gst/qa/gst-qa-monitor-factory.h: * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: * validate/gst/qa/gst-qa-override-registry.c: * validate/gst/qa/gst-qa-override-registry.h: * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: * validate/gst/qa/gst-qa-runner.c: * validate/gst/qa/gst-qa-runner.h: gst-qa-override-registry: adding the override-registry This registry should contain the list of GstQaOverride to be used on the pipelines being monitored 2013-07-26 00:14:02 -0300 Thiago Santos * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-override.c: * validate/gst/qa/gst-qa-override.h: qa-override: adds qa-override that can change the report level of issues Useful for customizing the level of issues for particular elements/tests when they are more relevant or have to be disabled 2013-07-25 23:25:22 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: * validate/gst/qa/gst-qa-reporter.c: * validate/gst/qa/gst-qa-reporter.h: * validate/gst/qa/gst-qa-scenario.c: qa-report: splitting a GstQaReport into a GstQaIssue and GstQaReport Reports now point to Issues, that are uniquely identified and have translatable descriptions. This way we are going to be able to uniquely identify the issues and applications can enable/disable checks for specific elements. 2013-07-24 19:09:14 -0400 Thibault Saunier * validate/gst/qa/gst-qa-transcoding.c: * validate/gst/qa/gst-qa.c: qa: Make it possible to set a scenario from the command line in test apps 2013-07-23 10:13:06 -0400 Thibault Saunier * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-reporter.c: * validate/gst/qa/gst-qa-reporter.h: * validate/gst/qa/gst-qa-scenario.c: qa: Properly set reporter's runner reference That was never set, but it is needed for the reporter to properly add reports to the runner. We still keep a reference on the monitor to make things simpler 2013-07-23 08:55:24 -0400 Thibault Saunier * validate/gst/qa/gst-qa-reporter.c: * validate/gst/qa/gst-qa-reporter.h: reporter: Use Gst debugging log in the _report method directly Using __VALIST__ was not properly working + Add a gstqareporter debug category 2013-07-22 19:22:49 -0400 Thibault Saunier * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: * validate/gst/qa/gst-qa-reporter.c: * validate/gst/qa/gst-qa-reporter.h: * validate/gst/qa/gst-qa-runner.c: * validate/gst/qa/gst-qa-scenario.c: * validate/gst/qa/gst-qa-scenario.h: scenario: Implement the GstQaReporter interface and make use of it This way we can report issues from a scenario Also add a Seek aread to the known areas list We now need to pass the runner to the scenario instead of the pipeline as the GstQaReporter interface needs it. 2013-07-22 19:17:53 -0400 Thibault Saunier * validate/data/Makefile.am: * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: * validate/gst/qa/gst-qa-reporter.c: * validate/gst/qa/gst-qa-reporter.h: qa: Add a GstQaReporter interface that objects needing reporting can implement Various type of object should be able to do some reporting, so we have to make sure all the code to do that is in one place. Creating an interface makes it simple to share information and it avoid to have a baseclass for something that is not actually important enough to create a baseclass. Conflicts: gst/qa/gst-qa-pad-monitor.c 2013-07-20 00:18:13 -0400 Thibault Saunier * validate/configure.ac: * validate/data/Makefile.am: * validate/data/simple_seeks.xml: * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-runner.c: * validate/gst/qa/gst-qa-runner.h: * validate/gst/qa/gst-qa-scenario.c: * validate/gst/qa/gst-qa-scenario.h: qa: Add a GstQaScenario class making it possible to execute scenarios A scenario correspond to a suite of action to execute on a pipeline, for the time being, we only support seeking the pipeline, but in the future we can imagine doing some queries, setting pipeline state, etc... The scenario can be loaded thanks to the GST_QA_SCENARIO environment variable, making it usable with any existant application, in case, the application can be used interactively, the user should either, not load any scenario or let the application run without interacting with it. 2013-07-24 16:04:03 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: add lots of locking When handling elements that spawn multiple threads (hardware enc/decoders), the pad monitor has to protect its variables specially because some checks involve iterating over internally linked pads to add/get some data for comparison (expected events, timestamp ranges, caps). Aside from locking its own mutex, the pad monitor can also lock the parent's mutex when it needs to use data from its internally linked pads. The locking order should always be parent and then individual pad-monitor mutexes. This should prevent deadlocks when multiple pad-monitors from the same element start doing checks at the same time from different threads. 2013-07-24 10:05:31 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: remove already solved TODOs 2013-07-24 09:51:05 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: pad-monitor: accept unexpected flow return if pad is eos Track eos event and mark that pad as eos so that checking for the flow return knows when 'unexpected' is acceptable 2013-07-23 15:18:51 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: improve caps proxying check on getcaps Only check if fields are proxied for sink getcaps as it is when downstream restrictions should be proxied. Also improve the fields comparison to handle single value x multi value (list/array/range) contain relations. 2013-07-23 15:10:33 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: improve type conformance checking for caps Replace the macro with a more powerful variadic function that can check for more acceptable types for the same caps. This removes a few more false positives 2013-07-23 12:52:22 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: only expect a new segment if pad is running on push mode For pull mode, it should just provide the buffers, regardless of getting a new segment or not 2013-07-23 12:14:26 -0300 Edward Hervey * validate/gst/qa/gst-qa.c: gst-qa: show help and exit when no arguments are provided Instead of attempting to create empty pipelines and weird things happening :) 2013-07-23 12:11:08 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: fix flushes checking flush events shouldn't fail, so we don't need to rollback when it returns false from downstream (this is common when downstream is still not-linked) and it would cause gst-qa to spit false positives. Also refactor the common event handling for both sink and src event functions into a common place. Currently we handle flushes the same for both pad's directions 2013-07-23 11:51:07 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: only merge caps if they exist Downtream can not be linked, so we shouldn't try to merge NULL caps 2013-07-22 20:50:02 -0300 Thiago Santos * validate/configure.ac: configure: add nano version to enable Werror 2013-07-22 20:09:35 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: fix expected setcaps fields comparison Use the correct structure when getting the GValues and print different messages for missing and different fields on the setcaps caps 2013-07-22 20:09:07 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: improve timestamp ranges comparison message a little Show the buffer range that is being compared. 2013-07-22 15:05:04 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: pad-monitor: add check for serialized events order Store expected serialized events and their 'timestamps' to check if they are pushed in the same order/time as they were received 2013-07-22 09:50:23 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: pad-monitor: add check for setcaps passing audio/video fields Checks that the common audio/video fields are correctly passed downstream after a setcaps 2013-07-19 16:52:45 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-report.h: pad-monitor: add check for getcaps proxying audio/video fields Checks that the common audio/video fields are correctly proxied by the elements after a getcaps 2013-07-19 16:52:11 -0300 Thiago Santos * validate/gst/qa/gst-qa-element-monitor.c: * validate/gst/qa/gst-qa-element-monitor.h: element-monitor: add is_encoder flag Easy access to knowing if the monitored element is an encoder 2013-07-18 16:53:46 -0400 Thibault Saunier * validate/configure.ac: * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-transcoding.c: qa-transcoding: Add a binary program to easily test transcoding 2013-07-18 18:20:09 -0400 Thibault Saunier * validate/gst/qa/gst-qa-bin-monitor.c: * validate/gst/qa/gst-qa-element-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.c: monitor(s): Avoid trying to disconnect handlers on instances that do not exist anymore 2013-07-18 17:49:44 -0400 Thibault Saunier * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: qa-report: Avoid reporting tons of times the exact same issue to users Some of the issue can be reported once and for all. We are here avoiding to flood the user with the same information repeated infinitely. 2013-07-18 13:59:11 -0400 Thibault Saunier * validate/gst/qa/gst-qa-pad-monitor.c: qa-pad-monitor: Do not use gst_private.h 2013-07-19 11:14:39 -0300 Thiago Santos * validate/docs/qa-design.txt: * validate/docs/qa-usage.txt: docs: add design and usage docs 2013-07-19 09:57:07 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: pad-monitor: improve timestamp ranges check Keep the full range stored by the element in the monitor and check if outgoing timestamps are within that range. It is simple and should generally work. 2013-07-18 14:49:23 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: fix combined flow checks We can only check if we found a downstream monitor 2013-07-18 14:49:01 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: fix caps field type checks The type is GstValueList and not GArray 2013-07-18 14:48:46 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: improve report messages with arguments 2013-07-18 12:11:00 -0400 Thibault Saunier * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: qa-report: Pass the whole monitor when creating a report So we have the proper source name already avalaible and in the future we might need some more informations about the monitor itself. 2013-07-18 12:00:29 -0400 Thibault Saunier * validate/gst/qa/gst-qa-pad-monitor.c: qa-pad-monitor: Properly set target_name with as much info as possible 2013-07-18 11:49:54 -0400 Thibault Saunier * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: qa-monitor: Add a target name field that can be used even when the target is freed 2013-07-18 11:49:25 -0400 Thibault Saunier * validate/gst/qa/gst-qa-monitor.c: qa-monitor: Make the reference to the target a weak reference 2013-07-18 12:09:13 -0300 Thiago Santos * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: qa-report: add debug flags for criticals Allows the user to enable program abort if a report is created with a certain level. Use: GST_QA=fatal_criticals,fatal_warnings,fatal_issues 2013-07-18 10:59:11 -0400 Thibault Saunier * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: qa-report: Do not keep a ref to the source but keep its name instead We currently do not need to access the object source after its creation but we need to be able to have a usefull for debugging name. 2013-07-17 20:21:53 -0400 Thibault Saunier * validate/gst/qa/gst-qa-runner.c: qa-runner: Add a 'report-added' signal So it is possible to plug into the runner to get information about what is going from outside of it. 2013-07-17 19:56:52 -0400 Thibault Saunier * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: * validate/gst/qa/gst-qa-runner.c: qa-report: Make it a boxed type And make it refcounted, in 1.0 it should become a GstMiniObject, for now, it is enough that way. The goal is to be able to use it in signals 2013-07-17 19:18:49 -0400 Thibault Saunier * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: qa-monitor: Allow detaill message to be in printf format So we can give proper informations about what is wrong to users 2013-07-17 21:46:37 -0300 Thiago Santos * validate/gst/qa/gst-qa-monitor-preload.c: qa-monitor-preload: fix preload to work with pipeline creation Wrap around the main gstreamer pipeline creation functions as wrapping g_object_new requires rebuilding glib. 2013-07-17 20:40:50 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: fix copy n paste mistake Do not use GstFlowReturn where a boolean is expected 2013-07-17 20:40:38 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: fix initialization of timestamp ranges 2013-07-17 17:57:39 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: pad-monitor: check that returns are combined properly When getting a return from a sink pad, check that it combines properly the current returns from downstream source pads 2013-07-17 14:36:44 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: pad-monitor: verify that pushed segment matches what was received Check that src pads push segments that are compatible with what was received on the sink pads 2013-07-17 11:31:38 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: pad-monitor: output timestamps should be in range of received ones Checks if the timestamps of pushed buffers are in the range of the received buffer timestamps; 2013-07-17 00:33:42 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: add check for out of segment buffers 2013-07-17 00:30:21 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: pad-monitor: track current buffer timestamp and duration This can be used to make sure outgoing buffers match the input timestamps 2013-07-17 00:29:38 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: check for when a flush start isn't expected Complain when an unexpected flush-start is received 2013-07-17 00:29:04 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-report.h: pad-monitor: add checks for raw caps completeness Check audio and video raw caps returned from getcaps for expected fields and types 2013-07-17 00:25:11 -0300 Thiago Santos * validate/gst/qa/gst-qa-monitor.h: qa-monitor: Fix typo in printf format for report debug messages Stringify the arguments correctly for printing 2013-07-16 23:19:13 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: pad-monitor: first buffer checks Check that a newsegment is received before the first buffer and that the first buffer running time is 0 2013-07-16 21:15:09 -0300 Thiago Santos * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: * validate/gst/qa/gst-qa-runner.c: * validate/gst/qa/gst-qa-runner.h: * validate/gst/qa/gst-qa.c: qa-report: rework qa-report API Remove error from GstQaErrorReport, making it only GstQaReport. Add a level and use area and subarea code, with an extra string for message adding details. Provide macros on qa-monitor to make it easy to create reports. 2013-07-16 09:17:44 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: pad-monitor: add stubs for getcaps/setcaps function wrapping 2013-07-16 08:06:27 -0300 Thiago Santos * validate/gst/qa/gst-qa-element-monitor.h: * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: add check for out of segment buffer data 2013-07-15 10:15:06 -0300 Thiago Santos * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: * validate/gst/qa/gst-qa-runner.c: qa-report: use gst_util_get_timestamp for report times Makes it more aligned with GST_DEBUG output 2013-07-15 09:27:34 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: split event checks for src and sink pads Keeping those handlers separate should keep the code smaller and easier to understand 2013-07-12 16:02:25 -0300 Thiago Santos * validate/gst/qa/gst-qa-bin-monitor.c: * validate/gst/qa/gst-qa-bin-monitor.h: * validate/gst/qa/gst-qa-element-monitor.c: * validate/gst/qa/gst-qa-element-monitor.h: * validate/gst/qa/gst-qa-monitor-factory.c: * validate/gst/qa/gst-qa-monitor-factory.h: * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: * validate/gst/qa/gst-qa-runner.c: qa-monitor: add parent relation for monitors This is useful because Pad monitors will have to ask the parent element monitors for some element details for doing checks 2013-07-12 15:42:56 -0300 Thiago Santos * validate/gst/qa/gst-qa-element-monitor.c: * validate/gst/qa/gst-qa-element-monitor.h: qa-element-monitor: check if the element is a decoder This can be used on checks for timestamps being inside segment 2013-07-12 14:18:22 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: pad-monitor: add probes for src pads To be used for further monitoring events and buffers for src pads 2013-07-12 13:32:08 -0300 Thiago Santos * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: qa-report: add a timestamp to error reports 2013-07-12 02:10:06 -0300 Thiago Santos * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-report.c: * validate/gst/qa/gst-qa-report.h: * validate/gst/qa/gst-qa-runner.c: * validate/gst/qa/gst-qa-runner.h: * validate/gst/qa/gst-qa.c: qa-report: adds qa-report for reporting errors to GstQaRunner The errors are printed directly to stdout and are accumulated at GstQaRunner for being printed at the end if requested 2013-07-12 01:23:48 -0300 Thiago Santos * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-monitor-preload.c: qa-monitor-preload: add functions to allow ld-preload to wrap pipelines The preload functions wrap functions that can create pipelines and attaches a runner to them for monitoring 2013-07-12 00:41:43 -0300 Thiago Santos * validate/gst/qa/gst-qa-bin-monitor.c: * validate/gst/qa/gst-qa-bin-monitor.h: * validate/gst/qa/gst-qa-element-monitor.c: * validate/gst/qa/gst-qa-element-monitor.h: * validate/gst/qa/gst-qa-monitor-factory.c: * validate/gst/qa/gst-qa-monitor-factory.h: * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: * validate/gst/qa/gst-qa-runner.c: * validate/gst/qa/gst-qa-runner.h: qa-monitor: add runner property runner stores the GstQaRunner that will receive the error reports from the monitors 2013-07-11 13:43:52 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: pad-monitor: make it able to initialize a segment Do not take the initial format set to TIME too seriously when we haven't got any newsegment event yet. If it is the first segment received, switch our internal segment tracker to the event format 2013-07-11 13:41:25 -0300 Thiago Santos * validate/gst/qa/gst-qa.c: gst-qa: add seek-tests option The seek-tests does a simple seeking after the pipeline has started so that seeking checks can be performed by the monitors 2013-07-11 02:07:41 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: pad-monitor: track some events Segments, upstream seeks and flushes. Adding the following checks: * A flush stop is expected after a flush start * After a seek, the flushes/segment seqnum should be the same as the seek 2013-07-11 00:05:17 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: pad-monitor: only set pad functions if they exist on the pad Some functions should only be set on pads if they were originally set, like the GetRange, Chain and BufferAlloc 2013-07-11 00:04:41 -0300 Thiago Santos * validate/gst/qa/gst-qa-bin-monitor.c: * validate/gst/qa/gst-qa-element-monitor.c: qa-bin-monitor/element-monitor: implement pad/element wrapping Add code that creates new monitors when elements/pads are found in bin and element monitors 2013-07-11 00:03:54 -0300 Thiago Santos * validate/gst/qa/gst-qa-bin-monitor.c: * validate/gst/qa/gst-qa-element-monitor.c: * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.c: qa-monitor: fix various start up issues Fix reference count for monitored object, passing of constructor parameter and base monitor property flag 2013-07-10 18:38:09 -0300 Thiago Santos * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: pad-monitor: instrument to monitor buffer/event/query/alloc flows Replace pad functions with monitor functions that can do pre/post checks and call the original functions 2013-07-10 14:03:49 -0300 Thiago Santos * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-bin-monitor.c: * validate/gst/qa/gst-qa-bin-monitor.h: * validate/gst/qa/gst-qa-element-monitor.c: * validate/gst/qa/gst-qa-element-monitor.h: * validate/gst/qa/gst-qa-monitor-factory.c: * validate/gst/qa/gst-qa-monitor.c: * validate/gst/qa/gst-qa-monitor.h: * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: qa-monitor: add base class for monitors The base class adds a 'object' property to hold the monitored object, it can only be set on construction. Also the constructor now automatically calls the element set up 2013-07-09 19:20:55 -0300 Thiago Santos * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-bin-monitor.c: * validate/gst/qa/gst-qa-bin-monitor.h: * validate/gst/qa/gst-qa-element-monitor.c: * validate/gst/qa/gst-qa-element-monitor.h: * validate/gst/qa/gst-qa-monitor-factory.c: qa-bin-monitor: adds a bin monitor Extends element-monitor to also wrap child elements 2013-07-09 17:38:47 -0300 Thiago Santos * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-element-monitor.c: * validate/gst/qa/gst-qa-element-monitor.h: * validate/gst/qa/gst-qa-element-wrapper.c: * validate/gst/qa/gst-qa-element-wrapper.h: * validate/gst/qa/gst-qa-monitor-factory.c: * validate/gst/qa/gst-qa-monitor-factory.h: * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.h: * validate/gst/qa/gst-qa-pad-wrapper.h: * validate/gst/qa/gst-qa-runner.c: * validate/gst/qa/gst-qa-runner.h: qa: renaming Wrapper -> Monitor 2013-07-09 16:52:02 -0300 Thiago Santos * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-element-wrapper.c: * validate/gst/qa/gst-qa-pad-wrapper.c: * validate/gst/qa/gst-qa-pad-wrapper.h: * validate/gst/qa/gst-qa-runner.c: qa-pad-wrapper: adds stub class for pad QA wrapper Also fixes _new functions to ref the elements intead of ownership transfers 2013-07-09 16:39:38 -0300 Thiago Santos * validate/gst/qa/gst-qa-element-wrapper.c: * validate/gst/qa/gst-qa-element-wrapper.h: qa-element-wrapper: add code for iterating and monitoring pads creation This will be used to create the wrappers for pads 2013-07-09 16:13:00 -0300 Thiago Santos * validate/gst/qa/.gitignore: gitignore: ignore gst-qa binary 2013-07-09 16:08:30 -0300 Thiago Santos * validate/AUTHORS: * validate/COPYING: * validate/ChangeLog: * validate/Makefile.am: * validate/NEWS: * validate/README: * validate/autogen.sh: * validate/configure.ac: * validate/gst/Makefile.am: * validate/gst/qa/Makefile.am: * validate/gst/qa/gst-qa-element-wrapper.c: * validate/gst/qa/gst-qa-element-wrapper.h: * validate/gst/qa/gst-qa-runner.c: * validate/gst/qa/gst-qa-runner.h: * validate/gst/qa/gst-qa-wrapper-factory.c: * validate/gst/qa/gst-qa-wrapper-factory.h: * validate/gst/qa/gst-qa.c: * validate/gst/qa/qa.h: qa: adds gst-qa binary and basic classes to run the QA tests The classes are mostly a stub for now, but the gst-qa already has a minimum to start them; 2013-07-09 16:07:58 -0300 Thiago Santos * common: * validate/.gitmodules: qa: add common submodule