From bf85a55930bde3f713e808a8b0ccf32ff93ba1c4 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Thu, 9 Jul 2020 20:11:09 +0200 Subject: [PATCH] catch NPE when detecting camera facing. fixes #3820 --- .../siacs/conversations/xmpp/jingle/WebRTCWrapper.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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 98ce37a4e..58dfa4e5f 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/WebRTCWrapper.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/WebRTCWrapper.java @@ -509,7 +509,7 @@ public class WebRTCWrapper { final CameraEnumerator enumerator = getCameraEnumerator(); final Set deviceNames = ImmutableSet.copyOf(enumerator.getDeviceNames()); for (final String deviceName : deviceNames) { - if (enumerator.isFrontFacing(deviceName)) { + if (isFrontFacing(enumerator, deviceName)) { final CapturerChoice capturerChoice = of(enumerator, deviceName, deviceNames); if (capturerChoice == null) { return Optional.absent(); @@ -525,6 +525,14 @@ public class WebRTCWrapper { } } + private static boolean isFrontFacing(final CameraEnumerator cameraEnumerator, final String deviceName) { + try { + return cameraEnumerator.isFrontFacing(deviceName); + } catch (final NullPointerException e) { + return false; + } + } + public PeerConnection.PeerConnectionState getState() { return requirePeerConnection().connectionState(); }