summaryrefslogtreecommitdiff
path: root/include/libcamera/internal/pipeline_handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/libcamera/internal/pipeline_handler.h')
-rw-r--r--include/libcamera/internal/pipeline_handler.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/include/libcamera/internal/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h
index cad5812f..972a2fa6 100644
--- a/include/libcamera/internal/pipeline_handler.h
+++ b/include/libcamera/internal/pipeline_handler.h
@@ -9,19 +9,15 @@
#include <memory>
#include <queue>
-#include <set>
#include <string>
#include <sys/types.h>
#include <vector>
-#include <libcamera/base/mutex.h>
#include <libcamera/base/object.h>
#include <libcamera/controls.h>
#include <libcamera/stream.h>
-#include "libcamera/internal/ipa_proxy.h"
-
namespace libcamera {
class Camera;
@@ -45,7 +41,7 @@ public:
MediaDevice *acquireMediaDevice(DeviceEnumerator *enumerator,
const DeviceMatch &dm);
- bool acquire();
+ bool acquire(Camera *camera);
void release(Camera *camera);
virtual std::unique_ptr<CameraConfiguration> generateConfiguration(Camera *camera,
@@ -64,9 +60,11 @@ public:
bool completeBuffer(Request *request, FrameBuffer *buffer);
void completeRequest(Request *request);
+ void cancelRequest(Request *request);
std::string configurationFile(const std::string &subdir,
- const std::string &name) const;
+ const std::string &name,
+ bool silent = false) const;
const char *name() const { return name_; }
@@ -79,6 +77,7 @@ protected:
virtual int queueRequestDevice(Camera *camera, Request *request) = 0;
virtual void stopDevice(Camera *camera) = 0;
+ virtual bool acquireDevice(Camera *camera);
virtual void releaseDevice(Camera *camera);
CameraManager *manager_;
@@ -98,9 +97,7 @@ private:
std::queue<Request *> waitingRequests_;
const char *name_;
-
- Mutex lock_;
- unsigned int useCount_ LIBCAMERA_TSA_GUARDED_BY(lock_);
+ unsigned int useCount_;
friend class PipelineHandlerFactoryBase;
};