[vlc-devel] VLC may become unresponsive if playlist looping is enabled
kunteemu at gmail.com
Wed Mar 21 09:23:51 CET 2018
I see. Do you think it would it make sense to add sanity sleep so that if
playlist loops under 1 second the thread would suspend for a while. This
would at least prevent the high cpu busy loop on Windows.
For demux and decoder there are common cases where it's possible to say
file is unplayable (wrong file suffix, garbage content, decoder not
supported etc..) but the VLC architecture does not use this kind of error
On Tue, Mar 20, 2018 at 12:43 PM, Rémi Denis-Courmont <remi at remlab.net>
> AFAICT, the Qt GUI is becoming unresponsive when it displays the error
> dialog. I do not see any problems with the playlist thread. In fact, there
> are no issues if the loop is triggered with another interface than Qt.
> And I don't see how the demux or decoder could possibly know that a file
> cannot be played. That is a very vague notion.
> Le 20 mars 2018 11:54:41 GMT+02:00, Teemu Ikonen <kunteemu at gmail.com> a
> écrit :
>> When playlist looping is enabled and user opens a video file that is
>> corrupted or codec not supported VLC becomes unresponsive and has to be
>> terminated via Task Manager.
>> It appears that the problem is in playlist thread.c that just calls Next
>> immediately after the video has stopped playing (input_dead flag is true)
>> disregarding if file was actually successfully played or not and thus it
>> tries again to play invalid file causing the busy loop.
>> Probably there is currently no way for mux/codec to communicate back that
>> file can not be played?
>> I was thinking fix could be event like INPUT_EVENT_CORRUPTED in addition
>> to existing INPUT_EVENT_DEAD that would allow playlist loop to detect
>> failed file and remove it from the playlist.
>> Thanks, Teemu
> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the vlc-devel