From 5b3b4e64f92eb36f04e5c34b746b4f79b3b6e5b0 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Thu, 9 Aug 2018 10:59:50 -0700 Subject: [PATCH] Revert MediaCodecSelector API change Future changes for checking codec capabilities will go in the renderer rather than in the codec selector, so the codec selector only needs a MIME type as before. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=208076716 --- .../exoplayer2/audio/MediaCodecAudioRenderer.java | 4 ++-- .../exoplayer2/mediacodec/MediaCodecRenderer.java | 2 +- .../exoplayer2/mediacodec/MediaCodecSelector.java | 15 +++++++-------- .../exoplayer2/video/MediaCodecVideoRenderer.java | 4 ++-- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/audio/MediaCodecAudioRenderer.java b/library/core/src/main/java/com/google/android/exoplayer2/audio/MediaCodecAudioRenderer.java index 689cfc41c6..6141e2879a 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/audio/MediaCodecAudioRenderer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/audio/MediaCodecAudioRenderer.java @@ -270,11 +270,11 @@ public class MediaCodecAudioRenderer extends MediaCodecRenderer implements Media } } List decoderInfos = - mediaCodecSelector.getDecoderInfos(format, requiresSecureDecryption); + mediaCodecSelector.getDecoderInfos(format.sampleMimeType, requiresSecureDecryption); if (decoderInfos.isEmpty()) { return requiresSecureDecryption && !mediaCodecSelector - .getDecoderInfos(format, /* requiresSecureDecoder= */ false) + .getDecoderInfos(format.sampleMimeType, /* requiresSecureDecoder= */ false) .isEmpty() ? FORMAT_UNSUPPORTED_DRM : FORMAT_UNSUPPORTED_SUBTYPE; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java index 4982f86274..3630977fca 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java @@ -392,7 +392,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer { protected List getDecoderInfos( MediaCodecSelector mediaCodecSelector, Format format, boolean requiresSecureDecoder) throws DecoderQueryException { - return mediaCodecSelector.getDecoderInfos(format, requiresSecureDecoder); + return mediaCodecSelector.getDecoderInfos(format.sampleMimeType, requiresSecureDecoder); } /** diff --git a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecSelector.java b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecSelector.java index 1e8783d814..d92e93d45b 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecSelector.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecSelector.java @@ -17,7 +17,6 @@ package com.google.android.exoplayer2.mediacodec; import android.media.MediaCodec; import android.support.annotation.Nullable; -import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.mediacodec.MediaCodecUtil.DecoderQueryException; import java.util.Collections; import java.util.List; @@ -34,10 +33,10 @@ public interface MediaCodecSelector { MediaCodecSelector DEFAULT = new MediaCodecSelector() { @Override - public List getDecoderInfos(Format format, boolean requiresSecureDecoder) + public List getDecoderInfos(String mimeType, boolean requiresSecureDecoder) throws DecoderQueryException { List decoderInfos = - MediaCodecUtil.getDecoderInfos(format.sampleMimeType, requiresSecureDecoder); + MediaCodecUtil.getDecoderInfos(mimeType, requiresSecureDecoder); return decoderInfos.isEmpty() ? Collections.emptyList() : Collections.singletonList(decoderInfos.get(0)); @@ -60,9 +59,9 @@ public interface MediaCodecSelector { MediaCodecSelector DEFAULT_WITH_FALLBACK = new MediaCodecSelector() { @Override - public List getDecoderInfos(Format format, boolean requiresSecureDecoder) + public List getDecoderInfos(String mimeType, boolean requiresSecureDecoder) throws DecoderQueryException { - return MediaCodecUtil.getDecoderInfos(format.sampleMimeType, requiresSecureDecoder); + return MediaCodecUtil.getDecoderInfos(mimeType, requiresSecureDecoder); } @Override @@ -72,14 +71,14 @@ public interface MediaCodecSelector { }; /** - * Returns a list of decoders that can decode media in the specified format, in priority order. + * Returns a list of decoders that can decode media in the specified MIME type, in priority order. * - * @param format The format for which a decoder is required. + * @param mimeType The MIME type for which a decoder is required. * @param requiresSecureDecoder Whether a secure decoder is required. * @return A list of {@link MediaCodecInfo}s corresponding to decoders. May be empty. * @throws DecoderQueryException Thrown if there was an error querying decoders. */ - List getDecoderInfos(Format format, boolean requiresSecureDecoder) + List getDecoderInfos(String mimeType, boolean requiresSecureDecoder) throws DecoderQueryException; /** diff --git a/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java b/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java index 1d35b357d3..97585fda14 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java @@ -246,11 +246,11 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { } } List decoderInfos = - mediaCodecSelector.getDecoderInfos(format, requiresSecureDecryption); + mediaCodecSelector.getDecoderInfos(format.sampleMimeType, requiresSecureDecryption); if (decoderInfos.isEmpty()) { return requiresSecureDecryption && !mediaCodecSelector - .getDecoderInfos(format, /* requiresSecureDecoder= */ false) + .getDecoderInfos(format.sampleMimeType, /* requiresSecureDecoder= */ false) .isEmpty() ? FORMAT_UNSUPPORTED_DRM : FORMAT_UNSUPPORTED_SUBTYPE;