mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-14 07:59:44 +03:00
libcamera: request: Add hasPendingBuffers() method
Add method to verify if a request has pending buffers yet to be completed. Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
parent
7b7c8f06a0
commit
571d16b539
2 changed files with 12 additions and 2 deletions
|
@ -37,6 +37,8 @@ public:
|
||||||
|
|
||||||
Status status() const { return status_; }
|
Status status() const { return status_; }
|
||||||
|
|
||||||
|
bool hasPendingBuffers() const { return !pending_.empty(); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class Camera;
|
friend class Camera;
|
||||||
friend class PipelineHandler;
|
friend class PipelineHandler;
|
||||||
|
|
|
@ -106,6 +106,14 @@ Buffer *Request::findBuffer(Stream *stream) const
|
||||||
* \return The request completion status
|
* \return The request completion status
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \fn Request::hasPendingBuffers()
|
||||||
|
* \brief Check if a request has buffers yet to be completed
|
||||||
|
*
|
||||||
|
* \return True if the request has buffers pending for completion, false
|
||||||
|
* otherwise
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Prepare the resources for the completion handler
|
* \brief Prepare the resources for the completion handler
|
||||||
*/
|
*/
|
||||||
|
@ -127,7 +135,7 @@ int Request::prepare()
|
||||||
*/
|
*/
|
||||||
void Request::complete(Status status)
|
void Request::complete(Status status)
|
||||||
{
|
{
|
||||||
ASSERT(pending_.empty());
|
ASSERT(!hasPendingBuffers());
|
||||||
status_ = status;
|
status_ = status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,7 +157,7 @@ bool Request::completeBuffer(Buffer *buffer)
|
||||||
int ret = pending_.erase(buffer);
|
int ret = pending_.erase(buffer);
|
||||||
ASSERT(ret == 1);
|
ASSERT(ret == 1);
|
||||||
|
|
||||||
return pending_.empty();
|
return !hasPendingBuffers();
|
||||||
}
|
}
|
||||||
|
|
||||||
} /* namespace libcamera */
|
} /* namespace libcamera */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue