summaryrefslogtreecommitdiff
path: root/src/qcam/assets/feathericons/power.svg
diff options
context:
space:
mode:
authorPaul Elder <paul.elder@ideasonboard.com>2021-03-19 18:56:39 +0900
committerPaul Elder <paul.elder@ideasonboard.com>2021-03-23 19:23:21 +0900
commit500c9a1f980d376d15829a2f1a24812ed74a7470 (patch)
tree11a2ee30e883643dbfc0a2f1f54aec8fc2b7da9b /src/qcam/assets/feathericons/power.svg
parent67e791373de781a68889c8b56c7e18f3f27bd52e (diff)
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>
Diffstat (limited to 'src/qcam/assets/feathericons/power.svg')
0 files changed, 0 insertions, 0 deletions
lude <memory> #include <vector> #include <libcamera/base/class.h> #include <libcamera/camera.h> #include <libcamera/framebuffer.h> #include <hardware/camera3.h> #include "camera_metadata.h" #include "camera_worker.h" class Camera3RequestDescriptor { public: enum class Status { Pending, Success, Error, }; struct StreamBuffer { camera3_stream_buffer_t buffer; /* * FrameBuffer instances created by wrapping a camera3 provided * dmabuf are emplaced in this vector of unique_ptr<> for * lifetime management. */ std::unique_ptr<libcamera::FrameBuffer> frameBuffer; }; Camera3RequestDescriptor(libcamera::Camera *camera, const camera3_capture_request_t *camera3Request); ~Camera3RequestDescriptor(); bool isPending() const { return status_ == Status::Pending; } uint32_t frameNumber_ = 0; std::vector<StreamBuffer> buffers_; CameraMetadata settings_; std::unique_ptr<CaptureRequest> request_; std::unique_ptr<CameraMetadata> resultMetadata_; Status status_ = Status::Pending; private: LIBCAMERA_DISABLE_COPY(Camera3RequestDescriptor) }; #endif /* __ANDROID_CAMERA_REQUEST_H__ */