rtpenc: base max_frames_per_packet on avg_frame_rate, not codec timebase

Fall back to 1 (which is what is used for most cases anyway) when the
framerate is not set.
This commit is contained in:
Anton Khirnov 2014-05-29 07:58:35 +02:00
parent 894682a973
commit cfbdd7ffbd

View File

@ -165,7 +165,12 @@ static int rtp_write_header(AVFormatContext *s1)
}
if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
/* FIXME: We should round down here... */
s->max_frames_per_packet = av_rescale_q(s1->max_delay, (AVRational){1, 1000000}, st->codec->time_base);
if (st->avg_frame_rate.num > 0 && st->avg_frame_rate.den > 0) {
s->max_frames_per_packet = av_rescale_q(s1->max_delay,
(AVRational){1, 1000000},
av_inv_q(st->avg_frame_rate));
} else
s->max_frames_per_packet = 1;
}
}