disabling branch of a pipeline

Josh Doe josh at joshdoe.com
Mon Jul 20 03:40:06 PDT 2015


On Mon, Jul 20, 2015 at 5:40 AM, Christian Sell <christian at gsvitec.com> wrote:
> Hello,
>
> I have a pipeline which consists of several video streams, like this:
>
> PIpeline
> MyBin----------|
>    MySource1 | -> playbin1 -> videosink1
>    MySource2 |-> playbin 2-> videosink2
>    MySource3 |-> playbin 3-> videosink3
> ------------------|
>
> The user can only view one source at a time, but can switch between viewable
> sources at will. This all works well already, but, as currently implemented,
> full video processing takes place for all streams all the time. What I would
> like to achieve is to "disable" those streams that are not currently being
> viewed such that the basesrc->fill function is not even called on the
> respective MySource elements. This is to avoid the significant processing
> overhead (buffer allocation + debayering).
>
> What would be the best way to do this?

Do you actually want three separate sinks, or do you really just want
one? Have you looked at input-selector?
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-input-selector.html


More information about the gstreamer-devel mailing list