summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHirokazu Honda <hiroh@chromium.org>2021-12-01 16:53:37 +0900
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-12-01 13:46:36 +0200
commit923cf7f40a7f1875874384b30a7c8dcb1f23467a (patch)
tree63973cb65804a5b53ed6c8855fed289dea6dfb07 /src
parent59002a9e9d84417197999391c7d8c6af620fc1fb (diff)
libcamera: base: Introduce ConditionVariable
ConditionVariable is alias to std::condition_variable. This replaces std::condition_variable with the ConditionVariable. It enables replacing ConditionVariable implementation easily in the following patches. 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>
Diffstat (limited to 'src')
-rw-r--r--src/android/camera_stream.h3
-rw-r--r--src/libcamera/base/thread.cpp8
-rw-r--r--src/libcamera/camera_manager.cpp3
-rw-r--r--src/v4l2/v4l2_camera.h2
4 files changed, 9 insertions, 7 deletions
diff --git a/src/android/camera_stream.h b/src/android/camera_stream.h
index e9da75f0..e4808369 100644
--- a/src/android/camera_stream.h
+++ b/src/android/camera_stream.h
@@ -7,7 +7,6 @@
#pragma once
-#include <condition_variable>
#include <memory>
#include <mutex>
#include <queue>
@@ -154,7 +153,7 @@ private:
PostProcessor *postProcessor_;
libcamera::Mutex mutex_;
- std::condition_variable cv_;
+ libcamera::ConditionVariable cv_;
std::queue<Camera3RequestDescriptor::StreamBuffer *> requests_;
State state_ = State::Stopped;
diff --git a/src/libcamera/base/thread.cpp b/src/libcamera/base/thread.cpp
index d0ca30e3..b893135f 100644
--- a/src/libcamera/base/thread.cpp
+++ b/src/libcamera/base/thread.cpp
@@ -8,7 +8,6 @@
#include <libcamera/base/thread.h>
#include <atomic>
-#include <condition_variable>
#include <list>
#include <sys/syscall.h>
#include <sys/types.h>
@@ -158,7 +157,7 @@ private:
std::atomic<EventDispatcher *> dispatcher_;
- std::condition_variable cv_;
+ ConditionVariable cv_;
std::atomic<bool> exit_;
int exitCode_;
@@ -206,6 +205,11 @@ ThreadData *ThreadData::current()
}
/**
+ * \typedef ConditionVariable
+ * \brief An alias for std::condition_variable
+ */
+
+/**
* \typedef Mutex
* \brief An alias for std::mutex
*/
diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp
index e78bb1d7..77ff3bd1 100644
--- a/src/libcamera/camera_manager.cpp
+++ b/src/libcamera/camera_manager.cpp
@@ -7,7 +7,6 @@
#include <libcamera/camera_manager.h>
-#include <condition_variable>
#include <map>
#include <libcamera/camera.h>
@@ -63,7 +62,7 @@ private:
void createPipelineHandlers();
void cleanup();
- std::condition_variable cv_;
+ ConditionVariable cv_;
bool initialized_;
int status_;
diff --git a/src/v4l2/v4l2_camera.h b/src/v4l2/v4l2_camera.h
index 94263b2f..4afbb331 100644
--- a/src/v4l2/v4l2_camera.h
+++ b/src/v4l2/v4l2_camera.h
@@ -82,6 +82,6 @@ private:
int efd_;
libcamera::Mutex bufferMutex_;
- std::condition_variable bufferCV_;
+ libcamera::ConditionVariable bufferCV_;
unsigned int bufferAvailableCount_;
};