mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
lavf: don't guess r_frame_rate from either stream or codec timebase.
Neither of those is guaranteed to be connected to framerate in any way (if it even exists). Fixes bug 56.
This commit is contained in:
parent
13f6917ca9
commit
7929e22bde
@ -2390,17 +2390,6 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
if (num && (!st->r_frame_rate.num || (double)num/(12*1001) < 1.01 * av_q2d(st->r_frame_rate)))
|
||||
av_reduce(&st->r_frame_rate.num, &st->r_frame_rate.den, num, 12*1001, INT_MAX);
|
||||
}
|
||||
|
||||
if (!st->r_frame_rate.num){
|
||||
if( st->codec->time_base.den * (int64_t)st->time_base.num
|
||||
<= st->codec->time_base.num * st->codec->ticks_per_frame * (int64_t)st->time_base.den){
|
||||
st->r_frame_rate.num = st->codec->time_base.den;
|
||||
st->r_frame_rate.den = st->codec->time_base.num * st->codec->ticks_per_frame;
|
||||
}else{
|
||||
st->r_frame_rate.num = st->time_base.den;
|
||||
st->r_frame_rate.den = st->time_base.num;
|
||||
}
|
||||
}
|
||||
}else if(st->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
|
||||
if(!st->codec->bits_per_coded_sample)
|
||||
st->codec->bits_per_coded_sample= av_get_bits_per_sample(st->codec->codec_id);
|
||||
|
@ -118,4 +118,4 @@
|
||||
0, 48750000, 48750000, 0, 37440, 0xf0fe8c1c
|
||||
0, 49170000, 49170000, 0, 37440, 0xc0036222
|
||||
0, 49590000, 49590000, 0, 37440, 0x3058385c
|
||||
0, 50006672, 50006672, 0, 37440, 0x68141016
|
||||
0, 49798332, 49798332, 0, 37440, 0x68141016
|
||||
|
Loading…
Reference in New Issue
Block a user