68 path,
sizeof(path), uri);
73 ff_url_join(buf,
sizeof(buf),
"udp",
NULL, hostname, port + 1,
"%s", path);
94 vsnprintf(buf1,
sizeof(buf1), fmt, ap);
100 const char *hostname,
int port,
101 int local_port,
int ttl,
102 int max_packet_size,
int connect)
106 url_add_option(buf, buf_size,
"localport=%d", local_port);
108 url_add_option(buf, buf_size,
"ttl=%d", ttl);
109 if (max_packet_size >=0)
110 url_add_option(buf, buf_size,
"pkt_size=%d", max_packet_size);
112 url_add_option(buf, buf_size,
"connect=1");
135 int rtp_port, rtcp_port,
137 local_rtp_port, local_rtcp_port, max_packet_size;
144 path,
sizeof(path), uri);
147 rtcp_port = rtp_port+1;
149 local_rtcp_port = -1;
150 max_packet_size = -1;
153 p = strchr(uri,
'?');
156 ttl = strtol(buf,
NULL, 10);
159 rtcp_port = strtol(buf,
NULL, 10);
162 local_rtp_port = strtol(buf,
NULL, 10);
165 local_rtp_port = strtol(buf,
NULL, 10);
168 local_rtcp_port = strtol(buf,
NULL, 10);
171 max_packet_size = strtol(buf,
NULL, 10);
174 connect = strtol(buf,
NULL, 10);
179 hostname, rtp_port, local_rtp_port, ttl, max_packet_size,
183 if (local_rtp_port>=0 && local_rtcp_port<0)
187 hostname, rtcp_port, local_rtcp_port, ttl, max_packet_size,
215 struct pollfd p[2] = {{s->
rtp_fd, POLLIN, 0}, {s->
rtcp_fd, POLLIN, 0}};
224 if (p[1].revents & POLLIN) {
225 from_len =
sizeof(from);
226 len = recvfrom (s->
rtcp_fd, buf, size, 0,
227 (
struct sockaddr *)&from, &from_len);
237 if (p[0].revents & POLLIN) {
238 from_len =
sizeof(from);
239 len = recvfrom (s->
rtp_fd, buf, size, 0,
240 (
struct sockaddr *)&from, &from_len);
319 int *hs = *handles =
av_malloc(
sizeof(**handles) * 2);