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>
This commit is contained in:
parent
59002a9e9d
commit
923cf7f40a
6 changed files with 12 additions and 10 deletions
|
@ -7,8 +7,6 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <condition_variable>
|
|
||||||
|
|
||||||
#include <libcamera/base/private.h>
|
#include <libcamera/base/private.h>
|
||||||
#include <libcamera/base/thread.h>
|
#include <libcamera/base/thread.h>
|
||||||
|
|
||||||
|
@ -26,7 +24,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Mutex mutex_;
|
Mutex mutex_;
|
||||||
std::condition_variable cv_;
|
ConditionVariable cv_;
|
||||||
unsigned int available_;
|
unsigned int available_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <condition_variable>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -26,6 +27,7 @@ class Object;
|
||||||
class ThreadData;
|
class ThreadData;
|
||||||
class ThreadMain;
|
class ThreadMain;
|
||||||
|
|
||||||
|
using ConditionVariable = std::condition_variable;
|
||||||
using Mutex = std::mutex;
|
using Mutex = std::mutex;
|
||||||
using MutexLocker = std::unique_lock<std::mutex>;
|
using MutexLocker = std::unique_lock<std::mutex>;
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <condition_variable>
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
#include <queue>
|
#include <queue>
|
||||||
|
@ -154,7 +153,7 @@ private:
|
||||||
PostProcessor *postProcessor_;
|
PostProcessor *postProcessor_;
|
||||||
|
|
||||||
libcamera::Mutex mutex_;
|
libcamera::Mutex mutex_;
|
||||||
std::condition_variable cv_;
|
libcamera::ConditionVariable cv_;
|
||||||
|
|
||||||
std::queue<Camera3RequestDescriptor::StreamBuffer *> requests_;
|
std::queue<Camera3RequestDescriptor::StreamBuffer *> requests_;
|
||||||
State state_ = State::Stopped;
|
State state_ = State::Stopped;
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
#include <libcamera/base/thread.h>
|
#include <libcamera/base/thread.h>
|
||||||
|
|
||||||
#include <atomic>
|
#include <atomic>
|
||||||
#include <condition_variable>
|
|
||||||
#include <list>
|
#include <list>
|
||||||
#include <sys/syscall.h>
|
#include <sys/syscall.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -158,7 +157,7 @@ private:
|
||||||
|
|
||||||
std::atomic<EventDispatcher *> dispatcher_;
|
std::atomic<EventDispatcher *> dispatcher_;
|
||||||
|
|
||||||
std::condition_variable cv_;
|
ConditionVariable cv_;
|
||||||
std::atomic<bool> exit_;
|
std::atomic<bool> exit_;
|
||||||
int exitCode_;
|
int exitCode_;
|
||||||
|
|
||||||
|
@ -205,6 +204,11 @@ ThreadData *ThreadData::current()
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \typedef ConditionVariable
|
||||||
|
* \brief An alias for std::condition_variable
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \typedef Mutex
|
* \typedef Mutex
|
||||||
* \brief An alias for std::mutex
|
* \brief An alias for std::mutex
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
|
|
||||||
#include <libcamera/camera_manager.h>
|
#include <libcamera/camera_manager.h>
|
||||||
|
|
||||||
#include <condition_variable>
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
#include <libcamera/camera.h>
|
#include <libcamera/camera.h>
|
||||||
|
@ -63,7 +62,7 @@ private:
|
||||||
void createPipelineHandlers();
|
void createPipelineHandlers();
|
||||||
void cleanup();
|
void cleanup();
|
||||||
|
|
||||||
std::condition_variable cv_;
|
ConditionVariable cv_;
|
||||||
bool initialized_;
|
bool initialized_;
|
||||||
int status_;
|
int status_;
|
||||||
|
|
||||||
|
|
|
@ -82,6 +82,6 @@ private:
|
||||||
int efd_;
|
int efd_;
|
||||||
|
|
||||||
libcamera::Mutex bufferMutex_;
|
libcamera::Mutex bufferMutex_;
|
||||||
std::condition_variable bufferCV_;
|
libcamera::ConditionVariable bufferCV_;
|
||||||
unsigned int bufferAvailableCount_;
|
unsigned int bufferAvailableCount_;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue