Message ID | SG2PR0201MB0933EB22DB97A32EE685AB96A5EA0@SG2PR0201MB0933.apcprd02.prod.outlook.com |
---|---|
State | Accepted |
Commit | c0f6eff6a7edaa38a9ea4865ffc2ad36539d9d48 |
Headers | show |
On Wed, Aug 24, 2016 at 10:46:41AM +0000, liu jc wrote: > Signed-off-by: liujingchao <jcliu@outlook.com> > --- > libavformat/tcp.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > mode change 100644 => 100755 libavformat/tcp.c applied thx [...]
On 08/24/16 03:46 AM, liu jc wrote: > Signed-off-by: liujingchao <jcliu@outlook.com> > --- > libavformat/tcp.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > mode change 100644 => 100755 libavformat/tcp.c > > diff --git a/libavformat/tcp.c b/libavformat/tcp.c > old mode 100644 > new mode 100755 > index c105479..fd10a56 > --- a/libavformat/tcp.c > +++ b/libavformat/tcp.c > @@ -122,6 +122,14 @@ static int tcp_open(URLContext *h, const char *uri, int flags) > cur_ai = ai; > > restart: > + // 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; > + if (!sockaddr_v6->sin6_port){ > + sockaddr_v6->sin6_port = htons(port); > + } > + } > + > fd = ff_socket(cur_ai->ai_family, > cur_ai->ai_socktype, > cur_ai->ai_protocol); > 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.... Dave
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. Thanks, Dave
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 [...]
diff --git a/libavformat/tcp.c b/libavformat/tcp.c old mode 100644 new mode 100755 index c105479..fd10a56 --- a/libavformat/tcp.c +++ b/libavformat/tcp.c @@ -122,6 +122,14 @@ static int tcp_open(URLContext *h, const char *uri, int flags) cur_ai = ai; restart: + // 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; + if (!sockaddr_v6->sin6_port){ + sockaddr_v6->sin6_port = htons(port); + } + } + fd = ff_socket(cur_ai->ai_family, cur_ai->ai_socktype, cur_ai->ai_protocol);
Signed-off-by: liujingchao <jcliu@outlook.com> --- libavformat/tcp.c | 8 ++++++++ 1 file changed, 8 insertions(+) mode change 100644 => 100755 libavformat/tcp.c