[libcamera-devel] [PATCH 3/3] Documentation: application-developer: Add camera detection check

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sun Sep 26 23:24:14 CEST 2021


On Mon, Sep 27, 2021 at 12:21:08AM +0300, Laurent Pinchart wrote:
> The simple-cam application has a check to ensure that at least one
> camera is present before attempting to access the first camera, to avoid
> a crash. Update the application developer's guide accordingly.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>  Documentation/guides/application-developer.rst | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/guides/application-developer.rst b/Documentation/guides/application-developer.rst
> index 41a7d88369be..11d3df15825b 100644
> --- a/Documentation/guides/application-developer.rst
> +++ b/Documentation/guides/application-developer.rst
> @@ -109,9 +109,16 @@ the Camera Manager reports as available to applications.
>  Camera devices are stored by the CameraManager in a list accessible by index, or
>  can be retrieved by name through the ``CameraManager::get()`` function. The
>  code below retrieves the name of the first available camera and gets the camera
> -by name from the Camera Manager.
> +by name from the Camera Manager, after making sure that at least one camera is
> +available.
>  
>  .. code:: cpp

This is obviously missing a blank line here :-S I'll fix it in v2 (or
when pushing if no v2 is otherwise needed).

> +   if (cm->cameras().empty()) {
> +       std::cout << "No cameras were identified on the system."
> +                 << std::endl;
> +       cm->stop();
> +       return EXIT_FAILURE;
> +   }
>  
>     std::string cameraId = cm->cameras()[0]->id();
>     camera = cm->get(cameraId);

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list