Message ID | 20200324155145.3896183-6-niklas.soderlund@ragnatech.se |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
Hi Niklas, Thank you for the patch. On Tue, Mar 24, 2020 at 04:51:43PM +0100, Niklas Söderlund wrote: > 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> > --- > 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 0352917e9f2a3202..e9ee4debbf33bdf6 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. You know this may very well nerd-snipe me, right ? :-) In the meantime, Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > + */ > + > /** > * \fn FrameBuffer::metadata() > * \brief Retrieve the dynamic metadata
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 0352917e9f2a3202..e9ee4debbf33bdf6 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
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> --- include/libcamera/buffer.h | 3 ++- src/libcamera/buffer.cpp | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-)