diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2006-03-02 20:44:35 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2006-03-02 20:44:35 +0000 |
commit | 61452d5637bf422cd845eb5eb16b11a161831b73 (patch) | |
tree | 4fe66cd5b0d1df6f249edd3851632f46f0191d16 | |
parent | 98740f5a798df8c898959aab8e954713149dc62d (diff) | |
download | ffmpeg-61452d5637bf422cd845eb5eb16b11a161831b73.tar.gz |
fixing total_frames
Originally committed as revision 5101 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavformat/avienc.c | 13 | ||||
-rw-r--r-- | tests/libav.regression.ref | 2 |
2 files changed, 7 insertions, 8 deletions
diff --git a/libavformat/avienc.c b/libavformat/avienc.c index 2239e2670e..dbb301dc13 100644 --- a/libavformat/avienc.c +++ b/libavformat/avienc.c @@ -613,22 +613,21 @@ static int avi_write_idx1(AVFormatContext *s) file_size = url_ftell(pb); nb_frames = 0; for(n=0;n<s->nb_streams;n++) { - if (avi->frames_hdr_strm[n] != 0) { + assert(avi->frames_hdr_strm[n]); stream = s->streams[n]->codec; url_fseek(pb, avi->frames_hdr_strm[n], SEEK_SET); ff_parse_specific_params(stream, &au_byterate, &au_ssize, &au_scale); if (au_ssize == 0) { put_le32(pb, avi->packet_count[n]); - nb_frames += avi->packet_count[n]; } else { put_le32(pb, avi->audio_strm_length[n] / au_ssize); } - } - } - if (avi->frames_hdr_all != 0) { - url_fseek(pb, avi->frames_hdr_all, SEEK_SET); - put_le32(pb, nb_frames); + if(stream->codec_type == CODEC_TYPE_VIDEO) + nb_frames = FFMAX(nb_frames, avi->packet_count[n]); } + assert(avi->frames_hdr_all); + url_fseek(pb, avi->frames_hdr_all, SEEK_SET); + put_le32(pb, nb_frames); url_fseek(pb, file_size, SEEK_SET); } return 0; diff --git a/tests/libav.regression.ref b/tests/libav.regression.ref index 5297408c60..aebe963768 100644 --- a/tests/libav.regression.ref +++ b/tests/libav.regression.ref @@ -1,5 +1,5 @@ ffmpeg regression test -ffe84c1d286255bb6856f864b8122b6a *./data/b-libav.avi +3175f33f01e7d0e1ee4bf7f7e4894393 *./data/b-libav.avi 342282 ./data/b-libav.avi ./data/b-libav.avi CRC=0xccab3a27 6f4dca897d9a009009798e434fe5f651 *./data/b-libav.asf |