How can I unref buffers that I cannot process?

Santiago Olivera solivera at
Tue Jul 16 08:18:19 PDT 2013

Hi, thanks a lot for the nice solution. I am using the leaky queue now, but
I am not sure if it is working properly. How does it now that my element is
busy processing a previous buffer?



On Mon, Jul 15, 2013 at 5:48 PM, Tim-Philipp Müller <t.i.m at> wrote:

> On Mon, 2013-07-15 at 16:33 -0400, Santiago Olivera wrote:
> > Hi, I have a plugin that processes images. It can only process about
> > five per second (variable: Sometimes may be four, others may be 6).
> > However I receive data via UDPSRC at rates that can go up to 30 images
> > per second. It seems that the buffers received while my module is busy
> > processing an image are creating a big memory leak. How can I, inside
> > my module, unref those buffers that I am not able to process?
> Taking a step back, the question is where do you throw buffers away /
> throttle, and how.
> The easiest way would be to have a very small (max-size-buffers=3 or so)
> "leaky" (leak=downstream) queue between your image processing element
> and udpsrc. That way the queue will throw away buffers that can't be
> handled right now.
>  Cheers
>   -Tim
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list