diff options
author | Erik Linge <erikli@axis.com> | 2022-05-09 22:38:08 +0200 |
---|---|---|
committer | Marvin Scholz <epirat07@gmail.com> | 2025-06-11 19:19:50 +0200 |
commit | c917f28c49e9cae9b4e190025841207d754eed61 (patch) | |
tree | 93f8547899fbb6b5aa8972449f2c08916b5b43c6 | |
parent | 2dcd9c5aac46846493cd49a21adb553454f000ea (diff) | |
download | ffmpeg-c917f28c49e9cae9b4e190025841207d754eed61.tar.gz |
avformat/rtsp: parse framerate in sdp
Co-authored-by: Marvin Scholz <epirat07@gmail.com>
Signed-off-by: Marvin Scholz <epirat07@gmail.com>
-rw-r--r-- | libavformat/rtsp.c | 7 |
1 files changed, 7 insertions, 0 deletions
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); |