mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-13 23:39:44 +03:00
android: camera_device: Cache request metadata
The settings in an android capture request may be null, in which case the settings from the most recently submitted capture request should be used. Cache the request settings to achieve this. 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:
parent
1264628d3c
commit
a6de3f0203
2 changed files with 12 additions and 0 deletions
|
@ -1696,6 +1696,16 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques
|
|||
*/
|
||||
Camera3RequestDescriptor *descriptor =
|
||||
new Camera3RequestDescriptor(camera_.get(), camera3Request);
|
||||
/*
|
||||
* \todo The Android request model is incremental, settings passed in
|
||||
* previous requests are to be effective until overridden explicitly in
|
||||
* a new request. Do we need to cache settings incrementally here, or is
|
||||
* it handled by the Android camera service ?
|
||||
*/
|
||||
if (camera3Request->settings)
|
||||
lastSettings_ = camera3Request->settings;
|
||||
else
|
||||
descriptor->settings_ = lastSettings_;
|
||||
|
||||
LOG(HAL, Debug) << "Queueing Request to libcamera with "
|
||||
<< descriptor->numBuffers_ << " HAL streams";
|
||||
|
|
|
@ -134,6 +134,8 @@ private:
|
|||
int orientation_;
|
||||
|
||||
unsigned int maxJpegBufferSize_;
|
||||
|
||||
CameraMetadata lastSettings_;
|
||||
};
|
||||
|
||||
#endif /* __ANDROID_CAMERA_DEVICE_H__ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue