@ -5695,6 +5695,8 @@ typedef enum acamera_metadata_tag {
* < p > In both cases , all images generated for a particular capture request still carry the same
* timestamps , so that they can be used to look up the matching frame number and
* onCaptureStarted callback . < / p >
* < p > This tag is only applicable if the logical camera device supports concurrent physical
* streams from different physical cameras . < / p >
*/
ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE = // byte (acamera_metadata_enum_android_logical_multi_camera_sensor_sync_type_t)
ACAMERA_LOGICAL_MULTI_CAMERA_START + 1 ,
@ -7581,14 +7583,23 @@ typedef enum acamera_metadata_enum_acamera_request_available_capabilities {
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING = 10 ,
/**
* < p > The camera device is a logical camera backed by two or more physical cameras . In
* API level 28 , the physical cameras must also be exposed to the application via
* < a href = " https://developer.android.com/reference/android/hardware/camera2/CameraManager.html#getCameraIdList " > CameraManager # getCameraIdList < / a > . Starting from API
* level 29 , some or all physical cameras may not be independently exposed to the
* application , in which case the physical camera IDs will not be available in
* < a href = " https://developer.android.com/reference/android/hardware/camera2/CameraManager.html#getCameraIdList " > CameraManager # getCameraIdList < / a > . But the application
* can still query the physical cameras ' characteristics by calling
* < a href = " https://developer.android.com/reference/android/hardware/camera2/CameraManager.html#getCameraCharacteristics " > CameraManager # getCameraCharacteristics < / a > . < / p >
* < p > The camera device is a logical camera backed by two or more physical cameras . < / p >
* < p > In API level 28 , the physical cameras must also be exposed to the application via
* < a href = " https://developer.android.com/reference/android/hardware/camera2/CameraManager.html#getCameraIdList " > CameraManager # getCameraIdList < / a > . < / p >
* < p > Starting from API level 29 , some or all physical cameras may not be independently
* exposed to the application , in which case the physical camera IDs will not be
* available in < a href = " https://developer.android.com/reference/android/hardware/camera2/CameraManager.html#getCameraIdList " > CameraManager # getCameraIdList < / a > . But the
* application can still query the physical cameras ' characteristics by calling
* < a href = " https://developer.android.com/reference/android/hardware/camera2/CameraManager.html#getCameraCharacteristics " > CameraManager # getCameraCharacteristics < / a > . Additionally ,
* if a physical camera is hidden from camera ID list , the mandatory stream combinations
* for that physical camera must be supported through the logical camera using physical
* streams . < / p >
* < p > Combinations of logical and physical streams , or physical streams from different
* physical cameras are not guaranteed . However , if the camera device supports
* { @ link ACameraDevice_isSessionConfigurationSupported } ,
* application must be able to query whether a stream combination involving physical
* streams is supported by calling
* { @ link ACameraDevice_isSessionConfigurationSupported } . < / p >
* < p > Camera application shouldn ' t assume that there are at most 1 rear camera and 1 front
* camera in the system . For an application that switches between front and back cameras ,
* the recommendation is to switch between the first rear camera and the first front
@ -7613,24 +7624,6 @@ typedef enum acamera_metadata_enum_acamera_request_available_capabilities {
* the same . < / li >
* < li > The logical camera must be LIMITED or higher device . < / li >
* < / ul >
* < p > Both the logical camera device and its underlying physical devices support the
* mandatory stream combinations required for their device levels . < / p >
* < p > Additionally , for each guaranteed stream combination , the logical camera supports : < / p >
* < ul >
* < li > For each guaranteed stream combination , the logical camera supports replacing one
* logical { @ link AIMAGE_FORMAT_YUV_420_888 YUV_420_888 }
* or raw stream with two physical streams of the same size and format , each from a
* separate physical camera , given that the size and format are supported by both
* physical cameras . < / li >
* < li > If the logical camera doesn ' t advertise RAW capability , but the underlying physical
* cameras do , the logical camera will support guaranteed stream combinations for RAW
* capability , except that the RAW streams will be physical streams , each from a separate
* physical camera . This is usually the case when the physical cameras have different
* sensor sizes . < / li >
* < / ul >
* < p > Using physical streams in place of a logical stream of the same size and format will
* not slow down the frame rate of the capture , as long as the minimum frame duration
* of the physical and logical streams are the same . < / p >
* < p > A logical camera device ' s dynamic metadata may contain
* ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID to notify the application of the current
* active physical camera Id . An active physical camera is the physical camera from which