diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index c641794556..2102bbed0b 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -2362,7 +2362,7 @@ static int64_t mpegts_get_dts(AVFormatContext *s, int stream_index, if(pkt.dts != AV_NOPTS_VALUE && pkt.pos >= 0){ ff_reduce_index(s, pkt.stream_index); av_add_index_entry(s->streams[pkt.stream_index], pkt.pos, pkt.dts, 0, 0, AVINDEX_KEYFRAME /* FIXME keyframe? */); - if(pkt.stream_index == stream_index){ + if(pkt.stream_index == stream_index && pkt.pos >= *ppos){ *ppos= pkt.pos; return pkt.dts; }