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

Unified Diff: android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java

Issue 714643002: Pause EME player whose external surface is stolen by another player (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: player->Release() instead of player->Pause() Created 6 years, 1 month 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: android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java
diff --git a/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java b/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java
index e0e1f6657bf19d9a7d1826b210ce17cb8a36e9c5..3829ef7ada1206c72700bab128d184e582056121 100644
--- a/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java
+++ b/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java
@@ -40,6 +40,7 @@ import java.lang.ref.WeakReference;
@JNINamespace("android_webview")
public class ExternalVideoSurfaceContainer implements SurfaceHolder.Callback {
protected static final int INVALID_PLAYER_ID = -1;
+ protected static final int ANY_PLAYER_ID = -2;
// Because WebView does hole-punching by itself, instead, the hole-punching logic
// in SurfaceView can clear out some web elements like media control or subtitle.
@@ -132,11 +133,12 @@ public class ExternalVideoSurfaceContainer implements SurfaceHolder.Callback {
*/
@CalledByNative
protected void releaseExternalVideoSurface(int playerId) {
- if (mPlayerId != playerId) return;
+ if (playerId == ANY_PLAYER_ID || playerId == mPlayerId) {
- releaseIfActiveContainer(this);
+ releaseIfActiveContainer(this);
- mPlayerId = INVALID_PLAYER_ID;
+ mPlayerId = INVALID_PLAYER_ID;
+ }
}
@CalledByNative

Powered by Google App Engine
This is Rietveld 408576698