Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(415)

Side by Side Diff: webrtc/modules/bitrate_controller/send_side_bandwidth_estimation.h

Issue 2815843002: Log to RtcEventLog when loss based estimate is changed. (Closed)
Patch Set: Feedback Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 * 9 *
10 * FEC and NACK added bitrate is handled outside class 10 * FEC and NACK added bitrate is handled outside class
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 void SetMinMaxBitrate(int min_bitrate, int max_bitrate); 53 void SetMinMaxBitrate(int min_bitrate, int max_bitrate);
54 int GetMinBitrate() const; 54 int GetMinBitrate() const;
55 55
56 private: 56 private:
57 enum UmaState { kNoUpdate, kFirstDone, kDone }; 57 enum UmaState { kNoUpdate, kFirstDone, kDone };
58 58
59 bool IsInStartPhase(int64_t now_ms) const; 59 bool IsInStartPhase(int64_t now_ms) const;
60 60
61 void UpdateUmaStats(int64_t now_ms, int64_t rtt, int lost_packets); 61 void UpdateUmaStats(int64_t now_ms, int64_t rtt, int lost_packets);
62 62
63 // Returns the input bitrate capped to the thresholds defined by the max,
64 // min and incoming bandwidth.
65 uint32_t CapBitrateToThresholds(int64_t now_ms, uint32_t bitrate);
66
67 // Updates history of min bitrates. 63 // Updates history of min bitrates.
68 // After this method returns min_bitrate_history_.front().second contains the 64 // After this method returns min_bitrate_history_.front().second contains the
69 // min bitrate used during last kBweIncreaseIntervalMs. 65 // min bitrate used during last kBweIncreaseIntervalMs.
70 void UpdateMinHistory(int64_t now_ms); 66 void UpdateMinHistory(int64_t now_ms);
71 67
68 void CapAndLogBitrate(int64_t now_ms, uint32_t bitrate_bps);
terelius 2017/04/18 12:09:58 nit: Please add a comment that mentions clipping t
philipel 2017/04/18 12:55:12 Done.
69
72 std::deque<std::pair<int64_t, uint32_t> > min_bitrate_history_; 70 std::deque<std::pair<int64_t, uint32_t> > min_bitrate_history_;
73 71
74 // incoming filters 72 // incoming filters
75 int lost_packets_since_last_loss_update_Q8_; 73 int lost_packets_since_last_loss_update_Q8_;
76 int expected_packets_since_last_loss_update_; 74 int expected_packets_since_last_loss_update_;
77 75
78 uint32_t bitrate_; 76 uint32_t current_bitrate_bps_;
79 uint32_t min_bitrate_configured_; 77 uint32_t min_bitrate_configured_;
80 uint32_t max_bitrate_configured_; 78 uint32_t max_bitrate_configured_;
81 int64_t last_low_bitrate_log_ms_; 79 int64_t last_low_bitrate_log_ms_;
82 80
83 bool has_decreased_since_last_fraction_loss_; 81 bool has_decreased_since_last_fraction_loss_;
84 int64_t last_feedback_ms_; 82 int64_t last_feedback_ms_;
85 int64_t last_packet_report_ms_; 83 int64_t last_packet_report_ms_;
86 int64_t last_timeout_ms_; 84 int64_t last_timeout_ms_;
87 uint8_t last_fraction_loss_; 85 uint8_t last_fraction_loss_;
88 uint8_t last_logged_fraction_loss_; 86 uint8_t last_logged_fraction_loss_;
89 int64_t last_round_trip_time_ms_; 87 int64_t last_round_trip_time_ms_;
90 88
91 uint32_t bwe_incoming_; 89 uint32_t bwe_incoming_;
92 uint32_t delay_based_bitrate_bps_; 90 uint32_t delay_based_bitrate_bps_;
93 int64_t time_last_decrease_ms_; 91 int64_t time_last_decrease_ms_;
94 int64_t first_report_time_ms_; 92 int64_t first_report_time_ms_;
95 int initially_lost_packets_; 93 int initially_lost_packets_;
96 int bitrate_at_2_seconds_kbps_; 94 int bitrate_at_2_seconds_kbps_;
97 UmaState uma_update_state_; 95 UmaState uma_update_state_;
98 std::vector<bool> rampup_uma_stats_updated_; 96 std::vector<bool> rampup_uma_stats_updated_;
99 RtcEventLog* event_log_; 97 RtcEventLog* event_log_;
100 int64_t last_rtc_event_log_ms_; 98 int64_t last_rtc_event_log_ms_;
101 bool in_timeout_experiment_; 99 bool in_timeout_experiment_;
102 float low_loss_threshold_; 100 float low_loss_threshold_;
103 float high_loss_threshold_; 101 float high_loss_threshold_;
104 uint32_t bitrate_threshold_bps_; 102 uint32_t bitrate_threshold_bps_;
105 }; 103 };
106 } // namespace webrtc 104 } // namespace webrtc
107 #endif // WEBRTC_MODULES_BITRATE_CONTROLLER_SEND_SIDE_BANDWIDTH_ESTIMATION_H_ 105 #endif // WEBRTC_MODULES_BITRATE_CONTROLLER_SEND_SIDE_BANDWIDTH_ESTIMATION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698