From patchwork Mon Dec 5 12:22:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Basel Sayeh X-Patchwork-Id: 39612 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp3194929pzb; Mon, 5 Dec 2022 04:29:12 -0800 (PST) X-Google-Smtp-Source: AA0mqf7UPEbe4+SHALQ5wTVoh8O9axVCrqRJwqdKvWT8VuSzw08kcN/HgKlvCrddNMS3qdCMe5nM X-Received: by 2002:aa7:d1c3:0:b0:46c:edb5:afea with SMTP id g3-20020aa7d1c3000000b0046cedb5afeamr1112841edp.315.1670243352730; Mon, 05 Dec 2022 04:29:12 -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 vj23-20020a170907131700b007ae3958c7c9si8651389ejb.999.2022.12.05.04.29.12; Mon, 05 Dec 2022 04:29:12 -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="C6NbCC/c"; 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 E8B2668A33E; Mon, 5 Dec 2022 14:29:08 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2027.outbound.protection.outlook.com [40.92.75.27]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 71707689D06 for ; Mon, 5 Dec 2022 14:29:02 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GXFLDp6JEXzOtREhAkT8qIodNbDNymkHyEY/SyrP1iOi3PvKpWNCtOhCMnvgbfkDXWS6mYkOWwc5E3+DHWK72fjOXoFh5aNUqBZqTelcJt5jY5Ql32z5DRvtlgH9nrfQ8Y5BF9Rdt6D7bXaiya+KoysMfdWFascUyxJ9qn9G4E/dx1PUnsFnzRHowUsDxLM7c2phssQV1Lik8nWNQsUq7tDIJVs6NstjFOvEs9gx+nb5pKi1GJ6zFXOGP47ksEox7TAocZxLfqNG/3BP90xq8HRkT5hu1w9dbvdir4lZIeLZsSAic9aeD5vhtJc8fG2tbdChDFDrhkmjU+jHoy6Oyw== 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=hl+orPyUSpo5CJK4E1M52cEAZe3vXb+B54d5HFwyfw4=; b=AwBtBHPGoBR32bBW7+5xOfRNbxWQvQYHw7v70wG34j1PzCGU9Af/VP0raGi8/Nxc3m7zLZJ6Z74PqNVzAHq0v/vCFU2bOAqiLS6YJM6uNslCmXhO+TXhaMKAdD98yQi7ykBxOpeypCyNPC/3NP1fRnt0PvUr/i7KkX4cVDIep28hTUzUHtW+dwhLaSHfN3cl8xiZXe6Jcud4/3Q6Z6bVRw6Eazc6hOwmEx5fMHVbcmAxWFNqAoUsLzawOueB6PrzVkbgpUSnsYF4r6sM0G88qt6RxedptFGlAFWwXRWI/pKG6P/Eo/8E88yPPYdUsdafhZjmE4NbhJq4+S6L/e50Qg== 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=hl+orPyUSpo5CJK4E1M52cEAZe3vXb+B54d5HFwyfw4=; b=C6NbCC/cLSG7+beYnJLrvmm70NDoJ57AHdnaWy7p36T8yIMz+CB7lrx99xNKrVco1mpiJ53Lu9N6aQcMhTXfjnNMGeK4fXPDRKZ4LEBLRXwKTemygIl3cqi7IlxCJNEk8bOBQzyT/cwgll8E1QbtAan0Z9bJ8WopJqV6HQ8tcuAYGrckIzpO2ZW8JGFMi5eak8xvKTk7JPFmSBB5SiPQQEVpBikmO6UA21Rr6uDko0VuOfzzNaCNlMLjNqG7HRrDBK8G9sdn0PBnLdZGnTTvGYwoHGNgWlhE1HSmLbLfyu+KUk7PPz35iUkllzqsucDepNgTpLyOK94VrdAIu939cA== Received: from DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) by AM7P191MB1041.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:173::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec 2022 12:29:00 +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; Mon, 5 Dec 2022 12:28:59 +0000 From: Basel Sayeh To: ffmpeg-devel@ffmpeg.org Date: Mon, 5 Dec 2022 15:22:11 +0300 Message-ID: X-Mailer: git-send-email 2.30.2 X-Unsent: 1 X-TMN: [6KBBZL+/ZsGR6ulKzRnY59nbD94KoIZIWPj6wqgdUs/zFRjkl0YlG3z1yeWikcT0] X-ClientProxiedBy: DX1P273CA0013.AREP273.PROD.OUTLOOK.COM (2603:1086:300:21::18) To DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) X-Microsoft-Original-Message-ID: <20221205122211.10781-1-basel.sayeh@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9P191MB1482:EE_|AM7P191MB1041:EE_ X-MS-Office365-Filtering-Correlation-Id: 048d044e-12c9-4a60-427a-08dad6bc4936 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqUg3BJhog8XL/VKC62MyNtytm2Rt+8oEWmFZUd4yt8BoaWBPzn2wbXPsUA3vTnJp3zuor6CN3mPYMetmKW6wyOBr+7X8GqvDV3oMWUjnlA2Q8TqXV2WXo2uzTRjwoowVFVC2hxZeSf7r7G2BdDR0e5VzvdA+U53cOlsb84D6MabrFnP76Udy36/y/i1cL7ND7NmFYdG/WMa9fboztT7b7DwYKH9pqVIa5m5Gc0R2TLRH1lEYaUV48olp1plEm3yeVvoRdNnr6k5rkpPTvvtbpdEQKVMttbeVDsMtUHrUNM8Yd1sWf/YgSh9yU5kb1SZRSWAQDDQSmO9V/YQwgHg+jO2Q8ZsQ/jNorQPPH6Fsq6lM9tcgsxIzUJ+NyvchX0f58YgaG4dcfAlFE0RdgDIti5uCq9G4ij/kAbiIv4XYZzhW5VQKKWA68VKfcrEeECRqisVBelHQKjyZ/bjeK74pYGULwU+P7F1mWV807gpPi09hbV5/FaA6KMVtEPSO9ysSlE51HdYds9CcSsvzwXaw+ZWpwRxyEs44sabX/2/3nzdfB6cIKVGObz1k4d/FHczQnPgwC+e94uX2Snc6FZFi2AsZUWtTFICb2aVaqgruvq5bQ80wII6ZxGK4u7pSrPjDQA3Onje9E0rem1WOwvDUS4O5+OBJU/EYjiN4UuaIyNlbVpHCD//OcgbBdiv1OUpR1aTIG3OOG86xMoG8rLl7UTc0C5ov0d1GHJHmNaZ7zMmPyFaePuvayDpWvwmQEyPKI= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CzhNB8O7+c4B4MoDmophupJrg1cTpXwm0GSBZTEz56uLHLK1aTJMhAsm3aaVvTuFrnTUooZ2jzbvVF6g02F8JcXakE2kCrNkWcIRhh8x0G8GZsydbhrKMFHIQFzz0YLla7LW8oRSxRXwzo0fy6mgXcq88ba6aBtblWJVKrPNIdAlAKf7tVpUlh6FFhKIdN02bt1tqgOHegY8b/S5Nnp33xNmbhBhikKNx7r3IFnzzLXXSddg5NeD2ZpQaq0eziUbabEzmPnij12GUrcGWwQn1HYVHd0q/hC1qPmrV60o0DtXU/zlIzinotP93mP08UbVs+8yJ6cRDCtTysFBCV1rZEOjdnCVHgj6ohMoT9s0/sc0CUHGBgAdlvCl9t+bFtJxknMd5b158p2tCL8pI7yiaaZTCDgALiK/jZUqlRqbP4F0ua6d7yfwye8w+BKd/kiFQwuT8KrL0toG+eDf8YQ03TN3jIdcJrkm5Wgj0MMLu7rDyb+EDeFKWgOdrHKwjXXgwhs5KRYFJusHnja7KH3heypYm0RI6DmCosmC/45Cvle+OPjkojLCaEEcKSMopSO7HNUXODSY22SHpA8y+GOZZbSLVaBs3k3wC1gBiji7yZ+svsQtPg/xdypzfGgpKlekuVH88CZVi/wWtNfLPuNDbg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: CDEoimjWIObmyvxmUXDa+XlOaKEAe+eusADR+wgy9RhvdIVqsnP9bUqBj9/Z2enlXo0C6P1ADF+nyIrEO0v2u5FQmEpQu7p6xz05U08Ci6CUwK0/TCQWgaRJqmWPzdqBGyOaQA6cIg9NFIl2J0KDoCBMgDynxpghr+i7fnmqErelclSqYgI9RKHZv5APgZgD2hR2D4dpUORZaCala21sNQMPRB1zFFg9RzfurgtCz+9BXnvxWWIIeOC4HecIMV0s/c11xbv06J/iy4LDFojpB1lP4qlNIXXAKc8SPvFX1psRrkGoR1TQlI0OO7PDK4IYnG5HbbArNirEIIEFasl6IsdpmzeNYLVPHGw793DvNl95uc60V2u7TiBteIU2hxfHRez3HQy93K+KtSXu+dlUJkvgD6+sEp0AetS+E4kYM+qqjLMZnrn+99uGYlzXmX/Uf9we/G22RCwO/pZw0Lu78gguJN6k/SbwxJHAi0n4Pp3Wi4d+m6ECxblEboQ5idt/XNHfmMp+6zMjbDKHq9rdFuINdQfklt4tJohY9IEEW4clpL+Md+dgTbQ2adfbqt6smVb8eqW+kxY7xZwrH9/JUN9spTLrcPRakgpZX18iglsCmmHgKi3Okf3YjeeiQrJrDZXaQXE5DpfJV4Ea/d21lyRFiNNO6Czo1DLybCTsrx96q7wGwpToMFabZZGCvz1N+Oia0dENDFzsfvrESIO7gNAHt/FMfh3fzDgZkeyJVyuRMEZZDN0+oO2AiljGlSza8YGEvWynBa8yK0MP8N3XhVFE2DO8oPvfAMQNja3eOyciytGT37UL5cSTj9+23odTkcAGAG1YfrhsJaEajXcmyjN8p6NAwUo18ZVtV5qCAa6dLfbd/6G90EH+V6JXxw1N2O9nwBu5RV35YqFslWFdVg8oDWBnfgPhj1Hh8jvj9iwtIitU8lVcPb4q9kuGhT7xexCItoWCbGpyi/+TF9La/s2XkVomerBvvoDJER7ArAMb1ggN9PhBCIp+vBwn/nqQWom1Polw6nvy+SfC7uUDq30QVeL1fHXb1N5lpUiaF3lQZtXXnbgUzLxomf+GZS5vDGAv5EP/Na7UBZXg4zTmwqQAD0hYLwYT3w8D9tvkWwV4605EmadnkTlSMZrKDb2ZB/jaK/Dh6rp7YVkHCapszbENAB+VHea5OQrgwwS7+NxF3nXhXAdOL0sT1u/CH0qEaspQF3nx2i8Aw+AbZebXzHyIP3Newog3jn9quZblZsyJlWarB5jPHDzXqa+A6J4fhl++nMAhWMXF6y8dSFnARF8WL9FK2Jy2uZeeT2kMKQftwc/08aTMzjNDxAlIxX0wmP5jYErEhdExyx2UJVzbsw== X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-50200.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 048d044e-12c9-4a60-427a-08dad6bc4936 X-MS-Exchange-CrossTenant-AuthSource: DB9P191MB1482.EURP191.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 12:28:59.9347 (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: AM7P191MB1041 Subject: [FFmpeg-devel] [PATCH v2 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: aEKHhQ0nRS7i hls_delete_file and dashenc_delete_file functions open a new HTTP connection regardless of the http_persistent value, So change the 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..a23c17eea2 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, &out); } 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 Mon Dec 5 12:22:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Basel Sayeh X-Patchwork-Id: 39613 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp3195164pzb; Mon, 5 Dec 2022 04:29:33 -0800 (PST) X-Google-Smtp-Source: AA0mqf56xrf1YVkt/kyDdqUU7vfAcWh6KzdnXq0HDTizZ2iSR20OZ7//O/CPEHD0VQjnjut4I7Gb X-Received: by 2002:a17:906:1985:b0:7ad:d1ab:2431 with SMTP id g5-20020a170906198500b007add1ab2431mr66811383ejd.213.1670243373584; Mon, 05 Dec 2022 04:29:33 -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 n13-20020a05640205cd00b0043d00293d23si11925543edx.391.2022.12.05.04.29.33; Mon, 05 Dec 2022 04:29:33 -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="jwY/+PKA"; 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 02F6868BC8B; Mon, 5 Dec 2022 14:29:31 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2035.outbound.protection.outlook.com [40.92.75.35]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 43DE468B521 for ; Mon, 5 Dec 2022 14:29:24 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ei1TD/scCBYIu3mW0iqDDbpRxuLEyDDHrKqUNCw5vm0Evt47MmOoVgt5owzYLlRgXEAa5s3Nl7jeSQWMZ7SABHiYuo6qhsoIVExP5XC3DhRn670ezgWZ6vNiuBvYovkmUYBF29wBZhkWNo1M3gyxRMnLADyj/yGADHDEEUYxgfchaqjN6CUqibGmyFPcUYtJ4btX1JnGKJnVyuxMB9EJAVRp+QkbQBXyVov42AipNm58piyZ5SYWAJypKFrdsVeyHcrcKMsNyWz3EeAP3avA4Low2KNJWFRwykkx+jtpiR5eZa8okKnTTFB0ahm5/5LRRwYnuQAbUcn+7hv7CYaK5w== 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=EwsR+00hn25jDyG8a9cJF9BLzU2niMhO0zZYanKoXxI=; b=TlwmRxN2KF1qBQsvIus557mIAIO4c0F3AwAz0EuyFav9Af6sdTg0/icN5p0gF6gagXichRk0Usrw1RsELsUt8J61Wp4dgLKRj2ZnYTsaob19iCNWGNeg7TDb1VP5XyVdYBvI4f1e/8wMuHNWojLSx4bh/ttplEQNop6KQUNI4jFlADv/vGEkteirBwW0f8L2K5cUFjXrPaZ7hV+Faq1AsiaM8dCiamIPrcbbtpJ3mQRhO2X4yEYRHQlumjFTm19loY3zZzW6XdaURjEQqALYe/qHUraYL8JV218cnODl9w44updCB5vQtn+IyumASkbzfn5uxdAYTlQ2FveNPNzM8g== 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=EwsR+00hn25jDyG8a9cJF9BLzU2niMhO0zZYanKoXxI=; b=jwY/+PKAdtAXEhk6RqOuXdEikqd2NbMvW2gHcGjMRswQgdUGHjRobjGko5e/qKUi9yoJ38ZUNC4e+xTudnkpxItWyvyj0i6QFmVyIwMdD9dgubStBJ9vmKbOkCCx2Q7UqDa+3yQYr59qa8x7Ypt+D2u+IdytOOueTe7jzkqsBTB5kUAyseINbT/vCJchccvxuNg/nNBqrx70+ojSPUcSasmdvuw3Ytdm7Rr4LG5SoGKnkfrP6UE8G0NAgLQK+hC3lNyXSUR7YeCfmzc70YaSQzO8pMoqG6ZnKqU7TTopF/ov82X+ojxUtMXkEJ7Fca1PeOWSUDLMTeKTbjK1dKB/dw== Received: from DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) by AM7P191MB1041.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:173::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec 2022 12:29:22 +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; Mon, 5 Dec 2022 12:29:22 +0000 From: Basel Sayeh To: ffmpeg-devel@ffmpeg.org Date: Mon, 5 Dec 2022 15:22:12 +0300 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: <20221205122211.10781-1-basel.sayeh@hotmail.com> References: <20221205122211.10781-1-basel.sayeh@hotmail.com> X-Unsent: 1 X-TMN: [HILekIZw1P3CcuNAnjft4mzeGO5F7MOQPWPE2phcSRj+RwTrZ2Z3Ou32yBCftPFb] X-ClientProxiedBy: DX1P273CA0013.AREP273.PROD.OUTLOOK.COM (2603:1086:300:21::18) To DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) X-Microsoft-Original-Message-ID: <20221205122211.10781-2-basel.sayeh@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9P191MB1482:EE_|AM7P191MB1041:EE_ X-MS-Office365-Filtering-Correlation-Id: 29ca3d77-3572-4ca4-4bb2-08dad6bc56b2 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqUg3BJhog8XL/VKC62MyNtytm2Rt+8oEWmFZUd4yt8BvjKxZHVxI1RJris66PopVgYyTzvnprA2WG6BcOGewH5WwXHQD7tLz6dJJ/x947n9PFCg4iB4HxU927ig8Dp0U/xG0gg+cUQxYrt2gf5FrerMAllI+KYnod/9nTce5cv4/ZQJrFnLLXDFnHTP55i7oOi5oZnwzEJgjWr85C0BdimmzKiM819jhnHBJgfrlqp4ZjaKXeTNwRhDyZqkmD7JEP2N09L+dhAa5inPWK9hLoKt9irGxg4UzOcz/K6zMW45zf1lQ+6ud+Hc4JDq2Z9f6rUMHelIZE9QN3Dyhds8svzeAeLhDOgay2QCJK/xh1nxv6TRIet7I/A2pCZiEDLqL/3Y1jVW9k63wfsykdkv5PTBx0a4my8CCXi8q9Ukbb9iG2kJhIKznWT2UTDwGzXaT89/O9K5b54NB0uE7Ej2KrCeVsgMceg05MjmyxxTIFZvlIb3Ig7dTFlcpahwU0HuwekJUrBarvE8VZyYhuAsOVuQV5lu5U177CdDQMUe42H4r8Tmzcwm6HHiIdC0b+KZc6COKSnIfQqor0zwPLVMWy8txg5RdqI7UNgwHumJ7OyjpVlZ3xEEMzZivX+oytF0bvdbXblbEIpwEh94wqJXn0AX3LcBuILMDRqVGyw+ZaJE9Jw1lDFFLOmdjlyyqBX7Vx8LDFqzn8WAWXeBZpWPTVJtJM1i65A/ov7NMF6UG42R1ovfVglh94XVbz735VjQ3k= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NPixZqplCqYkvCOnROjJ7y0BoR8UpsQrooIIbVaCJ2tWTfJXUq8QJPJ+kzuWLvb8SD48JA1xbMY2V6j62gr/4ZCqFJZgTfeJUig/yXNTYbj7RqCWFSl+Lr3Il3pk/Tesj+dLzgJaYT71Bkz7a4zZW+ahVpA7LGXN946hneF3XaFCEAdcxdWQDqPCo/0A1l6xW3dxhWOthqXney+zPe3UXK+dPN18q6/V79xIq7DpRK5/yXUNwBH2FAY6VUPE/Qx4uYAkcMKTFxpSupN04Ys5VVxhbyGbCXpKXY5skQQwTkC6M+iKFLz4Z+XTtTZBsD0guOvZ0P9s7zSwbQkS2JDhn3YwCEnS7urUao9dC2/h+a+b878/QbVePftRwcVqqbNPlZAF1csjjWVL1Q6JRIHmCiQtHTnssMYzdZgRjmOiSjnE9xl37ZQz4iUJIcLj1izcELaymfo+xDe0ljiSXn8nt+7ehj6Y8ADkijfP9xR5wqhO0nW9utAULE0vRg0cg1vxytxtdNoqZC2vf3oMf2efaPvrvuRJ6FC46gTrY/6d9wcfmpc3gaNgsVBtor3H5unEPXkuByxLMd/xywSJpbTBssWwDPUYzQQlpRvJuYPhFfWtzL4PREkXRxJ/b6F9hLwsQVKzOgO5UR0ZOuNLxsgtiA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ED0gGo/3cvqr6Pm/iqyUlZgZMXQVq5bB1UQcWgXhjmIvn7u1l1keXVQzSWRZKktzzYzCqpk4goFaKaCEVIJTT9fYba6U8qOOJMR4qkmDREHCf4rWXA+Ge4BGuvv5XS+koAOGHBJx4drWoAdxjCw0pL0cCDcOr3PUwMwl+b6JxJsAEOCFzsFAWyYOlf4rM4WOQeHJxV8FaYIs4Zteih2rBigQVm6x6F6gk/WZxGKVVIbcfLhR5X1TuuJw/a+/emTaj2p/6I1tgBmg7ZwskZZ+CRsp/p12vOyJdUM8Iy3RkmVSXfP/qiHhRyWVe2T5LsmlyGg2WvI+Py+NT5bTUQ8qZnq9ZPsNmzjfxCPhhaVY+vpHEXm4Iq2lwQthKYCSYEAkOgxCm4bJbmcGNKdUOj9ceQ3lN06qSdn3TNzyQMDwzera1TDThTbIlHo9Mt4Pr4S2vCF4swzaZw/R3tQffiCAYm7JMUWhKwAQeIALqS2fYuGy9PamXUaqbZHDaxmFCYg3Ok3yoo+keCUwqmaIsFhxGgDdpAssStypz2O2j7KbQaMiaDA5CO6FJgo7bYnlhV0eoGInhbGxM46lDRZfrol9i1kyZcmpMPhiMhkg6TrfcjdxgM/yHPauEvrfezsY3V8PEExIEpkjZbm7QyQk61a40TB+Vgw7gHJp/iWrt8jdnvJNqkvZrq1EkOnvRk/44GkwF60aIgbXKezCAlgiZshdm8qy8SRUsqlwRHlWGTMF+gca3qGZs+HsEqVvJHbF8Jzqacpjjdtq9Ok+TtSGquygRjpk3HCmwQBIhbpNPj78nNAbv0XtXTwZkTrVZFEAgUnqDnLUnjqrEm8RIGOpLdxKvrzwVWI/nV8OjVk+LApkJ5bDzn2NyZQaCr1Ml94P11SaPyymgfocTyDqY9tXBynl9KKklcWzW7f9ERVpjRuIH9p4F6V8Ymb5MsFyCfmtofw/8LZVxh5hfnV6V5zV0U1a6tPA3YI92hg290wxTbp0HHXXC84bBEQ61/wPs2Tkg1Hc+c51jLskHgqP9Nh9qxBfUvjJe6txLPAt0Vd9Vmat985he50XYyRqnHNrzgzXjhwOkWBtqxzyDxtRuOc5VOLun+TE0NdWL4I/gVN+c3Gz57U41O/dSj0xBS14XZqr5ePp/sBMFWIg4192Uwk1JW3iYCamZcxjnkK+tt844jsWy8XQACCB0fcFTDxEY0Mi9EnHufQkqXSEMebcaXiFhdNTSkc4XIiM7JwUPW9ODRT2M+MFtKRDdVi01Kie+s8Z2HdRuU0SWL1oeEJsBv3ZiCBm0zhS7TNMDEsOgC1i5BNbXF/uYinFUrqOZlHDP2BMDeyePNndsWlf4iu2RZMKsqRspQ== X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-50200.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 29ca3d77-3572-4ca4-4bb2-08dad6bc56b2 X-MS-Exchange-CrossTenant-AuthSource: DB9P191MB1482.EURP191.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 12:29:22.5723 (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: AM7P191MB1041 Subject: [FFmpeg-devel] [PATCH v2 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: tVCI17FRAC3F 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..2521568ea5 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, &out); } else { int res = ffurl_delete(filename); if (res < 0) {