summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/libcamera/buffer.h5
-rw-r--r--include/libcamera/camera.h3
-rw-r--r--include/libcamera/request.h4
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_;