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_; |