Index: webrtc/video/video_quality_test.cc |
diff --git a/webrtc/video/video_quality_test.cc b/webrtc/video/video_quality_test.cc |
index 81e732c8ba97e5c796e11f14af055022c4e6a25e..dbaa55c0bb25eb24ab855a871fd854c85e9deadc 100644 |
--- a/webrtc/video/video_quality_test.cc |
+++ b/webrtc/video/video_quality_test.cc |
@@ -1684,32 +1684,41 @@ void VideoQualityTest::SetupScreenshareOrSVC() { |
// Setup frame generator. |
const size_t kWidth = 1850; |
const size_t kHeight = 1110; |
- std::vector<std::string> slides = params_.screenshare.slides; |
- if (slides.size() == 0) { |
- slides.push_back(test::ResourcePath("web_screenshot_1850_1110", "yuv")); |
- slides.push_back(test::ResourcePath("presentation_1850_1110", "yuv")); |
- slides.push_back(test::ResourcePath("photo_1850_1110", "yuv")); |
- slides.push_back(test::ResourcePath("difficult_photo_1850_1110", "yuv")); |
- } |
- if (params_.screenshare.scroll_duration == 0) { |
- // Cycle image every slide_change_interval seconds. |
- frame_generator_ = test::FrameGenerator::CreateFromYuvFile( |
- slides, kWidth, kHeight, |
+ if (params_.screenshare.generate_slides) { |
+ frame_generator_ = test::FrameGenerator::CreateSlideGenerator( |
+ kWidth, kHeight, |
params_.screenshare.slide_change_interval * params_.video.fps); |
} else { |
- RTC_CHECK_LE(params_.video.width, kWidth); |
- RTC_CHECK_LE(params_.video.height, kHeight); |
- RTC_CHECK_GT(params_.screenshare.slide_change_interval, 0); |
- const int kPauseDurationMs = (params_.screenshare.slide_change_interval - |
- params_.screenshare.scroll_duration) * |
- 1000; |
- RTC_CHECK_LE(params_.screenshare.scroll_duration, |
- params_.screenshare.slide_change_interval); |
- |
- frame_generator_ = test::FrameGenerator::CreateScrollingInputFromYuvFiles( |
- clock_, slides, kWidth, kHeight, params_.video.width, |
- params_.video.height, params_.screenshare.scroll_duration * 1000, |
- kPauseDurationMs); |
+ std::vector<std::string> slides = params_.screenshare.slides; |
+ if (slides.size() == 0) { |
+ slides.push_back(test::ResourcePath("web_screenshot_1850_1110", "yuv")); |
+ slides.push_back(test::ResourcePath("presentation_1850_1110", "yuv")); |
+ slides.push_back(test::ResourcePath("photo_1850_1110", "yuv")); |
+ slides.push_back( |
+ test::ResourcePath("difficult_photo_1850_1110", "yuv")); |
+ } |
+ if (params_.screenshare.scroll_duration == 0) { |
+ // Cycle image every slide_change_interval seconds. |
+ frame_generator_ = test::FrameGenerator::CreateFromYuvFile( |
+ slides, kWidth, kHeight, |
+ params_.screenshare.slide_change_interval * params_.video.fps); |
+ } else { |
+ RTC_CHECK_LE(params_.video.width, kWidth); |
+ RTC_CHECK_LE(params_.video.height, kHeight); |
+ RTC_CHECK_GT(params_.screenshare.slide_change_interval, 0); |
+ const int kPauseDurationMs = |
+ (params_.screenshare.slide_change_interval - |
+ params_.screenshare.scroll_duration) * |
+ 1000; |
+ RTC_CHECK_LE(params_.screenshare.scroll_duration, |
+ params_.screenshare.slide_change_interval); |
+ |
+ frame_generator_ = |
+ test::FrameGenerator::CreateScrollingInputFromYuvFiles( |
+ clock_, slides, kWidth, kHeight, params_.video.width, |
+ params_.video.height, |
+ params_.screenshare.scroll_duration * 1000, kPauseDurationMs); |
+ } |
} |
} else if (params_.ss.num_spatial_layers > 1) { // For non-screenshare case. |
RTC_CHECK(params_.video.codec == "VP9"); |