Pool of variable-size buffers

Petr Kulhavy brain at jikos.cz
Mon Dec 5 19:00:20 UTC 2016


Hi,

I'm trying to implement an efficient buffer management for zero-copy UDP 
reception, where the data is provided in chunks of memory preallocated 
by the kernel.
The unfortunate heavy-weight nature of GStreamer buffers, where every 
buffer is a set of objects, is a bit clashing with the "efficient" part 
of my task.

So I have the buffers of memory with data and now need to implement a 
pool of GstBuffer and GstMemory objects in order to be able to hand over 
the data down the pipeline. Kind of pool of empty buffers, where I can 
then hang whatever chunk of memory I need.
The buffer pool abstraction is based on the fact that all buffers are of 
equal size. This is unfortunately not what I can guarantee.

Is there some existing abstraction I can use?

Thanks
Petr


More information about the gstreamer-devel mailing list