ffprobe: remove ad-hoc behavior when nb_fmt_entries_to_show is 1
authorStefano Sabatini <stefasab@gmail.com>
Sun, 20 May 2012 13:20:47 +0000 (15:20 +0200)
committerStefano Sabatini <stefasab@gmail.com>
Mon, 21 May 2012 08:32:25 +0000 (10:32 +0200)
The special-case behavior may complicate parsing when the
-show_format_entry option is used programmatically in a script.

The option default=nk=1 achieves the same purpose, if the objective is to
skip printing the single field key.

ffprobe.c
tests/fate-run.sh

index d76f0e2..d53ec11 100644 (file)
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -51,7 +51,6 @@ static int do_show_error   = 0;
 static int do_show_format  = 0;
 static int do_show_frames  = 0;
 static AVDictionary *fmt_entries_to_show = NULL;
-static int nb_fmt_entries_to_show;
 static int do_show_packets = 0;
 static int do_show_streams = 0;
 static int do_show_program_version  = 0;
@@ -399,9 +398,6 @@ static av_cold int default_init(WriterContext *wctx, const char *args, void *opa
     def->class = &default_class;
     av_opt_set_defaults(def);
 
-    if (nb_fmt_entries_to_show == 1)
-        def->nokey = 1;
-
     if (args &&
         (err = (av_set_options_string(def, args, "=", ":"))) < 0) {
         av_log(wctx, AV_LOG_ERROR, "Error parsing options string: '%s'\n", args);
@@ -1679,7 +1675,6 @@ static int opt_format(const char *opt, const char *arg)
 static int opt_show_format_entry(const char *opt, const char *arg)
 {
     do_show_format = 1;
-    nb_fmt_entries_to_show++;
     av_dict_set(&fmt_entries_to_show, arg, "", 0);
     return 0;
 }
index 126f2ce..cd94d4a 100755 (executable)
@@ -70,7 +70,7 @@ run(){
 }
 
 probefmt(){
-    run ffprobe -show_format_entry format_name -print_format default=nw=1 -v 0 "$@"
+    run ffprobe -show_format_entry format_name -print_format default=nw=1:nk=1 -v 0 "$@"
 }
 
 avconv(){