[FFmpeg-cvslog] r25187 - in trunk: Changelog ffprobe.c

stefano subversion
Sat Sep 25 03:32:03 CEST 2010


Author: stefano
Date: Sat Sep 25 03:32:02 2010
New Revision: 25187

Log:
Make ffprobe able to set AVFormatContext options.

Modified:
   trunk/Changelog
   trunk/ffprobe.c

Modified: trunk/Changelog
==============================================================================
--- trunk/Changelog	Sat Sep 25 03:31:59 2010	(r25186)
+++ trunk/Changelog	Sat Sep 25 03:32:02 2010	(r25187)
@@ -39,6 +39,7 @@ version <next>:
 - frei0r wrapper filter
 - change crop filter syntax to width:height:x:y
 - make the crop filter accept parametric expressions
+- make ffprobe accept AVFormatContext options
 
 
 version 0.6:

Modified: trunk/ffprobe.c
==============================================================================
--- trunk/ffprobe.c	Sat Sep 25 03:31:59 2010	(r25186)
+++ trunk/ffprobe.c	Sat Sep 25 03:32:02 2010	(r25187)
@@ -269,6 +269,7 @@ static int open_input_file(AVFormatConte
     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 *a
 
 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;
 }



More information about the ffmpeg-cvslog mailing list