[gst-devel] file descriptor sharing among different elements

Maciej Katafiasz ml at mathrick.org
Thu Jan 6 08:01:24 CET 2005

Dnia 06-01-2005, czw o godzinie 20:08 +0530, Thirupathiah Annapureddy
> Hi Thomas,
> First of all, thanks a lot for the quick response.
> > > 2. is there any way to know whether my neighbour elements support a
> > > particular interface. for example, i want to know whether the element
> > > connected to my sourcepad supports a mixer interface or not.
> >
> > I think it should be easily doable; get the srcpad, get its parent,
> > which is the element, then check if it supports the interface.  Why
> > would you want to do this ?
> our custom hardware does encoding, decoding, different effects and
> mixing at the hardware level in an efficient way. we have decided to
> have different elements for all decoders, encoders, mixer and other
> effects.
> we can make use of our hardware efficiently, when it is known two of
> our custom elements are connected together. in this case the data flow
> will be
> handled internally in the hardware. so that no need of pushing data
> from one element to another element.
> can i create a custom interface for the internal use of our own
> elements or is there any effiecient to accomplish this?

If all you want to achieve is to reduce dataflow, I think good solution
should be enhancing caps template with boolean property to denote if
peer sits in the same chip, something like
video/x-raw-rgb,foo_chip=true. This way you have discovery process
placed where it belongs -- during negotiation, and can use normal
gst-provided logic to just fallback to normal buffer passing when no
such support is there.

Correct me if I'm wrong, but this seems like good idea to me :)


Maciej Katafiasz <ml at mathrick.org>

More information about the gstreamer-devel mailing list