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) { |