From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 8218A4EF66 for ; Fri, 13 Jun 2025 22:26:46 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 1233768CC5D; Sat, 14 Jun 2025 01:26:42 +0300 (EEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2054.outbound.protection.outlook.com [40.92.19.54]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id A894E68C2A0 for ; Sat, 14 Jun 2025 01:26:34 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jl2v+U807ajMgwkcuwitpt+BYER8dQ67UZWy46Rj6fQ921zcfSFNJsiZrjLxGFrJpbYjXR9tctDcw2SlK/K3HPtUiWU0Ou7CLalLOxAiQG41hJqt9tUtdf8xU66NMF9eqolDN7hPrs8/vo2yc6dTdlOL8uRsMed6dKf59HJtZNiZPU8YP1cwgzVlYqn5ZHNvAI/iXGNR+mGF/TS5UJcrAYzjZ4qCwejdBKRrd90fhSaEMD7WuylwnWGRn0Qcw2VBRRyo7Mr1nCTahCG2ukL5Fx44mDahkXrP8eLggLoorxIvjApwyizkXei3GkLzA15c9CsNlq46pGXQogs9r1VCRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=L4IkyNuY7RYpAcCDQcAf/iRc6k/2xDKUaLMxp7DgYVs=; b=fZeR6RtlP9hsUrxUi7eIV/9mvFH/+5VVa1knAsJ6Ryy8MUk3TZ4lEmiHK1s+YZ+8JcC0HI7kwJI0SSmH1LXYqB0KGkcOm5AKI0clV47kY8ZjymF6HQGlZFdOuFgzHXVgGAGCbx/cVS/bcV/2oK2s/7lQM0iwkmlakB7Oc0JND/ZmXu6Et7szVH0K5cEfzsuQlaoZoRPhKg5VkSmocbr5wOKL7dBQVVqbyfbb9QlCjJCpRxY8xufNtJQ94j21qNd0mG5KE9QSVjN1DRDC4fQ8jgmg6zO/2pGOMjb6wiAiHSsC+/ZT7PXRuhTU2MF0YMZA8Pc4vomiKagpJJaxzkfd6w== 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=L4IkyNuY7RYpAcCDQcAf/iRc6k/2xDKUaLMxp7DgYVs=; b=HyHdtV7E2eGV6qIUEvzngt4foaKTtmvoNHf/hxh6UvSHmHj57HwGAcufIQVsrNpNV1hJ+8y/T4LDfQt7XXsFEvuNdiaV/lJR3SxB1L1rY4ZgA+qAELRaWAcBCNQGfKMs5XLuMz7gRo90baw2YmgTdyrDXsbUJjEpz9LdoVDCpfyA9DZhatFbCOCmBozXEfLsoRYCzY3L++V/tOheTau03NBCGmcB/0VEu48RBE4cLNJ711e3wJUTCfTCRTjYUwznFjQUPRo1zyOKKOIXrL6OTHUn7wAsoHrd36CvB6XbA0uy73eNy413swkeshBCjqkvojYYYcsjaBVlE9dMw9IyQg== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by DM8P223MB0175.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:5::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8835.26; Fri, 13 Jun 2025 22:26:31 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7%6]) with mapi id 15.20.8835.023; Fri, 13 Jun 2025 22:26:31 +0000 From: "softworkz ." To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH 01/10] avformat/segment: Add segment_write_temp option Thread-Index: AQHb3CeoJ8CCSOc+OEim/psnUshZMrQBjcOAgAAPvyCAAAk7gIAABDhA Date: Fri, 13 Jun 2025 22:26:31 +0000 Message-ID: References: <0132f3f9332b2ee0c53cb8fbc34ad3e956d8b9b2.1749794066.git.ffmpegagent@gmail.com> <4c613514-e388-b859-4f33-c658051520d6@passwd.hu> <34253e5e-c1c1-75bc-1a0a-8b97da8361b9@passwd.hu> In-Reply-To: <34253e5e-c1c1-75bc-1a0a-8b97da8361b9@passwd.hu> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8P223MB0365:EE_|DM8P223MB0175:EE_ x-ms-office365-filtering-correlation-id: eeeef6dc-bf24-4794-b7b5-08ddaac95915 x-ms-exchange-slblob-mailprops: Cq7lScuPrnorNxbFcnOr5XZ/wReADy9KBBYaprc318WZFt/MFOI3VEITp7LlTsAdvLb9BvfxY4gqk7qMNoMY2wIJA8/dcO+YVQaPrCFP7PhlxW68MYym7HvpektRDbPc/6QjoRx0Y5V0AcR+GiGnbsfgE8RF5BlCDTFq3h5IHniOExweoQZZKHBhKHK7bv3wIAmFYvX2+OR/RlaPu9egQkOh2KZkY2325aloe8dho79HNppaUnqPRtA3GwyqgdN6Z69FhSJRqj2wTkW2QxnBt3vC5bUAaILdKiL+dFRUspCor+8VEJX0roUdtK1ToD0xurQ4dW0y5MDRziRicezg43txrke8eGee9vPQYwT2GRHhkudZCDr1oHAugs5xNSRGDFvZqc6DlgroPwQX2Tr8aFkJZbO6BoLaAVpChmVJAgqIw2GA59+Ci7fMJ5Cft/ZvECERg3xAV6AqvrPhZnpwNZcVKl/iVEBdjWUcMtBJfY/tVNFdGlVzXvlmEGydG2GJ8IG0ozCmVeSNvoJhjn+pKfsMjbm7DLEeHvRyFh0ABJNNUsXpkEPfDdMWLfWXiWWnTGCAUNsq3JgMniyCTwjk426aZagmXrghU5Mmf/1532a2Cb2lxwlla4L+fkZMiqMoGtOeLElQqGF9yAA40HV1MnnDhg4qCD936/jBJP5orTLGlRbpMrNfOeLqw8Tbh5V34mwYDDcTgpoIDRrYr8GVzJHpHSCNhCtHWF0zZuXRMdFhoxUUSqTqxN22klNra6iZB9dkwdVmutM= x-microsoft-antispam: BCL:0; ARA:14566002|461199028|15080799009|19110799006|8062599006|7092599006|8060799009|41001999006|3412199025|440099028|102099032|40105399003; x-microsoft-antispam-message-info: =?us-ascii?Q?RVa1g3NsDXduxuUzmU3Nww6xkgVSfLuZdxbVtbovYme0U0Lvd1NAdJu8+GMZ?= =?us-ascii?Q?opFMV0IwENthd262p191InMhrtRFQH+X11w48zNfSscI7wbg/gd2+2pP8bkl?= =?us-ascii?Q?IkwyfKb2VCWUNficJgTBKxwr/HNma8tqnusiMsRIPGeNDppdnHWUCPNqfDYg?= =?us-ascii?Q?V3Kcv6xD0v11JZejpkHD3LQJZzzpoH5mMru35AJHWqj3cXtfAbt0H8WREGM1?= =?us-ascii?Q?Im0sL/kvgQ6QhCkYQnhT/OCNZrnm08ubRUwSQzkSYzhbvMdWhNCmUP4MUk4V?= =?us-ascii?Q?W894thyMDOlkAjo+8YJJvCKe3mIdXkKtHvnU36BaGSfnk/P3tcbqvqhnxPdW?= =?us-ascii?Q?YI7I5w6GF7gtKrp8fMkGcCwgDOSFBmMMaH5XHoyM72h97rU9eRgnHM6ClnWt?= =?us-ascii?Q?1IPBlopMksLGNNGnWZqyLT9LDTH6CZM0uoJM7YX8nvI4NNESM6QAX+NxfWI2?= =?us-ascii?Q?wO0C++81TPz/VxoJYkpfLk/lISKi0MOXv5cMWcn/FBiiTH3WEGY31b/qGRpn?= =?us-ascii?Q?Vzqk8kBswm6px+4CO8UarssJfmAHPh8E87ns1QcZ9NW9Za7Ys66aIA4ah39G?= =?us-ascii?Q?vumLhfuohhn3k8y2UTYWSRmIVQP/KxCV+Dr4Kiz8s2GvHaa4UoFFMZP3ArpB?= =?us-ascii?Q?roWRS5bJ7wwtgipDHlVrGsXsC2qo/b4MVRBZMtYUJWARxNWfhZfmtUt0g95a?= =?us-ascii?Q?nqw6oTyDQRb5ZzCW4yiPYKm0eOmbWNjXxb+IkOKiys6LXDt+JRjR04Z3agMk?= =?us-ascii?Q?DZUb3WqNFYukF3R7Z30cSCZ+XfoQ1WM3uPkf65n5qyCQdGiEHb7WqCjjROuP?= =?us-ascii?Q?NYGLh6Jj5aBPfGG34PWmZqDgJYELFvyvVJA7y/oq8aOVLPd1L0tlRXiEwoJZ?= =?us-ascii?Q?LZDxtI6TN4x8jVZDVwWWSSifK/mjglGTppo/vbW0aMTgRNnuSdY1FbHpTNlF?= =?us-ascii?Q?eupDVX3ArTtnETRq+ABw3pBmpyCwHf7qY3/5j7q86KhKEAKg/8sT3g52IzPb?= =?us-ascii?Q?EpZByragpWD4Ca4pz7zLPgpf0LWbrNoCmRRN20Dr68k7SGK+aORVC5Kxbdq+?= =?us-ascii?Q?ap3ZSxogAuut/mOl98b4YVMKMFTmDTlgJ4Vne5HQjPtSxupS8FhiJbY/5QAR?= =?us-ascii?Q?cwst/lMPX0NcSkR91mlafYYWacq/gnw9C0Y5YMe1H+q0rhnmEhJZ6pU=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?YuFb3pb/PmNH2ONx/s80nZo8prbW2TaJCU8zuEVaxgseDkWCswGtQDPfjj5w?= =?us-ascii?Q?PjiN3TuOBv+RHOz+gkc5P+JQhS3U73l9b3Qko+rqOnZP3IGye8YakRrg2qFG?= =?us-ascii?Q?UiHlfpSGJj7ggprqfikGixvs6ZxN4afJxpIGzWSmVl6axcHhLGuUDapuDLZq?= =?us-ascii?Q?MRM7KBMqTBnih+667cty4WCiEpyonUj3j+jiye5wFFBWb78oTEpdEE3VHkj7?= =?us-ascii?Q?Mp7GJxUsN1ybtrFCN7NwxuLfX74gDbS/Qf0csypMLQvvWnhYqp5Gxfc2y1EL?= =?us-ascii?Q?aPfu0gJBm4qU48xxz7WrusmlA/px8pLcpdavcde8E5dy5kUB2lbiD9GcxA5J?= =?us-ascii?Q?qZ0gT2LwVuOA5q3cVhtmbyXI2LuFF56qPaUs5hlpINI6GlewGKP9yORc6ULL?= =?us-ascii?Q?Y6ro96nrkRkTGDzhtMz4/YtPinRWchBEe1fOilcb52kz5rSZBhfNifgOA5DK?= =?us-ascii?Q?ze+7c/QH+KlSwRNv2eO/RmpcmlLQ8F2aJxW+U/qszgd3bSRp4OFcnp/q+0W9?= =?us-ascii?Q?cUY7FcN5qrf9k9KLWyehEk6A77uT/tTKLfA1hAzkrO5Blf9iGAgOjZoCPoJA?= =?us-ascii?Q?hLRWJB9E1VmjD1TQJgxokeMs9HRv1aiHeaVvBQM5kDclUEKF1w9iDDJIM7iu?= =?us-ascii?Q?Ow//DGdkzcSE6uwRUR2Bo+qL3uW4/gbTB5HU0I0qMHHF1oX79CIlGNfMmUkR?= =?us-ascii?Q?HsFTP7A2Z3oD+PgRrU7ge2NFKyTs3Kkvp1pFoAyMdRls4lmupeHiKdD9RUTW?= =?us-ascii?Q?QiEuoes4kfJpET9FzJ0vspLFatrSZRBviLWBY7y4ZQ94W7MNrx6XVD4gmofY?= =?us-ascii?Q?875iqcBiuezJAxZc/ZnOZzUr6DLl0tiO0nmwmnC7rJbaL/KCfY+MhzuKX9Ga?= =?us-ascii?Q?znYpeCGfgCQvTdgL/jrMfDiOzkDECM6asXiVbQvNdDWGhJ+erxuq1ANqYoO1?= =?us-ascii?Q?3o3SJz6mub6bJ8WhtUL5stIKP2/5o6XJYCbnr8gSmqMKPs4gUUsKEXhUjenZ?= =?us-ascii?Q?sQTHQJXlMLTvmowgol3q2nSXnOyzA9ulp7VbkjW3WW5c8YA4tdKl8pp2HOVm?= =?us-ascii?Q?dwN/38YbVWV0+63uQspVQeIE2SwuqRu3rn8vbEuSOL/3Zf05gmNeHQLBpQHa?= =?us-ascii?Q?+6gOxPJ0J6kcFfFhks6HVHwjdB7gvx0Lpwm/PgbxKa+OQm1jHzWXhLL292F7?= =?us-ascii?Q?XpKqLAx9Ed6VyBBbBPKxj9CirNcNr1ln+9wSdZ4zVE82/r1QXo4th3T5uZE?= =?us-ascii?Q?=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-8534-20-msonline-outlook-c7cf3.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: eeeef6dc-bf24-4794-b7b5-08ddaac95915 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jun 2025 22:26:31.5638 (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: DM8P223MB0175 Subject: Re: [FFmpeg-devel] [PATCH 01/10] avformat/segment: Add segment_write_temp option 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-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: > -----Original Message----- > From: ffmpeg-devel On Behalf Of > Marton Balint > Sent: Samstag, 14. Juni 2025 00:07 > To: FFmpeg development discussions and patches devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] [PATCH 01/10] avformat/segment: Add > segment_write_temp option > > > > On Fri, 13 Jun 2025, softworkz . wrote: > > > Hi Marton, > > > > > >> -----Original Message----- > >> From: ffmpeg-devel On Behalf > Of > >> Marton Balint > >> Sent: Freitag, 13. Juni 2025 22:38 > >> To: FFmpeg development discussions and patches >> devel@ffmpeg.org> > >> Subject: Re: [FFmpeg-devel] [PATCH 01/10] avformat/segment: Add > >> segment_write_temp option > >> > >> > >> > >> On Fri, 13 Jun 2025, softworkz wrote: > >> > >>> From: softworkz > >>> > >>> Allows to write segments as temp files (.tmp) which > >>> are renamed on completion. > >>> > >>> Signed-off-by: softworkz > >>> --- > >>> libavformat/segment.c | 30 +++++++++++++++++++++++++++--- > >>> 1 file changed, 27 insertions(+), 3 deletions(-) > >>> > >>> diff --git a/libavformat/segment.c b/libavformat/segment.c > >>> index 65323ec678..04e973a198 100644 > >>> --- a/libavformat/segment.c > >>> +++ b/libavformat/segment.c > >>> @@ -121,6 +121,7 @@ typedef struct SegmentContext { > >>> int break_non_keyframes; > >>> int write_empty; > >>> > >>> + int segment_write_temp; ///< write segments as temp files > >> and rename on completion > >>> int use_rename; > >>> char temp_list_filename[1024]; > >>> > >>> @@ -226,6 +227,15 @@ static int > >> set_segment_filename(AVFormatContext *s) > >>> seg->entry_prefix ? seg->entry_prefix : "", > >>> av_basename(oc->url)); > >>> > >>> + // Write segment as a temp file and rename on completion > >>> + if(seg->segment_write_temp) { > >>> + av_strlcatf(buf, sizeof(buf), ".tmp"); > >>> + char *temp_name = av_strdup(buf); > >>> + if (!temp_name) > >>> + return AVERROR(ENOMEM); > >> > >> You should use av_asprintf() directly instead of strlcatf() + > >> av_strdup() > > > > I could be wrong, but I was thinking that this way is more > efficient, > > because in the av_strdup case, the size of the needed allocation > is > > already known, while I would suppose that av_asprintf() needs to > > allocate a larger size of memory because it cannot predict the > eventual > > size after applying all the formats. Am I on a wrong track? > > I think it does not matter, this is not performance critical code, > so > simplicity/readability is more imporant. Also we should avoid hard > coded > path length limits if we can, an by using a static buffer you can > hit > that. I agree. Yet, the buffer was there already and I just added on to that. I can change it to an AVBPrint, but it should probably be a separate commit I suppose? First the buffer substitution and then my change? Thanks, sw _______________________________________________ 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".