From 527701a8f2d3cc85687c1b4810b99f6f92595e76 Mon Sep 17 00:00:00 2001 From: Markus Handell Date: Thu, 20 Apr 2023 09:37:00 +0200 Subject: [PATCH] Increase tracing fidelity for investigation. This CL adds tracing for investigating issues reported by Intel when testing out VSyncDecoding. Bug: chromium:1434747 Change-Id: If2f62fa4ac9fd2fba4e34daabcb5933a4cc395cb Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301982 Reviewed-by: Ilya Nikolaevskiy Auto-Submit: Markus Handell Commit-Queue: Ilya Nikolaevskiy Commit-Queue: Markus Handell Cr-Commit-Position: refs/heads/main@{#39904} --- video/BUILD.gn | 1 + video/decode_synchronizer.cc | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/video/BUILD.gn b/video/BUILD.gn index 544f2c5a1c..78b6e78d14 100644 --- a/video/BUILD.gn +++ b/video/BUILD.gn @@ -345,6 +345,7 @@ rtc_library("decode_synchronizer") { "../api/units:time_delta", "../api/units:timestamp", "../rtc_base:checks", + "../rtc_base:event_tracer", "../rtc_base:logging", "../rtc_base:macromagic", ] diff --git a/video/decode_synchronizer.cc b/video/decode_synchronizer.cc index e676acfcf0..2b9a658426 100644 --- a/video/decode_synchronizer.cc +++ b/video/decode_synchronizer.cc @@ -20,6 +20,7 @@ #include "api/units/timestamp.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" +#include "rtc_base/trace_event.h" #include "video/frame_decode_scheduler.h" #include "video/frame_decode_timing.h" @@ -117,6 +118,7 @@ DecodeSynchronizer::~DecodeSynchronizer() { std::unique_ptr DecodeSynchronizer::CreateSynchronizedFrameScheduler() { + TRACE_EVENT0("webrtc", __func__); RTC_DCHECK_RUN_ON(worker_queue_); auto scheduler = std::make_unique(this); auto [it, inserted] = schedulers_.emplace(scheduler.get()); @@ -157,6 +159,7 @@ void DecodeSynchronizer::OnFrameScheduled( void DecodeSynchronizer::RemoveFrameScheduler( SynchronizedFrameDecodeScheduler* scheduler) { + TRACE_EVENT0("webrtc", __func__); RTC_DCHECK_RUN_ON(worker_queue_); RTC_DCHECK(scheduler); auto it = schedulers_.find(scheduler); @@ -177,6 +180,7 @@ void DecodeSynchronizer::ScheduleNextTick() { } void DecodeSynchronizer::OnTick() { + TRACE_EVENT0("webrtc", __func__); RTC_DCHECK_RUN_ON(worker_queue_); expected_next_tick_ = clock_->CurrentTime() + metronome_->TickPeriod();