Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(205)

Side by Side Diff: webrtc/modules/remote_bitrate_estimator/overuse_detector.cc

Issue 1782003003: Tune BWE to be a bit less sensitive to spurious delay events. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 last_update_ms_ = now_ms; 135 last_update_ms_ = now_ms;
136 136
137 if (fabs(modified_offset) > threshold_ + kMaxAdaptOffsetMs) { 137 if (fabs(modified_offset) > threshold_ + kMaxAdaptOffsetMs) {
138 // Avoid adapting the threshold to big latency spikes, caused e.g., 138 // Avoid adapting the threshold to big latency spikes, caused e.g.,
139 // by a sudden capacity drop. 139 // by a sudden capacity drop.
140 last_update_ms_ = now_ms; 140 last_update_ms_ = now_ms;
141 return; 141 return;
142 } 142 }
143 143
144 const double k = fabs(modified_offset) < threshold_ ? k_down_ : k_up_; 144 const double k = fabs(modified_offset) < threshold_ ? k_down_ : k_up_;
145 const int64_t kMaxTimeDeltaMs = 100;
stefan-webrtc 2016/03/10 11:34:41 This was caught by the existing tests: TestShortTi
mflodman 2016/03/10 11:59:33 Good catch!
mflodman 2016/03/10 11:59:33 After discussions, I agree that 100 is a good thre
146 int64_t time_delta_ms = std::min(now_ms - last_update_ms_, kMaxTimeDeltaMs);
145 threshold_ += 147 threshold_ +=
146 k * (fabs(modified_offset) - threshold_) * (now_ms - last_update_ms_); 148 k * (fabs(modified_offset) - threshold_) * time_delta_ms;
147 149
148 const double kMinThreshold = 6; 150 const double kMinThreshold = 6;
149 const double kMaxThreshold = 600; 151 const double kMaxThreshold = 600;
150 threshold_ = std::min(std::max(threshold_, kMinThreshold), kMaxThreshold); 152 threshold_ = std::min(std::max(threshold_, kMinThreshold), kMaxThreshold);
151 153
152 last_update_ms_ = now_ms; 154 last_update_ms_ = now_ms;
153 } 155 }
154 156
155 void OveruseDetector::InitializeExperiment() { 157 void OveruseDetector::InitializeExperiment() {
156 RTC_DCHECK(in_experiment_); 158 RTC_DCHECK(in_experiment_);
157 double k_up = 0.0; 159 double k_up = 0.0;
158 double k_down = 0.0; 160 double k_down = 0.0;
159 overusing_time_threshold_ = kOverUsingTimeThreshold; 161 overusing_time_threshold_ = kOverUsingTimeThreshold;
160 if (ReadExperimentConstants(&k_up, &k_down)) { 162 if (ReadExperimentConstants(&k_up, &k_down)) {
161 k_up_ = k_up; 163 k_up_ = k_up;
162 k_down_ = k_down; 164 k_down_ = k_down;
163 } 165 }
164 } 166 }
165 } // namespace webrtc 167 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/common_types.h ('k') | webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698