[libcamera-devel] [PATCH v6 4/7] libcamera: request: Add hasPendingBuffers() method
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Apr 17 00:16:53 CEST 2019
Hi Jacopo,
Thank you for the patch.
On Tue, Apr 16, 2019 at 09:16:43PM +0200, Niklas Söderlund wrote:
> On 2019-04-16 15:42:07 +0200, Jacopo Mondi wrote:
> > Add method to verify if a request has pending buffers yet to be
> > completed.
> >
> > Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
> > ---
> > include/libcamera/request.h | 2 ++
> > src/libcamera/request.cpp | 12 ++++++++++--
> > 2 files changed, 12 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/libcamera/request.h b/include/libcamera/request.h
> > index 0dbd425115e8..0188bcab8383 100644
> > --- a/include/libcamera/request.h
> > +++ b/include/libcamera/request.h
> > @@ -37,6 +37,8 @@ public:
> >
> > Status status() const { return status_; }
> >
> > + bool hasPendingBuffers() const { return !pending_.empty(); }
> > +
> > private:
> > friend class Camera;
> > friend class PipelineHandler;
> > diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp
> > index e0e77e972411..5e86c8e10128 100644
> > --- a/src/libcamera/request.cpp
> > +++ b/src/libcamera/request.cpp
> > @@ -106,6 +106,14 @@ Buffer *Request::findBuffer(Stream *stream) const
> > * \return The request completion status
> > */
> >
> > +/**
> > + * \fn Request::hasPendingBuffers()
> > + * \brief Retrieve if a request has buffers yet to be completed
>
> s/Retrieve/Check/
>
> With that fixed,
>
> Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
Likewise,
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > + *
> > + * \return True if the request has buffers pending for completion, false
> > + * otherwise
> > + */
> > +
> > /**
> > * \brief Prepare the resources for the completion handler
> > */
> > @@ -127,7 +135,7 @@ int Request::prepare()
> > */
> > void Request::complete(Status status)
> > {
> > - ASSERT(pending_.empty());
> > + ASSERT(!hasPendingBuffers());
> > status_ = status;
> > }
> >
> > @@ -149,7 +157,7 @@ bool Request::completeBuffer(Buffer *buffer)
> > int ret = pending_.erase(buffer);
> > ASSERT(ret == 1);
> >
> > - return pending_.empty();
> > + return !hasPendingBuffers();
> > }
> >
> > } /* namespace libcamera */
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list