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

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

Issue 748473002: Introduce CdmContext interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@set_cdm
Patch Set: Created 6 years, 1 month 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/proxy_media_keys.h
diff --git a/content/renderer/media/crypto/proxy_media_keys.h b/content/renderer/media/crypto/proxy_media_keys.h
index 6b4df648276dede03a675053766b5851502b414a..bf22ae308085dde7cfea774018bfa77567373c55 100644
--- a/content/renderer/media/crypto/proxy_media_keys.h
+++ b/content/renderer/media/crypto/proxy_media_keys.h
@@ -11,6 +11,7 @@
#include "base/basictypes.h"
#include "base/containers/hash_tables.h"
#include "base/containers/scoped_ptr_hash_map.h"
+#include "media/base/cdm_context.h"
#include "media/base/cdm_promise.h"
#include "media/base/media_keys.h"
@@ -21,7 +22,7 @@ namespace content {
class RendererCdmManager;
// A MediaKeys proxy that wraps the EME part of RendererCdmManager.
-class ProxyMediaKeys : public media::MediaKeys {
+class ProxyMediaKeys : public media::MediaKeys, public media::CdmContext {
public:
static scoped_ptr<ProxyMediaKeys> Create(
const std::string& key_system,
@@ -34,37 +35,35 @@ class ProxyMediaKeys : public media::MediaKeys {
const media::SessionKeysChangeCB& session_keys_change_cb,
const media::SessionExpirationUpdateCB& session_expiration_update_cb);
- virtual ~ProxyMediaKeys();
+ ~ProxyMediaKeys() override;
// MediaKeys implementation.
- virtual void SetServerCertificate(
+ 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,
- int init_data_length,
- SessionType session_type,
- scoped_ptr<media::NewSessionCdmPromise> promise) override;
- virtual void LoadSession(
- const std::string& web_session_id,
- scoped_ptr<media::NewSessionCdmPromise> promise) override;
- virtual void UpdateSession(
- const std::string& web_session_id,
- const uint8* response,
- int response_length,
- scoped_ptr<media::SimpleCdmPromise> promise) override;
- 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 int GetCdmId() const override;
+ void CreateSession(const std::string& init_data_type,
+ const uint8* init_data,
+ int init_data_length,
+ SessionType session_type,
+ scoped_ptr<media::NewSessionCdmPromise> promise) override;
+ void LoadSession(const std::string& web_session_id,
+ scoped_ptr<media::NewSessionCdmPromise> promise) override;
+ void UpdateSession(const std::string& web_session_id,
+ const uint8* response,
+ int response_length,
+ scoped_ptr<media::SimpleCdmPromise> promise) override;
+ void CloseSession(const std::string& web_session_id,
+ scoped_ptr<media::SimpleCdmPromise> promise) override;
+ void RemoveSession(const std::string& web_session_id,
+ scoped_ptr<media::SimpleCdmPromise> promise) override;
+ void GetUsableKeyIds(const std::string& web_session_id,
+ scoped_ptr<media::KeyIdsPromise> promise) override;
+ media::CdmContext* GetCdmContext() override;
+
+ // media::CdmContext implementation.
+ media::Decryptor* GetDecryptor() override;
+ int GetCdmId() const override;
// Callbacks.
void OnSessionCreated(uint32 session_id, const std::string& web_session_id);

Powered by Google App Engine
This is Rietveld 408576698