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

Unified Diff: android_webview/native/external_video_surface_container_impl.cc

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: Reuse Java_ExternalVideoSurfaceContainer_destroy() and OnMediaInterrupted() Created 6 years 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/native/external_video_surface_container_impl.cc
diff --git a/android_webview/native/external_video_surface_container_impl.cc b/android_webview/native/external_video_surface_container_impl.cc
index 1a10ab547ac1b062f41778945d848e5e2e2c5df4..393a25d3daac2ab0d72044a803c084bce0fbb357 100644
--- a/android_webview/native/external_video_surface_container_impl.cc
+++ b/android_webview/native/external_video_surface_container_impl.cc
@@ -43,6 +43,14 @@ void ExternalVideoSurfaceContainerImpl::RequestExternalVideoSurface(
env, jobject_.obj(), static_cast<jint>(player_id));
}
+int ExternalVideoSurfaceContainerImpl::GetCurrentPlayerId() {
+ JNIEnv* env = AttachCurrentThread();
+ int current_player = static_cast<int>(
+ Java_ExternalVideoSurfaceContainer_getCurrentPlayerId(
+ env, jobject_.obj()));
+ return current_player;
+}
+
void ExternalVideoSurfaceContainerImpl::ReleaseExternalVideoSurface(
int player_id) {
JNIEnv* env = AttachCurrentThread();
@@ -53,6 +61,14 @@ void ExternalVideoSurfaceContainerImpl::ReleaseExternalVideoSurface(
surface_destroyed_cb_.Reset();
}
+void ExternalVideoSurfaceContainerImpl::ReleaseCurrentExternalVideoSurface() {
+ JNIEnv* env = AttachCurrentThread();
+ Java_ExternalVideoSurfaceContainer_destroy(env, jobject_.obj());
+
+ surface_created_cb_.Reset();
+ surface_destroyed_cb_.Reset();
+}
+
void ExternalVideoSurfaceContainerImpl::OnFrameInfoUpdated() {
JNIEnv* env = AttachCurrentThread();
Java_ExternalVideoSurfaceContainer_onFrameInfoUpdated(env, jobject_.obj());

Powered by Google App Engine
This is Rietveld 408576698