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 |