Index: webrtc/api/peerconnectioninterface.h |
diff --git a/webrtc/api/peerconnectioninterface.h b/webrtc/api/peerconnectioninterface.h |
index 8c5a64bf1ebf69d197ac61d55c1731e95bdf7699..64f5b2da6ec320862e5b478b1d3a2e92b3293c3e 100644 |
--- a/webrtc/api/peerconnectioninterface.h |
+++ b/webrtc/api/peerconnectioninterface.h |
@@ -729,6 +729,21 @@ class PeerConnectionInterface : public rtc::RefCountInterface { |
// destroyed, RegisterUMAOberver(nullptr) should be called. |
virtual void RegisterUMAObserver(UMAObserver* observer) = 0; |
+ // 0 <= min <= current <= max should hold for set parameters. |
+ struct BitrateParameters { |
+ rtc::Optional<int> min_bitrate_bps; |
+ rtc::Optional<int> current_bitrate_bps; |
+ rtc::Optional<int> max_bitrate_bps; |
+ }; |
+ |
+ // SetBitrate limits the bandwidth allocated for all RTP streams sent by |
+ // this PeerConnection. Other limitations might affect these limits and |
+ // are respected (for example "b=AS" in SDP). |
+ // |
+ // Setting |current_bitrate_bps| will reset the current bitrate estimate |
+ // to the provided value. |
+ virtual RTCError SetBitrate(const BitrateParameters& bitrate) = 0; |
+ |
// Returns the current SignalingState. |
virtual SignalingState signaling_state() = 0; |
virtual IceConnectionState ice_connection_state() = 0; |