From 064bff58335189de972eb74c92e19313b2b74f3b Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Thu, 16 Feb 2023 21:17:53 -0500 Subject: [PATCH] Race condition guard --- .../siacs/conversations/xmpp/jingle/WebRTCWrapper.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/WebRTCWrapper.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/WebRTCWrapper.java index 2a3c3f9104874f17f1e86a4d5db31c5c3346a868..4dd97c0ce82aeab39329aaf85adb97955478609d 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/WebRTCWrapper.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/WebRTCWrapper.java @@ -533,8 +533,14 @@ public class WebRTCWrapper { } boolean isMicrophoneEnabled() { - final Optional audioTrack = - TrackWrapper.get(peerConnection, this.localAudioTrack); + Optional audioTrack = null; + try { + audioTrack = TrackWrapper.get(peerConnection, this.localAudioTrack); + } catch (final IllegalStateException e) { + Log.d(Config.LOGTAG, "unable to check microphone", e); + // ignoring race condition in case sender has been disposed + return false; + } if (audioTrack.isPresent()) { try { return audioTrack.get().enabled();