diff options
author | Shuzhen Wang <shuzhenwang@google.com> | 2018-01-23 00:36:16 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-01-23 00:36:16 +0000 |
commit | 8662c46d713143af50e99762b7a6f22e3b3925ee (patch) | |
tree | be754ca8f489c5552f83b3a86db2e4bf97e3dbfb | |
parent | 34a97f80e20efdee20f469b9b001cfdad23826a0 (diff) | |
parent | 92261ffa2e7c40c5213574d50753c96b34da0d16 (diff) | |
download | libhardware-8662c46d713143af50e99762b7a6f22e3b3925ee.tar.gz |
Merge "camera3: Extend camera capture request for multiple cameras"
-rw-r--r-- | include/hardware/camera3.h | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/include/hardware/camera3.h b/include/hardware/camera3.h index d140ae05..53e8d7b7 100644 --- a/include/hardware/camera3.h +++ b/include/hardware/camera3.h @@ -178,6 +178,10 @@ * - Add physical camera id field in camera3_stream, so that for a logical * multi camera, the application has the option to specify which physical camera * a particular stream is configured on. + * + * - Add physical camera id and settings field in camera3_capture_request, so that + * for a logical multi camera, the application has the option to specify individual + * settings for a particular physical device. */ /** @@ -2273,6 +2277,44 @@ typedef struct camera3_capture_request { */ const camera3_stream_buffer_t *output_buffers; + /** + * <= CAMERA_DEVICE_API_VERISON_3_4: + * + * Not defined and must not be accessed. + * + * >= CAMERA_DEVICE_API_VERSION_3_5: + * The number of physical camera settings to be applied. If 'num_physcam_settings' + * equals 0 or a physical device is not included, then Hal must decide the + * specific physical device settings based on the default 'settings'. + */ + uint32_t num_physcam_settings; + + /** + * <= CAMERA_DEVICE_API_VERISON_3_4: + * + * Not defined and must not be accessed. + * + * >= CAMERA_DEVICE_API_VERSION_3_5: + * The physical camera ids. The array will contain 'num_physcam_settings' + * camera id strings for all physical devices that have specific settings. + * In case some id is invalid, the process capture request must fail and return + * -EINVAL. + */ + const char **physcam_id; + + /** + * <= CAMERA_DEVICE_API_VERISON_3_4: + * + * Not defined and must not be accessed. + * + * >= CAMERA_DEVICE_API_VERSION_3_5: + * The capture settings for the physical cameras. The array will contain + * 'num_physcam_settings' settings for invididual physical devices. In + * case the settings at some particular index are empty, the process capture + * request must fail and return -EINVAL. + */ + const camera_metadata_t **physcam_settings; + } camera3_capture_request_t; /** @@ -2982,7 +3024,8 @@ typedef struct camera3_device_ops { * 0: On a successful start to processing the capture request * * -EINVAL: If the input is malformed (the settings are NULL when not - * allowed, there are 0 output buffers, etc) and capture processing + * allowed, invalid physical camera settings, + * there are 0 output buffers, etc) and capture processing * cannot start. Failures during request processing should be * handled by calling camera3_callback_ops_t.notify(). In case of * this error, the framework will retain responsibility for the |