From 68952fed31bf47d461d8bd35bfb109bfc0c3fbc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Fri, 30 Jul 2021 16:40:48 +0200 Subject: [PATCH] Handle camera2 session start error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit getCameraCharacteristics() may throw IllegalArgumentException: Fatal Exception: java.lang.IllegalArgumentException: supportsCameraApi:2569: Unknown camera ID 1 at android.hardware.camera2.CameraManager.throwAsPublicException(CameraManager.java:1119) at android.hardware.camera2.CameraManager.getCameraCharacteristics(CameraManager.java:531) at org.webrtc.Camera2Session.start(Camera2Session.java:304) at org.webrtc.Camera2Session.(Camera2Session.java:296) at org.webrtc.Camera2Session.create(Camera2Session.java:274) at org.webrtc.Camera2Capturer.createCameraSession(Camera2Capturer.java:35) at org.webrtc.CameraCapturer$5.run(CameraCapturer.java:272) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:237) at android.os.HandlerThread.run(HandlerThread.java:67) Bug: webrtc:13032 Change-Id: I30b6d6da40bc90a94c0c3c79f9dff523182d3da4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227289 Reviewed-by: Xavier Lepaul‎ Commit-Queue: Xavier Lepaul‎ Cr-Commit-Position: refs/heads/main@{#34854} --- sdk/android/src/java/org/webrtc/Camera2Session.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/android/src/java/org/webrtc/Camera2Session.java b/sdk/android/src/java/org/webrtc/Camera2Session.java index 1b96339606..7644ee3a30 100644 --- a/sdk/android/src/java/org/webrtc/Camera2Session.java +++ b/sdk/android/src/java/org/webrtc/Camera2Session.java @@ -302,7 +302,7 @@ class Camera2Session implements CameraSession { try { cameraCharacteristics = cameraManager.getCameraCharacteristics(cameraId); - } catch (final CameraAccessException e) { + } catch (CameraAccessException | IllegalArgumentException e) { reportError("getCameraCharacteristics(): " + e.getMessage()); return; }