From patchwork Mon Nov 28 18:01:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Basel Sayeh X-Patchwork-Id: 39530 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp7835241pzb; Mon, 28 Nov 2022 10:02:27 -0800 (PST) X-Google-Smtp-Source: AA0mqf57+mhf8Jc3DL/4DKQFZ0onYJQzjQgW09P20WaDGMQu9RBY3JgnWacujTN6RYnxkxKDBNTe X-Received: by 2002:a17:907:c24a:b0:7ac:2e16:bc31 with SMTP id tj10-20020a170907c24a00b007ac2e16bc31mr5278580ejc.242.1669658547217; Mon, 28 Nov 2022 10:02:27 -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 fe3-20020a056402390300b00469229ef941si9806092edb.468.2022.11.28.10.02.18; Mon, 28 Nov 2022 10:02:27 -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=oCK+Ny94; 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 C179568B6B1; Mon, 28 Nov 2022 20:02:10 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2102.outbound.protection.outlook.com [40.92.91.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6F20D688172 for ; Mon, 28 Nov 2022 20:02:04 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PB3grXc5AOEjhODu4T6ifEb5CDKXSckPmxDeyZ2DiBPF51rluTNIbwe1v7fiiaSMcoC9cOQI4V5TvlTWBA+0HLtPKUvP/CrRMLwPE9vR5BW8jsG+XqmHDR2p8LG7lg90MdIUp9x1cqu9eB1ZodIP+d+R7lIY0k08wjQId4bJUduPaoOVDAd9rwcCsuZ0MjUIrQzhVr47VP9iFLEbp1T4vTg63TWUCbxyrePd2+9EZ4HRM10c68RZnsftdvb65jjwTdiIPR8wf0gebX836Anm5sTyB2+JYabBK9PHVmYoMksZPJlLH5cVrrhVU2RPdhNF+xVchk++dXTS1erqn9dgMw== 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=E6PA3C21Q8bWTBzDyftd8zDYDxpwIf//OlpTGwdc6GIy51XQscyadCJF8rGK2i92w4HzWC6nphXezo9vMsIIn37UtTuhqI1nC1VdkMHNZ2V1dL1Cfz6cmZf/7otFfZkkh6j08miUtIF3HtFqHafVrmZaEObp0+rUw9cpVIZQv0lG6aDLl/eAVWU+ZfHQCmmZyoBXEfiEkuvfDBQqWh88SiBXGdDqbaqLcPWGZpDnjJ0hAYyndBtT9FzgzFrsOZBmTvvAG2fAyo6/K9LcZOtBkQJdFxkJg8J+y2IqPAfKhH/nfFmR0a9fkaykrzfJDIKWk7RSAdFe73+DGT66HOyzVw== 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=oCK+Ny94pRPjVr+WmhF4s1ZCYF0wwN1ulDejRM7RHgWOH74QmD7I1CPBNvZ15/lcJVnfsPCzR45zL6rrhi5NKJePuY9iW+jCSlOWPdP7UR1jCns2urV0U3GFfYMYJMPU7+X/Ob8RW1Wcsz9W8TWbkGuZM56funZUGN0D5ZNm/g2Fp0vre8iHON7yr3jCVHaHyXC7wt15P1Mvo/o27U6qJFWMQoDrKyfQeoeShqjhCgFNJqiWyhyqf1I7vDkKGEus2llK2u5yVm6eYosXgd41Hb1GFjkgsxpd/Xf97x9owW6NF20fgbVqi8y/iFRQqy1lLbQAyLAcNzReHEBUulgCNQ== Received: from DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) by VE1P191MB0909.EURP191.PROD.OUTLOOK.COM (2603:10a6:800:148::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Mon, 28 Nov 2022 18:02:01 +0000 Received: from DB9P191MB1482.EURP191.PROD.OUTLOOK.COM ([fe80::5e68:48d2:6fc6:5443]) by DB9P191MB1482.EURP191.PROD.OUTLOOK.COM ([fe80::5e68:48d2:6fc6:5443%7]) with mapi id 15.20.5857.023; Mon, 28 Nov 2022 18:02:01 +0000 From: Basel Sayeh To: ffmpeg-devel@ffmpeg.org Date: Mon, 28 Nov 2022 21:01:39 +0300 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: <20221128180139.73103-1-basel.sayeh@hotmail.com> References: <20221128180139.73103-1-basel.sayeh@hotmail.com> X-Unsent: 1 X-TMN: [MvDXTLPCSZ1jvFwEXIhgh/AUZjeFASqcgjKcwhc+XkTSP/SVqQJv5MwVgxiY65B4] X-ClientProxiedBy: DXXP273CA0003.AREP273.PROD.OUTLOOK.COM (2603:1086:300:2::15) To DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) X-Microsoft-Original-Message-ID: <20221128180139.73103-2-basel.sayeh@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9P191MB1482:EE_|VE1P191MB0909:EE_ X-MS-Office365-Filtering-Correlation-Id: a4b38718-00a7-4955-6c37-08dad16aa612 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmpEPU/wJLY7hrLLkE8Zz3+9HwtYe5fewL2WxE26qp6YAMMLdhm1IeZOjuZrojNviSWM3OjSfKGYi0Ea/aoSAj6Vlk9Tc3w6FlFaV07/hABGVxW8CmWoSC3gK2+zIVVQGNxBxLHyEtyL/GYx+6fYRYIXXMx1KKamc2PbsDUlemV79skRhGmmyLzrE2lRAHcHNOtbww9KY54AZ4+tE4qgyBB23vf5tD/l+tz2j/j0+XiG2YCnqO7qVD/sJEJT/jN7cxGwtYReOu7Hh818moxo4c5jzx44JhVa2kG0CUnZuDH7CB/uRwelwtshexfbTyXqYEvlH1uWAYthuZF/9Uif6gV/jIAqMls7lqXjZYITj3GQ2OaRITRun7CnqR5Jr/TLOG5Xjadqof6oFo5vGjcHDgvLO+93sZyQonFUuAKUF+5UZhvY+QVfp+X68q8YUURnafH2BxrA3L3qJKvA4IwCL2DRCSZvBmevh18tkbarg4YCxaCc/yGFEqUEpRxGpJpTTY9UIrpPJukEY+mfyZnYadQIF1E+Aw2NUQTVK9PuVt7Z/xKq3AUL0t5OfmgLVezr1B1XGY6G+wrkZcNRb/mCS/vvRHTfK+rKEWum8nJL/xbd4VRrlCPs1X9Edf5euF9/+1s8JWUZV70HbL95YBtfK35xk0tjHIqbb0o6PoydSdJ3ukUrOnHE33eDEUnTwmMdwNrMNqnPr0Wme/BaOXPXmWMqgkv3HQVoYyhPTNyJcQmEowCR5Mp8NkdD3/GgnnfA+Ao= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zeXq0/Qa916ZtZtQCP76kaq+Alnowvn2vw9VrZaoC/+48m7Vz6pGOXb+FPQ8j78LOX9eTg2Zn2IrXHzJye1pPAZyiiHoP4eImluN+hePLWekUZlaO+nXjuN1kwJJlVwxVtx6vOWfWltAZqiCbRwo6RIuXVfCDG+Wh4Cj5cNth+v8oxzBgvxCmjaeWvhjigjfl5l/O5y88ywv63mQ+2rv3tVqOzMj2MW9MPL/WQFVpbAnaWGETIJBdaxfDI5TIMBr8M9SX1QLIqIJ0eYfZeI2N23F07P6N9d1mVxEYslTGwu8slbFPQnvF0I5AgXhUNtf7QomaRn+GHnIBZ8BieQzM3vZYZbHPde4InS+CR64QYVGRLK/Ma8RgA863GoBPoXMetFLLwv0f2JtHuwqYLXdoGe0wupGxd88s/vycymCzwy9rXneq9gS1crFrDqYV/+ptO3sDuDAWElLplwWVBzz4997Z/HT9es7VB8SrXWOPAg/SEX/8PZuYjZGkxKgLTxDC+MITHvTK1mhdoty396/X/jq4EDdMQNWu0WTKBjPN+h8T8dDpUG6GiSonuV3H+CBAaoo/KYIg7jpTJvj3KFl/aP2AUWdADOScaaHwrJ1KKUaAVHSFOMZ84wrtW+M4YlFeoT4lCjguM0UVoKgQ+hk9A== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: hKeP9bShgIRYtp1AbdICMEP1ljftQ/iBd9Lxy3Qzpq2DTGdORkyWHm5a1kqKkqiPAirki2vQRNypu5AdSCZJZMULcNeFyXiuiBa0AVFLA91slNJwdBCHzBl4Cisrm8MSq9Qi+EGJ9T5liuv+PCLV37p5HdpeB98WDd/N/eOWjxgz/AJtVMJAw88Skxvnao34tf3ut/2fzgLVYhRvlAmHaKz+kThX4rUryPFVk7KKfSuKsz7FSp4WtXNGz8Y7rYAJvRJFukaWSvLBpJLouoqf44HRGq3brO2F27/HhTz3YdvyCepQL3xP2s1l/Rm7jC4cJ6DAQtBxTXH6SrjoGT/kc5BukT7hHpEpRUs6aTPOQIEKX52bWx4L/1IxAwhIEZN6PUj8KYRd4FdpB2CIQ8EOjAwiarbaqdzBQXPLmcw8xcx1yuniEZKDpiUasa6ebfE7AhOAG37b9NjsSEYa65xM0yLBDQJ+CoOQFyGbrOHI9g2GOEzWJkCk7ZlpHHp0C1/yKRUoBW0apxSxzs0yGxANYc/GZqyEd6l0Io5A9rhHqjRCnlQ6wcd5mfrSNfDEgIOwZuCzpzZJDfe/IoTomf7okLYBWOZmMR2fV+grgYk82te69zOFVcwhnjq3tBME37tA5SrlGrSqKjxOjqHlBgqb7FexVKtuwXg2Z+3L415C79gdljxbSnho9gtatEn3jSnIP/2VWbn7NjK8xB7fWbZF/PdikjLhMeXS1ZYJsiIhQzdyUUSl5k4BTBAn/JUOas6Lkas9aODeAxQAdtdkwlnPa5FA04w/WNDs648uU8IMWQVcsaS9pDwH4XEugtj+c6aIx/BCSFNc6BUGkz1yoM2KdtacTRO3BpEIitNLRrO4TLvUjveALU0Q9D4frfElQsBmsLdqVQq7J2xlzDtDq43s5JajDDmRAnhq1RN61rUDowRqzVsiZIJNN3aHPIU4gV0pakvBMd30MZgexpXggFzrue+JhraLeMVUhvktKQF8KwdYSh5KPA8X4iz/HigRR+STj+W1Tni3X6JATLRCSxnGr7BHnJeVbQ2a4enGPJrVN2WTDy2CVWsIcB1Vi1CDbBuqxfbS/nICMC5+34iXk1+ehEAPYB7hyyL6/Ra/irGoQBBB3cMuzUG+wC6t23o0Yu+BzOsPuuwfobkbtGM3NouZKyfhREpykA275jxFaxQZBZPMbH/MNLUtcwX9nLaZ65sldMcuv3aegrxgZcCrfP6YKSK4KWl0F2GSchJ5lc/o7hW4cr5DCPSHuIAFN4bDXQzvxINXLQAjuVUr/0+WEbZFFchMnVQa+GI4vKptQWtVbAAwsvf+NM+LQVoWyr6S9PAAYMA/ppJykKnKvP4LAMuciA== X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-50200.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: a4b38718-00a7-4955-6c37-08dad16aa612 X-MS-Exchange-CrossTenant-AuthSource: DB9P191MB1482.EURP191.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2022 18:02:01.1498 (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: VE1P191MB0909 Subject: [FFmpeg-devel] [PATCH 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: mVQQEfLtUlHW 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) {