Index: webrtc/api/peerconnectioninterface.h |
diff --git a/webrtc/api/peerconnectioninterface.h b/webrtc/api/peerconnectioninterface.h |
index 8c5a64bf1ebf69d197ac61d55c1731e95bdf7699..8ff7e1e469c7805e84eed4a0ec2eadb1c5874a23 100644 |
--- a/webrtc/api/peerconnectioninterface.h |
+++ b/webrtc/api/peerconnectioninterface.h |
@@ -729,6 +729,23 @@ 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) { |
+ return RTCError::OK(); |
+ } |
+ |
// Returns the current SignalingState. |
virtual SignalingState signaling_state() = 0; |
virtual IceConnectionState ice_connection_state() = 0; |