How does the tee element split data to multiple pads?

Stirling Westrup swestrup at gmail.com
Thu Nov 15 08:40:36 PST 2012


On Mon, Nov 12, 2012 at 9:11 PM, bboyavatar <liubing204 at gmail.com> wrote:
> Hi, I have a question about the tee element. It is said that this element
> splits the input data and feeds multiple output pads with the same data. I
> read the sourc code and find that it uses gst_pad_push_data()function to
> feed data to the srcpads. So, I wonder if it does the memcpy or just feeds
> the srcpads with the buffer reference.
> Could someone answer me? Thanks so much!
>

That's a more complex question than it sounds like. Whenever possible
gstreamer passes references to buffers rather than using memcpy, but
there are cases where this won't work. For example, if your tee
connects to sinks that produce hardware buffers to fill out, then
gstreamer will do memcpy operations to fill the hardware buffers.

-- 
Stirling Westrup
Programmer, Entrepreneur.
https://www.linkedin.com/e/fpf/77228
http://www.linkedin.com/in/swestrup
http://technaut.livejournal.com
http://sourceforge.net/users/stirlingwestrup


More information about the gstreamer-devel mailing list