Add a function for enabling the congestion window and pushback controller in the webrtc::SendSideCongestionController.

Bug: webrtc:9923
Change-Id: Id01ebd7237ba33f34003aa9560405a13da7580e2
Reviewed-on: https://webrtc-review.googlesource.com/c/107893
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Commit-Queue: Erik Varga <erikvarga@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25393}
This commit is contained in:
erikvarga@webrtc.org
2018-10-26 11:45:42 +02:00
committed by Commit Bot
parent 99b71dfd4a
commit 0f08d227c2
4 changed files with 27 additions and 1 deletions

View File

@ -164,6 +164,23 @@ SendSideCongestionController::SendSideCongestionController(
SendSideCongestionController::~SendSideCongestionController() {}
void SendSideCongestionController::EnableCongestionWindowPushback(
int64_t accepted_queue_ms,
uint32_t min_pushback_target_bitrate_bps) {
RTC_DCHECK(!congestion_window_pushback_controller_)
<< "The congestion pushback is already enabled.";
RTC_CHECK_GE(accepted_queue_ms, 0)
<< "Accepted must be greater than or equal to 0.";
RTC_CHECK_GE(min_pushback_target_bitrate_bps, 0)
<< "Min pushback target bitrate must be greater than or equal to 0.";
in_cwnd_experiment_ = true;
accepted_queue_ms_ = accepted_queue_ms;
congestion_window_pushback_controller_ =
absl::make_unique<CongestionWindowPushbackController>(
min_pushback_target_bitrate_bps);
}
void SendSideCongestionController::RegisterPacketFeedbackObserver(
PacketFeedbackObserver* observer) {
transport_feedback_adapter_.RegisterPacketFeedbackObserver(observer);