Message ID | 20200810120406.52654-3-email@uajain.com |
---|---|
State | Accepted |
Headers | show |
Series |
|
Related | show |
Hi Umang, On 10/08/2020 13:04, Umang Jain wrote: > camera_module_callbacks are invoked to inform the framework about > the events occuring module-wide. Allow to set these callbacks in /occuring/occurring/ according to my mail client. Maybe it's an American spelling though ;-) > 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> > --- > src/android/camera3_hal.cpp | 2 ++ > src/android/camera_hal_manager.cpp | 5 +++++ > src/android/camera_hal_manager.h | 3 +++ > 3 files changed, 10 insertions(+) > > diff --git a/src/android/camera3_hal.cpp b/src/android/camera3_hal.cpp > index 716e36c..c2cba29 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 02b6418..3d6d2b4 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 0619037..a582f04 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_; > }; > >
diff --git a/src/android/camera3_hal.cpp b/src/android/camera3_hal.cpp index 716e36c..c2cba29 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 02b6418..3d6d2b4 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 0619037..a582f04 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_; };