Chromium Code Reviews| Index: media/base/android/media_drm_bridge.h |
| diff --git a/media/base/android/media_drm_bridge.h b/media/base/android/media_drm_bridge.h |
| index 06716dfa6cf6e02de6fdd787e00ce3c6f08ed215..a6b42c342d5c0cfc6ae60130b1d5440aff494259 100644 |
| --- a/media/base/android/media_drm_bridge.h |
| +++ b/media/base/android/media_drm_bridge.h |
| @@ -27,6 +27,21 @@ class MediaPlayerManager; |
| // This class provides DRM services for android EME implementation. |
| class MEDIA_EXPORT MediaDrmBridge : public BrowserCdm { |
| public: |
| + class Delegate { |
|
xhwang
2015/03/23 04:59:47
Add comment please.
gunsch
2015/04/09 01:36:39
Done.
|
| + public: |
| + void OnCreateSession( |
|
xhwang
2015/03/23 04:59:47
How about SanitizeInitData()? (Search for "sanitiz
xhwang
2015/03/23 04:59:47
virtual?
gunsch
2015/04/09 01:36:39
1) I feel like isn't, strictly speaking, "sanitiza
gunsch
2015/04/09 01:36:39
Done.
|
| + const std::string& init_data_type, |
| + const uint8* init_data, |
| + int init_data_length, |
| + std::vector<uint8>& init_data_out, |
| + std::vector<std::string>& additional_data_out) {} |
| + |
| + private: |
| + virtual ~Delegate() {} |
| + |
| + DISALLOW_COPY_AND_ASSIGN(Delegate); |
| + }; |
| + |
| // TODO(ddorwin): These are specific to Widevine. http://crbug.com/459400 |
| enum SecurityLevel { |
| SECURITY_LEVEL_NONE = 0, |
| @@ -56,6 +71,11 @@ class MEDIA_EXPORT MediaDrmBridge : public BrowserCdm { |
| const std::string& key_system, |
| const std::string& container_mime_type); |
| + // Registers a delegate to handle requests with a given UUID. |
| + static void RegisterDelegate( |
| + const std::string& key_system, |
| + Delegate* delegate); |
| + |
| static bool RegisterMediaDrmBridge(JNIEnv* env); |
| // Returns a MediaDrmBridge instance if |key_system| is supported, or a NULL |
| @@ -185,7 +205,8 @@ class MEDIA_EXPORT MediaDrmBridge : public BrowserCdm { |
| const SessionMessageCB& session_message_cb, |
| const SessionClosedCB& session_closed_cb, |
| const SessionErrorCB& session_error_cb, |
| - const SessionKeysChangeCB& session_keys_change_cb); |
| + const SessionKeysChangeCB& session_keys_change_cb, |
| + Delegate* delegate); |
| static bool IsSecureDecoderRequired(SecurityLevel security_level); |
| @@ -198,6 +219,8 @@ class MEDIA_EXPORT MediaDrmBridge : public BrowserCdm { |
| // Java MediaDrm instance. |
| base::android::ScopedJavaGlobalRef<jobject> j_media_drm_; |
| + Delegate* const delegate_; |
| + |
| // Callbacks for firing session events. |
| SessionMessageCB session_message_cb_; |
| SessionClosedCB session_closed_cb_; |