Pass the sample Format to AudioDecoderTrackRenderer.createDecoder.
The FFmpeg extension can support various different MIME types, so pass the whole format to configure the decoder. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=122246589
This commit is contained in:
parent
ea8d0a7aef
commit
403f164b75
@ -22,8 +22,6 @@ import com.google.android.exoplayer.util.MimeTypes;
|
||||
|
||||
import android.os.Handler;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Decodes and renders audio using the native Flac decoder.
|
||||
*/
|
||||
@ -58,8 +56,8 @@ public class LibflacAudioTrackRenderer extends AudioDecoderTrackRenderer {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FlacDecoder createDecoder(List<byte[]> initializationData) throws FlacDecoderException {
|
||||
return new FlacDecoder(NUM_BUFFERS, NUM_BUFFERS, initializationData);
|
||||
protected FlacDecoder createDecoder(Format format) throws FlacDecoderException {
|
||||
return new FlacDecoder(NUM_BUFFERS, NUM_BUFFERS, format.initializationData);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -22,8 +22,6 @@ import com.google.android.exoplayer.util.MimeTypes;
|
||||
|
||||
import android.os.Handler;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Decodes and renders audio using the native Opus decoder.
|
||||
*/
|
||||
@ -67,9 +65,9 @@ public final class LibopusAudioTrackRenderer extends AudioDecoderTrackRenderer {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected OpusDecoder createDecoder(List<byte[]> initializationData) throws OpusDecoderException {
|
||||
protected OpusDecoder createDecoder(Format format) throws OpusDecoderException {
|
||||
return new OpusDecoder(NUM_BUFFERS, NUM_BUFFERS, INITIAL_INPUT_BUFFER_SIZE,
|
||||
initializationData);
|
||||
format.initializationData);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -31,8 +31,6 @@ import com.google.android.exoplayer.util.MimeTypes;
|
||||
|
||||
import android.os.Handler;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Decodes and renders audio using a {@link SimpleDecoder}.
|
||||
*/
|
||||
@ -103,7 +101,7 @@ public abstract class AudioDecoderTrackRenderer extends TrackRenderer implements
|
||||
// If we don't have a decoder yet, we need to instantiate one.
|
||||
if (decoder == null) {
|
||||
try {
|
||||
decoder = createDecoder(format.initializationData);
|
||||
decoder = createDecoder(format);
|
||||
} catch (AudioDecoderException e) {
|
||||
throw ExoPlaybackException.createForRenderer(e, getIndex());
|
||||
}
|
||||
@ -132,8 +130,7 @@ public abstract class AudioDecoderTrackRenderer extends TrackRenderer implements
|
||||
}
|
||||
|
||||
protected abstract SimpleDecoder<DecoderInputBuffer, ? extends SimpleOutputBuffer,
|
||||
? extends AudioDecoderException> createDecoder(List<byte[]> initializationData)
|
||||
throws AudioDecoderException;
|
||||
? extends AudioDecoderException> createDecoder(Format format) throws AudioDecoderException;
|
||||
|
||||
private void renderBuffer() throws AudioDecoderException, AudioTrack.InitializationException,
|
||||
AudioTrack.WriteException {
|
||||
|
Loading…
x
Reference in New Issue
Block a user