From 1d2149c59c2c1b2834b8cb7983ad56b213129a42 Mon Sep 17 00:00:00 2001 From: Alessio Bazzica Date: Tue, 3 Sep 2019 15:12:14 +0000 Subject: [PATCH] Revert "Make the min video bitrate in VideoSendStream configurable." MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit b2fb0b937ce97b4ccf6363d4f91620a7ab02e87e. Reason for revert: breaking downstream projects Original change's description: > Make the min video bitrate in VideoSendStream configurable. > > "WebRTC-VP8-Forced-Fallback-Encoder-v2" affect VP8 only, "WebRTC-Video-MinVideoBitrate" apply to all codec. When both field trial string are set, the bitrate set by "WebRTC-VP8-Forced-Fallback-Encoder-v2" will be used. > > Bug: webrtc:10915 > Change-Id: I63da5909c04ecfad99e93a535fbf71293890fd11 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151135 > Commit-Queue: Ying Wang > Reviewed-by: Åsa Persson > Reviewed-by: Ilya Nikolaevskiy > Reviewed-by: Christoffer Rodbro > Cr-Commit-Position: refs/heads/master@{#29047} TBR=ilnik@webrtc.org,asapersson@webrtc.org,crodbro@webrtc.org,yinwa@webrtc.org Change-Id: If61c18a36ac2778226da4d2631da1c18e7d4ef81 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:10915 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151240 Reviewed-by: Alessio Bazzica Commit-Queue: Alessio Bazzica Cr-Commit-Position: refs/heads/master@{#29049} --- media/engine/webrtc_video_engine.cc | 5 +---- media/engine/webrtc_video_engine.h | 2 +- video/video_send_stream_impl.cc | 26 +++----------------------- 3 files changed, 5 insertions(+), 28 deletions(-) diff --git a/media/engine/webrtc_video_engine.cc b/media/engine/webrtc_video_engine.cc index 481567f6b6..ef1938eb9e 100644 --- a/media/engine/webrtc_video_engine.cc +++ b/media/engine/webrtc_video_engine.cc @@ -328,13 +328,10 @@ absl::optional GetFallbackMinBpsFromFieldTrial( } int GetMinVideoBitrateBps(webrtc::VideoCodecType type) { - if (GetFallbackMinBpsFromFieldTrial(type).has_value()) { - return GetFallbackMinBpsFromFieldTrial(type).value(); - } if (webrtc::field_trial::IsEnabled(kMinVideoBitrateExperiment)) { return MinVideoBitrateConfig().min_video_bitrate->bps(); } - return kMinVideoBitrateBps; + return GetFallbackMinBpsFromFieldTrial(type).value_or(kMinVideoBitrateBps); } } // namespace diff --git a/media/engine/webrtc_video_engine.h b/media/engine/webrtc_video_engine.h index f8d92d4d21..50467cd804 100644 --- a/media/engine/webrtc_video_engine.h +++ b/media/engine/webrtc_video_engine.h @@ -55,7 +55,7 @@ struct MinVideoBitrateConfig { webrtc::FieldTrialParameter min_video_bitrate; MinVideoBitrateConfig() - : min_video_bitrate("br", webrtc::DataRate::bps(kMinVideoBitrateBps)) { + : min_video_bitrate("br", webrtc::DataRate::KilobitsPerSec<30>()) { webrtc::ParseFieldTrial( {&min_video_bitrate}, webrtc::field_trial::FindFullName(kMinVideoBitrateExperiment)); diff --git a/video/video_send_stream_impl.cc b/video/video_send_stream_impl.cc index 76caeecdca..50bbb1f978 100644 --- a/video/video_send_stream_impl.cc +++ b/video/video_send_stream_impl.cc @@ -27,7 +27,6 @@ #include "rtc_base/atomic_ops.h" #include "rtc_base/checks.h" #include "rtc_base/experiments/alr_experiment.h" -#include "rtc_base/experiments/field_trial_parser.h" #include "rtc_base/experiments/rate_control_settings.h" #include "rtc_base/logging.h" #include "rtc_base/numerics/safe_conversions.h" @@ -58,21 +57,6 @@ bool TransportSeqNumExtensionConfigured(const VideoSendStream::Config& config) { const char kForcedFallbackFieldTrial[] = "WebRTC-VP8-Forced-Fallback-Encoder-v2"; -const int kDefaultEncoderMinBitrateBps = 30000; -const char kMinVideoBitrateExperiment[] = "WebRTC-Video-MinVideoBitrate"; - -struct MinVideoBitrateConfig { - webrtc::FieldTrialParameter min_video_bitrate; - - MinVideoBitrateConfig() - : min_video_bitrate("br", - webrtc::DataRate::bps(kDefaultEncoderMinBitrateBps)) { - webrtc::ParseFieldTrial( - {&min_video_bitrate}, - webrtc::field_trial::FindFullName(kMinVideoBitrateExperiment)); - } -}; - absl::optional GetFallbackMinBpsFromFieldTrial(VideoCodecType type) { if (type != kVideoCodecVP8) return absl::nullopt; @@ -100,13 +84,9 @@ absl::optional GetFallbackMinBpsFromFieldTrial(VideoCodecType type) { } int GetEncoderMinBitrateBps(VideoCodecType type) { - if (GetFallbackMinBpsFromFieldTrial(type).has_value()) { - return GetFallbackMinBpsFromFieldTrial(type).value(); - } - if (webrtc::field_trial::IsEnabled(kMinVideoBitrateExperiment)) { - return MinVideoBitrateConfig().min_video_bitrate->bps(); - } - return kDefaultEncoderMinBitrateBps; + const int kDefaultEncoderMinBitrateBps = 30000; + return GetFallbackMinBpsFromFieldTrial(type).value_or( + kDefaultEncoderMinBitrateBps); } // Calculate max padding bitrate for a multi layer codec.