Commit 51844e6c authored by Ronald S. Bultje's avatar Ronald S. Bultje Committed by Luca Abeni

Take the target address family in account when determining the family of

the local address to bind.
Fixes ffserver and UDP streaming without --disable-ipv6 on MacOS X

Patch by Ronald S. Bultje (rsbultje st gmail dot com)

Originally committed as revision 10883 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 7d8576c2
......@@ -153,8 +153,11 @@ static int udp_ipv6_set_local(URLContext *h) {
char sbuf[NI_MAXSERV];
char hbuf[NI_MAXHOST];
struct addrinfo *res0 = NULL, *res = NULL;
int family = AF_UNSPEC;
res0 = udp_ipv6_resolve_host(0, s->local_port, SOCK_DGRAM, AF_UNSPEC, AI_PASSIVE);
if (((struct sockaddr *) &s->dest_addr)->sa_family)
family = ((struct sockaddr *) &s->dest_addr)->sa_family;
res0 = udp_ipv6_resolve_host(0, s->local_port, SOCK_DGRAM, family, AI_PASSIVE);
if (res0 == 0)
goto fail;
for (res = res0; res; res=res->ai_next) {
......@@ -277,7 +280,7 @@ static int udp_open(URLContext *h, const char *uri, int flags)
is_output = (flags & URL_WRONLY);
s = av_malloc(sizeof(UDPContext));
s = av_mallocz(sizeof(UDPContext));
if (!s)
return AVERROR(ENOMEM);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment