OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2016 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 | 10 |
(...skipping 19 matching lines...) Expand all Loading... |
30 | 30 |
31 void SetBitrates(int64_t min_bitrate_bps, | 31 void SetBitrates(int64_t min_bitrate_bps, |
32 int64_t start_bitrate_bps, | 32 int64_t start_bitrate_bps, |
33 int64_t max_bitrate_bps); | 33 int64_t max_bitrate_bps); |
34 | 34 |
35 void OnNetworkStateChanged(NetworkState state); | 35 void OnNetworkStateChanged(NetworkState state); |
36 | 36 |
37 void SetEstimatedBitrate(int64_t bitrate_bps); | 37 void SetEstimatedBitrate(int64_t bitrate_bps); |
38 | 38 |
39 void EnablePeriodicAlrProbing(bool enable); | 39 void EnablePeriodicAlrProbing(bool enable); |
| 40 |
| 41 // Resets the ProbeController to a state equivalent to as if it was just |
| 42 // created EXCEPT for |enable_periodic_alr_probing_|. |
| 43 void Reset(); |
| 44 |
40 void Process(); | 45 void Process(); |
41 | 46 |
42 private: | 47 private: |
43 enum class State { | 48 enum class State { |
44 // Initial state where no probing has been triggered yet. | 49 // Initial state where no probing has been triggered yet. |
45 kInit, | 50 kInit, |
46 // Waiting for probing results to continue further probing. | 51 // Waiting for probing results to continue further probing. |
47 kWaitingForProbingResult, | 52 kWaitingForProbingResult, |
48 // Probing is complete. | 53 // Probing is complete. |
49 kProbingComplete, | 54 kProbingComplete, |
(...skipping 21 matching lines...) Expand all Loading... |
71 bool mid_call_probing_waiting_for_result_ GUARDED_BY(&critsect_); | 76 bool mid_call_probing_waiting_for_result_ GUARDED_BY(&critsect_); |
72 int64_t mid_call_probing_bitrate_bps_ GUARDED_BY(&critsect_); | 77 int64_t mid_call_probing_bitrate_bps_ GUARDED_BY(&critsect_); |
73 int64_t mid_call_probing_succcess_threshold_ GUARDED_BY(&critsect_); | 78 int64_t mid_call_probing_succcess_threshold_ GUARDED_BY(&critsect_); |
74 | 79 |
75 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(ProbeController); | 80 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(ProbeController); |
76 }; | 81 }; |
77 | 82 |
78 } // namespace webrtc | 83 } // namespace webrtc |
79 | 84 |
80 #endif // WEBRTC_MODULES_CONGESTION_CONTROLLER_PROBE_CONTROLLER_H_ | 85 #endif // WEBRTC_MODULES_CONGESTION_CONTROLLER_PROBE_CONTROLLER_H_ |
OLD | NEW |