diff options
author | Hirokazu Honda <hiroh@chromium.org> | 2021-12-01 16:53:38 +0900 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-12-01 13:46:39 +0200 |
commit | 3536473e06f9abe5027b25db3b97900bf474bccf (patch) | |
tree | bb35ef7b99d7b6616e4df85ba9bfc20738351e8c | |
parent | 923cf7f40a7f1875874384b30a7c8dcb1f23467a (diff) |
android: Consolidate mutex classes to Mutex and MutexLocker
std::mutex and std::unique_lock are used in android directories,
mixing Mutex and MutexLocker. This consolidates them to Mutex
and MutexLocker.
Signed-off-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r-- | src/android/camera_device.h | 1 | ||||
-rw-r--r-- | src/android/camera_hal_manager.h | 7 | ||||
-rw-r--r-- | src/android/camera_request.h | 4 | ||||
-rw-r--r-- | src/android/camera_stream.cpp | 12 | ||||
-rw-r--r-- | src/android/camera_stream.h | 3 |
5 files changed, 11 insertions, 16 deletions
diff --git a/src/android/camera_device.h b/src/android/camera_device.h index 51fe7da2..bda0b376 100644 --- a/src/android/camera_device.h +++ b/src/android/camera_device.h @@ -9,7 +9,6 @@ #include <map> #include <memory> -#include <mutex> #include <queue> #include <vector> diff --git a/src/android/camera_hal_manager.h b/src/android/camera_hal_manager.h index 192f2fc5..cc310f90 100644 --- a/src/android/camera_hal_manager.h +++ b/src/android/camera_hal_manager.h @@ -8,7 +8,6 @@ #pragma once #include <map> -#include <mutex> #include <stddef.h> #include <tuple> #include <vector> @@ -18,6 +17,7 @@ #include <system/camera_metadata.h> #include <libcamera/base/class.h> +#include <libcamera/base/thread.h> #include <libcamera/camera_manager.h> @@ -44,9 +44,6 @@ public: private: LIBCAMERA_DISABLE_COPY_AND_MOVE(CameraHalManager) - using Mutex = std::mutex; - using MutexLocker = std::unique_lock<std::mutex>; - static constexpr unsigned int firstExternalCameraId_ = 1000; CameraHalManager(); @@ -64,7 +61,7 @@ private: const camera_module_callbacks_t *callbacks_; std::vector<std::unique_ptr<CameraDevice>> cameras_; std::map<std::string, unsigned int> cameraIdsMap_; - Mutex mutex_; + libcamera::Mutex mutex_; unsigned int numInternalCameras_; unsigned int nextExternalCameraId_; diff --git a/src/android/camera_request.h b/src/android/camera_request.h index f3cb6d64..88d501a8 100644 --- a/src/android/camera_request.h +++ b/src/android/camera_request.h @@ -9,10 +9,10 @@ #include <map> #include <memory> -#include <mutex> #include <vector> #include <libcamera/base/class.h> +#include <libcamera/base/thread.h> #include <libcamera/camera.h> #include <libcamera/framebuffer.h> @@ -58,7 +58,7 @@ public: /* Keeps track of streams requiring post-processing. */ std::map<CameraStream *, StreamBuffer *> pendingStreamsToProcess_; - std::mutex streamsProcessMutex_; + libcamera::Mutex streamsProcessMutex_; Camera3RequestDescriptor(libcamera::Camera *camera, const camera3_capture_request_t *camera3Request); diff --git a/src/android/camera_stream.cpp b/src/android/camera_stream.cpp index 9023c13c..5a62b7cd 100644 --- a/src/android/camera_stream.cpp +++ b/src/android/camera_stream.cpp @@ -119,7 +119,7 @@ int CameraStream::configure() if (type_ == Type::Internal) { allocator_ = std::make_unique<FrameBufferAllocator>(cameraDevice_->camera()); - mutex_ = std::make_unique<std::mutex>(); + mutex_ = std::make_unique<Mutex>(); int ret = allocator_->allocate(stream()); if (ret < 0) @@ -208,7 +208,7 @@ FrameBuffer *CameraStream::getBuffer() if (!allocator_) return nullptr; - std::lock_guard<std::mutex> locker(*mutex_); + MutexLocker locker(*mutex_); if (buffers_.empty()) { LOG(HAL, Error) << "Buffer underrun"; @@ -226,7 +226,7 @@ void CameraStream::putBuffer(FrameBuffer *buffer) if (!allocator_) return; - std::lock_guard<std::mutex> locker(*mutex_); + MutexLocker locker(*mutex_); buffers_.push_back(buffer); } @@ -239,7 +239,7 @@ CameraStream::PostProcessorWorker::PostProcessorWorker(PostProcessor *postProces CameraStream::PostProcessorWorker::~PostProcessorWorker() { { - libcamera::MutexLocker lock(mutex_); + MutexLocker lock(mutex_); state_ = State::Stopped; } @@ -250,7 +250,7 @@ CameraStream::PostProcessorWorker::~PostProcessorWorker() void CameraStream::PostProcessorWorker::start() { { - libcamera::MutexLocker lock(mutex_); + MutexLocker lock(mutex_); ASSERT(state_ != State::Running); state_ = State::Running; } @@ -308,7 +308,7 @@ void CameraStream::PostProcessorWorker::run() void CameraStream::PostProcessorWorker::flush() { - libcamera::MutexLocker lock(mutex_); + MutexLocker lock(mutex_); state_ = State::Flushing; lock.unlock(); diff --git a/src/android/camera_stream.h b/src/android/camera_stream.h index e4808369..adb5a37d 100644 --- a/src/android/camera_stream.h +++ b/src/android/camera_stream.h @@ -8,7 +8,6 @@ #pragma once #include <memory> -#include <mutex> #include <queue> #include <vector> @@ -173,7 +172,7 @@ private: * The class has to be MoveConstructible as instances are stored in * an std::vector in CameraDevice. */ - std::unique_ptr<std::mutex> mutex_; + std::unique_ptr<libcamera::Mutex> mutex_; std::unique_ptr<PostProcessor> postProcessor_; std::unique_ptr<PostProcessorWorker> worker_; |