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 6e7a6f8d63a654e078f41127b6919263f182df07..cdd5b1309551e35b490c6745fe176749e219f649 100644 |
--- a/webrtc/modules/congestion_controller/delay_based_bwe.h |
+++ b/webrtc/modules/congestion_controller/delay_based_bwe.h |
@@ -36,11 +36,19 @@ class DelayBasedBwe { |
static const int64_t kStreamTimeOutMs = 2000; |
struct Result { |
- Result() : updated(false), probe(false), target_bitrate_bps(0) {} |
+ Result() |
+ : updated(false), |
+ probe(false), |
+ overusing(false), |
+ target_bitrate_bps(0) {} |
Result(bool probe, uint32_t target_bitrate_bps) |
- : updated(true), probe(probe), target_bitrate_bps(target_bitrate_bps) {} |
+ : updated(true), |
+ probe(probe), |
+ overusing(false), |
+ target_bitrate_bps(target_bitrate_bps) {} |
bool updated; |
bool probe; |
+ bool overusing; |
uint32_t target_bitrate_bps; |
}; |
@@ -76,15 +84,18 @@ class DelayBasedBwe { |
float bitrate_estimate_var_; |
RateStatistics old_estimator_; |
const bool in_experiment_; |
+ bool last_result_was_valid_; |
}; |
Result IncomingPacketInfo(const PacketInfo& info); |
+ |
+ void MaybeUpdateEstimate(Result* result); |
// Updates the current remote rate estimate and returns true if a valid |
// estimate exists. |
- bool UpdateEstimate(int64_t packet_arrival_time_ms, |
- int64_t now_ms, |
+ bool UpdateEstimate(int64_t now_ms, |
rtc::Optional<uint32_t> acked_bitrate_bps, |
- uint32_t* target_bitrate_bps); |
+ Result* result); |
+ |
const bool in_trendline_experiment_; |
const bool in_median_slope_experiment_; |
@@ -96,7 +107,6 @@ class DelayBasedBwe { |
std::unique_ptr<MedianSlopeEstimator> median_slope_estimator_; |
OveruseDetector detector_; |
BitrateEstimator receiver_incoming_bitrate_; |
- int64_t last_update_ms_; |
int64_t last_seen_packet_ms_; |
bool uma_recorded_; |
AimdRateControl rate_control_; |