Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(388)

Unified Diff: content/browser/media/android/browser_media_player_manager.cc

Issue 132233042: Enable the embedded L1/EME support in WebView. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/media/android/browser_media_player_manager.cc
diff --git a/content/browser/media/android/browser_media_player_manager.cc b/content/browser/media/android/browser_media_player_manager.cc
index 04cde982cd114f242c619d739d6aad97dde11b4b..0c77a7b8c8e546ec4192fd592eb277feb81b8f39 100644
--- a/content/browser/media/android/browser_media_player_manager.cc
+++ b/content/browser/media/android/browser_media_player_manager.cc
@@ -467,6 +467,13 @@ void BrowserMediaPlayerManager::DetachExternalVideoSurface(int player_id) {
player->SetVideoSurface(gfx::ScopedJavaSurface());
}
+void BrowserMediaPlayerManager::ReleaseExternalVideoSurface(int player_id) {
+ WebContentsViewAndroid* view =
+ static_cast<WebContentsViewAndroid*>(web_contents_->GetView());
+ if (view)
+ view->NotifyExternalSurface(player_id, false, gfx::RectF());
+}
+
void BrowserMediaPlayerManager::OnNotifyExternalSurface(
int player_id, bool is_request, const gfx::RectF& rect) {
if (!web_contents_)
@@ -574,14 +581,15 @@ void BrowserMediaPlayerManager::OnReleaseResources(int player_id) {
player->Release();
#if defined(VIDEO_HOLE)
- WebContentsViewAndroid* view =
- static_cast<WebContentsViewAndroid*>(web_contents_->GetView());
- if (view)
- view->NotifyExternalSurface(player_id, false, gfx::RectF());
+ ReleaseExternalVideoSurface(player_id);
#endif // defined(VIDEO_HOLE)
}
void BrowserMediaPlayerManager::OnDestroyPlayer(int player_id) {
+#if defined(VIDEO_HOLE)
+ ReleaseExternalVideoSurface(player_id);
boliu 2014/01/24 21:56:32 Maybe question for the media owners. Why is this
ycheo (away) 2014/01/28 13:08:53 OnDestoryPlayer doesn't call OnReleaseResources. @
qinmin 2014/01/28 21:17:05 OnReleaseResources happens at tab switching, or ap
+#endif // defined(VIDEO_HOLE)
+
RemovePlayer(player_id);
if (fullscreen_player_id_ == player_id)
fullscreen_player_id_ = -1;

Powered by Google App Engine
This is Rietveld 408576698