summaryrefslogtreecommitdiff
path: root/libavformat/rtsp.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2008-08-27 00:33:22 +0000
committerRonald S. Bultje <rsbultje@gmail.com>2008-08-27 00:33:22 +0000
commit8646b9070bb3104e1c3f35baeb652740f58bff9c (patch)
tree60a2dfa0f577e8b0e0647a4d836b9c61f036a519 /libavformat/rtsp.c
parent8ee552f69c615c377fa69adac7bc801f7fe6f7ed (diff)
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/rtsp.c')
-rw-r--r--libavformat/rtsp.c6
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;
}