VLC stops reading a WPL playlist when it encounters an error in a file reference, instead of giving an error message and moving to the next item in the playlist.
OS: Windows 10 and Android – current releases VLC version: current version and every one for last 2+ years, and probably a lot longer
Example of problem: given this line from the
section of a WPL: '' '' VLC decides this is not a properly-formed URL (an issue which I am not arguing), and then just quits processing the WPL file without giving the user any explanation at all. Even if there are 100 properly-formulated items in the remainder of the file, they are ignored. This is pretty poor treatment of the user, and makes it extremely hard for him/her to correct whatever their problem is.Details: The problem is in the /Demux/Playlist/wpl.c module, in the read_body function, at line 203. The code looks at the return value from ProcessMRL. If the return value indicates the user’s text string is not an MRL, the RETURN statement is executed. Control passes back to Demux , which quickly ends, returning control to Import_WPL, which also quickly ends. (I suspect this abrupt ending might not do some needed cleanup.)
What should be done: In place of the RETURN statement there should be a block of code that: 1) tells the user that it found a problem and clearly describes the problem and shows the text that was deemed to be in error , 2) flushes that string/element/line that it couldn’t recognize and goes to looking at the next one, 3) keeps looping until all lines in the file are processed.
The actual text that is in error should show up in the playlist, similarly (but not identically) to a correctly-formatted URL that points to a non-existent file, with a suitable error message. This way the user can more easily locate the item in his playlist that is in error.
NOTE 1: the triggering event could be a whole array of situations, not just the case of relative addressing which uses restricted characters [,],{,},+.
NOTE 2: the module /Demux/Playlist/m3u.c does NOT abruptly end when faced with the same situation. [It also doesn't ell the user about the problem - which will be covered in a separate bug report] It processes all succeeding items in the m3u playlist file. VLC should strive for consistent behavior.