libcamera: FrameBuffer: Add a setRequest() interface

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@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Niklas Söderlund
2020-03-23 21:59:18 +01:00
parent 417e3143a9
commit 125be3436a
2 changed files with 13 additions and 1 deletions

View File

@@ -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; }

View File

@@ -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