[vlc-devel] [vlc-commits] vout: fix use-after-free, wait on correct date

Thomas Guillem thomas at gllm.fr
Fri Nov 20 10:09:12 CET 2015



On Thu, Nov 19, 2015, at 18:20, Rémi Denis-Courmont wrote:
> On Tuesday 17 November 2015 20:01:31 Thomas Guillem wrote:
> > The issue is that frames can be 1-4 seconds late after a seek:
> > "core video output warning: picture is too late to be displayed (missing
> > 1350 ms)"
> 
> Previously the date was wrong. Now it´s correct and the core detects the
> late 
> frame and drops it (correctly).
> 
> > I found out that it was only happening when using the vdpau_chroma
> > filter.
> > It's quite easy to reproduce on Desktop: seek from 1 sec to 0 sec
> > repeatedly (with the Ctrl+arrow shortcut).
> > 
> > After a quick look at this module, I saw that it was re-ordering frame
> > dates, see history struct.
> 
> It´s not reordering frames. It´s adding one frame delay for
> post-processing 
> (as does the software deinterlacer).
> 
> As far as I can tell, the video output fails to flush its video filters,
> so 
> you get a late frame after seek.

Indeed, vdpau_chroma flush is not called on flush.
I tried to add a vout_FilterFlush, that flush display filters, and
called from ThreadFlush in video_output.c.
vdpau_chroma flush is now called but I still got the same issue.

> 
> -- 
> Rémi Denis-Courmont
> http://www.remlab.net/
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list