changeset 2095:2daf4caeba36 libavformat

Add transport method options patch by Thijs Vermeir thijs vermeir chez barco com original thread: [FFmpeg-devel] [PATCH] Add rtsp options support ( added option)
author benoit
date Tue, 22 May 2007 07:51:39 +0000
parents b4d5d85d6d0b
children 85e48ffccf91
files rtsp.c
diffstat 1 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/rtsp.c	Tue May 22 07:47:04 2007 +0000
+++ b/rtsp.c	Tue May 22 07:51:39 2007 +0000
@@ -847,7 +847,7 @@
     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 @@
             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 @@
         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 */