[SCM] libav/experimental: 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
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 16:08:51 UTC 2013
The following commit has been merged in the experimental branch:
commit 51844e6cd2f2ef5876eae96d7d6f20ed5a0c4797
Author: Ronald S. Bultje <rsbultje at gmail.com>
Date: Wed Oct 31 07:27:38 2007 +0000
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
diff --git a/libavformat/udp.c b/libavformat/udp.c
index b33224a..c52d306 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -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);
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list