Fix wrong ASF duration of generated files

Patch by Brian Brice % bbrice AH newtek.com %
Original thread:
Message-ID: <451DA316.6060001@newtek.com>
Date: Fri, 29 Sep 2006 17:49:58 -0500
Subject: [Ffmpeg-devel] [PATCH] ASF Duration

Originally committed as revision 6407 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Brian Brice 2006-10-01 17:05:25 +00:00 committed by Guillaume Poirier
parent eaa6d7b683
commit 4336886c52
2 changed files with 5 additions and 3 deletions

View File

@ -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); /* ??? */

View File

@ -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