No-op cleanup of DefaultDrmSessionManager
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=217139869
This commit is contained in:
parent
6fb8f66ba6
commit
6e7b41512f
@ -209,23 +209,16 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
|||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public void onMediaDrmEvent(int what) {
|
public void onMediaDrmEvent(int what) {
|
||||||
if (!isOpen()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
switch (what) {
|
switch (what) {
|
||||||
|
case ExoMediaDrm.EVENT_PROVISION_REQUIRED:
|
||||||
|
onProvisionRequired();
|
||||||
|
break;
|
||||||
case ExoMediaDrm.EVENT_KEY_REQUIRED:
|
case ExoMediaDrm.EVENT_KEY_REQUIRED:
|
||||||
doLicense(false);
|
onKeysRequired();
|
||||||
break;
|
break;
|
||||||
case ExoMediaDrm.EVENT_KEY_EXPIRED:
|
case ExoMediaDrm.EVENT_KEY_EXPIRED:
|
||||||
// When an already expired key is loaded MediaDrm sends this event immediately. Ignore
|
|
||||||
// this event if the state isn't STATE_OPENED_WITH_KEYS yet which means we're still
|
|
||||||
// waiting for key response.
|
|
||||||
onKeysExpired();
|
onKeysExpired();
|
||||||
break;
|
break;
|
||||||
case ExoMediaDrm.EVENT_PROVISION_REQUIRED:
|
|
||||||
state = STATE_OPENED;
|
|
||||||
provisioningManager.provisionRequired(this);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -441,8 +434,21 @@ 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() {
|
private void onKeysExpired() {
|
||||||
if (state == STATE_OPENED_WITH_KEYS) {
|
if (mode == DefaultDrmSessionManager.MODE_PLAYBACK && state == STATE_OPENED_WITH_KEYS) {
|
||||||
state = STATE_OPENED;
|
state = STATE_OPENED;
|
||||||
onError(new KeysExpiredException());
|
onError(new KeysExpiredException());
|
||||||
}
|
}
|
||||||
|
@ -589,6 +589,10 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto> implements DrmSe
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void provisionRequired(DefaultDrmSession<T> session) {
|
public void provisionRequired(DefaultDrmSession<T> session) {
|
||||||
|
if (provisioningSessions.contains(session)) {
|
||||||
|
// The session has already requested provisioning.
|
||||||
|
return;
|
||||||
|
}
|
||||||
provisioningSessions.add(session);
|
provisioningSessions.add(session);
|
||||||
if (provisioningSessions.size() == 1) {
|
if (provisioningSessions.size() == 1) {
|
||||||
// This is the first session requesting provisioning, so have it perform the operation.
|
// This is the first session requesting provisioning, so have it perform the operation.
|
||||||
@ -649,6 +653,10 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto> implements DrmSe
|
|||||||
@Override
|
@Override
|
||||||
public void handleMessage(Message msg) {
|
public void handleMessage(Message msg) {
|
||||||
byte[] sessionId = (byte[]) msg.obj;
|
byte[] sessionId = (byte[]) msg.obj;
|
||||||
|
if (sessionId == null) {
|
||||||
|
// The event is not associated with any particular session.
|
||||||
|
return;
|
||||||
|
}
|
||||||
for (DefaultDrmSession<T> session : sessions) {
|
for (DefaultDrmSession<T> session : sessions) {
|
||||||
if (session.hasSessionId(sessionId)) {
|
if (session.hasSessionId(sessionId)) {
|
||||||
session.onMediaDrmEvent(msg.what);
|
session.onMediaDrmEvent(msg.what);
|
||||||
@ -668,10 +676,8 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto> implements DrmSe
|
|||||||
int event,
|
int event,
|
||||||
int extra,
|
int extra,
|
||||||
@Nullable byte[] data) {
|
@Nullable byte[] data) {
|
||||||
if (mode == DefaultDrmSessionManager.MODE_PLAYBACK) {
|
|
||||||
Assertions.checkNotNull(mediaDrmHandler).obtainMessage(event, sessionId).sendToTarget();
|
Assertions.checkNotNull(mediaDrmHandler).obtainMessage(event, sessionId).sendToTarget();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user