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

Unified Diff: content/renderer/media/crypto/ppapi_decryptor.h

Issue 555223004: Update MediaKeys interface for EME (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments 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: content/renderer/media/crypto/ppapi_decryptor.h
diff --git a/content/renderer/media/crypto/ppapi_decryptor.h b/content/renderer/media/crypto/ppapi_decryptor.h
index c09e4b046fd03fc0eb04afad2b024d40cc966ef8..4f215e185030713d3874be2a00c14a81bf8326c0 100644
--- a/content/renderer/media/crypto/ppapi_decryptor.h
+++ b/content/renderer/media/crypto/ppapi_decryptor.h
@@ -38,11 +38,17 @@ class PpapiDecryptor : public media::MediaKeys, public media::Decryptor {
const media::SessionMessageCB& session_message_cb,
const media::SessionReadyCB& session_ready_cb,
const media::SessionClosedCB& session_closed_cb,
- const media::SessionErrorCB& session_error_cb);
+ const media::SessionErrorCB& session_error_cb,
+ const media::SessionKeysChangeCB& session_keys_change_cb,
+ const media::SessionExpirationUpdateCB& session_expiration_update_cb);
virtual ~PpapiDecryptor();
// media::MediaKeys implementation.
+ virtual void SetServerCertificate(
+ const uint8* certificate_data,
+ int certificate_data_length,
+ scoped_ptr<media::SimpleCdmPromise> promise) OVERRIDE;
virtual void CreateSession(
const std::string& init_data_type,
const uint8* init_data,
@@ -57,9 +63,15 @@ class PpapiDecryptor : public media::MediaKeys, public media::Decryptor {
const uint8* response,
int response_length,
scoped_ptr<media::SimpleCdmPromise> promise) OVERRIDE;
- virtual void ReleaseSession(
+ virtual void CloseSession(
+ const std::string& web_session_id,
+ scoped_ptr<media::SimpleCdmPromise> promise) OVERRIDE;
+ virtual void RemoveSession(
const std::string& web_session_id,
scoped_ptr<media::SimpleCdmPromise> promise) OVERRIDE;
+ virtual void GetUsableKeyIds(
+ const std::string& web_session_id,
+ scoped_ptr<media::KeyIdsPromise> promise) OVERRIDE;
virtual Decryptor* GetDecryptor() OVERRIDE;
// media::Decryptor implementation.
@@ -83,12 +95,15 @@ class PpapiDecryptor : public media::MediaKeys, public media::Decryptor {
virtual void DeinitializeDecoder(StreamType stream_type) OVERRIDE;
private:
- PpapiDecryptor(const std::string& key_system,
- scoped_ptr<PepperCdmWrapper> pepper_cdm_wrapper,
- const media::SessionMessageCB& session_message_cb,
- const media::SessionReadyCB& session_ready_cb,
- const media::SessionClosedCB& session_closed_cb,
- const media::SessionErrorCB& session_error_cb);
+ PpapiDecryptor(
+ const std::string& key_system,
+ scoped_ptr<PepperCdmWrapper> pepper_cdm_wrapper,
+ const media::SessionMessageCB& session_message_cb,
+ const media::SessionReadyCB& session_ready_cb,
+ const media::SessionClosedCB& session_closed_cb,
+ const media::SessionErrorCB& session_error_cb,
+ const media::SessionKeysChangeCB& session_keys_change_cb,
+ const media::SessionExpirationUpdateCB& session_expiration_update_cb);
void OnDecoderInitialized(StreamType stream_type, bool success);
@@ -96,6 +111,10 @@ class PpapiDecryptor : public media::MediaKeys, public media::Decryptor {
void OnSessionMessage(const std::string& web_session_id,
const std::vector<uint8>& message,
const GURL& destination_url);
+ void OnSessionKeysChange(const std::string& web_session_id,
+ bool has_additional_usable_key);
+ void OnSessionExpirationUpdate(const std::string& web_session_id,
+ const base::Time& new_expiry_time);
void OnSessionReady(const std::string& web_session_id);
void OnSessionClosed(const std::string& web_session_id);
void OnSessionError(const std::string& web_session_id,
@@ -122,6 +141,8 @@ class PpapiDecryptor : public media::MediaKeys, public media::Decryptor {
media::SessionReadyCB session_ready_cb_;
media::SessionClosedCB session_closed_cb_;
media::SessionErrorCB session_error_cb_;
+ media::SessionKeysChangeCB session_keys_change_cb_;
+ media::SessionExpirationUpdateCB session_expiration_update_cb_;
scoped_refptr<base::MessageLoopProxy> render_loop_proxy_;
« no previous file with comments | « content/renderer/media/crypto/content_decryption_module_factory.cc ('k') | content/renderer/media/crypto/ppapi_decryptor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698