diff --git a/libavformat/utils.c b/libavformat/utils.c index d3e1e0609b..8da8db4c43 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -3286,7 +3286,6 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options) } } } - av_opt_set(ic, "skip_clear", "0", AV_OPT_SEARCH_CHILDREN); // close codecs which were opened in try_decode_frame() for (i = 0; i < ic->nb_streams; i++) { @@ -3375,6 +3374,8 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options) if (probesize) estimate_timings(ic, old_offset); + av_opt_set(ic, "skip_clear", "0", AV_OPT_SEARCH_CHILDREN); + if (ret >= 0 && ic->nb_streams) /* We could not have all the codec parameters before EOF. */ ret = -1;