[FFmpeg-cvslog] avprobe: Allow specifying multiple stream entries to be shown

Vittorio Giovara git at videolan.org
Thu Apr 13 23:54:32 EEST 2017


ffmpeg | branch: master | Vittorio Giovara <vittorio.giovara at gmail.com> | Thu Dec  1 12:38:18 2016 -0500| [68f8db610871b810ba3ae946538d43a9e7cedf1e] | committer: Vittorio Giovara

avprobe: Allow specifying multiple stream entries to be shown

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=68f8db610871b810ba3ae946538d43a9e7cedf1e
---

 avprobe.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/avprobe.c b/avprobe.c
index 8142ce2966..f0c942ad63 100644
--- a/avprobe.c
+++ b/avprobe.c
@@ -1033,6 +1033,8 @@ static int opt_show_format_entry(void *optctx, const char *opt, const char *arg)
 
 static int opt_show_stream_entry(void *optctx, const char *opt, const char *arg)
 {
+    const char *p = arg;
+
     do_show_streams = 1;
     nb_stream_entries_to_show++;
     octx.print_header        = NULL;
@@ -1044,7 +1046,19 @@ static int opt_show_stream_entry(void *optctx, const char *opt, const char *arg)
 
     octx.print_integer = show_stream_entry_integer;
     octx.print_string  = show_stream_entry_string;
-    av_dict_set(&stream_entries_to_show, arg, "", 0);
+
+    while (*p) {
+        char *val = av_get_token(&p, ",");
+        if (!val)
+            return AVERROR(ENOMEM);
+
+        av_dict_set(&stream_entries_to_show, val, "", 0);
+
+        av_free(val);
+        if (*p)
+            p++;
+    }
+
     return 0;
 }
 
@@ -1099,7 +1113,7 @@ static const OptionDef real_options[] = {
     { "show_packets", OPT_BOOL, {&do_show_packets}, "show packets info" },
     { "show_streams", OPT_BOOL, {&do_show_streams}, "show streams info" },
     { "show_stream_entry", HAS_ARG, {.func_arg = opt_show_stream_entry},
-      "show a particular entry from all streams", "entry" },
+      "show a particular entry from all streams (comma separated)", "entry" },
     { "default", HAS_ARG | OPT_AUDIO | OPT_VIDEO | OPT_EXPERT, {.func_arg = opt_default},
       "generic catch all option", "" },
     { NULL, },



More information about the ffmpeg-cvslog mailing list