android, controls: Add and plumb MaxLatency control

Add a MaxLatency control, and plumb it into the HAL accordingly.

Bug: https://bugs.libcamera.org/show_bug.cgi?id=50
Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
Paul Elder 2021-06-17 18:25:18 +09:00
parent 719ac76338
commit f0a427d4b7
2 changed files with 14 additions and 2 deletions

View file

@ -1119,8 +1119,10 @@ int CameraCapabilities::initializeStaticMetadata()
}
/* Sync static metadata. */
int32_t maxLatency = ANDROID_SYNC_MAX_LATENCY_UNKNOWN;
staticMetadata_->addEntry(ANDROID_SYNC_MAX_LATENCY, maxLatency);
setMetadata(staticMetadata_.get(), ANDROID_SYNC_MAX_LATENCY,
controlsInfo, controls::draft::MaxLatency,
ControlRange::Def,
ANDROID_SYNC_MAX_LATENCY_UNKNOWN);
/* Flash static metadata. */
char flashAvailable = ANDROID_FLASH_INFO_AVAILABLE_FALSE;

View file

@ -622,6 +622,16 @@ controls:
detection, additional format conversions etc) count as an additional
pipeline stage.
- MaxLatency:
type: int32_t
draft: true
description: |
The maximum number of frames that can occur after a request (different
than the previous) has been submitted, and before the result's state
becomes synchronized. A value of -1 indicates unknown latency, and 0
indicates per-frame control. Currently identical to
ANDROID_SYNC_MAX_LATENCY.
- TestPatternMode:
type: int32_t
draft: true