> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of Marton
> Balint
> Sent: Freitag, 23. Mai 2025 22:31
> To: Timothy Allen via ffmpeg-devel <ffmpeg-devel@ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH] Percent-encode URL paths in HLS playlists
> 
> 
> 
> On Fri, 23 May 2025, Timothy Allen via ffmpeg-devel wrote:
> 
> > This commit closes trac ticket 10679.
> 
> And what if the M3U8 is referencing absolute URLs with scheme? Or is using
> a data URI? Or if it is a local DOS path? What if the URL is already
> percent encoded?
> 
> This issue is not trivial to fix, so I really meant it when I wrote that
> its worth checking what heuristics other software is using for this issue.
> 
> Thanks,
> Marton

I agree with Marton, it cannot be done that way.

What I had actually in mind was a more targeted approach:

1. If the playlist has absolute URLs 
   => leave them alone - we can assume they must be valid

2. If the playlist has relative URLs

   => don't touch the base URL. It is already working+
      (otherwise we couldn't have loaded the playlist)

   => only percent-encode the url fragment from the playlist


For Marton's additional point about the relative URL being URL-encoded 
already, you could check for a list of chars that are disallowed in URLs
(excepting percent sign). Then URL-encode only when such char is present,
as that means it's not URL-encoded yet.

The edge case of a percent-sign needing to be escaped is probably 
negligible.

Best,
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-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to