From patchwork Tue Dec 6 14:12:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Basel Sayeh X-Patchwork-Id: 39628 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp4181144pzb; Tue, 6 Dec 2022 06:12:40 -0800 (PST) X-Google-Smtp-Source: AA0mqf5YK0x7eANRFuQxkkWlULK+jA5Ff7xHlSKMNckSFXxxqWVWkQ3e6A/7WQEczzSjzxra6MJT X-Received: by 2002:a17:906:b114:b0:7c0:d05f:68b2 with SMTP id u20-20020a170906b11400b007c0d05f68b2mr13576887ejy.553.1670335959805; Tue, 06 Dec 2022 06:12:39 -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 dt13-20020a170907728d00b007c10e7a7628si1299074ejc.839.2022.12.06.06.12.39; Tue, 06 Dec 2022 06:12:39 -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=@hotmail.com header.s=selector1 header.b=UGENEztz; 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=NONE dis=NONE) header.from=hotmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 641DE68BD15; Tue, 6 Dec 2022 16:12:37 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03olkn2082.outbound.protection.outlook.com [40.92.59.82]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D16D468BCF7 for ; Tue, 6 Dec 2022 16:12:30 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jTEaqXjzvNzTQTFAbm6ofV508hnlekdXN53QLK6sie150VbPdlZD480XwLq0HOOhQ3n7/LIT/LvKQIPa5ImHUUY2GS25kgj0kLI0ivNW36a4po7pwlh1AUE5rZH55IgA3Ix4b79s9c4dHKc8SWb9CCrsy9Yf15rsC7JpCGeFtuZoTk5O5Hmxr7zqPA832/ou8ufuksongklnjgIdWa8fFlr0GRR590iUpm1s46NKxsGVdp8rDyig4/niDtLHPIjoNK/bi0bS0d0dLf2UsHHphX7+WohYkZGQxBd0DJuaIJFsEiTh6bp1W8iOyeg7XL4hyKfKk8PqL2A8OCXG6mkpYg== 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=ZFNSDgzZWg+dJd8Qxd6+NbSGzpJKTytbC9U/1DdJB1g=; b=VUKBr8sbLO8k7XMLx45uGYC4dCVRiXc18CKGuP53rapBbpuVEHgrNVP0ETybVWCW7NepVsS3UjYIRNGjXgbN/NMo0anGCbeUPzYTqdrQIyxFcOevCZ8kfdSB29Ka3/9PjjjIXxv/QTa9NIDcnLGe3K0uVxvR9IYjdLuv75VwbALixBo/gUrieVObxfLnB1M6u3KMhKltQ+c6G1l/xszbXVjZ+cOic35hrmC53kg5430L6FtgHuhem24rs6T69FDoOFyxFa7NcOhN3IRgB03A15aXheqJsdEqyjHEc41mQCjehLxcKwTUDAGjvkrUVIKlcEsiUTiymtXBWvQTOqGCGQ== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZFNSDgzZWg+dJd8Qxd6+NbSGzpJKTytbC9U/1DdJB1g=; b=UGENEztz2nNQv2XM/sHc+4kIT6kT0CR3sP5nM7DMHCiIlNdOsWpOqRu9zIxcnR6jM9XMGauDBGYRbDNRSklHJXsimY1caovcUOyD6ZrIkm0PcbJuX8FHY1y1vPvAMcssCAiBmWzU4R7zj/L+JwmhIwDz6/4Qc4FPLrKWR/62ZyoXM3z9sMhuAqet0Kw3e9s/i3ojaMEhMLPJgQb/ZTU6OKN6PHm243pwOXKctHDznWiql0072fKAEM4e6aaMIgIOvMGZCb0ocjuV2mXND5FHhikgREBbXNRW9wlNdevSkcicw/lA04c7udMiAk4dMWDeE01v+NJVmZvseZ2d+WBIBg== Received: from DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) by DB4P191MB2213.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:38f::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec 2022 14:12:29 +0000 Received: from DB9P191MB1482.EURP191.PROD.OUTLOOK.COM ([fe80::bada:6a73:3b1:7977]) by DB9P191MB1482.EURP191.PROD.OUTLOOK.COM ([fe80::bada:6a73:3b1:7977%9]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022 14:12:29 +0000 From: Basel Sayeh To: ffmpeg-devel@ffmpeg.org Date: Tue, 6 Dec 2022 17:12:16 +0300 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: X-Unsent: 1 X-TMN: [6CtkMrh4rL4++XT/kOQ54SaG5M3/1u8kr3wnNAXZRRyQ7abqs43OEbsaU0XiNiaP] X-ClientProxiedBy: DX1P273CA0009.AREP273.PROD.OUTLOOK.COM (2603:1086:300:21::14) To DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) X-Microsoft-Original-Message-ID: <20221206141216.6627-1-basel.sayeh@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9P191MB1482:EE_|DB4P191MB2213:EE_ X-MS-Office365-Filtering-Correlation-Id: 23e1356e-4c9b-464b-2a48-08dad793e8b6 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqUg3BJhog8XM4UuEveNYIF1yO5eIPL2sK4fG8AY05LFMBqZWzZOEAKMWIXe8Zd8gIsbX5Dkurobn3kFPxEWBitHVaSL5X0uF+DhE1OBmsA2LY26me1sZTAhqrdPi7iR7dczvrFtJRGOyrR80DOkuCskCitRdtlVwRJZVJnV6LGQp1Nf+6mcPw/PZfoil2YwiBR2BQXQBDmANJYaDiSzBb1MtGo7HHzmS1NZFPPkZzryZEZ3v/atSd6hi+xIdWONeOVVhCYu6ZEsksGvDC46Tru+0V0zlRB5P2iQawvEj6wOBVQSs19S6bcLXTgs9/jLicDf3XnkYTSmr86qXmj1oHdmbyBaenR2/FHWg2M4x3UDE28BonNI0KRS2zyuY4sldULvbRZrtV9rNxmPd/Vp+EtN3jyRMX0e9essXUYIEytbhBfiLFYPMNwUCu4BKCcmF3d9R7iwtSvmSwBQIiZlHUe5W2+n9fyT5X7av4ZkwlM7DGsZYakJhf0MJ7NuKK/up/a18tI5fvuGXu3p5RmVqJ14EoBKlJLmYBs/i5Ks/aEexBkU9wxoNZuC/2zMrICH86ZJybKh0yrv7ZaGCJyLPxxRNO5Ghx6X+QVvECY+MVnG8N6We6nzXXiLFsqJZi+jWgUat6XVBTHDDL+UZOM6dpw0Zt4JYJlvXRFJ+GuCD1nmrcN1MUMosqX4CcwSC2Z1giKLCI5qlpgN8rdvg4Xyg1NHYOlUxPb58jSnq+kdNxwk1buNiPj1LXa+mrGPP+GZQY= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Cc/LGm4Mn9nSTjEJ9Z392SwBFDLVealTBMvddA+zMh+gz73t5j+6dyMY76HsDp1ke4DgMQDkZ8MJwTswIQuHtt8kXrFCQFARYOdVBHE/q5y086YcqRNZtQkInocX1+R/qWi7KUS5epJrTjaxjj9edf+WVymYIdkQxjOxwRPZ/4ELQisbR5Av+byNZEJ8lXkMxjUh7/ktU3TXPGzPYgVU+ozCPGJJSfmxIWBxH4Kf5vWUQRyENT0ByUblGgnt9XVVAX1Ih7/yr60aBmR2cLlrVS8Jt+p6+nxCXSarxg62rC5eRAKMHKw+RWVCfSa/rn/Zvr1H9KXAGL0UTncwiy8j5Zm/WjgFNwt699/CpGKFLGeu7TLOyy1DmH6srlqsBPL8gI7XXKXNH+QKuGp5fr0coq+4c2xe6WhAxxK/EMhDoYkyrsOb9QkjNAIcr8AhAko3dLwvwb4MwwtFvyjKdgxS9tufcDEvlQP6qZo66dpG3YQ5f3zX7n6IZ+tX1FpB8djclGq+hLjnUr5+ysdPpJ7+38T8H5Y4KC8/sT7WGbIcCphVqAtobdg5OMj1X0so/oM/pBUBalQ/ooaqGH0Rxp2Tb2UTmUURleY/WnQG6kCbhm47jeNQyE4CHpqAjq9oARTJUBvDznWBpcFGu4deYAWsip/H3cA/jBOilP+/LPV2KLg= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7vTEcOCJup/2eHZ41MY6QKjqkGwuhyLdlsaYGUYhiBWXsQ2MXW3OchqNDb/Kd7VLYvWCM05Oh9sgLtAvCz6PrZiwIBWH1ZXJCAETpU/4CkwCVXEc3QlzFBKY54Pn6VGvuThaGDUvcoWXpcoxBpm1zi9NpFNMifDu96NFLFEskf/3P6PasdyV6VdcRIikZZvk+dDo3u7dTum50VWMZiMrr3KqJcgu2ez+7kkDj63ILDQgorqhs8ptxuzuJ4caW8wh0V+UMyc9Lg1bcizu3wLBVKlgeL3Zao+8l6WC9g8DpCcPNdmze+mXCT/Rq+1mYM3/EIu3v9WQFSBfBbURi2zrLdSdzRy8J9ks8VoplIUVFA+u/CPvmZ+tFTht7gXKjK1K9r3+ZQ3KnFgS9uvG47LfTETMhJrVB7P+cKsuUP5uj1kRriYY2MfsIkpmiaBnXTlMuy1TNxh85/21EDjP7kt3K2PeJdEKqZWf6Of71I6Rr+JYjioNu6MevhX7ugeqYmkddl9m1xv0uJjck5Hz+A4fSgFQwwBXUiSirTWhmq7T4Z283pEeDdnzpvnWgZdUva9EBlVq0wvY2okCNIVNh/sQaYzo8CcDT9fgnIf2EDQxNAUGWybn5KhJTuA8fahbxfVK6R991+TA8svNYwaXcZiSRpxa/4faK3YNtRPyQZ7RiWBOoOecjLzP5MH/ZmS35uGXlzos7HwOgJOYZHlKGWbsZbp0vB6K0esUcF2h8iWEFZmTN2EMhk3UXWidLOL4OMilWml6av632/3cUDrEAE89c1zZUjJHbYicrw2PT2YlHUX1VJ5jv0ShXXQ81RlREKRvwkhZ17284ekYTMsRUuvldBKhKZkpzcDVDzSOWuKuXKj89WXFHqkH60F0tPVP6igJdzVGyiR6gyl0rsZ2TiKiUSi+nr0X9MI+wWyGsv8AhCmEr6Z6O0O1tLOG3SThcZK+vPDxUxWkB7HxmkYz68rb7c+ePMUfZ4MS6qGYsvwIyU4djmdqKx7h60i+We88ux3aPMJ/GErtWA46Z2NtkDETCfww3UujHg/C4iDJNCtkM5sGlJyt7JuH8dCDFCqMgV+Mj35uJtxm3feLc4VKkJuRzmWYQAWwk+ob1V8b/AopgHZtjT4x1RVakw39DRjMXbv2kdfB6gyeJDcx6Mm8d7rHdFwEIQWDG8Kr1NS+cuhloL6wsYZeyqes4kDAv2FsEr/JS+zG0fZPUjPhr0NxsqbZESmkC92Z+6CaoxBz1uuXKd9iPJ+Ws+F1XZ2Tas9DgsP21Hmnbbm7JbmtnKIkzySxnSyVqCT+SFB0Lo8t2EDmNwknOqCkBD9SejB+YorfJ/+Y4h3zZW3AnXJvpCkKoqsEYw== X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-50200.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 23e1356e-4c9b-464b-2a48-08dad793e8b6 X-MS-Exchange-CrossTenant-AuthSource: DB9P191MB1482.EURP191.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 14:12:29.3262 (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: DB4P191MB2213 Subject: [FFmpeg-devel] [PATCH v4 2/2] libavformat/dashenc: Enable HTTP persistent connections for for dashenc_delete_file 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: Basel Sayeh Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 1P8pGVJyhBhP Signed-off-by: Basel Sayeh --- libavformat/dashenc.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 9c1bcad9e3..ba0eb913a1 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -179,6 +179,7 @@ typedef struct DASHContext { int master_playlist_created; AVIOContext *mpd_out; AVIOContext *m3u8_out; + AVIOContext *http_delete; int streaming; int64_t timeout; int index_correction; @@ -642,6 +643,7 @@ static void dash_free(AVFormatContext *s) ff_format_io_close(s, &c->mpd_out); ff_format_io_close(s, &c->m3u8_out); + ff_format_io_close(s, &c->http_delete); } static void output_segment_list(OutputStream *os, AVIOContext *out, AVFormatContext *s, @@ -1855,18 +1857,22 @@ static void dashenc_delete_file(AVFormatContext *s, char *filename) { int http_base_proto = ff_is_http_proto(filename); if (http_base_proto) { - AVIOContext *out = NULL; AVDictionary *http_opts = NULL; set_http_options(&http_opts, c); av_dict_set(&http_opts, "method", "DELETE", 0); - if (dashenc_io_open(s, &out, filename, &http_opts) < 0) { + if (dashenc_io_open(s, &c->http_delete, filename, &http_opts) < 0) { av_log(s, AV_LOG_ERROR, "failed to delete %s\n", filename); + } else { + //Nothing to write + avio_flush(c->http_delete); + dashenc_io_close(s, &c->http_delete, filename); } - av_dict_free(&http_opts); - ff_format_io_close(s, &out); + + if (!c->http_persistent) + ff_format_io_close(s, &c->http_delete); } else { int res = ffurl_delete(filename); if (res < 0) {