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 e08ab843a8..5bb443d11c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java @@ -366,8 +366,12 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; internalHandler.post(internalHandlerThread::quitSafely); } + // Update progress before opening variable to avoid getProgress returning an invalid combination + // of state and progress. + progressState = PROGRESS_STATE_NOT_STARTED; + transformerConditionVariable.open(); + if (forCancellation) { - transformerConditionVariable.open(); return; }