From 8bd32c0424ca1233137a61403d65a2b4ee03d376 Mon Sep 17 00:00:00 2001 From: Thijs Vermeir Date: Tue, 22 May 2007 07:51:39 +0000 Subject: Add transport method options patch by Thijs Vermeir thijs vermeir chez barco com original thread: [FFmpeg-devel] [PATCH] Add rtsp options support ( added option) Originally committed as revision 9099 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/rtsp.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index a433009..a931e62 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -847,7 +847,7 @@ static int rtsp_read_header(AVFormatContext *s, RTSPHeader reply1, *reply = &reply1; unsigned char *content = NULL; RTSPStream *rtsp_st; - int protocol_mask; + int protocol_mask = 0; AVStream *st; /* extract hostname and port */ @@ -868,9 +868,18 @@ static int rtsp_read_header(AVFormatContext *s, if (option_list) *(option_list++) = 0; /* handle the options */ + if (strcmp(option, "udp") == 0) + protocol_mask = (1<< RTSP_PROTOCOL_RTP_UDP); + else if (strcmp(option, "multicast") == 0) + protocol_mask = (1<< RTSP_PROTOCOL_RTP_UDP_MULTICAST); + else if (strcmp(option, "tcp") == 0) + protocol_mask = (1<< RTSP_PROTOCOL_RTP_TCP); } } + if (!protocol_mask) + protocol_mask = rtsp_default_protocols; + /* open the tcp connexion */ snprintf(tcpname, sizeof(tcpname), "tcp://%s:%d", host, port); if (url_open(&rtsp_hd, tcpname, URL_RDWR) < 0) @@ -901,8 +910,6 @@ static int rtsp_read_header(AVFormatContext *s, goto fail; } - protocol_mask = rtsp_default_protocols; - /* for each stream, make the setup request */ /* XXX: we assume the same server is used for the control of each RTSP stream */ -- cgit v1.1