From c917f28c49e9cae9b4e190025841207d754eed61 Mon Sep 17 00:00:00 2001 From: Erik Linge Date: Mon, 9 May 2022 22:38:08 +0200 Subject: [PATCH] avformat/rtsp: parse framerate in sdp Co-authored-by: Marvin Scholz Signed-off-by: Marvin Scholz --- libavformat/rtsp.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 5ea471b40c..3f2966414f 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -618,6 +618,13 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1, s1->seen_fmtp = 1; av_strlcpy(s1->delayed_fmtp, buf, sizeof(s1->delayed_fmtp)); } + } else if (av_strstart(p, "framerate:", &p) && s->nb_streams > 0) { + // RFC 8866 + double framerate; + if (av_sscanf(p, "%lf%c", &framerate, &(char){0}) == 1) { + st = s->streams[s->nb_streams - 1]; + st->avg_frame_rate = av_d2q(framerate, INT_MAX); + } } else if (av_strstart(p, "ssrc:", &p) && s->nb_streams > 0) { rtsp_st = rt->rtsp_streams[rt->nb_rtsp_streams - 1]; get_word(buf1, sizeof(buf1), &p);