diff --git a/talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java b/talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java index adee98bb5b..5d186b82c4 100644 --- a/talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java +++ b/talk/app/webrtc/java/android/org/webrtc/VideoRendererGui.java @@ -89,25 +89,6 @@ public class VideoRendererGui implements GLSurfaceView.Renderer { yuvImageRenderers = new ArrayList(); } - public static synchronized void dispose() { - if (instance == null){ - return; - } - synchronized (instance.yuvImageRenderers) { - for (YuvImageRenderer yuvImageRenderer : instance.yuvImageRenderers) { - yuvImageRenderer.release(); - } - instance.yuvImageRenderers.clear(); - if (instance.drawer != null) { - instance.drawer.release(); - } - } - instance.surface = null; - instance.eglContext = null; - instance.eglContextReady = null; - instance = null; - } - /** * Class used to display stream of YUV420 frames at particular location * on a screen. New video frames are sent to display using renderFrame() @@ -468,6 +449,27 @@ public class VideoRendererGui implements GLSurfaceView.Renderer { return eglContext; } + /** Releases GLSurfaceView video renderer. */ + public static synchronized void dispose() { + if (instance == null){ + return; + } + Log.d(TAG, "VideoRendererGui.dispose"); + synchronized (instance.yuvImageRenderers) { + for (YuvImageRenderer yuvImageRenderer : instance.yuvImageRenderers) { + yuvImageRenderer.release(); + } + instance.yuvImageRenderers.clear(); + if (instance.drawer != null) { + instance.drawer.release(); + } + } + instance.surface = null; + eglContext = null; + eglContextReady = null; + instance = null; + } + /** * Creates VideoRenderer with top left corner at (x, y) and resolution * (width, height). All parameters are in percentage of screen resolution. diff --git a/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java b/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java index e2fa7d1e09..3073c34a9b 100644 --- a/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java +++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java @@ -369,7 +369,10 @@ public class CallActivity extends Activity private void callConnected() { final long delta = System.currentTimeMillis() - callStartedTimeMs; Log.i(TAG, "Call connected: delay=" + delta + "ms"); - + if (peerConnectionClient == null || isError) { + Log.w(TAG, "Call is connected in closed or error state"); + return; + } // Update video view. updateVideoView(); // Enable statistics callback.