diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/libcamera/buffer.h | 5 | ||||
-rw-r--r-- | include/libcamera/camera.h | 3 | ||||
-rw-r--r-- | include/libcamera/request.h | 4 |
3 files changed, 7 insertions, 5 deletions
diff --git a/include/libcamera/buffer.h b/include/libcamera/buffer.h index f740ade9..0c844d12 100644 --- a/include/libcamera/buffer.h +++ b/include/libcamera/buffer.h @@ -10,8 +10,6 @@ #include <stdint.h> #include <vector> -#include <libcamera/signal.h> - namespace libcamera { class BufferPool; @@ -55,10 +53,9 @@ public: Status status() const { return status_; } std::vector<Plane> &planes() { return planes_; } - Signal<Buffer *> completed; - private: friend class BufferPool; + friend class PipelineHandler; friend class V4L2Device; void cancel(); diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h index e5212cf0..77e4cd1e 100644 --- a/include/libcamera/camera.h +++ b/include/libcamera/camera.h @@ -35,6 +35,7 @@ public: const std::string &name() const; + Signal<Request *, Buffer *> bufferCompleted; Signal<Request *, const std::map<Stream *, Buffer *> &> requestCompleted; Signal<Camera *> disconnected; @@ -73,6 +74,8 @@ private: friend class PipelineHandler; void disconnect(); + void requestComplete(Request *request); + std::shared_ptr<PipelineHandler> pipe_; std::string name_; std::set<Stream *> streams_; diff --git a/include/libcamera/request.h b/include/libcamera/request.h index 0b75f9d9..0dbd4251 100644 --- a/include/libcamera/request.h +++ b/include/libcamera/request.h @@ -39,10 +39,12 @@ public: private: friend class Camera; + friend class PipelineHandler; int prepare(); void complete(Status status); - void bufferCompleted(Buffer *buffer); + + bool completeBuffer(Buffer *buffer); Camera *camera_; std::map<Stream *, Buffer *> bufferMap_; |