[FFmpeg-devel] [PATCH] fftools/opt_common: show if muxer is device

Stefano Sabatini stefasab at gmail.com
Sat Jan 20 13:41:41 EET 2024


On date Tuesday 2024-01-16 00:58:02 +0100, Stefano Sabatini wrote:
> ---
>  fftools/opt_common.c | 28 +++++++++++++++++++++-------
>  1 file changed, 21 insertions(+), 7 deletions(-)
> 
> diff --git a/fftools/opt_common.c b/fftools/opt_common.c
> index f5b73c9f2f..e263a5297e 100644
> --- a/fftools/opt_common.c
> +++ b/fftools/opt_common.c
> @@ -853,14 +853,23 @@ static int show_formats_devices(void *optctx, const char *opt, const char *arg,
>      const char *last_name;
>      int is_dev;
>  
> -    printf("%s\n"
> -           " D. = Demuxing supported\n"
> -           " .E = Muxing supported\n"
> -           " --\n", device_only ? "Devices:" : "File formats:");
> +    if (device_only) {
> +        printf("Devices:\n"
> +               " D. = Demuxing supported\n"
> +               " .E = Muxing supported\n"
> +               " --\n");
> +    } else {
> +        printf("Formats:\n"
> +               " D.. = Demuxing supported\n"
> +               " .E. = Muxing supported\n"
> +               " ..d = Is a device\n"
> +               " ---\n");
> +    }
>      last_name = "000";
>      for (;;) {
>          int decode = 0;
>          int encode = 0;
> +        int device = 0;
>          const char *name      = NULL;
>          const char *long_name = NULL;
>  
> @@ -875,6 +884,7 @@ static int show_formats_devices(void *optctx, const char *opt, const char *arg,
>                      name      = ofmt->name;
>                      long_name = ofmt->long_name;
>                      encode    = 1;
> +                    device    = is_dev;
>                  }
>              }
>          }
> @@ -889,20 +899,24 @@ static int show_formats_devices(void *optctx, const char *opt, const char *arg,
>                      name      = ifmt->name;
>                      long_name = ifmt->long_name;
>                      encode    = 0;
> +                    device    = is_dev;
>                  }
> -                if (name && strcmp(ifmt->name, name) == 0)
> +                if (name && strcmp(ifmt->name, name) == 0) {
>                      decode = 1;
> +                    device = is_dev;
> +                }
>              }
>          }
>          if (!name)
>              break;
>          last_name = name;
>  
> -        printf(" %c%c %-15s %s\n",
> +        printf(" %c%c%s %-15s %s\n",
>                 decode ? 'D' : ' ',
>                 encode ? 'E' : ' ',
> +               device_only ? "" : (device ? "d" : " "),
>                 name,
> -            long_name ? long_name:" ");
> +            long_name ? long_name : " ");
>      }
>      return 0;
>  }

Ping about this.


More information about the ffmpeg-devel mailing list