roundrobin usage

Nicolas Dufresne nicolas at
Mon Feb 10 14:11:08 UTC 2020

Le lun. 10 févr. 2020 07 h 15, Yair Reshef <yair99 at> a écrit :

> hi,
> i have single thread decoder plugin
> i would like to use round robin plugin to send a timestamped src to the 3
> different decoder instances.
> 1. am i thinking about this wrong? should queue handle this in some why?

If your decoder can handle random frames, yes, it's possible to add
parallel processing this way (e.g. would work with PNG or jpeg). Would
require: roundrobin, then a queue after each pads, though we are missing an
element to close the loop, we need funnel, but with synchronization so that
buffers comes out in order. That would be a nice addition, and like
roundrobin should be very simple.

2. how do i use the roundrobin plugin, as its described as a "reverse of
> tee"

Now that you highlight this, I need to rework that doc. Reverse of tee is
funnel, roundrobin is like tee, 1 to N, but sends each buffer to one pad,
were tee sends buffer to all pads.

> gst-launch-1.0 -v videotestsrc ! roundrobin name=s ! fpsdisplaysink s. !
> fpsdisplaysink s. ! fpsdisplaysink
> "This is a generic element that will distribute equally incoming buffers
> over multiple src pads. This is the opposite of tee element, which
> duplicates buffers over all pads. This element can be used to distrute load
> across multiple branches when the buffer can be processed independently."
> note: ubuntu's stock 1.14.5 gst build doesnt show it. but gst-build
> exposed it.

roundrobin element was added in current development phase, so will be
available in next stable release (1.18). It's a trivial element, feel free
to copy into your project if LGPL is compatible. It's part of
-bad/gst/rist, as this is the only usage inside GStreamer for now.

> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list