Mercurial > libavformat.hg
diff rtmpproto.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 | b13205b415b4 |
children | 7a123cc24a81 |
line wrap: on
line diff
--- a/rtmpproto.c Fri Mar 05 22:31:45 2010 +0000 +++ b/rtmpproto.c Fri Mar 05 22:35:21 2010 +0000 @@ -113,7 +113,7 @@ ff_rtmp_packet_create(&pkt, RTMP_SYSTEM_CHANNEL, RTMP_PT_INVOKE, 0, 4096); p = pkt.data; - snprintf(tcurl, sizeof(tcurl), "%s://%s:%d/%s", proto, host, port, rt->app); + ff_url_join(tcurl, sizeof(tcurl), proto, NULL, host, port, "/%s", rt->app); ff_amf_write_string(&p, "connect"); ff_amf_write_number(&p, 1.0); ff_amf_write_object_start(&p); @@ -817,7 +817,7 @@ if (port < 0) port = RTMP_DEFAULT_PORT; - snprintf(buf, sizeof(buf), "tcp://%s:%d", hostname, port); + ff_url_join(buf, sizeof(buf), "tcp", NULL, hostname, port, NULL); if (url_open(&rt->stream, buf, URL_RDWR) < 0) { av_log(LOG_CONTEXT, AV_LOG_ERROR, "Cannot open connection %s\n", buf);