Skip to content

Commit 37b5847

Browse files
committed
Get decoder buffers into the right place
PiperOrigin-RevId: 404876228
1 parent 5e26ba8 commit 37b5847

File tree

27 files changed

+86
-135
lines changed

27 files changed

+86
-135
lines changed

extensions/av1/proguard-rules.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
}
77

88
# Some members of this class are being accessed from native methods. Keep them unobfuscated.
9-
-keep class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer {
9+
-keep class com.google.android.exoplayer2.decoder.VideoDecoderOutputBuffer {
1010
*;
1111
}

extensions/av1/src/main/java/com/google/android/exoplayer2/ext/av1/Gav1Decoder.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,14 @@
2424
import com.google.android.exoplayer2.C;
2525
import com.google.android.exoplayer2.decoder.DecoderInputBuffer;
2626
import com.google.android.exoplayer2.decoder.SimpleDecoder;
27+
import com.google.android.exoplayer2.decoder.VideoDecoderOutputBuffer;
2728
import com.google.android.exoplayer2.util.Util;
28-
import com.google.android.exoplayer2.video.VideoDecoderInputBuffer;
29-
import com.google.android.exoplayer2.video.VideoDecoderOutputBuffer;
3029
import java.nio.ByteBuffer;
3130

3231
/** Gav1 decoder. */
3332
@VisibleForTesting(otherwise = PACKAGE_PRIVATE)
3433
public final class Gav1Decoder
35-
extends SimpleDecoder<VideoDecoderInputBuffer, VideoDecoderOutputBuffer, Gav1DecoderException> {
34+
extends SimpleDecoder<DecoderInputBuffer, VideoDecoderOutputBuffer, Gav1DecoderException> {
3635

3736
private static final int GAV1_ERROR = 0;
3837
private static final int GAV1_OK = 1;
@@ -56,9 +55,7 @@ public final class Gav1Decoder
5655
public Gav1Decoder(
5756
int numInputBuffers, int numOutputBuffers, int initialInputBufferSize, int threads)
5857
throws Gav1DecoderException {
59-
super(
60-
new VideoDecoderInputBuffer[numInputBuffers],
61-
new VideoDecoderOutputBuffer[numOutputBuffers]);
58+
super(new DecoderInputBuffer[numInputBuffers], new VideoDecoderOutputBuffer[numOutputBuffers]);
6259
if (!Gav1Library.isAvailable()) {
6360
throw new Gav1DecoderException("Failed to load decoder native library.");
6461
}
@@ -86,8 +83,8 @@ public String getName() {
8683
}
8784

8885
@Override
89-
protected VideoDecoderInputBuffer createInputBuffer() {
90-
return new VideoDecoderInputBuffer(DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DIRECT);
86+
protected DecoderInputBuffer createInputBuffer() {
87+
return new DecoderInputBuffer(DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DIRECT);
9188
}
9289

9390
@Override
@@ -98,7 +95,7 @@ protected VideoDecoderOutputBuffer createOutputBuffer() {
9895
@Override
9996
@Nullable
10097
protected Gav1DecoderException decode(
101-
VideoDecoderInputBuffer inputBuffer, VideoDecoderOutputBuffer outputBuffer, boolean reset) {
98+
DecoderInputBuffer inputBuffer, VideoDecoderOutputBuffer outputBuffer, boolean reset) {
10299
ByteBuffer inputData = Util.castNonNull(inputBuffer.data);
103100
int inputSize = inputData.limit();
104101
if (gav1Decode(gav1DecoderContext, inputData, inputSize) == GAV1_ERROR) {

extensions/av1/src/main/java/com/google/android/exoplayer2/ext/av1/Libgav1VideoRenderer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@
2525
import com.google.android.exoplayer2.RendererCapabilities;
2626
import com.google.android.exoplayer2.decoder.CryptoConfig;
2727
import com.google.android.exoplayer2.decoder.DecoderReuseEvaluation;
28+
import com.google.android.exoplayer2.decoder.VideoDecoderOutputBuffer;
2829
import com.google.android.exoplayer2.util.MimeTypes;
2930
import com.google.android.exoplayer2.util.TraceUtil;
3031
import com.google.android.exoplayer2.util.Util;
3132
import com.google.android.exoplayer2.video.DecoderVideoRenderer;
32-
import com.google.android.exoplayer2.video.VideoDecoderOutputBuffer;
3333
import com.google.android.exoplayer2.video.VideoRendererEventListener;
3434

3535
/** Decodes and renders video using libgav1 decoder. */

extensions/av1/src/main/jni/gav1_jni.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,7 @@ DECODER_FUNC(jlong, gav1Init, jint threads) {
537537

538538
// Populate JNI References.
539539
const jclass outputBufferClass = env->FindClass(
540-
"com/google/android/exoplayer2/video/VideoDecoderOutputBuffer");
540+
"com/google/android/exoplayer2/decoder/VideoDecoderOutputBuffer");
541541
context->decoder_private_field =
542542
env->GetFieldID(outputBufferClass, "decoderPrivate", "I");
543543
context->output_mode_field = env->GetFieldID(outputBufferClass, "mode", "I");

extensions/ffmpeg/src/main/java/com/google/android/exoplayer2/ext/ffmpeg/FfmpegAudioDecoder.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import com.google.android.exoplayer2.Format;
2121
import com.google.android.exoplayer2.decoder.DecoderInputBuffer;
2222
import com.google.android.exoplayer2.decoder.SimpleDecoder;
23-
import com.google.android.exoplayer2.decoder.SimpleOutputBuffer;
23+
import com.google.android.exoplayer2.decoder.SimpleDecoderOutputBuffer;
2424
import com.google.android.exoplayer2.util.Assertions;
2525
import com.google.android.exoplayer2.util.MimeTypes;
2626
import com.google.android.exoplayer2.util.ParsableByteArray;
@@ -30,7 +30,7 @@
3030

3131
/** FFmpeg audio decoder. */
3232
/* package */ final class FfmpegAudioDecoder
33-
extends SimpleDecoder<DecoderInputBuffer, SimpleOutputBuffer, FfmpegDecoderException> {
33+
extends SimpleDecoder<DecoderInputBuffer, SimpleDecoderOutputBuffer, FfmpegDecoderException> {
3434

3535
// Output buffer sizes when decoding PCM mu-law streams, which is the maximum FFmpeg outputs.
3636
private static final int OUTPUT_BUFFER_SIZE_16BIT = 65536;
@@ -56,7 +56,7 @@ public FfmpegAudioDecoder(
5656
int initialInputBufferSize,
5757
boolean outputFloat)
5858
throws FfmpegDecoderException {
59-
super(new DecoderInputBuffer[numInputBuffers], new SimpleOutputBuffer[numOutputBuffers]);
59+
super(new DecoderInputBuffer[numInputBuffers], new SimpleDecoderOutputBuffer[numOutputBuffers]);
6060
if (!FfmpegLibrary.isAvailable()) {
6161
throw new FfmpegDecoderException("Failed to load decoder native libraries.");
6262
}
@@ -86,8 +86,8 @@ protected DecoderInputBuffer createInputBuffer() {
8686
}
8787

8888
@Override
89-
protected SimpleOutputBuffer createOutputBuffer() {
90-
return new SimpleOutputBuffer(this::releaseOutputBuffer);
89+
protected SimpleDecoderOutputBuffer createOutputBuffer() {
90+
return new SimpleDecoderOutputBuffer(this::releaseOutputBuffer);
9191
}
9292

9393
@Override
@@ -98,7 +98,7 @@ protected FfmpegDecoderException createUnexpectedDecodeException(Throwable error
9898
@Override
9999
@Nullable
100100
protected FfmpegDecoderException decode(
101-
DecoderInputBuffer inputBuffer, SimpleOutputBuffer outputBuffer, boolean reset) {
101+
DecoderInputBuffer inputBuffer, SimpleDecoderOutputBuffer outputBuffer, boolean reset) {
102102
if (reset) {
103103
nativeContext = ffmpegReset(nativeContext, extraData);
104104
if (nativeContext == 0) {

extensions/ffmpeg/src/main/java/com/google/android/exoplayer2/ext/ffmpeg/FfmpegVideoRenderer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@
2727
import com.google.android.exoplayer2.RendererCapabilities;
2828
import com.google.android.exoplayer2.decoder.CryptoConfig;
2929
import com.google.android.exoplayer2.decoder.Decoder;
30+
import com.google.android.exoplayer2.decoder.DecoderInputBuffer;
3031
import com.google.android.exoplayer2.decoder.DecoderReuseEvaluation;
32+
import com.google.android.exoplayer2.decoder.VideoDecoderOutputBuffer;
3133
import com.google.android.exoplayer2.util.TraceUtil;
3234
import com.google.android.exoplayer2.util.Util;
3335
import com.google.android.exoplayer2.video.DecoderVideoRenderer;
34-
import com.google.android.exoplayer2.video.VideoDecoderInputBuffer;
35-
import com.google.android.exoplayer2.video.VideoDecoderOutputBuffer;
3636
import com.google.android.exoplayer2.video.VideoRendererEventListener;
3737

3838
// TODO: Remove the NOTE below.
@@ -94,7 +94,7 @@ public final int supportsFormat(Format format) {
9494

9595
@SuppressWarnings("nullness:return")
9696
@Override
97-
protected Decoder<VideoDecoderInputBuffer, VideoDecoderOutputBuffer, FfmpegDecoderException>
97+
protected Decoder<DecoderInputBuffer, VideoDecoderOutputBuffer, FfmpegDecoderException>
9898
createDecoder(Format format, @Nullable CryptoConfig cryptoConfig)
9999
throws FfmpegDecoderException {
100100
TraceUtil.beginSection("createFfmpegVideoDecoder");

extensions/flac/src/main/java/com/google/android/exoplayer2/ext/flac/FlacDecoder.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import com.google.android.exoplayer2.ParserException;
2424
import com.google.android.exoplayer2.decoder.DecoderInputBuffer;
2525
import com.google.android.exoplayer2.decoder.SimpleDecoder;
26-
import com.google.android.exoplayer2.decoder.SimpleOutputBuffer;
26+
import com.google.android.exoplayer2.decoder.SimpleDecoderOutputBuffer;
2727
import com.google.android.exoplayer2.extractor.FlacStreamMetadata;
2828
import com.google.android.exoplayer2.util.Util;
2929
import java.io.IOException;
@@ -33,7 +33,7 @@
3333
/** Flac decoder. */
3434
@VisibleForTesting(otherwise = PACKAGE_PRIVATE)
3535
public final class FlacDecoder
36-
extends SimpleDecoder<DecoderInputBuffer, SimpleOutputBuffer, FlacDecoderException> {
36+
extends SimpleDecoder<DecoderInputBuffer, SimpleDecoderOutputBuffer, FlacDecoderException> {
3737

3838
private final FlacStreamMetadata streamMetadata;
3939
private final FlacDecoderJni decoderJni;
@@ -55,7 +55,7 @@ public FlacDecoder(
5555
int maxInputBufferSize,
5656
List<byte[]> initializationData)
5757
throws FlacDecoderException {
58-
super(new DecoderInputBuffer[numInputBuffers], new SimpleOutputBuffer[numOutputBuffers]);
58+
super(new DecoderInputBuffer[numInputBuffers], new SimpleDecoderOutputBuffer[numOutputBuffers]);
5959
if (initializationData.size() != 1) {
6060
throw new FlacDecoderException("Initialization data must be of length 1");
6161
}
@@ -86,8 +86,8 @@ protected DecoderInputBuffer createInputBuffer() {
8686
}
8787

8888
@Override
89-
protected SimpleOutputBuffer createOutputBuffer() {
90-
return new SimpleOutputBuffer(this::releaseOutputBuffer);
89+
protected SimpleDecoderOutputBuffer createOutputBuffer() {
90+
return new SimpleDecoderOutputBuffer(this::releaseOutputBuffer);
9191
}
9292

9393
@Override
@@ -98,7 +98,7 @@ protected FlacDecoderException createUnexpectedDecodeException(Throwable error)
9898
@Override
9999
@Nullable
100100
protected FlacDecoderException decode(
101-
DecoderInputBuffer inputBuffer, SimpleOutputBuffer outputBuffer, boolean reset) {
101+
DecoderInputBuffer inputBuffer, SimpleDecoderOutputBuffer outputBuffer, boolean reset) {
102102
if (reset) {
103103
decoderJni.flush();
104104
}

extensions/opus/proguard-rules.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
}
77

88
# Some members of this class are being accessed from native methods. Keep them unobfuscated.
9-
-keep class com.google.android.exoplayer2.decoder.SimpleOutputBuffer {
9+
-keep class com.google.android.exoplayer2.decoder.SimpleDecoderOutputBuffer {
1010
*;
1111
}

extensions/opus/src/main/java/com/google/android/exoplayer2/ext/opus/OpusDecoder.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import com.google.android.exoplayer2.decoder.CryptoInfo;
2727
import com.google.android.exoplayer2.decoder.DecoderInputBuffer;
2828
import com.google.android.exoplayer2.decoder.SimpleDecoder;
29-
import com.google.android.exoplayer2.decoder.SimpleOutputBuffer;
29+
import com.google.android.exoplayer2.decoder.SimpleDecoderOutputBuffer;
3030
import com.google.android.exoplayer2.util.Assertions;
3131
import com.google.android.exoplayer2.util.Util;
3232
import java.nio.ByteBuffer;
@@ -35,7 +35,7 @@
3535
/** Opus decoder. */
3636
@VisibleForTesting(otherwise = PACKAGE_PRIVATE)
3737
public final class OpusDecoder
38-
extends SimpleDecoder<DecoderInputBuffer, SimpleOutputBuffer, OpusDecoderException> {
38+
extends SimpleDecoder<DecoderInputBuffer, SimpleDecoderOutputBuffer, OpusDecoderException> {
3939

4040
private static final int NO_ERROR = 0;
4141
private static final int DECODE_ERROR = -1;
@@ -73,7 +73,7 @@ public OpusDecoder(
7373
@Nullable CryptoConfig cryptoConfig,
7474
boolean outputFloat)
7575
throws OpusDecoderException {
76-
super(new DecoderInputBuffer[numInputBuffers], new SimpleOutputBuffer[numOutputBuffers]);
76+
super(new DecoderInputBuffer[numInputBuffers], new SimpleDecoderOutputBuffer[numOutputBuffers]);
7777
if (!OpusLibrary.isAvailable()) {
7878
throw new OpusDecoderException("Failed to load decoder native libraries");
7979
}
@@ -147,8 +147,8 @@ protected DecoderInputBuffer createInputBuffer() {
147147
}
148148

149149
@Override
150-
protected SimpleOutputBuffer createOutputBuffer() {
151-
return new SimpleOutputBuffer(this::releaseOutputBuffer);
150+
protected SimpleDecoderOutputBuffer createOutputBuffer() {
151+
return new SimpleDecoderOutputBuffer(this::releaseOutputBuffer);
152152
}
153153

154154
@Override
@@ -159,7 +159,7 @@ protected OpusDecoderException createUnexpectedDecodeException(Throwable error)
159159
@Override
160160
@Nullable
161161
protected OpusDecoderException decode(
162-
DecoderInputBuffer inputBuffer, SimpleOutputBuffer outputBuffer, boolean reset) {
162+
DecoderInputBuffer inputBuffer, SimpleDecoderOutputBuffer outputBuffer, boolean reset) {
163163
if (reset) {
164164
opusReset(nativeDecoderContext);
165165
// When seeking to 0, skip number of samples as specified in opus header. When seeking to
@@ -239,14 +239,14 @@ private native int opusDecode(
239239
long timeUs,
240240
ByteBuffer inputBuffer,
241241
int inputSize,
242-
SimpleOutputBuffer outputBuffer);
242+
SimpleDecoderOutputBuffer outputBuffer);
243243

244244
private native int opusSecureDecode(
245245
long decoder,
246246
long timeUs,
247247
ByteBuffer inputBuffer,
248248
int inputSize,
249-
SimpleOutputBuffer outputBuffer,
249+
SimpleDecoderOutputBuffer outputBuffer,
250250
int sampleRate,
251251
@Nullable CryptoConfig mediaCrypto,
252252
int inputMode,

extensions/opus/src/main/jni/opus_jni.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ DECODER_FUNC(jlong, opusInit, jint sampleRate, jint channelCount,
8787

8888
// Populate JNI References.
8989
const jclass outputBufferClass = env->FindClass(
90-
"com/google/android/exoplayer2/decoder/SimpleOutputBuffer");
90+
"com/google/android/exoplayer2/decoder/SimpleDecoderOutputBuffer");
9191
outputBufferInit =
9292
env->GetMethodID(outputBufferClass, "init", "(JI)Ljava/nio/ByteBuffer;");
9393

extensions/vp9/proguard-rules.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
}
77

88
# Some members of this class are being accessed from native methods. Keep them unobfuscated.
9-
-keep class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer {
9+
-keep class com.google.android.exoplayer2.decoder.VideoDecoderOutputBuffer {
1010
*;
1111
}
1212

extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/LibvpxVideoRenderer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626
import com.google.android.exoplayer2.RendererCapabilities;
2727
import com.google.android.exoplayer2.decoder.CryptoConfig;
2828
import com.google.android.exoplayer2.decoder.DecoderReuseEvaluation;
29+
import com.google.android.exoplayer2.decoder.VideoDecoderOutputBuffer;
2930
import com.google.android.exoplayer2.util.MimeTypes;
3031
import com.google.android.exoplayer2.util.TraceUtil;
3132
import com.google.android.exoplayer2.video.DecoderVideoRenderer;
32-
import com.google.android.exoplayer2.video.VideoDecoderOutputBuffer;
3333
import com.google.android.exoplayer2.video.VideoRendererEventListener;
3434

3535
/** Decodes and renders video using the native VP9 decoder. */

extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/VpxDecoder.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,15 @@
2626
import com.google.android.exoplayer2.decoder.CryptoInfo;
2727
import com.google.android.exoplayer2.decoder.DecoderInputBuffer;
2828
import com.google.android.exoplayer2.decoder.SimpleDecoder;
29+
import com.google.android.exoplayer2.decoder.VideoDecoderOutputBuffer;
2930
import com.google.android.exoplayer2.util.Assertions;
3031
import com.google.android.exoplayer2.util.Util;
31-
import com.google.android.exoplayer2.video.VideoDecoderInputBuffer;
32-
import com.google.android.exoplayer2.video.VideoDecoderOutputBuffer;
3332
import java.nio.ByteBuffer;
3433

3534
/** Vpx decoder. */
3635
@VisibleForTesting(otherwise = PACKAGE_PRIVATE)
3736
public final class VpxDecoder
38-
extends SimpleDecoder<VideoDecoderInputBuffer, VideoDecoderOutputBuffer, VpxDecoderException> {
37+
extends SimpleDecoder<DecoderInputBuffer, VideoDecoderOutputBuffer, VpxDecoderException> {
3938

4039
// These constants should match the codes returned from vpxDecode and vpxSecureDecode functions in
4140
// https://github.com/google/ExoPlayer/blob/release-v2/extensions/vp9/src/main/jni/vpx_jni.cc.
@@ -68,9 +67,7 @@ public VpxDecoder(
6867
@Nullable CryptoConfig cryptoConfig,
6968
int threads)
7069
throws VpxDecoderException {
71-
super(
72-
new VideoDecoderInputBuffer[numInputBuffers],
73-
new VideoDecoderOutputBuffer[numOutputBuffers]);
70+
super(new DecoderInputBuffer[numInputBuffers], new VideoDecoderOutputBuffer[numOutputBuffers]);
7471
if (!VpxLibrary.isAvailable()) {
7572
throw new VpxDecoderException("Failed to load decoder native libraries.");
7673
}
@@ -92,8 +89,8 @@ public String getName() {
9289
}
9390

9491
@Override
95-
protected VideoDecoderInputBuffer createInputBuffer() {
96-
return new VideoDecoderInputBuffer(DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DIRECT);
92+
protected DecoderInputBuffer createInputBuffer() {
93+
return new DecoderInputBuffer(DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DIRECT);
9794
}
9895

9996
@Override
@@ -119,7 +116,7 @@ protected VpxDecoderException createUnexpectedDecodeException(Throwable error) {
119116
@Override
120117
@Nullable
121118
protected VpxDecoderException decode(
122-
VideoDecoderInputBuffer inputBuffer, VideoDecoderOutputBuffer outputBuffer, boolean reset) {
119+
DecoderInputBuffer inputBuffer, VideoDecoderOutputBuffer outputBuffer, boolean reset) {
123120
if (reset && lastSupplementalData != null) {
124121
// Don't propagate supplemental data across calls to flush the decoder.
125122
lastSupplementalData.clear();

extensions/vp9/src/main/jni/vpx_jni.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@ DECODER_FUNC(jlong, vpxInit, jboolean disableLoopFilter,
479479

480480
// Populate JNI References.
481481
const jclass outputBufferClass = env->FindClass(
482-
"com/google/android/exoplayer2/video/VideoDecoderOutputBuffer");
482+
"com/google/android/exoplayer2/decoder/VideoDecoderOutputBuffer");
483483
initForYuvFrame =
484484
env->GetMethodID(outputBufferClass, "initForYuvFrame", "(IIIII)Z");
485485
initForPrivateFrame =

library/core/src/main/java/com/google/android/exoplayer2/audio/DecoderAudioRenderer.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
import com.google.android.exoplayer2.decoder.DecoderException;
4545
import com.google.android.exoplayer2.decoder.DecoderInputBuffer;
4646
import com.google.android.exoplayer2.decoder.DecoderReuseEvaluation;
47-
import com.google.android.exoplayer2.decoder.SimpleOutputBuffer;
47+
import com.google.android.exoplayer2.decoder.SimpleDecoderOutputBuffer;
4848
import com.google.android.exoplayer2.drm.DrmSession;
4949
import com.google.android.exoplayer2.drm.DrmSession.DrmSessionException;
5050
import com.google.android.exoplayer2.source.SampleStream.ReadDataResult;
@@ -82,7 +82,10 @@
8282
*/
8383
public abstract class DecoderAudioRenderer<
8484
T extends
85-
Decoder<DecoderInputBuffer, ? extends SimpleOutputBuffer, ? extends DecoderException>>
85+
Decoder<
86+
DecoderInputBuffer,
87+
? extends SimpleDecoderOutputBuffer,
88+
? extends DecoderException>>
8689
extends BaseRenderer implements MediaClock {
8790

8891
private static final String TAG = "DecoderAudioRenderer";
@@ -124,7 +127,7 @@ public abstract class DecoderAudioRenderer<
124127
@Nullable private T decoder;
125128

126129
@Nullable private DecoderInputBuffer inputBuffer;
127-
@Nullable private SimpleOutputBuffer outputBuffer;
130+
@Nullable private SimpleDecoderOutputBuffer outputBuffer;
128131
@Nullable private DrmSession decoderDrmSession;
129132
@Nullable private DrmSession sourceDrmSession;
130133

@@ -456,6 +459,7 @@ private boolean feedInputBuffer() throws DecoderException, ExoPlaybackException
456459
return false;
457460
}
458461
inputBuffer.flip();
462+
inputBuffer.format = inputFormat;
459463
onQueueInputBuffer(inputBuffer);
460464
decoder.queueInputBuffer(inputBuffer);
461465
decoderReceivedBuffers = true;

0 commit comments

Comments
 (0)