| 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,
|
|
|