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 <ilnik@webrtc.org>
Auto-Submit: Markus Handell <handellm@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39904}
This commit is contained in:
Markus Handell 2023-04-20 09:37:00 +02:00 committed by WebRTC LUCI CQ
parent 67f2109544
commit 527701a8f2
2 changed files with 5 additions and 0 deletions

View File

@ -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",
]

View File

@ -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<FrameDecodeScheduler>
DecodeSynchronizer::CreateSynchronizedFrameScheduler() {
TRACE_EVENT0("webrtc", __func__);
RTC_DCHECK_RUN_ON(worker_queue_);
auto scheduler = std::make_unique<SynchronizedFrameDecodeScheduler>(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();