From 6397fb4f6c2eac6f72b5b558aa2f25e6559fd29c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Spr=C3=A5ng?= Date: Tue, 2 Aug 2022 11:37:35 +0200 Subject: [PATCH] Move TaskQueuePacedSender::EnqueuePackets tracing onto the task queue. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This should avoid any potential race in static initialization for the tracing logic. Bug: webrtc:12715 Change-Id: Ic91d8e5fbd9b45a91e7e7a9e76226fc558e00c4b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/270381 Auto-Submit: Erik Språng Reviewed-by: Danil Chapovalov Commit-Queue: Erik Språng Cr-Commit-Position: refs/heads/main@{#37662} --- modules/pacing/task_queue_paced_sender.cc | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/modules/pacing/task_queue_paced_sender.cc b/modules/pacing/task_queue_paced_sender.cc index 2166b8ff54..fffb371c17 100644 --- a/modules/pacing/task_queue_paced_sender.cc +++ b/modules/pacing/task_queue_paced_sender.cc @@ -136,19 +136,16 @@ void TaskQueuePacedSender::SetPacingRates(DataRate pacing_rate, void TaskQueuePacedSender::EnqueuePackets( std::vector> packets) { - TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("webrtc"), - "TaskQueuePacedSender::EnqueuePackets"); - for (auto& packet : packets) { - RTC_UNUSED(packet); - TRACE_EVENT2(TRACE_DISABLED_BY_DEFAULT("webrtc"), - "TaskQueuePacedSender::EnqueuePackets::Loop", - "sequence_number", packet->SequenceNumber(), "rtp_timestamp", - packet->Timestamp()); - } - - task_queue_.PostTask([this, packets_ = std::move(packets)]() mutable { + task_queue_.PostTask([this, packets = std::move(packets)]() mutable { RTC_DCHECK_RUN_ON(&task_queue_); - for (auto& packet : packets_) { + TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("webrtc"), + "TaskQueuePacedSender::EnqueuePackets"); + for (auto& packet : packets) { + TRACE_EVENT2(TRACE_DISABLED_BY_DEFAULT("webrtc"), + "TaskQueuePacedSender::EnqueuePackets::Loop", + "sequence_number", packet->SequenceNumber(), "rtp_timestamp", + packet->Timestamp()); + size_t packet_size = packet->payload_size() + packet->padding_size(); if (include_overhead_) { packet_size += packet->headers_size();