aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Linge <erikli@axis.com>2022-05-09 22:38:08 +0200
committerMarvin Scholz <epirat07@gmail.com>2025-06-11 19:19:50 +0200
commitc917f28c49e9cae9b4e190025841207d754eed61 (patch)
tree93f8547899fbb6b5aa8972449f2c08916b5b43c6
parent2dcd9c5aac46846493cd49a21adb553454f000ea (diff)
downloadffmpeg-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.c7
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);