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 d4f754b1e15e47c6aae3946923f14f1d15c1740c..1720cd86b9c8b087b9d90a68a77a2c1ebd380779 100644 |
--- a/talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java |
+++ b/talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java |
@@ -368,9 +368,9 @@ public class VideoRendererGui implements GLSurfaceView.Renderer { |
frameToRenderQueue.poll(); |
// Re-allocate / allocate the frame. |
yuvFrameToRender = new I420Frame(videoWidth, videoHeight, rotationDegree, |
- strides, null); |
+ strides, null, 0); |
textureFrameToRender = new I420Frame(videoWidth, videoHeight, rotationDegree, |
- null, -1); |
+ null, -1, 0); |
updateTextureProperties = true; |
Log.d(TAG, " YuvImageRenderer.setSize done."); |
} |
@@ -380,6 +380,7 @@ public class VideoRendererGui implements GLSurfaceView.Renderer { |
public synchronized void renderFrame(I420Frame frame) { |
if (surface == null) { |
// This object has been released. |
+ VideoRenderer.renderFrameDone(frame); |
return; |
} |
if (!seenFrame && rendererEvents != null) { |
@@ -393,6 +394,7 @@ public class VideoRendererGui implements GLSurfaceView.Renderer { |
// Skip rendering of this frame if setSize() was not called. |
if (yuvFrameToRender == null || textureFrameToRender == null) { |
framesDropped++; |
+ VideoRenderer.renderFrameDone(frame); |
return; |
} |
// Check input frame parameters. |
@@ -402,6 +404,7 @@ public class VideoRendererGui implements GLSurfaceView.Renderer { |
frame.yuvStrides[2] < frame.width / 2) { |
Log.e(TAG, "Incorrect strides " + frame.yuvStrides[0] + ", " + |
frame.yuvStrides[1] + ", " + frame.yuvStrides[2]); |
+ VideoRenderer.renderFrameDone(frame); |
return; |
} |
// Check incoming frame dimensions. |
@@ -415,6 +418,7 @@ public class VideoRendererGui implements GLSurfaceView.Renderer { |
if (frameToRenderQueue.size() > 0) { |
// Skip rendering of this frame if previous frame was not rendered yet. |
framesDropped++; |
+ VideoRenderer.renderFrameDone(frame); |
return; |
} |
@@ -431,6 +435,7 @@ public class VideoRendererGui implements GLSurfaceView.Renderer { |
} |
copyTimeNs += (System.nanoTime() - now); |
seenFrame = true; |
+ VideoRenderer.renderFrameDone(frame); |
// Request rendering. |
surface.requestRender(); |