summaryrefslogtreecommitdiffstats
path: root/content/browser
diff options
context:
space:
mode:
authorqinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-04 02:47:47 +0000
committerqinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-04 02:47:47 +0000
commitf9380385b001d9aaab6b82d4bd01f0bd24cd52a1 (patch)
tree1ae84eeb88f4c834c6062ceaeec3f3ae828fb618 /content/browser
parentfbc08aa288ecf9ffba63e229a3017dfddda5a28f (diff)
downloadchromium_src-f9380385b001d9aaab6b82d4bd01f0bd24cd52a1.zip
chromium_src-f9380385b001d9aaab6b82d4bd01f0bd24cd52a1.tar.gz
chromium_src-f9380385b001d9aaab6b82d4bd01f0bd24cd52a1.tar.bz2
Request a protected surface for EME media playback
If |is_video_encrypted_| is true, always request a protected surface from MediaPlayerManager. If manager denies the request, playback will fail. Otherwise, SetVideoSurface(surface, true) will be called later. TBR=sievers@chromium.org BUG=163552 Review URL: https://chromiumcodereview.appspot.com/18591002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210114 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser')
-rw-r--r--content/browser/android/media_player_manager_impl.cc11
-rw-r--r--content/browser/android/media_player_manager_impl.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/content/browser/android/media_player_manager_impl.cc b/content/browser/android/media_player_manager_impl.cc
index 78e87d9..f114c6d 100644
--- a/content/browser/android/media_player_manager_impl.cc
+++ b/content/browser/android/media_player_manager_impl.cc
@@ -283,6 +283,17 @@ void MediaPlayerManagerImpl::OnMediaConfigRequest(int player_id) {
Send(new MediaPlayerMsg_MediaConfigRequest(routing_id(), player_id));
}
+void MediaPlayerManagerImpl::OnProtectedSurfaceRequested(int player_id) {
+ if (fullscreen_player_id_ == player_id)
+ return;
+ if (fullscreen_player_id_ != -1) {
+ // TODO(qinmin): Determine the correct error code we should report to WMPA.
+ OnError(player_id, MediaPlayerAndroid::MEDIA_ERROR_DECODE);
+ return;
+ }
+ OnEnterFullscreen(player_id);
+}
+
void MediaPlayerManagerImpl::OnKeyAdded(int media_keys_id,
const std::string& session_id) {
Send(new MediaKeysMsg_KeyAdded(routing_id(), media_keys_id, session_id));
diff --git a/content/browser/android/media_player_manager_impl.h b/content/browser/android/media_player_manager_impl.h
index d038756..41f7c06 100644
--- a/content/browser/android/media_player_manager_impl.h
+++ b/content/browser/android/media_player_manager_impl.h
@@ -80,6 +80,7 @@ class CONTENT_EXPORT MediaPlayerManagerImpl
virtual void OnMediaSeekRequest(int player_id, base::TimeDelta time_to_seek,
unsigned seek_request_id) OVERRIDE;
virtual void OnMediaConfigRequest(int player_id) OVERRIDE;
+ virtual void OnProtectedSurfaceRequested(int player_id) OVERRIDE;
virtual void OnKeyAdded(int media_keys_id,
const std::string& session_id) OVERRIDE;
virtual void OnKeyError(int media_keys_id,