summaryrefslogtreecommitdiff
path: root/libavformat/avidec.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/avidec.c')
-rw-r--r--libavformat/avidec.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 2eff64b5b0..540a022d0e 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -264,8 +264,7 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
ast->sample_size = get_le32(pb); /* sample ssize */
//av_log(NULL, AV_LOG_DEBUG, "%d %d %d %d\n", ast->scale, ast->rate, ast->sample_size, ast->start);
st->start_time = 0;
- if (ast->rate != 0)
- st->duration = (int64_t)length * AV_TIME_BASE / ast->rate;
+ st->duration = av_rescale(length, ast->scale*(int64_t)AV_TIME_BASE, ast->rate);
url_fskip(pb, size - 12 * 4);
}
break;