提交 9bc93229 编写于 作者: M Michael Niedermayer

muxing packets with unknown timestamps is not allowed

Originally committed as revision 7877 to svn://svn.ffmpeg.org/ffmpeg/trunk
上级 d09ea618
......@@ -725,16 +725,8 @@ static int asf_write_packet(AVFormatContext *s, AVPacket *pkt)
//XXX /FIXME use duration from AVPacket (quick hack by)
pts = (pkt->pts != AV_NOPTS_VALUE) ? pkt->pts : pkt->dts;
if (pts == AV_NOPTS_VALUE) {
if (codec->codec_type == CODEC_TYPE_AUDIO) {
duration = (codec->frame_number * (int64_t)codec->frame_size * INT64_C(10000000)) /
codec->sample_rate;
} else {
duration = av_rescale(codec->frame_number * (int64_t)codec->time_base.num, 10000000, codec->time_base.den);
}
} else {
duration = pts * 10000;
}
assert(pts != AV_NOPTS_VALUE);
duration = pts * 10000;
asf->duration= FFMAX(asf->duration, duration);
packet_st = asf->nb_packets;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册