Index: webrtc/api/peerconnectioninterface.h |
diff --git a/webrtc/api/peerconnectioninterface.h b/webrtc/api/peerconnectioninterface.h |
index e96545736257bdbd25b27715bf48c828926d4dcb..7f702068d16599f02b63c4fc6763aef4b77b5a30 100644 |
--- a/webrtc/api/peerconnectioninterface.h |
+++ b/webrtc/api/peerconnectioninterface.h |
@@ -728,6 +728,22 @@ class PeerConnectionInterface : public rtc::RefCountInterface { |
// destroyed, RegisterUMAOberver(nullptr) should be called. |
virtual void RegisterUMAObserver(UMAObserver* observer) = 0; |
+ 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). |
+ // |
+ // 0 <= min <= current <= max should hold for set parameters. |
+ // |
+ // 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; |