diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-10-20 22:43:16 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-10-21 22:09:50 +0300 |
commit | 8ddaa824ab2302e8d5b8926b1d8a51df7eb47f29 (patch) | |
tree | b405936a2f9f058f2b864bd557e681da7fda528c /src/android/camera_hal_manager.cpp | |
parent | 9f567cc140bdbd7dc1db8efa76cd93862000c218 (diff) |
libcamera: pipeline: Fail match() when no camera is registered
The rkisp1 and simple pipeline handlers can fail to register any camera,
if initialization of all the detected cameras fail. In that case, they
still return success from their match function. As no camera gets
registered, the pipeline handler is immediately destroyed, releasing the
acquired media devices, and the camera manager immediately tries to
match the same pipeline handler with the same media device, causing an
endless loop.
Fix it by returning false from the match function if no camera gets
registered.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Tested-by: Andrey Konovalov <andrey.konovalov@linaro.org>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Diffstat (limited to 'src/android/camera_hal_manager.cpp')
0 files changed, 0 insertions, 0 deletions