diff --git a/libavformat/asf-enc.c b/libavformat/asf-enc.c index 45f727bf47..211a144088 100644 --- a/libavformat/asf-enc.c +++ b/libavformat/asf-enc.c @@ -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;