Try to open decoders in av_find_stream_info() even if no packets for the
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 3 Feb 2010 23:05:58 +0000 (23:05 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 3 Feb 2010 23:05:58 +0000 (23:05 +0000)
stream are found.
Fixes issue1385

Originally committed as revision 21630 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/utils.c

index 8295f70..eec7a62 100644 (file)
@@ -2089,6 +2089,13 @@ int av_find_stream_info(AVFormatContext *ic)
                 st->parser->flags |= PARSER_FLAG_COMPLETE_FRAMES;
             }
         }
                 st->parser->flags |= PARSER_FLAG_COMPLETE_FRAMES;
             }
         }
+        assert(!st->codec->codec);
+        //try to just open decoders, in case this is enough to get parameters
+        if(!has_codec_parameters(st->codec)){
+            AVCodec *codec = avcodec_find_decoder(st->codec->codec_id);
+            if (codec)
+                avcodec_open(st->codec, codec);
+        }
     }
 
     for(i=0;i<MAX_STREAMS;i++){
     }
 
     for(i=0;i<MAX_STREAMS;i++){