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

0 commit comments

Comments
 (0)