From 16ef1464825d5b4aff151cb217c12290a1f4d15a Mon Sep 17 00:00:00 2001 From: claincly Date: Fri, 8 Mar 2024 07:00:01 -0800 Subject: [PATCH] Allow playing mixed input types. These input types include images, video without audio, and video with audio. While playing these inputs, the video frame presentation is always synced with audio. PiperOrigin-RevId: 613921719 --- .../exoplayer/video/CompositingVideoSinkProvider.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/CompositingVideoSinkProvider.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/CompositingVideoSinkProvider.java index c86cc93f42..4acf1f710f 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/CompositingVideoSinkProvider.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/CompositingVideoSinkProvider.java @@ -720,8 +720,11 @@ public final class CompositingVideoSinkProvider @Override public boolean queueBitmap(Bitmap inputBitmap, TimestampIterator timestampIterator) { - return checkStateNotNull(videoFrameProcessor) - .queueInputBitmap(inputBitmap, timestampIterator); + if (checkStateNotNull(videoFrameProcessor).queueInputBitmap(inputBitmap, timestampIterator)) { + lastBufferPresentationTimeUs = timestampIterator.getLastTimestampUs(); + return true; + } + return false; } @Override