libcamera/src
Anle Pan fb74bb7df6 android: camera_device: Always clear descriptors_ in stop()
When flush() is called and then a new stream configuration is set, the
descriptors_ queue might have a chance to be not cleared in stop(), as
the Camera is already in Stopped state.

This will prevent further requests from being completed in
sendCaptureResults() as the descriptors_ queue is not empty.

To fix the issue, clear the descriptors_ even if the Camera State is
Stopped. As a drawback the libcamera::Camera::stop() function might be
called twice, but this is allowed by the Camera state machine, and the
second call is guaranteed to be a nop.

Signed-off-by: Anle Pan <anle.pan@nxp.com>
Signed-off-by: Fang Hui <hui.fang@nxp.com>
Tested-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2024-04-20 01:37:25 +01:00
..
android android: camera_device: Always clear descriptors_ in stop() 2024-04-20 01:37:25 +01:00
apps apps: cam: Add support for PPM output format 2024-03-28 03:11:59 +02:00
gstreamer gstreamer: Map 10/12/14/16 bayer formats supports 2024-02-02 11:33:13 +02:00
ipa libcamera: software_isp: Apply black level compensation 2024-04-16 13:00:21 +01:00
libcamera libcamera: device_enumerator: Fix spell error 2024-04-20 01:16:57 +01:00
py meson: Tag all installed files 2023-12-07 01:43:17 +02:00
v4l2 v4l2: meson: Keep defines sorted alphabetically 2024-03-27 23:20:52 +02:00
meson.build v4l2: Move the v4l2 compat layer to libexec/libcamera 2023-05-04 20:05:02 +01:00