Skip to content
Snippets Groups Projects
Commit 51844e6c authored by Ronald S. Bultje's avatar Ronald S. Bultje Committed by Luca Abeni
Browse files

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
No related branches found
No related tags found
No related merge requests found
......@@ -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);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment