[FFmpeg-devel] [PATCH] workaround for IOS9 getaddrinfo in IPv6 only network use hardcode IPv4 address can not resolve port number.
Dave Yeo
daveryeo at telus.net
Sun Nov 6 09:22:04 EET 2016
On 08/24/16 03:46 AM, liu jc wrote:
> Signed-off-by: liujingchao <jcliu at 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
More information about the ffmpeg-devel
mailing list