diff --git a/libavformat/asf-enc.c b/libavformat/asf-enc.c index f885bb7433..32c05b07c6 100644 --- a/libavformat/asf-enc.c +++ b/libavformat/asf-enc.c @@ -282,7 +282,9 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data AVCodecContext *enc; int64_t header_offset, cur_pos, hpos; int bit_rate; + int64_t duration; + duration = asf->duration + preroll_time * 10000; has_title = (s->title[0] || s->author[0] || s->copyright[0] || s->comment[0]); bit_rate = 0; @@ -312,8 +314,8 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data file_time = 0; put_le64(pb, unix_to_file_time(file_time)); put_le64(pb, asf->nb_packets); /* number of packets */ - put_le64(pb, asf->duration); /* end time stamp (in 100ns units) */ - put_le64(pb, asf->duration); /* duration (in 100ns units) */ + put_le64(pb, duration); /* end time stamp (in 100ns units) */ + put_le64(pb, duration); /* duration (in 100ns units) */ put_le32(pb, preroll_time); /* start time stamp */ put_le32(pb, 0); /* ??? */ put_le32(pb, asf->is_streamed ? 1 : 0); /* ??? */ diff --git a/tests/libav.regression.ref b/tests/libav.regression.ref index f337e05ee1..1fe10376de 100644 --- a/tests/libav.regression.ref +++ b/tests/libav.regression.ref @@ -2,7 +2,7 @@ ffmpeg regression test 5fb135845dbde3ce5208c468173ef2c2 *./data/b-libav.avi 343318 ./data/b-libav.avi ./data/b-libav.avi CRC=0x1fdd352c -6f4dca897d9a009009798e434fe5f651 *./data/b-libav.asf +bac6c5f50f3ca5db6e2ef6eaccf1d4f1 *./data/b-libav.asf 342967 ./data/b-libav.asf ./data/b-libav.asf CRC=0x94d219de 5275686385346789108ec4fdf06ecef8 *./data/b-libav.rm