From patchwork Mon Nov 28 18:01:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Basel Sayeh X-Patchwork-Id: 39529 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp7835139pzb; Mon, 28 Nov 2022 10:02:21 -0800 (PST) X-Google-Smtp-Source: AA0mqf7AZngXhLJiTVzJzQukSRTce2CS+W72QLfYB9MOvt33qub1TP60T3wWHXtVM63fbLEnR3uy X-Received: by 2002:a2e:bf19:0:b0:279:74ab:1029 with SMTP id c25-20020a2ebf19000000b0027974ab1029mr9781105ljr.252.1669658540460; Mon, 28 Nov 2022 10:02:20 -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 sc32-20020a1709078a2000b0078dcf17c084si10546246ejc.728.2022.11.28.10.02.08; Mon, 28 Nov 2022 10:02:20 -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=SxOyfFCJ; 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 C800F68B3EA; Mon, 28 Nov 2022 20:02:05 +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 4F97168807F for ; Mon, 28 Nov 2022 20:01:59 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ggh6bqmmoqzBZZtU9tpq95y+EH5ACJEUf2/J1CKiwt+ppxK09zarNSCx0k3oeL/Kqwrft3EQQ7eo1xdzvB+5wz4H3ap3YB2CT04KwQKwAwP5qjIDW1UoKgSzHK8Fahh8oiyIEvvEEmow5gCN+LJn4DUEJzJPML9ylSAvTAiRFUwE547a8CVLV3TpY+hG1R+h7DhZW+D/20e5rjrLC3E0Qyk2tsZvSHhfXjlP1U6TCdWhdoUAml7IiEQN/+oVgvtIMZ1/1uulHB+TpeWmEOfssfluFqBqazNtVjI22KIS8jbY1U7zmrwJSzjCSbP03Divu2Ihbjk0PQwV8FZsBN64DA== 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=Y/xLHngMVPM8qNpnf89T6LZFoZhgY8VtSrVLI25BLeU=; b=gsbi98HBVmP9QHilO+DQvanxGNHutDyIOMSTGPH28MQQXVmqUeg6kK4FTB03ESJv21zkqvpSAsKZ2BpKstQmKUH0z/W9gTKoUQa2mFsNoi/ZXIRDwYCGVQjEGmo4vgPsj0EvEVPrZ+AUIP6TrM3FNKqusbNIWj4q/n1P/pUnq6lVi9bKH6h2DnRPPWm/3jj6tyzZnaHMwr1yL+/l2p/M2P95vsfPV6Q24WLROC1iRddzTnbKyqrPSU92eJ6Co1Y8CLv9R/tri3K9AULJhK7Tf1yUZcHArE0EqKbZ5G2zHzIgsIQTXoEmx1UaIlMdI0dWlmwCCU/OMQIA5uZxfUagxA== 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=Y/xLHngMVPM8qNpnf89T6LZFoZhgY8VtSrVLI25BLeU=; b=SxOyfFCJXGn2Y+uW0t4sMC9TjS17I2JojCg9Q/marmwYjwBiaDT9xjwdeKBhgXBFdCUuD2m1OEJeivhlTorF1rlkbH0K8YRmZ1DEBoJAw99utwgq2mvfv++An0YnePeykZtnUw7v1sKYISgiJssRzs4nxGw8bAATCxHYCHqG9Bb1QB+EIBMNSMML0Tpl0rANEn7E7WAVRflaQdTQ2XQI2EG7sXJuavvo370FFV4ZSc+722B4MNDEeTeC4owrM+GvA/4mTLiSiWxw86vAUk6H+Byh87lzwvs5QGKPBVOQCnWDouMSfIziU8q79ltnB7muAc06hoiQiixIHlUslhSq5g== 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:01:57 +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:01:57 +0000 From: Basel Sayeh To: ffmpeg-devel@ffmpeg.org Date: Mon, 28 Nov 2022 21:01:38 +0300 Message-ID: X-Mailer: git-send-email 2.30.2 X-Unsent: 1 X-TMN: [qOhxOK1S7Q9zXAj1g0x6iAOtSSjbL6NMdMgUmmmgc84dpgp/aVGv5xWqCMtZ04ha] 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-1-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: 9adf2abf-11ae-437e-db33-08dad16aa400 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmpEPU/wJLY7hrLLkE8Zz3+9HwtYe5fewL2WxE26qp6YAG6Ud/eGBd4/c+8jGlu8/gTLLgpZQ7Tu6bWKv2lFiC69lHFY2RQgdRy0PQg/u3dRVM4VUVxpxENyglbIZBilBmOQBbgdfQRy0yECFEzDkme59+e7lCmzvhcYbo974aY4gGCLDQ9DykncyhOJXqy2932ugEyFWkv0IQd47VLX8BPIWF9OdGPJ4wekNpk+3yuwStzOHq1dNjo0+9Bq8ds+OOcMoQc9dox6HXcVBaXJu3U9rL/L62CL0KiM9yJSfu7GNkdCdAILbdLwbjv/5uKFtB457th6+AthNzVwDdMnEbq30SCGzYOVlE2JwFQbP7isjxtnlz2sIjUFLjzzQeUQhgHs2lF1sm7zpwcP7si+PJ2urQ8Kk58t1Lg3SGiw29VfpsygwqyW3ECURki0hdcBueef4VNeV3yv/Op3/0/KKBJ7GdRYKb0CPOsS/EVOAJm7Zh3KZGf0cEe8LBe6JZY01ENnb/ZbSkf+pqMqGJx8GNj4dL7KIohESFycbycRto3Npt/t7f/5DmVv2+UcKW5CWQ00q13rCjmqH5fMkHf5qlM7G6mma1aj2LfProoYKs/3XTaFYUOjpaLwmiRZ6Asyl/FkgMzoJogrPdb29g+e1HtFCq3ap4oh7T6hZo7hJ1nF7yBCgnkPws8a6fz5kN3ldHGSGLNtRIkwFE4CrkXxwHN/Zkcd7sFKorC3N8pkCSOo5yzTA8dbflXP3+hLr2AX37g= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kRuXnltsY4JGJ6eZKBRQZT0dvjffDWY+Xvg7970O8jLVbc3FEVaYr9jtQHnwoMLLU+oZBqgeQWZ2GJREa7PYy6MG0gnjUTLPFE0ShZc4FEz4RmFc/qBr5LapdQSpASkiE1tLp3heEH05OrIgt5gq2aNtGbBOIf6gmjwc0SpO9aLg3vefEh/LYqLfmkrEnBvbefZqh26vtAvS+MxYfR2gtPtmc4yDrJACL1it2QUkNyK3Wq+d8ZmArotwtI2TAjp2FJLisYPPY04GZfmmmr40udHl5kzpw/mcoKrGRlWF3WXJvhDEWozLkAiV2QokG6EzvMJ+8DkrFSsfUQU7a8E+Y35ZuiOErLHX2pieHUQrtnUM071Ws41Se5lPHarl4sFInyhWB2a5qgl3Zo704VyHzcggpkphGKp239E1/qOuRQ9xGiN+/SEJL7/TsPWXn77Yd5XjznObEV0+L9UG0Qi8fWkRnqVA1Wf+5b8MvWxbAx4cZch89LBqYR2hMnkAre7y5UHzpTle69aA1uyLdrSVzRN2I6n5ZLDrJjhnH1G4okPM9TW5BETBupCihJ4zdsScn0XqfzJmrPS/0Y6rF5MW2zK69kKmU3VLgMgPK/B8g838BXEzOMN07uwbM2TIBnonHBuFaDfq/RTf0eO1tETVzA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yQINj4ajP2uhgnp0JAqMWjft7LZbDdYUj5k9Olr+/GdYqhcJMR0EDCDN9hEEc5/ZhbkddPijaCsef4m/2wHrh5QhEJT4uiiFZcbTRWOEZb3/DdomaCQlmaeHo6WKdceFYc5zOhToRfy3+615Yq1qW4dqDYdPllLeD1Kf4JjPTxD8nyytxIwcgodjXmfL7VpgP5sWeC3jIVjndslmOMj6BJ/6ZMwWssDokyoiLjC7fuaU/DAjVt7sJPicWDiBP7TOMHqw4np/i9dlKCwMM6lCzqglfx1LG/brOClP1+mLmXU+Bxm4Q5KpsduEbAEOrkWcAxZcRS31BsamclJySKwVGuEDzPhDjkyJ4mizZDXAFnSfi469wfKZG53MXxvpGI91rfB2fY4J5RXeCjwFz9M74eR0m7aI12Hyz47pBxxV7QhenytUuEBkk0S+m7kOPBy0/dNkdtNE3/seA/jlfZwAlN4GmnWLQV1CuYcSVwu5tQP3MNPU59L4PD0GnbJxyW5+s9voc+bJASpeRW9MRmVQWbOSpqBLqfNCErTbrZgftS/Jf1VckGVK/XErPM/N9APNHocqdbkUPKS4pYoxGhYpg6R6QcWVHQJ4HkqsRyxzcaYONDUg0+gmQekscQgVDQa33gU9QPj0bg/DFoV0hN8TIZqj4DL4c3ngetH7Rm2DYGiUYSZidUja6Uc7kR03z4OhFizLMr2eATJanjHNZp2dNClJd9NVM8z0+zNhin6fT1TD/JPRsC0ajySMG1CZ7JEqZgIBZMEPzn2fEewTmCrvj3U043fy06FibY1+Fe28QJPGCXMSu3QGtPHGN88Hmt0Ml042GHAdtrsQOnqKx2/K4ZPChf7l2mP2nwwySzHk0StV9R7JV6veysqJCx4sRx+bbwjWS0Xf3ba1/7oIdM7APF+gpR2cyliznKdn5vhIgL8IojkMv5lJ2IlENRGnKl/MHvN7pRbbOMKaRWJFCrX9eyckqdhRGm0UfvSF+ZcgjzAYw2WWLRQd2vLOXWDo7xbnOxhOxqbhYEh09zfs6RHk/WjWU3m7lgFcbtfnbVNE995CAShewS5snoF0UdrM6Kv84uiPR4Dp4WMDkCraSaknmg2E/eD2qAloSc8/oXIz9MC2n8TdQ2aiZmMrZqLQ5Bd/Gi1fp9WipiPM+SQCgFUOeQAitpfYBr47R+OK/Lwlbkmvdp5XGiQPHgU8c6DshlRIxjMsv/VIh9/NtIS0VTm7gsGbfZXoVF7qeuGenchZym8UyHR5ei6G/DtPQPSnAytlqVUqmVIOGsUGWWkX+EvaF6mRw2FHTctnp1LPlkVKTeaxwPl1+2HULhtKhDXwEsRVtzTGKYTjZdtmTZz7YlZ1kg== X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-50200.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 9adf2abf-11ae-437e-db33-08dad16aa400 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:01:57.7416 (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 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: 060LaLnNfBYE Signed-off-by: Basel Sayeh --- libavformat/hlsenc.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index a86fc8907f..e4749aad87 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,20 @@ 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 +668,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 +685,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 +2713,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 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) {