[FFmpeg-cvslog] r25424 - trunk/libavformat/sapenc.c

mstorsjo subversion
Sat Oct 9 16:39:31 CEST 2010


Author: mstorsjo
Date: Sat Oct  9 16:39:31 2010
New Revision: 25424

Log:
sapenc: Use the normal URL port as RTP port

This makes the URL handling consistent - the URL hostname is used as
destination for the RTP packets, so the URL port should also belong to that.
Now the options announce_addr= and announce_port specify where the
announcements are sent.

Modified:
   trunk/libavformat/sapenc.c

Modified: trunk/libavformat/sapenc.c
==============================================================================
--- trunk/libavformat/sapenc.c	Sat Oct  9 11:29:29 2010	(r25423)
+++ trunk/libavformat/sapenc.c	Sat Oct  9 16:39:31 2010	(r25424)
@@ -70,7 +70,7 @@ static int sap_write_header(AVFormatCont
     struct SAPState *sap = s->priv_data;
     char host[1024], path[1024], url[1024], announce_addr[50] = "";
     char *option_list;
-    int port, base_port = 5004, i, pos = 0, same_port = 0, ttl = 255;
+    int port = 9875, base_port = 5004, i, pos = 0, same_port = 0, ttl = 255;
     AVFormatContext **contexts = NULL;
     int ret = 0;
     struct sockaddr_storage localaddr;
@@ -81,17 +81,17 @@ static int sap_write_header(AVFormatCont
         return AVERROR(EIO);
 
     /* extract hostname and port */
-    av_url_split(NULL, 0, NULL, 0, host, sizeof(host), &port,
+    av_url_split(NULL, 0, NULL, 0, host, sizeof(host), &base_port,
                  path, sizeof(path), s->filename);
-    if (port < 0)
-        port = 9875;
+    if (base_port < 0)
+        base_port = 5004;
 
     /* search for options */
     option_list = strrchr(path, '?');
     if (option_list) {
         char buf[50];
-        if (find_info_tag(buf, sizeof(buf), "base_port", option_list)) {
-            base_port = strtol(buf, NULL, 10);
+        if (find_info_tag(buf, sizeof(buf), "announce_port", option_list)) {
+            port = strtol(buf, NULL, 10);
         }
         if (find_info_tag(buf, sizeof(buf), "same_port", option_list)) {
             same_port = strtol(buf, NULL, 10);



More information about the ffmpeg-cvslog mailing list