aboutsummaryrefslogtreecommitdiff
path: root/webrtc/modules/pacing
diff options
context:
space:
mode:
authorstefan <stefan@webrtc.org>2015-07-07 04:20:34 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-07 11:20:40 +0000
commitc62642c7a662a2a88293b82192e2240049f0cbb9 (patch)
tree43852b563645d9c8bf75e06ae2f5f565f5ece335 /webrtc/modules/pacing
parent4e7aa43ea0fd7106cd39036798877301398966a6 (diff)
downloadwebrtc-c62642c7a662a2a88293b82192e2240049f0cbb9.tar.gz
Make the BWE threshold adaptive.
This improves self-fairness and competing for resources with TCP flows. BUG=4711 Review URL: https://codereview.webrtc.org/1151603008 Cr-Commit-Position: refs/heads/master@{#9545}
Diffstat (limited to 'webrtc/modules/pacing')
-rw-r--r--webrtc/modules/pacing/paced_sender.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/webrtc/modules/pacing/paced_sender.cc b/webrtc/modules/pacing/paced_sender.cc
index f25134156b..7c842bff02 100644
--- a/webrtc/modules/pacing/paced_sender.cc
+++ b/webrtc/modules/pacing/paced_sender.cc
@@ -175,6 +175,8 @@ class IntervalBudget {
void set_target_rate_kbps(int target_rate_kbps) {
target_rate_kbps_ = target_rate_kbps;
+ bytes_remaining_ =
+ std::max(-kWindowMs * target_rate_kbps_ / 8, bytes_remaining_);
}
void IncreaseBudget(int64_t delta_time_ms) {
@@ -190,7 +192,7 @@ class IntervalBudget {
void UseBudget(size_t bytes) {
bytes_remaining_ = std::max(bytes_remaining_ - static_cast<int>(bytes),
- -500 * target_rate_kbps_ / 8);
+ -kWindowMs * target_rate_kbps_ / 8);
}
size_t bytes_remaining() const {
@@ -200,6 +202,8 @@ class IntervalBudget {
int target_rate_kbps() const { return target_rate_kbps_; }
private:
+ static const int kWindowMs = 500;
+
int target_rate_kbps_;
int bytes_remaining_;
};