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 0C4434BF3A for ; Mon, 23 Jun 2025 00:15:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 64B6168EBBB; Mon, 23 Jun 2025 03:15:30 +0300 (EEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12olkn2103.outbound.protection.outlook.com [40.92.23.103]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 3C73468E21A for ; Mon, 23 Jun 2025 03:15:23 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tJRiMBs/B+qpjgyvnpI1IGCesP5VgqmubFqDj0d2Sc07G+Se8lGevuJaCdPyef14YVyvtFy8hO8EiKog9K3OA7jyuZgp/nXsyTqCtDiSN3DQ2Vnwum95G9r/7sQdtNz0fxN4SBg8LgOuMO9QnDBbjw1K1l4ZQU8ZJcw5wEr7ot/ksY5uHFHVIbqxLonhR6LvdG3XM1WJkF2r+YCf8Yg3dvXDh/o/C1/nlJmlSqt9EujK4ejBHRlvlpKXgwl3MIuoHV0Jg43Da6ADZNMPnZfmJ2osqKghCrqEu74TLbzRZx9eAbsbtKebubfIU7ZIS5qQitTKBx3tN2uZyI3GZtqCBA== 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=fFZeAFT+x2fx3RMqTDcNLgVRah2hJdQP/P6yGY5QxEk=; b=ZaJxhIPzV412SebErNl48NzFcf/j7VM5IwgyQPoI/Mp+kuMmI6Hi8f3ynWYK5GSylH6w+oy5E/2Jr/hruIXJ07ktQwpEv7Mc9964C7jc5HwY3T/2TGcLktf76JiqyDKU0DV2UN4RmEwAnICze9KAyDByW+dILI7W0NLcW7BZjptuu5rAXdSKfJbbz6LyF45jtpJ117sOQrBR7SMs0SWrflH/FgM3CFWhY6NDCoj2BdRi8QmTNZhPcbtpRX9EiLd1/LcthcvED08/+ig6tsPL07mLz3sFera/GRTBozOE9UcK2KHQXPWMa3a+gkaPXiHH3Gfnp0wG0ueVqPG0Gi4/TA== 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=fFZeAFT+x2fx3RMqTDcNLgVRah2hJdQP/P6yGY5QxEk=; b=domW7hGnU1pW2SmJjhp/r2F/Jo5oLPQ+tzd7P+24ZkAMBXj/MErh+b8+MUggplScuvUKQpUQ4P8UmEsUynCqkQXmQ1ohiWOVZGeZWVYHXPPOl4G93mCFxeb24pxM1zzIZ+Ipa+YN6TEOfK7ooocnRLrMgGydLWCa0WnNZuzp802QQSmNwlADRG4bBQ5kP+kNJcy4mThDTI3tPu3Bb6ye4JhiY4JSdWSN3HsczabPqJ1i5jOZkyU50AiysvY+Z5QDFi9Bms2s12pb+NV+wORaM2xIqshW0AakLMRsfLETIHLgWGKpVFZnQgo06sAtQM0h4h5vsEvEyn48LnJXzqsPhw== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by MN0P223MB0415.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:3cd::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.27; Mon, 23 Jun 2025 00:15:19 +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.8857.026; Mon, 23 Jun 2025 00:15:19 +0000 From: "softworkz ." To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH 3/3] avformat/hlsenc: Fix path handling for Windows Thread-Index: AQHb3IdyB5S/rugrM06Gp4J5mZ3YxrQBnUkAgAAC5XCAASqFAIANG/JQ Date: Mon, 23 Jun 2025 00:15:19 +0000 Message-ID: References: <99dfda242076be814b80d9adb0722e860f95cf6a.1749835195.git.ffmpegagent@gmail.com> <9199955b-d517-2a9b-fd2b-ddda1833493c@passwd.hu> <4b6d8494-2cfe-e118-516d-4ed9c94b757e@passwd.hu> In-Reply-To: <4b6d8494-2cfe-e118-516d-4ed9c94b757e@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_|MN0P223MB0415:EE_ x-ms-office365-filtering-correlation-id: 94640ef8-7937-4d18-d40f-08ddb1eb099a x-microsoft-antispam: BCL:0; ARA:14566002|8062599006|8060799009|7092599006|41001999006|19110799006|15080799009|461199028|440099028|3412199025|40105399003|102099032; x-microsoft-antispam-message-info: =?us-ascii?Q?HqOTRtH2JscurCQU2hD8JWp40JYh8ag8IwESSIV/Kk4fwZ/pBg1DjN8ODdID?= =?us-ascii?Q?cymmoabowCU+LMlYTeAP6uxKbb5owEcmy1EK0443s8/z5Lvfmt7rWet8SEnN?= =?us-ascii?Q?ez3lE3eAR9eHN3SudAiM0SC54sd1T/KIPs7sHmIIZANGsCnNJDhKmPZBvTFj?= =?us-ascii?Q?MZcIb+ai4j4Lizi3GYUO+E5+c0jYLCui6x7TXtbTr62MflmCSf7Cq+mXTZ+e?= =?us-ascii?Q?ZDdHPN6dPGpkQs8yh0U3TvkJkgwmILEogZ3xIK6VrVF2ZAUftg+hLO02R7lp?= =?us-ascii?Q?Pha58WTwjewCcwfzZzPFFCnxifZawaCSNL95h9+cAGTak0/lrEJSstr9klpl?= =?us-ascii?Q?HZARb4dDFruDg0KApVyrgwtK37pAk57bhbLytalmMt0h3TplqyNo1OmOMEaj?= =?us-ascii?Q?QTBIT+lS9igLvAdtPGvDGRt/AMraWmXPQLyz6N98VNRySUK0V/gWlsteABpL?= =?us-ascii?Q?RJVdCMBfA4Hp9esFs41CseznLrrBHT8L/PXvaG/uyZl9zHuQsuqcIXNrtieB?= =?us-ascii?Q?AKTW0zSQyc3HNBeiKTOnDD98vsly3hFbguGMmUEFOvwJgt9DWFArZT2pbNTi?= =?us-ascii?Q?VJtMeISbpEHAhgBiAwkyxjMFmR7c3BP6aCA7KacWS02cCa3HULloYE7M9Ug4?= =?us-ascii?Q?krvqepC6cnPkFpmfhUhZZYdO3mGoZp2LOASbB0vsaMehNvts32lrtQpC3wbR?= =?us-ascii?Q?asUC303t1CfAZdH5W45MH0lp6RSD3VXFtqHxTjiriDm411hQqUZx9cbAVS8B?= =?us-ascii?Q?kuI788bLXsHnAWAAkEKTHLv2Y/TV2enzttg9jbkqKpKV1eh2P2WCLkHck4wG?= =?us-ascii?Q?cpmuOl4Cmk/Uw4h8lp7r8z91Kd19s70AYfMLLASZ9oFOKDVPa3dsQEr664Ri?= =?us-ascii?Q?qf9l8HUBr3r4CIMz+Tr9BG6yNrVtJe6vKZQCQP5Hs1rpUMiCjNU2qUcLOcgd?= =?us-ascii?Q?Z25z+wxQvYPtyQm5e8oIF7t7/wiu3OJszXfN3TT1Cfr9EscIN4UmWGGwVlpY?= =?us-ascii?Q?XwGEq2TUSiVj3BiwFyxeqE7tXWZc7ExCjtNpI2wkCSYTRn9kUoOoF4BO4E6o?= =?us-ascii?Q?QmAlbUTwZwGyjQ/kopHJbBRr9ZtOm36wTBv5+oLYC3JzFm29C2LqsDBHU2Xb?= =?us-ascii?Q?VnVdAqoHd6SKyqGJooPUk+LdDAUKJ5YCIFnPp/rY6EEc/w02/UndvGs=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?4vvs1aVzzu4gIwiv/19gSEG5sZXeiiuTnh7HnWXKoRGneOk12NCeu7X2Amfh?= =?us-ascii?Q?FRXB8i9iLLSKfekddQ/JviSGA0Yn1FEP893wnuyi6nF8l5IlXes6QRxVdLSB?= =?us-ascii?Q?l2SqCnVt8sbi5mjXrb9S+PInNcqcaU5XzsdjWZcTEQCn/97lGUiTuzruTUFB?= =?us-ascii?Q?gLJ68gGOwvwX0RfQ7MrtNikW1374wryObpn4k1PUmeBmzj8H26PuUQGn4nJ4?= =?us-ascii?Q?N6pcsOW/BfXYdHavPzwoaT7zQshwSQnyTzv2MDsFT3W5QlEBvjhFzB1Fg2MF?= =?us-ascii?Q?45BKWLcejq/rjC8ChkAmODwUrTYhd7bgEawRLlWM+YzPJe8UBMfhtzoDrR9p?= =?us-ascii?Q?31yYCZj+401r346/v8ACQdx15zGM3fkKFYbSJO54skWjlIi1hhUotOwBhV1V?= =?us-ascii?Q?ZmcuWtOOiKHQz48ED1y9A9MkKbHZWZKjJCD8MGfF4BLvW1eVwX70QUzLOIS2?= =?us-ascii?Q?2uvxh5U+xMrR+eJdO8iyWiDaox2yHlG3hrrLA/i5UKHfdW8PhL91q3KLV9wS?= =?us-ascii?Q?noqf7SzuauE2eDdWCa18sWgwUMtScrGYjuLtG9+GJPNvjll+IG1jl7eJJKIj?= =?us-ascii?Q?sDJZrRyZHeF4llhdo0SkLg1/sGS51pcuwPIE59yv50gdx5M3yAmZG2B+Agns?= =?us-ascii?Q?wkg6O9vx/lnom/8klnEQNN9yy1Gc9MM0sTXA/Pr8pZaknNZeUKXadWAM5of3?= =?us-ascii?Q?tU2Eib+rlCoDJOW1FJoM2mBPlGoCu59UZhl0ZcKnM2ktZIgSDoY7UgtlkZBg?= =?us-ascii?Q?fGD7/P28AljeMbmYrmEnHjh23ss4d8l4s1LBqsSHO6RQPqiwNsDHlMLapKvr?= =?us-ascii?Q?Ff9kOb7g8cFNxRY8IxkVFnrEJNeXeegDjVF4xflhCE5PdgIYYaDHoraJI/1x?= =?us-ascii?Q?4H6Tu807ZspqIpQh553P17YQ8ZpyWYZJekCegME7MdKH28qiTuDxKXYpZWyy?= =?us-ascii?Q?GwAyUW4Ynp6gMiUPwzSklyYZmtOfINb3vtgbQY8PWUVgRxQNomMQLzzmdl6Z?= =?us-ascii?Q?cc2k4sE0LsN994uTAIh16ZwORAwpFB31FTjv574g9dokRT609Xpx6pIX27FS?= =?us-ascii?Q?TgDcIyVyfxPCzVfsjSa8xgNX2oDnAoSmIEge5eWCEcanmUH4QPALajxdWwlG?= =?us-ascii?Q?vW0GDwM7aLVhJCTTHN5o70jN0M50gAnWrQ0jDeQnv1PtAx5opkZ8CEPP6c3K?= =?us-ascii?Q?oi7A3LR2Hij0k9zD5lzERVKaSn8DUwPoDj57q9oH+wz6ZjPAVpwrk/7R90U?= =?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: 94640ef8-7937-4d18-d40f-08ddb1eb099a X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jun 2025 00:15:19.2708 (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: MN0P223MB0415 Subject: Re: [FFmpeg-devel] [PATCH 3/3] avformat/hlsenc: Fix path handling for Windows 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 17:35 > To: FFmpeg development discussions and patches > Subject: Re: [FFmpeg-devel] [PATCH 3/3] avformat/hlsenc: Fix path > handling for Windows > > On Fri, 13 Jun 2025, softworkz . wrote: > > >> -----Original Message----- > >> From: ffmpeg-devel On Behalf Of > >> Marton Balint > >> Sent: Freitag, 13. Juni 2025 23:36 > >> To: FFmpeg development discussions and patches >> devel@ffmpeg.org> > >> Subject: Re: [FFmpeg-devel] [PATCH 3/3] avformat/hlsenc: Fix path > >> handling for Windows > >> > >> On Fri, 13 Jun 2025, softworkz wrote: > >> > >>> From: softworkz > >> > >> Can you give an example where the path handling is wrong and where > >> this > >> patch fixes it? > > > > c:\hls\video1\master.m3u8 > > What I meant is that you should try to explain "fix" better in the > commit message, like: > > When base_output_dirname was determined only '/' was searched for as > path separator. get_relative_url() on the other hand searched for both > forward and backward slash regardless of OS. > > Fix these issues by factorizing the separator finder function, only > search > for backslash for Windows/DOS and use that in both places. Hi Marton, thanks for the nice message, applied in v3. > >> Is there a trac ticket? > > > > Good question, there well may be. (The reason for the dumb answer was trac being inaccessible on that day, but I wasn't sure about it while writing) > Its worth doing a quick search, if there is one you might want to > reference it in the commit message. Did a search today for hlsenc, hls, windows, path, slash, backslash in various combinations but couldn't find anything. > >>> Signed-off-by: softworkz > >>> --- > >>> libavformat/hlsenc.c | 43 ++++++++++++++++++++++++++++----------- > >> ---- > >>> 1 file changed, 28 insertions(+), 15 deletions(-) > >>> > >>> diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c > >>> index f81385d0b4..ba1e74e999 100644 > >>> --- a/libavformat/hlsenc.c > >>> +++ b/libavformat/hlsenc.c > >>> @@ -329,6 +329,23 @@ static int hlsenc_io_close(AVFormatContext > >> *s, AVIOContext **pb, char *filename) > >>> return ret; > >>> } > >>> > >>> +static int get_last_separator_pos(const char *path) > >> > >> size_t > > > > Cannot return -1. > > Indeed, actually ptrdiff_t would be the proper type. Ah sure, updated in v3. > >>> +{ > >>> + if (!path || *path == '\0') > >>> + return -1; > >>> + > >>> + char *p = strrchr(path, '/'); > >>> +#if HAVE_DOS_PATHS > >>> + char *q = strrchr(path, '\\'); > >>> + p = FFMAX(p, q); > >> > >> You are comparing potentially NULL pointers here. > > > > > > It's the same like in av_basename() or av_dirname() > > And those are likely wrong too. Okay. I've added conditions to only compare non-null pointers. Will post v3 in a moment. Thank you, 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".