[libcamera-devel] [PATCH 1/3] apps: cam: kms_sink: Do not process requests after stop()
Umang Jain
umang.jain at ideasonboard.com
Sun Apr 23 22:39:29 CEST 2023
KMSSink might process completed page flip requests from DRM
after stop() has been called. This is not right hence connect the
Device::requestCompleted signal on start() and disconnect it on stop().
Signed-off-by: Umang Jain <umang.jain at ideasonboard.com>
---
src/apps/cam/kms_sink.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/apps/cam/kms_sink.cpp b/src/apps/cam/kms_sink.cpp
index 353209cd..a508977d 100644
--- a/src/apps/cam/kms_sink.cpp
+++ b/src/apps/cam/kms_sink.cpp
@@ -63,7 +63,6 @@ KMSSink::KMSSink(const std::string &connectorName)
return;
}
- dev_.requestComplete.connect(this, &KMSSink::requestComplete);
}
void KMSSink::mapBuffer(libcamera::FrameBuffer *buffer)
@@ -328,11 +327,15 @@ int KMSSink::start()
return ret;
}
+ dev_.requestComplete.connect(this, &KMSSink::requestComplete);
+
return 0;
}
int KMSSink::stop()
{
+ dev_.requestComplete.disconnect();
+
/* Display pipeline. */
DRM::AtomicRequest request(&dev_);
--
2.39.1
More information about the libcamera-devel
mailing list