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

Unified Diff: webrtc/modules/remote_bitrate_estimator/aimd_rate_control.h

Issue 2380883003: Add interval estimator to remote bitrate estimator (Closed)
Patch Set: Rebased. Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/remote_bitrate_estimator/aimd_rate_control.h
diff --git a/webrtc/modules/remote_bitrate_estimator/aimd_rate_control.h b/webrtc/modules/remote_bitrate_estimator/aimd_rate_control.h
index 2b2e85bf911b0b16b80f092f78919a3b31c964c3..6e5410dd00f96a08193cf2640f89622809f345a7 100644
--- a/webrtc/modules/remote_bitrate_estimator/aimd_rate_control.h
+++ b/webrtc/modules/remote_bitrate_estimator/aimd_rate_control.h
@@ -43,6 +43,12 @@ class AimdRateControl {
void Update(const RateControlInput* input, int64_t now_ms);
void SetEstimate(int bitrate_bps, int64_t now_ms);
+ // Returns the increase rate which is used when used bandwidth is near the
+ // maximal available bandwidth.
+ virtual int GetNearMaxIncreaseRateBps() const;
+
+ virtual rtc::Optional<int> GetLastBitrateDecreaseBps() const;
+
private:
// Update the target bitrate according based on, among other things,
// the current rate control state, the current target bitrate and the incoming
@@ -56,8 +62,7 @@ class AimdRateControl {
int64_t now_ms);
uint32_t MultiplicativeRateIncrease(int64_t now_ms, int64_t last_ms,
uint32_t current_bitrate_bps) const;
- uint32_t AdditiveRateIncrease(int64_t now_ms, int64_t last_ms,
- int64_t response_time_ms) const;
+ uint32_t AdditiveRateIncrease(int64_t now_ms, int64_t last_ms) const;
void UpdateChangePeriod(int64_t now_ms);
void UpdateMaxBitRateEstimate(float incoming_bit_rate_kbps);
void ChangeState(const RateControlInput& input, int64_t now_ms);
@@ -79,6 +84,7 @@ class AimdRateControl {
float beta_;
int64_t rtt_;
bool in_experiment_;
+ rtc::Optional<int> last_decrease_;
};
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698