diff --git a/libavformat/utils.c b/libavformat/utils.c index d9c95cf999..ed83f28b0a 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -1868,7 +1868,7 @@ int64_t ff_gen_search(AVFormatContext *s, int stream_index, int64_t target_ts, pos_max = FFMAX(0, pos_max - step); ts_max = ff_read_timestamp(s, stream_index, &pos_max, limit, read_timestamp); step += step; - }while(ts_max == AV_NOPTS_VALUE && pos_max > 0); + }while(ts_max == AV_NOPTS_VALUE && 2*limit > step); if (ts_max == AV_NOPTS_VALUE) return -1;