diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp index 5e2fad1e6..06003f5da 100644 --- a/src/android/camera_device.cpp +++ b/src/android/camera_device.cpp @@ -244,7 +244,8 @@ CameraDevice::Camera3RequestDescriptor::Camera3RequestDescriptor( * Create the CaptureRequest, stored as a unique_ptr<> to tie its * lifetime to the descriptor. */ - request_ = std::make_unique(camera); + request_ = std::make_unique(camera, + reinterpret_cast(this)); } /* diff --git a/src/android/camera_worker.cpp b/src/android/camera_worker.cpp index 913131830..dabb30540 100644 --- a/src/android/camera_worker.cpp +++ b/src/android/camera_worker.cpp @@ -27,10 +27,10 @@ LOG_DECLARE_CATEGORY(HAL) * by the CameraWorker which queues it to the libcamera::Camera after handling * fences. */ -CaptureRequest::CaptureRequest(Camera *camera) +CaptureRequest::CaptureRequest(Camera *camera, uint64_t cookie) : camera_(camera) { - request_ = camera_->createRequest(reinterpret_cast(this)); + request_ = camera_->createRequest(cookie); } void CaptureRequest::addBuffer(Stream *stream, FrameBuffer *buffer, int fence) diff --git a/src/android/camera_worker.h b/src/android/camera_worker.h index 67ae50bd9..c94f16325 100644 --- a/src/android/camera_worker.h +++ b/src/android/camera_worker.h @@ -8,6 +8,7 @@ #define __ANDROID_CAMERA_WORKER_H__ #include +#include #include #include @@ -22,7 +23,7 @@ class CameraDevice; class CaptureRequest { public: - CaptureRequest(libcamera::Camera *camera); + CaptureRequest(libcamera::Camera *camera, uint64_t cookie); const std::vector &fences() const { return acquireFences_; } libcamera::ControlList &controls() { return request_->controls(); }