From c8ececb4db980c287933b9a56c7dcbd097508514 Mon Sep 17 00:00:00 2001 From: bcoudurier Date: Sat, 19 Jul 2008 03:25:50 +0000 Subject: [PATCH] update swf video frame number when muxing done, fix #439 git-svn-id: file:///var/local/repositories/ffmpeg/trunk@14293 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b --- libavformat/swf.h | 2 +- libavformat/swfenc.c | 3 +++ tests/libav.regression.ref | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libavformat/swf.h b/libavformat/swf.h index dee69160c..8249f7ddf 100644 --- a/libavformat/swf.h +++ b/libavformat/swf.h @@ -67,7 +67,7 @@ typedef struct { int audio_stream_index; offset_t duration_pos; offset_t tag_pos; - + offset_t vframes_pos; int samples_per_frame; int sound_samples; int swf_frame_number; diff --git a/libavformat/swfenc.c b/libavformat/swfenc.c index 193663f61..2d341dcc4 100644 --- a/libavformat/swfenc.c +++ b/libavformat/swfenc.c @@ -344,6 +344,7 @@ static int swf_write_video(AVFormatContext *s, /* create a new video object */ put_swf_tag(s, TAG_VIDEOSTREAM); put_le16(pb, VIDEO_ID); + swf->vframes_pos = url_ftell(pb); put_le16(pb, 15000); /* hard flash player limit */ put_le16(pb, enc->width); put_le16(pb, enc->height); @@ -495,6 +496,8 @@ static int swf_write_trailer(AVFormatContext *s) put_le32(pb, file_size); url_fseek(pb, swf->duration_pos, SEEK_SET); put_le16(pb, swf->video_frame_number); + url_fseek(pb, swf->vframes_pos, SEEK_SET); + put_le16(pb, swf->video_frame_number); url_fseek(pb, file_size, SEEK_SET); } return 0; diff --git a/tests/libav.regression.ref b/tests/libav.regression.ref index a42ecd1a0..3057e94d0 100644 --- a/tests/libav.regression.ref +++ b/tests/libav.regression.ref @@ -12,7 +12,7 @@ bdb7484c68db722f66ba1630cf79844c *./tests/data/b-libav.mpg 447b005e527cf495ec13092e788f028d *./tests/data/b-libav.ts 471692 ./tests/data/b-libav.ts ./tests/data/b-libav.ts CRC=0xcc4948e1 -d6fdeb9f7083cc827f9510c6c4517dc0 *./tests/data/b-libav.swf +1b28a16652bb8ac528b33f7478ca18b6 *./tests/data/b-libav.swf 335771 ./tests/data/b-libav.swf ./tests/data/b-libav.swf CRC=0xe14e8847 3dbacdc3fccb551f8ab54c32f648e7a8 *./tests/data/b-libav.ffm -- 2.39.2