android: camera_device: Fix requestedStream handling

The Android CameraDevice class adds a sourceStream for each Mapped
stream requested by the framework.

When mapping multiple framework streams to the same sourceStream, the
implementation of CameraDevice::processCaptureRequest wrongly erases the
just added sourceStream from the list of streams to request to
libcamera.

Fix this by adding the stream instead of erasing it.

Fixes: 7ea83eba0d ("android: camera_device: Postpone mapped streams handling")
Signed-off-by: Harvey Yang <chenghaoyang@chromium.org>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
This commit is contained in:
Harvey Yang 2023-09-13 15:20:50 +00:00 committed by Jacopo Mondi
parent 9c5eb9237c
commit dbe4e0e945

View file

@ -1077,7 +1077,7 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques
descriptor->request_->addBuffer(sourceStream->stream(),
frameBuffer, nullptr);
requestedStreams.erase(sourceStream);
requestedStreams.insert(sourceStream);
}
/*