diff --git a/webrtc-android-framework/src/main/java/io/antmedia/webrtcandroidframework/WebRTCClient.java b/webrtc-android-framework/src/main/java/io/antmedia/webrtcandroidframework/WebRTCClient.java index f6b68ad4..a5355a07 100644 --- a/webrtc-android-framework/src/main/java/io/antmedia/webrtcandroidframework/WebRTCClient.java +++ b/webrtc-android-framework/src/main/java/io/antmedia/webrtcandroidframework/WebRTCClient.java @@ -2445,6 +2445,8 @@ public void closeInternal() { if (factory != null) { factory.dispose(); factory = null; + PeerConnectionFactory.stopInternalTracingCapture(); + PeerConnectionFactory.shutdownInternalTracer(); } if(eglBase != null) { eglBase.release(); @@ -2452,9 +2454,10 @@ public void closeInternal() { } Log.d(TAG, "Closing peer connection done."); onPeerConnectionClosed(); - PeerConnectionFactory.stopInternalTracingCapture(); - PeerConnectionFactory.shutdownInternalTracer(); + streamStarted = false; + + renderersInitiated = false; } public boolean isHDVideo() { diff --git a/webrtc-android-framework/src/test/java/io/antmedia/webrtcandroidframework/WebRTCClientTest.java b/webrtc-android-framework/src/test/java/io/antmedia/webrtcandroidframework/WebRTCClientTest.java index 907c5173..cd781f64 100644 --- a/webrtc-android-framework/src/test/java/io/antmedia/webrtcandroidframework/WebRTCClientTest.java +++ b/webrtc-android-framework/src/test/java/io/antmedia/webrtcandroidframework/WebRTCClientTest.java @@ -1164,4 +1164,20 @@ public void testDegradationPreference() { verify(sender, timeout(1000).times(1)).setParameters(parameters); } + + @Test + public void testCloseInternal() { + String streamId = "stream1"; + + IWebRTCListener listener = Mockito.mock(IWebRTCListener.class); + WebRTCClient webRTCClientReal = new WebRTCClient(listener, mock(Context.class)); + WebSocketHandler wsHandler = mock(WebSocketHandler.class); + webRTCClientReal.setWsHandler(wsHandler); + + WebRTCClient webRTCClient = spy(webRTCClientReal); + final Handler handler = getMockHandler(); + webRTCClient.setHandler(handler); + + webRTCClient.closeInternal(); + } } \ No newline at end of file