From c6e722e5e91c8efbd1af44cb3b8bc0bdac75e591 Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Sat, 11 Mar 2006 18:21:28 +0000 Subject: [PATCH] create edts atom when muxing B frames, needed to compute cts Originally committed as revision 5151 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/movenc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 71deec7c25..63d9853474 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -929,7 +929,7 @@ static int mov_write_edts_tag(ByteIOContext *pb, MOVTrack *track) put_be32(pb, av_rescale_rnd(track->trackDuration, globalTimescale, track->timescale, AV_ROUND_UP)); /* duration ... doesn't seem to effect psp */ - put_be32(pb, 0x0); + put_be32(pb, track->sampleDuration); put_be32(pb, 0x00010000); return 0x24; } @@ -959,7 +959,7 @@ static int mov_write_trak_tag(ByteIOContext *pb, MOVTrack* track) put_be32(pb, 0); /* size */ put_tag(pb, "trak"); mov_write_tkhd_tag(pb, track); - if (track->mode == MODE_PSP) + if (track->mode == MODE_PSP || track->hasBframes) mov_write_edts_tag(pb, track); // PSP Movies require edts box mov_write_mdia_tag(pb, track); if (track->mode == MODE_PSP)