Skip to content

Playlist Title Column and OSD-Displayed Contents are not URL Decoding All Reserved Chars

Not all URL/URI Reserved and Encoded characters are decoded when VLC auto-creates Title contents for playlists or for display via OSD.

Specifically, characters: %1.1.3, %1.1.4, %1.1.5, %5B, and %5D - The apostrophe ('), parentheses (), and square brackets ([ ]).

To Replicate:

  1. Find a file or files which do not contain any metadata for the Title element
  2. Create a playlist of any format (M3U, M3u8, or XPSF) using any compliant software or manually via text editor
  3. In that playlist, create items which contain one of the below listed characters properly urlencoded, either with relative or absolute pathing. For example: file:///Volumes/External/Hello/Hellofilepath%20Test%20VLC%20%282020-04%29/Filename.mkv
  4. Load that playlist into VLC with preferences configured to display URL/Path in Title field/OSD
  5. Examine the Title column, save the playlist out to a separate playlist, or play the file with OSD title displayed

Expected Results:

  • Auto-created Title column should display fully compliant decoded content - /Volumes/External/Hello/Hellofilepath Test VLC (2020-04)/Filename.mkv
  • Any saved m3u or XPSF format playlist with these titles should EITHER be completely decoded and containing the URL-restricted characters OR should be stored completely encoded (in which case they should be completely decoded upon reload into the interface)

Actual Results:

  • Title element data in m3u and XPSF playlists is both saved and displayed in OSD and Title column in playlist with the above characters remaining encoded
  • For example, in XPSF: <title>/Volumes/External/Hello/Hellofilepath Test VLC %282020-04%29/Filename.mkv</title>

Tested on:

  • Version 3.0.10
  • OS X Catalina
  • Default English Language and Character Set

Thanks!

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information