From patchwork Tue Dec 6 14:35:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Basel Sayeh X-Patchwork-Id: 39629 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp4200656pzb; Tue, 6 Dec 2022 06:35:35 -0800 (PST) X-Google-Smtp-Source: AA0mqf5Wcbx4bGf7vbJMLEtyQzbyk+m38JmCRqBaOoh/jJM0eoqvspTggdxjD8Juwh7n5UebEFue X-Received: by 2002:a17:906:a242:b0:7c0:8889:92b with SMTP id bi2-20020a170906a24200b007c08889092bmr27347609ejb.439.1670337334805; Tue, 06 Dec 2022 06:35:34 -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 hz4-20020a1709072ce400b0078def76da94si8246712ejc.437.2022.12.06.06.35.34; Tue, 06 Dec 2022 06:35:34 -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=HSgX+tOu; 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 25BC868BA16; Tue, 6 Dec 2022 16:35:32 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02olkn2057.outbound.protection.outlook.com [40.92.50.57]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B4F1F689B62 for ; Tue, 6 Dec 2022 16:35:25 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OCf5erZpscTpcaspIIpU0uK7gdSVT/BO6QM16vuv0atjucSu2PRADDYGUhOX4Q0Mob7WZ2DDXPEHYwJj4OwRLXEJq0xmdxYlo2jmMFl0WlXmj0buLqU66gN4u7HAA2vfIb+q2AbNqWcxw/StXxlw/hI5825zaJD0pAQGqTVCQQpjsiOSk7VYR5pPv/KvXFiZkLQzf5FD5CnGEfCwgeZymieTztbFT+nWknrO0xZUS0C+FMLc6Gz2gN42wjFyxqHHli7jmyZMn3Q7ZwnFQcyCmrHvZkKGVEKhkR7DBi9xH54UT6Z4MZ+1r6TXckJlod3XH3iJfhKSxJDzXpClfu4b0w== 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=NxktQLhphG68shX+7fMVEYJXNWA1MOKPcNx7T4dk1i0=; b=ndPIkt9RuH/zrnOq7TKzXIRwHeGdlvTN3sA5phPuvRThqa6CXDwebm41k4NK00pJG0dUF45ND9aBfagvc8YVWyZ7jFTWm09P2BCW6DXYF5GxinRrAjGizgmDNk7TQLXY7Dvr1XDWHgPl7vJSFD4b+WQoIcNCdnKyojUo/wsy5HajehSwKDPSB+f1YGnK7Ai+6sQ2XeWtYHfPBIGG2gH9Rhv+GeuNusO1z/0c1saskAzeX2PEevykI5sbQgpSbaP/V3brVlAUDtM2V48t+0rsYejHMvkOruQARUVf8650JlTETPOQq1q+daBO6mm1yJjZGSTV6v9yR5Md+AW5jPzgBg== 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=NxktQLhphG68shX+7fMVEYJXNWA1MOKPcNx7T4dk1i0=; b=HSgX+tOuDnDaOzAQXfQB3L5swmP5HZ/P2ENpyxa2ReKAX3Wyk10eY64k2PJkq8BsOqlYMd6gghi5jyy4+ju2VBLrzahpPbPGOZZxKXbrE44r8cN957HiPASNCE9UQbgsHP7xeuXSbADrI/bYvS44vK8Bp+cxKnTxumPqdk1Iceev9LeLBQAoMHtSy0nzGNkZkk5KEghRrdQLVHqHs7jUlWCVpUY9TcNMLPvk52KbZsQ7EullI5GcZGzfySxDh5j7s8YUF3nef5wlVk8kQNkUVhaZwkuJYaGz1owaOmbbtVuseYEXZQ/CU2xuJcAmxfxO4quorh2qP5Hd1iVV5jq5vA== Received: from DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) by DU0P191MB2250.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:3e5::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 6 Dec 2022 14:35:24 +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:35:24 +0000 From: Basel Sayeh To: ffmpeg-devel@ffmpeg.org Date: Tue, 6 Dec 2022 17:35:03 +0300 Message-ID: X-Mailer: git-send-email 2.30.2 X-Unsent: 1 X-TMN: [NYXAdaRwR8XuD48hjoArHlSkwVxTnIGI7KroX6kQgisQHaSl3/lpilthqBqv7i+j] X-ClientProxiedBy: DX1P273CA0004.AREP273.PROD.OUTLOOK.COM (2603:1086:300:21::9) To DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) X-Microsoft-Original-Message-ID: <20221206143502.8567-1-basel.sayeh@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9P191MB1482:EE_|DU0P191MB2250:EE_ X-MS-Office365-Filtering-Correlation-Id: 2007bede-76ff-4833-4f62-08dad7971c32 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqUg3BJhog8XM4UuEveNYIF+1MPuUUziwD50YGm4kTs9b6/6hFl3wExNhuCeJ7bM/Mm1nOcLrOkFwbf9py+Km9B1n2XbWT/I+A8mW9qT+Ey44k96cHo6He+T4hnmqt2L2wmSbd67zn/u0KMavOP2P/db6FFdmL2AZWw4RVe6rqX3M/8fS5zBhoB9WA4jM1txidAkKgXxeGbLjlJvizaCj3WXrSJ10IqqsW0h7IMosasfQCbksi9GOumT1jkDpaYalZ7ji0tC35Px0NUi10f0GpE9iv9csVqbrHfEDBrnP3hkwAkTTrJHN3myrhYvAUD/u5EgP+BdfTNJqZUKVzFl/aARC16/9ohmplO79HGp5FJQk6g3dUSSKPfpZEbzsLDEo+1/3Mrkh9Ynki+7aUXqMRxE8H00FjD+4fPDVpzJSZAiUmG8x64sSHMao9lsh1JtfNT3KoO7fTYSXlj9PK5dXI4VfVy2iUHlijTbReecT4p0JoJ+VMVbkm66sSSu2A7ZxzYZMZvRcWQSim2QEdZu6v3Of1538a0Ib+h2C770saXaEOsDE7M3+4C0goKe8T/jMurqcPKLXmSBBFagTs6GCYYIM1oNujjtCqIHZ/Wxwht+N6z6Punj0xgAsmxxEdgsVTmg+H1B9USFyIP3YwksUH04v6Yzl5kGKLdPehaouWYm9ZrRs/c9BmWGgrjL/V0VrGIfJuo3Cm2Z0HT3X8yldlznp0FHf4w278SmvYfkEd1lLXEHDufrFcN2n5bwYFLHvQ= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AkN3Rqfo+a7d+fLN32KBmWBIYKgLHnocYDraRsCo62EnQ7FE0AL7CWLQZB1VoxXn89WLpQJ7i0FvLHOwJdFlbhe2JMKNUxvwbJHkxj5BsJzrFl0vw90Bh8hHNC3mdAR06ky1GlG8wqZng97EZa6ZgPSdGNjgwe7W9VzKW07bm9Ljxo5IWE4ugZaugQfNrL2pjZLtHHgaJaHn4UAXmYnPG38hh5tCAfV90LraJhAQOjEIFFetljkqUI/E96yi3nZmfZfZVLa5iTRmtWQQVrEUvg97UttOJAWwge8JvqOh/SCdsaie7Fl2bfasoBkVhF0OKzNIb63hWBAvDW/jbovFJBf2Ybks4M1Zoys2yOKoF+kxoPL4eyoNtB8IO58Q/QT6sSrilFODtqFltmk2ZcLv7AVp89KrwuvYe7/MXOU0wZlXE4AT4Oi4PS6dC4vvAC0aXR/OlFTdwcUXmVZhOVZlT8Mx0SbkKmHBSml9lhambN5M/5lJ1intR4JMpf+VNsxE4E7hErqJFw3zUAeEdohbCN745U1LH9Z4rEsnu56DilaxZZLheaZ8NeCwFYfn5nrqiP/ahLnXiqu1KlU42ZVaAhWY5pEZ6LNg4uFEHmtblwR/LrTA9sduJdk/Jkz8hQK1+0l5c05BIuitNgzESx7oZMVcQb/8dx9bfA557XaCK/0= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nGJQqCbK0h/0o/qaLFjzP4eTyrV7lr4QudPFO1BAcNMwsv2byFjYAVrOBXxA29mFTHhTP8fwJHB8W4Xfav0eggWl97dSCicWyx+a0DYvm/xE9lV/ftDkafPfiPGpJ/X8SRFThvDEb+2gq92eikhm5IcF3VflFEryb+68SYfGhpv/VJtYYPt8IdsFVFYRwcS/r3mH4gPJFd+zyGjaQXpJvod2xCAuVyfKU3TQhvFRGxXP1NzNIzSxY6fvAuuPQ4kJ7K3tRXJw79agoAMvgZklV6t35Esc/5pwDBFlVOEmSE9hNtvse+uNN/qTmxyQ2EPkicry5bOtEsB6EFS0J8Xx6cxvYe49GrosCiO1XhhkRvy1RzSMouHq1iHJzAMgFaUYhm6JdFEWH320PvhwpyhgC+i0vGMI9cCRLe1GDLVzTJqz/Td+6qO2oJ50paFYy2K3ZJUhiZcIZFq0SRGlHJhXIw8DHZHWkRl9PfvA8V+Jmm7sDIkQHrxYhQY+OXvlcenp6FufalFHXJbUaRDtogqz4bSIRvuvAUEF7Ty8IE94HYZKUnWknxO6i/hSBach1eMgm4Xi22+qg5A0RKv3mW4dC4IeJBlL1+nxJbPO48ymm2ao58OEDRvwNhhMLzBZNrwjg7QosBECy8pJAjrjuDLuiKmEdu2j64tqYr5tAzaOKV/oZNH/gdPvFpkEpLPqjIBOHHT/gqleHDXXlr1t5oSjpqasXlQBq5V3ES2yX4xuQg9WFVXoIzrRA2W8ZCPLgAtZfRuy/7uwi7BfoBdtTvFYL3AyLW6yRSeq3UwrNY1pYELn9I5+6YPuemf5q86LlsETsQuB2YDa3YQrnWODb93COb507zZF2yHup1sGVDTbZAc846MgQJ13z6SDOdeywCCCRFKyTOD1wi/s33XAMFwVk2+s41pmAD2E1EIeql/lmnCJTeb0ofvpoLLx62+8Xs1+OlH63f7G0bvCvPxGvIfOWHzDmUoPkqWYgI41aHjzAdQzka4ypnYPG1fldkQ2VEbK0aPoQwgCBpwDOGbuMtWG1Ca3pyLnlRO5v7HmiHx/iLAvh53g3Pj3JwpALWgOdTvU9MZLQMPJtvX2mYXY8RHRdN5DsuP75usRek86iYkgS8TQ1oQHwJSo1OTgmIWmC5Nc+d+bsErISnC2QYJX1MpCpJ5yYBDI6ZriR3avLYtP7zEzW2XrY/yE3x/me0IfJReKhzTyN7ceWpSG0t5SyMYVacFqVKIbmdV4sw7lAV8f5gHZSqP6yGv6SocZXLy+yZ7p4egVtkbc3IojvfTPBU5k5lppvSS2J54GVE30rEVQg+1HqhIjXiel3qdcfk1ptTVjg/fvr36pcXFf12lRp85SQg== X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-50200.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 2007bede-76ff-4833-4f62-08dad7971c32 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:35:24.2094 (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: DU0P191MB2250 Subject: [FFmpeg-devel] [PATCH v5 1/2] libavformat/hlsenc: Enable HTTP persistent connections for hls_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: hMWwuqaxxSOt V5 hls_delete_file and dashenc_delete_file functions open a new HTTP connection regardless of the http_persistent value, So change their behaviour to keep http connections open if http_persistent is set Signed-off-by: Basel Sayeh --- libavformat/hlsenc.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index a86fc8907f..9781ed1ceb 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -252,6 +252,7 @@ typedef struct HLSContext { int http_persistent; AVIOContext *m3u8_out; AVIOContext *sub_m3u8_out; + AVIOContext *http_delete; int64_t timeout; int ignore_io_errors; char *headers; @@ -569,15 +570,21 @@ static int hls_delete_file(HLSContext *hls, AVFormatContext *avf, { if (hls->method || (proto && !av_strcasecmp(proto, "http"))) { AVDictionary *opt = NULL; - AVIOContext *out = NULL; int ret; + set_http_options(avf, &opt, hls); av_dict_set(&opt, "method", "DELETE", 0); - ret = avf->io_open(avf, &out, path, AVIO_FLAG_WRITE, &opt); + ret = hlsenc_io_open(avf, &hls->http_delete, path, &opt); av_dict_free(&opt); if (ret < 0) return hls->ignore_io_errors ? 1 : ret; - ff_format_io_close(avf, &out); + + //Nothing to write + avio_flush(hls->http_delete); + hlsenc_io_close(avf, &hls->http_delete, path); + + if (!hls->http_persistent) + ff_format_io_close(avf, &hls->http_delete); } else if (unlink(path) < 0) { av_log(hls, AV_LOG_ERROR, "failed to delete old segment %s: %s\n", path, strerror(errno)); @@ -662,7 +669,7 @@ static int hls_delete_old_segments(AVFormatContext *s, HLSContext *hls, } proto = avio_find_protocol_name(s->url); - if (ret = hls_delete_file(hls, vs->avf, path.str, proto)) + if (ret = hls_delete_file(hls, s, path.str, proto)) goto fail; if ((segment->sub_filename[0] != '\0')) { @@ -679,7 +686,7 @@ static int hls_delete_old_segments(AVFormatContext *s, HLSContext *hls, goto fail; } - if (ret = hls_delete_file(hls, vs->vtt_avf, path.str, proto)) + if (ret = hls_delete_file(hls, s, path.str, proto)) goto fail; } av_bprint_clear(&path); @@ -2707,6 +2714,7 @@ static void hls_deinit(AVFormatContext *s) ff_format_io_close(s, &hls->m3u8_out); ff_format_io_close(s, &hls->sub_m3u8_out); + ff_format_io_close(s, &hls->http_delete); av_freep(&hls->key_basename); av_freep(&hls->var_streams); av_freep(&hls->cc_streams); From patchwork Tue Dec 6 14:36:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Basel Sayeh X-Patchwork-Id: 39630 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp4201657pzb; Tue, 6 Dec 2022 06:36:51 -0800 (PST) X-Google-Smtp-Source: AA0mqf5bxAMfhmUJTziQkIU1pX6SudWCeMzIaupAejAvbnFkefl3uy5Hie30yJb4TNKQpXZ7B8QL X-Received: by 2002:a17:906:a094:b0:7ad:88f8:761f with SMTP id q20-20020a170906a09400b007ad88f8761fmr69414109ejy.417.1670337411505; Tue, 06 Dec 2022 06:36:51 -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 bq1-20020a056402214100b0046ca1f7b96dsi1821806edb.587.2022.12.06.06.36.51; Tue, 06 Dec 2022 06:36:51 -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=aZbzuUE9; 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 5ECE368BD26; Tue, 6 Dec 2022 16:36:49 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01olkn2016.outbound.protection.outlook.com [40.92.65.16]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 849CE68B5E3 for ; Tue, 6 Dec 2022 16:36:42 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LIGWIoz6uzgtZOFDfJBn/4J3f5hGuoApmUdDn38KbLGXbkZ6iCSPPIfon7lJ4Kaot6HTG/AEKh06W3FNiMIO/A0oJE+s1MPMfNPjMR1woPw5Qu7/cLAh+wfE+iopjc8Zvjpgni0NzFAatuPh/iPjQ3yrsQudl4Yi3SEeFTPUWc7tyDmIQL3pYk0qs7Qgegx+Y74QVCCoPpWiKeZLZIQiI9Ay/SwBEWzmREf4NGxhJa+kSqfeOsLKJNWD8qz32YQgLxUam7iTcyVEZN1co/DX0T7fzWX6Oq46vArBIcBtp2HSqx4IMOytxsMJCenMoTOD5ZalOeBcSRdQ91VI6B//7w== 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=UvmYomnHoaWTPIEyzoP2eMkCLcNqCyO5cqngj6LZKE5cPYJAKmXC/K4qxAaM7z+olM/cmFpb2uC7NVWl34WhMq8p7h/aCR+TH4ajcV8v8fbGwdqjC+Zvg7YkOk0AeLBfq4DzBtKFx0N1P4dqzSPqvXtubN6AJ4O0Iuii+rBIjezlQKsjkXT6FrH0tQ4f3Iu0W/yPSNSZy7D5H5at3qes6MIIy6RuKCVhijCYHJxfafKSmlk9A99oJHl8thYnibeDD/JkCsbZgUmeBmZ8wJzndBJbmUjJ7OcSsn2CurK7R2G5DWZA04R2eFsd4Tg53tdQRCOyg1hosfuBpvjpbZAouw== 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=aZbzuUE99DBhKGh9W64UF3o9n7+cw72x5YcLhyS5YqckbTcAPZddDBR2WFkLYzNxot2REjz2drT40/ZRZkHD3hqdh0W1/EowGIPT19d0BR3ieOH1UxxTJol1jnQquc9hPU1a/+Vih28GvqMtaZR3yWSGs+/IH4jXLdAej2iC/WpCSVWgmc6wK3ttvMBDrgBPr9ZoHkmq5uvz65kjW87Yjw/uMwQNb0GiV831rJZ9yFHDSTPK7JQQg3R+I7zgb/fkGW/yreVuloMB/+9fAXG3ASLIK6v6Vk1LjA1JHZw3QM1DiHWVr8MkZugA1i8UNis+2uO/0GoiRo7EcAc4FJPZ+g== Received: from DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) by VE1P191MB0829.EURP191.PROD.OUTLOOK.COM (2603:10a6:800:16f::23) 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:36:40 +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:36:40 +0000 From: Basel Sayeh To: ffmpeg-devel@ffmpeg.org Date: Tue, 6 Dec 2022 17:36:17 +0300 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: X-Unsent: 1 X-TMN: [g922v6vc7+k7pN7gXF6Bk9Qyx/M+l19SLIlSxbgid64jg2sp+Sz52f6xjpkxOsVe] X-ClientProxiedBy: DX1P273CA0016.AREP273.PROD.OUTLOOK.COM (2603:1086:300:21::21) To DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) X-Microsoft-Original-Message-ID: <20221206143617.8749-1-basel.sayeh@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9P191MB1482:EE_|VE1P191MB0829:EE_ X-MS-Office365-Filtering-Correlation-Id: 45b6cb33-61f0-42d6-22cc-08dad7974981 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqUg3BJhog8XM4UuEveNYIF+1MPuUUziwD50YGm4kTs9ZDi+Cf2shTsFefI3hOe9JMR+fIzFA3v5QeGLIvKPXni3dFCZHpcNm1Km8jCBbh3KO3jqmPd1bDyyG46snmZfwp2Bvlylpy5XuKXOKdqC074uHMOVq7td/9OWfoBLfBwcfooZhT6yn8heh5YhNZDmj+dKYX51+ImyyDaj5qKz0D8l4EZWLeXUgJV9kg0UGfgB3NhxaHMvhb7C4EwKx8IhkBxp9ZcelCYcCzKLy3Emu89qhTE5KxzErW9fHfPvkfBgnOFjxffD5kvPo3+8PNCDQnutX5aN0Zs0PkqUSxA8fSFPiuNk17P2GPP6CaqSroo7SSWYLA3iXglZMpzAPd60XcEDfa6dmW0qIxhCt9Eob/srBBaipGI/Fp7abOROXQ7w+WBPyo5EXO3VdG4LzJYLpgijEDtYD5L8jGDB5ZQsD4/oVRNQw0iTzgwgZjBI3fUxIZURAzdm75c6Q9j88iOLo8Gpq9LXOsnm7rTOReSUZxFn5Skt+RM80JoVZs3JprYsRI0ywtPKzBrfMLArWBAhBAL0kmPJ8AfCtBi7ZvRR68cDMQy4JVYAnRqLPYH1IhtqeAMFGKOMKd5M+VoU9HIYU7Tg1dP4DKRXv6U1IU5UNLCCafTuR98BuU81lgG+UX6ZwlWjgZhxnjNxdLCjfs2IN5/c3orYMn66E6xcRfkSXGSIyNgIXiU6ctSDQz424bOounfANAhAN8YG6Rxw9d3dT0= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6nnsFZ9yCwetZQ23T8O4uvtNPFT+AtDgQU91kiUlNX1lATNCpFwoTjfjkhUdZqgccJW6Yc7JY6hCAThtt5ninP0Bcz1/dyhRLksaEjnGV4nhk/BBvegAczkpm83pHt4ex9J2HCi1Mu2zmGTbTQOWLI0TNSJRzJQ+i3zdrLmr9nsVBfF2K/7tK8XP5OMPX9vcGRGXLwZrpUuWm2FXcFv3wcOIeIgqhGflSVrGBtvx7m8M2z3aSWZAF48vBGnZcSVLcHp2uIld4qc+C71B7bax4yMjn4Pv5YwnxmSsUfo6117f2EndJBLTDkOk3UASHePWbSzw6HPMm1UtwdctCP6kkpr3uAZYDRUpiwuPbwKd8vHEYILsQ7Bml7J+YqW0UYmVP6U+vyR9n2558XaiWBbvJUQyrHnRQ/lX9GgdrxTFJMaXDUjm1kYJNh2Kzz0nMf3BCp3CMBBEV1R6Oyw3OTepCo6PWLBSIdJoB1VbYO8zqXMAwTB5SUW6oEeZFabZ4kahEFBOlIonALo7USFS+YAb3KdqJmdOoj8nX533vJC3iMQrtHn13DnlRnuWx2TVCDsaDRvmRnGkPBph71uAU40y74e/uHEg8gsbiPkO/OMnpbFPIVPk8GYv0Kcjydrbn4WbY8mkaxxXSjIeKSGBqAtIWMgq0r10GWYEcYwdC9lhMZI= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: AQKHT22N4PuYxjI4T5ZSbd9TBISR3jVtWcyO9wgLPqkv2bQibLEEOGAVHU3zd5HFHO9CYqSQJ+vZ0Qt+lJumZF77Ic2LraoMf61nsPy5HnhgMP7/U5ECVGfMu2mZJ9e/kxp+4IZ4w9R6SlhJy+eHmYrVxf0KvJ1UXrAa3WNPJ0aAEmzV7sIdRIza2ObEbiAAl/Eth6Ez3vzoIY6f6dSX1iKV4zWUfgRjBWr0dqzz9jvEa9tu4M7KyJlDtiIHWQFv6GZXtZmElYPZooXufJNJapI33Y1GnfhpT1yTCnMRn7VQ64pmOKfPpfo5/NGb0OggTUBhKGYKE1Lrs6QwsxFijnsHy0Y1XA7GcYKXR3gc+8hHiib7i+EXkxNPXNcum4z34uK+s5zWdzm2+GLCHcy6i+8MU65wZ0NexafTGbsuJ4O4DAcQ3O2L3J4RXu1P8o2N/Rn/JCC9GK1C00FUDLFxgA7R9DhfIzmfikpAECbIjnRZr/1ZwzTHlTneiQM5df0Ky27AzSA7LZid/HJbGOftMHhRkHqHg4RvQeVHQZsWvlM8bjsCMH6y6fJfF8F67/znod8piRFr9MdAa57sFJxp8U0UZZtpFTmv8t8poOYNqtApEl1Vza8CbvSUSeA6qdinc6wAPt6iaisSksTYERpSTGx/rLXwazO56W3mXZkeCWJRj5imaTw2mVy5em4pveWlLvEU0jPK+zrVAHEuacsnwZ2q29z4524GYvaJONVyBbwnYmKxTp8U+KPvga2E8IM6ho38oeTMigP/0kjmLMA+IJ97kbuLIVeSm4icef53Hlw4j0JNu7D+A4O8qi4YXOvKaIIxQyWFA3L/9YVtVFgK3PdRZyCPynOC0yICh6JUX0EWdn2vAZaBUbwYItLrvQzHyeNhFDUfAm9Uj5Mg0gpmN7zJbkgoUhwNzhu9VMW83T7Z9RsmCgptR/pXwkAuVIhWnybEVMxQdcPFWJl7PtNf4Ggz4RRR0e1+ERlRvAa4ODl1PDFUaNQhsQXWAMXQWoL3syulKlCl7c8O00J+d6pQXHtah7tXcEGa6Vy7TQv9Y9Qy8Cu2eHKEYcO5FZyc7tI8e8PRSnO3Tc3kn9VnmaecvddA+3jYTqg5DrnrqUJjpWij4ACqyBarzbLPgEtcrIbloJoCzlIg4JAk9OSz6OJ8BmZKxmwAV5ilZO0ToKMZOHNZJdrk5aJ1INYJ1KBrAnV12rsX5S4jCpMNpTeKCleRBBC2L0SiyOqJai/yTjVUAU7DMSV8CC7ZvzmLK91pQF6PVgpkQGJ+/EjTNYYJ68T2RMSsvy1hB/bjKJKmA88Uf5H0vJrBgTGayXIFF+e/g+TO7IGFyddpuINzvpP8wcBU5Q== X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-50200.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 45b6cb33-61f0-42d6-22cc-08dad7974981 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:36:40.3016 (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: VE1P191MB0829 Subject: [FFmpeg-devel] [PATCH v5 2/2] libavformat/dashenc: Enable HTTP persistent connections 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: SkdYGcPkLyTH 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) {