diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ExoPlayerAssetLoader.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ExoPlayerAssetLoader.java index e4ad0385a3..e7cd809942 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ExoPlayerAssetLoader.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ExoPlayerAssetLoader.java @@ -32,7 +32,6 @@ import androidx.media3.common.Player; import androidx.media3.common.Timeline; import androidx.media3.common.Tracks; import androidx.media3.common.util.Clock; -import androidx.media3.common.util.Util; import androidx.media3.exoplayer.DefaultLoadControl; import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.Renderer; @@ -48,7 +47,7 @@ import androidx.media3.exoplayer.video.VideoRendererEventListener; public interface Listener { - void onDurationMs(long durationMs); + void onDurationUs(long durationUs); void onTrackRegistered(); @@ -174,7 +173,7 @@ import androidx.media3.exoplayer.video.VideoRendererEventListener; Timeline.Window window = new Timeline.Window(); timeline.getWindow(/* windowIndex= */ 0, window); if (!window.isPlaceholder) { - listener.onDurationMs(Util.usToMs(window.durationUs)); + listener.onDurationUs(window.durationUs); hasSentDuration = true; } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java index f332fa6ff2..4762387c29 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java @@ -116,7 +116,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; private boolean isDrainingPipelines; private @Transformer.ProgressState int progressState; private long progressPositionMs; - private long durationMs; + private long durationUs; private @MonotonicNonNull RuntimeException cancelException; private volatile boolean released; @@ -189,7 +189,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; public @Transformer.ProgressState int getProgress(ProgressHolder progressHolder) { if (progressState == PROGRESS_STATE_AVAILABLE) { - progressHolder.progress = min((int) (progressPositionMs * 100 / durationMs), 99); + progressHolder.progress = min((int) (progressPositionMs * 100 / Util.usToMs(durationUs)), 99); } return progressState; } @@ -371,17 +371,17 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; // ExoPlayerAssetLoader.Listener implementation. @Override - public void onDurationMs(long durationMs) { + public void onDurationUs(long durationUs) { applicationHandler.post( () -> { // Make progress permanently unavailable if the duration is unknown, so that it doesn't // jump to a high value at the end of the transformation if the duration is set once the // media is entirely loaded. progressState = - durationMs <= 0 || durationMs == C.TIME_UNSET + durationUs <= 0 || durationUs == C.TIME_UNSET ? PROGRESS_STATE_UNAVAILABLE : PROGRESS_STATE_AVAILABLE; - TransformerInternal.this.durationMs = durationMs; + TransformerInternal.this.durationUs = durationUs; }); }