diff options
author | qinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-22 17:09:48 +0000 |
---|---|---|
committer | qinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-22 17:09:48 +0000 |
commit | 02904044dd76403e1ec38364b0dd4bc7ac64c37e (patch) | |
tree | 3d5a636ac3874772b76ce706ca75169e24c4d35b /media | |
parent | 32e5b0dd3e99a35bd6334feb5caa36ffbdaa0273 (diff) | |
download | chromium_src-02904044dd76403e1ec38364b0dd4bc7ac64c37e.zip chromium_src-02904044dd76403e1ec38364b0dd4bc7ac64c37e.tar.gz chromium_src-02904044dd76403e1ec38364b0dd4bc7ac64c37e.tar.bz2 |
Add the SetMediaKeys handler to pass a drm bridge to a MediaSourcePlayer
Adding the message handler so people can work on it.
BUG=163552
Review URL: https://chromiumcodereview.appspot.com/17563002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@208072 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r-- | media/base/android/media_player_android.cc | 5 | ||||
-rw-r--r-- | media/base/android/media_player_android.h | 4 | ||||
-rw-r--r-- | media/base/android/media_source_player.cc | 10 | ||||
-rw-r--r-- | media/base/android/media_source_player.h | 9 |
4 files changed, 21 insertions, 7 deletions
diff --git a/media/base/android/media_player_android.cc b/media/base/android/media_player_android.cc index a435d5d..8d8988c 100644 --- a/media/base/android/media_player_android.cc +++ b/media/base/android/media_player_android.cc @@ -5,6 +5,7 @@ #include "media/base/android/media_player_android.h" #include "base/logging.h" +#include "media/base/android/media_drm_bridge.h" #include "media/base/android/media_player_manager.h" namespace media { @@ -88,4 +89,8 @@ GURL MediaPlayerAndroid::GetFirstPartyForCookies() { return GURL(); } +void MediaPlayerAndroid::SetDrmBridge(MediaDrmBridge* drm_bridge) { + NOTREACHED() << "Unexpected SetDrmBridge() call"; +} + } // namespace media diff --git a/media/base/android/media_player_android.h b/media/base/android/media_player_android.h index 1310fbd..0b31ea2 100644 --- a/media/base/android/media_player_android.h +++ b/media/base/android/media_player_android.h @@ -17,6 +17,7 @@ namespace media { +class MediaDrmBridge; class MediaPlayerManager; // This class serves as the base class for different media player @@ -99,6 +100,9 @@ class MEDIA_EXPORT MediaPlayerAndroid { // Called when the demuxer has changed the duration. virtual void DurationChanged(const base::TimeDelta& duration); + // Pass a drm bridge to a player. + virtual void SetDrmBridge(MediaDrmBridge* drm_bridge); + int player_id() { return player_id_; } protected: diff --git a/media/base/android/media_source_player.cc b/media/base/android/media_source_player.cc index 9495ed0..f493ba1 100644 --- a/media/base/android/media_source_player.cc +++ b/media/base/android/media_source_player.cc @@ -286,7 +286,8 @@ MediaSourcePlayer::MediaSourcePlayer( video_access_unit_index_(0), waiting_for_audio_data_(false), waiting_for_video_data_(false), - weak_this_(this) { + weak_this_(this), + drm_bridge_(NULL) { } MediaSourcePlayer::~MediaSourcePlayer() { @@ -471,6 +472,13 @@ void MediaSourcePlayer::DurationChanged(const base::TimeDelta& duration) { duration_ = duration; } +void MediaSourcePlayer::SetDrmBridge(MediaDrmBridge* drm_bridge) { + drm_bridge_ = drm_bridge; + // TODO(qinmin): similar to SetVideoSurface() call, we need to wait for the + // current decoder jobs to finish, and then use the ProcessPendingEvents() + // to pass the drm_bridge to the decoder jobs. +} + void MediaSourcePlayer::OnSeekRequestAck(unsigned seek_request_id) { // Do nothing until the most recent seek request is processed. if (seek_request_id_ != seek_request_id) diff --git a/media/base/android/media_source_player.h b/media/base/android/media_source_player.h index 5179652..8e37054 100644 --- a/media/base/android/media_source_player.h +++ b/media/base/android/media_source_player.h @@ -149,17 +149,12 @@ class MEDIA_EXPORT MediaSourcePlayer : public MediaPlayerAndroid { virtual bool CanSeekBackward() OVERRIDE; virtual bool IsPlayerReady() OVERRIDE; virtual void OnSeekRequestAck(unsigned seek_request_id) OVERRIDE; - - // Called when the demuxer is ready. virtual void DemuxerReady( const MediaPlayerHostMsg_DemuxerReady_Params& params) OVERRIDE; - - // Called when the requested data is received from the demuxer. virtual void ReadFromDemuxerAck( const MediaPlayerHostMsg_ReadFromDemuxerAck_Params& params) OVERRIDE; - - // Called when the demuxer has changed the duration. virtual void DurationChanged(const base::TimeDelta& duration) OVERRIDE; + virtual void SetDrmBridge(MediaDrmBridge* drm_bridge) OVERRIDE; private: // Update the timestamps for A/V sync scheduling. @@ -258,6 +253,8 @@ class MEDIA_EXPORT MediaSourcePlayer : public MediaPlayerAndroid { // Weak pointer passed to media decoder jobs for callbacks. base::WeakPtrFactory<MediaSourcePlayer> weak_this_; + MediaDrmBridge* drm_bridge_; + friend class MediaSourcePlayerTest; DISALLOW_COPY_AND_ASSIGN(MediaSourcePlayer); }; |