[libcamera-devel] [PATCH 10/10] cam: Don't requeue requests when stopping stream
Niklas Söderlund
niklas.soderlund at ragnatech.se
Thu Feb 28 18:30:09 CET 2019
Hi Laurent,
Thanks for your patch.
On 2019-02-28 18:29:13 +0200, Laurent Pinchart wrote:
> When stopping the stream all pending requests are cancelled, resulting
> in the request completion signal being emitted with the request status
> set appropriately. Check the request status in the request completion
> slot and skip requeuing the request if it has been cancelled.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> ---
> src/cam/main.cpp | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/src/cam/main.cpp b/src/cam/main.cpp
> index 4c2df583fe8e..c8e673e30c0b 100644
> --- a/src/cam/main.cpp
> +++ b/src/cam/main.cpp
> @@ -102,6 +102,9 @@ static void requestComplete(Request *request, const std::map<Stream *, Buffer *>
> {
> static uint64_t last = 0;
>
> + if (request->status() == Request::RequestCancelled)
> + return;
> +
> Buffer *buffer = buffers.begin()->second;
>
> double fps = buffer->timestamp() - last;
> --
> Regards,
>
> Laurent Pinchart
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
--
Regards,
Niklas Söderlund
More information about the libcamera-devel
mailing list