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}
This commit is contained in:
Erik Språng
2018-09-11 12:33:21 +02:00
committed by Commit Bot
parent 51ccdbeb0c
commit 661a0c6b02

View File

@ -29,8 +29,9 @@ namespace {
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 @@ std::vector<webrtc::VideoStream> GetScreenshareLayers(
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;
}