diff --git a/webrtc/video/video_loopback.cc b/webrtc/video/video_loopback.cc index 87aacc6755..0974d5869f 100644 --- a/webrtc/video/video_loopback.cc +++ b/webrtc/video/video_loopback.cc @@ -178,6 +178,8 @@ DEFINE_bool(send_side_bwe, true, "Use send-side bandwidth estimation"); DEFINE_bool(allow_reordering, false, "Allow packet reordering to occur"); +DEFINE_bool(use_fec, false, "Use forward error correction."); + DEFINE_string( force_fieldtrials, "", @@ -216,7 +218,9 @@ void Loopback() { flags::MaxBitrateKbps() * 1000, flags::Codec(), flags::NumTemporalLayers(), flags::SelectedTL(), 0, // No min transmit bitrate. - call_bitrate_config, flags::FLAGS_send_side_bwe}, + call_bitrate_config, + flags::FLAGS_send_side_bwe, + flags::FLAGS_use_fec}, {flags::Clip()}, {}, // Screenshare specific. {"video", 0.0, 0.0, flags::DurationSecs(), flags::OutputFilename(), diff --git a/webrtc/video/video_quality_test.cc b/webrtc/video/video_quality_test.cc index 3f5f37ebd3..78d8845ffd 100644 --- a/webrtc/video/video_quality_test.cc +++ b/webrtc/video/video_quality_test.cc @@ -1127,6 +1127,15 @@ void VideoQualityTest::RunWithVideoRenderer(const Params& params) { video_send_config_.local_renderer = local_preview.get(); video_receive_configs_[stream_id].renderer = loopback_video.get(); + if (params.common.fec) { + video_send_config_.rtp.fec.red_payload_type = kRedPayloadType; + video_send_config_.rtp.fec.ulpfec_payload_type = kUlpfecPayloadType; + video_receive_configs_[stream_id].rtp.fec.red_payload_type = + kRedPayloadType; + video_receive_configs_[stream_id].rtp.fec.ulpfec_payload_type = + kUlpfecPayloadType; + } + if (params_.screenshare.enabled) SetupScreenshare(); diff --git a/webrtc/video/video_quality_test.h b/webrtc/video/video_quality_test.h index b476004aae..e138a89a8c 100644 --- a/webrtc/video/video_quality_test.h +++ b/webrtc/video/video_quality_test.h @@ -41,6 +41,7 @@ class VideoQualityTest : public test::CallTest { Call::Config::BitrateConfig call_bitrate_config; bool send_side_bwe; + bool fec; } common; struct { // Video-specific settings. std::string clip_name;