From dd4d5e36c6205457add1fd9df9061ca60d315fe7 Mon Sep 17 00:00:00 2001 From: Etienne Pierre-doray Date: Mon, 15 Mar 2021 14:27:21 +0000 Subject: [PATCH] Reland "[Battery]: Delay start of TaskQueuePacedSender." MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a reland of 89cb65ed663a9000b9f7c90a78039bd85731e9ae Reason for revert: failing trybots: https://ci.chromium.org/ui/p/chromium/builders/webrtc.fyi/WebRTC%20Chromium%20FYI%20Win8%20Tester/7757/overview Original change's description: > [Battery]: Delay start of TaskQueuePacedSender. > > 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} Bug: chromium:1152887 Change-Id: Ia4fae13294472160e2dff40738b6fd245700beeb Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211920 Reviewed-by: Erik Språng Reviewed-by: Artem Titov Commit-Queue: Etienne Pierre-Doray Cr-Commit-Position: refs/heads/master@{#33491} --- call/rtp_transport_controller_send.cc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/call/rtp_transport_controller_send.cc b/call/rtp_transport_controller_send.cc index f5adae68ae..540fb027f8 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(); } @@ -496,9 +493,14 @@ void RtpTransportControllerSend::IncludeOverheadInPacedSender() { } void RtpTransportControllerSend::EnsureStarted() { - if (!use_task_queue_pacer_ && !process_thread_started_) { + if (!process_thread_started_) { process_thread_started_ = true; - process_thread_->Start(); + pacer()->SetPacingRates( + DataRate::BitsPerSec( + bitrate_configurator_.GetConfig().start_bitrate_bps), + DataRate::Zero()); + if (!use_task_queue_pacer_) + process_thread_->Start(); } }