From 82edf01c22db534aef9a355f8c65115c7734bcb1 Mon Sep 17 00:00:00 2001 From: olly Date: Mon, 23 Oct 2017 04:16:48 -0700 Subject: [PATCH] Re-use single session when multiSession disabled ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=173098862 --- .../android/exoplayer2/drm/DefaultDrmSessionManager.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 52bb084281..677c784fe5 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 @@ -367,10 +367,8 @@ public class DefaultDrmSessionManager implements DrmSe } } - DefaultDrmSession session = null; byte[] initData = null; String mimeType = null; - if (offlineLicenseKeySetId == null) { SchemeData data = getSchemeData(drmInitData, uuid); if (data == null) { @@ -389,8 +387,12 @@ public class DefaultDrmSessionManager implements DrmSe } } + DefaultDrmSession session; if (!multiSession) { - // Look for an existing session to use. + session = sessions.isEmpty() ? null : sessions.get(0); + } else { + // Only use an existing session if it has matching init data. + session = null; for (DefaultDrmSession existingSession : sessions) { if (existingSession.hasInitData(initData)) { session = existingSession;