diff --git a/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/VpxDecoder.java b/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/VpxDecoder.java index 4bec5bdf4c..ef999d5d2b 100644 --- a/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/VpxDecoder.java +++ b/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/VpxDecoder.java @@ -120,14 +120,16 @@ import java.nio.ByteBuffer; } } - outputBuffer.init(inputBuffer.timeUs, outputMode); - int getFrameResult = vpxGetFrame(vpxDecContext, outputBuffer); - if (getFrameResult == 1) { - outputBuffer.addFlag(C.BUFFER_FLAG_DECODE_ONLY); - } else if (getFrameResult == -1) { - return new VpxDecoderException("Buffer initialization failed."); + if (!inputBuffer.isDecodeOnly()) { + outputBuffer.init(inputBuffer.timeUs, outputMode); + int getFrameResult = vpxGetFrame(vpxDecContext, outputBuffer); + if (getFrameResult == 1) { + outputBuffer.addFlag(C.BUFFER_FLAG_DECODE_ONLY); + } else if (getFrameResult == -1) { + return new VpxDecoderException("Buffer initialization failed."); + } + outputBuffer.colorInfo = inputBuffer.colorInfo; } - outputBuffer.colorInfo = inputBuffer.colorInfo; return null; }