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

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: 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 86f75808ac68715b2b2459232553c2a65cd86df6..957dd60c0016e18996f31ebdbac118ad6d14c81a 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.
@@ -134,11 +135,12 @@ public class ExternalVideoSurfaceContainer implements SurfaceHolder.Callback {
*/
@CalledByNative
protected void releaseExternalVideoSurface(int playerId) {
- if (mPlayerId != playerId) return;
+ if (playerId == ANY_PLAYER_ID || mPlayerId == playerId) {
- releaseIfActiveContainer(this);
+ releaseIfActiveContainer(this);
- mPlayerId = INVALID_PLAYER_ID;
+ mPlayerId = INVALID_PLAYER_ID;
+ }
}
@CalledByNative

Powered by Google App Engine
This is Rietveld 408576698