Commit 870c8ae4 by olly Committed by Oliver Woodman

Fix canAcquireSession for ClearKey

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=165159376
parent 1829d71d
......@@ -311,7 +311,7 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto> implements DrmSe
@Override
public boolean canAcquireSession(@NonNull DrmInitData drmInitData) {
SchemeData schemeData = drmInitData.get(uuid);
SchemeData schemeData = getSchemeData(drmInitData);
if (schemeData == null) {
// No data for this manager's scheme.
return false;
......@@ -347,11 +347,7 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto> implements DrmSe
postRequestHandler = new PostRequestHandler(requestHandlerThread.getLooper());
if (offlineLicenseKeySetId == null) {
SchemeData schemeData = drmInitData.get(uuid);
if (schemeData == null && C.CLEARKEY_UUID.equals(uuid)) {
// If present, the Common PSSH box should be used for ClearKey.
schemeData = drmInitData.get(C.COMMON_PSSH_UUID);
}
SchemeData schemeData = getSchemeData(drmInitData);
if (schemeData == null) {
onError(new IllegalStateException("Media does not support uuid: " + uuid));
return this;
......@@ -627,6 +623,21 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto> implements DrmSe
}
}
/**
* Extracts {@link SchemeData} suitable for this manager.
*
* @param drmInitData The {@link DrmInitData} from which to extract the {@link SchemeData}.
* @return The extracted {@link SchemeData}, or null if no suitable data is present.
*/
private SchemeData getSchemeData(DrmInitData drmInitData) {
SchemeData schemeData = drmInitData.get(uuid);
if (schemeData == null && C.CLEARKEY_UUID.equals(uuid)) {
// If present, the Common PSSH box should be used for ClearKey.
schemeData = drmInitData.get(C.COMMON_PSSH_UUID);
}
return schemeData;
}
@SuppressLint("HandlerLeak")
private class MediaDrmHandler extends Handler {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment