From 1347d572ef9ce79aacd667cfffa7d7468c8408a4 Mon Sep 17 00:00:00 2001 From: olly Date: Wed, 23 Dec 2020 18:55:24 +0000 Subject: [PATCH] Restore old SampleQueue exoMediaCryptoType behavior PiperOrigin-RevId: 348818482 --- .../google/android/exoplayer2/source/SampleQueue.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/SampleQueue.java b/library/core/src/main/java/com/google/android/exoplayer2/source/SampleQueue.java index 120f6dc2e8..6425f42174 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/SampleQueue.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/SampleQueue.java @@ -31,6 +31,7 @@ import com.google.android.exoplayer2.drm.DrmInitData; import com.google.android.exoplayer2.drm.DrmSession; import com.google.android.exoplayer2.drm.DrmSessionEventListener; import com.google.android.exoplayer2.drm.DrmSessionManager; +import com.google.android.exoplayer2.drm.ExoMediaCrypto; import com.google.android.exoplayer2.extractor.TrackOutput; import com.google.android.exoplayer2.upstream.Allocator; import com.google.android.exoplayer2.upstream.DataReader; @@ -869,11 +870,11 @@ public class SampleQueue implements TrackOutput { downstreamFormat = newFormat; @Nullable DrmInitData newDrmInitData = newFormat.drmInitData; - outputFormatHolder.format = - drmSessionManager != null - ? newFormat.copyWithExoMediaCryptoType( - drmSessionManager.getExoMediaCryptoType(newFormat)) - : newFormat; + @Nullable + Class exoMediaCryptoType = + (drmSessionManager != null ? drmSessionManager : DrmSessionManager.DUMMY) + .getExoMediaCryptoType(newFormat); + outputFormatHolder.format = newFormat.copyWithExoMediaCryptoType(exoMediaCryptoType); outputFormatHolder.drmSession = currentDrmSession; if (drmSessionManager == null) { // This sample queue is not expected to handle DRM. Nothing to do.