[libcamera-devel] [PATCH 10/10] cam: Don't requeue requests when stopping stream
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu Feb 28 17:29:13 CET 2019
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>
---
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
More information about the libcamera-devel
mailing list