[libcamera-devel] [PATCH] qcam: Clear the pool of free requests upon stopCapture()

Paul Elder paul.elder at ideasonboard.com
Thu Nov 12 06:02:43 CET 2020


To enable reusing Request objects, we kept a pool of free Requests. This
pool was not cleared upon stopping capture, however, which caused a
segfault when switching to another camera. Fix this by clearing the
Request pool on stopCapture().

Fixes: c753223ad6b9 ("libcamera, android, cam, gstreamer, qcam, v4l2:
Reuse Request")
Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
---
 src/qcam/main_window.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp
index f140313e..2502ecd4 100644
--- a/src/qcam/main_window.cpp
+++ b/src/qcam/main_window.cpp
@@ -579,6 +579,7 @@ void MainWindow::stopCapture()
 	mappedBuffers_.clear();
 
 	requests_.clear();
+	freeQueue_.clear();
 
 	delete allocator_;
 
-- 
2.27.0



More information about the libcamera-devel mailing list