[gst-devel] question about the buffer pool (in directdraw sink, e.g.)

Vincent Torri vtorri at univ-evry.fr
Wed Nov 14 13:40:15 CET 2007


Hey,

I'm trying to write a sink for Evas [1]. I'm looking at how directdrawsink 
is managing the surfaces.

Like ximagesink, it uses a buffer pool. My question is about the function 
gst_ddrawsurface_finalize(). Note that I don't understand really what the 
interest of the buffer pool is.

So, in that function, if the format changed, that is, the width, the 
height, the ddraw pixel format changed or the surface is lost, then the 
surface is destroyed and is set to NULL. Otherwise one appends the surface 
to the pool.

In the case of evas, I have an Evas_Object instead of a ddraw surface. 
Consider it as a struct with the data, the size, the colorspace etc... I 
have methods to resize it and to change the colorspace (which is 
sufficient for me). I can do that without having to destroy the Evas_Object.

My questions are : do I need a buffer pool ? If so, in my _finalize() 
function, should I just modify my Evas_Object (that is, resize it and 
change its colorspace) and add it to the pool ?

thank you

Vincent Torri

[1] http://www.enlightenment.org




More information about the gstreamer-devel mailing list