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

Unified Diff: media/base/media_keys.h

Issue 555223004: Update MediaKeys interface for EME (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: helpers Created 6 years, 3 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/media_keys.h
diff --git a/media/base/media_keys.h b/media/base/media_keys.h
index 063e54b1058d421a0ab89ba7dd1411cbc905619e..af1fdc0b6a3f3e847848f237934a03731a6fea3a 100644
--- a/media/base/media_keys.h
+++ b/media/base/media_keys.h
@@ -72,6 +72,12 @@ class MEDIA_EXPORT MediaKeys {
MediaKeys();
virtual ~MediaKeys();
+ // Provide a server certificate to be used to encrypt messages to the
+ // license server.
+ virtual void SetServerCertificate(const uint8* certificate_data,
+ int certificate_data_length,
+ scoped_ptr<SimpleCdmPromise> promise) = 0;
+
// Creates a session with the |init_data_type|, |init_data| and |session_type|
// provided.
// Note: UpdateSession() and ReleaseSession() should only be called after
@@ -94,9 +100,19 @@ class MEDIA_EXPORT MediaKeys {
int response_length,
scoped_ptr<SimpleCdmPromise> promise) = 0;
- // Releases the session specified by |web_session_id|.
- virtual void ReleaseSession(const std::string& web_session_id,
- scoped_ptr<SimpleCdmPromise> promise) = 0;
+ // Closes the session specified by |web_session_id|.
+ virtual void CloseSession(const std::string& web_session_id,
+ scoped_ptr<SimpleCdmPromise> promise) = 0;
+
+ // Remove stored session data associated with the session specified by
+ // |web_session_id|.
+ virtual void RemoveSession(const std::string& web_session_id,
+ scoped_ptr<SimpleCdmPromise> promise) = 0;
+
+ // Retrieve the key IDs for keys in the session that the CDM knows are
+ // currently usable to decrypt media data.
+ virtual void GetUsableKeyIds(const std::string& web_session_id,
+ scoped_ptr<KeyIdsPromise> promise) = 0;
// Gets the Decryptor object associated with the MediaKeys. Returns NULL if
// no Decryptor object is associated. The returned object is only guaranteed
@@ -122,6 +138,13 @@ typedef base::Callback<void(const std::string& web_session_id,
uint32 system_code,
const std::string& error_message)> SessionErrorCB;
+typedef base::Callback<void(const std::string& web_session_id,
+ bool has_additional_usable_key)>
+ SessionKeysChangeCB;
+
+typedef base::Callback<void(const std::string& web_session_id,
+ double new_expiry_time)> SessionExpirationChangeCB;
+
} // namespace media
#endif // MEDIA_BASE_MEDIA_KEYS_H_

Powered by Google App Engine
This is Rietveld 408576698