| Index: talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java
|
| diff --git a/talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java b/talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java
|
| index 49a659dffe16e01eedb9ae5ed8e9c55c6dab5212..a97b160529e7ab348faac77baf2ce7d637cef217 100644
|
| --- a/talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java
|
| +++ b/talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java
|
| @@ -42,7 +42,6 @@ import android.opengl.EGLContext;
|
| import android.opengl.GLES20;
|
| import android.opengl.GLSurfaceView;
|
| import android.opengl.Matrix;
|
| -import android.util.Log;
|
|
|
| import org.webrtc.Logging;
|
| import org.webrtc.VideoRenderer.I420Frame;
|
| @@ -172,6 +171,10 @@ public class VideoRendererGui implements GLSurfaceView.Renderer {
|
| rotationDegree = 0;
|
| }
|
|
|
| + public synchronized void reset() {
|
| + seenFrame = false;
|
| + }
|
| +
|
| private synchronized void release() {
|
| surface = null;
|
| synchronized (pendingFrameLock) {
|
| @@ -549,7 +552,7 @@ public class VideoRendererGui implements GLSurfaceView.Renderer {
|
| Logging.d(TAG, "VideoRendererGui.remove");
|
| if (instance == null) {
|
| throw new RuntimeException(
|
| - "Attempt to remove yuv renderer before setting GLSurfaceView");
|
| + "Attempt to remove renderer before setting GLSurfaceView");
|
| }
|
| synchronized (instance.yuvImageRenderers) {
|
| final int index = instance.yuvImageRenderers.indexOf(renderer);
|
| @@ -561,6 +564,21 @@ public class VideoRendererGui implements GLSurfaceView.Renderer {
|
| }
|
| }
|
|
|
| + public static synchronized void reset(VideoRenderer.Callbacks renderer) {
|
| + Logging.d(TAG, "VideoRendererGui.reset");
|
| + if (instance == null) {
|
| + throw new RuntimeException(
|
| + "Attempt to reset renderer before setting GLSurfaceView");
|
| + }
|
| + synchronized (instance.yuvImageRenderers) {
|
| + for (YuvImageRenderer yuvImageRenderer : instance.yuvImageRenderers) {
|
| + if (yuvImageRenderer == renderer) {
|
| + yuvImageRenderer.reset();
|
| + }
|
| + }
|
| + }
|
| + }
|
| +
|
| @SuppressLint("NewApi")
|
| @Override
|
| public void onSurfaceCreated(GL10 unused, EGLConfig config) {
|
|
|