From patchwork Mon May 16 11:35:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: gaojiangjie@live.com X-Patchwork-Id: 35788 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp1491703pzb; Mon, 16 May 2022 04:36:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxRkqd8cIWOcwzIw2oxHIVR93ZaR1l8vV7xujnn/mVvai7voUVlBpsfX1HXx4NK/ye1mk40 X-Received: by 2002:a05:6402:268d:b0:428:c73:95c4 with SMTP id w13-20020a056402268d00b004280c7395c4mr12619549edd.44.1652700978959; Mon, 16 May 2022 04:36:18 -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 hu9-20020a170907a08900b006f395c76f21si10197587ejc.891.2022.05.16.04.36.18; Mon, 16 May 2022 04:36:18 -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=@live.com header.s=selector1 header.b=KBEIDYwr; arc=fail (body hash mismatch); 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 sp=QUARANTINE dis=NONE) header.from=live.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AD58668B2DD; Mon, 16 May 2022 14:36:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from JPN01-TYC-obe.outbound.protection.outlook.com (mail-tycjpn01olkn2063.outbound.protection.outlook.com [40.92.99.63]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 70AB268818E for ; Mon, 16 May 2022 14:36:07 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kmlDQ9jkFYZ36/66njcvLYIHRCEuAQeky4oVHaGAktpC8m+XBPqyEeXo4JJbQqzCjPHBmuIp5E6EgTWgGFzRKsdghSSkNKwBzcKij7ouYIWg2c7qtTGAWF8WuWzMEJcdqC/AxI1Tjs+LRftUgPGD1LqCP7RPtU6ygjo+QRX+5UNV25QRI8PqOYUp1y7UEXedz28VHkza7RZh+TXLnrJvRq7L6Kz9K8K1duK+swVgJ/4idEfB+vtUNtgrV2Xq/95lXnNdVhQ55HOTOBYyGVKNx3I7+rg/intNXizBpkEB/mzTRyH7RK4bUzcusSPU8bzGtJMBIP7kVxxrwMDqtvY92A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jaH8CjQU9tcDuF3ZDtU5pGoNSEzNcndxHTHPPQNjysM=; b=jql09HZe7F2vI3K1G86TKM/pb3um9DrFM24C7qGxaNfMheXqDqCi5VVqJSb0HqOll5AYUTww2TKjVqOrj+iHy4FkdKH9WBJ1mRTGZ+KmPW+3UHXkg3Uj6UTPq4EpI0ukDqh/WkWA0yssnshZijUdpR7j4z1YZprzfmQZD08iyg+NEHYF+dD11CDI6MPwNNc2V6D4iLTqZkyHhnQGA1arPBJEYovfbaBJ8/GuFJjyd1j2B2c5GvZOf7b8+OVH9jkOI0Im93sbqokrs7gciD5+8K4WRcrYG/qJ989oHgoQYwxZIvHtJ+z/ge+aTYLX7iCi9bZ2xEDz2Y24z3uR8k+TNQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jaH8CjQU9tcDuF3ZDtU5pGoNSEzNcndxHTHPPQNjysM=; b=KBEIDYwriawb9gEmq79aVKlDzBr+BlE70nHLDWe2Mh8A6/Cp76cLfp5pYFfzj4izuV4IKBmPnBFSnDH41UmWwQEdp+ko85VlMtgu1+2hxXsTSih57Gt+h8WDGFwjeGr2BB/ygENWA0MDqJsk/rm+eJOBwpixXifMI+IUKDHtlYiSqn/XHR6AXZi0f1XTikQotLHbDma/OY4LiNxhuDYdYV0XwTmOTMhoGt9z4xfJscBS0vQoeix5Ml2vio0CIAcC5LKFrAiYIfa15ghzk+NSR7Nk2lZVA1hh4KsY6OTbPEhfMlCeoZSgCCKA5DMfMUnjxSbifRoWm+/QJHPnJQxv5Q== Received: from TYCP286MB2608.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:243::14) by TYYP286MB1643.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:114::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.14; Mon, 16 May 2022 11:36:03 +0000 Received: from TYCP286MB2608.JPNP286.PROD.OUTLOOK.COM ([fe80::1031:d227:4552:4330]) by TYCP286MB2608.JPNP286.PROD.OUTLOOK.COM ([fe80::1031:d227:4552:4330%6]) with mapi id 15.20.5250.018; Mon, 16 May 2022 11:36:03 +0000 From: gaojiangjie@live.com To: ffmpeg-devel@ffmpeg.org Date: Mon, 16 May 2022 19:35:24 +0800 Message-ID: X-Mailer: git-send-email 2.27.0.windows.1 X-TMN: [quRGXWVMPYbHOd3o2d+grs/gVHcfDCx8UIv6FDhV6Hg=] X-ClientProxiedBy: HK2PR04CA0058.apcprd04.prod.outlook.com (2603:1096:202:14::26) To TYCP286MB2608.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:243::14) X-Microsoft-Original-Message-ID: <20220516113524.1521-1-gaojiangjie@live.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4cd1d043-31c8-4ffe-5d25-08da373041d9 X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEsnwJhcwgfZpS9faxnMB1BbTZNfjzxAXy6lXdpqdhxu2ruJb0rKTFGeTPvrfiMr6bIuWgYcZSauA7dMOK8f6WKV0Vo4GRT0JOuy2OiQ0ymyx5owqT35AQ0sVkwY0yHBmq3j5m3WW9rYPHRuEE0VU+qtuPMzcDkKwXXCYFuLzi2oXgJ88nmN02v3YO1K3lne2tU4jzHZXBJPXanGzwQaoIrUw19ZW9QVKz+uDDoN/9BNrVdHD9JRcfQen45Yvksr3X0/2F0S9ka3FwfkrGhhZF+mXf072WwsVloVuIBDwhT2UOPj9B+qGrUb/W7rN0J3YhDL1tcjDC8ruAVpekHyze7rJi66a26BWdc8V2jTy4I/ViO097XmUU7VyrsRnRDzqrN2VuMjv2yP3rbZf8RkeubyFOijIrF4KZVza7AdFwD1DLtHKJW9wPz0DdRwrTNSAe8Ien8T4tVV68CNIUO3fvUpDCg1A0lxbSutigKaIBU/Jv8pjuC/G5jRtFlhTK+8bx5JzpILT7n15Zp6fd8AjzFtkMjmN0lb3VNydB0hZqO7lDprTOvuw9FkZDnSfSVJ24CuGD93Ej04DwvaqCfQstIwo6kK42+r8W/Hydp1is19g870KRKJEkb8IsQ4qPm3Xx19RPVEgn1rBFP3fy3CsSyeid76caowQXc8FW3CcEP0kf8oP9SkBZ+okkhRy7q0Z3+0s9WHtsRJhE5V1seAitKFFJ3NI++BYAni+JyY/vCrCNKs3ySoCov7sMD8/df0CO92DR1wFpf2HW/WHIROUCd3 X-MS-TrafficTypeDiagnostic: TYYP286MB1643:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: u0yC9wIpisZUEOwBnRymE2mvHGY80hCqNoWJx7iabFcuvz4I0MZjpEhnX6jvzgUxKAiMoRX/Wcu5U/hstJUfUgZqGi+mm/ZhHtvgisWulxxPvYquyGyoa4wegFY3cJVWCe12ZfMyXMZTN9UcEb0ICib/3ug4SYspFCKhXAL8fRYbT+1LJqSY7X7++Q778IA6y1n0tE6pPcCWwbevu3YfeYZjeqvgO6ZsgjM//BRBjm+MAsA1+lnRO5qfvULFhVjboCB88eYd3FIVhacFK8HgHBxMURPl+Vm0XGLurrDDRoDDZCe3qrX5WsYNIpJGWtpz1iIqZ2tFnOkwn2Cf/H2Qy20yWKJAY3vvQu77ZRZGIgiua8Qqk9WNp0+1SBA6DFT4Y6JjLYH3XTw9Fokq0REAEm3+nvw9JISAqD/uB9jLehyO4w28dKZN6c0GV++Uc0P8pQcDxnHyFNdJbGvltKOdVtLTCGQ8EnhAan6tqMZXCOBLWsDrb6iUTIGX9sOkaPOU8Efb28zJFqq3jNgbVRrg2z0hJUhyiC+RmjYZb7Kf8w8IDljicT+OejjVImEKBikTbWiWylYFICwkzB/DGiExY1i++NASo3gSgU2idNxy1+IS0Ux4rlUhpPvrG2tSW34a X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gh6hq8/lKZUv+a397Q1CAlDBst9qFPMfnzHiXMaRstW3B5Gb/GIadkggK2ehrgnJ6XXxvjgk0VbIUx9VxKTqZJxCzJiCv6fVhbrEGBEdWU3oglxotSkcJIrIPExeXQ7qwQ+gmTWIWAE/r21GFFqOe6uOGkeAuCOsiOgsILfgStqsXuUtZocAXcmfMeJ5a9eJEBvfoKrfkuum+ePe183yTCxXgqIlk6O2MNDLxKaSx21V7pGQSish00QJJx4Ot0CZoMsCGUIvO64RHjwfpga5mCzsKJnPyoM/IzS1wvPx1BPJemx377WmBryme+sSbO3Vb7/M1v+KXY5wSZeEWlJJrVSGan4B7cH8UMy4E2TidlhPq9cVmnywomLakKwtaLVpD5brLod/tZcXGMPpAxjCrxLglo4HD3OMdeYCvkrmj9XDUPD9uYA7vV7TV3+Pbo++yHnNXtE2RuR5MtMMeOulNxGfDTiihZsXp7qir0bpW5arawglsyFASLSZwrk6eK2rl93OIXxnY6kaDao776UB97MO6M5UGYJSXMs4hViVVu+bgiGAkD3HBznQROn29tQ7QADEXpCMQAFv1IsWdJ7cOUxbznfWscTzj64H4xiTi6DAB0JgZXI4AguqijsPPpV5OFd45DJQSBIRnj2y/e2DsS5nz/Cs6iSsU1NDYvJer2R6wqLCy55LLMzQSxP/vg+hit5C2D9H3+TCZoceJdtIlwFzJCgY7MGTlvo9NqLbq1o8GlHuPt3qXodbltdqys8q75m+Vrw46GqrKOAVtDq+KrTGlsTQ2TEjPTQ0QbXSUQnVGcLpkj9sQJZ2kNM1vhpailT2yITtyH6ArT7NSvZ74M7FAtPPB8ZH/fP0IBT8A9XlJHdX1w9UdsAzJP8ZogGz3Q8WuVZUiY244Pa4U+AMEUHvGngoqurtdWN9OuGCCjrzWP7kKOOHvnrNjyMwmclZ4jWlG/exbtMyWbJj+7YlUH2QMOJ72IRVsO6RRMwAQ4y2Yd2x4f9pM0Ttly5EYDp+MmeunH42daTlWmYYQC1NRhw9MIQWxYHyNp+jVi+YBfMFxaIrXg1+f5/81MIiGfXId3x0h2FhV2C3sKLQZyQJCT71mMTclsjQUWVGjNhpj4Ii95Wgf1BTV/NcxfHfpJMXvJeh7d0vgwfQZndQEJa9i1U+7oS03Il2fT1pXcvCVZ2b3qWTVINP9Ou+EkeVhc7qmVOzJ7Cy6qq0jpneGpskGh7wyAC6k5w1Yt1U3U34SZ5KM0jXvNDTmg7LaRzWTVt6g1hq4MODcTyUllO88jk1ShZoEslM8J1V447zmeuaZQ4iujxPOJBtzrjYLiQMPG/CZ6cyxsypVCyUzIE92M8s197cD99Icgc1lLvOvL8K/k87T4rDohmXPPQXYVt6VoUSPZAQh8yYh3wHvrpkl/T06GipJ4v3mhyGj3aQQvnlmJw= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-05f45.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 4cd1d043-31c8-4ffe-5d25-08da373041d9 X-MS-Exchange-CrossTenant-AuthSource: TYCP286MB2608.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 May 2022 11:36:03.1880 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB1643 Subject: [FFmpeg-devel] [PATCH v1] avformat/mpegts: fix avformat_find_stream_info take too time with open single video/audio TS stream X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Cc: Jiangjie Gao Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: RQzf26iESmhO From: Jiangjie Gao 1. ref https://trac.ffmpeg.org/ticket/9782. 2. just check `codec_type`. 3. remove `pos > 100000`, we have AVFormatContext::probesize. Signed-off-by: Jiangjie Gao --- libavformat/mpegts.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 6e761c07f1..80ffee0f41 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -2870,13 +2870,12 @@ static int handle_packet(MpegTSContext *ts, const uint8_t *packet, int64_t pos) break; } if (i == ts->nb_prg && ts->nb_prg > 0) { - int types = 0; for (i = 0; i < ts->stream->nb_streams; i++) { AVStream *st = ts->stream->streams[i]; - if (st->codecpar->codec_type >= 0) - types |= 1<codecpar->codec_type; + if (st->codecpar->codec_type < 0) + break; } - if ((types & (1< 100000) { + if (i == ts->stream->nb_streams) { av_log(ts->stream, AV_LOG_DEBUG, "All programs have pmt, headers found\n"); ts->stream->ctx_flags &= ~AVFMTCTX_NOHEADER; }