From 053a7bc0b9af79e183ec5b5fed7f0501dbd79348 Mon Sep 17 00:00:00 2001 From: olly Date: Mon, 29 Oct 2018 12:25:39 -0700 Subject: [PATCH] Simplify DefaultDrmSession event handling - Handling EVENT_PROVISION_REQUIRED is unnecessary because we handle it via NotProvisionedException, which was thrown on all API levels. - Handling EVENT_KEY_EXPIRED during playback is unnecessary. All it does is cause an error to be thrown, but an error will be thrown anyway out of the MediaCodec when it tries to use the expired keys. It's currently a race condition where the error gets thrown from, where-as having it always be thrown from one place is preferable. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=219172021 --- .../exoplayer2/drm/DefaultDrmSession.java | 24 ++----------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSession.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSession.java index 514d9da073..faf4b68f10 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSession.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSession.java @@ -207,18 +207,11 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; return Arrays.equals(this.sessionId, sessionId); } - @SuppressWarnings("deprecation") public void onMediaDrmEvent(int what) { switch (what) { - case ExoMediaDrm.EVENT_PROVISION_REQUIRED: - onProvisionRequired(); - break; case ExoMediaDrm.EVENT_KEY_REQUIRED: onKeysRequired(); break; - case ExoMediaDrm.EVENT_KEY_EXPIRED: - onKeysExpired(); - break; default: break; } @@ -434,23 +427,10 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; } } - private void onProvisionRequired() { - if (mode == DefaultDrmSessionManager.MODE_PLAYBACK && isOpen()) { - state = STATE_OPENED; - provisioningManager.provisionRequired(this); - } - } - private void onKeysRequired() { - if (mode == DefaultDrmSessionManager.MODE_PLAYBACK && isOpen()) { - doLicense(/* allowRetry= */ false); - } - } - - private void onKeysExpired() { if (mode == DefaultDrmSessionManager.MODE_PLAYBACK && state == STATE_OPENED_WITH_KEYS) { - state = STATE_OPENED; - onError(new KeysExpiredException()); + Util.castNonNull(sessionId); + doLicense(/* allowRetry= */ false); } }