Reland "Enable simulcast screenshare by default"

This is a reland of d43c692ba7f53b5576a494c0343bc7a4bb36831b after fixes
to failing chromium tests. No change to the original CL were done.
Original CL reviewed on: https://webrtc-review.googlesource.com/87560

TBR=stefan@webrtc.org

Bug: chromium:690537
Change-Id: I6b59ffc90d789aff21c7e52b118d3dfbe756c8a9
Reviewed-on: https://webrtc-review.googlesource.com/89081
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24013}
This commit is contained in:
Ilya Nikolaevskiy
2018-07-17 09:45:23 +02:00
committed by Commit Bot
parent 881fe53d1f
commit 89b2963810
5 changed files with 25 additions and 12 deletions

View File

@ -179,7 +179,7 @@ bool VideoCapturer::AdaptFrame(int width,
}
bool simulcast_screenshare_enabled =
webrtc::field_trial::IsEnabled(kSimulcastScreenshareFieldTrialName);
!webrtc::field_trial::IsDisabled(kSimulcastScreenshareFieldTrialName);
if (enable_video_adapter_ &&
(!IsScreencast() || simulcast_screenshare_enabled)) {
if (!video_adapter_.AdaptFrameResolution(

View File

@ -345,7 +345,7 @@ std::vector<webrtc::VideoStream> GetScreenshareLayers(
}
bool ScreenshareSimulcastFieldTrialEnabled() {
return webrtc::field_trial::IsEnabled(kSimulcastScreenshareFieldTrialName);
return !webrtc::field_trial::IsDisabled(kSimulcastScreenshareFieldTrialName);
}
} // namespace cricket

View File

@ -135,6 +135,8 @@ TEST(SimulcastTest, GetConfigWithNormalizedResolution) {
}
TEST(SimulcastTest, GetConfigForScreenshare) {
test::ScopedFieldTrials field_trials("WebRTC-SimulcastScreenshare/Disabled/");
const size_t kMaxLayers = 3;
std::vector<VideoStream> streams = cricket::GetSimulcastConfig(
kMaxLayers, 1400, 800, kMaxBitrateBps, kBitratePriority, kQpMax, kMaxFps,
@ -154,8 +156,6 @@ TEST(SimulcastTest, GetConfigForScreenshare) {
}
TEST(SimulcastTest, GetConfigForScreenshareSimulcast) {
test::ScopedFieldTrials field_trials("WebRTC-SimulcastScreenshare/Enabled/");
const size_t kMaxLayers = 3;
std::vector<VideoStream> streams = cricket::GetSimulcastConfig(
kMaxLayers, 1400, 800, kMaxBitrateBps, kBitratePriority, kQpMax, kMaxFps,

View File

@ -6415,28 +6415,32 @@ TEST_F(WebRtcVideoChannelSimulcastTest, SetSendCodecsWithOddSizeInSimulcast) {
true);
}
// TODO(ilnik): Remove this test once Simulcast Screenshare is launched.
TEST_F(WebRtcVideoChannelSimulcastTest, SetSendCodecsForScreenshare) {
webrtc::test::ScopedFieldTrials override_field_trials_(
"WebRTC-SimulcastScreenshare/Disabled/");
VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 1, true,
false);
}
// TODO(ilnik): Remove this test once Simulcast Screenshare is launched.
TEST_F(WebRtcVideoChannelSimulcastTest,
SetSendCodecsForConferenceModeScreenshare) {
webrtc::test::ScopedFieldTrials override_field_trials_(
"WebRTC-SimulcastScreenshare/Disabled/");
VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 1, true,
true);
}
TEST_F(WebRtcVideoChannelSimulcastTest, SetSendCodecsForSimulcastScreenshare) {
webrtc::test::ScopedFieldTrials override_field_trials_(
"WebRTC-SimulcastScreenshare/Enabled/");
VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 2, true,
true);
}
TEST_F(WebRtcVideoChannelSimulcastTest,
NoSimulcastScreenshareWithoutConference) {
webrtc::test::ScopedFieldTrials override_field_trials_(
"WebRTC-SimulcastScreenshare/Enabled/");
VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 1, true,
false);
}

View File

@ -47,8 +47,8 @@ namespace webrtc {
namespace {
static const int kFullStackTestDurationSecs = 45;
const char kScreenshareSimulcastExperiment[] =
"WebRTC-SimulcastScreenshare/Enabled/";
const char kNotScreenshareSimulcastExperiment[] =
"WebRTC-SimulcastScreenshare/Disabled/";
const char kRoundRobinPacingQueueExperiment[] =
"WebRTC-RoundRobinPacing/Enabled/";
const char kPacerPushBackExperiment[] =
@ -594,6 +594,7 @@ TEST(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueueVP9) {
#endif
TEST(FullStackTest, ScreenshareSlidesVP8_2TL) {
test::ScopedFieldTrials field_trial(kNotScreenshareSimulcastExperiment);
auto fixture = CreateVideoQualityTestFixture();
ParamsWithLogging screenshare;
screenshare.call.send_side_bwe = true;
@ -608,7 +609,6 @@ TEST(FullStackTest, ScreenshareSlidesVP8_2TL) {
TEST(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast) {
auto fixture = CreateVideoQualityTestFixture();
test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment);
ParamsWithLogging screenshare;
screenshare.call.send_side_bwe = true;
screenshare.screenshare[0] = {true, false, 10};
@ -636,6 +636,8 @@ TEST(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast) {
}
TEST(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) {
test::ScopedFieldTrials field_trial(kNotScreenshareSimulcastExperiment);
auto fixture = CreateVideoQualityTestFixture();
ParamsWithLogging config;
config.call.send_side_bwe = true;
@ -649,6 +651,8 @@ TEST(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) {
}
TEST(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) {
test::ScopedFieldTrials field_trial(kNotScreenshareSimulcastExperiment);
auto fixture = CreateVideoQualityTestFixture();
ParamsWithLogging screenshare;
screenshare.call.send_side_bwe = true;
@ -665,6 +669,8 @@ TEST(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) {
}
TEST(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) {
test::ScopedFieldTrials field_trial(kNotScreenshareSimulcastExperiment);
auto fixture = CreateVideoQualityTestFixture();
ParamsWithLogging screenshare;
screenshare.call.send_side_bwe = true;
@ -681,6 +687,8 @@ TEST(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) {
}
TEST(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue) {
test::ScopedFieldTrials field_trial(kNotScreenshareSimulcastExperiment);
auto fixture = CreateVideoQualityTestFixture();
ParamsWithLogging screenshare;
screenshare.call.send_side_bwe = true;
@ -698,6 +706,8 @@ TEST(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue) {
}
TEST(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted) {
test::ScopedFieldTrials field_trial(kNotScreenshareSimulcastExperiment);
auto fixture = CreateVideoQualityTestFixture();
ParamsWithLogging screenshare;
screenshare.call.send_side_bwe = true;
@ -1057,7 +1067,6 @@ class DualStreamsTest : public ::testing::TestWithParam<int> {};
TEST_P(DualStreamsTest,
ModeratelyRestricted_SlidesVp8_3TL_Simulcast_Video_Simulcast_High) {
test::ScopedFieldTrials field_trial(
std::string(kScreenshareSimulcastExperiment) +
std::string(kRoundRobinPacingQueueExperiment) +
std::string(kPacerPushBackExperiment));
const int first_stream = GetParam();