From 884b3de69a5f1b05b8ba8a2c7ec2a141f831cd40 Mon Sep 17 00:00:00 2001 From: claincly Date: Mon, 25 Sep 2023 08:28:04 -0700 Subject: [PATCH] Update VideoSink `queueBitmap()` to match VideoFrameProcessor PiperOrigin-RevId: 568226567 --- .../exoplayer/video/CompositingVideoSinkProvider.java | 3 ++- .../java/androidx/media3/exoplayer/video/VideoSink.java | 8 ++++---- 2 files changed, 6 insertions(+), 5 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 187f6c9dd7..ee3d049f91 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 @@ -40,6 +40,7 @@ import androidx.media3.common.VideoSize; import androidx.media3.common.util.LongArrayQueue; import androidx.media3.common.util.Size; import androidx.media3.common.util.TimedValueQueue; +import androidx.media3.common.util.TimestampIterator; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import java.lang.reflect.Constructor; @@ -347,7 +348,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; } @Override - public boolean queueBitmap(Bitmap inputBitmap, long durationUs, float frameRate) { + public boolean queueBitmap(Bitmap inputBitmap, TimestampIterator inStreamOffsetsUs) { throw new UnsupportedOperationException(); } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoSink.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoSink.java index d25a77feb5..69969fe8e1 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoSink.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoSink.java @@ -24,6 +24,7 @@ import androidx.annotation.IntDef; import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.VideoSize; +import androidx.media3.common.util.TimestampIterator; import androidx.media3.common.util.UnstableApi; import java.lang.annotation.Documented; import java.lang.annotation.Retention; @@ -175,13 +176,12 @@ import java.util.concurrent.Executor; * Provides an input {@link Bitmap} to the video sink. * * @param inputBitmap The {@link Bitmap} queued to the video sink. - * @param durationUs The duration for which to display the {@code inputBitmap}, in microseconds. - * @param frameRate The frame rate at which to display the {@code inputBitmap}, in frames per - * second. + * @param inStreamOffsetsUs The times within the current stream that the bitmap should be shown + * at. The timestamps should be monotonically increasing. * @return Whether the bitmap was queued successfully. A {@code false} value indicates the caller * must try again later. */ - boolean queueBitmap(Bitmap inputBitmap, long durationUs, float frameRate); + boolean queueBitmap(Bitmap inputBitmap, TimestampIterator inStreamOffsetsUs); /** * Incrementally renders processed video frames.