From patchwork Wed Aug 24 01:03:00 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: liu jc X-Patchwork-Id: 274 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.140.134 with SMTP id o128csp111958vsd; Tue, 23 Aug 2016 18:03:38 -0700 (PDT) X-Received: by 10.194.120.164 with SMTP id ld4mr193354wjb.81.1472000618183; Tue, 23 Aug 2016 18:03:38 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id u4si5863700wjz.161.2016.08.23.18.03.35; Tue, 23 Aug 2016 18:03:38 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E8706687EB3; Wed, 24 Aug 2016 04:03:28 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from COL004-OMC2S13.hotmail.com (col004-omc2s13.hotmail.com [65.55.34.87]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EDA85687EB3 for ; Wed, 24 Aug 2016 04:03:17 +0300 (EEST) Received: from APC01-HK2-obe.outbound.protection.outlook.com ([65.55.34.71]) by COL004-OMC2S13.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.23008); Tue, 23 Aug 2016 18:03:18 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=J5mUTaW72JwBvDjRieaQ/JVRh9zPc30A414hW6lzWj8=; b=eDG73AlDWMdPZIv0Fmt0PUPOMCvZoj5j5beB3/P3v8LHRbZwUv5+d7DX7HNwkMK/iqJzCGmVnMmJDcN3tavqtdULUXLypKOnWt/9SjTArGqotuj9hdydZo0RFcr1AgMgIwn5DZkgIl4kZvT3OmWnPHp89MZRDrF4z7Jj1TmRHwwmTbxeFq+5WSLv6O68OrnnXWgzxXazW14n9pbWTDWBfYDr8vBlYFV9pzvTb90kIXa53mNysvo8FWl48bNZYtRP0x7z3E9HzrRn9sUPyukdgqR04DgN3QuyIsIPRWSNz4yabWLNSU1ZtQh7/HFlaYCoZqkZrwTXlnbQ1I7EwZZEKA== Received: from HK2APC01FT113.eop-APC01.prod.protection.outlook.com (10.152.248.57) by HK2APC01HT127.eop-APC01.prod.protection.outlook.com (10.152.248.233) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.567.7; Wed, 24 Aug 2016 01:03:02 +0000 Received: from SG2PR0201MB0933.apcprd02.prod.outlook.com (10.152.248.51) by HK2APC01FT113.mail.protection.outlook.com (10.152.248.178) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.587.6 via Frontend Transport; Wed, 24 Aug 2016 01:03:02 +0000 Received: from SG2PR0201MB0933.apcprd02.prod.outlook.com ([10.162.202.141]) by SG2PR0201MB0933.apcprd02.prod.outlook.com ([10.162.202.141]) with mapi id 15.01.0599.008; Wed, 24 Aug 2016 01:03:00 +0000 From: liu jc To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH] IOS-IPv6-only-network-use-hardcode-IPv4-fix Thread-Index: AQHR/QIKLyYMU18PzUmoI4i+mPAgHKBXTEn8 Date: Wed, 24 Aug 2016 01:03:00 +0000 Message-ID: References: In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=softfail (sender IP is 10.152.248.51) smtp.mailfrom=outlook.com; ffmpeg.org; dkim=none (message not signed) header.d=none; ffmpeg.org; dmarc=fail action=none header.from=outlook.com; received-spf: SoftFail (protection.outlook.com: domain of transitioning outlook.com discourages use of 10.152.248.51 as permitted sender) x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [DUSpnafDoj6V/2MSWde73hLtdR6pHoZb] x-eopattributedmessage: 0 x-forefront-antispam-report: CIP:10.152.248.51; IPV:NLI; CTRY:; EFV:NLI; SFV:NSPM; SFS:(10019020)(98900003); DIR:OUT; SFP:1102; SCL:1; SRVR:HK2APC01HT127; H:SG2PR0201MB0933.apcprd02.prod.outlook.com; FPR:; SPF:None; LANG:en; x-microsoft-exchange-diagnostics: 1; HK2APC01HT127; 6:cBCi741ykg1ceMgmKEBgmtnmv02p/c59w1Gx09U6Nyi8X/d1vwEFw9fzoXmcJmGBSPlGpEX51l8nTON4hCPUupdvEWIIkCVDXcWl/GqpbeYv06Y3j4ejtx8rsyAk1urZA+E+/G31Uyrjp75ArvT0F/KHhxT7T99ibyidQ6tnDyGJA1vj5w5pbD9b7nT7aIbXuhVz/ASI3cPoSPtrR4kBkE4B6MZ+4cwoWCeDopJp2LRBWNc2hzbj7fdEYQvfRxl3VeM624Rg2CKrX3/ZTCfjA7AQDa+jAexgQHMvupURQtET6m2FMi25CdFDEMsNL5yF; 5:yN0SYKH66H+U0e55J7clKINke1fb16SZxKO4qnKGox6mGcuOtJk9bJDHjbcckdKsiDDlCbNP4uHP1d2gwDN0NVUp5G/CJo97YP71XOHLZhgFavv1zxFuAJiVL8KIAI8iJqaZVm1ewzptEi+D9nC9Sw==; 24:+TkclwaQf8mpEaWdypfJzVW5N8Q+5Jw1A/3vwjAYEf9ShjU6NwGWbCv+dswpetdaFKM9pC0pB4hIRAQ6Egk9Ujc29WaXBHLYRIE+/P0CLkk=; 7:9S+ZZjU5ykXL+5GeDBfrMSo6mb/wMOKD5BDCD3QNXsbP6o4QMPiNjgLjfBO21gWdSkcabwpRx+DcFhcRQGPKj1X+TBRuqoTD5BHj02fjcyXpApjEG/wk60i9iK9gQFExOOfbfece8SqhoW8av3xmcA/RiGN6rqXpBai9nUgZexkl5PaDAXPUpTqt+TZLOuJ3686YdfshXR0Ax9w4NJIrtAPSCAAYLHus+Sfw1te3XJEUV50V0xrX4nmr51W7G8xn x-ms-office365-filtering-correlation-id: 27430edf-920c-4dab-ffb3-08d3cbba650c x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(1601124038)(1601125047); SRVR:HK2APC01HT127; x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(432015012)(82015046); SRVR:HK2APC01HT127; BCL:0; PCL:0; RULEID:; SRVR:HK2APC01HT127; x-forefront-prvs: 0044C17179 spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Aug 2016 01:03:00.8307 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK2APC01HT127 X-OriginalArrivalTime: 24 Aug 2016 01:03:18.0386 (UTC) FILETIME=[4D00F520:01D1FDA3] X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: [FFmpeg-devel] [PATCH] IOS-IPv6-only-network-use-hardcode-IPv4-fix X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" there is a bug when useing getaddrinfo in IOS when use hardcode IPv4 address and in IPv6-only networks.It can not accept a port number as second parameter as an alternative you can pass a service name or it will cause connect fail. In current video CDN dispatching mechanism the hardcode IPv4 is widly used for better performance. This problem cause many APP use ffmpeg to play this type CDN dispatched video were rejected by APP store. This patch fix this by adding a port to name map for widly used port number that these CDN use to dispatch video. --- libavformat/tcp.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) mode change 100644 => 100755 libavformat/tcp.c -- 1.7.9.5 diff --git a/libavformat/tcp.c b/libavformat/tcp.c old mode 100644 new mode 100755 index c105479..0de7710 --- a/libavformat/tcp.c +++ b/libavformat/tcp.c @@ -72,7 +72,7 @@ static int tcp_open(URLContext *h, const char *uri, int flags) char buf[256]; int ret; char hostname[1024],proto[1024],path[1024]; - char portstr[10]; + char portstr[64]; s->open_timeout = 5000000; av_url_split(proto, sizeof(proto), NULL, 0, hostname, sizeof(hostname), @@ -105,7 +105,19 @@ static int tcp_open(URLContext *h, const char *uri, int flags) } hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; - snprintf(portstr, sizeof(portstr), "%d", port); + + switch (port) { + case 80: + snprintf(portstr, sizeof(portstr), "%s", "http"); + break; + case 1935: + snprintf(portstr, sizeof(portstr), "%s", "macromedia-fcs"); //know as rtmp + break; + default: + snprintf(portstr, sizeof(portstr), "%d", port); + break; + } + if (s->listen) hints.ai_flags |= AI_PASSIVE; if (!hostname[0]) @@ -268,3 +280,4 @@ const URLProtocol ff_tcp_protocol = { .flags = URL_PROTOCOL_FLAG_NETWORK, .priv_data_class = &tcp_class, }; +