From a3df0f2d05c7b0973c31fe171507e97e588671a5 Mon Sep 17 00:00:00 2001 From: Ilya Nikolaevskiy Date: Tue, 24 Jul 2018 17:02:07 +0200 Subject: [PATCH] Remove simulcast screenshare experimental code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: chromium:690537 Change-Id: I2ed850eb7e450e9666aeb7cc3b55db073ed5a8a9 Reviewed-on: https://webrtc-review.googlesource.com/90251 Commit-Queue: Ilya Nikolaevskiy Reviewed-by: Fredrik Solenberg Reviewed-by: Erik Språng Cr-Commit-Position: refs/heads/master@{#24104} --- media/base/videocapturer.cc | 7 +------ media/engine/simulcast.cc | 13 +----------- media/engine/simulcast.h | 4 ---- media/engine/simulcast_unittest.cc | 23 ---------------------- media/engine/webrtcvideoengine.cc | 8 ++------ media/engine/webrtcvideoengine_unittest.cc | 19 ------------------ video/full_stack_tests.cc | 13 ------------ 7 files changed, 4 insertions(+), 83 deletions(-) diff --git a/media/base/videocapturer.cc b/media/base/videocapturer.cc index 643134c546..f8420dc1ad 100644 --- a/media/base/videocapturer.cc +++ b/media/base/videocapturer.cc @@ -27,8 +27,6 @@ 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 @@ -184,10 +182,7 @@ bool VideoCapturer::AdaptFrame(int width, return false; } - bool simulcast_screenshare_enabled = - !webrtc::field_trial::IsDisabled(kSimulcastScreenshareFieldTrialName); - if (enable_video_adapter_ && - (!IsScreencast() || simulcast_screenshare_enabled)) { + if (enable_video_adapter_) { if (!video_adapter_.AdaptFrameResolution( width, height, camera_time_us * rtc::kNumNanosecsPerMicrosec, crop_width, crop_height, out_width, out_height)) { diff --git a/media/engine/simulcast.cc b/media/engine/simulcast.cc index f1b3a3422c..c53a49d483 100644 --- a/media/engine/simulcast.cc +++ b/media/engine/simulcast.cc @@ -27,9 +27,6 @@ namespace { constexpr int kScreenshareDefaultTl0BitrateKbps = 200; constexpr int kScreenshareDefaultTl1BitrateKbps = 1000; -static const char* kSimulcastScreenshareFieldTrialName = - "WebRTC-SimulcastScreenshare"; - } // namespace struct SimulcastFormat { @@ -192,7 +189,6 @@ std::vector GetSimulcastConfig( if (is_screenshare) { return GetScreenshareLayers(max_layers, width, height, bitrate_priority, max_qp, max_framerate, - ScreenshareSimulcastFieldTrialEnabled(), temporal_layers_supported); } else { return GetNormalSimulcastLayers(max_layers, width, height, bitrate_priority, @@ -293,12 +289,9 @@ std::vector GetScreenshareLayers( double bitrate_priority, int max_qp, int max_framerate, - bool screenshare_simulcast_enabled, bool temporal_layers_supported) { - auto max_screenshare_layers = - screenshare_simulcast_enabled ? kMaxScreenshareSimulcastLayers : 1; size_t num_simulcast_layers = - std::min(max_layers, max_screenshare_layers); + std::min(max_layers, kMaxScreenshareSimulcastLayers); std::vector layers(num_simulcast_layers); // For legacy screenshare in conference mode, tl0 and tl1 bitrates are @@ -344,8 +337,4 @@ std::vector GetScreenshareLayers( return layers; } -bool ScreenshareSimulcastFieldTrialEnabled() { - return !webrtc::field_trial::IsDisabled(kSimulcastScreenshareFieldTrialName); -} - } // namespace cricket diff --git a/media/engine/simulcast.h b/media/engine/simulcast.h index 7a396a45fa..84583bca36 100644 --- a/media/engine/simulcast.h +++ b/media/engine/simulcast.h @@ -56,11 +56,7 @@ std::vector GetScreenshareLayers( double bitrate_priority, int max_qp, int max_framerate, - bool screenshare_simulcast_enabled, bool temporal_layers_supported = true); - -bool ScreenshareSimulcastFieldTrialEnabled(); - } // namespace cricket #endif // MEDIA_ENGINE_SIMULCAST_H_ diff --git a/media/engine/simulcast_unittest.cc b/media/engine/simulcast_unittest.cc index f3fa854c82..29226d1211 100644 --- a/media/engine/simulcast_unittest.cc +++ b/media/engine/simulcast_unittest.cc @@ -134,27 +134,6 @@ TEST(SimulcastTest, GetConfigWithNormalizedResolution) { EXPECT_EQ(360u, streams[1].height); } -TEST(SimulcastTest, GetConfigForScreenshare) { - test::ScopedFieldTrials field_trials("WebRTC-SimulcastScreenshare/Disabled/"); - - const size_t kMaxLayers = 3; - std::vector streams = cricket::GetSimulcastConfig( - kMaxLayers, 1400, 800, kMaxBitrateBps, kBitratePriority, kQpMax, kMaxFps, - kScreenshare); - - EXPECT_EQ(1u, streams.size()) << "No simulcast."; - EXPECT_EQ(1400u, streams[0].width); - EXPECT_EQ(800u, streams[0].height); - EXPECT_EQ(kQpMax, streams[0].max_qp); - EXPECT_EQ(kBitratePriority, streams[0].bitrate_priority); - EXPECT_TRUE(streams[0].active); - EXPECT_GT(streams[0].num_temporal_layers, size_t{1}); - EXPECT_GT(streams[0].max_framerate, 0); - EXPECT_EQ(cricket::kMinVideoBitrateBps, streams[0].min_bitrate_bps); - EXPECT_GT(streams[0].target_bitrate_bps, streams[0].min_bitrate_bps); - EXPECT_GT(streams[0].max_bitrate_bps, streams[0].target_bitrate_bps); -} - TEST(SimulcastTest, GetConfigForScreenshareSimulcast) { const size_t kMaxLayers = 3; std::vector streams = cricket::GetSimulcastConfig( @@ -176,8 +155,6 @@ TEST(SimulcastTest, GetConfigForScreenshareSimulcast) { } TEST(SimulcastTest, GetConfigForScreenshareSimulcastWithLimitedMaxLayers) { - test::ScopedFieldTrials field_trials("WebRTC-SimulcastScreenshare/Enabled/"); - const size_t kMaxLayers = 1; std::vector streams = cricket::GetSimulcastConfig( kMaxLayers, 1400, 800, kMaxBitrateBps, kBitratePriority, kQpMax, kMaxFps, diff --git a/media/engine/webrtcvideoengine.cc b/media/engine/webrtcvideoengine.cc index d75b48b00c..18e26b91d6 100644 --- a/media/engine/webrtcvideoengine.cc +++ b/media/engine/webrtcvideoengine.cc @@ -1948,8 +1948,7 @@ WebRtcVideoChannel::WebRtcVideoSendStream::CreateVideoEncoderConfig( // configure a single stream. encoder_config.number_of_streams = parameters_.config.rtp.ssrcs.size(); if (IsCodecBlacklistedForSimulcast(codec.name) || - (is_screencast && (!ScreenshareSimulcastFieldTrialEnabled() || - !parameters_.conference_mode))) { + (is_screencast && !parameters_.conference_mode)) { encoder_config.number_of_streams = 1; } @@ -2728,10 +2727,7 @@ std::vector EncoderStreamFactory::CreateEncoderStreams( int width, int height, const webrtc::VideoEncoderConfig& encoder_config) { - bool screenshare_simulcast_enabled = - screenshare_config_explicitly_enabled_ && - cricket::ScreenshareSimulcastFieldTrialEnabled(); - if (is_screenshare_ && !screenshare_simulcast_enabled) { + if (is_screenshare_ && !screenshare_config_explicitly_enabled_) { RTC_DCHECK_EQ(1, encoder_config.number_of_streams); } RTC_DCHECK_GT(encoder_config.number_of_streams, 0); diff --git a/media/engine/webrtcvideoengine_unittest.cc b/media/engine/webrtcvideoengine_unittest.cc index e42e3a5f19..cd8daf6de3 100644 --- a/media/engine/webrtcvideoengine_unittest.cc +++ b/media/engine/webrtcvideoengine_unittest.cc @@ -6439,25 +6439,6 @@ 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) { VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 2, true, true); diff --git a/video/full_stack_tests.cc b/video/full_stack_tests.cc index d43e53cb23..441c15b156 100644 --- a/video/full_stack_tests.cc +++ b/video/full_stack_tests.cc @@ -47,8 +47,6 @@ namespace webrtc { namespace { static const int kFullStackTestDurationSecs = 45; -const char kNotScreenshareSimulcastExperiment[] = - "WebRTC-SimulcastScreenshare/Disabled/"; const char kRoundRobinPacingQueueExperiment[] = "WebRTC-RoundRobinPacing/Enabled/"; const char kPacerPushBackExperiment[] = @@ -594,7 +592,6 @@ TEST(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueueVP9) { #endif TEST(FullStackTest, ScreenshareSlidesVP8_2TL) { - test::ScopedFieldTrials field_trial(kNotScreenshareSimulcastExperiment); auto fixture = CreateVideoQualityTestFixture(); ParamsWithLogging screenshare; screenshare.call.send_side_bwe = true; @@ -636,8 +633,6 @@ 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; @@ -651,8 +646,6 @@ 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; @@ -669,8 +662,6 @@ 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; @@ -687,8 +678,6 @@ 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; @@ -706,8 +695,6 @@ 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;