diff --git a/ffmpeg.c b/ffmpeg.c index f8cf6b7701..3554d9e08c 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1289,6 +1289,8 @@ static void flush_encoders(void) pkt.pts = av_rescale_q(pkt.pts, enc->time_base, ost->st->time_base); if (pkt.dts != AV_NOPTS_VALUE) pkt.dts = av_rescale_q(pkt.dts, enc->time_base, ost->st->time_base); + if (pkt.duration > 0) + pkt.duration = av_rescale_q(pkt.duration, enc->time_base, ost->st->time_base); write_frame(os, &pkt, ost); }