From 01b860fdc44755bcc524cee5f5e7a12947aa65f8 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Wed, 5 Jun 2024 08:27:35 -0700 Subject: [PATCH] Fix invalid state transitions for trim optimization getProgress. Ensures valid progress state is returned. Should not return NOT_STARTED once transformer.start has been called, until export ends. PiperOrigin-RevId: 640533805 --- .../src/main/java/androidx/media3/transformer/Transformer.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index de4667715c..3182a77114 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -1196,6 +1196,9 @@ public final class Transformer { } @ProgressState int processMediaStartProgressState = transformerInternal.getProgress(progressHolder); + if (processMediaStartProgressState == PROGRESS_STATE_NOT_STARTED) { + return PROGRESS_STATE_WAITING_FOR_AVAILABILITY; + } if (processMediaStartProgressState == PROGRESS_STATE_AVAILABLE) { progressHolder.progress = round(progressHolder.progress * transcodeWeighting); }