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 <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hirokazu Honda <hiroh@chromium.org> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#include <map>
|
||||
#include <mutex>
|
||||
#include <stddef.h>
|
||||
#include <tuple>
|
||||
#include <vector>
|
||||
|
||||
#include <hardware/camera_common.h>
|
||||
@@ -28,7 +29,8 @@ public:
|
||||
|
||||
int init();
|
||||
|
||||
CameraDevice *open(unsigned int id, const hw_module_t *module);
|
||||
std::tuple<CameraDevice *, int>
|
||||
open(unsigned int id, const hw_module_t *module);
|
||||
|
||||
unsigned int numCameras() const;
|
||||
int getCameraInfo(unsigned int id, struct camera_info *info);
|
||||
|
||||
Reference in New Issue
Block a user