OLD | NEW |
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 | 10 |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 int max_bitrate_bps); | 72 int max_bitrate_bps); |
73 virtual void SignalNetworkState(NetworkState state); | 73 virtual void SignalNetworkState(NetworkState state); |
74 virtual BitrateController* GetBitrateController() const; | 74 virtual BitrateController* GetBitrateController() const; |
75 virtual RemoteBitrateEstimator* GetRemoteBitrateEstimator( | 75 virtual RemoteBitrateEstimator* GetRemoteBitrateEstimator( |
76 bool send_side_bwe); | 76 bool send_side_bwe); |
77 virtual int64_t GetPacerQueuingDelayMs() const; | 77 virtual int64_t GetPacerQueuingDelayMs() const; |
78 virtual PacedSender* pacer() { return pacer_.get(); } | 78 virtual PacedSender* pacer() { return pacer_.get(); } |
79 virtual PacketRouter* packet_router() { return packet_router_.get(); } | 79 virtual PacketRouter* packet_router() { return packet_router_.get(); } |
80 virtual TransportFeedbackObserver* GetTransportFeedbackObserver(); | 80 virtual TransportFeedbackObserver* GetTransportFeedbackObserver(); |
81 | 81 |
82 void SetAllocatedSendBitrate(int allocated_bitrate_bps, | 82 // SetAllocatedSendBitrateLimits sets bitrates limits imposed by send codec |
83 int padding_bitrate_bps); | 83 // settings. |
| 84 // |min_send_bitrate_bps| is the total minimum send bitrate required by all |
| 85 // sending streams. This is the minimum bitrate the PacedSender will use. |
| 86 // Note that CongestionController::OnNetworkChanged can still be called with |
| 87 // a lower bitrate estimate. |
| 88 // |max_padding_bitrate_bps| is the max bitrate the send streams request for |
| 89 // padding. This can be higher than the current network estimate and tells |
| 90 // the PacedSender how much it should max pad unless there is real packets to |
| 91 // send. |
| 92 void SetAllocatedSendBitrateLimits(int min_send_bitrate_bps, |
| 93 int max_padding_bitrate_bps); |
84 | 94 |
85 virtual void OnSentPacket(const rtc::SentPacket& sent_packet); | 95 virtual void OnSentPacket(const rtc::SentPacket& sent_packet); |
86 | 96 |
87 // Implements CallStatsObserver. | 97 // Implements CallStatsObserver. |
88 void OnRttUpdate(int64_t avg_rtt_ms, int64_t max_rtt_ms) override; | 98 void OnRttUpdate(int64_t avg_rtt_ms, int64_t max_rtt_ms) override; |
89 | 99 |
90 // Implements Module. | 100 // Implements Module. |
91 int64_t TimeUntilNextProcess() override; | 101 int64_t TimeUntilNextProcess() override; |
92 void Process() override; | 102 void Process() override; |
93 | 103 |
(...skipping 20 matching lines...) Expand all Loading... |
114 uint8_t last_reported_fraction_loss_ GUARDED_BY(critsect_); | 124 uint8_t last_reported_fraction_loss_ GUARDED_BY(critsect_); |
115 int64_t last_reported_rtt_ GUARDED_BY(critsect_); | 125 int64_t last_reported_rtt_ GUARDED_BY(critsect_); |
116 NetworkState network_state_ GUARDED_BY(critsect_); | 126 NetworkState network_state_ GUARDED_BY(critsect_); |
117 | 127 |
118 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(CongestionController); | 128 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(CongestionController); |
119 }; | 129 }; |
120 | 130 |
121 } // namespace webrtc | 131 } // namespace webrtc |
122 | 132 |
123 #endif // WEBRTC_MODULES_CONGESTION_CONTROLLER_INCLUDE_CONGESTION_CONTROLLER_H_ | 133 #endif // WEBRTC_MODULES_CONGESTION_CONTROLLER_INCLUDE_CONGESTION_CONTROLLER_H_ |
OLD | NEW |