[libcamera-devel,v2,0/3] Camera3RequestDescriptors std::map => std::queue
mbox series

Message ID 20210928162536.227475-1-umang.jain@ideasonboard.com
Headers show
Series
  • Camera3RequestDescriptors std::map => std::queue
Related show

Message

Umang Jain Sept. 28, 2021, 4:25 p.m. UTC
As per the extended design discussion for libcamera HAL, this series
addresses the part I of the design that will lead to new iterations
for async post-processor eventually.

The series mainly ports storage of Camera3RequestDescriptor from
std::map => queue while fixing out-of-order request completion from
abortRequest(). The series also accounts for a singular location to
send back capture results to the framework (find sendCaptureResults()).

The series has been validated on CTS: 230 / 231
(carrying [PATCH v3 0/1] android: Wait on acquisition fences in
CameraStream)

\wip: Checkstyle isn't happy with 2/3's camera_device.h, not sure why! 

Changes in v2:
- Use queue instead of deque
- Fix a race between abortRequest() and queuing a descriptor in 2/3
- address general comments in v1 review.

Umang Jain (3):
  android: camera_worker: Use Camera3RequestDescriptor as cookie
  android: camera_device: Transform descriptors_ map to queue
  android: camera_device: Send capture results by inspecting the queue

 src/android/camera_device.cpp | 133 +++++++++++++++++++++-------------
 src/android/camera_device.h   |  18 ++++-
 src/android/camera_worker.cpp |   4 +-
 src/android/camera_worker.h   |   3 +-
 4 files changed, 101 insertions(+), 57 deletions(-)