From 5438bce4674cf6b52732e012b74d47fcfdbe5985 Mon Sep 17 00:00:00 2001 From: Rasmus Brandt Date: Mon, 3 Sep 2018 13:30:46 +0200 Subject: [PATCH] Add field trial for disabling FrameDropper. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: webrtc:9711 Change-Id: Iaa68fa4de589c05cf6b8cab87bf00ad1f3c565f9 Reviewed-on: https://webrtc-review.googlesource.com/97327 Reviewed-by: Erik Språng Commit-Queue: Rasmus Brandt Cr-Commit-Position: refs/heads/master@{#24536} --- modules/video_coding/video_sender.cc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/video_coding/video_sender.cc b/modules/video_coding/video_sender.cc index bae60edf62..e0597b7578 100644 --- a/modules/video_coding/video_sender.cc +++ b/modules/video_coding/video_sender.cc @@ -22,10 +22,17 @@ #include "rtc_base/checks.h" #include "rtc_base/logging.h" #include "system_wrappers/include/clock.h" +#include "system_wrappers/include/field_trial.h" namespace webrtc { namespace vcm { +namespace { + +constexpr char kFrameDropperFieldTrial[] = "WebRTC-FrameDropper"; + +} // namespace + VideoSender::VideoSender(Clock* clock, EncodedImageCallback* post_encode_callback) : _encoder(nullptr), @@ -91,8 +98,9 @@ int32_t VideoSender::RegisterSendCodec(const VideoCodec* sendCodec, } // If we have screensharing and we have layers, we disable frame dropper. - bool disable_frame_dropper = - numLayers > 1 && sendCodec->mode == VideoCodecMode::kScreensharing; + const bool disable_frame_dropper = + field_trial::IsDisabled(kFrameDropperFieldTrial) || + (numLayers > 1 && sendCodec->mode == VideoCodecMode::kScreensharing); if (disable_frame_dropper) { _mediaOpt.EnableFrameDropper(false); } else if (frame_dropper_enabled_) {