From 89cb65ed663a9000b9f7c90a78039bd85731e9ae Mon Sep 17 00:00:00 2001 From: Etienne Pierre-Doray Date: Tue, 23 Feb 2021 15:31:19 -0500 Subject: [PATCH] [Battery]: Delay start of TaskQueuePacedSender. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To avoid unnecessary repeating tasks, TaskQueuePacedSender is started only upon RtpTransportControllerSend::EnsureStarted(). More specifically, the repeating task happens in TaskQueuePacedSender::MaybeProcessPackets() every 500ms, using a self task_queue_.PostDelayedTask(). Bug: chromium:1152887 Change-Id: I72c96d2c4b491d5edb45a30b210b3797165cbf48 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208560 Commit-Queue: Etienne Pierre-Doray Reviewed-by: Henrik Boström Reviewed-by: Erik Språng Cr-Commit-Position: refs/heads/master@{#33421} --- call/rtp_transport_controller_send.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/call/rtp_transport_controller_send.cc b/call/rtp_transport_controller_send.cc index f5adae68ae..de007428f7 100644 --- a/call/rtp_transport_controller_send.cc +++ b/call/rtp_transport_controller_send.cc @@ -133,9 +133,6 @@ RtpTransportControllerSend::RtpTransportControllerSend( initial_config_.key_value_config = trials; RTC_DCHECK(bitrate_config.start_bitrate_bps > 0); - pacer()->SetPacingRates( - DataRate::BitsPerSec(bitrate_config.start_bitrate_bps), DataRate::Zero()); - if (absl::StartsWith(trials->Lookup("WebRTC-LazyPacerStart"), "Disabled")) { EnsureStarted(); } @@ -498,6 +495,10 @@ void RtpTransportControllerSend::IncludeOverheadInPacedSender() { void RtpTransportControllerSend::EnsureStarted() { if (!use_task_queue_pacer_ && !process_thread_started_) { process_thread_started_ = true; + pacer()->SetPacingRates( + DataRate::BitsPerSec( + bitrate_configurator_.GetConfig().start_bitrate_bps), + DataRate::Zero()); process_thread_->Start(); } }