From 129ef7ccd4b7a930042cc778a6dd0ece49a0c808 Mon Sep 17 00:00:00 2001 From: christosts Date: Mon, 3 Aug 2020 16:46:57 +0100 Subject: [PATCH] DefaultMediaSourceFactory sets the offline license PiperOrigin-RevId: 324610991 --- .../source/DefaultMediaSourceFactory.java | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.java b/library/core/src/main/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.java index 0a1724dfa6..b4d9809a88 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.java @@ -15,6 +15,8 @@ */ package com.google.android.exoplayer2.source; +import static com.google.android.exoplayer2.drm.DefaultDrmSessionManager.MODE_PLAYBACK; + import android.content.Context; import android.net.Uri; import android.os.Build; @@ -317,15 +319,22 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { || Util.SDK_INT < 18) { return drmSessionManager; } - return new DefaultDrmSessionManager.Builder() - .setUuidAndExoMediaDrmProvider( - mediaItem.playbackProperties.drmConfiguration.uuid, FrameworkMediaDrm.DEFAULT_PROVIDER) - .setMultiSession(mediaItem.playbackProperties.drmConfiguration.multiSession) - .setPlayClearSamplesWithoutKeys( - mediaItem.playbackProperties.drmConfiguration.playClearContentWithoutKey) - .setUseDrmSessionsForClearContent( - Ints.toArray(mediaItem.playbackProperties.drmConfiguration.sessionForClearTypes)) - .build(createHttpMediaDrmCallback(mediaItem.playbackProperties.drmConfiguration)); + DefaultDrmSessionManager drmSessionManager = + new DefaultDrmSessionManager.Builder() + .setUuidAndExoMediaDrmProvider( + mediaItem.playbackProperties.drmConfiguration.uuid, + FrameworkMediaDrm.DEFAULT_PROVIDER) + .setMultiSession(mediaItem.playbackProperties.drmConfiguration.multiSession) + .setPlayClearSamplesWithoutKeys( + mediaItem.playbackProperties.drmConfiguration.playClearContentWithoutKey) + .setUseDrmSessionsForClearContent( + Ints.toArray(mediaItem.playbackProperties.drmConfiguration.sessionForClearTypes)) + .build(createHttpMediaDrmCallback(mediaItem.playbackProperties.drmConfiguration)); + + drmSessionManager.setMode( + MODE_PLAYBACK, mediaItem.playbackProperties.drmConfiguration.getKeySetId()); + + return drmSessionManager; } private MediaDrmCallback createHttpMediaDrmCallback(MediaItem.DrmConfiguration drmConfiguration) {