[FFmpeg-devel] [PATCH] workaround for IOS9 getaddrinfo in IPv6 only network use hardcode IPv4 address can not resolve port number.

Michael Niedermayer michael at niedermayer.cc
Sun Nov 6 22:30:26 EET 2016


On Sun, Nov 06, 2016 at 09:31:09AM -0800, Dave Yeo wrote:
> On 11/06/16 04:34 AM, Michael Niedermayer wrote:
> >>src/libavformat/tcp.c: In function 'tcp_open':
> >>>src/libavformat/tcp.c:128:25: error: dereferencing pointer to
> >>>incomplete type
> >>>          if (!sockaddr_v6->sin6_port){
> >>>                          ^
> >>>src/libavformat/tcp.c:129:24: error: dereferencing pointer to
> >>>incomplete type
> >>>              sockaddr_v6->sin6_port = htons(port);
> >>>                         ^
> >>>make: *** [libavformat/tcp.o] Error 1
> >>>make: *** Waiting for unfinished jobs....
> >does this fix it: ?
> >
> >diff --git a/libavformat/tcp.c b/libavformat/tcp.c
> >index fd10a56..25abafc 100644
> >--- a/libavformat/tcp.c
> >+++ b/libavformat/tcp.c
> >@@ -122,6 +122,7 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
> >      cur_ai = ai;
> >
> >   restart:
> >+#if HAVE_STRUCT_SOCKADDR_IN6
> >      // workaround for IOS9 getaddrinfo in IPv6 only network use hardcode IPv4 address can not resolve port number.
> >      if (cur_ai->ai_family == AF_INET6){
> >          struct sockaddr_in6 * sockaddr_v6 = (struct sockaddr_in6 *)cur_ai->ai_addr;
> >@@ -129,6 +130,7 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
> >              sockaddr_v6->sin6_port = htons(port);
> >          }
> >      }
> >+#endif
> >
> >      fd = ff_socket(cur_ai->ai_family,
> >                     cur_ai->ai_socktype,
> 
> Yes, that seems to fix it.

applied

thanks

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I know you won't believe me, but the highest form of Human Excellence is
to question oneself and others. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20161106/06a2e7e5/attachment.sig>


More information about the ffmpeg-devel mailing list