Add field trial for disabling FrameDropper.

Bug: webrtc:9711
Change-Id: Iaa68fa4de589c05cf6b8cab87bf00ad1f3c565f9
Reviewed-on: https://webrtc-review.googlesource.com/97327
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24536}
This commit is contained in:
Rasmus Brandt
2018-09-03 13:30:46 +02:00
committed by Commit Bot
parent 260182d9f3
commit 5438bce467

View File

@ -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_) {