Add RTP/ASF header parsing, which is part of the SDP of these streams. See

patch discussion in "[PATCH] RTSP-MS 10/15: ASF header parsing" thread.

Originally committed as revision 18023 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Ronald S. Bultje
2009-03-17 12:34:57 +00:00
parent 6d050dd673
commit 1a30d5415f
5 changed files with 104 additions and 1 deletions

View File

@@ -36,6 +36,7 @@
#include "rtpdec.h"
#include "rdt.h"
#include "rtp_asf.h"
//#define DEBUG
//#define DEBUG_RTP_TCP
@@ -496,7 +497,10 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
} else if (av_strstart(p, "IsRealDataType:integer;",&p)) {
if (atoi(p) == 1)
rt->transport = RTSP_TRANSPORT_RDT;
} else if (s->nb_streams > 0) {
} else {
if (rt->server_type == RTSP_SERVER_WMS)
ff_wms_parse_sdp_a_line(s, p);
if (s->nb_streams > 0) {
if (rt->server_type == RTSP_SERVER_REAL)
ff_real_parse_sdp_a_line(s, s->nb_streams - 1, p);
@@ -505,6 +509,7 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
rtsp_st->dynamic_handler->parse_sdp_a_line)
rtsp_st->dynamic_handler->parse_sdp_a_line(s, s->nb_streams - 1,
rtsp_st->dynamic_protocol_context, buf);
}
}
break;
}
@@ -853,6 +858,10 @@ static void rtsp_close_streams(RTSPState *rt)
}
}
av_free(rt->rtsp_streams);
if (rt->asf_ctx) {
av_close_input_stream (rt->asf_ctx);
rt->asf_ctx = NULL;
}
}
static int