From c7385375bc4775afe89d17429d6daad7719e387d Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 6 Aug 2007 21:14:29 +0000 Subject: [PATCH] ensure that the codec_id detection in av_find_stream_info() does not destroy the first dts values Originally committed as revision 9965 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/utils.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index b5693b5da..dd2d6823a 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -1970,11 +1970,20 @@ int av_find_stream_info(AVFormatContext *ic) for(i=0;inb_streams;i++) { st = ic->streams[i]; - if (codec_identified[st->index]) { - av_read_frame_flush(ic); - av_seek_frame(ic, st->index, 0.0, 0); - url_fseek(&ic->pb, ic->data_offset, SEEK_SET); + if (codec_identified[st->index]) + break; + } + //FIXME this is a mess + if(i!=ic->nb_streams){ + av_read_frame_flush(ic); + for(i=0;inb_streams;i++) { + st = ic->streams[i]; + if (codec_identified[st->index]) { + av_seek_frame(ic, st->index, 0.0, 0); + } + st->cur_dts= st->first_dts; } + url_fseek(&ic->pb, ic->data_offset, SEEK_SET); } #if 0 -- 2.11.0