From 70488de69407e8c5f8c0ba300a145c922cb5ab5c Mon Sep 17 00:00:00 2001 From: Sebastian Jansson Date: Fri, 13 Apr 2018 10:46:26 +0200 Subject: [PATCH] Check for controller in SSCC when route changed. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes potential crash in SendSideCongestionController when route is changed before network is available. Bug: webrtc:8415 Change-Id: I781f0e342e5bb42fedbf96c9c5c6d2c199ab3192 Reviewed-on: https://webrtc-review.googlesource.com/69801 Reviewed-by: Björn Terelius Commit-Queue: Sebastian Jansson Cr-Commit-Position: refs/heads/master@{#22851} --- .../rtp/send_side_congestion_controller.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/congestion_controller/rtp/send_side_congestion_controller.cc b/modules/congestion_controller/rtp/send_side_congestion_controller.cc index 47ec85adfd..f9be7ee38c 100644 --- a/modules/congestion_controller/rtp/send_side_congestion_controller.cc +++ b/modules/congestion_controller/rtp/send_side_congestion_controller.cc @@ -480,7 +480,12 @@ void SendSideCongestionController::OnNetworkRouteChanged( start_bitrate_bps > 0 ? DataRate::bps(start_bitrate_bps) : DataRate(); task_queue_->PostTask([this, msg]() { RTC_DCHECK_RUN_ON(task_queue_ptr_); - PostUpdates(controller_->OnNetworkRouteChange(msg)); + if (controller_) { + PostUpdates(controller_->OnNetworkRouteChange(msg)); + } else { + initial_config_.starting_bandwidth = msg.starting_rate; + initial_config_.constraints = msg.constraints; + } pacer_controller_->OnNetworkRouteChange(msg); }); }