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 0622d24cdc..1b3cebe6c0 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 @@ -1382,6 +1382,11 @@ public abstract class MediaCodecRenderer extends BaseRenderer { throws ExoPlaybackException { waitingForFirstSampleInFormat = true; Format newFormat = checkNotNull(formatHolder.format); + if (newFormat.sampleMimeType == null) { + // If the new format is invalid, it is either a media bug or it is not intended to be played. + // See also https://github.com/google/ExoPlayer/issues/8283. + throw createRendererException(new IllegalArgumentException(), newFormat); + } setSourceDrmSession(formatHolder.drmSession); inputFormat = newFormat;