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) {