Mercurial > libavformat.hg
comparison oggparsetheora.c @ 5089:a8f6dd9abf72 libavformat
Replace invalid Theora frame rate by 25 FPS.
Avoids division by 0 due to e.g. time_base denominator being 0.
author | reimar |
---|---|
date | Fri, 03 Jul 2009 11:31:09 +0000 |
parents | 53092c7684a2 |
children | 52c7b29eca31 |
comparison
equal
deleted
inserted
replaced
5088:5da0e7ccc3c4 | 5089:a8f6dd9abf72 |
---|---|
84 | 84 |
85 skip_bits(&gb, 16); | 85 skip_bits(&gb, 16); |
86 } | 86 } |
87 st->codec->time_base.den = get_bits_long(&gb, 32); | 87 st->codec->time_base.den = get_bits_long(&gb, 32); |
88 st->codec->time_base.num = get_bits_long(&gb, 32); | 88 st->codec->time_base.num = get_bits_long(&gb, 32); |
89 if (!(st->codec->time_base.num > 0 && st->codec->time_base.den > 0)) { | |
90 av_log(s, AV_LOG_WARNING, "Invalid time base in theora stream, assuming 25 FPS\n"); | |
91 st->codec->time_base.num = 1; | |
92 st->codec->time_base.den = 25; | |
93 } | |
89 st->time_base = st->codec->time_base; | 94 st->time_base = st->codec->time_base; |
90 | 95 |
91 st->sample_aspect_ratio.num = get_bits_long(&gb, 24); | 96 st->sample_aspect_ratio.num = get_bits_long(&gb, 24); |
92 st->sample_aspect_ratio.den = get_bits_long(&gb, 24); | 97 st->sample_aspect_ratio.den = get_bits_long(&gb, 24); |
93 | 98 |