Index: webrtc/modules/bitrate_controller/send_side_bandwidth_estimation.h |
diff --git a/webrtc/modules/bitrate_controller/send_side_bandwidth_estimation.h b/webrtc/modules/bitrate_controller/send_side_bandwidth_estimation.h |
index 9529068e4ffd5db455e54783b058c43d42e30ad6..5b01ad3608fc967c924cdaa7da8a92672f3f741a 100644 |
--- a/webrtc/modules/bitrate_controller/send_side_bandwidth_estimation.h |
+++ b/webrtc/modules/bitrate_controller/send_side_bandwidth_estimation.h |
@@ -17,6 +17,7 @@ |
#include <utility> |
#include <vector> |
+#include "webrtc/base/histogram.h" |
#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" |
#include "webrtc/system_wrappers/include/critical_section_wrapper.h" |
@@ -55,6 +56,11 @@ class SendSideBandwidthEstimation { |
int GetMinBitrate() const; |
private: |
+ struct UmaRampUpMetric { |
+ rtc::Histogram histogram; |
+ int bitrate_kbps; |
+ }; |
+ |
enum UmaState { kNoUpdate, kFirstDone, kDone }; |
bool IsInStartPhase(int64_t now_ms) const; |
@@ -72,6 +78,15 @@ class SendSideBandwidthEstimation { |
std::deque<std::pair<int64_t, uint32_t> > min_bitrate_history_; |
+ // Note that these should be considered const on construction but are not |
+ // marked as such because bandwidth_estimation_ is copy assigned in |
+ // bitrate_controller_impl.cc. |
+ UmaRampUpMetric rampup_histograms_[3]; |
+ rtc::Histogram initially_lost_packets_histogram_; |
+ rtc::Histogram initial_rtt_histogram_; |
+ rtc::Histogram initial_bwe_histogram_; |
+ rtc::Histogram initial_vs_converged_diff_histogram_; |
+ |
// incoming filters |
int lost_packets_since_last_loss_update_Q8_; |
int expected_packets_since_last_loss_update_; |