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 578a51b685..10b727bb3c 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 @@ -219,7 +219,8 @@ public class MediaCodecAudioRenderer extends MediaCodecRenderer implements Media boolean supportsFormatDrm = supportsFormatDrm(format); if (supportsFormatDrm && usePassthrough(format.channelCount, mimeType) - && MediaCodecUtil.getPassthroughDecoderInfo() != null) { + // A Passthrough decoder is only needed to decode the DRM encryption. + && (format.drmInitData == null || MediaCodecUtil.getPassthroughDecoderInfo() != null)) { return RendererCapabilities.create(FORMAT_HANDLED, ADAPTIVE_NOT_SEAMLESS, tunnelingSupport); } if ((MimeTypes.AUDIO_RAW.equals(mimeType)