mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-24 17:15:07 +03:00
The problem is happening because we seem to add a CameraStream associated buffer (depending on the CameraStream::Type) to the Request, in CameraDevice::processCaptureRequest(). However, when the camera stops, all the current buffers are marked with FrameMetadata::FrameCancelled and proceed to completion. But the buffer associated with the CameraStream (that was previously added to the request) has now been cleared out with a part of streams_.clear(), even before the camera stop() has been invoked. Any access to those request buffers after they have been cleared, will result in a crash. Signed-off-by: Hirokazu Honda <hiroh@chromium.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> |
||
---|---|---|
.. | ||
cros | ||
data | ||
jpeg | ||
metadata | ||
mm | ||
yuv | ||
camera3_hal.cpp | ||
camera_buffer.h | ||
camera_capabilities.cpp | ||
camera_capabilities.h | ||
camera_device.cpp | ||
camera_device.h | ||
camera_hal_config.cpp | ||
camera_hal_config.h | ||
camera_hal_manager.cpp | ||
camera_hal_manager.h | ||
camera_metadata.cpp | ||
camera_metadata.h | ||
camera_ops.cpp | ||
camera_ops.h | ||
camera_stream.cpp | ||
camera_stream.h | ||
camera_worker.cpp | ||
camera_worker.h | ||
meson.build | ||
post_processor.h |