You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
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
This commit is contained in:
committed by
Luca Abeni
parent
7d8576c279
commit
51844e6cd2
@@ -153,8 +153,11 @@ static int udp_ipv6_set_local(URLContext *h) {
|
|||||||
char sbuf[NI_MAXSERV];
|
char sbuf[NI_MAXSERV];
|
||||||
char hbuf[NI_MAXHOST];
|
char hbuf[NI_MAXHOST];
|
||||||
struct addrinfo *res0 = NULL, *res = NULL;
|
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)
|
if (res0 == 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
for (res = res0; res; res=res->ai_next) {
|
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);
|
is_output = (flags & URL_WRONLY);
|
||||||
|
|
||||||
s = av_malloc(sizeof(UDPContext));
|
s = av_mallocz(sizeof(UDPContext));
|
||||||
if (!s)
|
if (!s)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user