From 661a0c6b021f5ad4efa33ed673267320c88809fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Spr=C3=A5ng?= Date: Tue, 11 Sep 2018 12:33:21 +0200 Subject: [PATCH] Updated min bitrate for high-quality screenshare simulcast stream MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Commit-Queue: Erik Språng Cr-Commit-Position: refs/heads/master@{#24678} --- media/engine/simulcast.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/media/engine/simulcast.cc b/media/engine/simulcast.cc index f818588ea7..daa63a667f 100644 --- a/media/engine/simulcast.cc +++ b/media/engine/simulcast.cc @@ -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 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; }