Updated min bitrate for high-quality screenshare simulcast stream
The min bitrate is too low, and burstiness may cause overuse when first
enabling the stream, if the total available bitrate is low.
Bug: webrtc:9734
Change-Id: I399e0e809648f064feb87c73ece0c23a569b2750
Reviewed-on: https://webrtc-review.googlesource.com/99506
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24678}
diff --git a/media/engine/simulcast.cc b/media/engine/simulcast.cc
index f818588..daa63a6 100644
--- a/media/engine/simulcast.cc
+++ b/media/engine/simulcast.cc
@@ -29,8 +29,9 @@
constexpr int kScreenshareDefaultTl0BitrateKbps = 200;
constexpr int kScreenshareDefaultTl1BitrateKbps = 1000;
-// Max bitrate for the higher one of the two simulcast stream used for screen
-// content.
+// Min/max bitrate for the higher one of the two simulcast stream used for
+// screen content.
+constexpr int kScreenshareHighStreamMinBitrateBps = 600000;
constexpr int kScreenshareHighStreamMaxBitrateBps = 1250000;
static const char* kSimulcastScreenshareFieldTrialName =
"WebRTC-SimulcastScreenshare";
@@ -360,7 +361,10 @@
layers[1].max_framerate = max_framerate;
layers[1].num_temporal_layers =
temporal_layers_supported ? DefaultNumberOfTemporalLayers(1, true) : 0;
- layers[1].min_bitrate_bps = layers[0].target_bitrate_bps * 2;
+ layers[1].min_bitrate_bps =
+ max_bitrate_bps == kScreenshareHighStreamMaxBitrateBps
+ ? kScreenshareHighStreamMinBitrateBps
+ : layers[0].target_bitrate_bps * 2;
layers[1].target_bitrate_bps = max_bitrate_bps;
layers[1].max_bitrate_bps = max_bitrate_bps;
}