Index: webrtc/modules/congestion_controller/delay_based_bwe.h |
diff --git a/webrtc/modules/congestion_controller/delay_based_bwe.h b/webrtc/modules/congestion_controller/delay_based_bwe.h |
index eccd73ac4d49f7daea6b7fd1ae7366b6e6089d50..a1fc49cab2944959fa6a14c336bb1a2df981a173 100644 |
--- a/webrtc/modules/congestion_controller/delay_based_bwe.h |
+++ b/webrtc/modules/congestion_controller/delay_based_bwe.h |
@@ -18,6 +18,7 @@ |
#include "webrtc/base/checks.h" |
#include "webrtc/base/constructormagic.h" |
#include "webrtc/base/thread_checker.h" |
+#include "webrtc/modules/congestion_controller/incoming_bitrate_estimator.h" |
#include "webrtc/modules/congestion_controller/median_slope_estimator.h" |
#include "webrtc/modules/congestion_controller/probe_bitrate_estimator.h" |
#include "webrtc/modules/congestion_controller/trendline_estimator.h" |
@@ -44,7 +45,9 @@ class DelayBasedBwe { |
uint32_t target_bitrate_bps; |
}; |
- DelayBasedBwe(RtcEventLog* event_log, const Clock* clock); |
+ DelayBasedBwe(RtcEventLog* event_log, |
+ IncomingBitrateEstimator* const receiver_incoming_bitrate, |
+ const Clock* clock); |
virtual ~DelayBasedBwe(); |
Result IncomingPacketFeedbackVector( |
@@ -57,26 +60,6 @@ class DelayBasedBwe { |
int64_t GetExpectedBwePeriodMs() const; |
private: |
- // Computes a bayesian estimate of the throughput given acks containing |
- // the arrival time and payload size. Samples which are far from the current |
- // estimate or are based on few packets are given a smaller weight, as they |
- // are considered to be more likely to have been caused by, e.g., delay spikes |
- // unrelated to congestion. |
- class BitrateEstimator { |
- public: |
- BitrateEstimator(); |
- void Update(int64_t now_ms, int bytes); |
- rtc::Optional<uint32_t> bitrate_bps() const; |
- |
- private: |
- float UpdateWindow(int64_t now_ms, int bytes, int rate_window_ms); |
- int sum_; |
- int64_t current_win_ms_; |
- int64_t prev_time_ms_; |
- float bitrate_estimate_; |
- float bitrate_estimate_var_; |
- }; |
- |
void IncomingPacketFeedback(const PacketFeedback& packet_feedback); |
Result OnLongFeedbackDelay(int64_t arrival_time_ms); |
@@ -94,7 +77,7 @@ class DelayBasedBwe { |
std::unique_ptr<InterArrival> inter_arrival_; |
std::unique_ptr<TrendlineEstimator> trendline_estimator_; |
OveruseDetector detector_; |
- BitrateEstimator receiver_incoming_bitrate_; |
+ IncomingBitrateEstimator* const receiver_incoming_bitrate_; |
int64_t last_seen_packet_ms_; |
bool uma_recorded_; |
AimdRateControl rate_control_; |