diff --git a/validate/tools/launcher/apps/ges-launch.py b/validate/tools/launcher/apps/ges-launch.py index 10976c03fb..ac77ddffd9 100644 --- a/validate/tools/launcher/apps/ges-launch.py +++ b/validate/tools/launcher/apps/ges-launch.py @@ -127,7 +127,8 @@ class GESRenderTest(GESTest): if not utils.isuri(self.dest_file): self.dest_file = utils.path2url(self.dest_file) - profile = utils.get_profile(self.combination) + profile = utils.get_profile(self.combination, + video_restriction="video/x-raw,format=I420") self.add_arguments("-f", profile, "-o", self.dest_file) def check_results(self): diff --git a/validate/tools/launcher/apps/gst-validate.py b/validate/tools/launcher/apps/gst-validate.py index f1d16fddd4..3ffd52e635 100644 --- a/validate/tools/launcher/apps/gst-validate.py +++ b/validate/tools/launcher/apps/gst-validate.py @@ -113,6 +113,11 @@ G_V_SCENARIOS = {Protocols.FILE: ["play_15s", "seek_backward"], } +G_V_PROTOCOL_VIDEO_RESTRICTION_CAPS = { + # Handle the unknown framerate in HLS samples + Protocols.HLS: "video/x-raw,framerate=25/1" +} + G_V_BLACKLISTED_TESTS = \ [("validate.hls.playback.fast_forward.*", "https://bugzilla.gnome.org/show_bug.cgi?id=698155"), @@ -206,7 +211,12 @@ class GstValidateTranscodingTest(GstValidateTest): if urlparse.urlparse(self.dest_file).scheme == "": self.dest_file = path2url(self.dest_file) - profile = get_profile(self.combination) + try: + video_restriction = G_V_PROTOCOL_VIDEO_RESTRICTION_CAPS[self.file_infos.get("file-info", "protocol")] + except KeyError: + video_restriction = None + + profile = get_profile(self.combination, video_restriction=video_restriction) self.add_arguments("-o", profile) def build_arguments(self): diff --git a/validate/tools/launcher/utils.py b/validate/tools/launcher/utils.py index 5244e4ece3..9d1bc7811e 100644 --- a/validate/tools/launcher/utils.py +++ b/validate/tools/launcher/utils.py @@ -194,11 +194,12 @@ def get_profile_full(muxer, venc, aenc, video_restriction=None, return ret.replace("::", ":") -def get_profile(combination): +def get_profile(combination, video_restriction=None, audio_restriction=None): return get_profile_full(FORMATS[combination.container], FORMATS[combination.vcodec], FORMATS[combination.acodec], - video_restriction="video/x-raw,format=I420") + video_restriction=video_restriction, + audio_restriction=audio_restriction) ################################################## # Some utilities to parse gst-validate output #