ExternalCameraHAL: Get old image if taking picture without preview
The root cause is that the dequeue/queue v4l2 buffers is driven by requests.
The potential issue is already noticed and commented in commented in OutputThread::threadLoop().
But setup a sensor thread may need change in architecture.
The patch fix the issue by dropping too old buffers.
Bug: 368087676
Change-Id: I5d6711bc3a73d0bc043b596aee6ce4af4c1841da
Signed-off-by: Fang Hui <hui.fang@nxp.com>
diff --git a/camera/device/default/ExternalCameraDeviceSession.h b/camera/device/default/ExternalCameraDeviceSession.h
index 795b589..1c6ed06 100644
--- a/camera/device/default/ExternalCameraDeviceSession.h
+++ b/camera/device/default/ExternalCameraDeviceSession.h
@@ -382,6 +382,9 @@
std::string mExifMake;
std::string mExifModel;
/* End of members not changed after initialize() */
+
+ // The max tolerant lag between the dequeued v4l2 buffer and current capture request.
+ uint64_t mMaxLagNs;
};
} // namespace implementation