dont write stss atom if keyframes only

Originally committed as revision 5284 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Baptiste Coudurier 2006-04-11 08:12:54 +00:00
parent fd7789dbe8
commit 32ba6fb141

View File

@ -758,7 +758,7 @@ static int mov_write_stbl_tag(ByteIOContext *pb, MOVTrack* track)
mov_write_stsd_tag(pb, track); mov_write_stsd_tag(pb, track);
mov_write_stts_tag(pb, track); mov_write_stts_tag(pb, track);
if (track->enc->codec_type == CODEC_TYPE_VIDEO && if (track->enc->codec_type == CODEC_TYPE_VIDEO &&
track->hasKeyframes) track->hasKeyframes < track->entry)
mov_write_stss_tag(pb, track); mov_write_stss_tag(pb, track);
if (track->enc->codec_type == CODEC_TYPE_VIDEO && if (track->enc->codec_type == CODEC_TYPE_VIDEO &&
track->hasBframes) track->hasBframes)
@ -1717,7 +1717,7 @@ static int mov_write_packet(AVFormatContext *s, AVPacket *pkt)
trk->cluster[cl][id].cts = pkt->pts - pkt->dts; trk->cluster[cl][id].cts = pkt->pts - pkt->dts;
trk->cluster[cl][id].key_frame = !!(pkt->flags & PKT_FLAG_KEY); trk->cluster[cl][id].key_frame = !!(pkt->flags & PKT_FLAG_KEY);
if(trk->cluster[cl][id].key_frame) if(trk->cluster[cl][id].key_frame)
trk->hasKeyframes = 1; trk->hasKeyframes++;
} }
trk->enc = enc; trk->enc = enc;
trk->entry++; trk->entry++;