OSDN Git Service

rtpenc: Cast a rescaling parameter to int64_t
authorMartin Storsjö <martin@martin.st>
Wed, 30 Nov 2011 20:03:43 +0000 (22:03 +0200)
committerMartin Storsjö <martin@martin.st>
Thu, 1 Dec 2011 21:19:14 +0000 (23:19 +0200)
This avoids overflow if frame_size is over 2147, since both
frame_size and AV_TIME_BASE are plain integers.

Signed-off-by: Martin Storsjö <martin@martin.st>
libavformat/rtpenc.c

index 77ae6f3..88b85b9 100644 (file)
@@ -121,7 +121,7 @@ static int rtp_write_header(AVFormatContext *s1)
             if (st->codec->frame_size == 0) {
                 av_log(s1, AV_LOG_ERROR, "Cannot respect max delay: frame size = 0\n");
             } else {
-                s->max_frames_per_packet = av_rescale_rnd(s1->max_delay, st->codec->sample_rate, AV_TIME_BASE * st->codec->frame_size, AV_ROUND_DOWN);
+                s->max_frames_per_packet = av_rescale_rnd(s1->max_delay, st->codec->sample_rate, AV_TIME_BASE * (int64_t)st->codec->frame_size, AV_ROUND_DOWN);
             }
         }
         if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {