summaryrefslogtreecommitdiff
path: root/ffprobe.c
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2010-09-25 01:32:02 +0000
committerStefano Sabatini <stefano.sabatini-lala@poste.it>2010-09-25 01:32:02 +0000
commit6afd569e1df3cb02f89f85d9bc70e53edc1d23c6 (patch)
tree272c1491aeb5b235208ea94ef674b1fb7365570f /ffprobe.c
parent20e021c7119f7bd54c4333eca7167efb097deffd (diff)
downloadffmpeg-6afd569e1df3cb02f89f85d9bc70e53edc1d23c6.tar.gz
Make ffprobe able to set AVFormatContext options.
Originally committed as revision 25187 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'ffprobe.c')
-rw-r--r--ffprobe.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/ffprobe.c b/ffprobe.c
index 311580df25..30cec12d7b 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -269,6 +269,7 @@ static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
AVFormatContext *fmt_ctx;
fmt_ctx = avformat_alloc_context();
+ set_context_opts(fmt_ctx, avformat_opts, AV_OPT_FLAG_DECODING_PARAM);
if ((err = av_open_input_file(&fmt_ctx, filename, iformat, 0, NULL)) < 0) {
print_error(filename, err);
@@ -353,9 +354,12 @@ static void opt_input_file(const char *arg)
static void show_help(void)
{
+ av_log_set_callback(log_callback_help);
show_usage();
show_help_options(options, "Main options:\n", 0, 0);
printf("\n");
+ av_opt_show2(avformat_opts, NULL,
+ AV_OPT_FLAG_DECODING_PARAM, 0);
}
static void opt_pretty(void)
@@ -381,16 +385,21 @@ 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" },
+ { "default", OPT_FUNC2 | HAS_ARG | OPT_AUDIO | OPT_VIDEO | OPT_EXPERT, {(void*)opt_default}, "generic catch all option", "" },
{ NULL, },
};
int main(int argc, char **argv)
{
+ int ret;
+
av_register_all();
#if CONFIG_AVDEVICE
avdevice_register_all();
#endif
+ avformat_opts = avformat_alloc_context();
+
show_banner();
parse_options(argc, argv, options, opt_input_file);
@@ -401,5 +410,9 @@ int main(int argc, char **argv)
exit(1);
}
- return probe_file(input_filename);
+ ret = probe_file(input_filename);
+
+ av_free(avformat_opts);
+
+ return ret;
}