[FFmpeg-cvslog] rtpenc: Cast a rescaling parameter to int64_t

Martin Storsjö git at videolan.org
Fri Dec 2 01:00:56 CET 2011


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Wed Nov 30 22:03:43 2011 +0200| [2d31d890bfce103512dca34e35815762eb61b5da] | committer: Martin Storsjö

rtpenc: Cast a rescaling parameter to int64_t

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 at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2d31d890bfce103512dca34e35815762eb61b5da
---

 libavformat/rtpenc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c
index 77ae6f3..88b85b9 100644
--- a/libavformat/rtpenc.c
+++ b/libavformat/rtpenc.c
@@ -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) {



More information about the ffmpeg-cvslog mailing list