diff --git a/libavformat/utils.c b/libavformat/utils.c index 44f5e76c1183c9bc21aa34afa096ae8b3cfcb145..a2d14fbb4b20dbfe880b7b771a191cd99440f16c 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -1783,6 +1783,11 @@ int av_find_stream_info(AVFormatContext *ic) if (ret < 0) { /* EOF or error */ ret = -1; /* we could not have all the codec parameters before EOF */ + for(i=0;i<ic->nb_streams;i++) { + st = ic->streams[i]; + if (!has_codec_parameters(&st->codec)) + break; + } if ((ic->ctx_flags & AVFMTCTX_NOHEADER) && i == ic->nb_streams) ret = 0;