[libcamera-devel,v3,01/17] py: cam.py: Fix multi camera capture without -C
diff mbox series

Message ID 20220701084521.31831-2-tomi.valkeinen@ideasonboard.com
State Accepted
Headers show
Series
  • Python bindings event handling
Related show

Commit Message

Tomi Valkeinen July 1, 2022, 8:45 a.m. UTC
-C flag is supposed to affect only the camera that was previously
defined in the arguments. That's not the case, and, e.g.:

cam.py -c2 -C -c3

causes camera 3 to start capturing, but it stops after the initial
Requests have been completed.

Fix the issue by filtering out camera contexts that do not have -C
defined.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 src/py/cam/cam.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Patch
diff mbox series

diff --git a/src/py/cam/cam.py b/src/py/cam/cam.py
index 2ae89fa8..8a82e092 100755
--- a/src/py/cam/cam.py
+++ b/src/py/cam/cam.py
@@ -434,7 +434,10 @@  def main():
         if args.info:
             ctx.do_cmd_info()
 
-    if args.capture:
+    # Filter out capture contexts which are not marked for capture
+    contexts = [ctx for ctx in contexts if ctx.opt_capture > 0]
+
+    if contexts:
         state = CaptureState(cm, contexts)
 
         if args.renderer == 'null':