Commit 7d930ce0 authored by ycheo@chromium.org's avatar ycheo@chromium.org

Skip to enter the fullscreen automatically when hole-punching is enabled.

BUG=391724

Review URL: https://codereview.chromium.org/378543002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282588 0039d316-1c4b-4281-b951-d872f2087c98
parent 33afb891
...@@ -322,6 +322,12 @@ void BrowserMediaPlayerManager::RequestFullScreen(int player_id) { ...@@ -322,6 +322,12 @@ void BrowserMediaPlayerManager::RequestFullScreen(int player_id) {
} }
#if defined(VIDEO_HOLE) #if defined(VIDEO_HOLE)
bool
BrowserMediaPlayerManager::ShouldUseVideoOverlayForEmbeddedEncryptedVideo() {
RendererPreferences* prefs = web_contents_->GetMutableRendererPrefs();
return prefs->use_video_overlay_for_embedded_encrypted_video;
}
void BrowserMediaPlayerManager::AttachExternalVideoSurface(int player_id, void BrowserMediaPlayerManager::AttachExternalVideoSurface(int player_id,
jobject surface) { jobject surface) {
MediaPlayerAndroid* player = GetPlayer(player_id); MediaPlayerAndroid* player = GetPlayer(player_id);
......
...@@ -87,8 +87,9 @@ class CONTENT_EXPORT BrowserMediaPlayerManager ...@@ -87,8 +87,9 @@ class CONTENT_EXPORT BrowserMediaPlayerManager
virtual media::MediaPlayerAndroid* GetFullscreenPlayer() OVERRIDE; virtual media::MediaPlayerAndroid* GetFullscreenPlayer() OVERRIDE;
virtual media::MediaPlayerAndroid* GetPlayer(int player_id) OVERRIDE; virtual media::MediaPlayerAndroid* GetPlayer(int player_id) OVERRIDE;
virtual void RequestFullScreen(int player_id) OVERRIDE; virtual void RequestFullScreen(int player_id) OVERRIDE;
#if defined(VIDEO_HOLE) #if defined(VIDEO_HOLE)
virtual bool ShouldUseVideoOverlayForEmbeddedEncryptedVideo() OVERRIDE;
void AttachExternalVideoSurface(int player_id, jobject surface); void AttachExternalVideoSurface(int player_id, jobject surface);
void DetachExternalVideoSurface(int player_id); void DetachExternalVideoSurface(int player_id);
void OnFrameInfoUpdated(); void OnFrameInfoUpdated();
......
...@@ -65,6 +65,12 @@ class MEDIA_EXPORT MediaPlayerManager { ...@@ -65,6 +65,12 @@ class MEDIA_EXPORT MediaPlayerManager {
// Called by the player to get a hardware protected surface. // Called by the player to get a hardware protected surface.
virtual void RequestFullScreen(int player_id) = 0; virtual void RequestFullScreen(int player_id) = 0;
#if defined(VIDEO_HOLE)
// Returns true if a media player should use video-overlay for the embedded
// encrypted video.
virtual bool ShouldUseVideoOverlayForEmbeddedEncryptedVideo() = 0;
#endif // defined(VIDEO_HOLE)
}; };
} // namespace media } // namespace media
......
...@@ -123,7 +123,13 @@ void MediaSourcePlayer::Start() { ...@@ -123,7 +123,13 @@ void MediaSourcePlayer::Start() {
playing_ = true; playing_ = true;
if (IsProtectedSurfaceRequired()) bool request_fullscreen = IsProtectedSurfaceRequired();
#if defined(VIDEO_HOLE)
// Skip to request fullscreen when hole-punching is used.
request_fullscreen = request_fullscreen &&
!manager()->ShouldUseVideoOverlayForEmbeddedEncryptedVideo();
#endif // defined(VIDEO_HOLE)
if (request_fullscreen)
manager()->RequestFullScreen(player_id()); manager()->RequestFullScreen(player_id());
StartInternal(); StartInternal();
......
...@@ -74,6 +74,11 @@ class MockMediaPlayerManager : public MediaPlayerManager { ...@@ -74,6 +74,11 @@ class MockMediaPlayerManager : public MediaPlayerManager {
virtual MediaPlayerAndroid* GetFullscreenPlayer() OVERRIDE { return NULL; } virtual MediaPlayerAndroid* GetFullscreenPlayer() OVERRIDE { return NULL; }
virtual MediaPlayerAndroid* GetPlayer(int player_id) OVERRIDE { return NULL; } virtual MediaPlayerAndroid* GetPlayer(int player_id) OVERRIDE { return NULL; }
virtual void RequestFullScreen(int player_id) OVERRIDE {} virtual void RequestFullScreen(int player_id) OVERRIDE {}
#if defined(VIDEO_HOLE)
virtual bool ShouldUseVideoOverlayForEmbeddedEncryptedVideo() OVERRIDE {
return false;
}
#endif // defined(VIDEO_HOLE)
bool playback_completed() const { bool playback_completed() const {
return playback_completed_; return playback_completed_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment