summaryrefslogtreecommitdiff
path: root/avprobe.c
diff options
context:
space:
mode:
authorVittorio Giovara <vittorio.giovara@gmail.com>2016-12-01 12:38:18 -0500
committerVittorio Giovara <vittorio.giovara@gmail.com>2016-12-07 14:35:08 -0500
commit68f8db610871b810ba3ae946538d43a9e7cedf1e (patch)
treed73370a9969f46e46a3a46ce95caacc35e0f2974 /avprobe.c
parente90137c045721a1635cc241eb1e1be1126389c38 (diff)
avprobe: Allow specifying multiple stream entries to be shown
Diffstat (limited to 'avprobe.c')
-rw-r--r--avprobe.c18
1 files 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, },