Buffers, shm and tees

Peter Maersk-Moller pmaersk at gmail.com
Tue Aug 23 15:46:41 UTC 2016


Hi

Is it correct to assume that the following pipeline works with zero
copying, that is shmsink provides buffer to queue that provide same buffer
to videoconvert to fill out?

    ... videoconvert ! queue ! shmsink

Then what happens if you have a tee?

    ... videoconvert ! tee name=t ! queue ! shmsink t. ! queue shmsink

Obviously there has to be at least one copy of each frame to the second
shmsink, but is there only one copying of a frame or will the tee result in
a frame from videoconvert being actually copied to both buffers from
shmsink 1 and 2?

Are there any mechanism with the GStreamer framework so two or more shmsrc
can be fed data from same shmsink so the two shmsrc and one shmsink shares
same shared memory area?

Reason for asking is to see how t ooptimize the flow of raw video frames in
a mixer system with many sources and multiple consuming separate processes
using the same data streams.

Best regards
Peter MM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160823/93537a43/attachment.html>


More information about the gstreamer-devel mailing list