Allow probing up to 2x allocation limit
The limit we put on probing is a bit too conservative now. If an allocation limit is set, this CL allows probing up to 2x the current max allocation limit. This better handles overshooting when networks actually have the capacity to allow bursts. Bug: webrtc:10070 Change-Id: I0003f6b22512c13b6a83c1934952a2c3a2b70b48 Reviewed-on: https://webrtc-review.googlesource.com/c/112905 Commit-Queue: Erik Språng <sprang@webrtc.org> Reviewed-by: Sebastian Jansson <srte@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25888}
This commit is contained in:
@ -336,8 +336,14 @@ std::vector<ProbeClusterConfig> ProbeController::InitiateProbing(
|
||||
max_bitrate_bps_ > 0 ? max_bitrate_bps_ : kDefaultMaxProbingBitrateBps;
|
||||
if (limit_probes_with_allocateable_rate_ &&
|
||||
max_total_allocated_bitrate_ > 0) {
|
||||
// If a max allocated bitrate has been configured, allow probing up to 2x
|
||||
// that rate. This allows some overhead to account for bursty streams,
|
||||
// which otherwise would have to ramp up when the overshoot is already in
|
||||
// progress.
|
||||
// It also avoids minor quality reduction caused by probes often being
|
||||
// received at slightly less than the target probe bitrate.
|
||||
max_probe_bitrate_bps =
|
||||
std::min(max_probe_bitrate_bps, max_total_allocated_bitrate_);
|
||||
std::min(max_probe_bitrate_bps, max_total_allocated_bitrate_ * 2);
|
||||
}
|
||||
if (bitrate > max_probe_bitrate_bps) {
|
||||
bitrate = max_probe_bitrate_bps;
|
||||
|
||||
Reference in New Issue
Block a user