diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 66686ea1a5..b7d67959fa 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -946,7 +946,10 @@ 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, track->sampleDuration); + if (track->hasBframes) + put_be32(pb, track->sampleDuration); /* first pts is 1 */ + else + put_be32(pb, 0); put_be32(pb, 0x00010000); return 0x24; }