changeset 3957:9f943bb755f9 libavformat

Rename RTSPProtocol to RTSPLowerTransport, so that its name properly tells us that it only describes the lower-level transport (TCP vs. UDP) and not the actual data layout (e.g. RDT vs. RTP). See discussion in "Realmedia patch" thread on ML.
author rbultje
date Tue, 30 Sep 2008 13:18:41 +0000
parents 8bdecea89071
children ab2d2bc3a6e7
files rtsp.c rtsp.h
diffstat 2 files changed, 39 insertions(+), 39 deletions(-) [+]
line wrap: on
line diff
--- a/rtsp.c	Tue Sep 30 02:44:57 2008 +0000
+++ b/rtsp.c	Tue Sep 30 13:18:41 2008 +0000
@@ -63,7 +63,7 @@
     //    ByteIOContext rtsp_gb;
     int seq;        /* RTSP command sequence number */
     char session_id[512];
-    enum RTSPProtocol protocol;
+    enum RTSPLowerTransport lower_transport;
     enum RTSPServerType server_type;
     char last_reply[2048]; /* XXX: allocate ? */
     RTPDemuxContext *cur_rtp;
@@ -94,7 +94,7 @@
    changing this variable */
 
 #if LIBAVFORMAT_VERSION_INT < (53 << 16)
-int rtsp_default_protocols = (1 << RTSP_PROTOCOL_RTP_UDP);
+int rtsp_default_protocols = (1 << RTSP_LOWER_TRANSPORT_UDP);
 #endif
 
 static int rtsp_probe(AVProbeData *p)
@@ -643,9 +643,9 @@
             profile[0] = '\0';
         }
         if (!strcasecmp(lower_transport, "TCP"))
-            th->protocol = RTSP_PROTOCOL_RTP_TCP;
+            th->lower_transport = RTSP_LOWER_TRANSPORT_TCP;
         else
-            th->protocol = RTSP_PROTOCOL_RTP_UDP;
+            th->lower_transport = RTSP_LOWER_TRANSPORT_UDP;
 
         if (*p == ';')
             p++;
@@ -676,8 +676,8 @@
                                      &th->interleaved_max, &p);
                 }
             } else if (!strcmp(parameter, "multicast")) {
-                if (th->protocol == RTSP_PROTOCOL_RTP_UDP)
-                    th->protocol = RTSP_PROTOCOL_RTP_UDP_MULTICAST;
+                if (th->lower_transport == RTSP_LOWER_TRANSPORT_UDP)
+                    th->lower_transport = RTSP_LOWER_TRANSPORT_UDP_MULTICAST;
             } else if (!strcmp(parameter, "ttl")) {
                 if (*p == '=') {
                     p++;
@@ -899,7 +899,7 @@
  */
 static int
 make_setup_request (AVFormatContext *s, const char *host, int port,
-                    int protocol, const char *real_challenge)
+                    int lower_transport, const char *real_challenge)
 {
     RTSPState *rt = s->priv_data;
     int j, i, err;
@@ -923,7 +923,7 @@
         rtsp_st = rt->rtsp_streams[i];
 
         /* RTP/UDP */
-        if (protocol == RTSP_PROTOCOL_RTP_UDP) {
+        if (lower_transport == RTSP_LOWER_TRANSPORT_UDP) {
             char buf[256];
 
             /* first try in specified port range */
@@ -954,12 +954,12 @@
         }
 
         /* RTP/TCP */
-        else if (protocol == RTSP_PROTOCOL_RTP_TCP) {
+        else if (lower_transport == RTSP_LOWER_TRANSPORT_TCP) {
             snprintf(transport, sizeof(transport) - 1,
                      "%s/TCP", trans_pref);
         }
 
-        else if (protocol == RTSP_PROTOCOL_RTP_UDP_MULTICAST) {
+        else if (lower_transport == RTSP_LOWER_TRANSPORT_UDP_MULTICAST) {
             snprintf(transport, sizeof(transport) - 1,
                      "%s/UDP;multicast", trans_pref);
         }
@@ -990,28 +990,28 @@
 
         /* XXX: same protocol for all streams is required */
         if (i > 0) {
-            if (reply->transports[0].protocol != rt->protocol) {
+            if (reply->transports[0].lower_transport != rt->lower_transport) {
                 err = AVERROR_INVALIDDATA;
                 goto fail;
             }
         } else {
-            rt->protocol = reply->transports[0].protocol;
+            rt->lower_transport = reply->transports[0].lower_transport;
         }
 
         /* close RTP connection if not choosen */
-        if (reply->transports[0].protocol != RTSP_PROTOCOL_RTP_UDP &&
-            (protocol == RTSP_PROTOCOL_RTP_UDP)) {
+        if (reply->transports[0].lower_transport != RTSP_LOWER_TRANSPORT_UDP &&
+            (lower_transport == RTSP_LOWER_TRANSPORT_UDP)) {
             url_close(rtsp_st->rtp_handle);
             rtsp_st->rtp_handle = NULL;
         }
 
-        switch(reply->transports[0].protocol) {
-        case RTSP_PROTOCOL_RTP_TCP:
+        switch(reply->transports[0].lower_transport) {
+        case RTSP_LOWER_TRANSPORT_TCP:
             rtsp_st->interleaved_min = reply->transports[0].interleaved_min;
             rtsp_st->interleaved_max = reply->transports[0].interleaved_max;
             break;
 
-        case RTSP_PROTOCOL_RTP_UDP:
+        case RTSP_LOWER_TRANSPORT_UDP:
             {
                 char url[1024];
 
@@ -1024,7 +1024,7 @@
                 }
             }
             break;
-        case RTSP_PROTOCOL_RTP_UDP_MULTICAST:
+        case RTSP_LOWER_TRANSPORT_UDP_MULTICAST:
             {
                 char url[1024];
                 struct in_addr in;
@@ -1070,7 +1070,7 @@
     int port, ret, err;
     RTSPHeader reply1, *reply = &reply1;
     unsigned char *content = NULL;
-    int protocol_mask = 0;
+    int lower_transport_mask = 0;
     char real_challenge[64];
 
     /* extract hostname and port */
@@ -1092,16 +1092,16 @@
                 *(option_list++) = 0;
             /* handle the options */
             if (strcmp(option, "udp") == 0)
-                protocol_mask = (1<< RTSP_PROTOCOL_RTP_UDP);
+                lower_transport_mask = (1<< RTSP_LOWER_TRANSPORT_UDP);
             else if (strcmp(option, "multicast") == 0)
-                protocol_mask = (1<< RTSP_PROTOCOL_RTP_UDP_MULTICAST);
+                lower_transport_mask = (1<< RTSP_LOWER_TRANSPORT_UDP_MULTICAST);
             else if (strcmp(option, "tcp") == 0)
-                protocol_mask = (1<< RTSP_PROTOCOL_RTP_TCP);
+                lower_transport_mask = (1<< RTSP_LOWER_TRANSPORT_TCP);
         }
     }
 
-    if (!protocol_mask)
-        protocol_mask = (1 << RTSP_PROTOCOL_RTP_LAST) - 1;
+    if (!lower_transport_mask)
+        lower_transport_mask = (1 << RTSP_LOWER_TRANSPORT_LAST) - 1;
 
     /* open the tcp connexion */
     snprintf(tcpname, sizeof(tcpname), "tcp://%s:%d", host, port);
@@ -1179,15 +1179,15 @@
     }
 
     do {
-        int protocol = ff_log2_tab[protocol_mask & ~(protocol_mask - 1)];
+        int lower_transport = ff_log2_tab[lower_transport_mask & ~(lower_transport_mask - 1)];
 
-        err = make_setup_request(s, host, port, protocol,
+        err = make_setup_request(s, host, port, lower_transport,
                                  rt->server_type == RTSP_SERVER_REAL ?
                                      real_challenge : NULL);
         if (err < 0)
             goto fail;
-        protocol_mask &= ~(1 << protocol);
-        if (protocol_mask == 0 && err == 1) {
+        lower_transport_mask &= ~(1 << lower_transport);
+        if (lower_transport_mask == 0 && err == 1) {
             err = AVERROR(FF_NETERROR(EPROTONOSUPPORT));
             goto fail;
         }
@@ -1353,13 +1353,13 @@
 
     /* read next RTP packet */
  redo:
-    switch(rt->protocol) {
+    switch(rt->lower_transport) {
     default:
-    case RTSP_PROTOCOL_RTP_TCP:
+    case RTSP_LOWER_TRANSPORT_TCP:
         len = tcp_read_packet(s, &rtsp_st, buf, sizeof(buf));
         break;
-    case RTSP_PROTOCOL_RTP_UDP:
-    case RTSP_PROTOCOL_RTP_UDP_MULTICAST:
+    case RTSP_LOWER_TRANSPORT_UDP:
+    case RTSP_LOWER_TRANSPORT_UDP_MULTICAST:
         len = udp_read_packet(s, &rtsp_st, buf, sizeof(buf));
         if (len >=0 && rtsp_st->rtp_ctx)
             rtp_check_and_send_back_rr(rtsp_st->rtp_ctx, len);
@@ -1462,7 +1462,7 @@
 
 #if 0
     /* NOTE: it is valid to flush the buffer here */
-    if (rt->protocol == RTSP_PROTOCOL_RTP_TCP) {
+    if (rt->lower_transport == RTSP_LOWER_TRANSPORT_TCP) {
         url_fclose(&rt->rtsp_gb);
     }
 #endif
--- a/rtsp.h	Tue Sep 30 02:44:57 2008 +0000
+++ b/rtsp.h	Tue Sep 30 13:18:41 2008 +0000
@@ -25,14 +25,14 @@
 #include "avformat.h"
 #include "rtspcodes.h"
 
-enum RTSPProtocol {
-    RTSP_PROTOCOL_RTP_UDP = 0,
-    RTSP_PROTOCOL_RTP_TCP = 1,
-    RTSP_PROTOCOL_RTP_UDP_MULTICAST = 2,
+enum RTSPLowerTransport {
+    RTSP_LOWER_TRANSPORT_UDP = 0,
+    RTSP_LOWER_TRANSPORT_TCP = 1,
+    RTSP_LOWER_TRANSPORT_UDP_MULTICAST = 2,
     /**
      * This is not part of public API and shouldn't be used outside of ffmpeg.
      */
-    RTSP_PROTOCOL_RTP_LAST
+    RTSP_LOWER_TRANSPORT_LAST
 };
 
 #define RTSP_DEFAULT_PORT   554
@@ -50,7 +50,7 @@
     int server_port_min, server_port_max; /**< RTP ports */
     int ttl; /**< ttl value */
     uint32_t destination; /**< destination IP address */
-    enum RTSPProtocol protocol;
+    enum RTSPLowerTransport lower_transport;
 } RTSPTransportField;
 
 typedef struct RTSPHeader {