summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/libcamera/framebuffer.h8
-rw-r--r--include/libcamera/internal/framebuffer.h13
2 files changed, 17 insertions, 4 deletions
diff --git a/include/libcamera/framebuffer.h b/include/libcamera/framebuffer.h
index baf22a46..28307890 100644
--- a/include/libcamera/framebuffer.h
+++ b/include/libcamera/framebuffer.h
@@ -35,8 +35,10 @@ struct FrameMetadata {
std::vector<Plane> planes;
};
-class FrameBuffer final
+class FrameBuffer final : public Extensible
{
+ LIBCAMERA_DECLARE_PRIVATE()
+
public:
struct Plane {
FileDescriptor fd;
@@ -47,8 +49,7 @@ public:
const std::vector<Plane> &planes() const { return planes_; }
- Request *request() const { return request_; }
- void setRequest(Request *request) { request_ = request; }
+ Request *request() const;
const FrameMetadata &metadata() const { return metadata_; }
unsigned int cookie() const { return cookie_; }
@@ -63,7 +64,6 @@ private:
std::vector<Plane> planes_;
- Request *request_;
FrameMetadata metadata_;
unsigned int cookie_;
diff --git a/include/libcamera/internal/framebuffer.h b/include/libcamera/internal/framebuffer.h
index 0c76fc62..a11e895d 100644
--- a/include/libcamera/internal/framebuffer.h
+++ b/include/libcamera/internal/framebuffer.h
@@ -47,6 +47,19 @@ public:
MappedFrameBuffer(const FrameBuffer *buffer, int flags);
};
+class FrameBuffer::Private : public Extensible::Private
+{
+ LIBCAMERA_DECLARE_PUBLIC(FrameBuffer)
+
+public:
+ Private(FrameBuffer *buffer);
+
+ void setRequest(Request *request) { request_ = request; }
+
+private:
+ Request *request_;
+};
+
} /* namespace libcamera */
#endif /* __LIBCAMERA_INTERNAL_FRAMEBUFFER_H__ */