[vlc-devel] [PATCH] decoder: fix mistake old picture and audio block for the first one

Zhao Zhili quinkblack at foxmail.com
Tue Jan 9 13:25:21 CET 2018



On 2018年01月09日 19:37, Rémi Denis-Courmont wrote:
> On mardi 2 janvier 2018 23:55:19 EET Zhao Zhili wrote:
>> Here is a test case on MacOS, you can see one old picture is treated as the
>> first picture after seek, and another old picture set the b_has_data flag.
> b_has_data is broken by design, especially been since asynchronous decoders
> were introduced, so that's really not a good reference.
>
> Also looks like potential lock inversion there.
>

The patch is more like a workaround than a fix after a second thought.
The problem is clear, flush is broken for asynchronous decoders.

For the lock inversion issue, I have try hard to avoid it and follow the 
lock
order in DecoderThread(). Of course, add another two instance still make
things worse.




More information about the vlc-devel mailing list