diff --git a/validate/data/scenarios/Makefile.am b/validate/data/scenarios/Makefile.am index b0a29d46f9..1b465d2978 100644 --- a/validate/data/scenarios/Makefile.am +++ b/validate/data/scenarios/Makefile.am @@ -24,6 +24,8 @@ scenarios_DATA = simple_seeks.scenario \ change_state_intensive.scenario\ play_15s.scenario \ switch_audio_track.scenario \ - trick_mode_seeks.scenario + trick_mode_seeks.scenario \ + includes/default-seek-flags.scenario \ + rtsp_overrides/includes/default-seek-flags.scenario EXTRA_DIST = ${scenarios_DATA} diff --git a/validate/data/scenarios/alternate_fast_backward_forward.scenario b/validate/data/scenarios/alternate_fast_backward_forward.scenario index 328a96ac85..cd1bafc40c 100644 --- a/validate/data/scenarios/alternate_fast_backward_forward.scenario +++ b/validate/data/scenarios/alternate_fast_backward_forward.scenario @@ -1,13 +1,14 @@ description, duration=55.0, min-media-duration=470.0, seek=true, reverse-playback=true -seek, name=backward-seek, playback-time=0.0, rate=-1.0, start=0.0, stop=310.0, flags=accurate+flush -seek, name=forward-seek, playback-time=305.0, rate=1.0, start=305.0, flags=accurate+flush -seek, name=Fast-forward-seek, playback-time=310.0, rate=2.0, start=310.0, flags=accurate+flush -seek, name=Fast-backward-seek, playback-time=320.0, rate=-2.0, start=0.0, stop=320.0, flags=accurate+flush -seek, name=Fast-forward-seek, playback-time=310.0, rate=4.0, start=310.0, flags=accurate+flush -seek, name=Fast-backward-seek, playback-time=330.0, rate=-4.0, start=0.0, stop=330.0, flags=accurate+flush -seek, name=Fast-forward-seek, playback-time=310.0, rate=8.0, start=310.0, flags=accurate+flush -seek, name=Fast-backward-seek, playback-time=350.0, rate=-8.0, start=0.0, stop=350.0, flags=accurate+flush -seek, name=Fast-forward-seek, playback-time=310.0, rate=16.0, start=310.0, flags=accurate+flush -seek, name=Fast-backward-seek, playback-time=390.0, rate=-16.0, start=0.0, stop=390.0, flags=accurate+flush -seek, name=Fast-forward-seek, playback-time=310.0, rate=32.0, start=310.0, flags=accurate+flush -seek, name=Fast-backward-seek, playback-time=470.0, rate=-32.0, start=310.0, stop=470.0, flags=accurate+flush +include,location=includes/default-seek-flags.scenario +seek, name=backward-seek, playback-time=0.0, rate=-1.0, start=0.0, stop=310.0, flags=default_flags +seek, name=forward-seek, playback-time=305.0, rate=1.0, start=305.0, flags=default_flags +seek, name=Fast-forward-seek, playback-time=310.0, rate=2.0, start=310.0, flags=default_flags +seek, name=Fast-backward-seek, playback-time=320.0, rate=-2.0, start=0.0, stop=320.0, flags=default_flags +seek, name=Fast-forward-seek, playback-time=310.0, rate=4.0, start=310.0, flags=default_flags +seek, name=Fast-backward-seek, playback-time=330.0, rate=-4.0, start=0.0, stop=330.0, flags=default_flags +seek, name=Fast-forward-seek, playback-time=310.0, rate=8.0, start=310.0, flags=default_flags +seek, name=Fast-backward-seek, playback-time=350.0, rate=-8.0, start=0.0, stop=350.0, flags=default_flags +seek, name=Fast-forward-seek, playback-time=310.0, rate=16.0, start=310.0, flags=default_flags +seek, name=Fast-backward-seek, playback-time=390.0, rate=-16.0, start=0.0, stop=390.0, flags=default_flags +seek, name=Fast-forward-seek, playback-time=310.0, rate=32.0, start=310.0, flags=default_flags +seek, name=Fast-backward-seek, playback-time=470.0, rate=-32.0, start=310.0, stop=470.0, flags=default_flags diff --git a/validate/data/scenarios/fast_backward.scenario b/validate/data/scenarios/fast_backward.scenario index 71f6f569f9..13720676d3 100644 --- a/validate/data/scenarios/fast_backward.scenario +++ b/validate/data/scenarios/fast_backward.scenario @@ -1,6 +1,7 @@ description, duration=30.0, minfo-media-duration=310.0, seek=true, reverse-playback=true, need-clock-sync=true, min-media-duration=310.0 -seek, name=Fast-backward-seek, playback-time=0.0, rate=-2.0, start=0.0, stop=310.0, flags=accurate+flush -seek, name=Fast-backward-seek, playback-time=300.0, rate=-4.0, start=0.0, stop=300.0, flags=accurate+flush -seek, name=Fast-backward-seek, playback-time=280.0, rate=-8.0, start=0.0, stop=280.0, flags=accurate+flush -seek, name=Fast-backward-seek, playback-time=240.0, rate=-16.0, start=0.0, stop=240.0, flags=accurate+flush -seek, name=Fast-backward-seek, playback-time=160.0, rate=-32.0, start=0.0, stop=160.0, flags=accurate+flush +include,location=includes/default-seek-flags.scenario +seek, name=Fast-backward-seek, playback-time=0.0, rate=-2.0, start=0.0, stop=310.0, flags=default_flags +seek, name=Fast-backward-seek, playback-time=300.0, rate=-4.0, start=0.0, stop=300.0, flags=default_flags +seek, name=Fast-backward-seek, playback-time=280.0, rate=-8.0, start=0.0, stop=280.0, flags=default_flags +seek, name=Fast-backward-seek, playback-time=240.0, rate=-16.0, start=0.0, stop=240.0, flags=default_flags +seek, name=Fast-backward-seek, playback-time=160.0, rate=-32.0, start=0.0, stop=160.0, flags=default_flags diff --git a/validate/data/scenarios/fast_forward.scenario b/validate/data/scenarios/fast_forward.scenario index 0f91a36c3d..ae44fdbd79 100644 --- a/validate/data/scenarios/fast_forward.scenario +++ b/validate/data/scenarios/fast_forward.scenario @@ -1,7 +1,8 @@ description, duration=25.0, seek=true, need-clock-sync=true, min-media-duration=5.0 -seek, name=Fast-forward-seek, playback-time=0.0, rate=2.0, start=0.0, flags=accurate+flush -seek, name=Fast-forward-seek, playback-time="min(10.0, duration*0.0625)", rate=4.0, start=0.0, flags=accurate+flush -seek, name=Fast-forward-seek, playback-time="min(20.0, duration*0.125)", rate=8.0, start=0.0, flags=accurate+flush -seek, name=Fast-forward-seek, playback-time="min(40.0, duration*0.25)", rate=16.0, start=0.0, flags=accurate+flush -seek, name=Fast-forward-seek, playback-time="min(80.0, duration*0.50)", rate=32.0, start=0.0, flags=accurate+flush +include,location=includes/default-seek-flags.scenario +seek, name=Fast-forward-seek, playback-time=0.0, rate=2.0, start=0.0, flags=default_flags +seek, name=Fast-forward-seek, playback-time="min(10.0, duration*0.0625)", rate=4.0, start=0.0, flags=default_flags +seek, name=Fast-forward-seek, playback-time="min(20.0, duration*0.125)", rate=8.0, start=0.0, flags=default_flags +seek, name=Fast-forward-seek, playback-time="min(40.0, duration*0.25)", rate=16.0, start=0.0, flags=default_flags +seek, name=Fast-forward-seek, playback-time="min(80.0, duration*0.50)", rate=32.0, start=0.0, flags=default_flags stop, playback-time="min(duration - 0.3, 160.0)" diff --git a/validate/data/scenarios/includes/default-seek-flags.scenario b/validate/data/scenarios/includes/default-seek-flags.scenario new file mode 100644 index 0000000000..2328eb74a2 --- /dev/null +++ b/validate/data/scenarios/includes/default-seek-flags.scenario @@ -0,0 +1,2 @@ +set-vars,\ + default_flags=accurate+flush diff --git a/validate/data/scenarios/meson.build b/validate/data/scenarios/meson.build index b46ea479bd..0c7081960c 100644 --- a/validate/data/scenarios/meson.build +++ b/validate/data/scenarios/meson.build @@ -23,8 +23,16 @@ _scenarios = ['simple_seeks.scenario', 'play_15s.scenario', 'change_state_intensive.scenario', 'switch_audio_track.scenario', - 'force_rtsp2.scenario', ] + 'force_rtsp2.scenario',] install_data(sources: _scenarios, install_dir: get_option('datadir') + '/gstreamer-' + apiversion + '/validate/scenarios') + +install_subdir('includes', + install_dir: get_option('datadir') + '/gstreamer-' + + apiversion + '/validate/scenarios') + +install_subdir('rtsp_overrides', + install_dir: get_option('datadir') + '/gstreamer-' + + apiversion + '/validate/scenarios') diff --git a/validate/data/scenarios/reverse_playback.scenario b/validate/data/scenarios/reverse_playback.scenario index c08dd2a299..e916b84e1c 100644 --- a/validate/data/scenarios/reverse_playback.scenario +++ b/validate/data/scenarios/reverse_playback.scenario @@ -1,2 +1,3 @@ description, seek=true, reverse-playback=true -seek, name=Reverse-seek, playback-time=0.0, rate=-1.0, start="max(duration - 15.0, 0.0)", stop=duration, flags=accurate+flush +include,location=includes/default-seek-flags.scenario +seek, name=Reverse-seek, playback-time=0.0, rate=-1.0, start="max(duration - 15.0, 0.0)", stop=duration, flags=default_flags diff --git a/validate/data/scenarios/rtsp_overrides/includes/default-seek-flags.scenario b/validate/data/scenarios/rtsp_overrides/includes/default-seek-flags.scenario new file mode 100644 index 0000000000..0da3870bc7 --- /dev/null +++ b/validate/data/scenarios/rtsp_overrides/includes/default-seek-flags.scenario @@ -0,0 +1,2 @@ +set-vars,\ + default_flags=flush diff --git a/validate/data/scenarios/scrub_backward_seeking.scenario b/validate/data/scenarios/scrub_backward_seeking.scenario index f2791943ed..8192d27e15 100644 --- a/validate/data/scenarios/scrub_backward_seeking.scenario +++ b/validate/data/scenarios/scrub_backward_seeking.scenario @@ -1,7 +1,8 @@ description, seek=true, handles-states=true, needs_preroll=true +include,location=includes/default-seek-flags.scenario pause, playback-time=0.0 -seek, playback-time=0.0, start="duration - 0.5", flags=accurate+flush -seek, playback-time=0.0, start=position-0.1, repeat="min(10, (duration - 0.6))/0.1", flags=accurate+flush +seek, playback-time=0.0, start="duration - 0.5", flags=default_flags +seek, playback-time=0.0, start=position-0.1, repeat="min(10, (duration - 0.6))/0.1", flags=default_flags play, playback-time=0.0 stop, playback-time=1.0 diff --git a/validate/data/scenarios/scrub_backward_seeking_full.scenario b/validate/data/scenarios/scrub_backward_seeking_full.scenario index 74e67fa492..4f1323061f 100644 --- a/validate/data/scenarios/scrub_backward_seeking_full.scenario +++ b/validate/data/scenarios/scrub_backward_seeking_full.scenario @@ -1,7 +1,8 @@ description, seek=true, handles-states=true, needs_preroll=true +include,location=includes/default-seek-flags.scenario pause, playback-time=0.0 -seek, playback-time=0.0, start="duration - 0.5", flags=accurate+flush -seek, playback-time=0.0, start=position-0.1, repeat="(duration - 0.6)/0.1", flags=accurate+flush +seek, playback-time=0.0, start="duration - 0.5", flags=default_flags +seek, playback-time=0.0, start=position-0.1, repeat="(duration - 0.6)/0.1", flags=default_flags play, playback-time=0.0 stop, playback-time=1.0 diff --git a/validate/data/scenarios/scrub_forward_seeking.scenario b/validate/data/scenarios/scrub_forward_seeking.scenario index eb8c66c3b1..210b2c97e8 100644 --- a/validate/data/scenarios/scrub_forward_seeking.scenario +++ b/validate/data/scenarios/scrub_forward_seeking.scenario @@ -1,5 +1,6 @@ description, seek=true, handles-states=true, needs_preroll=true +include,location=includes/default-seek-flags.scenario pause, playback-time=0.0 -seek, playback-time=0.0, start=position+0.1, repeat="min(10, (duration - 0.5))/0.1", flags=accurate+flush +seek, playback-time=0.0, start=position+0.1, repeat="min(10, (duration - 0.5))/0.1", flags=default_flags play, playback-time=0.0 stop, playback-time=1.0 diff --git a/validate/data/scenarios/scrub_forward_seeking_full.scenario b/validate/data/scenarios/scrub_forward_seeking_full.scenario index 6cbce986bc..d19d3355e5 100644 --- a/validate/data/scenarios/scrub_forward_seeking_full.scenario +++ b/validate/data/scenarios/scrub_forward_seeking_full.scenario @@ -1,5 +1,6 @@ description, seek=true, handles-states=true, needs_preroll=true +include,location=includes/default-seek-flags.scenario pause, playback-time=0.0 -seek, playback-time=0.0, start=position+0.1, repeat="(duration - 0.5)/0.1", flags=accurate+flush +seek, playback-time=0.0, start=position+0.1, repeat="(duration - 0.5)/0.1", flags=default_flags play, playback-time=0.0 stop, playback-time=1.0 diff --git a/validate/data/scenarios/seek_backward.scenario b/validate/data/scenarios/seek_backward.scenario index 9cd2df3678..c7bd4725d2 100644 --- a/validate/data/scenarios/seek_backward.scenario +++ b/validate/data/scenarios/seek_backward.scenario @@ -1,5 +1,6 @@ description, seek=true, duration=30, need-clock-sync=true -seek, name=Backward-seek, playback-time="min(5.0, (duration/4))", rate=1.0, start=0.0, flags=accurate+flush -seek, name=Backward-seek, playback-time="min(10.0, 2*(duration/4))", rate=1.0, start="min(5.0, duration/4)", flags=accurate+flush -seek, name=Backward-seek, playback-time="min(15.0, 3*(duration/4))", rate=1.0, start="min(10.0, 2*(duration/4))", flags=accurate+flush +include,location=includes/default-seek-flags.scenario +seek, name=Backward-seek, playback-time="min(5.0, (duration/4))", rate=1.0, start=0.0, flags=default_flags +seek, name=Backward-seek, playback-time="min(10.0, 2*(duration/4))", rate=1.0, start="min(5.0, duration/4)", flags=default_flags +seek, name=Backward-seek, playback-time="min(15.0, 3*(duration/4))", rate=1.0, start="min(10.0, 2*(duration/4))", flags=default_flags stop, playback-time="min(15.0, 3*(duration/4))" diff --git a/validate/data/scenarios/seek_forward.scenario b/validate/data/scenarios/seek_forward.scenario index 1b907c8ae8..902a939f30 100644 --- a/validate/data/scenarios/seek_forward.scenario +++ b/validate/data/scenarios/seek_forward.scenario @@ -1,5 +1,6 @@ description, seek=true, duration=20, need-clock-sync=true -seek, name=First-forward-seek, playback-time="min(5.0, (duration/8))", start="min(10, 2*(duration/8))", flags=accurate+flush -seek, name=Second-forward-seek, playback-time="min(15.0, 3*(duration/8))", start="min(20, 4*(duration/8))", flags=accurate+flush -seek, name=Third-forward-seek, playback-time="min(25, 5*(duration/8))", start="min(30.0, 6*(duration/8))", flags=accurate+flush +include,location=includes/default-seek-flags.scenario +seek, name=First-forward-seek, playback-time="min(5.0, (duration/8))", start="min(10, 2*(duration/8))", flags=default_flags +seek, name=Second-forward-seek, playback-time="min(15.0, 3*(duration/8))", start="min(20, 4*(duration/8))", flags=default_flags +seek, name=Third-forward-seek, playback-time="min(25, 5*(duration/8))", start="min(30.0, 6*(duration/8))", flags=default_flags stop, playback-time=35.0 diff --git a/validate/data/scenarios/seek_forward_backward.scenario b/validate/data/scenarios/seek_forward_backward.scenario index e7bd0dc3d8..39962901ab 100644 --- a/validate/data/scenarios/seek_forward_backward.scenario +++ b/validate/data/scenarios/seek_forward_backward.scenario @@ -1,9 +1,10 @@ description, seek=true, duration=40, min-media-duration=45.0 -seek, name=Forward-seek, playback-time=0.0, rate=1.0, start=5.0, flags=accurate+flush -seek, name=Backward-seek, playback-time=10.0, rate=1.0, start=0.0, flags=accurate+flush -seek, name=Backward-seek, playback-time=5.0, rate=1.0, start=25.0, stop=-1, flags=accurate+flush -seek, name=Backward-seek, playback-time=30.0, rate=1.0, start=0.0, flags=accurate+flush -seek, name=Forward-seek, playback-time=5.0, rate=1.0, start=15.0, flags=accurate+flush -seek, name=Forward-seek, playback-time=20.0, rate=1.0, start=35.0, flags=accurate+flush -seek, name=Backward-seek, playback-time=40.0, rate=1.0, start=25.0, flags=accurate+flush -seek, name=Last-backward-seek, playback-time=30.0, rate=1.0, start=5.0, stop=10.0, flags=accurate+flush +include,location=includes/default-seek-flags.scenario +seek, name=Forward-seek, playback-time=0.0, rate=1.0, start=5.0, flags=default_flags +seek, name=Backward-seek, playback-time=10.0, rate=1.0, start=0.0, flags=default_flags +seek, name=Backward-seek, playback-time=5.0, rate=1.0, start=25.0, stop=-1, flags=default_flags +seek, name=Backward-seek, playback-time=30.0, rate=1.0, start=0.0, flags=default_flags +seek, name=Forward-seek, playback-time=5.0, rate=1.0, start=15.0, flags=default_flags +seek, name=Forward-seek, playback-time=20.0, rate=1.0, start=35.0, flags=default_flags +seek, name=Backward-seek, playback-time=40.0, rate=1.0, start=25.0, flags=default_flags +seek, name=Last-backward-seek, playback-time=30.0, rate=1.0, start=5.0, stop=10.0, flags=default_flags diff --git a/validate/data/scenarios/seek_with_stop.scenario b/validate/data/scenarios/seek_with_stop.scenario index 5d703587b7..38f14264f3 100644 --- a/validate/data/scenarios/seek_with_stop.scenario +++ b/validate/data/scenarios/seek_with_stop.scenario @@ -1,2 +1,3 @@ description, seek=true, duration=5.0, need_clock_sync=true, min-media-duration=2 -seek, playback-time=1.0, start=0.0, stop="min(5.0, duration-1.0)", flags=accurate+flush +include,location=includes/default-seek-flags.scenario +seek, playback-time=1.0, start=0.0, stop="min(5.0, duration-1.0)", flags=default_flags diff --git a/validate/data/scenarios/simple_seeks.scenario b/validate/data/scenarios/simple_seeks.scenario index 645253a0d6..0ce35c83b8 100644 --- a/validate/data/scenarios/simple_seeks.scenario +++ b/validate/data/scenarios/simple_seeks.scenario @@ -1,4 +1,5 @@ description, seek=true, duration=5.0 -seek, playback-time=1.0, rate=1.0, start=2.0, flags=accurate+flush -seek, playback-time=3.0, rate=1.0, start=0.0, flags=accurate+flush -seek, playback-time=1.0, rate=1.0, start=2.0, stop=3.0, flags=accurate+flush +include,location=includes/default-seek-flags.scenario +seek, playback-time=1.0, rate=1.0, start=2.0, flags=default_flags +seek, playback-time=3.0, rate=1.0, start=0.0, flags=default_flags +seek, playback-time=1.0, rate=1.0, start=2.0, stop=3.0, flags=default_flags diff --git a/validate/data/scenarios/update_start.scenario b/validate/data/scenarios/update_start.scenario index 54456fd541..a69c25424d 100644 --- a/validate/data/scenarios/update_start.scenario +++ b/validate/data/scenarios/update_start.scenario @@ -1,2 +1,3 @@ description, summary="Use the set seek type to seek at 5 seconds after 2 seconds", seek=true -seek, playback-time=2.0, rate=1.0, start_type=set, start=5.0, stop_type=none, stop=0.0, flags=accurate+flush +include,location=includes/default-seek-flags.scenario +seek, playback-time=2.0, rate=1.0, start_type=set, start=5.0, stop_type=none, stop=0.0, flags=default_flags diff --git a/validate/data/scenarios/update_stop.scenario b/validate/data/scenarios/update_stop.scenario index 8421fc4a64..36f099c623 100644 --- a/validate/data/scenarios/update_stop.scenario +++ b/validate/data/scenarios/update_stop.scenario @@ -1,3 +1,4 @@ description, summary="Use the set seek type to seek at 0 secs stop 10secs after 5 secs", seek=true description, duration=15.0, seek=true -seek, playback-time=5.0, rate=1.0, start_type=none, start=0.0, stop_type=set, stop=10.0, flags=accurate+flush +include,location=includes/default-seek-flags.scenario +seek, playback-time=5.0, rate=1.0, start_type=none, start=0.0, stop_type=set, stop=10.0, flags=default_flags diff --git a/validate/launcher/apps/gstvalidate.py b/validate/launcher/apps/gstvalidate.py index 813f30cf26..e71c394501 100644 --- a/validate/launcher/apps/gstvalidate.py +++ b/validate/launcher/apps/gstvalidate.py @@ -709,6 +709,9 @@ class GstValidateRTSPTest(GstValidateBaseRTSPTest, GstValidateLaunchTest): def get_subproc_env(self): env = super().get_subproc_env() + path = env.get('GST_VALIDATE_SCENARIOS_PATH', '') + override_dir = get_data_file(os.path.join('data', 'scenarios'), 'rtsp_overrides') + env['GST_VALIDATE_SCENARIOS_PATH'] = '%s:%s' % (override_dir, path) if self.rtsp2: env['GST_VALIDATE_SCENARIO'] = env.get('GST_VALIDATE_SCENARIO', '') + ':' + 'force_rtsp2'