From 403f164b75e1298e9a7a103202e538ca019f3fd7 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Fri, 13 May 2016 03:39:50 -0700 Subject: [PATCH] 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 --- .../exoplayer/ext/flac/LibflacAudioTrackRenderer.java | 6 ++---- .../exoplayer/ext/opus/LibopusAudioTrackRenderer.java | 6 ++---- .../exoplayer/extensions/AudioDecoderTrackRenderer.java | 7 ++----- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/extensions/flac/src/main/java/com/google/android/exoplayer/ext/flac/LibflacAudioTrackRenderer.java b/extensions/flac/src/main/java/com/google/android/exoplayer/ext/flac/LibflacAudioTrackRenderer.java index cd9d586995..ccc2cbd8b0 100644 --- a/extensions/flac/src/main/java/com/google/android/exoplayer/ext/flac/LibflacAudioTrackRenderer.java +++ b/extensions/flac/src/main/java/com/google/android/exoplayer/ext/flac/LibflacAudioTrackRenderer.java @@ -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 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); } } diff --git a/extensions/opus/src/main/java/com/google/android/exoplayer/ext/opus/LibopusAudioTrackRenderer.java b/extensions/opus/src/main/java/com/google/android/exoplayer/ext/opus/LibopusAudioTrackRenderer.java index 5d2249c17d..d70261e058 100644 --- a/extensions/opus/src/main/java/com/google/android/exoplayer/ext/opus/LibopusAudioTrackRenderer.java +++ b/extensions/opus/src/main/java/com/google/android/exoplayer/ext/opus/LibopusAudioTrackRenderer.java @@ -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 initializationData) throws OpusDecoderException { + protected OpusDecoder createDecoder(Format format) throws OpusDecoderException { return new OpusDecoder(NUM_BUFFERS, NUM_BUFFERS, INITIAL_INPUT_BUFFER_SIZE, - initializationData); + format.initializationData); } } diff --git a/library/src/main/java/com/google/android/exoplayer/extensions/AudioDecoderTrackRenderer.java b/library/src/main/java/com/google/android/exoplayer/extensions/AudioDecoderTrackRenderer.java index 6cfc018ec9..bc536f5287 100644 --- a/library/src/main/java/com/google/android/exoplayer/extensions/AudioDecoderTrackRenderer.java +++ b/library/src/main/java/com/google/android/exoplayer/extensions/AudioDecoderTrackRenderer.java @@ -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 createDecoder(List initializationData) - throws AudioDecoderException; + ? extends AudioDecoderException> createDecoder(Format format) throws AudioDecoderException; private void renderBuffer() throws AudioDecoderException, AudioTrack.InitializationException, AudioTrack.WriteException {