summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>2008-07-19 03:25:50 +0000
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>2008-07-19 03:25:50 +0000
commit9b92ed7666a78b417cb7e98ca9a92c0dbab31df4 (patch)
treee31d7ebf9841ed0d2e82b5d18fe46d38ceeb2ac9
parent79f4494a042b98e910524c7b93f294c9ec5118d0 (diff)
update swf video frame number when muxing done, fix #439
Originally committed as revision 14293 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavformat/swf.h2
-rw-r--r--libavformat/swfenc.c3
-rw-r--r--tests/libav.regression.ref2
3 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/swf.h b/libavformat/swf.h
index dee69160cf..8249f7ddf9 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 193663f61e..2d341dcc47 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 a42ecd1a0e..3057e94d00 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