diff --git a/RELEASENOTES.md b/RELEASENOTES.md index a8929bc156..a6df395d01 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -50,6 +50,8 @@ * DRM: * Allow multiple listeners for `DefaultDrmSessionManager`. * Pass `DrmSessionManager` to `ExoPlayerFactory` instead of `RendererFactory`. + * Change minimum API requirement for CBC and pattern encryption from 24 to 25 + ([#4022][https://github.com/google/ExoPlayer/issues/4022]). * Removed default renderer time offset of 60000000 from internal player. The actual renderer timestamp offset can be obtained by listening to `BaseRenderer.onStreamChanged`. diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java index 42e0e205a7..66c9e5cde7 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java @@ -491,8 +491,9 @@ public class DefaultDrmSessionManager implements DrmSe return true; } else if (C.CENC_TYPE_cbc1.equals(schemeType) || C.CENC_TYPE_cbcs.equals(schemeType) || C.CENC_TYPE_cens.equals(schemeType)) { - // AES-CBC and pattern encryption are supported on API 24 onwards. - return Util.SDK_INT >= 24; + // API support for AES-CBC and pattern encryption was added in API 24. However, the + // implementation was not stable until API 25. + return Util.SDK_INT >= 25; } // Unknown schemes, assume one of them is supported. return true;