public:
virtual ~MediaPlayerManager() {}
- // Called by a MediaPlayerAndroid object when it is going to decode
- // media streams. This helps the manager object maintain an array
- // of active MediaPlayerAndroid objects and release the resources
- // when needed.
- virtual void RequestMediaResources(int player_id) = 0;
-
- // Called when a MediaPlayerAndroid object releases all its decoding
- // resources.
- virtual void ReleaseMediaResources(int player_id) = 0;
-
// Return a pointer to the MediaResourceGetter object.
virtual MediaResourceGetter* GetMediaResourceGetter() = 0;
virtual void DestroyAllMediaPlayers() = 0;
// Get the MediaDrmBridge object for the given media key Id.
- virtual media::MediaDrmBridge* GetDrmBridge(int media_keys_id) = 0;
+ virtual media::MediaDrmBridge* GetDrmBridge(int cdm_id) = 0;
// Called by the player to get a hardware protected surface.
- virtual void OnProtectedSurfaceRequested(int player_id) = 0;
-
- // TODO(xhwang): The following three methods needs to be decoupled from
- // MediaPlayerManager to support the W3C Working Draft version of the EME
- // spec.
-
- // Called when MediaDrmBridge wants to send a KeyAdded.
- virtual void OnKeyAdded(int media_keys_id,
- const std::string& session_id) = 0;
-
- // Called when MediaDrmBridge wants to send a KeyError.
- virtual void OnKeyError(int media_keys_id,
- const std::string& session_id,
- media::MediaKeys::KeyError error_code,
- int system_code) = 0;
-
- // Called when MediaDrmBridge wants to send a KeyMessage.
- virtual void OnKeyMessage(int media_keys_id,
- const std::string& session_id,
- const std::vector<uint8>& message,
- const std::string& destination_url) = 0;
+ virtual void RequestFullScreen(int player_id) = 0;
+
+ // The following five methods are related to EME.
+ // TODO(xhwang): These methods needs to be decoupled from MediaPlayerManager
+ // to support the W3C Working Draft version of the EME spec.
+ // http://crbug.com/315312
+
+ // Called when MediaDrmBridge determines a SessionId.
+ virtual void OnSessionCreated(int cdm_id,
+ uint32 session_id,
+ const std::string& web_session_id) = 0;
+
+ // Called when MediaDrmBridge wants to send a Message event.
+ virtual void OnSessionMessage(int cdm_id,
+ uint32 session_id,
+ const std::vector<uint8>& message,
+ const GURL& destination_url) = 0;
+
+ // Called when MediaDrmBridge wants to send a Ready event.
+ virtual void OnSessionReady(int cdm_id, uint32 session_id) = 0;
+
+ // Called when MediaDrmBridge wants to send a Closed event.
+ virtual void OnSessionClosed(int cdm_id, uint32 session_id) = 0;
+
+ // Called when MediaDrmBridge wants to send an Error event.
+ virtual void OnSessionError(int cdm_id,
+ uint32 session_id,
+ media::MediaKeys::KeyError error_code,
+ uint32 system_code) = 0;
};
} // namespace media