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