summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ravneet Dhanjal <rdhanjal@google.com> 2024-03-13 07:15:45 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-03-13 07:15:45 +0000
commit8d6525ff39c5c97f0521c85324b7acf3a1678554 (patch)
treefbaffb5b5833bb330f01ba4bf84134e827425ab9
parent3b500b386b3c8120d81acd55e8a80afa02f8d07c (diff)
parent0b1f476a27e09a03ec2627896ce025b3cdd2a376 (diff)
Merge "Camera: Refine enforcement of supported resolutions in extensions" into main
-rw-r--r--core/java/android/hardware/camera2/CameraExtensionCharacteristics.java16
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;
}