=== release 1.4.0 === 2014-10-20 Thibault Saunier * configure.ac: releasing 1.4.0 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] 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/ges-launch.py: * validate/tools/launcher/apps/geslaunch.py: * validate/tools/launcher/apps/gst-validate.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-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/tools/launcher/apps/validate_default_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/gst/validate/gst-validate-default-overrides.c: * validate/gst/validate/gst-validate-monitor-preload.c: 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/apps/ges-projects-tests.py: * validate/tools/apps/gst-validate.py: * validate/tools/gst-validate-launcher.in: * validate/tools/gst-validate-launcher.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/loggable.py: * validate/tools/launcher/reporters.py: * validate/tools/launcher/utils.py: * validate/tools/loggable.py: * validate/tools/reporters.py: * validate/tools/testdefinitions.py: * validate/tools/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-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-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-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 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 09:51:21 -0400 Olivier Crête * validate/tools/gst-validate.c: gst-validate: Don't use the GOptionContext after freeing it 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-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 * validate/.gitmodules: * validate/autogen.sh: * validate/common: Adapt submodule usage for gst-devtools 2013-09-02 15:42:40 +0200 Edward Hervey * validate/gst/validate/.gitignore: * 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-design.txt: * 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/gst/validate/gst-validate-media-check.c: * validate/gst/validate/gst-validate-transcoding.c: * validate/gst/validate/gst-validate.c: * 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/data/simple_seeks.xml: * 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-file-check.c: * 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.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/gettext.h: * validate/gst/qa/gst-qa-bin-monitor.c: * validate/gst/qa/gst-qa-bin-monitor.h: * validate/gst/qa/gst-qa-default-overrides.c: * validate/gst/qa/gst-qa-element-monitor.c: * validate/gst/qa/gst-qa-element-monitor.h: * validate/gst/qa/gst-qa-file-check.c: * validate/gst/qa/gst-qa-file-checker.c: * validate/gst/qa/gst-qa-file-checker.h: * validate/gst/qa/gst-qa-i18n-lib.h: * validate/gst/qa/gst-qa-monitor-factory.c: * validate/gst/qa/gst-qa-monitor-factory.h: * validate/gst/qa/gst-qa-monitor-preload.c: * 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-override.c: * validate/gst/qa/gst-qa-override.h: * validate/gst/qa/gst-qa-pad-monitor.c: * validate/gst/qa/gst-qa-pad-monitor.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.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: * 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.c: * validate/gst/qa/gst-qa-pad-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: 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 * validate/.gitmodules: qa: add common submodule 2013-07-09 16:06:36 -0300 Thiago Santos * validate/.gitignore: qa: initial empty repository