diff options
author | Hirokazu Honda <hiroh@chromium.org> | 2021-11-24 03:39:46 +0900 |
---|---|---|
committer | Jacopo Mondi <jacopo@jmondi.org> | 2021-12-06 15:35:13 +0100 |
commit | 99bb610fd1b270f126a6b35c0231843973d8f35b (patch) | |
tree | 94e4320fa9c4e145541d148943a1f897f3ab8c78 /include | |
parent | 294663eece8c067d268442724b969c9dfa081b0a (diff) |
libcamera: framebuffer: Enable attaching additional data to FrameBuffer
We cannot have a subclass of FrameBuffer because it is marked as final.
This adds a FrameBuffer constructor with FrameBuffer::Private. So we
can attach some additional resources with FrameBuffer through a
customized FrameBuffer::Private class.
Signed-off-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/libcamera/framebuffer.h | 2 | ||||
-rw-r--r-- | include/libcamera/internal/framebuffer.h | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/include/libcamera/framebuffer.h b/include/libcamera/framebuffer.h index 357bbe18..502f7897 100644 --- a/include/libcamera/framebuffer.h +++ b/include/libcamera/framebuffer.h @@ -57,6 +57,8 @@ public: }; FrameBuffer(const std::vector<Plane> &planes, unsigned int cookie = 0); + FrameBuffer(std::unique_ptr<Private> d, + const std::vector<Plane> &planes, unsigned int cookie = 0); const std::vector<Plane> &planes() const { return planes_; } Request *request() const; diff --git a/include/libcamera/internal/framebuffer.h b/include/libcamera/internal/framebuffer.h index 908b4789..6e0d8389 100644 --- a/include/libcamera/internal/framebuffer.h +++ b/include/libcamera/internal/framebuffer.h @@ -19,6 +19,7 @@ class FrameBuffer::Private : public Extensible::Private public: Private(); + virtual ~Private(); void setRequest(Request *request) { request_ = request; } bool isContiguous() const { return isContiguous_; } |