From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 95D0E427C8 for ; Mon, 28 Nov 2022 17:59:06 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4C79D68B574; Mon, 28 Nov 2022 19:59:03 +0200 (EET) Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03olkn2070.outbound.protection.outlook.com [40.92.59.70]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7A22268A708 for ; Mon, 28 Nov 2022 19:58:56 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dTUwmUFeMrx0j30aRZh43nVq1UCoDLs9BkxuV1cC2D17ulbF7RsxvHyYAs4kXa8PV5yeewy9Vk9lf0LpF80Y8tfNRRtILnexvkQ3L51i0UkDENkt5OYrkXyXtgNmAeyXHxcAo3gDXj/avqCnE6+jj3CbjHD941lewMdcnIMErcF2FO2+Q2z0jGFU3XvXfefgPwNsYQiwz5+/Ai7VjTXXdueItnnqOk3T65wQbaHgf5puUvn/zC0N6xRe3NAPvqAM1Vzf6UISPkC2y9jiuificIuavJWB7cofWaFGVLQhaO8C1EF8ZYeUNgqxgeH8xRuC+jKNMj7gA6cRYczxXQ6gew== 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=mFZwsBZKp5tNALhpgMz2neL0Ab9AgRKExajkh+uLU0M=; b=Wq+z8wYYfBnRD13H0/umus747pDLKzVP8OX6rRsKl2ONov+EJLqepypDm+5Hp/A7WG0zgv4mJVWQwsnFmWyFjrbhINjINue13iOMQDZ6y/xgc/V2iLnoGcKFUiZ8kDdRx3u+uZ+YVfYWIfa0L/sYe1Q2XnXX/hkqsQe97xJoIAaGKHr7/XnUbn3QeLUmpjRT+vK9716UiGgXFtfbtwkBkJQOaiZVIjmbGHYVAVR/2jdWS7U1yO54a6LlC95suHXyGw+NpUfYRcXxFgPbCq2by12JIzVai1U/PIFiBf1MmOien4i7N79ew8JDdXzqauwsdHY7S+n0uv4d/ITeUkLSbw== 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=mFZwsBZKp5tNALhpgMz2neL0Ab9AgRKExajkh+uLU0M=; b=BG+s1OzTGuNbAJx80xa05ui9a4rx+VLqFIDnQ+489zi/T53JFW5YfBM6FOSP+kztIxJA24thtYVm3KzFHQJy042iPxkgYf+yeLuNe5poDo9trqPpJq6pJ1Pf3ttz45y94Ypx/JJW+JPssGyqqOEJTx9IQzRTqMW1qhicriDFyzinkG+3kz0lDexM3KzLQMOvMIL/EwV3qcSWXoj1C2yx6sA8Q/pwgLzhwyTJ3QjHEH22jj5XMUkbA/N+SJS3/DPCzvWCAkyd+4YI92UtjQGnnF/xXhnxMKO7rx/fDao6WIQbQBrUBJ+wJK5NnTbMmYgHHrAOeoEXaWCHte/FxIXepg== Received: from DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) by PRAP191MB2067.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:29e::13) 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 17:44:05 +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 17:44:05 +0000 Message-ID: Date: Mon, 28 Nov 2022 20:43:59 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 From: Basel Sayeh To: ffmpeg-devel@ffmpeg.org Content-Language: en-US X-TMN: [B8gtz4Vuga7bIyhvUQxU77lI7SMppjglDu6T4Vej2ByLUa5qzZrkMg7u+cSDTOzE] X-ClientProxiedBy: DX2P273CA0008.AREP273.PROD.OUTLOOK.COM (2603:1086:300:8::20) To DB9P191MB1482.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:224::19) X-Microsoft-Original-Message-ID: <9a7fb888-d28b-b587-498e-9f80070814ad@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9P191MB1482:EE_|PRAP191MB2067:EE_ X-MS-Office365-Filtering-Correlation-Id: afcf76e5-1815-4734-5312-08dad16824ad X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oD0aX6NFutNBFCkRGNufurgNkMi5RkQsYdToS9MfWNdaU/AC5GsbVEr8tRDNgprONQLVxN+1WUp0+vMTQjj+7AOirjr1A4x9Dx6asLoZgdoLL4q83muuFTeEEVhxfBe3LaievgzSx9JtIY/BLF9dXsz2mbS3XUGWQ0k+mtQBADdVoxHI/V71Fy39DwIMxKPg25rMH/xEDfbwo9U2Xjaj3dcofVPUAQkZymIsYdjBWr7Dmsz4rxppNbJ5avoyT+p6UtxHPfq4JOWEHi6qT7HqSn6c88Yt09Q8lf3w1+HdDF7s+pzArfKn1Sne5ZQf0xKEM9t/rbHyFRoLWPz+7jmMAhxqsM2Uh+A2d5r+eJlfi4GQJwgm9lSWf/GsUNDtZkg8sUhg4m41hW+UtNrj3OoTadGRgdcOvebQvlwk4Qxngn5BHTW/bluGXxs8fOEECUr7hhVhlpGYp3E/O865Y83K2f60r+6EChSj4T/luPU1KnrK6BzQV4dGlVI2LkrGEr1rkaRaXmAxgPS7MrwbsiMHLJ2dXZ9C0Cg8BouW6oImg3Ik90Ki4/6Li+06O4McP5utT/SvN3pha142DGHWKik24mg9mAnF14es/ub2F9lGEL4= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WTdPZy81Z09JaE50M1JUQmxlRTRFb2I1T0piZ0s2dFYwSmU5Z1pwczhVNHc2?= =?utf-8?B?Qmk4ZkRqaDJ4MEdPOG8rMEdIUVJUa3dwRVRSU2xsWnRJa2dUSmc2VTBKcEJZ?= =?utf-8?B?Z3QzSTczZ3I0dVB1OHdTTGVudElEWmFtRTl4TFlGOFFsZmFRc1JhRkY3bkV5?= =?utf-8?B?ZE9wS2VkbGhZNTBROGt5ZTl2ZFNFdjYvTW0rc2RFa2tieG50YnpOTHZzRFRV?= =?utf-8?B?OFlCYTU4cGV3Z2tVb2hWMkpSWWV0TWd6TjhHaXhkUEZQYVV4SXZnZ1NDb0lV?= =?utf-8?B?VjdML1NQVkN1akViUGxRZ1UxL2pma24zenR3QlE4SDRvMndoS0FuaVJWOVhU?= =?utf-8?B?VXJ6MVpheDFQRmdlN2J0dG5aUEFZbzFRNStjdlEza1pWZHZabE1OcnM5eGY5?= =?utf-8?B?THM4cWdVeHpwUG9Xc2ZpNDJoeXUxZ1lFUkw0c2lXeC85RU44WmxBN0xpUkdS?= =?utf-8?B?TjVpdnhHZ2x6aEhSZmlRbVkxcnJPd213d0t0OUdFUW10S05QYVFWMTF5WHVP?= =?utf-8?B?eEpVUWxjcUt2cXdaUzA3aHpJY0s2dmlNa1lCbWwrMU9OM2Vacmhud2tCYzBw?= =?utf-8?B?alJheHQ3dEMvd0lKQjhkcWpKaWVaTG1LMHRURXhsRVpnRmpQK1hxWm5BWXBS?= =?utf-8?B?NlJqeTczVWVEMFcvWjE4Qmd1SXd6QWlsMXIxb0EvQ3YrcWU3VlltUUpWTXF3?= =?utf-8?B?MENjM0I4ZnpDNjBobDBrNExwM0ZsYlp4OStLTnRZNlc5cFhLQTRMcHEzK1Fy?= =?utf-8?B?WHhiTFhhV2c5V2hrNXUrZFZiZVZoelBNZVVZeG16S0tkVk1VK0RrMHlRVVUw?= =?utf-8?B?d0hqT0RPbDI5QXVqYmZEMjJLZ1pyVlRmQTg5S1RReEQ1WWUxc0tXYnJLM0Ur?= =?utf-8?B?czZEZlVmOFJKdkMwcEpic1VvdGhMUmdPWmRXZlhnOHQvUnVrSUFnd2FsaHFV?= =?utf-8?B?OWE4QjR5alk5U0loYnkzeWV4TlNYTXpOSEJoMDBYa1pCRER4djZtVkZHQUZP?= =?utf-8?B?YmdDcGVUSXloTGJFNGZPeVEyS0w4VkxjekVZcDFhK0t0VXlWMlZOcG5GKzFt?= =?utf-8?B?b1JJNlNTenBjMVdDRXhEUWJ4VnQvV00xenM3ZnRKb2JiWkFMVDZFYTc0Znd2?= =?utf-8?B?OW1qeCtuU0t0dEFvN29xdlJXWkdINVVHSS8vYXo1K1VvcWU4NjRCWlRnUWxP?= =?utf-8?B?Z09Ta3VtK3lEU0ZSNDVzWFhjRzQwNWdPcmV3OGFwNWNHakdkMEN3RWkzT3gz?= =?utf-8?B?VVF2Y2VTMHFNWGgrdHVkK0R5M1lhRTRod0VpTXIxSkZEakJCUjU4UnhSczhv?= =?utf-8?B?ZWxHbTN4bmpsR0YwU3MxOXV0L3NCbTBXZ3F5M2YvQW1qMVVVdzZmTEo1WXAy?= =?utf-8?B?R3JjOG9ETDUvVHJiWmpaaklzbkhwUnpPdDJBTENzOC9yekhoVHZTaTdpR3dP?= =?utf-8?B?NGg0anI0Nlo2QlgzbXhJMXpWNUthRWpncTRsaENlNVpMWitqQkdZVGZSSkpl?= =?utf-8?B?SDRqd0hvV2FqQVdDdHZRbDBVL3dDbjlqSFBOWldxaDk5SW9ZWXVqcnZsTDZG?= =?utf-8?B?eEdtWG1sTXNiN09JOE9TbFF3TUJBVEExcjZwZU4wTFNib1lMS2xRVUExNXBE?= =?utf-8?B?RnZkWGgrTFc3bkZWZ25aN1ZKdWlCMy9ZYkJ5K1pOQytaNHVsU2ZzMXVNUGdT?= =?utf-8?B?aSt1U3RTWDZ4TVFxTmxGN0JkWmN2YWs5amw4WlYzOWVoRkJKT2E2dERNbFFr?= =?utf-8?B?cHBUdkM4WWlrTk9XUjM1alBLRVJheks0YU4xeDlOakQydUV6a21JNDJrOGIx?= =?utf-8?B?aE5mTFJXeGY5d2VmUHo3Zz09?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-50200.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: afcf76e5-1815-4734-5312-08dad16824ad X-MS-Exchange-CrossTenant-AuthSource: DB9P191MB1482.EURP191.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2022 17:44:05.3344 (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: PRAP191MB2067 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 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: 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); -- 2.30.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".