=== release 1.6.0 === 2015-09-25 Thibault Saunier * configure.ac: releasing 1.6.0 2015-09-16 17:12:17 +0900 eunhae choi * validate/data/scenarios/switch_subtitle_track.scenario: * validate/data/scenarios/switch_subtitle_track_while_paused.scenario: validate: scenarios: set need clock sync for switching subtitle track As soon as the track is changed, the pipeline state is set to NULL by execution 'stop' action even if there is a 'playback-time' with 5sec. If the AV sink is not synchronized, audio fakesink and video fakesink has different position value. When the validate request the position information of pipeline to do 'stop' action, the audio fakesink response of the position query with the bigger value than 5sec. https://bugzilla.gnome.org/show_bug.cgi?id=755101 === release 1.5.90 === 2015-08-20 17:58:36 +0200 Thibault Saunier * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.5.90 2015-08-21 11:09:03 +0200 Thibault Saunier * validate/common: Update common submodule 2015-08-20 16:35:15 +0200 Thibault Saunier * validate/configure.ac: * validate/launcher/config.py.in: validate: Put the GstValidate testsuite version in the launcher config This way testsuite implementation can have the information 2015-08-17 17:20:07 +0200 Sebastian Dröge * validate/tools/gst-validate-transcoding.c: validate/transcoding: Don't override the target state of the scenario when receiving BUFFERING=100% If the scenario handles the states and wants to stay in PAUSED, it's not a good idea to change the state to PLAYING when receiving BUFFERING=100%. This caused a race condition in varios seeking tests, most often in the dash scrub seeking test. 2015-08-17 14:27:33 +0200 Sebastian Dröge * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tools/gst-validate.c: validate: Don't override the target state of the scenario when receiving BUFFERING=100% If the scenario handles the states and wants to stay in PAUSED, it's not a good idea to change the state to PLAYING when receiving BUFFERING=100%. This caused a race condition in varios seeking tests, most often in the dash scrub seeking test. 2015-08-16 17:59:00 +0200 Sebastian Dröge * validate/gst/validate/gst-validate-scenario.c: validate: Fix typo 2015-08-16 17:53:28 +0200 Sebastian Dröge * validate/launcher/apps/gstvalidate.py: validate/launcher: Blacklist some HLS seeking tests again 2015-08-16 08:50:36 -0300 Thiago Santos * validate/launcher/apps/gstvalidate.py: validate/launcher: Un-blacklist validate.dash.playback.reverse_playback.* Fixed now 2015-08-16 12:26:16 +0200 Sebastian Dröge * validate/launcher/apps/gstvalidate.py: validate/launcher: Un-blacklist validate.hls.playback.reverse_playback.* It apparently succeeds now. 2015-08-15 19:07:02 +0200 Sebastian Dröge * validate/launcher/apps/gstvalidate.py: validate/launcher: De-blacklist some HLS tests 2015-08-15 19:04:14 +0200 Sebastian Dröge * validate/launcher/apps/gstvalidate.py: validate/launcher: Blacklist some DASH tests 2015-08-15 16:40:11 +0200 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: launcher: Handle override files for media files And make sure to create a new dict for extra_env_vars when instanciating GstValidateTest 2015-08-15 16:23:02 +0200 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: launcher: Make sure MediaDescriptor is set in the GstValidateTest class itself It is used there but was set in each and every subclasses 2015-08-15 16:19:24 +0200 Sebastian Dröge * validate/launcher/utils.py: validate/launcher: Treat DASH like HLS in another place 2015-08-07 12:51:53 +0900 Vineeth TM * validate/gst/validate/gst-validate-scenario.c: validate: scenario: fix leak during error cases When message_async is not called during error cases, needs_parsing GList is not being freed resulting in leak. Hence free'ing the same in finalize. https://bugzilla.gnome.org/show_bug.cgi?id=753339 2015-07-23 15:51:09 +0900 Vineeth TM * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/media-descriptor-writer.c: validate: descriptor-writer: Handle error when stream info is not available There is no check to see if stream info is available. This leads to assertion error. Adding proper error messages for the same and reported the same as a validate warning message. https://bugzilla.gnome.org/show_bug.cgi?id=752758 2015-07-23 15:08:55 +0900 Vineeth TM * validate/gst/validate/media-descriptor-writer.c: validate: descriptor-writer: Print proper error message when discover fails When discovering the files, there will be different kind of errors. If we print the exact message, then it will be more helpful for user. Especially in the case of missing plugins, displaying which plugin is missing as error message https://bugzilla.gnome.org/show_bug.cgi?id=752758 2015-07-23 13:35:04 +0900 Vineeth TM * validate/gst/validate/gst-validate-override-registry.c: validate:override-registry: fix memory leak mutex is being initialized but not cleared. https://bugzilla.gnome.org/show_bug.cgi?id=752754 2015-07-23 11:08:18 +0900 Vineeth TM * validate/tools/gst-validate-transcoding.c: validate: tools: transcoding error due to wrong condition check when checking the restriction caps, not adding proper check, which results in assertion error when calling gst_caps_from_string https://bugzilla.gnome.org/show_bug.cgi?id=752749 2015-07-23 09:18:46 +0900 Vineeth TM * validate/launcher/main.py: validate:launcher: Fix documentation Fix some trivial spelling mistakes in documentation and document about --update-media-info. https://bugzilla.gnome.org/show_bug.cgi?id=752748 2015-07-22 08:45:26 +0900 Vineeth TM * validate/launcher/baseclasses.py: validate:launcher: escape the characters to remove bad range in regex When media file name consists of some special characters of the format [b-a].mp3, then it fails with 'bad character range' error and exits. call re.escape to escape the characters before using it in findall https://bugzilla.gnome.org/show_bug.cgi?id=752650 2015-08-04 08:35:16 +0900 Vineeth TM * validate/launcher/apps/gstvalidate.py: validate:launcher: improve uri generation for --medias-path When --medias-paths option is being used, right now we have to specify the full path, like /home/user/gst/master/media/ But when inside master directory, would like to specify only media/ and expect it to work. Using os.path.abspath and create uri based on that. This way we can either just pass media/ or pass the full path as parameters. https://bugzilla.gnome.org/show_bug.cgi?id=752518 2015-07-17 16:45:35 +0900 Vineeth TM * validate/launcher/baseclasses.py: validate:launcher: skip setting up test suite for --medias-paths in validate.py, some mixer test generators are being added by default. When passing --media-paths, i would not want to test these. So instead of setting up the validate test suite, just call tester.register_defaults(). https://bugzilla.gnome.org/show_bug.cgi?id=752518 2015-08-04 13:47:24 +0900 Vineeth TM * validate/data/scenarios/reverse_playback.scenario: validate: scenarios: Change start time for reverse playback Right now reverse playback happens till the beginning of the media file. But for files which are longer than 150 seconds, Timeout 'Hard timeout reached: 150 secs' error happens. So we should set the start time within 150 seconds. https://bugzilla.gnome.org/show_bug.cgi?id=753216 2015-08-04 15:21:16 +0200 Thibault Saunier * validate/launcher/main.py: validate: launcher: Add a --force-sync option Which should put the testsuite in a clean state (basically using git reset --hard for git based testsuite for example) 2015-08-04 08:53:17 -0400 Nicolas Dufresne * validate/launcher/apps/gstvalidate.py: validate: Enable flac reverse playback tests This is now supported and works as expected. 2015-07-31 10:50:24 -0400 Nicolas Dufresne * validate/gst/validate/media-descriptor.c: validate: media-descriptor: Workaround file:// stream-id changing file:// base stream-id will vary depending on the file path. As we don't expect everyone to use the same absolute path to place the validate testsuite, the resulting stream-id changes. Because of that, we can't match the stream-id in the recorded file, hence cannot do further check. We work around this by doing what filesink would do, which is compute a SHA256 of the URI which we can use to first validate the ID is prefixed like expected, and decide if we should consider the stream IDs the same or not. https://bugzilla.gnome.org/show_bug.cgi?id=753079 2015-07-31 10:49:00 -0400 Nicolas Dufresne * validate/gst/validate/media-descriptor-parser.c: validate: media-descriptor: Fix reading seekable record Casting the result of g_strmp0 to boolean won't make gboolean value 0 or 1. We need proper 0 and 1 so we can use == comparision. 2015-07-24 15:36:27 +0900 Vineeth TM * validate/gst/validate/media-descriptor.c: * validate/tools/gst-validate-media-check.c: validate: media-descriptor: handle proper return values while comparing the media descriptor with --expected-results, the return values are not being handled properly, which results in wrong comparision https://bugzilla.gnome.org/show_bug.cgi?id=748390 2015-07-30 15:14:13 -0400 Nicolas Dufresne * validate/gst/validate/media-descriptor.c: validate: media-descriptor: Add comment before ignored return value As stated in the bug, this comparison failing is not a critical error, warning is enough. Add a comment so nobody thinks it's a coding error. https://bugzilla.gnome.org/review?bug=748390 2015-07-22 16:32:06 +0900 Vineeth TM * validate/gst/validate/media-descriptor.c: validate: media-descriptor: remove duplicate conditions when comparing tags, two conditions in if an else if are same the correct way is to first check if both are NULL and return. changed the condition accordingly. https://bugzilla.gnome.org/show_bug.cgi?id=748390 2015-07-22 16:07:19 +0900 Vineeth TM * validate/gst/validate/media-descriptor.c: validate: media-descriptor: fix trivial spelling mistakes replace comparse_stream with compare_streams https://bugzilla.gnome.org/show_bug.cgi?id=748390 2015-07-29 16:42:48 +0900 Vineeth TM * validate/tools/gst-validate.c: validate:tools: set locale to all and change argument to FILENAME When file name consists of characters from other languages, say korean, then it throws an error Error initializing: Invalid byte sequence in conversion input Hence setting locale to all to fix this. And changing the media-info argument to type G_OPTION_ARG_FILENAME https://bugzilla.gnome.org/show_bug.cgi?id=752945 2015-07-25 10:54:19 +0200 Thibault Saunier * validate/docs/validate/gst-validate-sections.txt: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Add a method to get action->scenario in a thread safe way API: gst_validate_action_get_scenario 2015-07-24 16:47:57 -0400 Olivier Crête * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate-scenario: Use thread-safe GWeakRef Since _set_done() is meant to be thread safe, it can not be used with g_object_add_weak_pointer(), instead, one must use GWeakRef. But since it is in the API, document that fact and add a couple assertions to make sure it doesn't get broken in the future. 2015-07-24 16:25:38 -0400 Olivier Crête * validate/gst/validate/gst-validate-scenario.c: validate-scenario: Use GLib functions to make sure GMainContext is used 2015-07-24 16:19:46 -0400 Olivier Crête * validate/gst/validate/gst-validate-scenario.c: scenario: Only modify the actions from the main thread The action's content is not protected by a mutex, so only modify it from the main thread. 2015-07-24 17:05:30 -0400 Olivier Crête * .gitignore: * codecanalyzer/.gitignore: * validate/.gitignore: * validate/docs/plugins/.gitignore: gitignore: Add more generated files 2015-07-17 23:42:22 +0900 Vineeth T M * validate/gst/validate/gst-validate-scenario.c: validate-scenario: get duration from media_info if not able to query In case of files, which don't have duration in header, baseparse estimates the duration only after 1.5 seconds. But Async_done event is sent before the duration is estimated, which results in error. If duration query fails, getting the duration from the media-info being passed through --set-media-info. If media-info is also not set, printing an error message and throwing error. https://bugzilla.gnome.org/show_bug.cgi?id=752521 2015-07-20 19:37:41 +0900 Vineeth T M * validate/launcher/apps/gstvalidate.py: validate:launcher: add quotes to the file path When folder name contains space or other special characters, it fails to recognise the same and error is thrown. Adding the path inside to recognise the same https://bugzilla.gnome.org/show_bug.cgi?id=752611 2015-07-20 19:35:34 +0900 Vineeth T M * validate/launcher/utils.py: validate:launcher: unquote the path to remove special characters When getting path from url using, url2path, it is returning special characters (%20 for space etc..), instead of returning plain path. path.unquote replaces the same.. https://bugzilla.gnome.org/show_bug.cgi?id=752611 2015-07-20 17:27:56 +0900 Vineeth TM * validate/tools/gst-validate-media-check.c: validate:launcher: return on error cases properly When folder name contains spaces during --medias-paths, it does not create the media info, but still it shows as passed. Returing failed during this case https://bugzilla.gnome.org/show_bug.cgi?id=752611 2015-07-22 15:20:54 +0900 Vineeth TM * validate/launcher/apps/gstvalidate.py: validate:launcher: handle file path in --medias-paths right now --medias-paths accepts only directories. Added support to accept file path as well. https://bugzilla.gnome.org/show_bug.cgi?id=752692 2015-07-16 20:27:11 +0900 Vineeth T M * validate/launcher/main.py: validate:launcher: skip default media path for --media-paths option when --media-paths is specified, then no need to check the default media. And add Force argument to let testsuite force the inclusion of default media directory. https://bugzilla.gnome.org/show_bug.cgi?id=752461 2015-07-16 13:44:07 +0200 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: validate:ssim: Fix calls to the converters We were mixing them 2015-07-16 10:28:18 +0900 Vineeth T M * validate/launcher/main.py: validate:main.py: trivial document fixes gst-validate-launch is being used instead of gst-validate-launcher in a couple of places. https://bugzilla.gnome.org/show_bug.cgi?id=752455 2015-07-14 20:31:59 +0200 Thibault Saunier * validate/plugins/gtk/gstvalidategtk.c: validate:gtk: Handle the case were we are 'pressing' only a modifier 2015-07-14 18:28:18 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: don't store the full description struct Summary: When running valgrind we'll have 2 scenarios loaded (the normal one and "setup_sink_props_max_lateness.scenario"). The loading code shouldn't assume which one will contain the description it actually care about and so just look for the fields it actually needs. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D199 2015-07-14 18:16:40 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Report EVENT_SEEK_NOT_HANDLED as reported error on error 2015-07-13 13:10:15 +0200 Thibault Saunier * validate/docs/validate/envvariables.xml: validate: Document the GST_VALIDATE_CONFIG environment variable 2015-07-13 13:05:41 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Implement a config to set the interval between action calls Allowing users to decide the time between which the action should be executed. In some cases executing on idle might lead to action not being executed fast enough so the user might want to force an interval in that case. 2015-06-24 17:43:53 +0200 Thibault Saunier * validate/configure.ac: Back to development === release 1.5.2 === 2015-06-24 17:42:16 +0200 Thibault Saunier * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/gst-validate.doap: Release 1.5.2 2015-06-24 16:06:06 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Reset seeked_in_paused when wrong position detected + Lower some debug output to LOG 2015-06-18 11:09:26 +0200 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: * validate/plugins/ssim/gstvalidatessim.c: * validate/tools/gst-validate-images-check.c: validate:ssim: Inform about min average and min minimum similarities 2015-06-14 22:44:26 +0100 Tim-Philipp Müller * validate/gst/validate/media-descriptor-writer.c: * validate/tools/gst-validate-media-check.c: validate: spelling fixes analize != analyze 2015-05-29 16:45:25 +0900 Wonchul Lee * validate/tools/gst-validate-media-check.c: validate: media-check: add newline to end of print statements https://bugzilla.gnome.org/show_bug.cgi?id=750089 2015-06-09 09:10:42 +0900 Wonchul Lee * validate/tools/gst-validate-media-check.c: validate: media-check: fix double unref in error code path Writer would get unrefed twice when it could not parse the file. https://bugzilla.gnome.org/show_bug.cgi?id=750606 2015-06-13 19:25:17 +0100 Tim-Philipp Müller * validate/tools/Makefile.am: validate: tools: fix build /usr/bin/ld: gst-validate-images-check.o: undefined reference to symbol 'gst_init' /home/tpm/gst/glib-master/gstreamer/gst/.libs/libgstreamer-1.0.so.0: error adding symbols: DSO missing from command line 2015-06-12 12:10:55 +0200 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: * validate/plugins/ssim/gstvalidatessim.c: validate:ssim: Make position reporting parseable by the launcher 2015-06-12 11:00:54 +0200 Thibault Saunier * validate/plugins/ssim/gstvalidatessim.c: validate:ssim: Print better information about execution 2015-06-12 10:59:28 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: validate: print REPORTER->name when passed as source in validate_printf 2015-06-12 11:17:43 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Avoid printing twice env variables When printing test command. 2015-06-09 10:52:21 +0200 Thibault Saunier * validate/tools/Makefile.am: validate:tools: Cleanup Makefile.am Removing useless CFLAGS and LIBS 2015-06-09 11:14:58 +0900 Wonchul Lee * validate/gst/validate/media-descriptor-writer.c: validate:media-descriptor-writer: cleanup get tag code https://bugzilla.gnome.org/show_bug.cgi?id=750609 2015-06-08 18:48:30 +0200 Thibault Saunier * validate/gst/validate/gst-validate-override.h: validate: Do not define GstValidateOverride type twice 2015-06-08 18:20:33 +0200 Thibault Saunier * validate/Makefile.am: * validate/data/Makefile.am: * validate/docs/plugins/Makefile.am: * validate/docs/plugins/gst-validate-plugins-overrides.txt: * validate/tools/Makefile.am: * validate/tools/gst-validate-images-check.c: validate: Fix make distcheck 2015-06-08 17:11:51 +0200 Thibault Saunier * validate/configure.ac: * validate/docs/Makefile.am: * validate/docs/plugins/Makefile.am: * validate/docs/plugins/gst-validate-plugins-docs.sgml: * validate/docs/plugins/gst-validate-plugins-sections.txt: * validate/docs/plugins/gst-validate-plugins.sgml: * validate/docs/plugins/gst-validate-plugins.types: * validate/docs/version.entities: * validate/docs/version.entities.in: * validate/plugins/Makefile.am: validate: Generate documentation for Validate plugins Summary: Depends on D215 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D216 2015-06-08 17:10:50 +0200 Thibault Saunier * validate/Makefile.am: * validate/configure.ac: * validate/plugins/ssim/Makefile.am: * validate/plugins/ssim/gstvalidatessim.c: validate: Add a validate ssim plugin Summary: + Bump gst-video dependency to 1.4 as we need GstVideoConvert Depends on D213: validate: Mark gst_validate_report a G_GNUC_PRINTF Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D215 2015-06-03 12:43:52 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/media-descriptor.c: validate: Mark gst_validate_report a G_GNUC_PRINTF Summary: And fix the issue it raised Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D213 Depends on D211 2015-05-25 13:41:04 +0200 Thibault Saunier * validate/Makefile.am: * validate/configure.ac: * validate/gst-libs/Makefile.am: * validate/gst-libs/gst/Makefile.am: * validate/gst-libs/gst/video/Makefile.am: * validate/gst-libs/gst/video/gssim.c: * validate/gst-libs/gst/video/gssim.h: * validate/gst-libs/gst/video/gstvalidatessim.c: * validate/gst-libs/gst/video/gstvalidatessim.h: * validate/tools/.gitignore: * validate/tools/Makefile.am: * validate/tools/gst-validate-images-check.c: validate: Add a gst-validate-images-check tool Summary: That is a new tool that uses ssim algorithm to compare images + Add a GstValidateVideo internal library adding an helper Gssim class Depends on D210 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D211 2015-05-27 19:35:15 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: validate:utils: Add a utility to get a GstClockTime from a structure Summary: Properly handling the different types that can represent ClockTime Make use of it in gst_validate_action_get_clocktime API: gst_validate_utils_get_clocktime Depends on D209 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D210 2015-05-26 18:45:45 +0200 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/validate.c: validate: Properly clear the overrides registry on deinit Summary: Depends on D208 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D209 2015-05-26 13:58:15 +0200 Thibault Saunier * validate/gst/validate/validate.c: * validate/gst/validate/validate.h: validate: Add a way to check whether Validate is initialized Summary: API: gst_validate_is_initialized Depends on D207 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D208 2015-05-26 15:57:29 +0200 Thibault Saunier * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-override.h: validate:override: Add a vmethod to check whether a monitor can attach it Summary: Depends on D206 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D207 2015-05-26 12:04:02 +0200 Thibault Saunier * validate/gst/validate/gst-validate-override-registry.c: validate:override-registry: Make use of gst_validate_element_has_klass Summary: + Fix a minor mixup bug between klass_overrides and name_overrides Depends on D205 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D206 2015-05-26 12:03:25 +0200 Thibault Saunier * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-override.c: * validate/gst/validate/gst-validate-override.h: * validate/gst/validate/gst-validate-reporter.c: validate:override: Make overrides GObjects Summary: This way we can subclass them getting a proper context in the various override methods. Depends on D204 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D205 2015-05-25 18:52:34 +0200 Thibault Saunier * validate/Makefile.am: * validate/configure.ac: * validate/gst/Makefile.am: * validate/gst/plugins/Makefile.am: * validate/gst/plugins/fault_injection/Makefile.am: * validate/gst/plugins/fault_injection/socket_interposer.c: * validate/gst/plugins/gapplication/Makefile.am: * validate/gst/plugins/gapplication/gstvalidategapplication.c: * validate/gst/plugins/gtk/Makefile.am: * validate/gst/plugins/gtk/gstvalidategtk.c: * validate/plugins/Makefile.am: * validate/plugins/fault_injection/Makefile.am: * validate/plugins/fault_injection/socket_interposer.c: * validate/plugins/gapplication/Makefile.am: * validate/plugins/gapplication/gstvalidategapplication.c: * validate/plugins/gtk/Makefile.am: * validate/plugins/gtk/gstvalidategtk.c: validate: Move plugins to the toplevel directory Summary: Otherwise we end up with circular / complicated dependencies between Validate, its libraries, and the plugins Depends on D203 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D204 2015-05-27 16:41:00 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Round up computed ClockTime values Otherwise we end up with rounding error and instead of seeking to 0.1 we seek to 0.09999999999 for example Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D203 2015-05-27 13:18:33 +0200 Thibault Saunier * validate/gst/preload/gst-validate-monitor-preload.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate:runner: Add a method to force exiting the runner This method is similar to runner_printf() but can be used only once. The user needs to make sure all the pipeline are in NULL state when this is called. The method emits a "STOPPING" signal and at that point overrides or monitors should do extra processing/checks if needed. + Make use of it everywhere where it makes sense. API: gst_validate_runner_exit GstValidateRunner::stopping signal 2015-06-02 20:25:56 -0400 Olivier Crête * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-pipeline-monitor.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tests/check/validate/padmonitor.c: pad-monitor: Check that an ERROR GstMessage has been posted on GST_FLOW_ERROR Summary: Before returning GST_FLOW_ERROR, an element must post an ERROR GstMessage, enforce that. Reviewers: thiblahute, Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D201 2015-06-03 11:49:58 +0100 Luis de Bethencourt * validate/gst/validate/media-descriptor-writer.c: validate: remove unused assignment Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D202 2015-06-02 16:46:15 -0400 Olivier Crête * validate/gst/validate/gst-validate-utils.c: Revert "validate-utils: simplify _read_builtin ()" This breaks the fast_forward scenario parsing. This reverts commit 0cfff156b1d7013174652cdd25d3ad3f0571813e. 2015-05-29 17:40:26 +0100 Luis de Bethencourt * validate/gst/validate/gst-validate-utils.c: validate-utils: clean error handling in _file_get_lines () 2015-05-29 16:29:44 +0100 Luis de Bethencourt * validate/gst/validate/gst-validate-utils.c: validate-utils: simplify _read_builtin () 2015-05-29 15:40:04 +0100 Vineeth T M * validate/gst/validate/gst-validate-utils.c: validate-utils: sqrt(-1.0) leads to undefined result Using sqrt of -1 is not valid and leads to undefined results. When comparing the return value of the fucntion in validate-scenario, it is being checked with ret == -1, so it makes sense to just return -1 in error case. https://bugzilla.gnome.org/show_bug.cgi?id=748389 2015-05-20 13:57:55 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Make sure to actually test position to execute actions 2015-05-15 14:45:04 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: add valgrind ignore supps for theora encoder Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D181 2015-05-15 14:26:35 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: add more H264 valgrind supp rules Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D180 2015-05-15 12:57:49 +0200 Thibault Saunier * validate/gst/plugins/gtk/gstvalidategtk.c: validate:gtk: Use event->type directly gdk_event_get_event_type was introduced in Gtk 3.10 only https://bugzilla.gnome.org/show_bug.cgi?id=749421 2015-05-14 17:43:40 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: extra_env_variables is a dictionnary 2015-05-13 15:30:23 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Always set the protocol when creating a GstValidateMediaDescriptor Summary: Depends on D174 Reviewers: Mathieu_Du, gdesmott Differential Revision: http://phabricator.freedesktop.org/D175 2015-05-13 15:29:43 +0200 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Allow passing extra env variables to the tests Summary: Depends on D173 Reviewers: Mathieu_Du, gdesmott Differential Revision: http://phabricator.freedesktop.org/D174 2015-05-13 15:27:08 +0200 Thibault Saunier * validate/gst/validate/gst-validate-override-registry.c: validate: overrides: Allow using regex for named overrides Summary: And minor fixes Depends on D172 Reviewers: Mathieu_Du, gdesmott Differential Revision: http://phabricator.freedesktop.org/D173 2015-05-13 12:18:18 +0200 Thibault Saunier * validate/gst/plugins/gapplication/gstvalidategapplication.c: * validate/gst/plugins/gtk/gstvalidategtk.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Handle action execution after pipeline destruction Summary: It is possible to keep executing actions after the pipeline has been destroyed. API: GST_VALIDATE_ACTION_TYPE_DOESNT_NEED_PIPELINE Depends on D171 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D172 2015-05-13 12:16:57 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Add a macro to get ActionType from an Action Summary: Depends on D170 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D171 2015-05-13 12:13:17 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Factor out code to check position Summary: Making simpler to follow the execute_next_action function. Depends on D169 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D170 2015-05-13 11:27:25 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate:pipeline-monitor: Stop printing position when not possible Summary: If from anything >= PAUSED to anything <= READY we can not query pipeline position, so do not try to. Depends on D168 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D169 2015-05-13 11:20:42 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Rename 'get_position_id' to 'execute_actions_source_id' Summary: Depends on D167 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D168 2015-05-12 12:07:13 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Do not unref twice the same list Summary: Depends on D166 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D167 2015-05-12 10:58:19 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Add a way to specify the pipeline on which a scenario applies Summary: From within the scenario itself. Depends on D165 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D166 2015-05-12 12:04:52 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Avoid depending on Gst 1.4 Summary: Depends on D117 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D165 2015-04-21 15:29:15 +0200 Thibault Saunier * validate/configure.ac: * validate/gst/plugins/Makefile.am: * validate/gst/plugins/gtk/Makefile.am: * validate/gst/plugins/gtk/gstvalidategtk.c: validate: Add a gtk plugins that implements action types relative to Gtk Summary: Currently the only supported action is gtk-put-event allowing press and release keyboard keys. Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D117 2015-05-12 09:55:58 +0200 Thibault Saunier * validate/autogen.sh: validate: Always git submodule update from the toplevel directory Otherwise it fails with older git versions 2015-05-09 16:28:20 +0200 Emanuele Aina * validate/docs/validate/Makefile.am: * validate/docs/validate/command-line-tools.xml: * validate/docs/validate/envvariables.xml: * validate/docs/validate/gst-validate-docs.sgml: * validate/docs/validate/gst-validate-launcher.xml: * validate/docs/validate/gst-validate-media-check.xml: * validate/docs/validate/gst-validate-transcoding.xml: * validate/docs/validate/gst-validate.xml: * validate/docs/validate/scenarios.xml: validate: Reshape documentation Fix some errors, use more Docbook tags and split each command reference in its own file. https://bugzilla.gnome.org/show_bug.cgi?id=749162 2015-05-09 16:23:06 +0200 Emanuele Aina * validate/autogen.sh: validate: Go back to the validate dir after submodule init https://bugzilla.gnome.org/show_bug.cgi?id=749162 2015-05-11 17:08:37 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: ignore x264 valgrind errors Summary: The x264 code is pretty hardcore so I just opened a bug for now. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D164 2015-05-08 16:33:50 +0200 Guillaume Desmottes * validate/data/Makefile.am: * validate/data/valgrind.config: * validate/gst/validate/gst-validate-element-monitor.c: * validate/launcher/baseclasses.py: validate: disable QOS features when running with valgrind Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D156 2015-05-11 14:24:32 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: validate: move element_has_klass() to utils Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D163 2015-05-11 12:22:25 +0200 Guillaume Desmottes * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate: rename get_valgrind_suppression_file() Summary: This function is actually not specific to valgrind so we can make it more generic. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D162 2015-05-11 12:01:56 +0200 Guillaume Desmottes * validate/gst/validate/validate.c: validate: allow to pass more than one file to GST_VALIDATE_CONFIG Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D161 2015-05-11 11:47:47 +0200 Guillaume Desmottes * validate/gst/validate/validate.c: validate: gst_validate_plugin_get_config() return 'core' conf if plugin is NULL Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D160 2015-05-11 13:54:15 +0200 Guillaume Desmottes * validate/gst/validate/validate.c: * validate/gst/validate/validate.h: * validate/tests/check/validate/monitoring.c: * validate/tests/check/validate/overrides.c: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/reporting.c: * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: add gst_validate_deinit() Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D159 2015-05-11 14:25:49 +0200 Guillaume Desmottes * validate/gst/validate/validate.c: validate: don't leak not maching config structures Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D158 2015-05-11 11:08:36 +0200 Guillaume Desmottes * validate/gst/validate/validate.c: validate: factor out create_config() Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D157 2015-05-08 16:28:11 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: display debug info when stopping because EOS Summary: Useful to know if we are executing the 'stop' command provided by the scenario or not. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D155 2015-05-11 19:40:49 +0200 Thibault Saunier * .gitignore: Update .gitignore 2015-05-07 11:19:57 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-pad-monitor.c: validate: unref last_caps when destroying pad monitor Reviewers: thiblahute Reviewed By: thiblahute Differential Revision: http://phabricator.freedesktop.org/D150 2015-05-05 15:59:18 +0200 Guillaume Desmottes * validate/data/scenarios/reverse_playback.scenario: validate: fix typo in reverse_playback.scenario Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D148 2015-05-05 12:46:38 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: initialize position Summary: Fix invalid read when executing without having the actual position. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D147 2015-05-05 09:32:53 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: be less specific when ignoring the pixman tls leak Summary: I hit the same big in a slightly different code path. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D146 2015-05-04 14:22:00 +0200 Guillaume Desmottes * validate/.gitignore: * validate/tools/.gitignore: update gitignore Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D145 2015-04-30 17:39:55 +0200 Guillaume Desmottes * validate/data/scenarios/setup_sink_props_max_lateness.scenario: * validate/launcher/baseclasses.py: use the setup_sink_props_max_lateness config scenario with valgrind Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D141 2015-04-30 17:22:19 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: add 'target-element-klass' property on set-property action Summary: This allows us to set a property on all the elements of the pipeline matching a specific klass name. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D140 2015-05-01 16:39:04 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: add 'optional' action keyword Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D139 2015-04-30 15:39:23 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: scenario: call _element_added_cb() on existing children Summary: We want to have a chance to set property on all the elements of the pipelines, including the existing children when the element is added. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D138 2015-04-29 14:12:01 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: * validate/launcher/httpserver.py: * validate/launcher/vfb_server.py: Fix 'stoped' typo Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D137 2015-04-27 15:57:13 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: add vg suppression for libdrm bug Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D134 2015-04-27 15:14:10 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: ignore invalid read from libav aac decoding Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D133 2015-04-27 14:48:54 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: ignore libvpx valgrind errors Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D132 2015-04-27 14:04:05 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate: display the URL of ignored Valgrind bugs Summary: We don't want to forget about those so best to remind it when starting tests as we do with blacklisted tests. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D131 2015-04-27 13:25:44 +0200 Guillaume Desmottes * validate/launcher/baseclasses.py: * validate/launcher/utils.py: validate: move look_for_file_in_source_dir and get_valgrind_suppression_file to utils Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D130 2015-04-30 23:57:09 +0200 Thibault Saunier * validate/autogen.sh: validate: Make sure to run submodule init from the root dir 2015-04-29 13:22:11 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Fix 'duration' property of the pause action We preparse it into and set it as GstClockTime in the structures so make sure to use them as such. 2015-04-28 16:44:42 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Concider unset MediaDescriptor duration has 'infinite' 2015-04-22 11:38:56 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: ignore a pixman leak which is fixed in master http://phabricator.freedesktop.org/D128 2015-04-21 15:57:57 +0200 Guillaume Desmottes * validate/data/gstvalidate.supp: validate: use a bigger hammer to ignore mesa related leaks Looks like some tests are hitting a slightly different code path in udev but the root bug is the same. http://phabricator.freedesktop.org/D128 2015-04-23 12:33:26 +0100 Tim-Philipp Müller * codecanalyzer/src/codecanalyzer.c: codecanalyzer: minor style fix 2015-04-23 15:53:12 +0900 Vineeth T M * codecanalyzer/src/codecanalyzer.c: codecanalyzer: don't try to free uninitialized pointers xml_files_path and hex_files_path variable are not initialized. There are chances that corruption happens when uninitialized variables are freed, so init them to NULL before use. https://bugzilla.gnome.org/show_bug.cgi?id=748351 2015-04-23 12:23:24 +0100 Tim-Philipp Müller * codecanalyzer/src/codecanalyzer.c: codecanalyzer: run gst-indent on code 2015-04-23 11:44:24 +0200 Thibault Saunier * validate/autogen.sh: * validate/gst-validate.doap: * validate/po/Makevars: validate: Update autogen.sh And add a gst-validate.doap file. 2015-04-23 11:24:14 +0200 Thibault Saunier * validate/common: Update common submodule 2015-04-21 11:00:58 +0200 Guillaume Desmottes * validate/launcher/baseclasses.py: * validate/tools/Makefile.am: validate: use -debug versions of bins when running from source Summary: Those versions are using rpath instead of libtool's wrappers and so will be faster to start and won't confuse valgrind. Reviewers: thiblahute Differential Revision: http://phabricator.freedesktop.org/D116 2015-04-20 15:24:46 +0200 Guillaume Desmottes * validate/configure.ac: * validate/data/Makefile.am: * validate/data/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/change_state_intensive.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/scenarios/Makefile.am: * validate/data/scenarios/adaptive_video_framerate.scenario: * validate/data/scenarios/adaptive_video_framerate_size.scenario: * validate/data/scenarios/adaptive_video_size.scenario: * validate/data/scenarios/alternate_fast_backward_forward.scenario: * validate/data/scenarios/camerabin_signal.scenario: * validate/data/scenarios/change_state_intensive.scenario: * validate/data/scenarios/disable_subtitle_track_while_paused.scenario: * validate/data/scenarios/fast_backward.scenario: * validate/data/scenarios/fast_forward.scenario: * validate/data/scenarios/force_key_unit.scenario: * validate/data/scenarios/pause_resume.scenario: * validate/data/scenarios/play_15s.scenario: * validate/data/scenarios/reverse_playback.scenario: * validate/data/scenarios/scrub_backward_seeking.scenario: * validate/data/scenarios/scrub_backward_seeking_full.scenario: * validate/data/scenarios/scrub_forward_seeking.scenario: * validate/data/scenarios/scrub_forward_seeking_full.scenario: * validate/data/scenarios/seek_backward.scenario: * validate/data/scenarios/seek_forward.scenario: * validate/data/scenarios/seek_forward_backward.scenario: * validate/data/scenarios/seek_with_stop.scenario: * validate/data/scenarios/simple_seeks.scenario: * validate/data/scenarios/switch_audio_track.scenario: * validate/data/scenarios/switch_audio_track_while_paused.scenario: * validate/data/scenarios/switch_set_external_subtitle.scenario: * validate/data/scenarios/switch_subtitle_track.scenario: * validate/data/scenarios/switch_subtitle_track_while_paused.scenario: * validate/data/scenarios/update_start.scenario: * validate/data/scenarios/update_stop.scenario: * validate/data/scrub_backward_seeking.scenario: * validate/data/scrub_backward_seeking_full.scenario: * validate/data/scrub_forward_seeking.scenario: * validate/data/scrub_forward_seeking_full.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_set_external_subtitle.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/gst/validate/gst-validate-scenario.c: move scenarios to data/scenarios Differential Revision: http://phabricator.freedesktop.org/D115 2015-04-20 10:53:29 +0200 Guillaume Desmottes * validate/Makefile.am: * validate/data/gstvalidate.supp: * validate/launcher/baseclasses.py: validate: add gstvalidate.supp valgrind suppression file Differential Revision: http://phabricator.freedesktop.org/D115 2015-04-13 13:55:56 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: scenario: fix structure and action leak 2015-04-10 11:28:34 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: validate: report: fix GString leak when early returning 2015-04-19 11:57:36 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate:pipelinemonitor: Print position only when in state >= PAUSED Reviewers: Mathieu_Du Reviewed By: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D86 2015-04-19 11:56:29 +0200 Thibault Saunier * validate/launcher/vfb_server.py: validate:launcher: Use full HD screen as default screen size in xvfb 2015-04-17 20:37:21 +0200 Thibault Saunier * validate/launcher/Makefile.am: * validate/launcher/main.py: * validate/launcher/vfb_server.py: validate:launcher: Add a way to run tests without displaying the output Summary: Adding a --no-display option and running Xvfb virtual frame buffer X server. Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D105 2015-04-17 19:56:17 +0200 Thibault Saunier * validate/launcher/main.py: validate:launcher: Error out if valgrind is not available on the system Summary: When the user wants to use valgrind, make sure it is present on the system before doing anything Reviewers: gdesmott Differential Revision: http://phabricator.freedesktop.org/D104 2015-04-17 19:28:19 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Stop scenario execution on stop action And document it properly. Summary: The stop action was defined as "setting state to NULL" but its actual goal is to stop the execution of the scenario. Make sure that the scenario will not try to execute other actions when that one has been executed. Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D103 2015-04-16 13:40:08 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor.c: validate: Gracefully handle absence of TAG on streams Summary: And do not segfault when it happens! Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D99 2015-04-16 12:02:11 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Pass GST_VALIDATE_SCENARIO to the subprocess env only Summary: And make sure to remove it from the env if the user has it in its main environment. Without that commit we ended up passing scenarios from previous tests to the following ones where None were specified. Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D98 2015-03-31 15:10:11 +0200 Guillaume Desmottes * validate/gst/validate/media-descriptor-writer.c: validate: don't pass NULL to gst_caps_copy() 2015-03-31 14:54:28 +0200 Guillaume Desmottes * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor-writer.h: * validate/tools/gst-validate-media-check.c: validate: use GstMediaDescriptorWriter as log handler Allow us to catch warnings when running gst-validate-media-check-1.0. 2015-03-31 09:59:58 +0200 Guillaume Desmottes * validate/gst/validate/media-descriptor-writer.c: validate: media-descriptor-writer: fix string leaks 2015-04-15 14:02:32 +0900 Young Han Lee * validate/tools/gst-validate-launcher.in: validate:launcher: Handle git error properly 'OSError' exception is emitted but not handled properly when git is not installed on running system. https://bugzilla.gnome.org/show_bug.cgi?id=747892 2015-04-14 12:31:32 +0200 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: set GST_GL_XINITTHREADS This ensure that XInitThreads is called and so gl contexts are properly initialized. https://bugzilla.gnome.org/show_bug.cgi?id=747840 Signed-off-by: Guillaume Desmottes 2015-04-10 18:19:40 +0200 Thibault Saunier * validate/launcher/main.py: validate:launcher: Make validate the only default testsuite Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D93 2015-04-10 18:11:09 +0200 Thibault Saunier * validate/launcher/main.py: validate:launcher: Let the responsibility to update asset to the testsuite Summary: It makes it easier to make sure that the assets needed for a specific testsuite are available when needed Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D92 2015-04-10 13:29:47 +0200 Thibault Saunier * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate:tools: EOS handling is the responsibility of the scenario Summary: If any scenario set Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D90 2015-02-13 18:34:04 +0100 Ramiro Polla * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Add support for waiting on signals and messages Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D88 2015-03-06 11:55:09 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Report disabling plugin issues Summary: + typedef GstValidateActionReturn so it can be used in the introspection + Add GST_VALIDATE_EXECUTE_ACTION_ERROR_REPORTED which should be used to tell Validate that something wrong happened so the sub action won't be executed, but that it should not report an error itself as it has already been handled in the action function. Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D81 2015-03-06 11:51:19 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Allow execution of disable-plugin as a config action Summary: And fix a bug where config actions were added to the list of action even if they had already been executed Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D80 2015-03-03 09:16:20 +0000 Thibault Saunier * validate/data/seek_forward_backward.scenario: validate:scenarios: Set seek_forward_backward min-media-duration=45 Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D79 2015-02-27 23:20:43 +0000 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Set more env variable in the launcher command desc Summary: Adding if present: * LD_PRELOAD * DISPLAY * GST_VALIDATE_CONFIG * GST_VALIDATE_OVERRIDE + enhance the add_env_variable method to more easily set envvar from current value Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D78 2015-03-02 11:03:08 +0100 Thibault Saunier * validate/gst/plugins/gapplication/gstvalidategapplication.c: * validate/gst/validate/validate.c: * validate/gst/validate/validate.h: validate: Add a method to easily get plugin configuration Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D77 2015-02-26 13:11:51 +0100 Thibault Saunier * validate/configure.ac: * validate/gst/plugins/Makefile.am: * validate/gst/plugins/gapplication/Makefile.am: * validate/gst/plugins/gapplication/gstvalidategapplication.c: validate:plugins: Add support to all GApplication as a test apps Summary: Add a very simple plugin that will allow any GApplication to easily be used with GstValidate using the LD_PRELOAD feature Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D75 2015-01-17 22:21:16 +0100 Mathieu Duponchelle * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: validate: let structs_from_filename be exported. Summary: It is useful for plugins too Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D74 2015-03-03 15:42:06 +0100 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Update Action.repeat field when needed Summary: And print the current repeat value of the action that have such a field Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D73 2015-02-26 15:21:01 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Alway execute a 'quit' action on EOS Summary: Making scenario more usable with LD_PRELOAD Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D72 2015-02-27 22:39:42 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Set the main action structure in fill_structure Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D71 2015-02-27 13:18:04 +0000 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Use GST_VALIDATE_SCENARIO envvar to set scenarios Summary: Instead of concidering all apps will have a --set-scenario argument which is not going to be the case as soon as we run the tests through LD_PRELOAD Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D70 2015-02-27 13:16:01 +0000 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Move get_current_position from GstValidatePipelineTest to GstValidateTest This is where it belongs Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D69 2015-04-08 14:13:11 +0900 Wonchul Lee * validate/docs/validate/scenarios.xml: validate: fix typo in scenario file format docs https://bugzilla.gnome.org/show_bug.cgi?id=747487 2015-03-30 16:47:28 +0200 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: scenario: fix caps leak 2015-03-30 16:46:12 +0200 Guillaume Desmottes * validate/gst/validate/media-descriptor.c: validate: media-descriptor: fix filenode->caps leak 2015-03-27 16:00:50 +0100 Guillaume Desmottes * validate/tools/gst-validate-transcoding.c: validate: transcoding: don't create a second mainloop 2015-03-27 16:00:19 +0100 Guillaume Desmottes * validate/tools/gst-validate-transcoding.c: validate: transcoding: don't leak the requested sinkpad from decodebin 2015-03-27 15:59:42 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-pad-monitor.c: validate: pad-monitor: fix caps leak Don't create othercaps when early returning. 2015-03-27 12:16:03 +0100 Guillaume Desmottes * validate/launcher/apps/gstvalidate.py: validate: GstValidateMediaCheckTest should inherit from GstValidateTest 2015-03-31 09:20:05 +0900 Young Han Lee * validate/launcher/Makefile.am: validate:launcher: Install config.py for non-development mode Running installed gst-validate-launcher aborted with the following error. File "lib/gst-validate-launcher/python/launcher/baseclasses.py", line 28, in import config ImportError: No module named config This is because config.py is added but not installed in ba6d209b3fd062f4e6bd889f81f1213cc12339ec. https://bugzilla.gnome.org/show_bug.cgi?id=747087 2015-03-29 11:13:01 +0900 Young Han Lee * validate/launcher/baseclasses.py: validate:launcher: Show timeout seconds for timeout result message Current timeout message doesn't show how many seconds a test took and it is timeouted by normal timeout or hard timeout. This patch changes the message like following. 1. normal timeout old : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Application timed out) new : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Application timed out: 120 secs) 2. hard timeout old : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Application timed out) new : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Hard timeout reached: 600 secs) https://bugzilla.gnome.org/show_bug.cgi?id=746957 2015-03-30 16:00:09 +0900 Young Han Lee * validate/launcher/baseclasses.py: validate:launcher: Fix wrong test number with -j option When '-j n' option is given, first n tests print test number 0. This is caused by test_num part of 919db986052602dca452f05e284cfc857302d4f0. https://bugzilla.gnome.org/show_bug.cgi?id=747006 2015-03-28 23:29:56 +0100 Thibault Saunier * validate/configure.ac: * validate/launcher/baseclasses.py: * validate/launcher/config.py.in: validate:launcher: Avoid depending on PyGObject Summary: And rely on our knowledge of the configuration to figure out where the suppression file has been installed Reviewers: gdesmott Differential Revision: http://phabricator.freedesktop.org/D61 2015-03-26 15:42:11 +0100 Guillaume Desmottes * validate/gst/validate/media-descriptor-writer.c: validate: media-descriptor-writer: don't leak info and streaminfo 2015-03-26 15:39:12 +0100 Guillaume Desmottes * validate/tools/gst-validate-media-check.c: validate: media-check: don't leak output_file and expected_file 2015-03-26 13:59:30 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: check VALGRIND_ERROR_CODE in Test as well We were doing it only in GstValidateTest which was overriding the default implementation. 2015-03-26 13:57:34 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: don't increase hard_timeout is if it's None Some tests, like the media check ones, have None as hard_timeout. 2015-03-26 11:29:26 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: increase VALGRIND_TIMEOUT_FACTOR 5 wasn't enough for my poor laptop. 2015-03-26 11:29:06 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: increase the normal timeout as well when using valgrind 2015-03-26 10:32:09 +0100 Guillaume Desmottes * validate/gst/validate/media-descriptor.c: validate: media-descriptor: fix caps leak gst_pad_get_current_caps() returns a reffed caps. 2015-03-23 13:36:45 +0100 Guillaume Desmottes * validate/tools/gst-validate-media-check.c: * validate/tools/gst-validate-transcoding.c: also call gst_deinit() in media-check and transcoding More valgrind friendly. 2015-03-23 16:19:49 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: raise an error if valgrind detected issues Differential Revision: http://phabricator.freedesktop.org/D53 2015-03-23 13:36:45 +0100 Guillaume Desmottes * validate/tools/gst-validate.c: call gst_deinit() when we are done More valgrind friendly. 2015-03-23 13:35:41 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/media-descriptor-writer.c: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: call gst_bus_remove_signal_watch() We are supposed to call gst_bus_remove_signal_watch() for each gst_bus_add_signal_watch() call to prevent leaks. 2015-03-23 10:24:21 +0100 Guillaume Desmottes * validate/gst/validate/media-descriptor-parser.c: validate: media-descriptor-parser: fix string leak _set_content() doesn't actually consume @content so the caller is responsible freeing it. 2015-03-23 10:23:02 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-pad-monitor.c: validate: pad-monitor: fix buffers list leak 2015-03-23 10:22:47 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-pad-monitor.c: validate: pad-monitor: fix caps leak 2015-03-20 15:22:32 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/media-descriptor-writer.c: validate: fix a bunch of GstBus leaks 2015-03-23 09:39:30 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: validate: store valgrind logs to its own file 2015-03-20 15:00:28 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: report: fix invalid read when destroying Report Summary: @report was invalid when we were trying to clear the mutex. validate: scenario: remove weak pointer when destroying action Free an invalid read when the scenario is destroyed after the action. Differential Revision: http://phabricator.freedesktop.org/D44 2015-03-20 14:49:24 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: validate: report: fix invalid read when destroying Report @report was invalid when we were trying to clear the mutex. 2015-03-20 12:15:03 +0100 Guillaume Desmottes * validate/tools/gst-validate.c: validate: fix string arguments leaks We are responsible of freeing the string arguments parsed by GOptionContext. 2015-03-20 11:39:32 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: scenario: don't borrow @structure in _fill_action() @structure was borrowed in some code path and wasn't in some other. Make it clearer, and fix a leak, by always copying it. 2015-03-20 11:33:01 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-utils.c: validate: override-registry: fix structs list leak The list returned by _lines_get_strutures() needs to be deeply freed. 2015-03-20 11:27:29 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-scenario.c: validate: scenario: fix scenarios leak 2015-03-20 11:25:39 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-reporter.c: validate: reporter: fix message leak 2015-03-20 11:24:27 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: validate: report: don't shadow the GString variable We were leaking the GString as it's freed outside of the block. 2015-03-20 11:24:04 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: validate: report: fix GStrv leak 2015-03-20 11:23:29 +0100 Guillaume Desmottes * validate/gst/validate/gst-validate-report.c: validate: report: fix GStrv leak We borrow the content of the GStrv but were leaking the array itself. 2015-03-19 17:22:26 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: launcher: try using gst.supp as valgrind suppressions file https://bugzilla.gnome.org/show_bug.cgi?id=746465 2015-03-19 17:44:19 +0100 Guillaume Desmottes * validate/Makefile.am: validate: install gst.supp Will be used when running tests inside Valgrind. https://bugzilla.gnome.org/show_bug.cgi?id=746465 2015-03-19 16:06:54 +0100 Guillaume Desmottes * validate/launcher/baseclasses.py: * validate/launcher/main.py: launcher: add valgrind support Add a --valgrind option to gst-validate-launcher to run the tests inside Valgrind and tune GLib's memory allocator accordingly. Fix https://bugzilla.gnome.org/show_bug.cgi?id=746465 2015-03-20 10:06:35 +0100 Guillaume Desmottes * validate/data/Makefile.am: * validate/docs/validate/envvariables.xml: * validate/docs/validate/scenarios.xml: * validate/gst/validate/gst-validate-scenario.c: validate: move scenarios to validate/scenarios/ https://bugzilla.gnome.org/show_bug.cgi?id=746465 2015-03-19 12:22:39 +0100 Guillaume Desmottes * validate/launcher/main.py: validate:launcher: Fix small typo 2015-03-18 17:05:19 +0100 Thibault Saunier * validate/launcher/main.py: validate:launcher: Make sure to show apps specific options in the help 2015-03-18 11:05:08 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Fix test number printing 2015-03-14 15:40:17 +0000 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher Rename _other_testsuite_for_tester To _check_tester_has_other_testsuite 2015-03-14 15:08:12 +0000 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Cache all the tests in the runner This way we do not have to re ask all the test managers what tests should be run. 2015-03-13 17:09:08 +0000 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Add a way to simply run validate default tests on uris Summary: This allows us to easily run all the scenarios on a particular file doing: $ gst-validate-launcher validate --validate-check-uri file:///some/media/file.webm Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D36 2015-03-13 17:07:00 +0000 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: keep executing actions even after linking up following execution When linking actions execution without waiting on execution context, then idle callback should keep being called so following action keep being executed. 2015-03-10 10:29:28 +0100 Thibault Saunier * .arcconfig: * validate/.gitignore: validate: Add more files to .gitignore Differential Revision: http://phabricator.freedesktop.org/D34 2015-03-10 10:25:23 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Rename get_position to execute_next_action That function was wrongly called and did not correspond to what it actually does. 2015-03-09 18:26:37 +0000 Vincent Penquerc'h * validate/data/Makefile.am: * validate/data/seek_backward_non_flushing.scenario: * validate/data/seek_forward_non_flushing.scenario: * validate/gst/validate/gst-validate-scenario.c: Revert "validate: add non flushing seek support" This reverts commit 3ff55dcc3119b39e7c86044159db8bce49a2dc3a. Regressions on the test server, apparently linked to this patchset. 2015-03-09 18:26:33 +0000 Vincent Penquerc'h * validate/gst/validate/gst-validate-scenario.c: Revert "validate: use segments to detect success of flushing seeks too" This reverts commit c47cc7ba90e96ffaefe201087428ef448670f3be. Regressions on the test server, apparently linked to this patchset. 2015-03-09 18:26:06 +0000 Vincent Penquerc'h * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: Revert "validate: expect a buffer with discontinuity after a seek" This reverts commit 87064b6994e36203b6976d436feda809068f1497. Regressions on the test server, apparently linked to this patchset. 2015-03-09 18:41:54 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Make sure TIMEOUTs do not get converted to ERROR This was a regression introduced in c0e3d2e4f190fc9627897cc3d3d016448cb5dbe9 2015-02-27 16:56:06 +0000 Vincent Penquerc'h * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: validate: expect a buffer with discontinuity after a seek https://bugzilla.gnome.org/show_bug.cgi?id=744783 2015-02-27 14:40:09 +0000 Vincent Penquerc'h * validate/gst/validate/gst-validate-scenario.c: validate: use segments to detect success of flushing seeks too https://bugzilla.gnome.org/show_bug.cgi?id=744783 2015-02-19 13:12:50 +0000 Vincent Penquerc'h * validate/data/Makefile.am: * validate/data/seek_backward_non_flushing.scenario: * validate/data/seek_forward_non_flushing.scenario: * validate/gst/validate/gst-validate-scenario.c: validate: add non flushing seek support and a couple scenarios using them https://bugzilla.gnome.org/show_bug.cgi?id=744783 2015-03-06 09:39:10 +0100 Thibault Saunier * validate/launcher/apps/Makefile.am: validate:launcher: Do not forget to install apps/__init__.py It is a python module that should be usable by external apps/testsuites 2015-03-05 13:33:27 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Handle not mandatory action types Summary: There is currently no way to handle the fact that action types might be handled only by a specific application but not handling this action types would not cause any difference for the good execution of the scenario as a whole Differential Revision: http://phabricator.freedesktop.org/D33 2015-03-02 17:32:56 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: Better handle GST debug log outputs redirection 2015-03-04 17:30:41 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher: First rely on the presence of criticals to set tests result In the case of external applications they might not set their exist code bases on the result of validate so we should rely on what validates as to say first. 2015-03-04 17:26:55 +0100 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: validate:report: Allow registering of issue types through the introspection Fixing annotations and make GstValidateIssue refcounted We break the ABI in that commit but I do not expect anyone to register issue type outside GstValidate yet. Add padding in the structures so we can avoid breaking the ABI again later. 2015-03-04 17:24:52 +0100 Thibault Saunier * validate/gst/validate/gst-validate-monitor.c: validate:monitor: Do not requiere a GstObject as target We can work with any GObject and that allows applications to write monitors for other aspects too 2015-03-03 12:26:52 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Alway execute sub action on action running SYNC Move methods around to avoid needing on top prototypes 2015-03-03 19:26:33 +0900 Wonchul Lee * validate/docs/validate/command-line-tools.xml: validate:docs: Rename gst-validate-launch to gst-validate-launcher https://bugzilla.gnome.org/show_bug.cgi?id=745510 2015-03-03 11:33:06 +0100 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Do not execute last sub action twice when ASYNC 2015-03-03 10:39:52 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Properly print sub action as if they were main actions 2015-03-02 14:38:16 +0100 Emanuele Aina * validate/docs/validate/scenarios.xml: validate:docs: Fix typos in Scenario File Format https://bugzilla.gnome.org/show_bug.cgi?id=736160 2015-02-26 18:51:57 +0100 Thibault Saunier * validate/tools/gst-validate-launcher.in: validate:launcher Do not use git -C as it is relatively recent https://bugzilla.gnome.org/show_bug.cgi?id=736160 2015-02-26 11:09:23 +0100 Thibault Saunier * validate/gst/preload/Makefile.am: validate: Build the preload so when possible 2015-02-24 19:32:37 +0100 Thibault Saunier * validate/launcher/main.py: validate:launcher: Print the long help in less when possible 2015-02-24 19:08:12 +0100 Thibault Saunier * validate/launcher/main.py: validate:launcher: Mention testsuite implementation in the help 2015-02-23 12:24:39 +0100 Thibault Saunier * validate/configure.ac: validate: Define GST_PLUGIN_LDFLAGS as needed 2015-02-19 20:53:16 +0900 Young Han Lee * validate/tools/gst-validate-launcher.in: validate: Determine development mode using git hash value Development mode has been determined by whether the launcher is in git repo or not. This could be wrong when the launcher is installed to subdirectory of other project's git repo, such as jhbuild. It is normal to install compiled output to subdirectory of your jhbuild. Changed logic gets the first commit hash of current git repo and compares it with gst-devtools' the first commit hash. https://bugzilla.gnome.org/show_bug.cgi?id=744781 2015-02-19 11:32:05 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Fix typo s/FILE_EXTENDION/FILE_EXTENSION/g 2015-02-18 14:23:16 +0100 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Fix GstValidateAction ABI adding a private structure This way we can easily extend the structure and avoid needing using a union and such 2015-01-22 22:29:10 +0100 Mathieu Duponchelle * validate/tests/check/validate/padmonitor.c: validate: Test buffer outside of received range. Summary: As part of the preparation for a port to tracer. Test Plan: This is a test, we won't test tests Reviewers: tsaunier Differential Revision: http://internal.opencreed.com:8888/D19 2015-02-18 11:36:59 +0000 Tim-Philipp Müller * codecanalyzer/src/gst_analyzer.c: codecanalyzer: fix codec detection with git master The names might be 'MPEG-2 (Simple Profile)' now. Shouldn't really rely on codec name strings here in the first place, but use caps instead. 2015-02-18 10:05:55 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pipeline-monitor.c: validate: Properly notify user about missing plugins This way it is clear in gst-validate-launcher that the failure is due to a missing plugin 2015-02-17 18:18:56 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.h: validate: Fix wrong sizeof usage sizeof(int) is always <= sizeof(gpointer) 2015-01-21 13:13:02 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Use cElementTree for XML parsing Using cElementTree instead of ElementTree speeds up parsing of media descriptor files. The total time spent parsing XML files drops from ~0.64 s to ~0.24 s, leading to faster initialisation times for gst-validate-launcher. https://bugzilla.gnome.org/show_bug.cgi?id=743293 2015-02-17 14:56:47 +0100 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Print actions directly from the scenario Avoiding user to have to print them in each and every action type implementation. This requires adding some API to prepare actions before printing them. Preparing action in that case mean parsing the values contained in the GstStructure parsing equations and setting back the actual value afterward API: * GstValidatePrepateAction * gst_validate_action_type_set_prepare_function 2015-02-16 22:12:54 +0100 Thibault Saunier * validate/gst/validate/validate.c: validate: Fix build on windows Check where libgstvalidate.dll is installed and use that base folder to figure out where GstValidate plugins are installed 2015-02-16 20:52:54 +0100 Thibault Saunier * validate/data/Makefile.am: * validate/gst/validate/gst-validate-types.h: validate: Do not forget to dist _full variant of scrubing scenarios 2015-02-16 19:49:50 +0100 Thibault Saunier * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/gst-validate-types.h: * validate/gst/validate/validate.h: validate: Create a gst-validate-types.h header where we define types And include it from validate.h. This way we avoid to need to typedef GstValidateAction twice, which is a C11 feature 2015-02-16 19:24:23 +0100 Edward Hervey * validate/gst/validate/gst-validate-report.c: validate-report: Fix valist usage a va_list always 'exists' (it's a struct). It therefore can't be NULL (and can't be tested) Just use the regular print variant where appropriate. 2015-02-16 16:47:37 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Document locking 2015-02-13 12:17:37 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Make get_position happen on idle Summary: - Add a way to force action to be executed in their own GSource dispatch, disabling chain action execution API: GstValidateScenario::execute-on-idle property 2015-02-12 16:23:49 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Add a method to retrieve all remaining actions Not only the next one as it was not making much sense! API: - gst_validate_scenario_get_next_action + gst_validate_scenario_get_actions 2015-02-12 16:13:09 +0100 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate:utils: Fix some annotations 2015-02-12 16:10:00 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Allow link up of action executions for overriden types Exposing a GstValidateActionType.overriden_type field And properly expose gst_validate_execute_action 2015-02-12 16:09:11 +0100 Thibault Saunier * validate/gst/validate/gst-validate-reporter.c: validate:reporter: Always print reports in the Gst debug system 2015-02-11 18:27:10 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Misc fixes 2015-02-11 17:06:06 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Properly annotate gst_validate_register_action_type* It does not return any reference to the type 2015-02-10 13:50:23 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: Revert "validate:scenario: Add a way to specify action structure size" This reverts commit b976319ef7f977b8ce910c4b8aa1a843da3b264f. Now that the exact same structure can be used to represent different action types, we can not rely on the structure size to stuff informations into the action. Users should just make use of GstMiniObject.qdata. 2015-02-10 13:39:43 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: We do not own any ref in GstValidateExecuteAction And gst_validate_action_set_done might very well unref the last reference to the action 2015-02-10 13:22:34 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Make sure that the latest action type registration is kept Avoiding to change the behaviour! 2015-02-07 12:51:30 +0100 Thibault Saunier * validate/data/change_state_intensive.scenario: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Handle scenario repeat property with sub actions And port change_state_intensive.scenario to it 2015-02-07 11:19:22 +0100 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Add the notion of sub actions Sub action will allow user to executed action *right* after the previous action has been completed, meaning in the end that both action can be considered as one single action. + Factor out a function to fill an GstValidateAction structure from a GstStructure + Factor out a function to set action playback time 2015-02-06 12:20:30 +0100 Thibault Saunier * validate/docs/validate/envvariables.xml: validate: Document some env variable usage 2015-02-06 11:46:13 +0100 Thibault Saunier * validate/gst/plugins/fault_injection/socket_interposer.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Add an API to cleanly register action type from plugins API: gst_validate_register_action_type_dynamic https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 22:12:48 +0100 Thibault Saunier * validate/gst/plugins/fault_injection/Makefile.am: * validate/gst/plugins/fault_injection/socket_interposer.c: validate: Rename libfaultinjector to libgstvalidatefaultinjector https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 15:14:04 +0100 Thibault Saunier * validate/gst/plugins/fault_injection/socket_interposer.c: * validate/gst/validate/gst-validate-scenario.c: validate: Use plugin name as implementer_namespace when registering action type And document it as a good practice as it will allow us to map plugins and action types https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 14:54:55 +0100 Thibault Saunier * validate/Makefile.am: * validate/configure.ac: * validate/fault_injection/Makefile.am: * validate/fault_injection/socket_interposer.c: * validate/fault_injection/socket_interposer.h: * validate/gst/Makefile.am: * validate/gst/plugins/Makefile.am: * validate/gst/plugins/fault_injection/Makefile.am: * validate/gst/plugins/fault_injection/socket_interposer.c: validate: Move the fault_injection plugin to gst/plugins/ https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 14:50:14 +0100 Thibault Saunier * validate/gst/validate/validate.c: validate: Use an actual GstRegistry to track our plugins Keeping everything internal for now https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 14:30:05 +0100 Thibault Saunier * validate/configure.ac: * validate/fault_injection/Makefile.am: * validate/fault_injection/socket_interposer.c: * validate/fault_injection/socket_interposer.h: * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/validate.c: validate: Implement fault_injection as a Gs(tValidate)Plugin https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-02 18:00:14 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Add a way to specify action structure size And return the register GstValidateActionType on registration https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-02 11:41:24 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Do not concider we are seek_in_paused if executing a new action The new action might change the position on purpose and we should not fail in that case. Also at that point we know the test of position after the seek has been executed + Minor cosmetic fixes https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-01-20 09:59:23 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate:launcher:baseclasses: Avoid raising axception when all getting scenarios https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-01-13 19:07:04 +0100 Thibault Saunier * validate/launcher/main.py: launcher: Use gst-integration-testsuites FDO git repo And make sure that people that were using the old repo get the origin repo properly updated. https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 15:27:37 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate: launcher: Allow discovering scenario from full path https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 15:25:50 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: scenario: Add a method to get the following action to be executed API: + gst_validate_scenario_get_next_action https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 15:24:35 +0100 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-runner.c: validate: Add helper functions ti print actions API: + gst_validate_scenario_get_next_action + gst_validate_reporter_report_simple https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 15:23:29 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.h: validate: Minor documentation fixes https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-02-04 15:18:22 +0100 Thibault Saunier * validate/data/seek_with_stop.scenario: validate: Set seek_with_stop as needing at least 2secs media files https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 23:23:11 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/launcher/apps/gstvalidate.py: validate: Fix the check of action that can be *not* executed The check was wrong and we ended up allowing seek actions to no be executed. API: GST_VALIDATE_ACTION_TYPE_NO_EXECUTION_NOT_FATAL https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 23:16:27 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario; Advertise action types that will be executed on addition Adding a flag to the action type And make that code thread safe. https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 23:12:30 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Add a Flag fore ActionType that need clocks sync And cleanly use it to set the need-clock-sync field in the scenario properties https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 19:17:45 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Add the notion of INTERLACED actions An interlaced action is an action that will be executed ASYNC but without that will not block following actions during its execution. The action should be set to done later on at any point during the execution of the scenario. API: + GST_VALIDATE_EXECUTE_ACTION_INTERLACED + GST_VALIDATE_ACTION_TYPE_INTERLACED https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 19:15:59 +0100 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Add a way to retrieve register actoin type from outside API: * GstValidateActionType * gst_validate_get_action_type https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 16:01:49 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate:launcher: Implement a FakeMediaDescriptor This allows us to more cleanly implement Simple pipeline test generation https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 16:00:19 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Make action->scenario public API It can be usefull for action type implementers https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-13 16:00:12 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Add a disable-plugin action type https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-12 14:41:38 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Properly advertise the wait action as ASYNC And add some printing when executing the set-property action https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-12 14:36:16 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: validate: Enhance support for simple pipeline test generation The GstValidatePipelineGenerator was quite limited in term of configuration for user who just want to specify pipelines to run with/without scenario. Enhance the API so that we can properly configure that. https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-11 14:21:12 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/tools/gst-validate.c: validate: Wait for switch-track to complete before executing next action This action type can take some time, we need to make sure that the combiner/input-selector element properly pushed a buffer marked as DISCONT to concider the action is done. https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-11 12:08:13 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Avoid waiting for 50ms between actions We should be able to execute the next action as soon as the previous one is fully completed, make sure the code tries to do that and does not artificially add some waiting time. And make sure if the gst_validate_action_set_done is called from outside our execution thread, we do not try to execute anything https://bugzilla.gnome.org/show_bug.cgi?id=743994 2014-12-10 20:37:58 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Add a signal to notify user when the scenario is DONE executing https://bugzilla.gnome.org/show_bug.cgi?id=743994 2015-01-20 16:44:07 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Print test name in Result https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-16 21:29:55 +0100 Ramiro Polla * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate: launcher: Add option to run tests in parallel Patch 4/4 to implement parallel test execution. https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-16 21:09:37 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Print test number on result With parallel test execution, it will be hard to track which result relates to which test. Therefore, the test number should be printed along with the results as well. Patch 3/4 to implement parallel test execution. https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-16 21:08:54 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Use jobs list to take track of tests running Currently the tests are still run serially. Patch 2/4 to implement parallel test execution. https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-16 20:35:33 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Use test index instead of counting test numbers Patch 1/4 to implement parallel test execution. https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-19 10:35:03 +0100 Ramiro Polla * validate/launcher/RangeHTTPServer.py: validate: launcher: Support simultaneous requests in RangeHTTPServer https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-16 19:08:19 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Make TestManager handle waiting for processes Patch 4/4 to make TestManager handle waiting for processes instead of expecting each Test to do it. https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-16 19:03:07 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Use a Queue to test for test completion TestManager will use a Queue to track progress for all tests. This commit implements a queue inside Test to simplify the transition. Patch 3/4 to make TestManager handle waiting for processes instead of expecting each Test to do it. https://bugzilla.gnome.org/show_bug.cgi?id=743063 2015-01-16 19:00:25 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Initialize Test start time outside of wait_process wait_process will be moved to TestManager, so the values used to track process update must remain inside Test. Patch 2/4 to make TestManager handle waiting for processes instead of expecting each Test to do it. 2015-01-16 18:57:06 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Split process_update() out of wait_process() Patch 1/4 to make TestManager handle waiting for processes instead of expecting each Test to do it. 2015-01-16 18:50:38 +0100 Ramiro Polla * validate/launcher/baseclasses.py: * validate/launcher/reporters.py: validate: launcher: Move logfile handling out of Reporter and into Test This makes each Test handle its own logfile, allowing the Reporter to work on multiple tests at the same time. Patch 5/5 to move logfile handling out of Reporter and into Test. 2015-01-16 19:54:56 +0100 Ramiro Polla * validate/launcher/reporters.py: validate: launcher: Remove redundant check self.out is always available when _get_captured() is called. Patch 4/5 to move logfile handling out of Reporter and into Test. 2015-01-16 18:45:52 +0100 Ramiro Polla * validate/launcher/baseclasses.py: * validate/launcher/reporters.py: validate: launcher: Split test log file handling in Reporter Patch 3/5 to move logfile handling out of Reporter and into Test. 2015-01-16 18:42:19 +0100 Ramiro Polla * validate/launcher/baseclasses.py: * validate/launcher/reporters.py: validate: launcher: Separate Reporter from current Test Instead of saving the current Test in Reporter for every test, use function parameters to achieve the same goal. Patch 2/5 to move logfile handling out of Reporter and into Test. 2015-01-16 18:25:56 +0100 Ramiro Polla * validate/launcher/baseclasses.py: * validate/launcher/reporters.py: validate: launcher: Initialize reporter timer before starting all tests Patch 1/5 to move logfile handling out of Reporter and into Test. 2015-01-12 13:09:33 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Don't wait for processes longer than necessary 2015-02-03 16:48:49 +0100 Mathieu Duponchelle * validate/fault_injection/socket_interposer.c: socket interposer: Be even more platform restrictive. 2015-02-03 15:41:01 +0100 Mathieu Duponchelle * validate/fault_injection/socket_interposer.c: validate: do not compile for android. 2015-01-30 18:52:57 +0100 Mathieu Duponchelle * validate/Makefile.am: * validate/configure.ac: * validate/fault_injection/Makefile.am: * validate/fault_injection/socket_interposer.c: * validate/fault_injection/socket_interposer.h: * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-scenario.c: * validate/tools/Makefile.am: validate: Implement a fault injection library. + And implement a corrupt-socket-recv action + Only compile this on Linux, LD_PRELOAD won't work on Windows. For now the registering of the action is done through a call to socket_interposer_init, this will get better when we refactor the action logic. https://bugzilla.gnome.org/show_bug.cgi?id=743871 2015-01-23 02:04:47 +0100 Mathieu Duponchelle * validate/tests/check/validate/padmonitor.c: validate: tests more issues with caps. https://bugzilla.gnome.org/show_bug.cgi?id=743387 2015-01-23 01:40:59 +0100 Mathieu Duponchelle * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/test-utils.c: validate: Add a test case for caps missing field. + Make the fake decoder have video/x-raw caps. https://bugzilla.gnome.org/show_bug.cgi?id=743387 2015-01-22 22:29:10 +0100 Mathieu Duponchelle * validate/tests/check/validate/padmonitor.c: validate: prepare tests for port to tracers backend. https://bugzilla.gnome.org/show_bug.cgi?id=743387 2015-01-22 22:07:37 +0100 Mathieu Duponchelle * validate/gst/validate/gst-validate-bin-monitor.c: bin-monitor: add itself as gobject data. 2015-01-13 02:32:16 +0100 Ramiro Polla * validate/launcher/baseclasses.py: validate: launcher: Fix test log header output Write log file header before running tests, instead of overwriting the file afterwards. https://bugzilla.gnome.org/show_bug.cgi?id=742966 2015-01-15 15:32:12 +0100 Ramiro Polla * validate/launcher/baseclasses.py: * validate/launcher/httpserver.py: * validate/launcher/reporters.py: validate: launcher: Always create log files Create log files even when stdout redirection is enabled. This commit partially reverts 20c28de. https://bugzilla.gnome.org/show_bug.cgi?id=742973 2015-01-15 15:26:14 +0100 Ramiro Polla * validate/launcher/baseclasses.py: * validate/launcher/httpserver.py: * validate/launcher/main.py: * validate/launcher/reporters.py: validate: launcher: Introduce new parameter for log file redirecting Allow log file redirection through the new --redirect-logs parameter. Keep the old --logs-dir stdout/stderr parameter, but reset to the default logs directory in that case, and set redirect_logs internally. This also prevents the creation of an stdout/stderr directory for writing xunit.xml. https://bugzilla.gnome.org/show_bug.cgi?id=742973 2015-01-09 14:04:16 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: plug caps leak on iterator resync 2015-01-09 12:36:31 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: use the same filter caps when querying downstream caps To avoid comparing the real result that has been filtered against a much larger caps that contains all possibilities. 2014-12-09 10:09:15 +0100 Thibault Saunier * validate/tests/check/validate/test-utils.c: validate: tests: disable g_log handler It messes up our own failures counter And pass test-utils into gst-indent 2014-12-08 18:53:55 -0300 Thiago Santos * validate/tests/check/validate/padmonitor.c: tests: padmonitor: disable glog handling It messes up our own failures counter 2014-12-08 17:27:52 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: get correct caps to check for proxied fields in caps queries Elements should proxy the peer element's caps fields and not what they have currently set on their pads when replying to a caps query 2014-12-08 17:17:08 -0300 Thiago Santos * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Only add pending caps fields for source pads As caps events are downstream, caps set travels from sinks to sources. Adding pending setcaps values to sink pads makes no sense as when a new caps is set on the sink it would compare with values currently set on the source pad, causing a critical failure when renegotiation happens. 2014-12-08 18:23:10 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate: launcher: Take the timeout as ref timeout to compute hard_timeout when it is provided. 2014-12-08 15:27:54 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate: launcher: Set a hard timeout on GstValidate tests if we know the duration 2014-12-08 14:37:15 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate: launcher: Force kill subprocess when done with them Making sure that we do not end up having spurious subprocess around 2014-12-08 08:42:51 -0300 Thiago Santos * validate/launcher/baseclasses.py: launcher: baseclass: add missing parameter Fixes "NameError: global name 'options' is not defined" 2014-12-08 10:09:57 +0100 Thibault Saunier * validate/launcher/main.py: validate: launcher: Properly handle non default main dir for the case of the new testsuite files 2014-12-07 12:30:25 +0100 Thibault Saunier * validate/launcher/apps/__init__.py: * validate/launcher/apps/gstvalidate.py: * validate/launcher/main.py: validate: launcher: Make the gstvalidate application a python module 2014-12-06 10:53:37 +0100 Thibault Saunier * validate/configure.ac: validate: Remove remaining reference to launcher/apps/validate It has been removed now. 2014-12-03 11:28:28 +0100 Thibault Saunier * validate/tools/gst-validate.c: validate: Avoid assert removing an already removed signal handler And, make sure that we set the return value != 0 when we receive SIGINT 2014-12-02 17:32:18 +0100 Thibault Saunier * validate/launcher/main.py: validate: Handle setting the HTTP server local path from testsuites 2014-12-02 15:41:17 +0100 Thibault Saunier * validate/launcher/main.py: * validate/launcher/utils.py: validate: Rename gst-qa-assets to gst-integration-testsuites 2014-12-02 15:39:09 +0100 Thibault Saunier * validate/tools/gst-validate.c: validate: print execution of set_subtitles actions 2014-12-02 10:02:09 +0100 Thibault Saunier * validate/launcher/main.py: validate: Factor out an LauncherConfig class type to handle configurations Allowing us to more simply define default value and expose an API on top of it 2014-12-02 10:00:42 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/launcher/apps/gstvalidate.py: validate: Remove file specific blacklisted tests 2014-11-29 13:43:06 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate: Let the user know when new tests are added, or tests are REMOVED 2014-11-29 00:03:04 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/main.py: validate: Add a cleaner API to setup tests in testsuite files With the testsuite format you will get a setup_tests(tests_manager, options) function called for each TestManager. The function will have the exact same role as with old config file but with a clean API and not magic global variables. This implies that we need default blacklist to be directly set on the TestManager and not on options.blacklisted_test 2014-11-28 22:58:09 +0100 Thibault Saunier * validate/launcher/main.py: validate: Add a way to sync all assets, including big ones 2014-11-28 22:42:47 +0100 Thibault Saunier * validate/launcher/apps/Makefile.am: * validate/launcher/apps/gstvalidate.py: * validate/launcher/apps/validate/Makefile.am: * validate/launcher/apps/validate/validate_testsuite.py: * validate/launcher/main.py: * validate/launcher/utils.py: validate: Remove the default testsuite implementation The default testsuite implementation should belong to the default asset repo where we have the corresponding knowledge. We should style manage a sensible list of known blacklisted tests, encoding profiles, and generators in GstValidate itself and allow testsuite actual implementations to easily use them though the register_default_* methods. This allow us to be able to remove the ugly execfile() call. 2014-11-27 12:11:43 +0100 Thibault Saunier * validate/gst/validate/gst-validate-reporter.c: validate: Make sure to at least listen to GStreamer and GLib g_logs If somewhere else someone is overriding the g_log default handler, we would not get notified of anything. 2014-11-27 13:48:17 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate: Disable coloration of GST_DEBUG logs when we have no-color Do that only when those logs are not saved to a file 2014-11-26 17:50:11 +0100 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/media-descriptor-parser.h: * validate/gst/validate/media-descriptor.h: validate: Factor out a function to print action types parametters + Remove playback-type from the list and just print it 2014-11-19 17:16:02 -0300 Thiago Santos * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-element-monitor.h: * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: do not enforce caps querying rules for converters Some encoders/decoders can also be converters, do not enforce caps proxying rules for them 2014-11-28 11:14:12 +0530 Vineeth T M * validate/launcher/main.py: validate: fix typo in documentation There are some typing mistakes in gst-validate-launcher --help Hence fixing the same. https://bugzilla.gnome.org/show_bug.cgi?id=740833 2014-11-25 15:35:09 +0100 Thibault Saunier * validate/launcher/apps/validate/validate_testsuite.py: * validate/launcher/main.py: validate: Handle unlimited tests duration Running full length scenario when the user asks 2014-11-25 15:32:31 +0100 Thibault Saunier * validate/gst/validate/gst-validate-element-monitor.c: validate: Already having a monitor is no error 2014-11-25 15:30:42 +0100 Thibault Saunier * validate/pre-commit-python.hook: validate: pre commit hook: Do not try to run pep8 on non python files! 2014-11-25 15:29:29 +0100 Thibault Saunier * validate/data/Makefile.am: * validate/data/scrub_backward_seeking_full.scenario: * validate/data/scrub_forward_seeking_full.scenario: validate: Add scub_*_seeking_full scenarios Which basically do the same thing as scrub_*_seeking but during throughout the whole duration of the media 2014-11-21 19:35:16 +0100 Thibault Saunier * validate/docs/validate/gst-validate-docs.sgml: * validate/docs/validate/gst-validate-sections.txt: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-runner.h: validate: Enhance documentation 2014-11-19 17:58:23 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/main.py: validate: Add an option to update all .media_info files 2014-11-16 23:05:45 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Execute actions without playback time without a valid position If the user did not specify any playback time we should be able to execute actions even if the pipeline can't answer the position query + Make simpler to read the conditions of an action execution 2014-11-09 19:08:52 +0100 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate:scenario: Properly handle ASYNC action execution in the API The ->execute function now return a GstValidateExecuteActionReturn which can be set as ASYNC in order to tell the scenario that the action will be executed asynchronously, when the action is done, the caller is responsible for calling gst_validate_action_set_done(); so that the scenario keeps going on. In this commit we make sure that the old API keeps working as GST_VALIDATE_EXECUTE_ACTION_ERROR == FALSE and GST_VALIDATE_EXECUTE_ACTION_OK == TRUE Morevover GstValidateExecuteActionReturn is just a define API: + gst_validate_action_set_done + GstValidateExecuteActionReturn https://bugzilla.gnome.org/show_bug.cgi?id=739854 2014-11-07 23:19:59 +0100 Thibault Saunier * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: validate: Add a GstValidateActionTypeFlag flag Allowing us to define action types more in detail. Keep backward compatibility, at least with the C API https://bugzilla.gnome.org/show_bug.cgi?id=739854 2014-11-21 14:01:48 +0100 Thibault Saunier * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-bin-monitor.h: * validate/gst/validate/gst-validate-monitor-factory.c: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-pipeline-monitor.h: validate: Add a GstValidatePipelineMonitor subclass We had quite a bit of code dedicated to handled GstPipeline monitoring inside GstValidateBinMonitor, cleanly split that code into a new object type https://bugzilla.gnome.org/show_bug.cgi?id=740704 2014-11-20 11:55:45 +0100 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: * validate/launcher/main.py: * validate/launcher/utils.py: validate:launcher: Force clock sync for some protocols In HLS for example, not having clock sync might lead to races and failures do not test that for now 2014-11-20 11:53:34 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: validate: Don't fail getting master report from a ghostpad without target 2014-11-19 20:05:57 +0100 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: validate: Print current position even if we do not know the rate That could cause gst-validate-launcher to wrongly concider tests as timeout 2014-11-17 11:39:12 +0100 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Force clock sink for scenarios with a pause action 2014-11-15 18:08:42 +0100 Thibault Saunier * validate/launcher/baseclasses.py: validate: Handle wrong paths when listing avalaible apps User can make mistake or we can have an empty path. 2014-11-11 20:56:04 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tests/check/validate/padmonitor.c: validate: Do not check if first buffer running time is 0 It can perfectly not be 0, so it makes no sense to check that. https://bugzilla.gnome.org/show_bug.cgi?id=739965 2014-11-06 23:43:47 +0100 Thibault Saunier * validate/launcher/apps/validate/validate_testsuite.py: validate: Add audiomixer test to the default testsuite 2014-11-01 09:24:15 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Give better details about segment mismatch issues 2014-10-30 14:10:33 +0100 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: validate: Be more precise in issue type for wrong seqnum Depending on the type of event where the bug occurs, it is not the same issue type. That allows us to have much precise reports, and better explain the user where the issue stands. 2014-10-16 17:32:56 +0200 Thibault Saunier * validate/gst/validate/gst-validate-monitor-factory.c: * validate/gst/validate/gst-validate-scenario.c: validate: Fix a few annotation issues 2014-10-15 17:03:48 +0200 Thibault Saunier * validate/docs/validate/envvariables.xml: * validate/gst/validate/gst-validate-scenario.c: validate: Add the notion of WAIT_MULTIPLIER for the wait action Allowing the user to decide to wait more, or less, or even not wait for the wait action to execute when running scenarios. 2014-09-28 22:37:01 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Report an EXECUTION_ERROR on action execution failure If the action type handles a better error report type, it should just return TRUE, and report its issue itself. 2014-09-19 09:13:13 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate: Do not exit when we can not discover a result file Loggable.error actually exit the process, it is not what we want! + Avoid a backtrace 2014-11-03 11:50:54 +0100 Edward Hervey * validate/gst/validate/gst-validate-scenario.c: scenario: Allow set-property action to work much earlier By default an action has no playback-time, this makes it actionable immediatly. When no playback-time is set on a set-property action, it will be activated the moment the element is added in the pipeline. 2014-10-31 16:01:52 +0100 Edward Hervey * validate/gst/validate/gst-validate-bin-monitor.c: validate-bin-monitor: Initialize local variable Avoids segfaults when freeing them if they didn't get filled in 2014-10-26 14:47:12 +0100 Mathieu Duponchelle * validate/autogen.sh: * validate/multi-pre-commit.hook: * validate/pre-commit-python.hook: validate: update pre-commit hook. + Allows to run multiple pre-commit hooks. + Always relink the hooks on autogen. + Run pep8 on commited python files. https://bugzilla.gnome.org/show_bug.cgi?id=739208 2014-10-25 14:59:49 +0200 Mathieu Duponchelle * validate/launcher/apps/gstvalidate.py: apps: gstvalidate.py: fix various pyflakes / uncaught pep8 issues. https://bugzilla.gnome.org/show_bug.cgi?id=739208 2014-10-25 14:50:54 +0200 Mathieu Duponchelle * validate/launcher/utils.py: validate-launcher: utils: fix various pyflakes / uncaught pep8 issues. https://bugzilla.gnome.org/show_bug.cgi?id=739208 2014-10-25 14:49:26 +0200 Mathieu Duponchelle * validate/launcher/main.py: validate-launcher: main: fix various pyflakes / uncaught pep8 issues. https://bugzilla.gnome.org/show_bug.cgi?id=739208 2014-10-25 14:46:26 +0200 Mathieu Duponchelle * validate/launcher/loggable.py: validate-launcher: loggable: fix various pyflakes / uncaught pep8 issues. https://bugzilla.gnome.org/show_bug.cgi?id=739208 2014-10-24 14:38:00 +0200 Mathieu Duponchelle * validate/launcher/baseclasses.py: validate-launcher: baseclasses: fix various pyflakes / uncaught pep8 issues. https://bugzilla.gnome.org/show_bug.cgi?id=739208 2014-10-24 14:23:52 +0200 Mathieu Duponchelle * validate/launcher/RangeHTTPServer.py: * validate/launcher/apps/gstvalidate.py: * validate/launcher/apps/validate/validate_testsuite.py: * validate/launcher/baseclasses.py: * validate/launcher/httpserver.py: * validate/launcher/loggable.py: * validate/launcher/main.py: * validate/launcher/reporters.py: * validate/launcher/utils.py: validate-launcher: pep8ify sources. https://bugzilla.gnome.org/show_bug.cgi?id=739208 2014-10-23 21:43:45 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-utils.c: validate-utils: downgrade ERROR to DEBUG. This function is called in places where it is legit for it to return NULL. 2014-10-23 21:36:03 +0200 Mathieu Duponchelle * validate/launcher/baseclasses.py: launcher: add a way to specify an application directory. https://bugzilla.gnome.org/show_bug.cgi?id=739091 2014-10-23 21:34:27 +0200 Mathieu Duponchelle * validate/launcher/apps/Makefile.am: * validate/launcher/apps/geslaunch.py: launcher: Don't implement product-specific TestManagers. This manager will be moved in GES. https://bugzilla.gnome.org/show_bug.cgi?id=739091 2014-10-23 15:21:14 +0200 Mathieu Duponchelle * validate/Makefile.am: * validate/configure.ac: * validate/launcher/Makefile.am: * validate/launcher/RangeHTTPServer.py: * validate/launcher/__init__.py: * validate/launcher/apps/Makefile.am: * validate/launcher/apps/geslaunch.py: * validate/launcher/apps/gstvalidate.py: * validate/launcher/apps/validate/Makefile.am: * validate/launcher/apps/validate/validate_testsuite.py: * validate/launcher/baseclasses.py: * validate/launcher/httpserver.py: * validate/launcher/loggable.py: * validate/launcher/main.py: * validate/launcher/reporters.py: * validate/launcher/utils.py: * validate/tools/Makefile.am: * validate/tools/gst-validate-launcher.in: * validate/tools/launcher/Makefile.am: * validate/tools/launcher/RangeHTTPServer.py: * validate/tools/launcher/__init__.py: * validate/tools/launcher/apps/Makefile.am: * validate/tools/launcher/apps/geslaunch.py: * validate/tools/launcher/apps/gstvalidate.py: * validate/tools/launcher/apps/validate/Makefile.am: * validate/tools/launcher/apps/validate/validate_testsuite.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/httpserver.py: * validate/tools/launcher/loggable.py: * validate/tools/launcher/main.py: * validate/tools/launcher/reporters.py: * validate/tools/launcher/utils.py: validate-launcher: restructure filesystem https://bugzilla.gnome.org/show_bug.cgi?id=739091 2014-10-24 18:41:30 +0530 Ramprakash Jelari * validate/gst/validate/gst-validate-reporter.c: validate: Fix compiler warning about implicit enum type conversion gst-validate-reporter.c:119:39: error: implicit conversion from enumeration type 'GstValidateReportingDetails' to different enumeration type 'GstValidateInterceptionReturn' [-Werror,-Wenum-conversion] GstValidateInterceptionReturn ret = GST_VALIDATE_SHOW_UNKNOWN; ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~ gst-validate-reporter.c:124:11: error: implicit conversion from enumeration type 'GstValidateReportingDetails' to different enumeration type 'GstValidateInterceptionReturn' [-Werror,-Wenum-conversion] ret = iface->get_reporting_level (reporter); ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gst-validate-reporter.c:127:10: error: implicit conversion from enumeration type 'GstValidateInterceptionReturn' to different enumeration type 'GstValidateReportingDetails' [-Werror,-Wenum-conversion] return ret; ~~~~~~ ^~~ 2014-10-22 14:16:45 +0200 Mathieu Duponchelle * validate/gst/validate/Makefile.am: build: We install all headers system wide for now. Will be fixed when the API is deemed stable enough 2014-10-21 23:31:37 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-enums.h: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/tests/check/validate/overrides.c: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/reporting.c: validate: rename GstValidateReportingLevel. Removes the confusion with GstValidateReportLevel. Modeled on GstDebugGraphDetails. 2014-10-18 18:55:59 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/tests/check/validate/padmonitor.c: validate: Verify that elements always send a segment before pushing EOS EOS is some kind of data flow and thus a segment event should always be pushed before the EOS is sent 2014-10-18 18:53:03 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/reporting.c: validate: Properly check that the seqnum of the EOS is always properly set In the pipeline, an EOS should always have the same seqnum of the previous SEGMENT event that was received. If the segment is the result of a seek, it should always be the same as the seek seqnum too. + (Mathieu Duponchelle): fix reporting and concatenation tests. 2014-10-03 18:51:17 +0200 Thibault Saunier * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tests/check/Makefile.am: * validate/tests/check/validate/overrides.c: validate: Add support for text based override files Allowing user to easily determine the severity of issue types in a config file https://bugzilla.gnome.org/show_bug.cgi?id=737852 2014-10-03 18:53:42 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-parser.h: validate: Remove unused method gst_media_descriptor_add_frame is not used anywhere https://bugzilla.gnome.org/show_bug.cgi?id=737852 2014-10-03 18:42:04 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: validate: Move GstStructure file parsing into utils So it can be reused, at least in GstValidate. 2014-10-02 15:34:28 +0200 Thibault Saunier * validate/gst/overrides/gst-validate-default-overrides.c: * validate/gst/validate/gst-validate-media-info.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/media-descriptor-writer.c: * validate/tests/check/validate/padmonitor.c: validate: report: Simplify the issue ID registering using GQuarks + Remove unused issue types https://bugzilla.gnome.org/show_bug.cgi?id=737790 2014-09-15 17:27:54 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/test-utils.c: * validate/tests/check/validate/test-utils.h: * validate/tools/launcher/apps/gstvalidate.py: validate: Check all buffers when we have the info from MediaDescriptor We now check that each buffer is the expected one for each buffer that come into the decoder. + Fix some minor leaks in test-utils https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-10-02 11:27:30 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-parser.h: validate:media-descriptor-parser: Add a way to create from a string So it is simple to make use of it from the testsuite https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-10-01 16:24:58 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: report: g_critical are CRITICAL issues! https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-09-17 17:32:52 +0200 Thibault Saunier * validate/tools/launcher/baseclasses.py: validate: launcher: Fix printing of errors in final report https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-09-15 19:14:27 +0200 Thibault Saunier * validate/tools/launcher/apps/gstvalidate.py: * validate/tools/launcher/baseclasses.py: * validate/tools/launcher/main.py: validate: Add the possibility to generate media infos with frame descs + Fix a little issue when the generation fails. https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-09-15 17:26:23 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-writer.c: * validate/gst/validate/media-descriptor.h: validate: MediaDescriptors: Add md5sum to buffer informations In the media descriptor files, we now have the md5sum of the actual content of encoded buffers so that we can check that the buffer content is perfectly what is was supposed to be. + Fix the check of whether a frame is a keyframe in the string comparison (g_ascii_strcasecmp return 0 if string matches) https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-09-15 17:25:14 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-parser.h: validate: Move some method between GstMediaDescriptorParser and GstMediaDescriptor So that method land where they actually belong. https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-09-15 17:22:52 +0200 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-element-monitor.c: * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: * validate/tools/gst-validate.c: validate: Add a way to pass a MediaDescriptor around monitors And add an option in gst-validate so that the user can define what media descriptor file to use. https://bugzilla.gnome.org/show_bug.cgi?id=736138 2014-09-12 12:12:14 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-writer.c: validate:media-descriptor: Handle stream with no tags It was segfaulting before. 2014-09-17 16:51:20 +0200 Thibault Saunier * .gitignore: * validate/.gitignore: * validate/docs/.gitignore: * validate/docs/validate/.gitignore: validate: Add more files to gitignore 2014-09-15 17:25:14 +0200 Thibault Saunier * validate/gst/validate/media-descriptor-parser.c: * validate/gst/validate/media-descriptor-parser.h: * validate/gst/validate/media-descriptor.c: * validate/gst/validate/media-descriptor.h: validate: Move some method between GstMediaDescriptorParser and GstMediaDescriptor So that method land where they actually belong. 2014-10-12 16:25:25 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-runner.c: * validate/tests/check/validate/reporting.c: validate-report / reporter: rework the way we repeat issues. + runner: update reports count algorithm. 2014-10-12 16:13:51 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: mark the peer pad as EOS too. When a sink pad gets EOS, its src pad monitor should also be marked as EOS (helpful with issue concatenation). 2014-10-10 10:22:31 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-runner.c: * validate/tests/check/validate/reporting.c: validate-pad-monitor / runner: Check per-object reporting levels. 2014-10-12 14:36:13 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: validate-report: Set conditions in which a report can't be master. 2014-10-12 14:34:34 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: validate-report: Add a reporting level field and setter. 2014-10-21 19:43:45 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-runner.c: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/reporting.c: validate-runner: implement synthetic report. + Fix criticals logic in validate_runner_printf + Update padmonitor tests + Split validate_report_printf function. 2014-10-10 06:01:03 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-runner.c: * validate/tests/check/validate/reporting.c: validate-runner: Implement REPORT_NONE for global reporting. Yeah that was tough. Helpful already though, for example: GST_VALIDATE_REPORT_LEVEL=none,x:all gst-validate src name=x ! sink will only report issues reported by the source. + Add test. 2014-10-10 05:08:28 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/tests/check/validate/reporting.c: tests: Check monitors correctly determine their reporting level. + [API] gst_validate_reporter_get_reporting_level 2014-10-10 03:55:37 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-runner.c: validate-runner / monitor: Let the user single out pads. That's some pretty specific code but it should be helpful. The following syntax can be used : element-name::pad-name. + Free return of gst_object_get_name. 2014-10-10 02:52:26 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-runner.c: validate-runner / reporter: Sanitize reports refcounting. The previous code worked but was confusing, the runner didn't actually take the ref it was releasing later. + Fix indentation. 2014-10-10 02:49:54 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-element-monitor.c: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/test-utils.c: * validate/tests/check/validate/test-utils.h: tests: Test reports refcounts. + Set the element monitor on the element as qdata. 2014-10-10 01:17:43 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-monitor.h: validate-monitor: Determine the reporting level at setup. 2014-10-09 19:41:48 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/tests/check/validate/reporting.c: validate-runner: Add code to parse GST_VALIDATE_REPORT_LEVEL. + Extend the tests. + [API] gst_validate_runner_get_default_reporting_level + [API] gst_validate_runner_get_reporting_level_for_name 2014-10-08 05:08:21 +0200 Mathieu Duponchelle * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-enums.h: * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/tests/check/Makefile.am: * validate/tests/check/validate/reporting.c: validate-runner: report-level initial work. + Defines reporting levels and document them. + Add API to get the default level. + fix indentation. + fix some typos. + Add the beginning of a reporting test. 2014-10-02 02:50:29 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-pad-monitor.c: * validate/tests/check/validate/padmonitor.c: validate-pad-monitor: concatenate issues. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=735665 The process is to check for a similar report in intercept_report on the pads of the upstream element, set that report as the master report of the intercepted report, and return REPORTER_KEEP instead of REPORTER_REPORT. 2014-10-02 02:34:26 +0200 Mathieu Duponchelle * validate/tests/check/validate/test-utils.c: * validate/tests/check/validate/test-utils.h: test-utils: add a create_and_monitor element function. 2014-10-01 18:28:33 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: validate-reporter: Add some methods + gst_validate_reporter_get_reports + gst_validate_reporter_get_reports_count 2014-10-01 15:53:24 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: validate-report: Add the notion of master / shadow reports. A master report is a report that has been detected by a monitor to stem from the same issue. It thus contains a list of "shadow reports" which it will browse when printing itself. 2014-10-01 15:50:11 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-report.c: validate-report: Make the ref / unref functions safer. 2014-10-21 13:07:02 +0200 Mathieu Duponchelle * validate/tests/check/validate/padmonitor.c: tests/padmonitor: Correcly strdup the result of get_metadata. The const pointer was becoming invalid after the first call to add_metadata, and we ended up setting corrupted data on the second call. 2014-10-01 15:11:21 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-monitor.c: * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-scenario.c: validate-reporter: Add return value to intercept_report. It will allow to drop, keep or report reports. 2014-09-30 16:08:46 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-pad-monitor.c: validate-pad-monitor: Reimplement reporter interface. + Do nothing there for now, except chain up. 2014-09-30 14:52:35 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-reporter.h: validate-reporter: add gst_validate_reporter_get_report. + Add locking. 2014-10-20 13:38:20 +0200 Thibault Saunier * validate/configure.ac: Back to development 2014-10-20 12:04:25 +0200 Thibault Saunier * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: Release 1.4.0 2014-10-13 16:28:54 +0200 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: validate: Print position if it could properly be queried Otherwize we will print meaningless garbage. 2014-10-13 10:32:07 +0200 Thibault Saunier * validate/docs/launcher/conf.py: * validate/tools/launcher/baseclasses.py: validate:launcher: Minor enhancement in the documentation 2014-10-12 20:19:42 +0200 Thibault Saunier * validate/data/adaptive_video_framerate.scenario: * validate/data/adaptive_video_framerate_size.scenario: * validate/data/adaptive_video_size.scenario: * validate/data/alternate_fast_backward_forward.scenario: * validate/data/camerabin_signal.scenario: * validate/data/disable_subtitle_track_while_paused.scenario: * validate/data/fast_backward.scenario: * validate/data/fast_forward.scenario: * validate/data/force_key_unit.scenario: * validate/data/pause_resume.scenario: * validate/data/play_15s.scenario: * validate/data/reverse_playback.scenario: * validate/data/scrub_backward_seeking.scenario: * validate/data/scrub_forward_seeking.scenario: * validate/data/seek_backward.scenario: * validate/data/seek_forward.scenario: * validate/data/seek_forward_backward.scenario: * validate/data/seek_with_stop.scenario: * validate/data/simple_seeks.scenario: * validate/data/switch_audio_track.scenario: * validate/data/switch_audio_track_while_paused.scenario: * validate/data/switch_subtitle_track.scenario: * validate/data/switch_subtitle_track_while_paused.scenario: * validate/data/update_start.scenario: * validate/data/update_stop.scenario: * validate/docs/validate/scenarios.xml: * validate/gst/validate/gst-validate-scenario.c: validate: Rename action type playback_time to playback-time Keeping backward compatiblity with the old naming 2014-10-12 20:07:58 +0200 Thibault Saunier * validate/docs/validate/gst-validate-sections.txt: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Rename gst_validate_add_action_type to gst_validate_register_action_type The _register naming corresponds much better to what the method does and makes it more similar to how we refer to this kind of action in GStreamer. It is a last minute API change, but that API should not change anymore after 1.4 is released. 2014-10-12 20:00:03 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Fix the addition of playback_time in the parameter types 2014-10-12 19:46:39 +0200 Thibault Saunier * validate/docs/validate/scenarios.xml: * validate/tools/gst-validate-transcoding.c: * validate/tools/gst-validate.c: validate: Rename --list-action-types to --inspect-action-type Making clearer the meaning of the parameter and closer to the usual naming in the GStreamer land. 2014-10-12 19:16:08 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Add the 'flags' for the seek action type This was always a mandatory field but was not documented 2014-09-29 10:22:55 +0530 Anuj Jaiswal * validate/gst/validate/gst-validate-runner.c: validate: mishandled pointer criticals Free glist of criticals Signed-off-by: Anuj Jaiswal https://bugzilla.gnome.org/show_bug.cgi?id=736313 2014-10-01 10:54:47 +0200 Thibault Saunier * validate/docs/validate/command-line-tools.xml: validate:docs: Add documentation about the default testsuite 2014-09-30 10:30:24 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/tests/check/validate/padmonitor.c: validate-runner: switch to using a GList for the reports. + Return a copy of that list in get_reports. + update tests. 2014-09-30 09:24:48 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: * validate/tests/check/validate/padmonitor.c: validate-runner: Hide implementation. 2014-09-30 09:11:58 +0200 Mathieu Duponchelle * validate/gst/validate/gst-validate-runner.c: * validate/gst/validate/gst-validate-runner.h: gst-validate-runner: Add locking for the reports list. 2014-09-29 15:37:40 +0200 Thibault Saunier * validate/ChangeLog: * validate/NEWS: * validate/configure.ac: * validate/docs/release.txt: Release 1.3.90 2014-09-12 10:47:18 +0200 Thibault Saunier * validate/tools/launcher/apps/gstvalidate.py: * validate/tools/launcher/baseclasses.py: validate:launcher: Factorize code to get a MediaDescriptor name for classname Instead of copy/pasting that code badly 2014-09-12 10:22:15 +0200 Edward Hervey * validate/docs/validate/gst-validate.types: validate/docs: Add location of Scenario/Action defines 2014-09-10 16:45:41 +0530 Anuj Jaiswal * validate/gst/validate/gst-validate-media-info.c: validate: (performance issue)refactor to remove duplicate assignment Signed-off-by: Anuj Jaiswal https://bugzilla.gnome.org/show_bug.cgi?id=736412 2014-09-11 10:54:43 +0200 Thibault Saunier * validate/docs/Makefile.am: validate: docs: Always dist the launcher directoty Fixing make distcheck 2014-09-11 09:42:02 +0200 Thibault Saunier * validate/gst/validate/gst-validate-runner.c: validate: Get the Runner reports in order of arrival Making sure they are printed in the right order 2014-09-10 09:47:22 +0200 Thibault Saunier validate: Start a testsuite Currently implemented tests are: * Settup and cleanup on monitor is done properly * Some tests in the PadMonitor are done properly, namely: - Buffer before segment - Buffer outside segment - First buffer running time is always 0 - The Demuxer flow aggregation is properly checked https://bugzilla.gnome.org/show_bug.cgi?id=736379 2014-09-12 09:49:35 +0200 Edward Hervey * validate/gst/validate/gst-validate-internal.h: validate/private: Avoid double typdef Instead just include required (public and local) header gst-validate-scenario.h:43:44: error: redefinition of typedef 'GstValidateActionParameter' is a C11 feature [-Werror,-Wtypedef-redefinition] 2012-09-26 02:28:00 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: disable tooltip while scrolling 2012-09-26 02:00:10 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: Hide some columns by default 2012-09-26 01:56:05 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: columns: optimize cell data functions a little 2012-09-26 01:41:22 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: Fix crash when copying row to clipboard 2012-09-24 22:58:58 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: fix incorrect position after scrolling using the timeline Apparently events are dropped internally, so the last position after you stop dragging can be off. 2012-09-23 16:43:25 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/models.py: models: store line offsets in arrays 2012-09-23 17:22:53 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Use pango markup instead of attributes Attributes don't work from introspection, so this blocks porting to gtk3. In MessageColumn, admit that multiple highlighters don't actually work. 2012-09-23 17:22:12 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: findbar: highlight multiple matches in a message 2012-09-24 02:15:09 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: only redraw updated parts of the graph Improves rendering performance a lot. 2012-09-24 02:23:22 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: fix position rectangle missing on first click Regression caused by previous commit. 2012-09-22 01:27:37 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: only redraw required areas when updating position rectangle 2012-09-22 01:25:22 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/models.py: Fix crash when range filtering Regression from 25cfe9 (timeline: make log level calculation a lot faster). 2012-09-22 00:33:41 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: clean up widget drawing 2012-09-21 22:52:25 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: make log level calculation a lot faster This is the step where the timeline graph gets colored with the individual log level colors. It's roughly 4.5 times faster now. Probably can be made even better, the code also needs a cleanup. 2012-09-21 22:15:07 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Data: improve stripped log file loading performance A ~9% improvement for files without colors. This now slightly outperforms the code before color support was added. 2012-09-21 21:38:58 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Data: also yield while loading unparseable files Otherwise, the UI would be blocked while loading something big that is not a log file at all. 2012-09-21 19:13:07 +0200 René Stadler * debug-viewer/gst-debug-strip-color.py: Remove color stripping script 2012-09-21 19:11:40 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Data: add support for colored log files Adds a ~5% penalty for loading stripped files. 2012-09-21 00:40:07 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: remove broken actions from context menu Hide lines before/after doesn't work as expected in this case. 2012-09-20 23:51:05 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Data: fix parsing of lines missing filename or function name E.g. ffmpeg. 2012-09-20 20:20:58 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: grab when scrolling in TimelineWidget Also use gdk_event_request_motions. 2012-09-20 20:11:48 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: move mouse handling into TimelineWidget 2012-09-20 19:58:06 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: replace self.connect calls with vmethod overrides 2012-09-17 18:39:53 +0200 Andrzej Bieniek * debug-viewer/setup.py: setup: fix build 2012-08-27 13:52:56 -0700 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: don't select row when changing position in the timeline Behaves just like the scrollbar now. 2012-08-27 13:46:14 -0700 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: stop scanning the file while filtering 2012-08-27 13:45:57 -0700 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: small cleanup 2012-08-24 02:09:04 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/data/menus.ui: Modernize menus a little A bit in preparation to gtk3 app menus. 2012-08-24 01:50:44 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/GstDebugViewer/GUI/window.py: Simplify and optimize filtered model implementation RangeFilteredLogModel is gone. The functionality is trivially implemented in FilteredLogModel now. Changing the range is now O(log n) at worst (was O(n) at best, for rewriting the arrays). Stacking filtered models is not supported anymore, which simplifies the code. 2012-08-24 01:42:00 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/GstDebugViewer/GUI/window.py: Make RangeFilteredLogModel internal to GUI.models 2012-08-24 01:40:24 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/GstDebugViewer/GUI/window.py: Always use a filtered log model in the log view Preparing to phase out RangeFilteredLogModel. 2012-08-24 01:37:27 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/models.py: models: cleanup dead code 2012-03-31 01:16:25 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: window: prevent default handler for delete-event from running 2012-08-24 01:26:32 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: window: set to insensitive during load/filter operations 2012-08-24 01:20:05 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: window: show error for unparseable files 2012-08-24 00:24:55 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/data/progress-dialog.ui: window: replace progress and error dialogs with InfoBars 2012-08-24 00:10:05 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: window: set wmclass, to have a nicer app name when running uninstalled 2011-11-16 20:37:21 +0100 René Stadler * debug-viewer/GstDebugViewer/Data.py: Data: fix up out-of-order log lines This is important because we rely on monotonically increasing timestamps for binary searches in various places. Overhead for an already sorted file with 1 million lines is less than 5%. 2011-11-16 20:23:31 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: window: connect action handlers using a function decorator A bit esoteric, but better than maintaining the list of action names. 2011-11-16 19:50:06 +0100 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: GUI: use 'with' statement 2011-11-16 19:45:16 +0100 René Stadler * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/Common/utils.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/gst-debug-viewer: Switch to new try..except syntax This is forward compatible to Python 3. 2011-11-06 13:35:26 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/window.py: columns: auto size time column when setting base time Base time formatting adds + or - in front of the timestamp, so the column has to grow a little to not hide the last digit. Also fixes a crash when setting the base time while the time column is hidden. 2011-11-06 13:19:55 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: columns: also auto size thread and pid column on zoom change 2011-11-06 13:18:19 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: columns: cleanup default size calculation Some unused parameters here. 2011-11-06 12:49:43 +0100 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Timeline: small cleanup 2011-11-06 12:41:08 +0100 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/tests/create-test-log.py: Data: remove log line serialization This is incomplete and prone to error. Move it out into the utility script (which is the only user). 2011-11-06 12:19:52 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/colors.py: * debug-viewer/GstDebugViewer/GUI/columns.py: Remove odd-even row colors from log level column This is more of visual clutter than aid. People also seem to be less likely to spot the connection between the column and the timeline graph colors. 2011-11-06 00:16:29 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: Resize time and log level columns after zoom change 2011-11-05 23:47:47 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/app.py: * debug-viewer/GstDebugViewer/GUI/window.py: Store zoom level in state 2011-11-05 23:05:00 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/data/menus.ui: Add zoom reset action 2011-11-05 22:53:24 +0100 René Stadler * debug-viewer/data/menus.ui: Clean up context menu These actions are not so commonly used, and also are not depending on the context at all. 2011-11-05 23:52:40 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/window.py: Refactor and fix zoom handling ColumnManager has to apply the zoom factor to newly added columns. Otherwise, showing a previously hidden column appears with scale 1.0. This also drops the value-changed signal emission for the vadjustment, as it is apparently not needed. 2010-07-06 11:42:08 +0300 Stefan Kost * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI/colors.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add 'fixme' and 'trace' log levels 2010-06-30 16:16:45 +0300 Stefan Kost * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: add tooltip to histogram as well 2010-04-16 18:26:26 +0300 Stefan Kost * debug-viewer/GstDebugViewer/GUI/app.py: * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/data/menus.ui: Add zoom in/out actions, reduce vertical row padding Add two actions to shrink and enlarge the text in the log pane. Add a theme overide to set expander size to 1 (see bug #615985) and also turn focus lines off. Remove extra ypadding on cells. 2011-09-25 21:38:48 +0200 René Stadler * debug-viewer/tests/test_models.py: Fix tests Forgot to convert this when modules got split. 2011-09-11 21:10:47 +0100 Andrzej Bieniek * debug-viewer/GstDebugViewer/Main.py: Fix --version option 2011-09-09 22:02:28 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/window.py: Improve wording of hide lines actions These also appear in the context menu of the timeline. The more generic wording makes more sense for the timeline, since you do not pinpoint any specific line in this case. 2011-09-09 21:47:16 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: fix grey background artifact when enlarging window 2011-09-07 16:11:58 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix glib warnings on model property access Seems like pygobject can all of the sudden not handle a NULL model on a property. Using the getter works around this. Also using the setter now for consistency. 2011-09-06 22:27:33 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: fix possible lag when dragging on timeline I need to idle-aggregate scroll updates, since gtk performs heavy operations in a synchronous fashion here (ironically, they do that to make scrolling smooth). 2010-07-02 23:03:39 +0300 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: GUI: Work around GtkBuilder name property API break (gtk+ 2.20) 2009-10-21 00:32:09 +0300 René Stadler * debug-viewer/setup.py: setup.py: fix installation 2009-10-21 00:31:46 +0300 René Stadler * debug-viewer/GstDebugViewer/Main.py: Main: fix import 2009-10-21 00:27:46 +0300 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove stale GUI module 2009-10-16 21:45:29 +0300 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/data/menus.ui: Add new base time feature The log view context menu gains a new action "Set base time", which changes the time column to show the delta to the selected row. 2009-08-07 02:54:10 +0300 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/GUI/__init__.py: * debug-viewer/GstDebugViewer/GUI/app.py: * debug-viewer/GstDebugViewer/GUI/colors.py: * debug-viewer/GstDebugViewer/GUI/columns.py: * debug-viewer/GstDebugViewer/GUI/filters.py: * debug-viewer/GstDebugViewer/GUI/models.py: * debug-viewer/GstDebugViewer/GUI/window.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Split giant GUI module into submodules 2009-06-13 00:58:36 +0300 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: timeline: fix timestamp binary search Fixes dragging the mouse over bigger gaps of log activity making the red position rectangle come out next to the mouse pointer. Also selects the proper row now, not randomly 1-2 rows before or after the gap. 2009-06-12 21:53:28 +0300 René Stadler * debug-viewer/GstDebugViewer/GUI.py: GUI: remove unused imports 2009-03-14 23:50:03 +0200 René Stadler * debug-viewer/setup.py: setup.py: Fix version number 2009-03-14 23:02:45 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/Common/utils.py: * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/setup.py: * debug-viewer/tests/test_models.py: Cleanup whitespace 2009-03-14 20:40:52 +0200 René Stadler * debug-viewer/data/about-dialog.ui: Update copyright statement in about dialog 2009-03-14 20:06:16 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: * debug-viewer/data/menus.ui: * debug-viewer/setup.py: Rename UIManager file 2009-03-14 20:03:37 +0200 René Stadler * debug-viewer/data/about-dialog.ui: * debug-viewer/data/main-window.ui: * debug-viewer/data/progress-dialog.ui: Re-write builder files with glade3 2009-03-14 19:38:36 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/__init__.py: * debug-viewer/data/about-dialog.ui: * debug-viewer/data/gst-debug-viewer.glade: * debug-viewer/data/main-window.ui: * debug-viewer/data/progress-dialog.ui: * debug-viewer/setup.py: Migrate from glade to GtkBuilder 2009-03-11 00:41:26 +0200 René Stadler * debug-viewer/data/gst-debug-viewer.gladep: Remove glade project file 2008-11-29 21:06:52 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/Main.py: Fix logging being on by default with recent Python The fix for Python issue #1021 uncovered a mistake of mine. I was under the impression that logging.NOTSET level means "off", but in fact it means to not modify the level, and setting that on the root logger with basicConfig leads to turning on all levels. 2008-11-29 21:00:20 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Use mmap in a portable way 2008-11-26 23:21:57 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Add FIXME comments 2008-11-26 23:13:05 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: GUI: Fix edit-copy-line action crashing/copying wrong line When the view was unfiltered, this crashed. When the view was range filtered, this copied the wrong line. Spotted by Stefan Kost. 2008-11-05 00:00:48 +0200 René Stadler * debug-viewer/.bzrignore: * debug-viewer/.gitignore: Migrate .bzrignore -> .gitignore 2008-06-30 19:48:34 +0300 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Move more attribute lookups out of loops for speed 2008-06-29 21:14:07 +0300 René Stadler * debug-viewer/GstDebugViewer/Data.py: Add support for recent log format changes, be more tolerant on whitespaces, cope with object names containing '>' 2008-06-13 22:58:54 +0300 René Stadler * debug-viewer/data/gst-debug-viewer.glade: Use correct license in about dialog 2008-03-02 15:24:16 +0200 René Stadler * debug-viewer/setup.py: Fix installation by including missing packages 2008-03-01 20:44:53 +0200 René Stadler * debug-viewer/data/gst-debug-viewer.svg: Add (placeholder) SVG icon file 2008-02-05 17:29:52 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Update vertical timeline when the widget size changes 2008-02-04 17:36:57 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix bottom view showing the wrong selected log line 2008-02-04 17:26:48 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix bottom view line activating the wrong line after filtering 2008-01-25 15:44:38 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix bottom view not showing current line until you add something there 2008-01-25 12:40:51 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Faster handling of partial expose events in timeline 2008-01-25 11:17:02 +0200 René Stadler * debug-viewer/GstDebugViewer/Main.py: Mention GStreamer in --help output 2008-01-25 11:12:48 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Allow to cancel a running filter process 2008-01-24 16:19:15 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Make hide before/after action insensitive when first/last line is selected 2008-01-24 15:18:37 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Add filtering for object name and source code filename 2008-01-24 14:29:39 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add FIXME comment 2008-01-24 12:16:41 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Create own menu structure for log view context menu 2008-01-24 11:49:41 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Sync show-timeline action state before connecting signal handler 2008-01-24 11:47:27 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Timeline.py: Move per-window management into own class 2008-01-24 11:12:05 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Re-format long line 2008-01-24 10:59:14 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Replace gdk.ALL_EVENTS_MASK with proper minimal set of event flags 2008-01-23 17:13:07 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/tests/performance.py: Move performance test program into its own file 2008-01-23 17:07:55 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Allow creation of more than one window 2008-01-23 17:07:51 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add TODO comment 2008-01-23 14:51:14 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Use GdkColors for level column, cleanup color handling 2008-01-23 11:03:47 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Replace linear-time filtered index search with usage of bisect module 2008-01-22 16:28:09 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Restore visible range of log view when changing filter 2008-01-22 13:50:04 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Resolve small FIXME in SubRange 2008-01-22 13:40:36 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Cleanup FilteredLogModel.super_model_changed_range 2008-01-22 12:59:37 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/tests/test_models.py: Fix crash with unparsable files 2008-01-22 11:22:38 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/Main.py: Make option parser work with glib before 2.13.2 2008-01-21 14:45:02 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: s/get_cells/get_cell_renderers/ again 2008-01-21 13:24:02 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Correctly parse categories with digits in them (fixes flump3dec, v4l2src messages) 2008-01-21 11:15:42 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/tests/test_models.py: Fix filtered range transformation (finally!) 2008-01-11 11:11:00 +0200 René Stadler * debug-viewer/tests/test_models.py: Add simple identity filter model tests 2008-01-10 16:15:53 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/tests/test_models.py: Fix filtered model index translation and improve tests 2008-01-10 14:14:12 +0200 René Stadler * debug-viewer/tests/test_models.py: Add test suite for filtered models 2008-01-10 14:12:34 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix off-by-one error in filtered model range reclamping 2008-01-10 13:49:58 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Improve filtered model interacting with range changes 2008-01-02 20:54:33 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Unify two very similar methods 2007-12-21 15:10:15 +0100 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add FIXME about broken index translation logic 2007-12-18 18:48:28 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Prevent crash with older bindings 2007-12-18 17:10:08 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix more problems when clamping with filter turned on 2007-12-18 15:26:05 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix off-by-one error causing display of spurious line when clamping with filter turned on 2007-12-18 13:46:55 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix selection of line after changing filter, add logging 2007-12-17 17:50:10 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Preserve clamped timestamp range when filtering and vice versa 2007-12-13 13:43:28 +0200 René Stadler * debug-viewer/gst-debug-strip-color.py: Fix color stripping script 2007-12-13 13:36:45 +0200 René Stadler * debug-viewer/gst-debug-strip-color.py: Add gst-debug-strip-color.py, a script to strip color codes 2007-12-12 18:35:28 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Implement idle filtering (with progress display) 2007-12-12 16:22:51 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.glade: Factor out progress dialog handling into its own reusable object class 2007-12-12 14:59:53 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Implement category filtering 2007-12-12 13:49:02 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Allow for more than one (log level) filter to be set 2007-12-11 11:38:45 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Restore search to a consistent state when showing the search bar again 2007-12-11 11:28:17 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Add accelerators to search result navigation actions 2007-12-11 11:16:44 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Fix search result navigation action sensitivity when showing the find bar 2007-12-11 11:13:46 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Add search navigation menu items to view menu 2007-12-11 10:44:20 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: When right clicking to open a context menu, pass the event on (which selects the row) 2007-12-10 17:40:31 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Implement backward search result navigation 2007-12-10 17:09:07 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Remove dead/useless code 2007-12-10 17:06:23 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Rename variable 2007-12-10 17:04:47 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Implement lazy searching 2007-12-10 14:22:51 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Some search fixes 2007-12-10 11:49:39 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: Add status label to find bar 2007-12-07 16:50:02 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix timeline warning/error indicator triangle vertical position 2007-12-07 16:24:01 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add GUI utility function to add a popup menu to a widget 2007-12-07 14:10:03 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Cleanup timeline warning/error triangle drawing, add TODOs 2007-12-07 12:02:15 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add tooltip to vertical timeline widget 2007-12-07 11:25:30 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add hide before/after menu items to timeline context menu 2007-12-06 17:51:33 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Add context menu to bottom view, with entry to clear all lines 2007-12-04 16:34:53 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix copying of line to clipboard 2007-12-04 16:21:45 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove implicit keybinding of copy message action 2007-12-04 14:44:34 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix adding rows to the bottom view 2007-12-04 14:40:41 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix crash when adding a line to bottom view with log filter turned on 2007-12-04 14:35:50 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Implement filtered log model index translation 2007-12-04 14:22:19 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add support for stacking log model filters 2007-12-03 17:49:04 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Do not let the user add duplicate lines to the bottom log view 2007-12-03 17:44:40 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Keep the bottom view sorted by timestamp 2007-12-03 16:38:29 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Unbreak filtering again 2007-12-03 16:07:05 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Improve method to update log view after search text change 2007-12-03 15:47:58 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Remove dead code 2007-12-03 15:45:09 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Use the mmapped fileobj in more places and use slice access 2007-12-03 15:24:20 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add simple cache eviction to LazyLogModel to limit memory usage 2007-12-03 14:58:04 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Rename show-find-bar action callback handler 2007-12-03 12:18:23 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Implement lazy highlighting of search results 2007-12-03 11:46:44 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Move search matching logic into the SearchOperation object 2007-12-03 11:35:31 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Add search result navigation 2007-11-30 17:41:33 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix crash when showing all lines after having filtered down to zero lines 2007-11-30 17:39:36 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Avoid GtkWarning when filtering down to no visible line at all 2007-11-30 17:33:08 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix crash when displaying only one line 2007-11-30 17:14:36 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Hide unimplemented filtering actions 2007-11-30 17:13:12 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add preliminary log level filtering support 2007-11-30 16:44:36 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Add level, category, object filtering actions 2007-11-30 16:01:51 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Derive range/clamping model filter from the new base class 2007-11-30 16:00:09 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add identity filter model to save some memory 2007-11-30 15:47:51 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add base class for filtered log models 2007-11-30 15:38:20 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Move class around 2007-11-30 15:35:05 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Change code to cleaner terminology of filter model relationships 2007-11-30 14:15:32 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Try to avoid a crash regarding illegal paths received from GtkTreeView 2007-11-30 14:05:18 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix timeline level distribution plotting after gaps 2007-11-30 10:54:32 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: For search highlighting, use pango attrlists instead of markup 2007-11-30 10:31:45 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: After changing the filter, scroll to the selected row 2007-11-30 10:21:38 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Retain bottom view model and fix crash after filter change 2007-11-29 17:28:35 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Keep line selection when changing filter model 2007-11-29 16:21:38 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Only auto size view columns once 2007-11-29 15:49:58 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.glade: Remove redundant property settings 2007-11-29 15:40:51 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.glade: Fix window size and position state persistency 2007-11-29 15:34:35 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix hanging after loading an unparsable/colored file 2007-11-29 15:25:31 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Behave a little better with unparsable/colored files 2007-11-29 15:11:40 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix division by zero crash with unparsable/colored files 2007-11-29 15:03:07 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Fix crash when viewing a colored log file 2007-11-29 14:29:10 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix crash when opening a file that has trash lines only 2007-11-29 14:26:56 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Gracefully handle garbage lines at the line cache level 2007-11-29 14:07:31 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Correct wording in benchmark output 2007-11-29 13:53:42 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix comment 2007-11-29 13:51:46 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix level distribution calculation for the last partition 2007-11-29 13:31:54 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Make message column receive a minimal size, which removes the size warning 2007-11-29 13:26:54 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove more outdated comments 2007-11-29 13:15:28 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove outdated comment 2007-11-29 13:09:20 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove commented code 2007-11-29 11:38:39 +0200 René Stadler * debug-viewer/data/gst-debug-viewer.ui: Add separator to view menu 2007-11-29 11:37:51 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/data/gst-debug-viewer.ui: s/omit lines/hide lines/ 2007-11-29 11:20:34 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: After load, select the first line 2007-11-29 11:19:00 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: When navigating with the timeline, select the line in the center of the view 2007-11-29 11:16:34 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: When navigating with the bottom view, select the target line 2007-11-29 11:09:28 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: When activating a bottom view row, navigate the log view there 2007-11-29 10:31:59 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add ability to add rows to bottom view 2007-11-28 16:10:57 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Avoid copies of the line index list in the line view model (fixes range filtering) 2007-11-28 15:58:28 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove left over whitespace 2007-11-28 15:32:06 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.glade: Display timestamp and full message of selected line 2007-11-28 11:27:26 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/GUI.py: Correctly set sensitivity of row action group 2007-11-28 10:57:02 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add a (pretty limited) context menu to the timeline widget 2007-11-28 10:42:46 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Adjust comment 2007-11-28 10:27:45 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Main.py: Fix handling of filename command line argument 2007-11-28 09:56:35 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Tweak thread colors a bit 2007-11-27 17:11:28 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add fuzzy compatibility to unpatched pygtk 2.12.0 2007-11-27 16:50:41 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/data/gst-debug-viewer.ui: Add ranged line omission feature 2007-11-27 13:47:30 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Speed up immediate search results by setting search start position 2007-11-27 13:30:28 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/Data.py: Use low idle priority for dispatching, to fix initial vtimeline display 2007-11-27 12:03:32 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: Add basic search highlighting 2007-11-26 18:01:30 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Draw vertical timeline connectors as triangles 2007-11-26 16:55:11 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Set view selection mode to BROWSE 2007-11-26 16:52:21 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix timeline position drawing and vertical timeline initial display 2007-11-26 15:42:44 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Put basename of open file into window title 2007-11-26 15:31:13 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Add reload file functionality 2007-11-26 14:55:31 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Disable interactive search on the log view 2007-11-26 14:42:46 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/FileProperties.py: * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: Save state of timeline visibility 2007-11-26 13:55:03 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/GUI.py: Refactor state/config classes to be more flexible 2007-11-26 11:06:31 +0200 René Stadler * debug-viewer/data/gst-debug-viewer.ui: Comment out unimplemented new-window action item 2007-11-26 10:53:37 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Gracefully handle errors when opening a file 2007-11-26 09:47:53 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FindBar.py: * debug-viewer/data/gst-debug-viewer.glade: Add very simple search bar 2007-11-23 16:06:10 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Colorize vertical timeline lines to indicate different threads 2007-11-23 15:04:14 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Add (commented) support to draw the vertical timeline on first display 2007-11-23 11:46:43 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/data/gst-debug-viewer.glade: Add vertical timeline widget (which looks quite cool) 2007-11-22 20:44:02 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: s/get_cells/get_cell_renderers/ 2007-11-22 16:27:34 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Replace filename column with code column, listing filename and line number 2007-11-22 16:06:55 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: Make file->open work correctly 2007-11-22 13:48:47 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Enable double-clicking a file in file chooser dialog 2007-11-22 13:36:13 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Align log level column text in center 2007-11-22 13:35:39 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix initial column size measurement 2007-11-22 11:56:34 +0200 René Stadler * debug-viewer/tests/create-test-log.py: Adjust test log generator 2007-11-22 11:03:09 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Clamp timeline mouse position to actual range 2007-11-22 10:47:06 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/Data.py: * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/Common/__init__.py: * debug-viewer/GstDebugViewer/Common/utils.py: * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Main.py: * debug-viewer/GstDebugViewer/Plugins/ColorizeRows.py: * debug-viewer/GstDebugViewer/Plugins/FileProperties.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: * debug-viewer/GstDebugViewer/__init__.py: * debug-viewer/gst-debug-viewer: * debug-viewer/setup.py: Fix copyright/license headers and module docstrings 2007-11-22 10:33:18 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: Cleanup 2007-11-22 10:29:23 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: Display timeline by default 2007-11-22 10:19:36 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix missing the last vertical ref line in the timeline display 2007-11-22 09:56:21 +0200 René Stadler * debug-viewer/.bzrignore: Add .bzrignore file 2007-11-22 09:55:13 +0200 René Stadler * debug-viewer/data/gst-debug-viewer.glade.bak: Kick glade backup file out of the repo 2007-11-22 09:54:10 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.glade: * debug-viewer/data/gst-debug-viewer.glade.bak: Implement cancelling of the load process in the UI 2007-11-22 09:31:37 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Progressively draw the debug level distribution into the timeline widget 2007-11-21 17:40:31 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/Data.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Don't make timeline data processing block the GUI 2007-11-21 15:21:40 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/__init__.py: * debug-viewer/GstDebugViewer/GUI.py: Ease importing of modules from the Common package 2007-11-21 14:21:38 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Ditch arrays for offset storage again 2007-11-21 13:42:32 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Fix timeline for files where the first timestamp >> 0 2007-11-21 11:40:13 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Use an array for line offset mapping (if file < 4GB) 2007-11-21 10:47:40 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Add LogLines class 2007-11-20 17:45:35 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Rename COL_LINE to COL_LINE_NUMBER 2007-11-20 17:40:35 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Fix object name serialization 2007-11-20 15:58:52 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/tests/create-test-log.py: Add test script to generate a simple test log. Fix level name space adjustment 2007-11-20 15:32:14 +0200 René Stadler * debug-viewer/MANIFEST.in: * debug-viewer/po/POTFILES.in: Add dummy po directory and add MANIFEST.in 2007-11-20 15:25:32 +0200 René Stadler * debug-viewer/gst-debug-viewer: * debug-viewer/gst-debug-viewer.desktop: * debug-viewer/gst-debug-viewer.desktop.in: * debug-viewer/gst-debug-viewer.py: * debug-viewer/setup.cfg: * debug-viewer/setup.py: Copy over distutils setup from gst-inspector 2007-11-20 14:52:26 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Almost allow copying a full line to clipboard 2007-11-20 13:58:34 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove commented code 2007-11-20 13:56:15 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Replace model.get with model.get_value 2007-11-20 13:34:00 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Cleanup 2007-11-20 13:31:58 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Remove commented code, resolve FIXME 2007-11-20 12:33:47 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Simplify function 2007-11-20 11:06:27 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Rename more density stuff to timeline 2007-11-19 15:55:08 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove unused attribute 2007-11-19 15:52:01 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: And now make it actually run\! 2007-11-19 15:44:54 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Also commit the previous change to the GUI module :-/ 2007-11-19 15:27:16 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Move final log line parsing from GUI to Data module 2007-11-19 11:35:27 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Optimize color stripping function a bit 2007-11-19 10:59:52 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/Timeline.py: Also plot green info line count in timeline display 2007-11-17 10:23:58 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add user/system time to benchmark output 2007-11-17 10:06:09 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: * debug-viewer/GstDebugViewer/Plugins/Timeline.py: * debug-viewer/data/gst-debug-viewer.ui: Rename line frequency plugin/widget to timeline 2007-11-16 17:25:08 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: Speed up level density sentinel 2007-11-16 16:30:17 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Correctly handle variable length thread address formatting 2007-11-16 15:56:57 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: Add markers for warning and error log messages to the timeline display 2007-11-16 15:06:59 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: Colorize log and debug log levels in frequency display widget 2007-11-16 13:26:20 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Colorize debug level column 2007-11-16 12:53:02 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Rename debug level instances 2007-11-16 12:48:08 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Hacky commit to parse debug level on line cache level 2007-11-16 11:03:22 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: Add (commented out) support for parsing debug level at line cache scan time 2007-11-16 10:28:23 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: Cleanup 2007-11-15 18:17:28 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix timestamps of unparsable lines to fix line density display 2007-11-15 18:12:57 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Fix message display 2007-11-15 17:54:30 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Save huge amounts of memory by never caching the message and interning data for the other columns 2007-11-15 15:06:37 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Use less regex matching to parse lines (does not provide a performance gain though) 2007-11-15 14:07:00 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Make column id order match log line fields order 2007-11-15 14:01:53 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix benchmark hack option 2007-11-15 13:47:38 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Add some simple filtering 2007-11-15 09:20:34 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add evil comment about treeview slowness with multiple selection mode 2007-11-15 08:58:48 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Fix comment 2007-11-14 22:51:47 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Use monospace font for some numeric columns 2007-11-14 20:35:18 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: Also draw vertical help lines 2007-11-14 16:56:35 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Change model design to be more filter friendly 2007-11-14 15:49:03 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: Draw horizontal helper lines in frequency display 2007-11-14 15:44:01 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Separate log model into base class and lazy implementation. Add basis for a filter model based on that 2007-11-14 14:49:55 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Remove dead/commented out code 2007-11-14 14:48:31 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add/change comments 2007-11-14 13:57:08 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Change view columns menu item label 2007-11-14 13:34:53 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Add PID column 2007-11-14 13:15:36 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/FileProperties.py: * debug-viewer/data/gst-debug-viewer.ui: Add skeleton for file properties plugin 2007-11-14 12:48:43 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/data/gst-debug-viewer.ui: Add debug output. Add filename column 2007-11-14 11:31:57 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Add view columns visibility and ordering state persistence 2007-11-14 11:13:07 +0200 René Stadler * debug-viewer/GstDebugViewer/GUI.py: Don't make column headers clickable 2007-11-14 10:55:12 +0200 René Stadler * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: Fix progress display on load 2007-11-14 10:44:08 +0200 René Stadler * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: If the indicator in the frequency display is just 1px wide, don't use transparency 2007-11-14 10:30:19 +0200 René Stadler * debug-viewer/GstDebugViewer/Common/Data.py: * debug-viewer/GstDebugViewer/Common/GUI.py: * debug-viewer/GstDebugViewer/Common/Main.py: * debug-viewer/GstDebugViewer/Common/__init__.py: * debug-viewer/GstDebugViewer/Common/utils.py: * debug-viewer/GstDebugViewer/Data.py: * debug-viewer/GstDebugViewer/GUI.py: * debug-viewer/GstDebugViewer/Main.py: * debug-viewer/GstDebugViewer/Plugins/ColorizeRows.py: * debug-viewer/GstDebugViewer/Plugins/LineFrequency.py: * debug-viewer/GstDebugViewer/Plugins/__init__.py: * debug-viewer/GstDebugViewer/__init__.py: * debug-viewer/data/gst-debug-viewer.glade: * debug-viewer/data/gst-debug-viewer.glade.bak: * debug-viewer/data/gst-debug-viewer.gladep: * debug-viewer/data/gst-debug-viewer.png: * debug-viewer/data/gst-debug-viewer.ui: * debug-viewer/gst-debug-viewer.desktop: * debug-viewer/gst-debug-viewer.py: * debug-viewer/pixmaps/gst-debug-viewer.png: New import (the old repo got busted, just had 4 revs anyways) 2014-09-06 12:34:39 +0200 Thibault Saunier * validate/configure.ac: * validate/docs/Makefile.am: validate: Make sphinx documentation generation optionnal 2014-09-06 11:41:48 +0200 Thibault Saunier * validate/configure.ac: * validate/docs/Makefile.am: * validate/docs/launcher/Makefile.am: * validate/docs/launcher/conf.py: * validate/docs/launcher/index.rst: * validate/docs/launcher/launcher.rst: * validate/docs/launcher/modules.rst: validate:launcher: Add needed files to build documentation with sphinx 2014-09-06 11:38:38 +0200 Thibault Saunier * validate/tools/launcher/apps/Makefile.am: * validate/tools/launcher/apps/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-09 19:10:57 +0300 Sreerenj Balachandran * codecanalyzer/.gitignore: * codecanalyzer/AUTHORS: * codecanalyzer/COPYING: * codecanalyzer/Makefile.am: * codecanalyzer/NEWS: * codecanalyzer/README.md: * codecanalyzer/autogen.sh: * codecanalyzer/configure.ac: * codecanalyzer/data/Makefile.am: * codecanalyzer/data/pixmaps/Makefile.am: * codecanalyzer/data/pixmaps/codecanalyzer-logo.png: * codecanalyzer/data/pixmaps/frame-thumbnail.png: * codecanalyzer/data/ui/LICENSE.txt: * codecanalyzer/data/ui/Makefile.am: * codecanalyzer/data/ui/mainwindow.xml: * codecanalyzer/data/ui/menu.xml: * codecanalyzer/src/Makefile.am: * codecanalyzer/src/codecanalyzer.c: * codecanalyzer/src/gst_analyzer.c: * codecanalyzer/src/gst_analyzer.h: * codecanalyzer/src/plugins/Makefile.am: * codecanalyzer/src/plugins/gst/Makefile.am: * codecanalyzer/src/plugins/gst/analyzersink/Makefile.am: * codecanalyzer/src/plugins/gst/analyzersink/analyzer_utils.c: * codecanalyzer/src/plugins/gst/analyzersink/analyzer_utils.h: * codecanalyzer/src/plugins/gst/analyzersink/gstanalyzersink.c: * codecanalyzer/src/plugins/gst/analyzersink/gstanalyzersink.h: * codecanalyzer/src/plugins/gst/analyzersink/mpeg_xml.c: * codecanalyzer/src/plugins/gst/analyzersink/mpeg_xml.h: * codecanalyzer/src/plugins/gst/analyzersink/plugin.c: * codecanalyzer/src/plugins/gst/analyzersink/xml_utils.c: * codecanalyzer/src/plugins/gst/analyzersink/xml_utils.h: * codecanalyzer/src/xml_parse.c: * codecanalyzer/src/xml_parse.h: New Tool: Add a CodecAnalyzer https://bugzilla.gnome.org/show_bug.cgi?id=731853 2014-07-07 16:12:22 +0200 Stefan Sauer * mediainfo/TODO: * mediainfo/src/mi-info.vala: TODO: add some planning comments 2013-10-22 10:57:14 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: add wikilink for opus 2014-07-02 17:53:55 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Execute actions if we get seeked in ready state 2014-07-02 11:27:22 +0200 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: * validate/gst/validate/gst-validate-scenario.c: * validate/tools/gst-validate.c: validate: Let scenarios tell the apps about whether it handles states The user only needs to add handles-states=true in the description line of the scenario 2014-06-19 12:58:49 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate:scenario: Do not care about the position if we are not at least in PAUSED state At that time the position query will be meaningless so we should just go to the next action. 2014-06-26 15:07:39 +0200 Thibault Saunier * validate/tools/launcher/apps/validate/validate_testsuite.py: validate: Handle MXF files 2014-06-26 15:03:07 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/media-descriptor.c: validate:media-check: Changes in tags detection are not fatal issues 2014-06-26 13:01:13 +0200 Thibault Saunier * validate/tools/launcher/apps/Makefile.am: * validate/tools/launcher/apps/gst-validate.py: * validate/tools/launcher/apps/validate/validate_testsuite.py: * validate/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-26 03:01:37 -0700 Zaheer Abbas Merali * vagrant/Vagrantfile: * vagrant/ansible_hosts: * vagrant/gst-streaming-server-git.yml: * vagrant/gstreamer-git.yml: * vagrant/gstreamer.yml: * vagrant/ipython.yml: * vagrant/playbook.yml: vagrant: initial commit Vagrant environment to do GStreamer development, debugging and testing. 2013-10-21 13:06:46 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: handle streams with unknown duration 2013-10-21 09:08:18 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: start handling missing plugin messages We only print them to the debug log for now. 2013-10-21 09:07:09 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: * mediainfo/src/mi-preview.vala: mi-preview: use ensure_native() in realized() This fixes X crashers at startup when preparing the overlay. 2013-10-19 21:15:08 +0200 Stefan Sauer * mediainfo/TODO: mi/TODO: planning update 2013-10-19 21:13:46 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: go back to use the sync api If we discover 'too quickly' the machinery seems to get into a state, where it does not discover anything anymore. 2013-10-18 23:33:50 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: * mediainfo/src/mi-preview.vala: mi-preview: reflow the overlay sync We need to listen to preview-widget resizing to send an expose to the gst- overlay. Defer discovering until the ui has be realized. 2013-10-18 18:22:33 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: mi-app: use an idle-handler to set the initial directory This ensures we don't emit selection changed signals before we're up and running. 2013-10-17 22:34:25 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: improve media preview Set double_buffering when we analyzed the media. Drop signal handlers on preview widget for delayed configuration. Prepare preview as soon as we have discovered. 2013-10-14 11:25:39 -0300 Thibault Saunier * validate/configure.ac: * validate/tools/Makefile.am: Properly link against gstreamer-video as it is now needed 2013-10-14 11:20:03 -0300 Thibault Saunier * validate/gst/validate/gst-validate-media-info.c: media-info: Do not use GST_PTR_FORMAT with g_print Fix compilation 2013-10-14 11:07:03 -0300 Thibault Saunier * validate/data/scrub_forward_seeking.scenario: data: Avoid races in the scrub_forward seeking scenario Make sure that it does not last too long if the file is long (scrubing on 10 secs maximum), and make sure that we do not end up seeking after the max duration 2013-10-14 11:05:48 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.c: report: Set refcount=1 when creating a report As it should start with 1 reference, not 0 2013-10-09 09:35:29 -0300 Thibault Saunier * validate/data/Makefile.am: * validate/data/force_key_unit.scenario: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/tools/gst-validate-transcoding.c: scenario: Add an action that checks the "force-key-unit" event execution 2013-10-09 09:33:06 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: scenario: Make the get_clocktime helper a public method So it can be reused outside of the core code 2013-10-07 19:47:15 -0300 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Do not try to compare 2 not fixed values There is no reliable way of checking those values in the case they are not fixed, let's just make sure we get fixed values before executing the check 2013-10-07 17:40:54 -0300 Thibault Saunier * validate/data/Makefile.am: * validate/data/adaptive_video_framerate_size.scenario: data: Add an adaptive video framerate and size scenario 2013-10-07 17:18:37 -0300 Thibault Saunier * validate/data/Makefile.am: * validate/data/adaptive_video_framerate.scenario: * validate/tools/gst-validate-transcoding.c: data: Add an adaptive video framerate scenario 2013-10-07 12:08:28 -0300 Thibault Saunier * validate/data/Makefile.am: * validate/data/adaptive_video_size.scenario: data: Add a scenario where we change the video size on during playback 2013-10-07 12:06:22 -0300 Thibault Saunier * validate/tools/gst-validate-transcoding.c: transcoding: Add a new action to change restriction caps at runtime 2013-10-07 12:07:47 -0300 Thibault Saunier * validate/tools/gst-validate-transcoding.c: transcoding: Fix the way we get pad caps 2013-10-07 10:59:39 +0200 Stefan Sauer * mediainfo/TODO: * mediainfo/src/mi-info.vala: mi-todo: planning and todo comment update 2013-10-07 10:59:15 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: add two more wikilinks 2013-10-07 10:07:31 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: filter language-code from tags We already show the language code as a separate field. 2013-10-05 13:29:52 -0300 Thibault Saunier * validate/data/alternate_fast_backward_forward.scenario: * validate/data/fast_backward.scenario: * validate/data/fast_forward.scenario: * validate/data/seek_backward.scenario: * validate/data/seek_forward.scenario: * validate/data/seek_forward_backward.scenario: * validate/data/simple_backward.scenario: * validate/data/simple_seeks.scenario: * validate/data/update_start.scenario: * validate/data/update_stop.scenario: data: Set seeks to accurate+flush by default 2013-10-05 12:44:39 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Pass through gst-indent 2013-10-05 12:43:27 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Use g_error instead of exit (0) 2013-10-05 12:43:03 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Factor out function to get GstClockTime out of a structure 2013-10-05 12:01:46 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Use a weak ref to the pipeline We are listening to it, we should not be owning a ref to it. 2013-10-05 12:00:35 -0300 Thibault Saunier * validate/docs/validate-usage.txt: * validate/gst/validate/gst-validate-runner.c: * validate/tools/gst-validate-transcoding.c: runner: Use "18" as exit code in case of error It is a random number, but it will in most cases give people a hint that gst-validate reported a critical issue, and thus set the return code, only by looking at it Also make use of gst_validate_runner_print() in gst-validate-transcoding.c as we were copy pasting that method there. 2013-10-03 19:23:57 -0300 Thibault Saunier * validate/data/seek_backward.scenario: * validate/data/seek_forward.scenario: * validate/gst/validate/gst-validate-scenario.c: scenario: Handle formulas in playback_time And port seek forward/backward scenarios to relative seeking 2013-09-28 02:18:55 +0200 Thibault Saunier * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: scenario: Check that all action were properly executed 2013-09-28 00:15:13 +0200 Thibault Saunier * validate/data/Makefile.am: * validate/data/scrub_forward_seeking.scenario: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: scenario: Add the notion of repeated actions 2013-09-28 00:05:51 +0200 Thibault Saunier * validate/gst/validate/Makefile.am: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-utils.c: * validate/gst/validate/gst-validate-utils.h: utils: Add util functions to parse simple mathematical expressions And make use of it to set the start of a seek 2013-09-28 00:12:07 +0200 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Error out and exit when we fail loading a scenario 2013-10-04 09:58:17 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: add more wikilinks 2013-10-04 07:51:46 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: pretty print framerates Avoid to print 0 fps. Handle the special 0/1 case for still images. 2013-10-03 18:14:18 -0400 Olivier Crête * validate/gst/validate/gst-validate-scenario.h: gst-validate-scenario: Only typedef the struct once Some gcc versions don't like the typedef being done twice 2013-10-03 22:23:22 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: add a helper to format bit-rates Print bit-rates in kbit/sec. Add handling for unknown values and ranges. 2013-10-03 22:22:46 +0200 Stefan Sauer * mediainfo/src/mi-preview.vala: mi-preview: ensure that natural-size >= min-size 2013-10-01 08:21:45 +0200 Stefan Sauer * mediainfo/TODO: mi/TODO: planning update 2013-10-01 07:48:20 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: reset toc info when we did not get disco info 2013-10-03 05:32:54 -0400 Vincent Penquerc'h * validate/gst/validate/gst-validate-scenario.c: scenario: do not set default seek flags Seeks will be done with no particular flags, unless specified in the scenario. 2013-09-30 15:39:54 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: filter buffer entries from caps Filter buffer entries from caps before showing them as string. 2013-09-28 07:19:59 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: show tooltip for caps labels with full caps string 2013-09-28 07:12:27 +0200 Stefan Sauer * mediainfo/TODO: * mediainfo/src/mi-info.vala: mi-info: send seek events when clicking toc entries Get the start-pos from the active toc entry and seek. 2013-09-27 08:03:59 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: use a TreeView for the toc Use a TreeView with a TreeStore to show toc-entries. 2013-09-30 09:51:21 -0400 Olivier Crête * validate/tools/gst-validate.c: gst-validate: Don't use the GOptionContext after freeing it 2013-09-25 08:19:26 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: indent toc entries Also add todo for how to make it a treeview instead 2013-09-25 08:01:29 +0200 Stefan Sauer * mediainfo/TODO: TODO: planning 2013-09-25 07:58:49 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: mark nullable parameters as such 2013-09-25 07:54:43 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: add start/stop times in toc 2013-09-21 00:23:17 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: pad-monitor: Check if channel-mask is present only if channels > 2 As it is not a mandatory field otherwize https://bugzilla.gnome.org/show_bug.cgi?id=708499 2013-09-19 07:38:20 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Add GST_VALIDATE_SCENARIOS_PATH environment variable So you can specify the PATHS where to look for scenario files 2013-09-16 10:03:07 -0300 Thiago Santos * validate/data/update_start.scenario: * validate/data/update_stop.scenario: scenarios: add 2 new scenarios for seeks with different seek types They test seeks that only update the stop or the start position, some demuxers seem not to handle the case where start type is set to None. 2013-09-13 12:09:30 -0300 Thiago Santos * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-scenario.c: validate-scenario: track position query results closer Always keep probing the pipeline for the current position and compare with the latest requested seek segment to detect if the seek boundaries are being respected 2013-09-17 15:56:19 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: scenario: Make it possible to define mandatory fields And give a descrpition for actions 2013-09-02 11:11:15 -0400 Vincent Penquerc'h * validate/data/Makefile.am: * validate/data/switch_audio_track.scenario: * validate/gst/validate/gst-validate-scenario.c: scenario: add a track switch command, and an audio track switch test The "switch-track" command can be used to switch tracks. The "type" argument selects which track type to change (can be "audio", "video", or "text"). The "index" argument selects which track of this type to use: it can be either a number, which will be the Nth track of the given type, or a number with a "+" or "-" prefix, which means a relative change (eg, "+1" means "next track", "-1" means "previous track"). Conflicts: validate/gst/validate/gst-validate-scenario.c 2013-09-16 18:48:38 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Make it possible to register action parsing funcs before init 2013-09-13 15:48:56 -0300 Thibault Saunier * validate/Makefile.am: * validate/configure.ac: * validate/pkgconfig/Makefile.am: * validate/pkgconfig/gst-validate-uninstalled.pc.in: * validate/pkgconfig/gst-validate.pc.in: validate: Add .pc files so applications can link against us 2013-09-15 15:11:53 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: extact helper to format times 2013-09-13 08:16:34 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: comment updates 2013-09-13 08:12:34 +0200 Stefan Sauer * mediainfo/TODO: TODO: update planing 2013-09-13 08:12:05 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: extract ui-helper for format/codec-rows 2013-09-13 07:55:14 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: extract ui helper for adding an entry A helper to add a label + str formatted details as a table row. 2013-09-11 08:21:06 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: extract more common ui code into helpers 2013-09-09 18:48:10 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: reshuffle container widgets Prepare for handling nested containers. 2013-09-09 18:37:24 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: code cleanups First reset the info pane and then check/update. This fixes not resetting the tabs on info==null. 2013-09-09 18:36:47 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: fix type It is 'Notebook' and not 'NoteBook'. 2013-09-06 08:56:05 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: * mediainfo/src/mi.vala: mi: code cleanups, comments 2013-09-06 08:03:51 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: fix tab-index in compact mode 2013-09-05 09:18:26 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: sort streams by stream_id This way we are activating the right stream when switching tabs. 2013-09-05 09:18:04 +0200 Stefan Sauer * mediainfo/TODO: TODO: spelling fixes and update 2013-09-04 09:17:28 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi.vala: app: allow giving an uri instead of a directory as a startup arg This way we can play streams. 2013-09-04 09:16:47 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: * mediainfo/src/mi-preview.vala: preview: fix minimal size We need some minial size, otherwise we can enlarge, but not shrink the window. 2013-09-04 09:15:34 +0200 Stefan Sauer * mediainfo/TODO: TODO: small ideas update 2013-09-04 09:15:07 +0200 Stefan Sauer * mediainfo/HACKING: * mediainfo/src/mi-info.vala: HACKING: update instructions 2013-09-03 22:03:19 +0200 Stefan Sauer * mediainfo/src/Makefile.am: * mediainfo/src/mi-info.vala: * mediainfo/src/mi-preview.vala: preview: extract preview area as separate widget 2013-09-03 07:41:46 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: * mediainfo/src/mi.vala: mi: update my name and years 2013-09-02 22:25:09 +0200 Stefan Sauer * mediainfo/HACKING: * mediainfo/src/Makefile.am: * mediainfo/vapi/config.vapi: mi: set the log domain 2013-09-02 09:52:30 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: comment updates 2013-09-02 09:49:51 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: turn stdout.printf into debug log calls 2013-09-02 09:41:24 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: add todo for stream switching 2013-09-02 09:40:58 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: playbin handles force-aspect-ration in 1.0 2013-08-30 10:53:13 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: improve sizing We're now hinting the scrolled window about the content size to avoid empty space + scrolling. 2013-08-30 08:41:48 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: basic subtitle support 2013-08-30 08:26:37 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: video-area: improve resizing of the video area The browser pane does not expand by default. Track aspect-ration for the currently displayed object. Use an aspect frame as a container for the drawing-area. 2013-08-29 07:51:13 +0200 Stefan Sauer * mediainfo/README: * mediainfo/TODO: todo: update planning and ideas 2013-08-28 21:27:36 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: mi-app: use the newer gtk api with orientation 2013-08-28 20:26:54 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: improve wikilink mapping Try codecname and then caps name to get wiki links. Also show caps for the container. 2013-08-27 23:57:06 +0200 Stefan Sauer * mediainfo/configure.ac: * mediainfo/src/mi-info.vala: mi: port to gst-1.0 and gtk+3 2013-08-18 16:01:33 +0200 Stefan Sauer * mediainfo/TODO: TODO: some link for inspiration 2012-10-23 15:54:06 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: cleanup. update name and year, queue a redraw for album art 2012-10-23 15:21:34 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: porting: update on vala changes 2011-06-21 15:05:37 +0200 Stefan Sauer * mediainfo/autogen.sh: * mediainfo/configure.ac: buid: fix the bootstrapping Create the macrodir. Remove the GETTXT macro that was clashing with INTLTOOL. 2011-03-04 18:14:06 +0200 Stefan Sauer * mediainfo/README: README: more planning 2011-03-04 18:13:34 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: add wikilinks for two more codecs 2011-02-18 17:36:30 +0200 Stefan Sauer * mediainfo/README: README: planning 2011-01-29 14:41:28 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: reset container and duration fields if file is not discoverable Before the previous text was left. 2011-01-25 15:07:07 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: change the order of asyn disco calls Starting disco before enqueueuing uris seems to make it work. 2011-01-25 14:52:05 +0200 Stefan Sauer * mediainfo/README: planing: CBR/VBR info 2011-01-24 23:42:15 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: prepare for async discovery The async api usage is not yet activated due to some uncertanty in the api use. 2011-01-24 23:40:23 +0200 Stefan Sauer * mediainfo/README: * mediainfo/src/mi-info.vala: comments: planning and code comments 2011-01-24 22:28:32 +0200 Stefan Sauer * mediainfo/src/Makefile.am: Makefile: indenting 2011-01-24 11:24:26 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: add more wikilinks 2011-01-17 23:09:54 +0200 Stefan Sauer * mediainfo/configure.ac: release: bump versions and back to development 2011-01-17 23:05:54 +0200 Stefan Sauer * mediainfo/NEWS: release: prepare for release 2011-01-17 23:06:07 +0200 Stefan Sauer * mediainfo/HACKING: docs: more maintainer info 2011-01-16 14:25:19 +0200 Stefan Sauer * mediainfo/HACKING: docs: add simple HACKING file 2011-01-14 23:15:42 +0200 Stefan Sauer * mediainfo/src/Makefile.am: build: fix distcheck 2011-01-14 23:01:08 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: app: add idea for stream-open dialog 2011-01-14 22:41:20 +0200 Stefan Sauer * mediainfo/configure.ac: * mediainfo/po/POTFILES.in: * mediainfo/src/Makefile.am: * mediainfo/src/gst-mi.desktop.in: desktop: add a desktop file 2011-01-14 22:40:03 +0200 Stefan Sauer * mediainfo/src/Makefile.am: * mediainfo/src/gst-mi.png: * mediainfo/src/gst-mi.svg: * mediainfo/src/mi-app.vala: icon: add an application icon Set as default icons, so that it it used for windows and in about dialog. 2011-01-14 21:53:34 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: enable double buffering when displaying album art 2011-01-14 18:39:01 +0200 Stefan Sauer * mediainfo/README: * mediainfo/src/mi-info.vala: info: handle album-art Decode and draw the album art into the video window. 2011-01-14 11:19:16 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: filter buffers from tags and add some planning comments 2011-01-14 11:18:45 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: add comment with wikipedia alternative for links 2011-01-13 12:21:46 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: app: add about dialog 2011-01-13 12:05:35 +0200 Stefan Sauer * mediainfo/po/POTFILES.in: * mediainfo/po/POTFILES.skip: i18n: manage translatable files 2011-01-13 12:03:00 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: * mediainfo/vapi/vapi.gstreamer-pbutils-0.10.patch: vapi: no more need for patching the vapi file 2011-01-13 11:56:37 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: switch stream callback for compact layout 2011-01-13 11:56:18 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: verified link 2011-01-13 10:03:32 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: add compact_layout mode For screen-heights <= 600 pixels use a single notebook for all streams. 2011-01-13 09:15:04 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: add more wikilinks and use it for streams too 2011-01-12 10:17:56 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: add a hashmap with wiki links and start using them The container description will be turned into a link if we have a known wikipedia article for it. 2011-01-04 14:56:40 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: mi-info: more ui layout planning 2010-12-21 23:09:43 +0200 Stefan Sauer * mediainfo/README: README: planning 2010-12-21 14:54:56 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: menu: use alternative way to get the key number 2010-12-21 13:55:02 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: menu: add F11 accelerator for fullscreen 2010-12-21 13:21:34 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: blacklist "norminal-bitrate" too We show that above already. 2010-12-21 13:18:38 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: menu: add View menu with fullscreen item 2010-12-21 12:01:40 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: layout: improve the layout on small screens Pack the info view info a scrolled window. Use an extra paned to allow resizing the video pane. Minimize padding on paned widgets. 2010-12-21 11:27:57 +0200 Stefan Sauer * mediainfo/Makefile.am: * mediainfo/configure.ac: build: updates for gettext 2010-12-16 23:06:57 +0200 Stefan Sauer * mediainfo/README: README: planning 2010-12-16 23:02:31 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: show the fps as a double 23.97 fps is easier to read that 10000000 / 417083. 2010-12-16 11:42:34 +0200 Stefan Sauer * mediainfo/autogen.sh: autogen.sh: fix silly typo 2010-12-15 11:46:08 +0200 Stefan Sauer * mediainfo/README: README: planning 2010-11-30 12:20:44 +0200 Stefan Sauer * mediainfo/README: README: update todo lists 2010-11-30 11:19:35 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: make urls in tags clickable 2010-11-30 11:18:37 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: make labels selectable for copy'n'paste 2010-11-10 08:50:48 +0200 Stefan Sauer * mediainfo/README: * mediainfo/src/mi-info.vala: planning: comments and todos 2010-11-08 11:52:11 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: improve tag filtering Hide duration as well. Also skip all tags where the name starts with "private-". 2010-11-08 11:40:06 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: redo tag list formatting Loop over tags and serialize items. Skip some already shown info. 2010-11-08 10:38:39 +0200 Stefan Sauer * mediainfo/README: * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: maintenance: code cleanups and addition TODO: comments 2010-11-05 17:17:16 +0200 Stefan Sauer * mediainfo/configure.ac: * mediainfo/src/mi-info.vala: info: add named video resolutions Use a gee hashmap for named video resolutions (e.g. VGA) and show those in the info. 2010-11-04 12:47:14 +0200 Stefan Sauer * mediainfo/README: * mediainfo/src/mi-info.vala: * mediainfo/vapi/vapi.gstreamer-pbutils-0.10.patch: info: show human readable container format name Update the patch for vala bindings. Update README as getting the contaienr caps is already possible. 2010-11-04 10:49:40 +0200 Stefan Sauer * mediainfo/vapi/vapi.gstreamer-pbutils-0.10.patch: vapi: add current patch for gstreamer-pbutils vapi metadata 2010-11-04 10:46:43 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: show stream tags as multiline label 2010-11-04 10:15:19 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: show misc stream info, if available 2010-11-04 09:48:55 +0200 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi.vala: app: add directory property and use it as default location for browsing Allow passing a directory as a commandline arg. If given use that as the default location, otherwise use current working dir. 2010-11-04 09:46:58 +0200 Stefan Sauer * mediainfo/src/mi.vala: mi: we need to open the default display The ui was crashing otherwise. Opening the default display seems to be the default behaviour for gtk_init(). 2010-11-03 13:59:44 +0200 Stefan Sauer * mediainfo/src/mi.vala: mi: add basic goption usage Only --version works right now. 2010-11-03 10:47:04 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: handle video area expose also if we have no video 2010-11-03 10:34:57 +0200 Stefan Sauer * mediainfo/README: README: add todo for gst-discoverer 2010-11-03 10:33:43 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: use File.query to get file info Use the file info to query content-type and icon. Show file-type icon in the UI. 2010-11-03 10:01:04 +0200 Stefan Sauer * mediainfo/src/mi-info.vala: info: prepare to show human readable container format info gst-discoverer does not yet provide it unfortunately. 2010-10-28 17:34:38 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: add more TODO 2010-10-28 17:34:15 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: switch streams when switching tabs 2010-10-28 17:33:54 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: whitespace fix 2010-10-28 16:45:55 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: add human readable code info 2010-10-28 16:39:35 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: improve resolution Orint it as "w x h" and add idea to convert to human readable string 2010-10-28 16:34:08 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: add remaining audio/video info fields 2010-10-28 03:08:28 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: turn stream widgets into tables and add bitrate 2010-10-28 02:15:56 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: initialy paint video area black 2010-10-28 01:41:48 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: ellipsize labels to avoid horzontal window growth 2010-10-28 01:41:07 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: stop playback on unrealize Prevent "BadDrawable" errors. 2010-10-27 02:18:17 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: ensure we have a native widnow for the drawing_area Fixes BadID x errors. 2010-10-27 02:02:15 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: add vapi info for ubuntu 2010-10-25 10:54:07 +0300 Stefan Sauer * mediainfo/README: REDME: planning 2010-10-20 00:44:18 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: get a/mediainfo/v streams and show caps 2010-10-19 23:04:42 +0300 Stefan Sauer * mediainfo/src/mi-app.vala: app: use a hpane instead of the file-chooser preview widget This allows the user to modify the size. 2010-10-19 22:53:28 +0300 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: app: only run discover for files 2010-10-18 22:50:02 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: start to use discoverer and improve the ui Organize the info pane as a table. Add mime type and duration fields to container section. 2010-10-18 17:38:32 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: add more ui boilerplate and fixme comments 2010-10-18 17:14:46 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: enable discovered Add comment telling how to regenerate the vapi files. 2010-10-18 10:31:43 +0300 Stefan Sauer * mediainfo/src/mi-info.vala: info: make the overlay iface work and activate playback 2010-10-18 09:53:45 +0300 Stefan Sauer * mediainfo/src/mi-app.vala: app: configure the filechooser more. Go to home dir (maybe annoying feature). Don't show hidden files. 2010-10-18 09:51:48 +0300 Stefan Sauer * mediainfo/src/Makefile.am: build: fix libraryname 2010-10-18 00:07:02 +0300 Stefan Sauer * mediainfo/src/Makefile.am: * mediainfo/src/mi-info.vala: info: add missing libs and enable the overlay code 2010-10-17 23:54:06 +0300 Stefan Sauer * mediainfo/gst-mediainfo.anjuta: anjuta: add anjuta project 2010-10-17 23:53:23 +0300 Stefan Sauer * mediainfo/src/mi-app.vala: info: add playbin2 and overlay iface handling 2010-10-17 23:52:37 +0300 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: * mediainfo/src/mi.vala: mi: init gst 2010-10-17 23:21:16 +0300 Stefan Sauer * mediainfo/configure.ac: * mediainfo/src/mi-info.vala: info: start adding gstreamer discoverer 2010-10-17 22:37:26 +0300 Stefan Sauer * mediainfo/src/mi.vala: mi: code style 2010-10-17 22:36:39 +0300 Stefan Sauer * mediainfo/src/Makefile.am: * mediainfo/src/mi-app.vala: * mediainfo/src/mi-info.vala: info,app: move label to separate info class Info class will run discover and have the detailed UI. 2010-10-17 22:35:50 +0300 Stefan Sauer * mediainfo/README: README: add sample discover output 2010-10-17 22:16:27 +0300 Stefan Sauer * mediainfo/src/mi-app.vala: * mediainfo/src/mi.vala: app: add basic widget and do basic preview Add a menu bar and a file browser. Set up a preview callback. 2010-10-17 00:18:20 +0300 Stefan Sauer * mediainfo/Makefile.am: * mediainfo/po/LINGUAS: po: add LINGUAS file and handle generated files under po/ 2010-10-16 23:56:55 +0300 Stefan Sauer * mediainfo/autogen.sh: build: tweak autogen.sh Generate autoregen.sh, run configure. 2010-10-16 23:48:38 +0300 Stefan Sauer * mediainfo/AUTHORS: * mediainfo/COPYING: * mediainfo/ChangeLog: * mediainfo/Makefile.am: * mediainfo/NEWS: * mediainfo/autogen.sh: * mediainfo/configure.ac: * mediainfo/git.mk: * mediainfo/po/POTFILES.in: * mediainfo/po/POTFILES.skip: * mediainfo/src/Makefile.am: * mediainfo/src/mi-app.vala: * mediainfo/src/mi.vala: * mediainfo/vapi/Makefile.am: * mediainfo/vapi/config.vapi: *: initial boilerplate 2010-10-16 22:43:20 +0300 Stefan Sauer * mediainfo/README: docs: start collecting ideas 2013-09-13 11:43:33 -0300 Thibault Saunier * validate/data/seek_forward_backward.scenario: * validate/data/simple_backward.scenario: * validate/gst/validate/gst-validate-scenario.c: data: Port remaning scenario files to new format And add support to user declared timestamps -1.0 as GST_CLOCK_TIME_NONE 2013-09-09 19:04:48 -0300 Thibault Saunier * validate/data/alternate_fast_backward_forward.scenario: * validate/data/fast_backward.scenario: * validate/data/fast_forward.scenario: * validate/data/pause_resume.scenario: * validate/data/seek_backward.scenario: * validate/data/seek_forward.scenario: * validate/data/simple_seeks.scenario: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/validate.c: scenario: Rework scenarios to be: 1- Simpler to write them, 2- extendible Make the scenario files a list of GstStructure-s as strings 2013-09-09 19:05:24 -0300 Thibault Saunier * validate/gst/validate/gst-validate-bin-monitor.c: bin-monitor: Add a way to specify pipelines on which to set scenarios When used with LD_PRELOAD, the application might use various pipelines for several different thing, we need to make it possible to spcify a specific pipeline (or set of pipelines) on which to run the scenario. The format is in the form of: scenario_name:pipelinename_pattern* 2013-09-09 19:01:44 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: scenario: Try to run scenarios in development first 2013-09-09 17:40:36 +0200 Edward Hervey * .gitmodules: * common: * validate/.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 * common: * validate/.gitmodules: qa: add common submodule