mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-21 15:53:54 +03:00
android: Remove internal thread
Now that libcamera creates threads internally and doesn't rely on an application-provided event loop, remove the thread from the Android Camera HAL layer. The CameraProxy class becomes meaningless, remove it and communicate directly from the CameraHalManager to the CameraDevice. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
parent
8a8502ec0e
commit
da3f50ee9c
10 changed files with 189 additions and 315 deletions
|
@ -13,7 +13,6 @@
|
|||
|
||||
#include <libcamera/buffer.h>
|
||||
#include <libcamera/camera.h>
|
||||
#include <libcamera/object.h>
|
||||
#include <libcamera/request.h>
|
||||
#include <libcamera/stream.h>
|
||||
|
||||
|
@ -21,19 +20,23 @@
|
|||
|
||||
class CameraMetadata;
|
||||
|
||||
class CameraDevice : public libcamera::Object
|
||||
class CameraDevice
|
||||
{
|
||||
public:
|
||||
CameraDevice(unsigned int id, const std::shared_ptr<libcamera::Camera> &camera);
|
||||
~CameraDevice();
|
||||
|
||||
int open();
|
||||
int open(const hw_module_t *hardwareModule);
|
||||
void close();
|
||||
|
||||
unsigned int id() const { return id_; }
|
||||
camera3_device_t *camera3Device() { return &camera3Device_; }
|
||||
|
||||
void setCallbacks(const camera3_callback_ops_t *callbacks);
|
||||
camera_metadata_t *getStaticMetadata();
|
||||
const camera_metadata_t *getStaticMetadata();
|
||||
const camera_metadata_t *constructDefaultRequestSettings(int type);
|
||||
int configureStreams(camera3_stream_configuration_t *stream_list);
|
||||
void processCaptureRequest(camera3_capture_request_t *request);
|
||||
int processCaptureRequest(camera3_capture_request_t *request);
|
||||
void requestComplete(libcamera::Request *request);
|
||||
|
||||
private:
|
||||
|
@ -52,6 +55,9 @@ private:
|
|||
std::unique_ptr<CameraMetadata> getResultMetadata(int frame_number,
|
||||
int64_t timestamp);
|
||||
|
||||
unsigned int id_;
|
||||
camera3_device_t camera3Device_;
|
||||
|
||||
bool running_;
|
||||
std::shared_ptr<libcamera::Camera> camera_;
|
||||
std::unique_ptr<libcamera::CameraConfiguration> config_;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue