diff options
author | qinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-04 02:47:47 +0000 |
---|---|---|
committer | qinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-04 02:47:47 +0000 |
commit | f9380385b001d9aaab6b82d4bd01f0bd24cd52a1 (patch) | |
tree | 1ae84eeb88f4c834c6062ceaeec3f3ae828fb618 /content/browser | |
parent | fbc08aa288ecf9ffba63e229a3017dfddda5a28f (diff) | |
download | chromium_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.cc | 11 | ||||
-rw-r--r-- | content/browser/android/media_player_manager_impl.h | 1 |
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, |