|
|
|
@ -48,6 +48,7 @@ typedef struct { |
|
|
|
|
* option: 'multicast=1' : enable multicast
|
|
|
|
|
* 'ttl=n' : set the ttl value (for multicast only) |
|
|
|
|
* 'localport=n' : set the local port |
|
|
|
|
* 'pkt_size=n' : set max packet size |
|
|
|
|
* |
|
|
|
|
* @param s1 media file context |
|
|
|
|
* @param uri of the remote server |
|
|
|
@ -104,6 +105,7 @@ static int udp_open(URLContext *h, const char *uri, int flags) |
|
|
|
|
char buf[256]; |
|
|
|
|
|
|
|
|
|
h->is_streamed = 1; |
|
|
|
|
h->max_packet_size = 1472; |
|
|
|
|
|
|
|
|
|
is_output = (flags & URL_WRONLY); |
|
|
|
|
|
|
|
|
@ -123,6 +125,9 @@ static int udp_open(URLContext *h, const char *uri, int flags) |
|
|
|
|
if (find_info_tag(buf, sizeof(buf), "localport", p)) { |
|
|
|
|
s->local_port = strtol(buf, NULL, 10); |
|
|
|
|
} |
|
|
|
|
if (find_info_tag(buf, sizeof(buf), "pkt_size", p)) { |
|
|
|
|
h->max_packet_size = strtol(buf, NULL, 10); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* fill the dest addr */ |
|
|
|
@ -191,7 +196,6 @@ static int udp_open(URLContext *h, const char *uri, int flags) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
s->udp_fd = udp_fd; |
|
|
|
|
h->max_packet_size = 1472; /* XXX: probe it ? */ |
|
|
|
|
return 0; |
|
|
|
|
fail: |
|
|
|
|
if (udp_fd >= 0) |
|
|
|
|