make sure we don’t dispose video source twice

This commit is contained in:
Daniel Gultsch 2022-12-30 12:16:19 +01:00
parent a7fe3e8372
commit 0cec499565
No known key found for this signature in database
GPG key ID: F43D18AD2A0982C2
2 changed files with 10 additions and 1 deletions

View file

@ -87,7 +87,15 @@ class VideoSourceWrapper {
public void dispose() { public void dispose() {
this.cameraVideoCapturer.dispose(); this.cameraVideoCapturer.dispose();
if (this.videoSource != null) { if (this.videoSource != null) {
this.videoSource.dispose(); dispose(this.videoSource);
}
}
private static void dispose(final VideoSource videoSource) {
try {
videoSource.dispose();
} catch (final IllegalStateException e) {
Log.e(Config.LOGTAG, "unable to dispose video source", e);
} }
} }

View file

@ -460,6 +460,7 @@ public class WebRTCWrapper {
this.localVideoTrack = null; this.localVideoTrack = null;
this.remoteVideoTrack = null; this.remoteVideoTrack = null;
if (videoSourceWrapper != null) { if (videoSourceWrapper != null) {
this.videoSourceWrapper = null;
try { try {
videoSourceWrapper.stopCapture(); videoSourceWrapper.stopCapture();
} catch (final InterruptedException e) { } catch (final InterruptedException e) {