diff --git a/video/screenshare_loopback.cc b/video/screenshare_loopback.cc index 40bf9ee496..21aae1f7b8 100644 --- a/video/screenshare_loopback.cc +++ b/video/screenshare_loopback.cc @@ -257,6 +257,14 @@ ABSL_FLAG(bool, generic_descriptor, false, "Use the generic frame descriptor."); ABSL_FLAG(bool, allow_reordering, false, "Allow packet reordering to occur"); +ABSL_FLAG(std::string, + clip, + "", + "Name of the clip to show. If empty, use frame generator."); +std::string Clip() { + return absl::GetFlag(FLAGS_clip); +} + // Screenshare-specific flags. ABSL_FLAG(int, min_transmit_bitrate, @@ -331,11 +339,14 @@ void Loopback() { params.video[0].num_temporal_layers = NumTemporalLayers(); params.video[0].selected_tl = SelectedTL(); params.video[0].min_transmit_bps = MinTransmitBitrateKbps() * 1000; + params.video[0].clip_path = Clip(); params.screenshare[0].enabled = true; params.screenshare[0].generate_slides = GenerateSlides(); params.screenshare[0].slide_change_interval = SlideChangeInterval(); params.screenshare[0].scroll_duration = ScrollDuration(); params.screenshare[0].slides = Slides(); + params.analyzer.test_label = "screenshare"; + params.analyzer.test_durations_secs = DurationSecs(); params.config = pipe_config; params.logging.rtc_event_log_name = RtcEventLogName(); params.logging.rtp_dump_name = RtpDumpName(); diff --git a/video/video_loopback.cc b/video/video_loopback.cc index b02184a685..826936b2d6 100644 --- a/video/video_loopback.cc +++ b/video/video_loopback.cc @@ -200,7 +200,6 @@ ABSL_FLAG(bool, ABSL_FLAG(bool, video, true, "Add video stream"); -// Video-specific flags. ABSL_FLAG(std::string, clip, "", diff --git a/video/video_quality_test.cc b/video/video_quality_test.cc index e305de845e..b6cc76550e 100644 --- a/video/video_quality_test.cc +++ b/video/video_quality_test.cc @@ -1045,6 +1045,10 @@ VideoQualityTest::CreateFrameGenerator(size_t video_idx) { kWidth, kHeight, params_.screenshare[video_idx].slide_change_interval * params_.video[video_idx].fps); + } else if (!params_.video[video_idx].clip_path.empty()) { + frame_generator = test::CreateFromYuvFileFrameGenerator( + {params_.video[video_idx].clip_path}, params_.video[video_idx].width, + params_.video[video_idx].height, 1); } else { std::vector slides = params_.screenshare[video_idx].slides; if (slides.empty()) {