From patchwork Fri Jan 14 02:42:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wang Chuan X-Patchwork-Id: 33587 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp1037400iog; Thu, 13 Jan 2022 18:42:56 -0800 (PST) X-Google-Smtp-Source: ABdhPJwpuUmJoIxWkAM/q0FtvRdwj2ATLV1jN2K2CQxb0geKW1ZVUbouZwhl2NydyBP3p3GydlTX X-Received: by 2002:a17:906:5248:: with SMTP id y8mr5585253ejm.365.1642128175871; Thu, 13 Jan 2022 18:42:55 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id jz26si2479605ejc.300.2022.01.13.18.42.55; Thu, 13 Jan 2022 18:42:55 -0800 (PST) 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 header.s=selector1 header.b=AVFgWcqD; 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BB95D68B6A5; Fri, 14 Jan 2022 04:42:52 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from AUS01-SY4-obe.outbound.protection.outlook.com (mail-sy4aus01olkn2144.outbound.protection.outlook.com [40.92.62.144]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4F20D68AB82 for ; Fri, 14 Jan 2022 04:42:45 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B8dIhoSMMVa62kUnTTkJJwmZ/QOFsrN7oBMJAMF3cOieAqhVlLtSrkbUl0vhC2C13fVYiO879axbTuSsPb4MMgMPy0CTLc5yreOaj21F4VBbBmF4EvR5CH8qoVULEVZTLki5fG5sIlYJ41F/49+vV7AGfs8n5htNO2DohJeLYqxJucODL9dJDXBJ70fvNdSQmNAI2XE9GsnMn8qDroDiuZ4K0qmOmbaBSE/J8f5nYjzbmB+jkoYJzG1IbQcKgcNmk+2SzgsCKJ9jI9HlRNNhYEv0TXX0C4XoA9ZAKoZJrnKWVk2g2RS5J0lyzXxiB2o23kClwRGcFY6YAp9gJxltkg== 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=dX7U6i3Yf2R0O7prLfKbwpPG9uiPn9EIbk04/JWLMk4=; b=hlXPUzqr84/+uua5/9SlyQKjL9NYYbTPjv3W4p9KnoC0VPzwfn7AGgNVb0MbA7AjyKdsz6lTElDaj/CJ17BnkQ8N5WLu1SdUHWlsKAC27fcPO3dQ2PI0MeHRqhxdYPqjcVAY+Sxd25fjOUoEYV0qPxMESkgvg7DnHN0kIY28dgXCaFKXGoJzDhbq0W7X73gmQkpLjSlXW1rbTkiWiA1sVxmCtXft29AmGQCIzM4T5c9f+QT9Du87x3erCAIv/z2vKlrBoVKjZB4oT6zVsnPw9na5wh8z3DNak9HTYKOl7uR9ztWW+XnZudYXGeXJTjPrZppzCONC5+vkfXUs0i2/cQ== 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=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dX7U6i3Yf2R0O7prLfKbwpPG9uiPn9EIbk04/JWLMk4=; b=AVFgWcqDym6oaKL6gT4f5jrZbvjyBsmPRTTFxzdETZksFkwX6Sx6dp/V1QcQkOYUY5rFmiizr2Oh6RVkL1W/gBsBTVGzB/hSLWcuLfZcMt7xqZMnsg93Rw+hwWqTObmceoP6MsTAE12cwKopYALrzkBLswON8STRQh8tgd8by7JoD1odQKZzhYN7Ur+VhB4s3WcnX4GlTsC11Wlo46rM+IXOjkHwOQV7nbvfx7ufeY60PHSSIf/o922JsTILaDxT0KccpAmhHftDIKTadm1EKsuYSKPph09Sm6iswkcuQ1LI6PQ+oR3rkLfYeDlrHF+X4J841+InGlJfzL3L4unf8Q== Received: from ME3PR01MB5624.ausprd01.prod.outlook.com (2603:10c6:220:cd::12) by MEYPR01MB6662.ausprd01.prod.outlook.com (2603:10c6:220:12d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Fri, 14 Jan 2022 02:42:40 +0000 Received: from ME3PR01MB5624.ausprd01.prod.outlook.com ([fe80::b088:bb6b:6404:75f0]) by ME3PR01MB5624.ausprd01.prod.outlook.com ([fe80::b088:bb6b:6404:75f0%6]) with mapi id 15.20.4888.011; Fri, 14 Jan 2022 02:42:40 +0000 Message-ID: Date: Fri, 14 Jan 2022 10:42:37 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 From: Wang Chuan To: ffmpeg-devel@ffmpeg.org Content-Language: en-US X-TMN: [E7zVad0j1Cgq70VWoJFmJM16+vzUy4V91+fe6Sq7pA0=] X-ClientProxiedBy: HK2PR0302CA0001.apcprd03.prod.outlook.com (2603:1096:202::11) To ME3PR01MB5624.ausprd01.prod.outlook.com (2603:10c6:220:cd::12) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: badc6b45-31b9-4b42-a198-08d9d707880c X-MS-TrafficTypeDiagnostic: MEYPR01MB6662:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rpHoP6zyrdeMG26WuCmriJoL35QktpvuBmqibsiXQdDY0EOqkCUHAqxcR661lqLABP1zvIoA2x4QWdJi7fmw9WCp6sFhSfxyUbxm4Sc2AXih3w1tYUDgnLusGfO23oRHXiOAcD00z9qwwgBCyteNPYZ5PLUZN5pMrFbxZ5LyEErMI29vYgFqmpUVVmR5EpwQaMiIQHh3jqYn/i87T4PQCYFy2TH0N3SnDRy6FYBqxsHk08J1k1+YVbQiaLPSmQ50nESJtpLQLf3AUttKQlm6eQgsw5jUug38H5qeNGMc0aEQVMy7EgCy1eofp4inm8pfbRtai3QixkPvdgzqQKvpuHT/T1btC4JsHU+j80zZT543H5b9AT+6lfem7UHk/bNe5AieUa6IY3XkzBYi6c1z3ojrMEy1QmGRLfcRmvvkCHNaIynDmsWiPv3SYDWiGa757Y2ND1+vwuycTULQ1RbH24NrhFEZVypm1BJMX9J4mkHRAezDT9DruQ48rYJF8Oey9ld+kAaI4ENBHZmWTM6WN0QEidaSezrUwYKhHpdj7A7fv9RwsfDtOOpk4yh0dhLFGenEnjHSHGqlhHSzVZevwQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?3Ag+cLUtPAmdZADl8uA6ZzC8HKVt?= =?utf-8?q?qZV/ZdeCMkJ+hfpVTaY0d0XBaC0JA70RtFqDcSeZ9no/1ub/qg4q4MvrGMYpGAvlr?= =?utf-8?q?Tl3SE2GWlEkaG3iLJwbduz0j0nRGY5pROxiooNlGFyR1Ux9CDD26hX2DO4dhoiTQ1?= =?utf-8?q?e1qBtV2igD94/x6YuiCsjDt5zD5wFlqcC25Md9CFSuH0O7xtL3su2Oicx5deI/Fy3?= =?utf-8?q?FaJsZUvdPBUBdL8yhlquIW3pwR7CjMXZv0fQHe5aQ/rlAsXc5UYkPh8jyyyBQPCrU?= =?utf-8?q?d9m0wSrmDFzZyi98upPjeBFer3X/EqBt+IlCiVkYTaoeaC+4IlsQYRRBZhNs195/T?= =?utf-8?q?fcs93h3pYE3cjnBjetnKxRWnkTLhOV7hmxpbaei8FBfsnFAqTCWrInrvAg8f30LNo?= =?utf-8?q?7bM2cD2+TI4lqhMFvgp6lQN5MAl7Em2glaricj4ejfFjM6FywvuuOOqmaFluge2bx?= =?utf-8?q?Y0hF1VPg/E+GTJOWRdsZbQsHZdF6YLF7SPeUfFrMLyPyZm4hacOKUQ17to6zIi11p?= =?utf-8?q?GL/tqgoQZKc7eOMUoaRQrEOsXitaLJ5WIjvLdmIdLHdb+huIueHOVaesBQNilBWVJ?= =?utf-8?q?a5pFgK6FQ0u8vSRIInoniKQezr8BPsCQ2KOm1QA3wA1anKD3ft+YqnUotmvHZgxBr?= =?utf-8?q?GDBwtqfJ8TGbqPJgHrhOjpA7XhjDYl/nBdsuCptdj02YiZgVBcYZ8q93yr/hOQfaA?= =?utf-8?q?3t9yF/oX2yuF+gfvuma5L5Gd4TYj8NJ6WjbFuiANu0/t6ntrIsXldEF8yHeeE5Px2?= =?utf-8?q?tdsX7UpTya0LU/JL+P1CzhtLVVmppVEptRdRNM4ZJ426aySm3TE6N4avzGsqzZGYZ?= =?utf-8?q?YRrQXojvXgcJdVw1PbgCWmccIgKRT470O0kkL2L+ZgxDAgLaT4hvGP+KpABInEE9u?= =?utf-8?q?dr8vRBSCvY6lqpRzJ8y782DwxGzSoleq6Fw4PcfhCTTA=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: badc6b45-31b9-4b42-a198-08d9d707880c X-MS-Exchange-CrossTenant-AuthSource: ME3PR01MB5624.ausprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 02:42:40.1281 (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: MEYPR01MB6662 Subject: [FFmpeg-devel] [PATCH] avformat/aviobuf: let avio_read can retry when timeout 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: PFvNwYi96CoZ If we meet timeout when reading network resource, avio_read will set [eof_reached] to 1. And this prevent caller to retry since avio_read do nothing and just return if eof_reached == 1. Signed-off-by: Wang Chuan --- libavformat/aviobuf.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 29d4bd7510..38cb21debf 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -580,8 +580,9 @@ static void fill_buffer(AVIOContext *s) be done without rereading data */ s->eof_reached = 1; } else if (len < 0) { - s->eof_reached = 1; - s->error= len; + s->error = len; + if (s->error != AVERROR(ETIMEDOUT)) + s->eof_reached = 1; } else { s->pos += len; s->buf_ptr = dst;