diff options
-rw-r--r-- | src/android/camera_device.cpp | 4 | ||||
-rw-r--r-- | src/android/camera_device.h | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp index d3581c70..b29c1edc 100644 --- a/src/android/camera_device.cpp +++ b/src/android/camera_device.cpp @@ -2009,7 +2009,7 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques worker_.queueRequest(descriptor.request_.get()); { - MutexLocker lock(mutex_); + MutexLocker descriptorsLock(descriptorsMutex_); descriptors_[descriptor.request_->cookie()] = std::move(descriptor); } @@ -2020,7 +2020,7 @@ void CameraDevice::requestComplete(Request *request) { decltype(descriptors_)::node_type node; { - MutexLocker lock(mutex_); + MutexLocker descriptorsLock(descriptorsMutex_); auto it = descriptors_.find(request->cookie()); if (it == descriptors_.end()) { /* diff --git a/src/android/camera_device.h b/src/android/camera_device.h index 117d829e..c949fa50 100644 --- a/src/android/camera_device.h +++ b/src/android/camera_device.h @@ -24,6 +24,7 @@ #include "libcamera/internal/buffer.h" #include "libcamera/internal/log.h" #include "libcamera/internal/message.h" +#include "libcamera/internal/thread.h" #include "camera_metadata.h" #include "camera_stream.h" @@ -134,7 +135,7 @@ private: std::map<int, libcamera::PixelFormat> formatsMap_; std::vector<CameraStream> streams_; - std::mutex mutex_; /* Protect descriptors_ */ + libcamera::Mutex descriptorsMutex_; /* Protects descriptors_. */ std::map<uint64_t, Camera3RequestDescriptor> descriptors_; std::string maker_; |