diff --git a/ffmpeg.c b/ffmpeg.c index caed594638..6a51810f3c 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1396,6 +1396,7 @@ static void flush_encoders(void) if (encode) { AVPacket pkt; + int pkt_size; int got_packet; av_init_packet(&pkt); pkt.data = NULL; @@ -1426,9 +1427,10 @@ static void flush_encoders(void) 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); + pkt_size = pkt.size; write_frame(os, &pkt, ost); if (ost->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && vstats_filename) { - do_video_stats(ost, pkt.size); + do_video_stats(ost, pkt_size); } }