Allow ANDROID_LENS_FOCAL_LENGTH in virtual camera capture result
... and set only ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS into
camera characteristics during camera creation.
Test: atest virtual_camera_tests
Fixes: 324385418
Change-Id: I28d0ed636210bee9309fce0eaaa531d99670f26b
diff --git a/services/camera/virtualcamera/util/MetadataBuilder.cc b/services/camera/virtualcamera/util/MetadataBuilder.cc
index 5669e12..db5a5dd 100644
--- a/services/camera/virtualcamera/util/MetadataBuilder.cc
+++ b/services/camera/virtualcamera/util/MetadataBuilder.cc
@@ -99,13 +99,17 @@
return *this;
}
-MetadataBuilder& MetadataBuilder::setFocalLength(float focalLength) {
- std::vector<float> focalLengths({focalLength});
- mEntryMap[ANDROID_LENS_FOCAL_LENGTH] = focalLengths;
+MetadataBuilder& MetadataBuilder::setAvailableFocalLengths(
+ const std::vector<float>& focalLengths) {
mEntryMap[ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS] = focalLengths;
return *this;
}
+MetadataBuilder& MetadataBuilder::setFocalLength(float focalLength) {
+ mEntryMap[ANDROID_LENS_FOCAL_LENGTH] = asVectorOf<float>(focalLength);
+ return *this;
+}
+
MetadataBuilder& MetadataBuilder::setSensorOrientation(int32_t sensorOrientation) {
mEntryMap[ANDROID_SENSOR_ORIENTATION] = asVectorOf<int32_t>(sensorOrientation);
return *this;
diff --git a/services/camera/virtualcamera/util/MetadataBuilder.h b/services/camera/virtualcamera/util/MetadataBuilder.h
index 606cc3d..fdc35fd 100644
--- a/services/camera/virtualcamera/util/MetadataBuilder.h
+++ b/services/camera/virtualcamera/util/MetadataBuilder.h
@@ -96,8 +96,10 @@
camera_metadata_enum_android_sensor_readout_timestamp_t
sensorReadoutTimestamp);
- // See ANDROID_LENS_FOCAL_LENGTH and ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS
- // in CameraMetadataTag.aidl.
+ // See ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS in CameraMetadataTag.aidl.
+ MetadataBuilder& setAvailableFocalLengths(const std::vector<float>& focalLengths);
+
+ // See ANDROID_LENS_FOCAL_LENGTH in CameraMetadataTag.aidl.
MetadataBuilder& setFocalLength(float focalLength);
// See ANDROID_SENSOR_ORIENTATION in CameraMetadataTag.aidl.