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 2bc8d2fbdf..0f6bbb3120 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 @@ -2092,6 +2092,11 @@ public abstract class MediaCodecRenderer extends BaseRenderer { // Note: Both oldSession and newSession are non-null, and they are different sessions. + if (!newSession.getSchemeUuid().equals(oldSession.getSchemeUuid())) { + // MediaCrypto.setMediaDrmSession is unable to switch between DRM schemes. + return true; + } + if (Util.SDK_INT < 23) { // MediaCrypto.setMediaDrmSession is only available from API level 23, so re-initialization is // required to switch to newSession on older API levels.