Mercurial > libavformat.hg
diff utils.c @ 2320:e33a7c4d1bd5 libavformat
ensure that the codec_id detection in av_find_stream_info() does not
destroy the first dts values
author | michael |
---|---|
date | Mon, 06 Aug 2007 21:14:29 +0000 |
parents | 45a6610e6a4f |
children | 3306dae77205 |
line wrap: on
line diff
--- a/utils.c Mon Aug 06 20:37:45 2007 +0000 +++ b/utils.c Mon Aug 06 21:14:29 2007 +0000 @@ -1970,11 +1970,20 @@ for(i=0;i<ic->nb_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;i<ic->nb_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