summaryrefslogtreecommitdiff
path: root/src/android/camera_device.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/camera_device.h')
-rw-r--r--src/android/camera_device.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/android/camera_device.h b/src/android/camera_device.h
index 39cf95ad..c63e8e21 100644
--- a/src/android/camera_device.h
+++ b/src/android/camera_device.h
@@ -9,6 +9,7 @@
#include <map>
#include <memory>
+#include <mutex>
#include <tuple>
#include <vector>
@@ -69,11 +70,13 @@ private:
CameraDevice(unsigned int id, std::shared_ptr<libcamera::Camera> camera);
struct Camera3RequestDescriptor {
+ Camera3RequestDescriptor() = default;
+ ~Camera3RequestDescriptor() = default;
Camera3RequestDescriptor(libcamera::Camera *camera,
const camera3_capture_request_t *camera3Request);
- ~Camera3RequestDescriptor();
+ Camera3RequestDescriptor &operator=(Camera3RequestDescriptor &&) = default;
- uint32_t frameNumber_;
+ uint32_t frameNumber_ = 0;
std::vector<camera3_stream_buffer_t> buffers_;
std::vector<std::unique_ptr<libcamera::FrameBuffer>> frameBuffers_;
CameraMetadata settings_;
@@ -124,6 +127,9 @@ private:
std::map<int, libcamera::PixelFormat> formatsMap_;
std::vector<CameraStream> streams_;
+ std::mutex mutex_; /* Protect descriptors_ */
+ std::map<uint64_t, Camera3RequestDescriptor> descriptors_;
+
std::string maker_;
std::string model_;