diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2008-08-27 00:33:22 +0000 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2008-08-27 00:33:22 +0000 |
commit | 8646b9070bb3104e1c3f35baeb652740f58bff9c (patch) | |
tree | 60a2dfa0f577e8b0e0647a4d836b9c61f036a519 /libavformat | |
parent | 8ee552f69c615c377fa69adac7bc801f7fe6f7ed (diff) | |
download | ffmpeg-8646b9070bb3104e1c3f35baeb652740f58bff9c.tar.gz |
Use RTPDynamicProtocol parse_sdp_a_line() handlers in case of unknown SDP
lines. This allows "private" SDP tags to be forwarded to the specific handler,
allowing protocol-specific handling of SDP data. See mailinglist discussion
in the "Realmedia patch" thread.
Originally committed as revision 14987 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/rtsp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index a3af365cae..88d15c3f4e 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -527,6 +527,12 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1, rtsp_parse_range_npt(p, &start, &end); s->start_time= start; s->duration= (end==AV_NOPTS_VALUE)?AV_NOPTS_VALUE:end-start; // AV_NOPTS_VALUE means live broadcast (and can't seek) + } else if (s->nb_streams > 0) { + rtsp_st = s->streams[s->nb_streams - 1]->priv_data; + if (rtsp_st->dynamic_handler && + rtsp_st->dynamic_handler->parse_sdp_a_line) + rtsp_st->dynamic_handler->parse_sdp_a_line(s->streams[s->nb_streams - 1], + rtsp_st->dynamic_protocol_context, buf); } break; } |