disabling branch of a pipeline

Christian Sell christian at gsvitec.com
Wed Jul 22 01:51:07 PDT 2015


just for the record:
 
I ended up removing the MyBin and dynamically adding/removing/linking the
individual MySource elements. I can safely do this because the pipeline is only
used for seeking + pulling samples and can therefore safely be put into NULL
state before restructuring.
 
This was the best solution for minimizing overhead. In contrast, using
input-selector caused a storm of read operations on my source side, for reasons
I do not understand. I assume input-selector is the solution of choice for
switching during playback, and to that end it performs some magic which is
detrimental in my case.
 
thanks,
Chris
 
Agostinho <sergio.r.agostinho at gmail.com> hat am 20. Juli 2015 um 13:36
geschrieben:

>  I would place an input selector after your MyBin and add the corresponding
> playbin (1, 2 or 3) dynamically to a single videosink.
>  For more examples on how to handle this dynamic interchange.
> 
> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html
>  https://coaxion.net/blog/2014/01/gstreamer-dynamic-pipelines/ (example 1)
>   
>  Cheers
>  Sérgio
> 
>  2015-07-20 13:16 GMT+02:00 Christian Sell <christian at gsvitec.com
> <mailto:christian at gsvitec.com> >:
>    > >    one sink will do - it must only be possible to switch it from one
>    > > source to the other dynamically. I'll look at inputselector, the name
>    > > sounds promising
> > 
> >    > Josh Doe <josh at joshdoe.com <mailto:josh at joshdoe.com> > hat am 20. Juli
> >    > 2015 um 12:40 geschrieben:
> >    >
> >    >
> >    > On Mon, Jul 20, 2015 at 5:40 AM, Christian Sell <christian at gsvitec.com
> >    > <mailto: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
> >    > _______________________________________________
> >    > gstreamer-devel mailing list
> >    > gstreamer-devel at lists.freedesktop.org
> >    > <mailto:gstreamer-devel at lists.freedesktop.org>
> >    > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> > 
> >    _______________________________________________
> >    gstreamer-devel mailing list
> >    gstreamer-devel at lists.freedesktop.org
> > <mailto:gstreamer-devel at lists.freedesktop.org>
> >    http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >  >  _______________________________________________
>  gstreamer-devel mailing list
>  gstreamer-devel at lists.freedesktop.org
>  http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150722/ad8ca69a/attachment-0001.html>


More information about the gstreamer-devel mailing list