diff --git a/media/base/videocapturer.cc b/media/base/videocapturer.cc index 592f3e20e3..88cf9a8e3e 100644 --- a/media/base/videocapturer.cc +++ b/media/base/videocapturer.cc @@ -17,6 +17,7 @@ #include "api/video/i420_buffer.h" #include "api/video/video_frame.h" #include "rtc_base/logging.h" +#include "system_wrappers/include/field_trial.h" namespace cricket { @@ -26,6 +27,8 @@ static const int64_t kMaxDistance = ~(static_cast(1) << 63); #ifdef WEBRTC_LINUX static const int kYU12Penalty = 16; // Needs to be higher than MJPG index. #endif +static const char* kSimulcastScreenshareFieldTrialName = + "WebRTC-SimulcastScreenshare"; } // namespace @@ -174,7 +177,10 @@ bool VideoCapturer::AdaptFrame(int width, return false; } - if (enable_video_adapter_ && !IsScreencast()) { + bool simulcast_screenshare_enabled = + webrtc::field_trial::IsEnabled(kSimulcastScreenshareFieldTrialName); + if (enable_video_adapter_ && + (!IsScreencast() || simulcast_screenshare_enabled)) { if (!video_adapter_.AdaptFrameResolution( width, height, camera_time_us * rtc::kNumNanosecsPerMicrosec, crop_width, crop_height, out_width, out_height)) {