summaryrefslogtreecommitdiff
path: root/src/android
diff options
context:
space:
mode:
authorUmang Jain <email@uajain.com>2020-08-21 14:46:07 +0000
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-08-23 20:45:03 +0300
commit7197fd9d67a04353e226544b3d21413c366f7150 (patch)
tree8e52253e8b03919a4936d8978771d04f8201ef83 /src/android
parent76809320bb1a740da876fc2b4c37225a8e23b692 (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/android')
-rw-r--r--src/android/camera3_hal.cpp2
-rw-r--r--src/android/camera_hal_manager.cpp5
-rw-r--r--src/android/camera_hal_manager.h3
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_;
};