[libcamera-devel] [PATCH v5 06/13] py: simple-capture.py: Use new events support
Tomi Valkeinen
tomi.valkeinen at ideasonboard.com
Sat Jun 3 09:56:08 CEST 2023
Update simple-capture.py to the new event model.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
src/py/examples/simple-capture.py | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/src/py/examples/simple-capture.py b/src/py/examples/simple-capture.py
index 4b85408f..4fa36d6f 100755
--- a/src/py/examples/simple-capture.py
+++ b/src/py/examples/simple-capture.py
@@ -107,17 +107,22 @@ def main():
sel.register(cm.event_fd, selectors.EVENT_READ)
while frames_done < TOTAL_FRAMES:
- # cm.get_ready_requests() does not block, so we use a Selector to wait
- # for a camera event. Here we should almost always get a single
- # Request, but in some cases there could be multiple or none.
+ # cm.get_events() does not block, so we use a Selector to wait for a
+ # camera event. Here we should almost always get a single request
+ # completion event, but in some cases there could be multiple ones,
+ # other events, or no events at all.
events = sel.select()
if not events:
continue
- reqs = cm.get_ready_requests()
+ for ev in cm.get_events():
+ # We are only interested in RequestCompleted events
+ if ev.type != libcam.Event.Type.RequestCompleted:
+ continue
+
+ req = ev.request
- for req in reqs:
frames_done += 1
buffers = req.buffers
--
2.34.1
More information about the libcamera-devel
mailing list