Waiting on simultaneous parallel changes of state?

Stirling Westrup swestrup at gmail.com
Fri Jun 19 12:27:35 PDT 2015

I have an application (a video wall) that has a (grossly simplified)
pipeline structure of a single video input, a tee element, and anywhere up
to 40 output bins attached to the tee. Each output bin contains (among
other things) a video sink for a different monitor in the video wall.

The video wall can be modified dynamically by the user as a video is
playing. Rows, columns or random collections of output bins can be added or
removed by a single dbus command.

Currently my routines that add and remove collections of bins do so one bin
at a time. So my remover routine, for example, will block an output bin,
detach it from the tee, set its state to NULL, remove it from the pipeline,
and free it, before going on to the next.

I would love to speed these operations up and do each step in parallel for
each bin, but I'm unsure on how best to wait on a collection of bins to see
when they have all finished changing states, so that I know when to move on
to the next step. Does anyone have any suggestions?

Stirling Westrup
Programmer, Entrepreneur.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150619/972ceda3/attachment.html>

More information about the gstreamer-devel mailing list