diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c index 3f508dcddf..ce58e10465 100644 --- a/libavformat/mpeg.c +++ b/libavformat/mpeg.c @@ -557,7 +557,9 @@ static int64_t mpegps_read_dts(AVFormatContext *s, int stream_index, #ifdef DEBUG_SEEK printf("read_dts: pos=0x%"PRIx64" next=%d -> ", pos, find_next); #endif - url_fseek(s->pb, pos, SEEK_SET); + if (url_fseek(s->pb, pos, SEEK_SET) < 0) + return AV_NOPTS_VALUE; + for(;;) { len = mpegps_read_pes_header(s, &pos, &startcode, &pts, &dts); if (len < 0) {