summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorqinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-22 17:09:48 +0000
committerqinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-22 17:09:48 +0000
commit02904044dd76403e1ec38364b0dd4bc7ac64c37e (patch)
tree3d5a636ac3874772b76ce706ca75169e24c4d35b /media
parent32e5b0dd3e99a35bd6334feb5caa36ffbdaa0273 (diff)
downloadchromium_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.cc5
-rw-r--r--media/base/android/media_player_android.h4
-rw-r--r--media/base/android/media_source_player.cc10
-rw-r--r--media/base/android/media_source_player.h9
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);
};