Automated the procedure of adding the testsuites to lib folder.
Now user does not need to manually copy the same to target.
Change-Id: I85d508ab96ef06b14d6e96ff516d2eddd6e19c9a
Signed-off-by: Vineeth TM <vineeth.tm@samsung.com>
+++ /dev/null
-Subproject commit c7f00c599c5b60cc4ffc238511fb2849a2ad514f
%{_libdir}/gstreamer-1.0/validate/libgstvalidategapplication.so
%{_libdir}/gstreamer-1.0/validate/libgstvalidatefaultinjection.so
%{_libdir}/gst-validate-launcher/python/
+%{_libdir}/gst-validate/gst-integration-testsuites/testsuites/
%files devel
%manifest validate/gst-validate-devel.manifest
+++ /dev/null
-Name: gst-validate
-Summary: GStreamer streaming media framework base plug-ins
-Version: 1.4.5
-Release: 0
-Group: Applications/Multimedia
-License: LGPL
-Source0: %{name}-%{version}.tar.gz
-Requires(post): /sbin/ldconfig
-Requires(postun): /sbin/ldconfig
-BuildRequires: pkgconfig(glib-2.0)
-BuildRequires: pkgconfig(gstreamer-1.0)
-BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
-BuildRequires: intltool
-BuildRequires: python
-BuildRequires: pkgconfig(libpyg-2.0)
-
-%description
-GStreamer is a streaming media framework, based on graphs of filters which
-operate on media data. Applications using this library can do anything
-from real-time sound processing to playing videos, and just about anything
-else media-related. Its plugin-based architecture means that new data
-types or processing capabilities can be added simply by installing new
-plug-ins.
-
-
-%package devel
-Summary: GStreamer Plugin Library Headers
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Obsoletes: gstreamer-validate-devel < %{version}-%{release}
-Provides: gstreamer-validate-devel = %{version}-%{release}
-
-%description devel
-GStreamer Plugins Base library development and header files.
-
-
-%prep
-%setup -q
-
-%build
-cd validate
-%autogen --noconfigure
-
-export CFLAGS+=" -Wall -g -fPIC"
-
-%configure --prefix=/usr\
-
-make %{?jobs:-j%jobs}
-
-%install
-cd validate
-rm -rf %{buildroot}
-mkdir -p %{buildroot}/usr/share/license
-cp COPYING %{buildroot}/usr/share/license/%{name}
-%make_install
-rm -rf %{buildroot}/tmp/dump
-
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-%files
-%manifest validate/gst-validate.manifest
-%defattr(-,root,root,-)
-%doc validate/AUTHORS validate/COPYING validate/README validate/gst-validate.doap
-
-/usr/share/license/%{name}
-
-%{_bindir}/gst-validate-1.0
-%{_bindir}/gst-validate-launcher
-%{_bindir}/gst-validate-media-check-1.0
-%{_bindir}/gst-validate-transcoding-1.0
-
-/usr/share/gstreamer-1.0/validate/
-/usr/include/gstreamer-1.0/gst/validate/
-
-# non-core plugins without external dependencies
-%{_libdir}/libgstvalidate-1.0.so
-%{_libdir}/libgstvalidate-1.0.so.0
-%{_libdir}/libgstvalidate-1.0.so.0.0.0
-%{_libdir}/libgstvalidate_preload-1.0.so
-%{_libdir}/libgstvalidate_preload-1.0.so.0
-%{_libdir}/libgstvalidate_preload-1.0.so.0.0.0
-%{_libdir}/libgstvalidate-default-overrides-1.0.so
-%{_libdir}/libgstvalidate-default-overrides-1.0.so.0
-%{_libdir}/libgstvalidate-default-overrides-1.0.so.0.0.0
-%{_libdir}/gstreamer-1.0/validate/libgstvalidategapplication.so
-%{_libdir}/gstreamer-1.0/validate/libgstvalidatefaultinjection.so
-%{_libdir}/gst-validate-launcher/python/
-
-%files devel
-%manifest validate/gst-validate-devel.manifest
-%defattr(-,root,root,-)
-
-# pkg-config files
-%{_libdir}/pkgconfig/gst-validate-1.0.pc
pkgconfig \
docs \
tests \
- po
+ po \
+ testsuites
DIST_SUBDIRS = $(SUBDIRS)
docs/validate/Makefile
docs/plugins/Makefile
docs/launcher/Makefile
+testsuites/Makefile
])
AC_OUTPUT
GST_SECOND = long(1000000000)
DEFAULT_TIMEOUT = 30
-DEFAULT_MAIN_DIR = os.path.join(os.path.expanduser("~"), "gst-validate")
+DEFAULT_MAIN_DIR = os.path.join("/usr/lib/", "gst-validate")
DEFAULT_GST_QA_ASSETS = os.path.join(DEFAULT_MAIN_DIR, "gst-integration-testsuites")
DISCOVERER_COMMAND = "gst-discoverer-1.0"
# Use to set the duration from which a test is concidered as being 'long'
--- /dev/null
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = gst-validate-1.0
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
+# package. (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.) Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright. The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER =
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+# in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+# understood.
+# - Strings which make invalid assumptions about notation of date, time or
+# money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS = http://bugzilla.gnome.org/
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used. It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
+
+# Avoid line numbers in *.po, but keep them in *.pot.
+MSGMERGE = msgmerge --no-location
+MSGMERGE_UPDATE = msgmerge --no-location --update --backup=off
+MSGFILTER = msgfilter --no-location
+
--- /dev/null
+gst/validate/gst-validate-report.c
--- /dev/null
+testsuitesdir = $(libdir)/gst-validate/gst-integration-testsuites/testsuites
+
+SUBDIRS =
+
+testsuites_PYTHON = \
+ __init__.py \
+ testsuiteutils.py \
+ validate.py \
+ validateelements.py \
+ validateextra.py
--- /dev/null
+# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
+#
+# Copyright (c) 2014,Thibault Saunier <thibault.saunier@collabora.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+"""
+The GES GstValidate default testsuite
+"""
+import os
+
+
+TEST_MANAGER = "ges"
+
+def setup_tests(test_manager, options):
+ print("Setting up GES default tests")
+ options.add_paths(os.path.abspath(os.path.join(os.path.dirname(__file__),
+ "..", "medias")))
+ test_manager.register_defaults()
+ return True
--- /dev/null
+ges.playback.scrub_backward_seeking.test_basic.audio_only.mp3_h264_mp4
+ges.playback.scrub_backward_seeking.test_basic.audio_only.raw_h264_mp4
+ges.playback.scrub_backward_seeking.test_basic.audio_only.vorbis_theora_ogg
+ges.playback.scrub_backward_seeking.test_basic.audio_only.vorbis_vp8_webm
+ges.playback.scrub_backward_seeking.test_basic.audio_video.mp3_h264_mp4
+ges.playback.scrub_backward_seeking.test_basic.audio_video.raw_h264_mp4
+ges.playback.scrub_backward_seeking.test_basic.audio_video.vorbis_theora_ogg
+ges.playback.scrub_backward_seeking.test_basic.audio_video.vorbis_vp8_webm
+ges.playback.scrub_backward_seeking.test_basic.video_only.mp3_h264_mp4
+ges.playback.scrub_backward_seeking.test_basic.video_only.raw_h264_mp4
+ges.playback.scrub_backward_seeking.test_basic.video_only.vorbis_theora_ogg
+ges.playback.scrub_backward_seeking.test_basic.video_only.vorbis_vp8_webm
+ges.playback.scrub_backward_seeking.test_effect.audio_video.mp3_h264_mp4
+ges.playback.scrub_backward_seeking.test_effect.audio_video.raw_h264_mp4
+ges.playback.scrub_backward_seeking.test_effect.audio_video.vorbis_theora_ogg
+ges.playback.scrub_backward_seeking.test_effect.audio_video.vorbis_vp8_webm
+ges.playback.scrub_backward_seeking.test_mixing.audio_only.mp3_h264_mp4
+ges.playback.scrub_backward_seeking.test_mixing.audio_video.mp3_h264_mp4
+ges.playback.scrub_backward_seeking.test_mixing.audio_video.raw_h264_mp4
+ges.playback.scrub_backward_seeking.test_mixing.audio_video.vorbis_theora_ogg
+ges.playback.scrub_backward_seeking.test_mixing.audio_video.vorbis_vp8_webm
+ges.playback.scrub_backward_seeking.test_mixing.video_only.mp3_h264_mp4
+ges.playback.scrub_backward_seeking.test_mixing.video_only.raw_h264_mp4
+ges.playback.scrub_backward_seeking.test_mixing.video_only.vorbis_vp8_webm
+ges.playback.scrub_backward_seeking.test_simple.audio_video.svg_mp3_h264_mp4
+ges.playback.scrub_backward_seeking.test_title.audio_video.mp3_h264_mp4
+ges.playback.scrub_backward_seeking.test_title.audio_video.raw_h264_mp4
+ges.playback.scrub_backward_seeking.test_title.audio_video.vorbis_theora_ogg
+ges.playback.scrub_backward_seeking.test_title.audio_video.vorbis_vp8_webm
+ges.playback.scrub_backward_seeking.test_transition.audio_video.mp3_h264_mp4
+ges.playback.scrub_backward_seeking.test_transition.audio_video.raw_h264_mp4
+ges.playback.scrub_backward_seeking.test_transition.audio_video.vorbis_theora_ogg
+ges.playback.scrub_backward_seeking.test_transition.audio_video.vorbis_vp8_webm
+ges.playback.scrub_forward_seeking.test_basic.audio_only.mp3_h264_mp4
+ges.playback.scrub_forward_seeking.test_basic.audio_only.raw_h264_mp4
+ges.playback.scrub_forward_seeking.test_basic.audio_only.vorbis_theora_ogg
+ges.playback.scrub_forward_seeking.test_basic.audio_only.vorbis_vp8_webm
+ges.playback.scrub_forward_seeking.test_basic.audio_video.mp3_h264_mp4
+ges.playback.scrub_forward_seeking.test_basic.audio_video.raw_h264_mp4
+ges.playback.scrub_forward_seeking.test_basic.audio_video.vorbis_theora_ogg
+ges.playback.scrub_forward_seeking.test_basic.audio_video.vorbis_vp8_webm
+ges.playback.scrub_forward_seeking.test_basic.video_only.mp3_h264_mp4
+ges.playback.scrub_forward_seeking.test_basic.video_only.raw_h264_mp4
+ges.playback.scrub_forward_seeking.test_basic.video_only.vorbis_theora_ogg
+ges.playback.scrub_forward_seeking.test_basic.video_only.vorbis_vp8_webm
+ges.playback.scrub_forward_seeking.test_effect.audio_video.mp3_h264_mp4
+ges.playback.scrub_forward_seeking.test_effect.audio_video.raw_h264_mp4
+ges.playback.scrub_forward_seeking.test_effect.audio_video.vorbis_theora_ogg
+ges.playback.scrub_forward_seeking.test_effect.audio_video.vorbis_vp8_webm
+ges.playback.scrub_forward_seeking.test_mixing.audio_only.mp3_h264_mp4
+ges.playback.scrub_forward_seeking.test_mixing.audio_video.mp3_h264_mp4
+ges.playback.scrub_forward_seeking.test_mixing.audio_video.raw_h264_mp4
+ges.playback.scrub_forward_seeking.test_mixing.audio_video.vorbis_theora_ogg
+ges.playback.scrub_forward_seeking.test_mixing.audio_video.vorbis_vp8_webm
+ges.playback.scrub_forward_seeking.test_mixing.video_only.mp3_h264_mp4
+ges.playback.scrub_forward_seeking.test_mixing.video_only.raw_h264_mp4
+ges.playback.scrub_forward_seeking.test_mixing.video_only.vorbis_vp8_webm
+ges.playback.scrub_forward_seeking.test_simple.audio_video.svg_mp3_h264_mp4
+ges.playback.scrub_forward_seeking.test_title.audio_video.mp3_h264_mp4
+ges.playback.scrub_forward_seeking.test_title.audio_video.raw_h264_mp4
+ges.playback.scrub_forward_seeking.test_title.audio_video.vorbis_theora_ogg
+ges.playback.scrub_forward_seeking.test_title.audio_video.vorbis_vp8_webm
+ges.playback.scrub_forward_seeking.test_transition.audio_video.mp3_h264_mp4
+ges.playback.scrub_forward_seeking.test_transition.audio_video.raw_h264_mp4
+ges.playback.scrub_forward_seeking.test_transition.audio_video.vorbis_theora_ogg
+ges.playback.scrub_forward_seeking.test_transition.audio_video.vorbis_vp8_webm
+ges.render.mp3_and_h264_in_mp4.test_basic.audio_only.mp3_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_basic.audio_only.raw_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_basic.audio_only.vorbis_theora_ogg
+ges.render.mp3_and_h264_in_mp4.test_basic.audio_only.vorbis_vp8_webm
+ges.render.mp3_and_h264_in_mp4.test_basic.audio_video.mp3_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_basic.audio_video.raw_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_basic.audio_video.vorbis_theora_ogg
+ges.render.mp3_and_h264_in_mp4.test_basic.audio_video.vorbis_vp8_webm
+ges.render.mp3_and_h264_in_mp4.test_basic.video_only.mp3_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_basic.video_only.raw_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_basic.video_only.vorbis_theora_ogg
+ges.render.mp3_and_h264_in_mp4.test_basic.video_only.vorbis_vp8_webm
+ges.render.mp3_and_h264_in_mp4.test_effect.audio_video.mp3_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_effect.audio_video.raw_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_effect.audio_video.vorbis_theora_ogg
+ges.render.mp3_and_h264_in_mp4.test_effect.audio_video.vorbis_vp8_webm
+ges.render.mp3_and_h264_in_mp4.test_mixing.audio_only.mp3_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_mixing.audio_video.mp3_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_mixing.audio_video.raw_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_mixing.audio_video.vorbis_theora_ogg
+ges.render.mp3_and_h264_in_mp4.test_mixing.audio_video.vorbis_vp8_webm
+ges.render.mp3_and_h264_in_mp4.test_mixing.video_only.mp3_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_mixing.video_only.raw_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_mixing.video_only.vorbis_vp8_webm
+ges.render.mp3_and_h264_in_mp4.test_simple.audio_video.svg_mp3_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_title.audio_video.mp3_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_title.audio_video.raw_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_title.audio_video.vorbis_theora_ogg
+ges.render.mp3_and_h264_in_mp4.test_title.audio_video.vorbis_vp8_webm
+ges.render.mp3_and_h264_in_mp4.test_transition.audio_video.mp3_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_transition.audio_video.raw_h264_mp4
+ges.render.mp3_and_h264_in_mp4.test_transition.audio_video.vorbis_theora_ogg
+ges.render.mp3_and_h264_in_mp4.test_transition.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_h264_in_mkv.test_basic.audio_only.mp3_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_basic.audio_only.raw_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_basic.audio_only.vorbis_theora_ogg
+ges.render.vorbis_and_h264_in_mkv.test_basic.audio_only.vorbis_vp8_webm
+ges.render.vorbis_and_h264_in_mkv.test_basic.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_basic.audio_video.raw_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_basic.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_h264_in_mkv.test_basic.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_h264_in_mkv.test_basic.video_only.mp3_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_basic.video_only.raw_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_basic.video_only.vorbis_theora_ogg
+ges.render.vorbis_and_h264_in_mkv.test_basic.video_only.vorbis_vp8_webm
+ges.render.vorbis_and_h264_in_mkv.test_effect.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_effect.audio_video.raw_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_effect.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_h264_in_mkv.test_effect.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_h264_in_mkv.test_mixing.audio_only.mp3_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_mixing.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_mixing.audio_video.raw_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_mixing.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_h264_in_mkv.test_mixing.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_h264_in_mkv.test_mixing.video_only.mp3_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_mixing.video_only.raw_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_mixing.video_only.vorbis_vp8_webm
+ges.render.vorbis_and_h264_in_mkv.test_simple.audio_video.svg_mp3_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_title.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_title.audio_video.raw_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_title.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_h264_in_mkv.test_title.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_h264_in_mkv.test_transition.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_transition.audio_video.raw_h264_mp4
+ges.render.vorbis_and_h264_in_mkv.test_transition.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_h264_in_mkv.test_transition.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_theora_in_ogg.test_basic.audio_only.mp3_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_basic.audio_only.raw_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_basic.audio_only.vorbis_theora_ogg
+ges.render.vorbis_and_theora_in_ogg.test_basic.audio_only.vorbis_vp8_webm
+ges.render.vorbis_and_theora_in_ogg.test_basic.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_basic.audio_video.raw_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_basic.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_theora_in_ogg.test_basic.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_theora_in_ogg.test_basic.video_only.mp3_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_basic.video_only.raw_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_basic.video_only.vorbis_theora_ogg
+ges.render.vorbis_and_theora_in_ogg.test_basic.video_only.vorbis_vp8_webm
+ges.render.vorbis_and_theora_in_ogg.test_effect.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_effect.audio_video.raw_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_effect.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_theora_in_ogg.test_effect.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_theora_in_ogg.test_mixing.audio_only.mp3_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_mixing.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_mixing.audio_video.raw_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_mixing.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_theora_in_ogg.test_mixing.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_theora_in_ogg.test_mixing.video_only.mp3_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_mixing.video_only.raw_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_mixing.video_only.vorbis_vp8_webm
+ges.render.vorbis_and_theora_in_ogg.test_simple.audio_video.svg_mp3_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_title.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_title.audio_video.raw_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_title.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_theora_in_ogg.test_title.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_theora_in_ogg.test_transition.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_transition.audio_video.raw_h264_mp4
+ges.render.vorbis_and_theora_in_ogg.test_transition.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_theora_in_ogg.test_transition.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_vp8_in_webm.test_basic.audio_only.mp3_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_basic.audio_only.raw_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_basic.audio_only.vorbis_theora_ogg
+ges.render.vorbis_and_vp8_in_webm.test_basic.audio_only.vorbis_vp8_webm
+ges.render.vorbis_and_vp8_in_webm.test_basic.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_basic.audio_video.raw_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_basic.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_vp8_in_webm.test_basic.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_vp8_in_webm.test_basic.video_only.mp3_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_basic.video_only.raw_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_basic.video_only.vorbis_theora_ogg
+ges.render.vorbis_and_vp8_in_webm.test_basic.video_only.vorbis_vp8_webm
+ges.render.vorbis_and_vp8_in_webm.test_effect.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_effect.audio_video.raw_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_effect.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_vp8_in_webm.test_effect.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_vp8_in_webm.test_mixing.audio_only.mp3_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_mixing.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_mixing.audio_video.raw_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_mixing.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_vp8_in_webm.test_mixing.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_vp8_in_webm.test_mixing.video_only.mp3_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_mixing.video_only.raw_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_mixing.video_only.vorbis_vp8_webm
+ges.render.vorbis_and_vp8_in_webm.test_simple.audio_video.svg_mp3_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_title.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_title.audio_video.raw_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_title.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_vp8_in_webm.test_title.audio_video.vorbis_vp8_webm
+ges.render.vorbis_and_vp8_in_webm.test_transition.audio_video.mp3_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_transition.audio_video.raw_h264_mp4
+ges.render.vorbis_and_vp8_in_webm.test_transition.audio_video.vorbis_theora_ogg
+ges.render.vorbis_and_vp8_in_webm.test_transition.audio_video.vorbis_vp8_webm
--- /dev/null
+# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
+#
+# Copyright (c) 2014,Thibault Saunier <thibault.saunier@collabora.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+"""
+The GES GstValidate testsuite with bigger and more complex projects
+"""
+import os
+
+TEST_MANAGER = "ges"
+
+def setup_tests(test_manager, options):
+ print("Setting up GES extra tests")
+
+ extra_projects_path = os.path.abspath(os.path.join(
+ os.path.dirname(__file__),
+ "..",
+ "ges",
+ "ges-extra-projects"))
+ options.add_paths(os.path.abspath(os.path.join(os.path.dirname(__file__),
+ "..", "medias")))
+ test_manager.register_defaults(extra_projects_path)
+ return True
+
--- /dev/null
+ges.playback.scrub_backward_seeking.desktop_summit_2011
+ges.playback.scrub_backward_seeking.desktop_summit_2011_audio_only
+ges.playback.scrub_backward_seeking.pitivi-0.91.motivational
+ges.playback.scrub_backward_seeking.the_sausage_being_made
+ges.playback.scrub_forward_seeking.desktop_summit_2011
+ges.playback.scrub_forward_seeking.desktop_summit_2011_audio_only
+ges.playback.scrub_forward_seeking.pitivi-0.91.motivational
+ges.playback.scrub_forward_seeking.the_sausage_being_made
+ges.render.mp3_and_h264_in_mp4.desktop_summit_2011
+ges.render.mp3_and_h264_in_mp4.desktop_summit_2011_audio_only
+ges.render.mp3_and_h264_in_mp4.pitivi-0.91.motivational
+ges.render.mp3_and_h264_in_mp4.the_sausage_being_made
+ges.render.vorbis_and_h264_in_mkv.desktop_summit_2011
+ges.render.vorbis_and_h264_in_mkv.desktop_summit_2011_audio_only
+ges.render.vorbis_and_h264_in_mkv.pitivi-0.91.motivational
+ges.render.vorbis_and_h264_in_mkv.the_sausage_being_made
+ges.render.vorbis_and_theora_in_ogg.desktop_summit_2011
+ges.render.vorbis_and_theora_in_ogg.desktop_summit_2011_audio_only
+ges.render.vorbis_and_theora_in_ogg.pitivi-0.91.motivational
+ges.render.vorbis_and_theora_in_ogg.the_sausage_being_made
+ges.render.vorbis_and_vp8_in_webm.desktop_summit_2011
+ges.render.vorbis_and_vp8_in_webm.desktop_summit_2011_audio_only
+ges.render.vorbis_and_vp8_in_webm.pitivi-0.91.motivational
+ges.render.vorbis_and_vp8_in_webm.the_sausage_being_made
--- /dev/null
+# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
+#
+# Copyright (c) 2015, Thibault Saunier <thibault.saunier@collabora.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+
+import subprocess
+from launcher import utils
+
+SYNC_ASSETS_COMMAND = "git fetch origin && git checkout origin/master && git annex get ."
+
+def update_assets(assets_dir):
+ try:
+ utils.launch_command("cd %s && %s" % (assets_dir, SYNC_ASSETS_COMMAND),
+ fails=True)
+
+ except subprocess.CalledProcessError as e:
+ utils.printc("Could not update assets repository\n\nError: %s"
+ "\n\nMAKE SURE YOU HAVE git-annex INSTALLED!" % (e),
+ utils.Colors.FAIL, True)
+
+ return False
+
+ return True
--- /dev/null
+# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
+#
+# Copyright (c) 2014,Thibault Saunier <thibault.saunier@collabora.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+"""
+The GstValidate default testsuite
+"""
+
+import os
+from testsuiteutils import update_assets
+
+
+TEST_MANAGER = "validate"
+
+BLACKLIST = [('validate.file.transcode.to_vorbis_and_vp8_in_webm.GH1_00094_1920x1280_MTS',
+ 'Got error: Internal data stream error. -- Debug message: mpegtsbase.c(1371):'
+ 'mpegts_base_loop (): ...: stream stopped, reason not-negotiated')]
+
+
+def setup_tests(test_manager, options):
+ print("Setting up GstValidate default tests")
+
+ assets_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "medias", "defaults"))
+ if options.sync:
+ if not update_assets(assets_dir):
+ return False
+
+ options.add_paths(assets_dir)
+ options.set_http_server_dir(os.path.abspath(os.path.join(os.path.dirname(__file__),
+ "..", "medias")))
+ test_manager.set_default_blacklist(BLACKLIST)
+ test_manager.register_defaults()
+
+ valid_mixing_scenarios = ["play_15s",
+ "fast_forward",
+ "seek_forward",
+ "seek_backward",
+ "seek_with_stop",
+ "scrub_forward_seeking"]
+
+ return True
--- /dev/null
+validate.file.audiomixer.simple.fast_forward.basic
+validate.file.audiomixer.simple.play_15s.basic
+validate.file.audiomixer.simple.scrub_forward_seeking.basic
+validate.file.audiomixer.simple.seek_backward.basic
+validate.file.audiomixer.simple.seek_forward.basic
+validate.file.audiomixer.simple.seek_with_stop.basic
+validate.file.compositor.simple.fast_forward.bgra
+validate.file.compositor.simple.fast_forward.synchronized
+validate.file.compositor.simple.play_15s.bgra
+validate.file.compositor.simple.play_15s.synchronized
+validate.file.compositor.simple.scrub_forward_seeking.bgra
+validate.file.compositor.simple.seek_backward.bgra
+validate.file.compositor.simple.seek_backward.synchronized
+validate.file.compositor.simple.seek_forward.bgra
+validate.file.compositor.simple.seek_forward.synchronized
+validate.file.compositor.simple.seek_with_stop.bgra
+validate.file.compositor.simple.seek_with_stop.synchronized
+validate.file.glvideomixer.simple.fast_forward.bgra
+validate.file.glvideomixer.simple.fast_forward.synchronized
+validate.file.glvideomixer.simple.play_15s.bgra
+validate.file.glvideomixer.simple.play_15s.synchronized
+validate.file.glvideomixer.simple.scrub_forward_seeking.bgra
+validate.file.glvideomixer.simple.seek_backward.bgra
+validate.file.glvideomixer.simple.seek_backward.synchronized
+validate.file.glvideomixer.simple.seek_forward.bgra
+validate.file.glvideomixer.simple.seek_forward.synchronized
+validate.file.glvideomixer.simple.seek_with_stop.bgra
+validate.file.glvideomixer.simple.seek_with_stop.synchronized
+validate.file.media_check.GH1_00094_1920x1280_MTS
+validate.file.media_check.bowlerhatdancer_sleepytom_SGP_mjpeg_avi
+validate.file.media_check.mp3_h264_0_mp4
+validate.file.media_check.op1a-mpeg2-wave_hd_mxf
+validate.file.media_check.op1a-pal-mpeg2_mxf
+validate.file.media_check.op2b-mpeg2-wave_hd_mxf
+validate.file.media_check.png_png
+validate.file.media_check.raw_h264_0_mp4
+validate.file.media_check.raw_video_avi
+validate.file.media_check.raw_video_mkv
+validate.file.media_check.raw_video_mov
+validate.file.media_check.samples_multimedia_cx_asf_wmv_elephant_asf
+validate.file.media_check.samples_multimedia_cx_asf_wmv_low_fps_cheaterlow_wmv
+validate.file.media_check.samples_multimedia_cx_flac_Yesterday_flac
+validate.file.media_check.samples_multimedia_cx_testsuite_iv31_avi
+validate.file.media_check.test-mpeg2-mp2_mxf
+validate.file.media_check.test-mpeg2-mp3_mxf
+validate.file.media_check.test-uncompressed-rgb_mxf
+validate.file.media_check.test5_mkv
+validate.file.media_check.tron_en_ge_aac_h264_ts
+validate.file.media_check.vorbis_theora_0_ogg
+validate.file.media_check.vorbis_vp8_0_webm
+validate.file.media_check.xdcam-pal-d10-imx30_mxf
+validate.file.playback.change_state_intensive.GH1_00094_1920x1280_MTS
+validate.file.playback.change_state_intensive.bowlerhatdancer_sleepytom_SGP_mjpeg_avi
+validate.file.playback.change_state_intensive.mp3_h264_0_mp4
+validate.file.playback.change_state_intensive.op1a-mpeg2-wave_hd_mxf
+validate.file.playback.change_state_intensive.op1a-pal-mpeg2_mxf
+validate.file.playback.change_state_intensive.op2b-mpeg2-wave_hd_mxf
+validate.file.playback.change_state_intensive.raw_h264_0_mp4
+validate.file.playback.change_state_intensive.raw_video_avi
+validate.file.playback.change_state_intensive.raw_video_mkv
+validate.file.playback.change_state_intensive.raw_video_mov
+validate.file.playback.change_state_intensive.samples_multimedia_cx_asf_wmv_elephant_asf
+validate.file.playback.change_state_intensive.samples_multimedia_cx_asf_wmv_low_fps_cheaterlow_wmv
+validate.file.playback.change_state_intensive.samples_multimedia_cx_flac_Yesterday_flac
+validate.file.playback.change_state_intensive.samples_multimedia_cx_testsuite_iv31_avi
+validate.file.playback.change_state_intensive.test-mpeg2-mp2_mxf
+validate.file.playback.change_state_intensive.test-mpeg2-mp3_mxf
+validate.file.playback.change_state_intensive.test-uncompressed-rgb_mxf
+validate.file.playback.change_state_intensive.test5_mkv
+validate.file.playback.change_state_intensive.tron_en_ge_aac_h264_ts
+validate.file.playback.change_state_intensive.vorbis_theora_0_ogg
+validate.file.playback.change_state_intensive.vorbis_vp8_0_webm
+validate.file.playback.change_state_intensive.xdcam-pal-d10-imx30_mxf
+validate.file.playback.disable_subtitle_track_while_paused.test5_mkv
+validate.file.playback.fast_forward.GH1_00094_1920x1280_MTS
+validate.file.playback.fast_forward.bowlerhatdancer_sleepytom_SGP_mjpeg_avi
+validate.file.playback.fast_forward.mp3_h264_0_mp4
+validate.file.playback.fast_forward.raw_h264_0_mp4
+validate.file.playback.fast_forward.samples_multimedia_cx_asf_wmv_elephant_asf
+validate.file.playback.fast_forward.samples_multimedia_cx_asf_wmv_low_fps_cheaterlow_wmv
+validate.file.playback.fast_forward.samples_multimedia_cx_flac_Yesterday_flac
+validate.file.playback.fast_forward.samples_multimedia_cx_testsuite_iv31_avi
+validate.file.playback.fast_forward.test5_mkv
+validate.file.playback.fast_forward.tron_en_ge_aac_h264_ts
+validate.file.playback.fast_forward.vorbis_theora_0_ogg
+validate.file.playback.fast_forward.vorbis_vp8_0_webm
+validate.file.playback.play_15s.GH1_00094_1920x1280_MTS
+validate.file.playback.play_15s.bowlerhatdancer_sleepytom_SGP_mjpeg_avi
+validate.file.playback.play_15s.mp3_h264_0_mp4
+validate.file.playback.play_15s.op1a-mpeg2-wave_hd_mxf
+validate.file.playback.play_15s.op1a-pal-mpeg2_mxf
+validate.file.playback.play_15s.op2b-mpeg2-wave_hd_mxf
+validate.file.playback.play_15s.png_png
+validate.file.playback.play_15s.raw_h264_0_mp4
+validate.file.playback.play_15s.raw_video_avi
+validate.file.playback.play_15s.raw_video_mkv
+validate.file.playback.play_15s.raw_video_mov
+validate.file.playback.play_15s.samples_multimedia_cx_asf_wmv_elephant_asf
+validate.file.playback.play_15s.samples_multimedia_cx_asf_wmv_low_fps_cheaterlow_wmv
+validate.file.playback.play_15s.samples_multimedia_cx_flac_Yesterday_flac
+validate.file.playback.play_15s.samples_multimedia_cx_testsuite_iv31_avi
+validate.file.playback.play_15s.test-mpeg2-mp2_mxf
+validate.file.playback.play_15s.test-mpeg2-mp3_mxf
+validate.file.playback.play_15s.test-uncompressed-rgb_mxf
+validate.file.playback.play_15s.test5_mkv
+validate.file.playback.play_15s.tron_en_ge_aac_h264_ts
+validate.file.playback.play_15s.vorbis_theora_0_ogg
+validate.file.playback.play_15s.vorbis_vp8_0_webm
+validate.file.playback.play_15s.xdcam-pal-d10-imx30_mxf
+validate.file.playback.reverse_playback.bowlerhatdancer_sleepytom_SGP_mjpeg_avi
+validate.file.playback.reverse_playback.mp3_h264_0_mp4
+validate.file.playback.reverse_playback.raw_h264_0_mp4
+validate.file.playback.reverse_playback.raw_video_avi
+validate.file.playback.reverse_playback.raw_video_mov
+validate.file.playback.reverse_playback.samples_multimedia_cx_testsuite_iv31_avi
+validate.file.playback.reverse_playback.vorbis_theora_0_ogg
+validate.file.playback.scrub_forward_seeking.GH1_00094_1920x1280_MTS
+validate.file.playback.scrub_forward_seeking.bowlerhatdancer_sleepytom_SGP_mjpeg_avi
+validate.file.playback.scrub_forward_seeking.mp3_h264_0_mp4
+validate.file.playback.scrub_forward_seeking.op1a-mpeg2-wave_hd_mxf
+validate.file.playback.scrub_forward_seeking.op1a-pal-mpeg2_mxf
+validate.file.playback.scrub_forward_seeking.op2b-mpeg2-wave_hd_mxf
+validate.file.playback.scrub_forward_seeking.raw_h264_0_mp4
+validate.file.playback.scrub_forward_seeking.raw_video_avi
+validate.file.playback.scrub_forward_seeking.raw_video_mkv
+validate.file.playback.scrub_forward_seeking.raw_video_mov
+validate.file.playback.scrub_forward_seeking.samples_multimedia_cx_asf_wmv_elephant_asf
+validate.file.playback.scrub_forward_seeking.samples_multimedia_cx_asf_wmv_low_fps_cheaterlow_wmv
+validate.file.playback.scrub_forward_seeking.samples_multimedia_cx_flac_Yesterday_flac
+validate.file.playback.scrub_forward_seeking.samples_multimedia_cx_testsuite_iv31_avi
+validate.file.playback.scrub_forward_seeking.test-mpeg2-mp2_mxf
+validate.file.playback.scrub_forward_seeking.test-mpeg2-mp3_mxf
+validate.file.playback.scrub_forward_seeking.test-uncompressed-rgb_mxf
+validate.file.playback.scrub_forward_seeking.test5_mkv
+validate.file.playback.scrub_forward_seeking.tron_en_ge_aac_h264_ts
+validate.file.playback.scrub_forward_seeking.vorbis_theora_0_ogg
+validate.file.playback.scrub_forward_seeking.vorbis_vp8_0_webm
+validate.file.playback.scrub_forward_seeking.xdcam-pal-d10-imx30_mxf
+validate.file.playback.seek_backward.GH1_00094_1920x1280_MTS
+validate.file.playback.seek_backward.bowlerhatdancer_sleepytom_SGP_mjpeg_avi
+validate.file.playback.seek_backward.mp3_h264_0_mp4
+validate.file.playback.seek_backward.op1a-mpeg2-wave_hd_mxf
+validate.file.playback.seek_backward.op1a-pal-mpeg2_mxf
+validate.file.playback.seek_backward.op2b-mpeg2-wave_hd_mxf
+validate.file.playback.seek_backward.raw_h264_0_mp4
+validate.file.playback.seek_backward.raw_video_avi
+validate.file.playback.seek_backward.raw_video_mkv
+validate.file.playback.seek_backward.raw_video_mov
+validate.file.playback.seek_backward.samples_multimedia_cx_asf_wmv_elephant_asf
+validate.file.playback.seek_backward.samples_multimedia_cx_asf_wmv_low_fps_cheaterlow_wmv
+validate.file.playback.seek_backward.samples_multimedia_cx_flac_Yesterday_flac
+validate.file.playback.seek_backward.samples_multimedia_cx_testsuite_iv31_avi
+validate.file.playback.seek_backward.test-mpeg2-mp2_mxf
+validate.file.playback.seek_backward.test-mpeg2-mp3_mxf
+validate.file.playback.seek_backward.test-uncompressed-rgb_mxf
+validate.file.playback.seek_backward.test5_mkv
+validate.file.playback.seek_backward.tron_en_ge_aac_h264_ts
+validate.file.playback.seek_backward.vorbis_theora_0_ogg
+validate.file.playback.seek_backward.vorbis_vp8_0_webm
+validate.file.playback.seek_backward.xdcam-pal-d10-imx30_mxf
+validate.file.playback.seek_forward.GH1_00094_1920x1280_MTS
+validate.file.playback.seek_forward.bowlerhatdancer_sleepytom_SGP_mjpeg_avi
+validate.file.playback.seek_forward.mp3_h264_0_mp4
+validate.file.playback.seek_forward.op1a-mpeg2-wave_hd_mxf
+validate.file.playback.seek_forward.op1a-pal-mpeg2_mxf
+validate.file.playback.seek_forward.op2b-mpeg2-wave_hd_mxf
+validate.file.playback.seek_forward.raw_h264_0_mp4
+validate.file.playback.seek_forward.raw_video_avi
+validate.file.playback.seek_forward.raw_video_mkv
+validate.file.playback.seek_forward.raw_video_mov
+validate.file.playback.seek_forward.samples_multimedia_cx_asf_wmv_elephant_asf
+validate.file.playback.seek_forward.samples_multimedia_cx_asf_wmv_low_fps_cheaterlow_wmv
+validate.file.playback.seek_forward.samples_multimedia_cx_flac_Yesterday_flac
+validate.file.playback.seek_forward.samples_multimedia_cx_testsuite_iv31_avi
+validate.file.playback.seek_forward.test-mpeg2-mp2_mxf
+validate.file.playback.seek_forward.test-mpeg2-mp3_mxf
+validate.file.playback.seek_forward.test-uncompressed-rgb_mxf
+validate.file.playback.seek_forward.test5_mkv
+validate.file.playback.seek_forward.tron_en_ge_aac_h264_ts
+validate.file.playback.seek_forward.vorbis_theora_0_ogg
+validate.file.playback.seek_forward.vorbis_vp8_0_webm
+validate.file.playback.seek_forward.xdcam-pal-d10-imx30_mxf
+validate.file.playback.seek_with_stop.GH1_00094_1920x1280_MTS
+validate.file.playback.seek_with_stop.bowlerhatdancer_sleepytom_SGP_mjpeg_avi
+validate.file.playback.seek_with_stop.mp3_h264_0_mp4
+validate.file.playback.seek_with_stop.op1a-mpeg2-wave_hd_mxf
+validate.file.playback.seek_with_stop.op1a-pal-mpeg2_mxf
+validate.file.playback.seek_with_stop.op2b-mpeg2-wave_hd_mxf
+validate.file.playback.seek_with_stop.raw_h264_0_mp4
+validate.file.playback.seek_with_stop.raw_video_avi
+validate.file.playback.seek_with_stop.raw_video_mkv
+validate.file.playback.seek_with_stop.raw_video_mov
+validate.file.playback.seek_with_stop.samples_multimedia_cx_asf_wmv_elephant_asf
+validate.file.playback.seek_with_stop.samples_multimedia_cx_asf_wmv_low_fps_cheaterlow_wmv
+validate.file.playback.seek_with_stop.samples_multimedia_cx_flac_Yesterday_flac
+validate.file.playback.seek_with_stop.samples_multimedia_cx_testsuite_iv31_avi
+validate.file.playback.seek_with_stop.test-mpeg2-mp2_mxf
+validate.file.playback.seek_with_stop.test-mpeg2-mp3_mxf
+validate.file.playback.seek_with_stop.test-uncompressed-rgb_mxf
+validate.file.playback.seek_with_stop.test5_mkv
+validate.file.playback.seek_with_stop.tron_en_ge_aac_h264_ts
+validate.file.playback.seek_with_stop.vorbis_theora_0_ogg
+validate.file.playback.seek_with_stop.vorbis_vp8_0_webm
+validate.file.playback.seek_with_stop.xdcam-pal-d10-imx30_mxf
+validate.file.playback.switch_audio_track.test5_mkv
+validate.file.playback.switch_audio_track.tron_en_ge_aac_h264_ts
+validate.file.playback.switch_audio_track_while_paused.test5_mkv
+validate.file.playback.switch_audio_track_while_paused.tron_en_ge_aac_h264_ts
+validate.file.playback.switch_subtitle_track.test5_mkv
+validate.file.playback.switch_subtitle_track_while_paused.test5_mkv
+validate.file.playback.switch_subtitles.test5_mkv
+validate.file.transcode.to_mp3_and_h264_in_mp4.GH1_00094_1920x1280_MTS
+validate.file.transcode.to_mp3_and_h264_in_mp4.bowlerhatdancer_sleepytom_SGP_mjpeg_avi
+validate.file.transcode.to_mp3_and_h264_in_mp4.mp3_h264_0_mp4
+validate.file.transcode.to_mp3_and_h264_in_mp4.raw_h264_0_mp4
+validate.file.transcode.to_mp3_and_h264_in_mp4.raw_video_avi
+validate.file.transcode.to_mp3_and_h264_in_mp4.raw_video_mkv
+validate.file.transcode.to_mp3_and_h264_in_mp4.raw_video_mov
+validate.file.transcode.to_mp3_and_h264_in_mp4.samples_multimedia_cx_asf_wmv_elephant_asf
+validate.file.transcode.to_mp3_and_h264_in_mp4.samples_multimedia_cx_flac_Yesterday_flac
+validate.file.transcode.to_mp3_and_h264_in_mp4.vorbis_theora_0_ogg
+validate.file.transcode.to_mp3_and_h264_in_mp4.vorbis_vp8_0_webm
+validate.file.transcode.to_vorbis_and_h264_in_mkv.GH1_00094_1920x1280_MTS
+validate.file.transcode.to_vorbis_and_h264_in_mkv.bowlerhatdancer_sleepytom_SGP_mjpeg_avi
+validate.file.transcode.to_vorbis_and_h264_in_mkv.mp3_h264_0_mp4
+validate.file.transcode.to_vorbis_and_h264_in_mkv.raw_h264_0_mp4
+validate.file.transcode.to_vorbis_and_h264_in_mkv.raw_video_avi
+validate.file.transcode.to_vorbis_and_h264_in_mkv.raw_video_mkv
+validate.file.transcode.to_vorbis_and_h264_in_mkv.raw_video_mov
+validate.file.transcode.to_vorbis_and_h264_in_mkv.samples_multimedia_cx_asf_wmv_elephant_asf
+validate.file.transcode.to_vorbis_and_h264_in_mkv.samples_multimedia_cx_flac_Yesterday_flac
+validate.file.transcode.to_vorbis_and_h264_in_mkv.vorbis_theora_0_ogg
+validate.file.transcode.to_vorbis_and_h264_in_mkv.vorbis_vp8_0_webm
+validate.file.transcode.to_vorbis_and_theora_in_ogg.GH1_00094_1920x1280_MTS
+validate.file.transcode.to_vorbis_and_theora_in_ogg.bowlerhatdancer_sleepytom_SGP_mjpeg_avi
+validate.file.transcode.to_vorbis_and_theora_in_ogg.mp3_h264_0_mp4
+validate.file.transcode.to_vorbis_and_theora_in_ogg.raw_h264_0_mp4
+validate.file.transcode.to_vorbis_and_theora_in_ogg.raw_video_avi
+validate.file.transcode.to_vorbis_and_theora_in_ogg.raw_video_mkv
+validate.file.transcode.to_vorbis_and_theora_in_ogg.raw_video_mov
+validate.file.transcode.to_vorbis_and_theora_in_ogg.samples_multimedia_cx_asf_wmv_elephant_asf
+validate.file.transcode.to_vorbis_and_theora_in_ogg.samples_multimedia_cx_flac_Yesterday_flac
+validate.file.transcode.to_vorbis_and_theora_in_ogg.vorbis_theora_0_ogg
+validate.file.transcode.to_vorbis_and_theora_in_ogg.vorbis_vp8_0_webm
+validate.file.transcode.to_vorbis_and_vp8_in_webm.bowlerhatdancer_sleepytom_SGP_mjpeg_avi
+validate.file.transcode.to_vorbis_and_vp8_in_webm.mp3_h264_0_mp4
+validate.file.transcode.to_vorbis_and_vp8_in_webm.raw_h264_0_mp4
+validate.file.transcode.to_vorbis_and_vp8_in_webm.raw_video_avi
+validate.file.transcode.to_vorbis_and_vp8_in_webm.raw_video_mkv
+validate.file.transcode.to_vorbis_and_vp8_in_webm.raw_video_mov
+validate.file.transcode.to_vorbis_and_vp8_in_webm.samples_multimedia_cx_asf_wmv_elephant_asf
+validate.file.transcode.to_vorbis_and_vp8_in_webm.samples_multimedia_cx_flac_Yesterday_flac
+validate.file.transcode.to_vorbis_and_vp8_in_webm.vorbis_theora_0_ogg
+validate.file.transcode.to_vorbis_and_vp8_in_webm.vorbis_vp8_0_webm
+validate.hls.media_check.bipbopall_m3u8
+validate.hls.playback.change_state_intensive.hls_bibbop
+validate.hls.playback.play_15s.hls_bibbop
+validate.http.media_check.mp3_h264_1_mp4
+validate.http.media_check.raw_h264_1_mp4
+validate.http.media_check.raw_video_mkv
+validate.http.media_check.raw_video_mov
+validate.http.media_check.vorbis_theora_1_ogg
+validate.http.media_check.vorbis_vp8_1_webm
+validate.http.playback.change_state_intensive.mp3_h264_1_mp4
+validate.http.playback.change_state_intensive.raw_h264_1_mp4
+validate.http.playback.change_state_intensive.raw_video_mkv
+validate.http.playback.change_state_intensive.vorbis_theora_1_ogg
+validate.http.playback.change_state_intensive.vorbis_vp8_1_webm
+validate.http.playback.fast_forward.mp3_h264_1_mp4
+validate.http.playback.fast_forward.raw_h264_1_mp4
+validate.http.playback.fast_forward.vorbis_theora_1_ogg
+validate.http.playback.fast_forward.vorbis_vp8_1_webm
+validate.http.playback.play_15s.mp3_h264_1_mp4
+validate.http.playback.play_15s.raw_h264_1_mp4
+validate.http.playback.play_15s.raw_video_mkv
+validate.http.playback.play_15s.raw_video_mov
+validate.http.playback.play_15s.vorbis_theora_1_ogg
+validate.http.playback.play_15s.vorbis_vp8_1_webm
+validate.http.playback.reverse_playback.mp3_h264_1_mp4
+validate.http.playback.reverse_playback.raw_h264_1_mp4
+validate.http.playback.reverse_playback.raw_video_mov
+validate.http.playback.reverse_playback.vorbis_theora_1_ogg
+validate.http.playback.seek_backward.mp3_h264_1_mp4
+validate.http.playback.seek_backward.raw_h264_1_mp4
+validate.http.playback.seek_backward.raw_video_mkv
+validate.http.playback.seek_backward.raw_video_mov
+validate.http.playback.seek_backward.vorbis_theora_1_ogg
+validate.http.playback.seek_backward.vorbis_vp8_1_webm
+validate.http.playback.seek_forward.mp3_h264_1_mp4
+validate.http.playback.seek_forward.raw_h264_1_mp4
+validate.http.playback.seek_forward.raw_video_mkv
+validate.http.playback.seek_forward.raw_video_mov
+validate.http.playback.seek_forward.vorbis_theora_1_ogg
+validate.http.playback.seek_forward.vorbis_vp8_1_webm
+validate.http.playback.seek_with_stop.mp3_h264_1_mp4
+validate.http.playback.seek_with_stop.raw_h264_1_mp4
+validate.http.playback.seek_with_stop.raw_video_mov
+validate.http.playback.seek_with_stop.vorbis_theora_1_ogg
+validate.http.transcode.to_mp3_and_h264_in_mp4.mp3_h264_1_mp4
+validate.http.transcode.to_mp3_and_h264_in_mp4.raw_h264_1_mp4
+validate.http.transcode.to_mp3_and_h264_in_mp4.raw_video_mkv
+validate.http.transcode.to_mp3_and_h264_in_mp4.raw_video_mov
+validate.http.transcode.to_mp3_and_h264_in_mp4.vorbis_theora_1_ogg
+validate.http.transcode.to_mp3_and_h264_in_mp4.vorbis_vp8_1_webm
+validate.http.transcode.to_vorbis_and_h264_in_mkv.mp3_h264_1_mp4
+validate.http.transcode.to_vorbis_and_h264_in_mkv.raw_h264_1_mp4
+validate.http.transcode.to_vorbis_and_h264_in_mkv.raw_video_mkv
+validate.http.transcode.to_vorbis_and_h264_in_mkv.raw_video_mov
+validate.http.transcode.to_vorbis_and_h264_in_mkv.vorbis_theora_1_ogg
+validate.http.transcode.to_vorbis_and_h264_in_mkv.vorbis_vp8_1_webm
+validate.http.transcode.to_vorbis_and_theora_in_ogg.mp3_h264_1_mp4
+validate.http.transcode.to_vorbis_and_theora_in_ogg.raw_h264_1_mp4
+validate.http.transcode.to_vorbis_and_theora_in_ogg.raw_video_mkv
+validate.http.transcode.to_vorbis_and_theora_in_ogg.raw_video_mov
+validate.http.transcode.to_vorbis_and_theora_in_ogg.vorbis_theora_1_ogg
+validate.http.transcode.to_vorbis_and_theora_in_ogg.vorbis_vp8_1_webm
+validate.http.transcode.to_vorbis_and_vp8_in_webm.mp3_h264_1_mp4
+validate.http.transcode.to_vorbis_and_vp8_in_webm.raw_h264_1_mp4
+validate.http.transcode.to_vorbis_and_vp8_in_webm.raw_video_mkv
+validate.http.transcode.to_vorbis_and_vp8_in_webm.raw_video_mov
+validate.http.transcode.to_vorbis_and_vp8_in_webm.vorbis_theora_1_ogg
+validate.http.transcode.to_vorbis_and_vp8_in_webm.vorbis_vp8_1_webm
--- /dev/null
+
+
+# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
+#
+# Copyright (c) 2015,Thibault Saunier <thibault.saunier@collabora.com>
+# 2015,Vineeth T M <vineeth.tm@samsung.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+"""
+The GstValidate default testsuite
+"""
+
+from gi.repository import Gst
+from gi.repository import GObject
+
+TEST_MANAGER = "validate"
+
+
+def pspec_is_numeric(prop):
+ return prop.value_type in [GObject.TYPE_INT, GObject.TYPE_INT64,
+ GObject.TYPE_UINT, GObject.TYPE_UINT64,
+ GObject.TYPE_LONG, GObject.TYPE_ULONG,
+ GObject.TYPE_DOUBLE]
+
+
+def get_pipe_and_populate(test_manager, klass, fname, prop, loop):
+ prop_value = Gst.ElementFactory.make(fname, None).get_property(prop.name)
+
+ if prop.value_type == GObject.TYPE_BOOLEAN:
+ if loop is 1:
+ bool_value = False
+ else:
+ bool_value = True
+ cname = fname + " %s=%s" % (prop.name, bool_value)
+ tname = fname + "%s=%s" % (prop.name, bool_value)
+ elif pspec_is_numeric(prop):
+ if loop is 2:
+ int_value = prop.default_value
+ elif loop is 1:
+ int_value = prop.minimum
+ else:
+ int_value = prop.maximum
+ cname = fname + " %s=%s" % (prop.name, int_value)
+ tname = fname + "%s=%s" % (prop.name, int_value)
+ else:
+ cname = fname + " %s=%s" % (prop.name, prop_value)
+ tname = fname + "%s=%s" % (prop.name, prop_value)
+
+ if "Audio" in klass:
+ cpipe = "audiotestsrc num-buffers=20 ! %s " % (cname)
+ sink = "! audioconvert ! %(audiosink)s"
+ elif "Video" in klass:
+ if "gl" in fname:
+ cname = "glfilterbin filter = %s" % (cname)
+ cpipe = "videotestsrc num-buffers=20 ! %s " % (cname)
+ sink = "! videoconvert ! %(videosink)s"
+ else:
+ return None
+
+ if test_manager.options.mute:
+ cpipe += "! fakesink"
+ else:
+ cpipe += "%s" % (sink)
+
+ return (tname, cpipe)
+
+
+def setup_tests(test_manager, options):
+ print("Setting up tests to validate all elements")
+ pipelines_descriptions = []
+ test_manager.set_default_blacklist([
+ ("validate.launch_pipeline.videocrop*",
+ "https://bugzilla.gnome.org/show_bug.cgi?id=743910"),
+ ("validate.launch_pipeline.videobox*",
+ "https://bugzilla.gnome.org/show_bug.cgi?id=743909"),
+ ("validate.launch_pipeline.simplevideomark*",
+ "https://bugzilla.gnome.org/show_bug.cgi?id=743908"),
+ ("validate.launch_pipeline.exclusion*",
+ "https://bugzilla.gnome.org/show_bug.cgi?id=743907"),
+ ("validate.launch_pipeline.frei0r*",
+ "video filter plugins"),
+ ("validate.launch_pipeline.*interleavechannel-positions-from-input=False*",
+ "https://bugzilla.gnome.org/show_bug.cgi?id=744211"),
+ ("validate.launch_pipeline.spectrum*",
+ "https://bugzilla.gnome.org/show_bug.cgi?id=744213"),
+ ("validate.launch_pipeline.smpte*",
+ "smpte cannot be tested with simple pipeline. Hence excluding"),
+ ("validate.launch_pipeline.gleffects_laplacian*",
+ "https://bugzilla.gnome.org/show_bug.cgi?id=748393"),
+ ("validate.launch_pipeline.glfilterbin*",
+ "glfilter bin doesnt launch."),
+ ])
+ valid_scenarios = ["play_15s"]
+ Gst.init(None)
+ factories = Gst.Registry.get().get_feature_list(Gst.ElementFactory)
+ for element_factory in factories:
+ audiosrc = False
+ audiosink = False
+ videosrc = False
+ videosink = False
+ klass = element_factory.get_metadata("klass")
+ fname = element_factory.get_name()
+
+ if "band" in fname:
+ continue
+ if "Audio" not in klass and "Video" not in klass:
+ continue
+
+ padstemplates = element_factory.get_static_pad_templates()
+ for padtemplate in padstemplates:
+ if padtemplate.static_caps.string:
+ caps = padtemplate.get_caps()
+ for i in xrange(caps.get_size()):
+ structure = caps.get_structure(i)
+ if "audio/x-raw" in structure.get_name():
+ if padtemplate.direction == Gst.PadDirection.SRC:
+ audiosrc = True
+ elif padtemplate.direction == Gst.PadDirection.SINK:
+ audiosink = True
+ elif "video/x-raw" in structure.get_name():
+ if padtemplate.direction == Gst.PadDirection.SRC:
+ videosrc = True
+ elif padtemplate.direction == Gst.PadDirection.SINK:
+ videosink = True
+
+ if (audiosink is False and videosink is False) or (audiosrc is False and videosrc is False):
+ continue
+
+ element = Gst.ElementFactory.make(fname, None)
+ if element is None:
+ print("Could not create element: %s" % fname)
+ continue
+
+ props = GObject.list_properties(element)
+ for prop in props:
+ if "name" in prop.name or "parent" in prop.name or "qos" in prop.name or \
+ "latency" in prop.name or "message-forward" in prop.name:
+ continue
+ if (prop.flags & GObject.ParamFlags.WRITABLE) and \
+ (prop.flags & GObject.ParamFlags.READABLE):
+ if prop.value_type == GObject.TYPE_BOOLEAN:
+ loop = 2
+ elif pspec_is_numeric(prop):
+ loop = 3
+ else:
+ loop = 0
+
+ while loop:
+ loop -= 1
+ description = get_pipe_and_populate(test_manager, klass,
+ fname, prop, loop)
+ if None is not description:
+ pipelines_descriptions.append(description)
+
+ # No restriction about scenarios that are potentially used
+ test_manager.add_scenarios(valid_scenarios)
+ test_manager.add_generators(test_manager.GstValidatePipelineTestsGenerator
+ ("validate_elements", test_manager,
+ pipelines_descriptions=pipelines_descriptions,
+ valid_scenarios=valid_scenarios))
+
+ return True
--- /dev/null
+# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
+#
+# Copyright (c) 2014,Thibault Saunier <thibault.saunier@collabora.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+"""
+The GstValidate default testsuite
+"""
+
+import os
+from testsuiteutils import update_assets
+
+
+TEST_MANAGER = "validate"
+
+BLACKLIST =[("validate.*reverse.*Sintel_2010_720p_mkv",
+ "TODO in matroskademux: FIXME: We should build an index during playback or "
+ "when scanning that can be used here. The reverse playback code requires "
+ " seek_index and seek_entry to be set!"),
+
+ # Subtitles known issues
+ ("validate.file.playback.switch_subtitle_track.Sintel_2010_720p_mkv",
+ "https://bugzilla.gnome.org/show_bug.cgi?id=734051"),
+ ]
+
+def setup_tests(test_manager, options):
+ print("Setting up GstValidate default tests")
+
+ assets_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "medias", "big"))
+ if options.sync:
+ if not update_assets(assets_dir):
+ return False
+
+ options.add_paths(assets_dir)
+ test_manager.set_default_blacklist(BLACKLIST)
+ test_manager.register_defaults()
+ test_manager.add_scenarios([
+ "seek_forward_non_flushing",
+ "seek_backward_non_flushing",
+ ])
+
+ return True
--- /dev/null
+validate.file.media_check.Sintel_2010_720p_mkv
+validate.file.playback.change_state_intensive.Sintel_2010_720p_mkv
+validate.file.playback.disable_subtitle_track_while_paused.Sintel_2010_720p_mkv
+validate.file.playback.fast_forward.Sintel_2010_720p_mkv
+validate.file.playback.play_15s.Sintel_2010_720p_mkv
+validate.file.playback.scrub_forward_seeking.Sintel_2010_720p_mkv
+validate.file.playback.seek_backward.Sintel_2010_720p_mkv
+validate.file.playback.seek_forward.Sintel_2010_720p_mkv
+validate.file.playback.seek_with_stop.Sintel_2010_720p_mkv
+validate.file.playback.set_subtitles.Sintel_2010_720p_mkv
+validate.file.playback.switch_subtitle_track_while_paused.Sintel_2010_720p_mkv
+validate.file.playback.switch_subtitles.Sintel_2010_720p_mkv
+validate.file.playback.seek_forward_non_flushing.Sintel_2010_720p_mkv
+validate.file.playback.seek_backward_non_flushing.Sintel_2010_720p_mkv