<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
 </head><body style=""><div>just for the record:</div>
<div> </div>
<div>I ended up removing the MyBin and dynamically adding/removing/linking the individual <span>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. </span></div>
<div> </div>
<div><span>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.<br></span></div>
<div> </div>
<div><span>thanks,</span></div>
<div><span>Chris</span></div>
<div> </div>
<div>Agostinho <sergio.r.agostinho@gmail.com> hat am 20. Juli 2015 um 13:36 geschrieben:</div>
<blockquote type="cite" style="position: relative; margin-left: 0px; padding-left: 10px; border-left: solid 1px blue;"><br>
<div dir="ltr">
<div>I would place an input selector after your MyBin and add the corresponding playbin (1, 2 or 3) dynamically to a single videosink.</div>
<div>For more examples on how to handle this dynamic interchange.</div>
<div><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html</a></div>
<div><a href="https://coaxion.net/blog/2014/01/gstreamer-dynamic-pipelines/">https://coaxion.net/blog/2014/01/gstreamer-dynamic-pipelines/</a> (example 1)</div>
<div> </div>
<div>Cheers</div>
<div>Sérgio</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">2015-07-20 13:16 GMT+02:00 Christian Sell <span><<a href="mailto:christian@gsvitec.com" target="_blank">christian@gsvitec.com</a>></span>:<br>
<blockquote style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;"><span style="text-decoration: underline;"></span>
<div>
<div>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</div>
<div><br>> Josh Doe <<a href="mailto:josh@joshdoe.com" target="_blank">josh@joshdoe.com</a>> hat am 20. Juli 2015 um 12:40 geschrieben:<span><br>> <br>> <br>> On Mon, Jul 20, 2015 at 5:40 AM, Christian Sell <<a href="mailto:christian@gsvitec.com" target="_blank">christian@gsvitec.com</a>> wrote:<br>> > Hello,<br>> ><br>> > I have a pipeline which consists of several video streams, like this:<br>> ><br>> > PIpeline<br>> > MyBin----------|<br>> > MySource1 | -> playbin1 -> videosink1<br>> > MySource2 |-> playbin 2-> videosink2<br>> > MySource3 |-> playbin 3-> videosink3<br>> > ------------------|<br>> ><br>> > The user can only view one source at a time, but can switch between viewable<br>> > sources at will. This all works well already, but, as currently implemented,<br>> > full video processing takes place for all streams all the time. What I would<br>> > like to achieve is to "disable" those streams that are not currently being<br>> > viewed such that the basesrc->fill function is not even called on the<br>> > respective MySource elements. This is to avoid the significant processing<br>> > overhead (buffer allocation + debayering).<br>> ><br>> > What would be the best way to do this?<br>> <br>> Do you actually want three separate sinks, or do you really just want<br>> one? Have you looked at input-selector?<br></span>> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-input-selector.html" target="_blank">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-input-selector.html</a><br>> _______________________________________________<br>> gstreamer-devel mailing list<br>> <a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>> <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></div>
</div>
<br>_______________________________________________<br> gstreamer-devel mailing list<br> <a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br> <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br> </blockquote>
</div>
</div>
_______________________________________________<br>gstreamer-devel mailing list<br>gstreamer-devel@lists.freedesktop.org<br>http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</blockquote>
<div><br> </div></body></html>