diff options
author | 2024-03-13 07:15:45 +0000 | |
---|---|---|
committer | 2024-03-13 07:15:45 +0000 | |
commit | 8d6525ff39c5c97f0521c85324b7acf3a1678554 (patch) | |
tree | fbaffb5b5833bb330f01ba4bf84134e827425ab9 | |
parent | 3b500b386b3c8120d81acd55e8a80afa02f8d07c (diff) | |
parent | 0b1f476a27e09a03ec2627896ce025b3cdd2a376 (diff) |
Merge "Camera: Refine enforcement of supported resolutions in extensions" into main
-rw-r--r-- | core/java/android/hardware/camera2/CameraExtensionCharacteristics.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/core/java/android/hardware/camera2/CameraExtensionCharacteristics.java b/core/java/android/hardware/camera2/CameraExtensionCharacteristics.java index 85f9900c9bc2..6962811ab860 100644 --- a/core/java/android/hardware/camera2/CameraExtensionCharacteristics.java +++ b/core/java/android/hardware/camera2/CameraExtensionCharacteristics.java @@ -227,14 +227,18 @@ public final class CameraExtensionCharacteristics { private static List<Size> generateSupportedSizes(List<SizeList> sizesList, Integer format, StreamConfigurationMap streamMap) { - // Per API contract it is assumed that the extension is able to support all - // camera advertised sizes for a given format in case it doesn't return - // a valid non-empty size list. ArrayList<Size> ret = getSupportedSizes(sizesList, format); - Size[] supportedSizes = streamMap.getOutputSizes(format); - if ((ret.isEmpty()) && (supportedSizes != null)) { - ret.addAll(Arrays.asList(supportedSizes)); + + if (format == ImageFormat.JPEG || format == ImageFormat.YUV_420_888) { + // Per API contract it is assumed that the extension is able to support all + // camera advertised sizes for JPEG and YUV_420_888 in case it doesn't return + // a valid non-empty size list. + Size[] supportedSizes = streamMap.getOutputSizes(format); + if ((ret.isEmpty()) && (supportedSizes != null)) { + ret.addAll(Arrays.asList(supportedSizes)); + } } + return ret; } |