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

Filip Roséen filip at videolabs.io
Tue May 24 11:25:30 CEST 2016

> >  * 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.
> No, this will prevent the current failing item to be opened
> automatically. Users will be still able to manually open it.
> This don't prevent next items to be opened too.

It will halt the next time (not the first) an item with b_error is hit, I just
tested with the following setup (after applying your patch):

    +/experiment% ls -lah
    total 7.2M
    drwxr-xr-x  2 refp refp 4.0K May 24 11:17 .
    drwxr-xr-x 11 refp refp 4.0K May 24 11:16 ..
    -rw-r--r--  1 refp refp 7.1M May 24 11:17 existing.mp3

    +/experiment% vlc-devel -L existing.mp3 non-existing.mp3

The above will first play `existing.mp3`, then try to play `non-existing.mp3`
(which will of course fail), it will then play `existing.mp3` but when it
reaches `non-existing.mp3` a second time; everything will stop.

> >> 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.
> > One alternative way to handle this issue *might* be to have the playlist-
> > thread temporarily “sleep” (in terms of playing next item) for a
> > logarithmic (increasing) duration of time it if notice that no item in
> > the current list can be played.
> I like this idea.

It is quite resonable, though it should probably be opt-in (or at least possible
to opt-out).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20160524/008fa4ec/attachment.html>

More information about the vlc-devel mailing list