Index: webrtc/api/peerconnectioninterface.h |
diff --git a/webrtc/api/peerconnectioninterface.h b/webrtc/api/peerconnectioninterface.h |
index a3a07b6313cc55eab982b538304f51d8568b62eb..a70f9d09f2bb90d9582b1cf155ed317c341de2b1 100644 |
--- a/webrtc/api/peerconnectioninterface.h |
+++ b/webrtc/api/peerconnectioninterface.h |
@@ -731,6 +731,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). |
+ // |
+ // Changing |current_bitrate_bps| to a new value 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; |