Index: talk/app/webrtc/java/android/org/webrtc/SurfaceViewRenderer.java |
diff --git a/talk/app/webrtc/java/android/org/webrtc/SurfaceViewRenderer.java b/talk/app/webrtc/java/android/org/webrtc/SurfaceViewRenderer.java |
index d7c9e2af0a04055bdfbc6f2367172676ea4c875d..718bb917472509fd3db680f7b8712451c60569ca 100644 |
--- a/talk/app/webrtc/java/android/org/webrtc/SurfaceViewRenderer.java |
+++ b/talk/app/webrtc/java/android/org/webrtc/SurfaceViewRenderer.java |
@@ -278,22 +278,22 @@ public class SurfaceViewRenderer extends SurfaceView |
synchronized (handlerLock) { |
if (renderThreadHandler == null) { |
Logging.d(TAG, "Dropping frame - SurfaceViewRenderer not initialized or already released."); |
- } else { |
- synchronized (frameLock) { |
- if (pendingFrame == null) { |
- updateFrameDimensionsAndReportEvents(frame); |
- pendingFrame = frame; |
- renderThreadHandler.post(renderFrameRunnable); |
- return; |
+ VideoRenderer.renderFrameDone(frame); |
+ return; |
+ } |
+ synchronized (frameLock) { |
+ if (pendingFrame != null) { |
+ // Drop old frame. |
+ synchronized (statisticsLock) { |
+ ++framesDropped; |
} |
+ VideoRenderer.renderFrameDone(pendingFrame); |
} |
+ pendingFrame = frame; |
+ updateFrameDimensionsAndReportEvents(frame); |
+ renderThreadHandler.post(renderFrameRunnable); |
} |
} |
- // Drop frame. |
- synchronized (statisticsLock) { |
- ++framesDropped; |
- } |
- VideoRenderer.renderFrameDone(frame); |
} |
// Returns desired layout size given current measure specification and video aspect ratio. |