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:
andrewlewis 2016-05-13 03:39:50 -07:00 committed by Oliver Woodman
parent ea8d0a7aef
commit 403f164b75
3 changed files with 6 additions and 13 deletions

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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 {