1 From: Paul Adenot <paul@paul.cx>
2 Date: Wed, 4 Nov 2020 13:03:00 +0000
3 Subject: Bug 1675042 - Put IR camera last in the device selection list, so
4 that they are never the default. r=dminor
6 Differential Revision: https://phabricator.services.mozilla.com/D95764
7 Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/754900ff2a2b1c32878baf3c76d7c0e8219419ff
9 sdk/android/api/org/webrtc/Camera1Enumerator.java | 5 +++++
10 sdk/android/api/org/webrtc/Camera2Enumerator.java | 12 ++++++++++++
11 sdk/android/api/org/webrtc/CameraEnumerator.java | 1 +
12 3 files changed, 18 insertions(+)
14 diff --git a/sdk/android/api/org/webrtc/Camera1Enumerator.java b/sdk/android/api/org/webrtc/Camera1Enumerator.java
15 index fb1a21f323..4a1aacdb05 100644
16 --- a/sdk/android/api/org/webrtc/Camera1Enumerator.java
17 +++ b/sdk/android/api/org/webrtc/Camera1Enumerator.java
18 @@ -63,6 +63,11 @@ public class Camera1Enumerator implements CameraEnumerator {
19 return info != null && info.facing == android.hardware.Camera.CameraInfo.CAMERA_FACING_BACK;
23 + public boolean isInfrared(String deviceName) {
28 public List<CaptureFormat> getSupportedFormats(String deviceName) {
29 return getSupportedFormats(getCameraIndex(deviceName));
30 diff --git a/sdk/android/api/org/webrtc/Camera2Enumerator.java b/sdk/android/api/org/webrtc/Camera2Enumerator.java
31 index 456d8cd060..44e239ad8e 100644
32 --- a/sdk/android/api/org/webrtc/Camera2Enumerator.java
33 +++ b/sdk/android/api/org/webrtc/Camera2Enumerator.java
34 @@ -74,6 +74,18 @@ public class Camera2Enumerator implements CameraEnumerator {
35 == CameraMetadata.LENS_FACING_BACK;
39 + public boolean isInfrared(String deviceName) {
40 + CameraCharacteristics characteristics = getCameraCharacteristics(deviceName);
42 + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
43 + Integer colors = characteristics.get(CameraCharacteristics.SENSOR_INFO_COLOR_FILTER_ARRANGEMENT);
44 + return colors != null && colors.equals(CameraCharacteristics.SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR);
52 public List<CaptureFormat> getSupportedFormats(String deviceName) {
53 diff --git a/sdk/android/api/org/webrtc/CameraEnumerator.java b/sdk/android/api/org/webrtc/CameraEnumerator.java
54 index dc954b62e0..db34d542c8 100644
55 --- a/sdk/android/api/org/webrtc/CameraEnumerator.java
56 +++ b/sdk/android/api/org/webrtc/CameraEnumerator.java
57 @@ -18,6 +18,7 @@ public interface CameraEnumerator {
58 public String[] getDeviceNames();
59 public boolean isFrontFacing(String deviceName);
60 public boolean isBackFacing(String deviceName);
61 + public boolean isInfrared(String deviceName);
62 public List<CaptureFormat> getSupportedFormats(String deviceName);
64 public CameraVideoCapturer createCapturer(