[vlc-devel] [PATCH 2/2] decoder: fix input_DecoderWait deadlock

Rémi Denis-Courmont remi at remlab.net
Tue Dec 15 11:38:04 CET 2015

Le 2015-12-15 12:15, Thomas Guillem a écrit :
>> 2) If so, how do you fix it the empty FIFO case? Especially
>> asynchronous decoding.
> The empty FIFO case is fixed by this patch, but in a ugly way I 
> agree.

No. This patch fixes a deadlock in the case of empty FIFO. Now instead 
of locking up, it returns immediately. That is not what 
input_DecoderWait is supposed to do. input_DecoderWait() is supposed to 
wait for the decoder to output something.

> That's why I don't think a decoder module should process input blocks
> asynchronously.

A decoder is an algorithm that takes input and returns output. Either 
it is synchronous, or it is not. It cannot have synchronous input and 
asynchronous output or vice-versa.

As for the process of sending input to the decoder, it has been 
asynchronous for as long as the VLC decoder thread has existed.

Rémi Denis-Courmont

More information about the vlc-devel mailing list