From patchwork Mon Dec 5 12:37:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Basel Sayeh X-Patchwork-Id: 39615 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp3200987pzb; Mon, 5 Dec 2022 04:38:51 -0800 (PST) X-Google-Smtp-Source: AA0mqf5llMIffMoqm3sMit8NO28h5N6jTERbJU8Y7CB1Y2g9hmI1MZ6GhSb0/09z2AdQ9pO1+/U0 X-Received: by 2002:a17:906:e291:b0:7c0:e23e:9f5 with SMTP id gg17-20020a170906e29100b007c0e23e09f5mr6345227ejb.131.1670243930816; Mon, 05 Dec 2022 04:38:50 -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 i20-20020a05640242d400b00458c130870esi7238294edc.385.2022.12.05.04.38.50; Mon, 05 Dec 2022 04:38:50 -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=Xs94j2N2; 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 E72D968BC6C; Mon, 5 Dec 2022 14:38:47 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2094.outbound.protection.outlook.com [40.92.74.94]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 33CAF68BBA0 for ; Mon, 5 Dec 2022 14:38:41 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OqOedqbLayQQs/GhTSruajFhAvxLcOsziwircuhEXFPtWYlk8WZKkSN0qyXcO9COqXW7bRDdX6MpYp1QSbuP70MuiQW5oZEGBCCZyUDbsmuEzceMSL+Kl7Fjg1aoYmvo8uDzHc5UlM6y3Ra6DHcUevZRAPUse2st6oCPivft7tzcxuPqJh0bswN3GUJcwUYwYn/HFO5Y/S6bsYkvL8hdkNpEBT1LKGxMrRbzKfYLyfzc10Y8rWOxW2fcLv305hiPp9QJFHxYo2H+oE1auDCpkxyGFN0jgHAwvFmOAsb7CGo12FpB2ccBfXEbBJ+HfghtCtF22iK3hmIrrnlZvcMqOA== 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=qpD/9UaIZTgO+yKs9W1H7xigAxxY0KtmZodXsMHfciM=; b=HtlGzVp5NHK1GwD7LZc1dSDfw8tvwQ+IFO5La6R/qxwcnv5wIcU/BzzYLXZKG6RJ+evxXmJ1JiEY9b1kP19zRaAraN9ZvYWYnhppXZiclu3iUzhHVwx+j97rM8L4CTVL+ajoBOWA40MJucSy/k0oCEvnE0HbKtHmrkxotiLN2ErygQPhs4aPP1p1mzuD8oK3WNCBuhqhPt4+EzjoAfCudgytKXuANu6Or15/09es8m4NaA5a+kTQ9hjua+qoCx+b1YJUXf08eWsona9MABegnvYe1vyiadBIkLXyh0QFj+R3xUYEbSbbxG1vpN6Ea/j8maBLyx/MIo3MChbVw9dv/Q== 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=qpD/9UaIZTgO+yKs9W1H7xigAxxY0KtmZodXsMHfciM=; b=Xs94j2N29YdGsasPt1eQPrm3+NBSKPO15aOCY8b/hqG4G1QLgmK8CVHExCzvEnGcNzupJGhiek/hNGRh/pKS8ZVBLsTs8auAzegN7gsjveGAPYCMOggELbikZb9IPt1toybclVQsT4bMk1SaBoCCp7q/k5kf2kg9Z679k4egG9zRAlwjcd1c32YjJnMpTqUxI8NfWfCBG1nuzosygY5I/Bb1J5CaRp9hOXfOzdCpRwPiHSElDnTxJm9qmjBQ0IN8zHulbtYJclNs93RSaeuAHKc1bHAv0/hJEEmKHMiuGaXhgx5Xa4W8bpzq4pFMMiF3isktG784doTZWH5OaiEYRQ== Received: from DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) by AM7P191MB0836.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:178::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Mon, 5 Dec 2022 12:38:39 +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:38:39 +0000 From: Basel Sayeh To: ffmpeg-devel@ffmpeg.org Date: Mon, 5 Dec 2022 15:37:15 +0300 Message-ID: X-Mailer: git-send-email 2.30.2 X-Unsent: 1 X-TMN: [WZJoq0kkyO3E2LAefGMoreXz+C+SJXhghM/xs1190ekpxqSKolrH6geF7uYJRpxx] X-ClientProxiedBy: DX0P273CA0003.AREP273.PROD.OUTLOOK.COM (2603:1086:300:26::10) To DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) X-Microsoft-Original-Message-ID: <20221205123714.11838-1-basel.sayeh@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9P191MB1482:EE_|AM7P191MB0836:EE_ X-MS-Office365-Filtering-Correlation-Id: 97b9721a-ba20-4b1e-2af2-08dad6bda2c4 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqUg3BJhog8XL/VKC62MyNtdbCb7MWgm2tb6iRG8OoHDOebxlbj6kP7fa6rNFnlGkYBtKoc8itlCgi+Ga5yLhco+WVwxLiNgKNxB/o/ko8wzME502N/heXP3dzR6wc9Q5volhuJOfzv83q5PvQqLPW+1HDDrj6HyovSCCEQZPFkWveApbSZmhW5V/o2H7L7basvWvlvsN2BGY4QdKuj24ALm20T/cU5JM6iO5bgG5MBla8DwpC8FXmONkwbUxT8+X4IITO8LBnCSxVWVKPpOGVskbTo9ieT+HcRqgGY3jCkNM6hqThPsyF0y6ydoGHEz1qTF+oD+5PdbXHqxt8OdceCbgdxPXcj4kCYhnOo5ojIt4pw6Op8W52poYa295vclQpTWKEr9WAeaQ8PzOVMkUOPmuQe4c1EtDr0upLOIPztNtvXOklg9Z8MMXYsC90vszSCpsbPzozcZAwoQ1MBbKZNNjjT0Rd0RQsEJAf54i6MdyO2S2DEJOxgSlMzlTxrABDbGPg2++of9UBPyHhCQvV4heFq2IJojtNL0iQHWmELQLqf8AWGkKn+tO+lbLyPla26ZMMWZawtEp915uPxzXUdCjxdBarvpUltRQZPT24SeEPz44M/eKQbyxonbzkomqiVvFzn3Ri7kA+Mq9CLG4ZcgtY8btrHcyb6FCr8cgydpkFtcDMSriiYamp6zMLBu7PF5NNBXJxjuPNKDLLQoGJjGal68mPCf3N0nRsGHAvpi4cPLWG0wYSmM6DHxv3gDuc= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 58Bl/PkhEq04i4oaSPgSozWPR32iU7rFlcdcyxUOjSJwsGhv2re86Q2xK2nZuwVEPZFUIi/8DcdJEQA0iGXWAD0UVi6DP3Cr3lP/+wESthaLPtIkXvfXPyZ2kkVenGIJq9Rf9OasWmP1U+uSPWRwFDBbK8RNjJeTsyNOgBn0ovxK/Y35Xs1vp7Taicom4mcTBURyG2hLlDYNuX+sgOKGgiP8hd4IJ3EldktxQeArvzX1ZnycfQb7dgqCor8GRoJAMzky8+vubsF3HP4eESBFgLux5loDc5T2fY3aHkB+FbtUXsDhJQrR3q8BEIZYjEbGl3B/2a3ZZ/QNS78Zl4xTbBKoHXT4MpWupA23qM2iyHzTr6iQh2g2bEt1E1iWkjK4g9xLFUGeNAg+872ar5D0qPHtGnt+z/LeEjGXeQ/9NMWp3XD0WRMLqIKEjqOzNx/wL6mKGFDKZwOOtpnc9k4wsg1PwgIFtQLO5Ir6Zx3MXIM+I+8U9hVLZ75MzVVjUOfV7eK5BZfvU54V/VFOMsN3hBMh1NcvMo4LtcuQJDYnCKVFYLrI3rzNTBJX0yTqsMMLHEp1POn/BzwNg0aIHRxLSOfT4Gt/zjAtaZnT02NpRELk09mu3mpPdPL8ZmfGqSh5CLMuascAHSZuxHO9SBVa5buAinqiOclHfaeNTa6KTBs= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nA6xeRYsicQ28xZ6Xj69vL3kcZAhqWeoWZiPO2a7266TGF6uc0s25BaaO+4sGB2mt2yfaZAA47N+qWvAHr4uF0c+8vG1KUTgJtY/JhLIco2BH8STc0DwLI3opoAeFGgrQ2cQsjxfviQCwoxcbiuJJV6shmnFvMQPFKygLiDlpc68kt3pjDoly61seV1nT9Uc2ri74tTkOJ/4JUTL0tOqKZ0Qv8gu7srGKDnhW9CbdLRicHcQRcyqHqZN3tJ3G2/pEZKFy5cLSE6wPZnF9Z/BeA7NhFgGSigeBh4NsY28og6Ouy3S5nLYJMjqiz9FOqe2fTkEDs7hnHG23+rtYkyzoAdpUqM+vnuVKSR/tGVOUXeIwnx+j3dJeT2vXT97u9uLUrsMEi0TOhvhnmeb9GI6QQu08sTMnFS5oXlJufNGGwyAh5ulwW9KSkeQ7df+JkQm6Yx6W3fy9zK/4iUyEpbjuABwadmca+YtvYIIdzBqL/eo+EWtW/lFDsBek1t1IZavLRz04QMcDMCBiCiu9eKYaycViQ2zuRMMrkW/Op5PCBHXc3vM0NSuimmPU5fXEStL7llYYbGBhm/pxOFWCwLxWfoLvYJEWv3IGoM06OFbmjpsoMYcCDj08+74tzphRViGHyBgXpifBiwRrF8ENkWD0dsB+CD8dr5u60fYbnS5QcIaJkeOI4clAsBYqigy0s7S0tsah40yfHzsrAaF/rtVt4O2BS5cVP+I4Sg0Vfb+7S+to931kPmc8s+CVLpn8AwEdIGA/NClxJBSnyKJGldRcH86qzKxzFmHxsWjI3w+SUjfm/CyP3o4ENfpg5R9E6FMJyBaz95mi1+89cAVPzPRBe0woJ0uEQKsncL2pE7HbIapi8U2SliLEPQNspMuIeTvVwipmAZzBvGljsSUxu8cDS8vf0d6L891o3LIwfZtH8PyBGKPdo5b91X6I1sy8Nw6Bs7W0mEGucVoMDnvbDiJa9ToRI5oBRAo+k74zfNB3B0Vxo8duOX68soykMOthHHv9qYaRkSpx+9FEWgRA5swJ4gwpyrGS+pk2/xWP8n2YgoSs/Pbr/+ShHDU+1uYE2qh6YbyzlwaSTRgNWueiI6X/H9nkwSy9QhRkjj8mB+wdC5viYOMK+Aa+FEppAF69zpYAq10BEseQkJJ6q+NY1Bt11nT176wNyYYKfLSK3SwzJaHzuB6dFCC1icRCaw6QnWa4ph4ZouYmTT0yHeSO33eGbvU6lYixqXpIXkeveEKggGDRiPACwuLVCxeJjyUvilMu0UgM83g1p9VKo+RHadiEGJv6yYQ3MsCDs5Q1nwJI3Bwjz0bJfRsVs8fTfSQlNWBv2j8EOH0V/FWOzsaPvnSSw== X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-50200.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 97b9721a-ba20-4b1e-2af2-08dad6bda2c4 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:38:39.6918 (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: AM7P191MB0836 Subject: [FFmpeg-devel] [PATCH v3 1/2] libavformat/hlsenc: Enable HTTP persistent connections 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: zJXhDkrOwWu1 V3 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..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 Mon Dec 5 12:41:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Basel Sayeh X-Patchwork-Id: 39614 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp3202586pzb; Mon, 5 Dec 2022 04:41:29 -0800 (PST) X-Google-Smtp-Source: AA0mqf46U55rQNVIN2WfstQsAQgUSZcgGi5GTr/DSB84lD2ZgE1X1CeJFmIYp1XZNLUxYhlNTK41 X-Received: by 2002:a17:907:b014:b0:7b4:86be:f3e3 with SMTP id fu20-20020a170907b01400b007b486bef3e3mr63261375ejc.741.1670244089150; Mon, 05 Dec 2022 04:41:29 -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 hw9-20020a170907a0c900b0078dbd939dacsi12736263ejc.545.2022.12.05.04.41.28; Mon, 05 Dec 2022 04:41:29 -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=aqtYJX4a; 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 2EDBB68BC8C; Mon, 5 Dec 2022 14:41:26 +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-he1eur01olkn2095.outbound.protection.outlook.com [40.92.65.95]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F384C6881AC for ; Mon, 5 Dec 2022 14:41:18 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PjosFIlMHi+wzleu9kTBuEPFssrjXbBAEMl7xprH11IPAUk5S1wr/uE5xtFiqa0GQ5PnJyGGJER6i/MQZxqzfiI8I1XTEE5Mwp2fEDjtID1oSydFiEuJ44WTo7sGww2ojfd55Ue2Te8HM3KRrkmmhBbIO4ob4P2rZlVSGmUvjgbBHpsQ2NpqMqmfCXHau2IJKKClaGyOfOTt8+Yo6vvHgWGRXQypJKzUkUf9RoOQ+LCiY0wshvuMfhOkyNvwyOEmp+f39AwM5SQhbgcyoJkyf/EIny9rbgSa30aElAshk78W3iEmHt/LUtqihbkZQ7lkcJWKi+fAFSD9FNY7zdjHwQ== 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=CPNwk+ia2hlkPAcd3+TshRuMn0A7LZUT2CGAFj2PymiHDIwaDsXAJDowaZu4XJhdtu/0ADzv8gnpPu1R9Jnmmw1VtMDnYQg9ZukwyWDbdZvaXZEVETt6XLSzUtL2am8ZKKT7f/sJl6/1wjEHhnrDBo6oJ1Lr20XHyid3FV/NM/DkSu23txBq5LJE6uwKT9gqv8vm5SkOzjR6D+BMjtQtBHRvmv4+2vmdinqaIN+SwziHYEMkvAMKXsyZDe9Sjkp9cls4JM8NUJpYPtKwAACvi1+LfnU/M9lkvzAYvSEsikk22afN0sHn1hDYTLb6dEVDs1KDG14dnHvvLviogafwYQ== 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=aqtYJX4a3Q0EN+C6D6kVQ1GKT8jWMdQT9kf1IKDahK1x+i6Y+eypRCH16+QpcaQZwSf5MfGIoGl+g/oBsCGYui5fUPkaW3sedWl6sW8Ghd50qLW+Qqu5I2F2S+jyBkp1YmDuHiJFT1wKFUyfDz8j7kNTD5d5hVve1AxzAuA7HQWQ0FCAxSZDsFnqtQaYjm0erVIorSjHsRt4nSjMTYRVep630u4UTBD7OEM8b9jKRwE71tP7M3/jHcsHMELMU7EdwAqksQOxE260/ixCvZTC6UtbT1xHk1G7v5fBO173qWR1+kBSz7u9Sx1qgyrnqJ1UjIBqWwjNK47PvpWennQMXA== Received: from DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) by VI1P191MB0639.EURP191.PROD.OUTLOOK.COM (2603:10a6:800:133::11) 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:41:17 +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:41:17 +0000 From: Basel Sayeh To: ffmpeg-devel@ffmpeg.org Date: Mon, 5 Dec 2022 15:41:02 +0300 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: X-Unsent: 1 X-TMN: [040WPQ3+pEu4iP42s8taNO+ObXOODziBOiPd9SqUwjCHRSTafLXJo0YTxSfVtJBv] X-ClientProxiedBy: DX1P273CA0023.AREP273.PROD.OUTLOOK.COM (2603:1086:300:20::10) To DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) X-Microsoft-Original-Message-ID: <20221205124102.13071-1-basel.sayeh@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9P191MB1482:EE_|VI1P191MB0639:EE_ X-MS-Office365-Filtering-Correlation-Id: 678a4003-cb32-40e2-f5b3-08dad6be00b4 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqUg3BJhog8XL/VKC62MyNtytm2Rt+8oEVZSUULv/vWgMRmk5gzuhAXizfnazQzZBDm5V4AJycYU+zwmJLrMj//vGmr3MopzJJlXT8JuC2zV/kl8Wy9wAA65kJIzh1ZR2fpdIQUZ11KnKJ5ht39JL6ZCvsNa4MLAaWCJhYQEBfSHp6BuDSzKbIOWTRBnZs5CEqqhK5TTl6f/yFaxgCpPZZn8W9KuVHfnkf0WG4bLZuye3miQ3qTDq+Vq/7rOGeJpJnsCdHrf7HwiT2U6oCSiBIbQSd1HGCgjWn0qVEbveKd1Ao+tRPEib+SYasYMmPVrbJE1KKakBu1OsXmQ5ycObm2lmQDkKGBWfB+Y76hSx+Ic3HaIkQMv1TQHPnU70HtD2AfeZEQpi6qLDdtAvcKZzbVGQQCuRfw4cBnFr2DebRk4MnJs2abJB+UvMMdTm9R3BTpFjehASqqLQGFJksN1t20e/y+ub0TR2WOf4OMYrmjJYWupMV+aoPO6sqmzVyqqwKYYO+GjOjmbeFKpdQqgni90/rFN0xF93O8YctVsqRAwtVzSstYDfcLkithUQanzdLvZHtLdGm152Ui1DzJQysij50WSuAEJwHL08BS+u0a9U1b3Ei0h7MOJTn8QgxKGYr5OrpZrIc6tRfKnd/ERoXEruCYEpIlj/v0dAO0ZSI4ID2BNQy6acLbddALoHue2W61AWOHLKatmHmAF+s5LIwIm8hUtCeEcC7LCs9IRy2A5hPMaawa0Y8pAytD7idnK/g= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: afT/GTW9ZNAiUXO1dm5WUby22UGBJj8dowxUqFGfEEQ2ohK0CMqU0RU1+3Dey8nYwjpylf8rPwhRQDNhzGYsyPhnf58BmvzCHAsDPiAy8NUWk82ay+TTvW8ljkd+CGmJYo502wuBGqVm8bIn66ZkLO9iu/YyijyLj4zYKlryj0jKkf/CwwIQRiiOq5YhOObMwyWDML0nuk9x7VajTItUe8iawC5gqWxhY8BkZk97RUgYntKJPceWKrsWw9jUQPnTtQDc2CdLOdZJRbz29Nl3EDxHAkUzC6PeBJkEnNxzK9ug9SPHFgn4Ah0+3fhSs+00R0v4mSkla3aHrKG1z7Ji83gVHAfih0W1r4ECXf7QAxYhuHOZSWzkuqc+zi32L4lcTH2scgRzFPxcST125YgtzUbhrtUUrk6K31hWpCs64WYteOzFgwadrf5JmsY+1pC48e9ssQZOGROFbHm2SjWKYqi5HdVqEijTE/JVOSDnd/2MiVhCcygRvg5IzDyj9k8cGZ5dwQkNFpLz/xNdd5MO/1tKvwaBf6bjxGtqBZ6DPFar68xkATW1KQyNQ1xS/RnaXeztwArKuIQZZtKAyJ8zNlufbFdauYg2f3RocvNSeISjnNRgSdSBzQT/8YPfrgz99ogfQptaItwoaf7bIFtbWW22Ig6PXdFAoXBcLOgw1pg= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: vlrVA0wXCk8BwuQnKqrBzWNBLOtr5JvVingzL96UKoYCzmALhbogGqz1axl5+LNdBIbyViw8G+FzClWQRIXCnPfXzLGCNhv5VSq2J5UF7MyMz85Z5OdjgkHqQeXlA71LLARyx9DnjqrM9kjhRlb6hilTsRrxV4NLPqhDpgD/GFx8VlWoA3Yhty+pn4wCY5Opz3s9s/yjz/qSgM63Z165+dm5UdsW+g/o3fuKwYhitZznulp5zZ9+7YmFZRk17HULS5IytU1paCKPa1wUfrBwghd7CIntW86el/VExmAH2vdZPx2/FyOR6sZ1E7OB61vgDylDm73pPhAOEgQ8aFs6ohuPNjtOEg1XyC774Z+K+R27wNN1WN7hql41sb/H538s0skTJlHc9KHA3IXp6QyKavbaoGMtJz8mBUBQuTeyDpvUWiLfLHxxMVnbCVe4QltglC3t6gnLvPIjEmdeycNshqupPC4hXPI7psXKCIXu94Aclua0NdBmrygNIh+cs9BD/C1ockmyK0iMwJ6iP8SjsaiMjAs4yr2NvrTmqEqALvRAkttdHk9FJoCf511VXBOtIe8QzAzlnTX8NXmloTlLWQs9317OBeKLumaOJkseTTYhfItH1qZtVP8RntehLmA1RdKnEuV242qdOsh0BpSooPtNyh2DygCYGYaWP3isoHkxULTeeb4hui2J8BFo/H+j+kynfsLLdBGnMUkSWHz6aB2N4jeVah9ZGNN7QHB84c29MABFIutnoHzZHJdNpAt1V4K8gf4THmkzmm8/DccfgH4R1oCa2habKoC/KMiJJYRdrA2RcVDvvK5hEeRA204u9/6FDkRD0IESgknmdIWzJMMSU6A3wUHfxBDETQVknAhU7aaGt2vCCvndxCaSpfuVJ0fLsbIityqh++G4LmroihJ5coaNj2pO7yaYnELM9fDYWCO4hE04EXAKLLblVspZpq7cjpiRkBmC5oCWG11ukfnpcFcxa0s19Je6/EsPFD/js9v8hUMbWpAw3kPZEHcawgjws+eTKLSg99rIr+wZxzuVba8OUG1qGB1e4mSvjowIKLzJ7/cbNR832hEvf41D7tp1Cu0h6JVaezTvFpyfe4hPsOuY/XpJis8I1IclQvjh3iEhp9Q5d0zq0u/a9uPNBZ+H4G+55Me/czUNTFKPAaanuav1kSMQdKxzb57WBhdFXvGbqA2stY/+QadqzBhgUDtLKzq0Ku70ulW0lszXcunZYEM67djcB3L+QgD501K8yssEVIDpnC9kD/4MiZOqCBaknqQH2iVd8IOtjAFwYN206FlFgQAuTdAxkejCLHey67gGLs4/EwJUG+UqXCzVI/76BdCAipKWcT7w0tWPXg== X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-50200.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 678a4003-cb32-40e2-f5b3-08dad6be00b4 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:41:17.3460 (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: VI1P191MB0639 Subject: [FFmpeg-devel] [PATCH v3 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: C08QD9OtO1tv 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) {