[libcamera-devel] [PATCH] py: cam.py: Fix duplicate metadata output if more than one steam

Tomi Valkeinen tomi.valkeinen at ideasonboard.com
Mon Jan 16 15:11:36 CET 2023


On 12/01/2023 19:34, Daniel Oakley wrote:
> Currently, if there are multiple steams, the --metadata flag will
> print the metadata for each request multiple times.
> 
> Moving the metadata print logic outside the steam for loop this will
> no longer occur.
> 
> Signed-off-by: Daniel Oakley <daniel.oakley at ideasonboard.com>
> ---
>   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)

Reviewed-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>

  Tomi



More information about the libcamera-devel mailing list