summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/asf-enc.c4
-rw-r--r--libavformat/avidec.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/libavformat/asf-enc.c b/libavformat/asf-enc.c
index 747bdee812..ad94872d56 100644
--- a/libavformat/asf-enc.c
+++ b/libavformat/asf-enc.c
@@ -700,10 +700,10 @@ static int asf_write_packet(AVFormatContext *s, AVPacket *pkt)
//XXX /FIXME use duration from AVPacket
if (codec->codec_type == CODEC_TYPE_AUDIO) {
- duration = (codec->frame_number * codec->frame_size * int64_t_C(10000000)) /
+ duration = (codec->frame_number * (int64_t)codec->frame_size * int64_t_C(10000000)) /
codec->sample_rate;
} else {
- duration = av_rescale(codec->frame_number * codec->frame_rate_base, 10000000, codec->frame_rate);
+ duration = av_rescale(codec->frame_number * (int64_t)codec->frame_rate_base, 10000000, codec->frame_rate);
}
if (duration > asf->duration)
asf->duration = duration;
diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index d489ddfbaa..2eff64b5b0 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -229,7 +229,7 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
nb_frames = get_le32(pb);
st->start_time = 0;
st->duration = av_rescale(nb_frames,
- st->codec.frame_rate_base * AV_TIME_BASE,
+ st->codec.frame_rate_base * (int64_t)AV_TIME_BASE,
st->codec.frame_rate);
url_fskip(pb, size - 9 * 4);
break;