[FFmpeg-devel] [PATCH] ffprobe: add show_private_data option

Stefano Sabatini stefasab at gmail.com
Thu Dec 22 11:09:48 CET 2011


---
 doc/ffprobe.texi |    6 ++++++
 ffprobe.c        |    5 ++++-
 2 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/doc/ffprobe.texi b/doc/ffprobe.texi
index 89b270d..d75c251 100644
--- a/doc/ffprobe.texi
+++ b/doc/ffprobe.texi
@@ -115,6 +115,12 @@ multimedia stream.
 Each media stream information is printed within a dedicated section
 with name "STREAM".
 
+ at item -show_private_data, -private
+Show private data, that is data depending on the format of the
+particolar 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}.
 
diff --git a/ffprobe.c b/ffprobe.c
index 1e8ba8c..976f20b 100644
--- 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, },
-- 
1.7.5.4



More information about the ffmpeg-devel mailing list