From 1d4c09e83ee7cc48210e67ed2da9b0cc10f0a1b7 Mon Sep 17 00:00:00 2001 From: Shuzhen Wang Date: Sun, 31 Dec 2017 16:57:11 -0800 Subject: [PATCH] camera3: Add physical camera id field in capture result - Add an array of physical camera ids and metadata when physical cameras are requested within a logical multi-camera. - Physical camera ids and metadata are only necessary for the final capture_results, not the partial result. - Physical camera ids and metadata must not be populated if no physical camera is requested. Test: Compile Bug: 64691172 Change-Id: I78b20fe3d0c6462abf95b8fe7e3b4c66b3acefdf --- include/hardware/camera3.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/include/hardware/camera3.h b/include/hardware/camera3.h index ad088835..a58b8b4f 100644 --- a/include/hardware/camera3.h +++ b/include/hardware/camera3.h @@ -2498,6 +2498,37 @@ typedef struct camera3_capture_result { */ uint32_t partial_result; + /** + * >= CAMERA_DEVICE_API_VERSION_3_5: + * + * Specifies the number of physical camera metadata this capture result + * contains. It must be equal to the number of physical cameras being + * requested from. + * + * If the current camera device is not a logical multi-camera, or the + * corresponding capture_request doesn't request on any physical camera, + * this field must be 0. + */ + uint32_t num_physcam_metadata; + + /** + * >= CAMERA_DEVICE_API_VERSION_3_5: + * + * An array of strings containing the physical camera ids for the returned + * physical camera metadata. The length of the array is + * num_physcam_metadata. + */ + const char **physcam_ids; + + /** + * >= CAMERA_DEVICE_API_VERSION_3_5: + * + * The array of physical camera metadata for the physical cameras being + * requested upon. This array should have a 1-to-1 mapping with the + * physcam_ids. The length of the array is num_physcam_metadata. + */ + const camera_metadata_t **physcam_metadata; + } camera3_capture_result_t; /**********************************************************************