From ecdf7c5df70c5699f06f5eaefdc6a89bdb34053c Mon Sep 17 00:00:00 2001 From: claincly Date: Mon, 2 Dec 2024 13:56:44 -0800 Subject: [PATCH] Propagate `sourceEnded` to AudioGraphInputAudioSink PiperOrigin-RevId: 702076933 --- .../media3/transformer/AudioGraphInputAudioSink.java | 7 +++++-- .../media3/transformer/PlaybackAudioGraphWrapper.java | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioGraphInputAudioSink.java b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioGraphInputAudioSink.java index fe80ed8259..6acafb6423 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioGraphInputAudioSink.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioGraphInputAudioSink.java @@ -73,8 +73,11 @@ import java.util.Objects; /** * Returns the position (in microseconds) that should be {@linkplain * AudioSink#getCurrentPositionUs returned} by this sink. + * + * @param sourceEnded Specify {@code true} if no more input buffers will be provided. + * @return The playback position relative to the start of playback, in microseconds. */ - long getCurrentPositionUs(); + long getCurrentPositionUs(boolean sourceEnded); /** Returns whether the controller is ended. */ boolean isEnded(); @@ -216,7 +219,7 @@ import java.util.Objects; @Override public long getCurrentPositionUs(boolean sourceEnded) { - long currentPositionUs = controller.getCurrentPositionUs(); + long currentPositionUs = controller.getCurrentPositionUs(sourceEnded); if (currentPositionUs != CURRENT_POSITION_NOT_SET) { // Reset the position to the one expected by the player. currentPositionUs -= offsetToCompositionTimeUs; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/PlaybackAudioGraphWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/PlaybackAudioGraphWrapper.java index 60bd9a6f62..fc5c2503f2 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/PlaybackAudioGraphWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/PlaybackAudioGraphWrapper.java @@ -188,8 +188,8 @@ import java.util.Objects; } @Override - public long getCurrentPositionUs() { - return finalAudioSink.getCurrentPositionUs(/* sourceEnded= */ false); + public long getCurrentPositionUs(boolean sourceEnded) { + return finalAudioSink.getCurrentPositionUs(sourceEnded); } @Override