ffprobe: add show_private_data option
authorStefano Sabatini <stefasab@gmail.com>
Thu, 22 Dec 2011 09:34:31 +0000 (10:34 +0100)
committerStefano Sabatini <stefasab@gmail.com>
Tue, 27 Dec 2011 11:58:08 +0000 (12:58 +0100)
doc/ffprobe.texi
ffprobe.c

index 89b270d..4af13d6 100644 (file)
@@ -115,6 +115,12 @@ multimedia stream.
 Each media stream information is printed within a dedicated section
 with name "STREAM".
 
+@item -show_private_data, -private
+Show private data, that is data depending on the format of the
+particular shown element.
+This option is enabled by default, but you may need to disable it
+for specific uses, for example when creating XSD-compliant XML output.
+
 @item -i @var{input_file}
 Read @var{input_file}.
 
index 3776162..e377c3c 100644 (file)
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -45,6 +45,7 @@ static int show_value_unit              = 0;
 static int use_value_prefix             = 0;
 static int use_byte_value_binary_prefix = 0;
 static int use_value_sexagesimal_format = 0;
+static int show_private_data            = 1;
 
 static char *print_format;
 
@@ -1022,7 +1023,7 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i
     } else {
         print_str_opt("codec_type", "unknown");
     }
-    if (dec_ctx->codec && dec_ctx->codec->priv_class) {
+    if (dec_ctx->codec && dec_ctx->codec->priv_class && show_private_data) {
         const AVOption *opt = NULL;
         while (opt = av_opt_next(dec_ctx->priv_data,opt)) {
             uint8_t *str;
@@ -1239,6 +1240,8 @@ static const OptionDef options[] = {
     { "show_format",  OPT_BOOL, {(void*)&do_show_format} , "show format/container info" },
     { "show_packets", OPT_BOOL, {(void*)&do_show_packets}, "show packets info" },
     { "show_streams", OPT_BOOL, {(void*)&do_show_streams}, "show streams info" },
+    { "show_private_data", OPT_BOOL, {(void*)&show_private_data}, "show private data" },
+    { "private",           OPT_BOOL, {(void*)&show_private_data}, "same as show_private_data" },
     { "default", HAS_ARG | OPT_AUDIO | OPT_VIDEO | OPT_EXPERT, {(void*)opt_default}, "generic catch all option", "" },
     { "i", HAS_ARG, {(void *)opt_input_file}, "read specified file", "input_file"},
     { NULL, },