diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSampleExporter.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSampleExporter.java index f609a04deb..1908e2045d 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSampleExporter.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSampleExporter.java @@ -61,6 +61,7 @@ import org.checkerframework.dataflow.qual.Pure; private static final String TAG = "VideoSampleExporter"; private final SingleInputVideoGraph singleInputVideoGraph; private final EncoderWrapper encoderWrapper; + private final DecoderInputBuffer encoderOutputBuffer; /** * The timestamp of the last buffer processed before {@linkplain @@ -104,6 +105,9 @@ import org.checkerframework.dataflow.qual.Pure; transformationRequest, fallbackListener); + encoderOutputBuffer = + new DecoderInputBuffer(DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DISABLED); + boolean isMediaCodecToneMapping = encoderWrapper.getHdrModeAfterFallback() == HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC && ColorInfo.isTransferHdr(decoderInputColor); @@ -193,8 +197,6 @@ import org.checkerframework.dataflow.qual.Pure; @Override @Nullable protected DecoderInputBuffer getMuxerInputBuffer() throws ExportException { - DecoderInputBuffer encoderOutputBuffer = - new DecoderInputBuffer(DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DISABLED); encoderOutputBuffer.data = encoderWrapper.getOutputBuffer(); if (encoderOutputBuffer.data == null) { return null;