diff --git a/libavformat/utils.c b/libavformat/utils.c index c6aa87b5062da..17dcb259d068e 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2830,10 +2830,7 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options) t = FFMAX(t, av_rescale_q(st->codec_info_nb_frames, av_inv_q(st->avg_frame_rate), AV_TIME_BASE_Q)); if ( t==0 - && st->codec_info_nb_frames>15 - && st->codec->codec_type == AVMEDIA_TYPE_VIDEO - && ( !strcmp(ic->iformat->name, "mpeg") // this breaks some flvs thus use only for mpegps/ts for now (for ts we have a sample that needs it) - || !strcmp(ic->iformat->name, "mpegts")) + && st->codec_info_nb_frames>30 && st->info->fps_first_dts != AV_NOPTS_VALUE && st->info->fps_last_dts != AV_NOPTS_VALUE) t = FFMAX(t, av_rescale_q(st->info->fps_last_dts - st->info->fps_first_dts, st->time_base, AV_TIME_BASE_Q)); diff --git a/tests/fate/filter-audio.mak b/tests/fate/filter-audio.mak index 4593421f66d5c..944af75482b54 100644 --- a/tests/fate/filter-audio.mak +++ b/tests/fate/filter-audio.mak @@ -27,7 +27,7 @@ fate-filter-asyncts: REF = $(SAMPLES)/nellymoser/nellymoser-discont-async-v2.pcm FATE_FILTER-$(CONFIG_ARESAMPLE_FILTER) += fate-filter-aresample fate-filter-aresample: SRC = $(SAMPLES)/nellymoser/nellymoser-discont.flv -fate-filter-aresample: CMD = pcm -i $(SRC) -af aresample=min_comp=0.001:min_hard_comp=0.1:first_pts=0 +fate-filter-aresample: CMD = pcm -analyzeduration 10000000 -i $(SRC) -af aresample=min_comp=0.001:min_hard_comp=0.1:first_pts=0 fate-filter-aresample: CMP = oneoff fate-filter-aresample: REF = $(SAMPLES)/nellymoser/nellymoser-discont.pcm