mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-21 11:25:08 +03:00
android: hal_manager: Do not hardcode properties
The CameraHalManager::getCameraInfo() method hardcodes the camera facing side and orientation (which corresponds, confusingly, to libcamera's location and rotation properties). Instead of hard-coding the values based on the camera id, inspect the libcamera properties that report the camera location and rotation in a new initialize() method, and use them to report the android camera info and to populate the static metadata buffer. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
parent
0ffb3a20ed
commit
64f4f667ed
3 changed files with 68 additions and 30 deletions
|
@ -27,12 +27,17 @@ public:
|
|||
CameraDevice(unsigned int id, const std::shared_ptr<libcamera::Camera> &camera);
|
||||
~CameraDevice();
|
||||
|
||||
int initialize();
|
||||
|
||||
int open(const hw_module_t *hardwareModule);
|
||||
void close();
|
||||
|
||||
unsigned int id() const { return id_; }
|
||||
camera3_device_t *camera3Device() { return &camera3Device_; }
|
||||
|
||||
int facing() const { return facing_; }
|
||||
int orientation() const { return orientation_; }
|
||||
|
||||
void setCallbacks(const camera3_callback_ops_t *callbacks);
|
||||
const camera_metadata_t *getStaticMetadata();
|
||||
const camera_metadata_t *constructDefaultRequestSettings(int type);
|
||||
|
@ -69,6 +74,9 @@ private:
|
|||
CameraMetadata *staticMetadata_;
|
||||
std::map<unsigned int, CameraMetadata *> requestTemplates_;
|
||||
const camera3_callback_ops_t *callbacks_;
|
||||
|
||||
int facing_;
|
||||
int orientation_;
|
||||
};
|
||||
|
||||
#endif /* __ANDROID_CAMERA_DEVICE_H__ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue