[libcamera-devel] [PATCH v2 5/7] libcamera: FrameBuffer: Add a setRequest() interface
Niklas Söderlund
niklas.soderlund at ragnatech.se
Thu Mar 26 23:58:42 CET 2020
Add the ability to set the Request a buffer is associated with. This is
needed for buffers that live inside a pipeline handler and is
temporarily associated with a request as it's being processed inside the
pipeline.
While we are at it delete a stray semicolon.
Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
include/libcamera/buffer.h | 3 ++-
src/libcamera/buffer.cpp | 11 +++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/include/libcamera/buffer.h b/include/libcamera/buffer.h
index ef3a3b36cd4e4e17..6bb2e4f8558f03ac 100644
--- a/include/libcamera/buffer.h
+++ b/include/libcamera/buffer.h
@@ -52,7 +52,8 @@ public:
const std::vector<Plane> &planes() const { return planes_; }
Request *request() const { return request_; }
- const FrameMetadata &metadata() const { return metadata_; };
+ void setRequest(Request *request) { request_ = request; }
+ const FrameMetadata &metadata() const { return metadata_; }
unsigned int cookie() const { return cookie_; }
void setCookie(unsigned int cookie) { cookie_ = cookie; }
diff --git a/src/libcamera/buffer.cpp b/src/libcamera/buffer.cpp
index 93057568fc56a6f5..0c5e56cf10621ab2 100644
--- a/src/libcamera/buffer.cpp
+++ b/src/libcamera/buffer.cpp
@@ -182,6 +182,17 @@ FrameBuffer::FrameBuffer(const std::vector<Plane> &planes, unsigned int cookie)
* not associated with a request
*/
+/**
+ * \fn FrameBuffer::setRequest()
+ * \brief Set the request this buffer belongs to
+ * \param[in] request Request to set
+ *
+ * The intended callers of this method are pipeline handlers and only for
+ * buffers that are internal to the pipeline.
+ *
+ * \todo Shall be hidden from applications with a d-pointer design.
+ */
+
/**
* \fn FrameBuffer::metadata()
* \brief Retrieve the dynamic metadata
--
2.25.1
More information about the libcamera-devel
mailing list