From 500c9a1f980d376d15829a2f1a24812ed74a7470 Mon Sep 17 00:00:00 2001 From: Paul Elder Date: Fri, 19 Mar 2021 18:56:39 +0900 Subject: android: Return -EUSERS when failed to open a Camera that's in use The correct return value for the HAL for hal_dev_open() when trying to open a camera that's already opened is EUSERS. Make hal_dev_open() return -EUSERS, and plumb the logic for this through CameraHalManager::open(). This allows the following CTS tests to pass: - android.hardware.camera2.cts.CameraManagerTest#testCameraManagerOpenAllCameras - android.hardware.camera2.cts.MultiViewTest#testDualCameraPreview Signed-off-by: Paul Elder Reviewed-by: Laurent Pinchart Reviewed-by: Hirokazu Honda Reviewed-by: Jacopo Mondi --- src/android/camera_hal_manager.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/android/camera_hal_manager.h') diff --git a/src/android/camera_hal_manager.h b/src/android/camera_hal_manager.h index a91decc7..24bf716c 100644 --- a/src/android/camera_hal_manager.h +++ b/src/android/camera_hal_manager.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -28,7 +29,8 @@ public: int init(); - CameraDevice *open(unsigned int id, const hw_module_t *module); + std::tuple + open(unsigned int id, const hw_module_t *module); unsigned int numCameras() const; int getCameraInfo(unsigned int id, struct camera_info *info); -- cgit v1.2.1