diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2021-12-06 11:38:39 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2022-04-07 16:27:00 +0200 |
commit | a962cda7fd5da6e95e10f6b53eac0d28dc079e34 (patch) | |
tree | c7058d1ac384f00f764020b6fc7c25e785679536 | |
parent | 6cbacf1818ef11996845e644cbf69dbfe02be097 (diff) | |
download | ffmpeg-a962cda7fd5da6e95e10f6b53eac0d28dc079e34.tar.gz |
avformat/vivo: Favor setting fps from explicit fractions
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit bf1e93bdc9aaa4fd5c231030b5368aae0df018ee)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavformat/vivo.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/vivo.c b/libavformat/vivo.c index 09b593feb4..6119e52de8 100644 --- a/libavformat/vivo.c +++ b/libavformat/vivo.c @@ -119,7 +119,7 @@ static int vivo_get_packet_header(AVFormatContext *s) static int vivo_read_header(AVFormatContext *s) { VivoContext *vivo = s->priv_data; - AVRational fps = { 1, 25}; + AVRational fps = { 0 }; AVStream *ast, *vst; unsigned char *line, *line_end, *key, *value; long value_int; @@ -210,13 +210,16 @@ static int vivo_read_header(AVFormatContext *s) return AVERROR_INVALIDDATA; value_used = 1; - fps = av_inv_q(av_d2q(d, 10000)); + if (!fps.num && !fps.den) + fps = av_inv_q(av_d2q(d, 10000)); } if (!value_used) av_dict_set(&s->metadata, key, value, 0); } } + if (!fps.num || !fps.den) + fps = (AVRational){ 1, 25 }; avpriv_set_pts_info(ast, 64, 1, ast->codecpar->sample_rate); avpriv_set_pts_info(vst, 64, fps.num, fps.den); |