diff options
author | Umang Jain <email@uajain.com> | 2020-08-21 14:46:07 +0000 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-08-23 20:45:03 +0300 |
commit | 7197fd9d67a04353e226544b3d21413c366f7150 (patch) | |
tree | 8e52253e8b03919a4936d8978771d04f8201ef83 /src | |
parent | 76809320bb1a740da876fc2b4c37225a8e23b692 (diff) |
android: camera_hal_manager: Set camera module callbacks
camera_module_callbacks are invoked to inform the framework about
the events occurring module-wide. Allow to set these callbacks in
camera_hal_manager as this will be used to integration camera hotplug
support via camera_module_callbacks::camera_device_status_change in
subsequent commit.
Signed-off-by: Umang Jain <email@uajain.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/android/camera3_hal.cpp | 2 | ||||
-rw-r--r-- | src/android/camera_hal_manager.cpp | 5 | ||||
-rw-r--r-- | src/android/camera_hal_manager.h | 3 |
3 files changed, 10 insertions, 0 deletions
diff --git a/src/android/camera3_hal.cpp b/src/android/camera3_hal.cpp index 716e36c7..c2cba29b 100644 --- a/src/android/camera3_hal.cpp +++ b/src/android/camera3_hal.cpp @@ -34,6 +34,8 @@ static int hal_get_camera_info(int id, struct camera_info *info) static int hal_set_callbacks(const camera_module_callbacks_t *callbacks) { + cameraManager.setCallbacks(callbacks); + return 0; } diff --git a/src/android/camera_hal_manager.cpp b/src/android/camera_hal_manager.cpp index 02b6418f..3d6d2b45 100644 --- a/src/android/camera_hal_manager.cpp +++ b/src/android/camera_hal_manager.cpp @@ -120,3 +120,8 @@ int CameraHalManager::getCameraInfo(unsigned int id, struct camera_info *info) return 0; } + +void CameraHalManager::setCallbacks(const camera_module_callbacks_t *callbacks) +{ + callbacks_ = callbacks; +} diff --git a/src/android/camera_hal_manager.h b/src/android/camera_hal_manager.h index 06190373..a582f042 100644 --- a/src/android/camera_hal_manager.h +++ b/src/android/camera_hal_manager.h @@ -10,6 +10,7 @@ #include <stddef.h> #include <vector> +#include <hardware/camera_common.h> #include <hardware/hardware.h> #include <system/camera_metadata.h> @@ -29,10 +30,12 @@ public: unsigned int numCameras() const; int getCameraInfo(unsigned int id, struct camera_info *info); + void setCallbacks(const camera_module_callbacks_t *callbacks); private: libcamera::CameraManager *cameraManager_; + const camera_module_callbacks_t *callbacks_; std::vector<std::unique_ptr<CameraDevice>> cameras_; }; |