From cfbdd7ffbd9fe14d110fd1bb89bf52f0f7bde016 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 29 May 2014 07:58:35 +0200 Subject: 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. --- libavformat/rtpenc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libavformat/rtpenc.c') diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c index 83167eba9c..0027abd421 100644 --- a/libavformat/rtpenc.c +++ b/libavformat/rtpenc.c @@ -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; } } -- cgit v1.2.3