From d48113627a5ee53aa7eef4cffcba0a10b8e95ca7 Mon Sep 17 00:00:00 2001 From: Anna Lemehova Date: Fri, 17 Jan 2025 19:28:53 +0200 Subject: [PATCH] Fix hw decoder rendering delay after frame resize MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Need to clear frameInfos in case of reinit, as outdated items produce incorrect decode time. This leds to render timestamps 'in future' (VCMTiming::RenderTime) and rendering delays (low fps). Bug: None Change-Id: Iee569ff74fe3e0ff3610877472756cbbd59aba7a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/374680 Auto-Submit: Anna Lemehova Reviewed-by: Zoé Lepaul Commit-Queue: Zoé Lepaul Reviewed-by: Sergey Silkin Cr-Commit-Position: refs/heads/main@{#43772} --- AUTHORS | 1 + sdk/android/src/java/org/webrtc/AndroidVideoDecoder.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index b4e0e330fc..4c7e6900a4 100644 --- a/AUTHORS +++ b/AUTHORS @@ -22,6 +22,7 @@ Andrey Efremov Andrew Johnson Andy Tamilo Anil Kumar +Anna Lemehova Anton Barkov Ben Strong Berthold Herrmann diff --git a/sdk/android/src/java/org/webrtc/AndroidVideoDecoder.java b/sdk/android/src/java/org/webrtc/AndroidVideoDecoder.java index fbdc072966..efd11db627 100644 --- a/sdk/android/src/java/org/webrtc/AndroidVideoDecoder.java +++ b/sdk/android/src/java/org/webrtc/AndroidVideoDecoder.java @@ -303,7 +303,6 @@ class AndroidVideoDecoder implements VideoDecoder, VideoSink { renderedTextureMetadata = null; } callback = null; - frameInfos.clear(); return status; } @@ -331,6 +330,7 @@ class AndroidVideoDecoder implements VideoDecoder, VideoSink { } finally { codec = null; outputThread = null; + frameInfos.clear(); } return VideoCodecStatus.OK; }