[vlc-devel] [RFC PATCH] playlist: don't open failing items in loop

Rémi Denis-Courmont remi at remlab.net
Wed May 25 11:05:29 CEST 2016

Le 2016-05-25 10:34, Thomas Guillem a écrit :
> On Tue, May 24, 2016, at 13:00, Rémi Denis-Courmont wrote:
>> Le 2016-05-24 11:09, Filip Roséen a écrit :
>> > One immediate reaction:
>> >
>> >  	* if we have a playlist set to loop that contains one item which
>> > result in ERROR_S, this patch will completely stop the playback -
>> > even
>> > if there are other playable items in the list.
>> >
>> >> If “Repeat All” or “Repeat current Item” option are set. The
>> >> same failing item will be opened in loop.
>> >
>> > This might be what most expect us to do.
>> >
>> > I do not think that looping items should depend on whether there 
>> is
>> > an
>> > error when we try to play them, because there is nothing saying 
>> that
>> > the error will remain next time we try to do it.
>> >
>> > We should trust that the user knows what it has asked us to do, 
>> and
>> > even assume that any input that we are asked to play should be 
>> played
>> > (even if this results in an error). Proving that the underlying
>> > bytestream does not change before the next time we theoretically
>> > would
>> > have played the item is impossible, and we can also not prove that 
>> an
>> > access that fails one time, always will fail.
>> Yes, exactly.
>> And what users complain about is the poor UI handling of high error
>> rates, which renders the UI almost unusable. That issue lies in the 
>> GUI.
> I don't see how you can handle that in the GUI.
> In the playlist, you have all the informations to handle that case.

No, the playlist has hardly any useful information. On the one hand, 
the playlist does not actually know what a failing item is (there are 
different types of failures, and solving all is the halting problem), 
nor if a failed item would still fail on retry. On the other hand, the 
playlist handles live looping just fine; it is the Qt UI error dialog 
that sucks at it very badly, not the playlist.

Both of these items work exactly the same for the playlist:

# vlc vlc://nop --loop
# vlc file:///does/not/exist --loop

The only difference is raising the error dialog. If you use the Lua RC 
interface, for instance, it works fine in both cases.

Rémi Denis-Courmont

More information about the vlc-devel mailing list