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 56f1c1a8661fbb6b524f6f73f6b1169103a8d9ff..74cb11fbb1cf8f68449b6f65a51df5f3827d2bdd 100644 |
--- a/webrtc/modules/remote_bitrate_estimator/aimd_rate_control.h |
+++ b/webrtc/modules/remote_bitrate_estimator/aimd_rate_control.h |
@@ -11,38 +11,37 @@ |
#ifndef WEBRTC_MODULES_REMOTE_BITRATE_ESTIMATOR_AIMD_RATE_CONTROL_H_ |
#define WEBRTC_MODULES_REMOTE_BITRATE_ESTIMATOR_AIMD_RATE_CONTROL_H_ |
+#include "webrtc/base/constructormagic.h" |
#include "webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h" |
-#include "webrtc/modules/remote_bitrate_estimator/remote_rate_control.h" |
namespace webrtc { |
-// A RemoteRateControl implementation based on additive increases of |
+// A rate control implementation based on additive increases of |
// bitrate when no over-use is detected and multiplicative decreases when |
// over-uses are detected. When we think the available bandwidth has changes or |
// is unknown, we will switch to a "slow-start mode" where we increase |
// multiplicatively. |
-class AimdRateControl : public RemoteRateControl { |
+class AimdRateControl { |
public: |
explicit AimdRateControl(uint32_t min_bitrate_bps); |
virtual ~AimdRateControl() {} |
- // Implements RemoteRateControl. |
- bool ValidEstimate() const override; |
- RateControlType GetControlType() const override; |
- uint32_t GetMinBitrate() const override; |
- int64_t GetFeedbackInterval() const override; |
+ // Returns true if there is a valid estimate of the incoming bitrate, false |
+ // otherwise. |
+ bool ValidEstimate() const; |
+ uint32_t GetMinBitrate() const; |
+ int64_t GetFeedbackInterval() const; |
// Returns true if the bitrate estimate hasn't been changed for more than |
// an RTT, or if the incoming_bitrate is more than 5% above the current |
// estimate. Should be used to decide if we should reduce the rate further |
// when over-using. |
bool TimeToReduceFurther(int64_t time_now, |
- uint32_t incoming_bitrate_bps) const override; |
- uint32_t LatestEstimate() const override; |
- uint32_t UpdateBandwidthEstimate(int64_t now_ms) override; |
- void SetRtt(int64_t rtt) override; |
- RateControlRegion Update(const RateControlInput* input, |
- int64_t now_ms) override; |
- void SetEstimate(int bitrate_bps, int64_t now_ms) override; |
+ uint32_t incoming_bitrate_bps) const; |
+ uint32_t LatestEstimate() const; |
+ uint32_t UpdateBandwidthEstimate(int64_t now_ms); |
+ void SetRtt(int64_t rtt); |
+ RateControlRegion Update(const RateControlInput* input, int64_t now_ms); |
+ void SetEstimate(int bitrate_bps, int64_t now_ms); |
private: |
// Update the target bitrate according based on, among other things, |