Explicitly fail playback if new format has no sampleMimeType

This avoids a NullPointerException later when the format is used.

Fixes https://github.com/google/ExoPlayer/issues/8283.

PiperOrigin-RevId: 348017149
This commit is contained in:
krocard 2020-12-17 15:25:42 +00:00 committed by Oliver Woodman
parent fe5176c009
commit 8fb15f97ca

View File

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