From 20e33bc0df452232378b317e46e370e25db1cc2a Mon Sep 17 00:00:00 2001 From: Daniel Oakley Date: Thu, 12 Jan 2023 17:34:11 +0000 Subject: py: cam.py: Fix duplicate metadata output if more than one stream Currently, if there are multiple streams, the --metadata flag will print the metadata for each request multiple times. Moving the metadata print logic outside the stream for loop this will no longer occur. Signed-off-by: Daniel Oakley Reviewed-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart Signed-off-by: Laurent Pinchart --- src/py/cam/cam.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/py/cam/cam.py b/src/py/cam/cam.py index 2701d937..967a72f5 100755 --- a/src/py/cam/cam.py +++ b/src/py/cam/cam.py @@ -266,6 +266,11 @@ class CaptureState: ctx.last = ts ctx.fps = fps + if ctx.opt_metadata: + reqmeta = req.metadata + for ctrl, val in reqmeta.items(): + print(f'\t{ctrl} = {val}') + for stream, fb in buffers.items(): stream_name = ctx.stream_names[stream] @@ -284,11 +289,6 @@ class CaptureState: '/'.join([str(p.bytes_used) for p in meta.planes]), crcs)) - if ctx.opt_metadata: - reqmeta = req.metadata - for ctrl, val in reqmeta.items(): - print(f'\t{ctrl} = {val}') - if ctx.opt_save_frames: with libcamera.utils.MappedFrameBuffer(fb) as mfb: filename = 'frame-{}-{}-{}.data'.format(ctx.id, stream_name, ctx.reqs_completed) -- cgit v1.2.1