[FFmpeg-devel] [PATCH 1/3] tools/aviocat: add verbose mode.

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Fri Jul 19 15:30:00 EEST 2019


Nicolas George:
> For now: print the input size as detected by AVSEEK_SIZE.
> 
> Signed-off-by: Nicolas George <george at nsup.org>
> ---
>  tools/aviocat.c | 15 +++++++++++++--
>  1 file changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/aviocat.c b/tools/aviocat.c
> index 2aa08b92ed..7dca4f52b5 100644
> --- a/tools/aviocat.c
> +++ b/tools/aviocat.c
> @@ -26,14 +26,14 @@
>  
>  static int usage(const char *argv0, int ret)
>  {
> -    fprintf(stderr, "%s [-b bytespersec] [-d duration] [-oi <options>] [-oo <options>] input_url output_url\n", argv0);
> +    fprintf(stderr, "%s [-b bytespersec] [-d duration] [-oi <options>] [-oo <options>] [-v] input_url output_url\n", argv0);
>      fprintf(stderr, "<options>: AVOptions expressed as key=value, :-separated\n");
>      return ret;
>  }
>  
>  int main(int argc, char **argv)
>  {
> -    int bps = 0, duration = 0, ret, i;
> +    int bps = 0, duration = 0, verbose = 0, ret, i;
>      const char *input_url = NULL, *output_url = NULL;
>      int64_t stream_pos = 0;
>      int64_t start_time;
> @@ -65,6 +65,8 @@ int main(int argc, char **argv)
>                  return usage(argv[0], 1);
>              }
>              i++;
> +        } else if (!strcmp(argv[i], "-v")) {
> +            verbose = 1;
>          } else if (!input_url) {
>              input_url = argv[i];
>          } else if (!output_url) {
> @@ -82,6 +84,15 @@ int main(int argc, char **argv)
>          fprintf(stderr, "Unable to open %s: %s\n", input_url, errbuf);
>          return 1;
>      }
> +    if (verbose) {
> +        int64_t size = avio_seek(input, 0, AVSEEK_SIZE);
This is only allowed after AVSEEK_SIZE is allowed to be usable from
outside, i.e. your first two patches should be swapped.
> +        if (size >= 0) {
> +            fprintf(stderr, "aviocat: input size: %"PRId64"\n", size);
> +        } else {
> +            fprintf(stderr, "aviocat: input size: unknown\n");
> +        }
> +    }
> +    exit(0);

Leftover from your testing?

>      if (duration && !bps) {
>          int64_t size = avio_size(input);
>          if (size < 0) {
> 



More information about the ffmpeg-devel mailing list