Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(868)

Unified Diff: media/base/android/java/src/org/chromium/media/MediaDrmSessionManager.java

Issue 2790783002: [Clank] Add JNI interface for media persistent license storage (Closed)
Patch Set: Fix lint Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/base/android/java/src/org/chromium/media/MediaDrmSessionManager.java
diff --git a/media/base/android/java/src/org/chromium/media/MediaDrmSessionManager.java b/media/base/android/java/src/org/chromium/media/MediaDrmSessionManager.java
index 4280d7f60c3dbfb7aa455917810af17cbb2950ba..42e6675bd4f98fe5a60845aa0c56c645421f34c4 100644
--- a/media/base/android/java/src/org/chromium/media/MediaDrmSessionManager.java
+++ b/media/base/android/java/src/org/chromium/media/MediaDrmSessionManager.java
@@ -7,6 +7,7 @@ package org.chromium.media;
import android.media.MediaDrm;
import org.chromium.base.Callback;
+import org.chromium.media.MediaDrmStorageBridge.PersistentInfo;
import java.nio.ByteBuffer;
import java.util.ArrayList;
@@ -158,6 +159,12 @@ class MediaDrmSessionManager {
private void setKeyType(int keyType) {
mKeyType = keyType;
}
+
+ private PersistentInfo toPersistentInfo() {
+ assert mSessionId.keySetId() != null;
+
+ return new PersistentInfo(mSessionId.emeId(), mSessionId.keySetId(), mMimeType);
+ }
}
// Maps from DRM/EME session ID to SessionInfo. SessionInfo contains
@@ -170,9 +177,15 @@ class MediaDrmSessionManager {
private HashMap<ByteBuffer, SessionInfo> mEmeSessionInfoMap;
private HashMap<ByteBuffer, SessionInfo> mDrmSessionInfoMap;
- public MediaDrmSessionManager() {
+ // The persistent storage to record map from EME session ID to key set ID
+ // for persistent license.
+ private MediaDrmStorageBridge mStorage;
+
+ public MediaDrmSessionManager(MediaDrmStorageBridge storage) {
mEmeSessionInfoMap = new HashMap<>();
mDrmSessionInfoMap = new HashMap<>();
+
+ mStorage = storage;
}
/**
@@ -185,8 +198,7 @@ class MediaDrmSessionManager {
sessionId.setKeySetId(keySetId);
- // TODO(yucliu): Write updated key set ID to persistent storage.
- callback.onResult(true);
+ mStorage.saveInfo(get(sessionId).toPersistentInfo(), callback);
}
/**

Powered by Google App Engine
This is Rietveld 408576698