[FFmpeg-cvslog] avformat/rtsp: parse framerate in sdp

Erik Linge git at videolan.org
Wed Jun 11 20:20:51 EEST 2025


ffmpeg | branch: master | Erik Linge <erikli at axis.com> | Mon May  9 22:38:08 2022 +0200| [c917f28c49e9cae9b4e190025841207d754eed61] | committer: Marvin Scholz

avformat/rtsp: parse framerate in sdp

Co-authored-by: Marvin Scholz <epirat07 at gmail.com>
Signed-off-by: Marvin Scholz <epirat07 at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c917f28c49e9cae9b4e190025841207d754eed61
---

 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);



More information about the ffmpeg-cvslog mailing list