[vlc-devel] [PATCH 0/3] Maintain vsync phase sync in mmal vout

Rémi Denis-Courmont remi at remlab.net
Thu Sep 4 19:07:26 CEST 2014

Le jeudi 4 septembre 2014, 18:51:30 Julian Scheel a écrit :
> Now applying this offset seems not possible in a sane way without
> involving the core, as we would have to block in prepare() or display()
> until the desired time has been reached, which is basically the job of
> the cores scaling code.

Hmm? Actually the core *expects* the driver to spend some time rendering. It 
even measures it and adjust frame skipping accordingly.

I don't think there is anything wrong with sleeping in prepare(), as long as 
you wake up no before the PTS.

> So basically it's a feedback loop to allow the vout to change phase
> offset between core scheduled rendering and vsync.

How do you ensure that the phase shift remains small enough to not break video 
output scheduling?

> Any proposals for better solutions are welcome.

Rémi Denis-Courmont

More information about the vlc-devel mailing list