diff rtpproto.c @ 5756:7c7fe75728dd libavformat

Use ff_url_join for assembling URLs, instead of snprintf This ensures proper escaping of numerical IPv6 addresses. The RTSP (de)muxer needs its own network initialization, since it isn't a protocol and url_open hasn't been called yet.
author mstorsjo
date Fri, 05 Mar 2010 22:35:21 +0000
parents cb840f900fef
children 7a123cc24a81
line wrap: on
line diff
--- a/rtpproto.c	Fri Mar 05 22:31:45 2010 +0000
+++ b/rtpproto.c	Fri Mar 05 22:35:21 2010 +0000
@@ -67,10 +67,10 @@
     url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), &port,
               path, sizeof(path), uri);
 
-    snprintf(buf, sizeof(buf), "udp://%s:%d%s", hostname, port, path);
+    ff_url_join(buf, sizeof(buf), "udp", NULL, hostname, port, "%s", path);
     udp_set_remote_url(s->rtp_hd, buf);
 
-    snprintf(buf, sizeof(buf), "udp://%s:%d%s", hostname, port + 1, path);
+    ff_url_join(buf, sizeof(buf), "udp", NULL, hostname, port + 1, "%s", path);
     udp_set_remote_url(s->rtcp_hd, buf);
     return 0;
 }
@@ -101,7 +101,7 @@
                           int local_port, int ttl,
                           int max_packet_size)
 {
-    snprintf(buf, buf_size, "udp://%s:%d", hostname, port);
+    ff_url_join(buf, buf_size, "udp", NULL, hostname, port, NULL);
     if (local_port >= 0)
         url_add_option(buf, buf_size, "localport=%d", local_port);
     if (ttl >= 0)