[vlc-devel] [vlc-commits] vout: fix picture lock/unlock with private pool

Rémi Denis-Courmont remi at remlab.net
Mon Nov 3 13:35:32 CET 2014

Le 2014-11-03 13:48, Thomas Guillem a écrit :
> It crashes in mediacodec because p_pic->p_sys is NULL;

Ideally, we would have a separate type for picture references and 
pictures, so that we could track references to the same picture in 
different ways in different code paths. We do not, and consequently, the 
picture_t pointer returned by a pool may differ from that given to the 
pool when it was created.

Regardless, all the data inside should match, including p_sys. As far 
as I could test, it worked fine.

> p_pic and p_pic->p_sys are normally allocated from android/opaque.c 
> and
> given to a pool.
> So, I think decoder_NewPicture(p_dec) doesn't return a picture 
> allocated
> by the pool anymore.

There are three pools: decoder, private, display, not the pool. Only 
the last one is warranted to contain picture form the display or the 
splitter. For the other two ones, it depends if direct rendering works 
or does not.

Rémi Denis-Courmont

More information about the vlc-devel mailing list