OSDN Git Service

ffprobe: provide format parameters to av_open_input_file()
authorStefano Sabatini <stefano.sabatini-lala@poste.it>
Thu, 24 Mar 2011 13:39:23 +0000 (14:39 +0100)
committerStefano Sabatini <stefano.sabatini-lala@poste.it>
Sat, 26 Mar 2011 13:41:51 +0000 (14:41 +0100)
Provide a non-NULL AVFormatParameters structure to
av_open_input_file() in open_input_file().

This is required because otherwise av_open_input_file() will allocate
and use a new format context, discarding the options set in the
provided format context.

ffprobe.c

index d7362dd..9c2fd43 100644 (file)
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -261,12 +261,15 @@ static void show_format(AVFormatContext *fmt_ctx)
 static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
 {
     int err, i;
+    AVFormatParameters fmt_params;
     AVFormatContext *fmt_ctx;
 
+    memset(&fmt_params, 0, sizeof(fmt_params));
+    fmt_params.prealloced_context = 1;
     fmt_ctx = avformat_alloc_context();
     set_context_opts(fmt_ctx, avformat_opts, AV_OPT_FLAG_DECODING_PARAM, NULL);
 
-    if ((err = av_open_input_file(&fmt_ctx, filename, iformat, 0, NULL)) < 0) {
+    if ((err = av_open_input_file(&fmt_ctx, filename, iformat, 0, &fmt_params)) < 0) {
         print_error(filename, err);
         return err;
     }