[libcamera-devel] [PATCH v5 10/10] android: libcamera: add useful debug prints

Kieran Bingham kieran.bingham at ideasonboard.com
Fri Oct 28 12:33:11 CEST 2022


Quoting Nicholas Roth via libcamera-devel (2022-10-28 04:17:26)
> From: Nicholas Roth <nicholas at rothemail.net>
> 
> I identified opportunities to make libcamera's log output easier to
> understand while working to get it working on my Android device as a
> HAL. These additional logging statements came out of that and will
> hopefully prove useful to Android distribution maintainers with the same
> goal as mine and to users who attempt to debug tools like Waydroid.
> 
> Signed-off-by: Nicholas Roth <nicholas at rothemail.net>

This looks fine to me.


Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> ---
>  src/android/camera_capabilities.cpp | 12 +++++++++---
>  src/android/camera_hal_manager.cpp  |  3 ++-
>  2 files changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp
> index 64bd8dde..ef0d10d0 100644
> --- a/src/android/camera_capabilities.cpp
> +++ b/src/android/camera_capabilities.cpp
> @@ -374,14 +374,20 @@ void CameraCapabilities::computeHwLevel(
>         camera_metadata_enum_android_info_supported_hardware_level
>                 hwLevel = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL;
>  
> -       if (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR))
> +       if (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR)) {
> +               LOG(HAL, Info) << noFull << "missing manual sensor";
>                 hwLevel = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED;
> +       }
>  
> -       if (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING))
> +       if (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING)) {
> +               LOG(HAL, Info) << noFull << "missing manual post processing";
>                 hwLevel = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED;
> +       }
>  
> -       if (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE))
> +       if (!caps.count(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE)) {
> +               LOG(HAL, Info) << noFull << "missing burst capture";
>                 hwLevel = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED;
> +       }
>  
>         found = staticMetadata_->getEntry(ANDROID_SYNC_MAX_LATENCY, &entry);
>         if (!found || *entry.data.i32 != 0) {
> diff --git a/src/android/camera_hal_manager.cpp b/src/android/camera_hal_manager.cpp
> index 7512cc4e..b229e2d5 100644
> --- a/src/android/camera_hal_manager.cpp
> +++ b/src/android/camera_hal_manager.cpp
> @@ -140,7 +140,8 @@ void CameraHalManager::cameraAdded(std::shared_ptr<Camera> cam)
>          */
>         if (!isCameraExternal && !halConfig_.exists()) {
>                 LOG(HAL, Error)
> -                       << "HAL configuration file is mandatory for internal cameras";
> +                       << "HAL configuration file is mandatory for internal cameras."
> +                       << " Camera " << cam->id() << "failed to load";
>                 return;
>         }
>  
> -- 
> 2.34.1
>


More information about the libcamera-devel mailing list