[vlc-devel] VLC Plugin for Mac OS X (Lion & upwards): some	progress, but further help requested
    Rémi Denis-Courmont 
    remi at remlab.net
       
    Fri May 11 17:02:37 CEST 2012
    
    
  
Le vendredi 11 mai 2012 17:44:00 James Bates, vous avez écrit :
> The main problem is that vlc video playback is basically a "push" model: a
> vout module should react to and implement pictureRender and pictureDisplay
> methods, which libvlccore calls at its discression. Core Animation on the
> other hand uses a "pull" model, and expects the implementing layer to
> render content whenever IT calls you. You can "ping" core animation and
> say: "hey, please call my update method" (CAOpenGlLaye:: setNeedsDisplay),
> and then it will call your display method "at some point in the future"
> (i.e. asynchronously).
The VLC core provides a picture when it can, which is when the decoder 
provides one, which follows the original frame rate. The physical hardware on 
the other hand renders a picture according to its refresh interval. Getting 
them to agree is not generally impossible. (It might be possible in some 
cases, but not all.) So something somewhere needs to deal with this. It might 
well be that you cannot avoid it.
(In relation to that, there is a forever standing bug in most VLC video output 
plugins: They fail to redraw immediately when there rendering area is damaged. 
Instead, they simply rely on the next picture coming fast.)
-- 
Rémi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis
    
    
More information about the vlc-devel
mailing list