diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSamplePipeline.java index fbcd9ab94c..0949ed7ef3 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSamplePipeline.java @@ -102,22 +102,24 @@ import java.io.IOException; return false; } - if (!frameEditor.hasInputData()) { - if (!waitingForPopulatedDecoderSurface) { - if (decoder.getOutputBufferInfo() != null) { - decoder.releaseOutputBuffer(/* render= */ true); - waitingForPopulatedDecoderSurface = true; - } - if (decoder.isEnded()) { - encoder.signalEndOfInputStream(); - } - } + if (frameEditor.hasInputData()) { + waitingForPopulatedDecoderSurface = false; + frameEditor.processData(); + return true; + } + + if (waitingForPopulatedDecoderSurface) { return false; } - waitingForPopulatedDecoderSurface = false; - frameEditor.processData(); - return true; + if (decoder.getOutputBufferInfo() != null) { + decoder.releaseOutputBuffer(/* render= */ true); + waitingForPopulatedDecoderSurface = true; + } + if (decoder.isEnded()) { + encoder.signalEndOfInputStream(); + } + return false; } @Override