Filter out non-backward-compatible cameras
PR #5669 <https://github.com/Genymobile/scrcpy/pull/5669> Signed-off-by: Romain Vimont <rom@rom1v.com>
This commit is contained in:
parent
95c4f03c1b
commit
2f44da76f4
@ -120,6 +120,21 @@ public final class LogUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean isCameraBackwardCompatible(CameraCharacteristics characteristics) {
|
||||||
|
int[] capabilities = characteristics.get(CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES);
|
||||||
|
if (capabilities == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int capability : capabilities) {
|
||||||
|
if (capability == CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public static String buildCameraListMessage(boolean includeSizes) {
|
public static String buildCameraListMessage(boolean includeSizes) {
|
||||||
StringBuilder builder = new StringBuilder("List of cameras:");
|
StringBuilder builder = new StringBuilder("List of cameras:");
|
||||||
CameraManager cameraManager = ServiceManager.getCameraManager();
|
CameraManager cameraManager = ServiceManager.getCameraManager();
|
||||||
@ -129,9 +144,16 @@ public final class LogUtils {
|
|||||||
builder.append("\n (none)");
|
builder.append("\n (none)");
|
||||||
} else {
|
} else {
|
||||||
for (String id : cameraIds) {
|
for (String id : cameraIds) {
|
||||||
builder.append("\n --camera-id=").append(id);
|
|
||||||
CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(id);
|
CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(id);
|
||||||
|
|
||||||
|
if (!isCameraBackwardCompatible(characteristics)) {
|
||||||
|
// Ignore depth cameras as suggested by official documentation
|
||||||
|
// <https://developer.android.com/media/camera/camera2/camera-enumeration>
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
builder.append("\n --camera-id=").append(id);
|
||||||
|
|
||||||
int facing = characteristics.get(CameraCharacteristics.LENS_FACING);
|
int facing = characteristics.get(CameraCharacteristics.LENS_FACING);
|
||||||
builder.append(" (").append(getCameraFacingName(facing)).append(", ");
|
builder.append(" (").append(getCameraFacingName(facing)).append(", ");
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user