Message ID | 20250929074706.420894-1-barnabas.pocze@ideasonboard.com |
---|---|
State | New |
Headers | show |
Series |
|
Related | show |
diff --git a/src/libcamera/software_isp/software_isp.cpp b/src/libcamera/software_isp/software_isp.cpp index b7651b7d2..fdadf79e1 100644 --- a/src/libcamera/software_isp/software_isp.cpp +++ b/src/libcamera/software_isp/software_isp.cpp @@ -358,6 +358,7 @@ void SoftwareIsp::stop() { ispWorkerThread_.exit(); ispWorkerThread_.wait(); + ispWorkerThread_.removeMessages(debayer_.get()); Thread::current()->dispatchMessages(Message::Type::InvokeMessage, this);
Debayering is carried out on `ispWorkerThread_`. When stopping, the queued work needs to be flushed or cancelled to ensure that the next time it starts, it won't process stale data. So remove all messages targeting the `Debayer` object on the worker thread. Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> --- src/libcamera/software_isp/software_isp.cpp | 1 + 1 file changed, 1 insertion(+)