void SetMinBitrate(uint32_t min_bitrate);
private:
- void CapBitrateToThresholds();
+ enum UmaState { kNoUpdate, kFirstDone, kDone };
+
+ bool IsInStartPhase(int64_t now_ms) const;
+
+ void UpdateUmaStats(int64_t now_ms, int rtt, int lost_packets);
+
+ // Returns the input bitrate capped to the thresholds defined by the max,
+ // min and incoming bandwidth.
+ uint32_t CapBitrateToThresholds(uint32_t bitrate);
// Updates history of min bitrates.
// After this method returns min_bitrate_history_.front().second contains the
uint32_t bwe_incoming_;
uint32_t time_last_decrease_ms_;
+ int64_t first_report_time_ms_;
+ int initially_lost_packets_;
+ int bitrate_at_2_seconds_kbps_;
+ UmaState uma_update_state_;
};
} // namespace webrtc
#endif // WEBRTC_MODULES_BITRATE_CONTROLLER_SEND_SIDE_BANDWIDTH_ESTIMATION_H_