From 518e181ab56094c5856e924be79b40115bb80436 Mon Sep 17 00:00:00 2001 From: Linus Nilsson Date: Thu, 23 Nov 2023 14:15:01 +0100 Subject: [PATCH] Trace render window state using a counter. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes it show up as an individual track in perfetto allowing rendering to be more easily inspected. https://screenshot.googleplex.com/3eyicjpxdKaG3oE Bug: b/217863437 Change-Id: I2710a8709141fda50ec613390161ab9c6526b931 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/328381 Auto-Submit: Linus Nilsson Commit-Queue: Linus Nilsson Reviewed-by: ZoƩ Lepaul Cr-Commit-Position: refs/heads/main@{#41222} --- sdk/android/api/org/webrtc/RenderSynchronizer.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sdk/android/api/org/webrtc/RenderSynchronizer.java b/sdk/android/api/org/webrtc/RenderSynchronizer.java index b1ade84298..c89f798c9c 100644 --- a/sdk/android/api/org/webrtc/RenderSynchronizer.java +++ b/sdk/android/api/org/webrtc/RenderSynchronizer.java @@ -10,8 +10,11 @@ package org.webrtc; +import android.os.Build.VERSION; +import android.os.Build.VERSION_CODES; import android.os.Handler; import android.os.Looper; +import android.os.Trace; import android.view.Choreographer; import androidx.annotation.GuardedBy; import java.util.List; @@ -100,8 +103,15 @@ public final class RenderSynchronizer { } } + private void traceRenderWindowChange() { + if (VERSION.SDK_INT >= VERSION_CODES.Q) { + Trace.setCounter("RenderWindow", renderWindowOpen ? 1 : 0); + } + } + private void openRenderWindow() { renderWindowOpen = true; + traceRenderWindowChange(); for (Listener listener : listeners) { listener.onRenderWindowOpen(); } @@ -109,6 +119,7 @@ public final class RenderSynchronizer { private void closeRenderWindow() { renderWindowOpen = false; + traceRenderWindowChange(); for (Listener listener : listeners) { listener.onRenderWindowClose(); }