<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<div name="messageBodySection">
<div dir="auto">Thank you!</div>
</div>
<div name="messageReplySection">On 18 Jun 2022, 8:13 AM +1000, Michiel Konstapel <michiel@aanmelder.nl>, wrote:<br />
<blockquote type="cite" style="border-left-color: grey; border-left-width: thin; border-left-style: solid; margin: 5px 5px;padding-left: 10px;">
<p>I think you need a <a moz-do-not-send="true" href="https://gstreamer.freedesktop.org/documentation/additional/design/probes.html?gi-language=c#blocking-probes">blocking probe</a> for that. Whenever you switch inputs, install blocking probes on the inactive inputs (and unblock the active input). However, when you unblock an input, those buffers waiting will be old. You may have to update their PTS times to prevent the sink from dropping them as "too late".<br /></p>
<div class="moz-cite-prefix">On 17-06-2022 05:09, Steve W wrote:<br /></div>
<blockquote type="cite" cite="mid:53920c2e-dce9-4437-b4be-c83b319fa052@Spark">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<div name="messageBodySection">
<div dir="auto">Hi Michiel,<br />
<br />
I see. Is there a way to not drop the buffers from inactive streams?  Perhaps somehow block the queue?<br />
<br />
Thanks<br />
<br />
Steve</div>
</div>
<div name="messageReplySection">On 17 Jun 2022, 6:47 AM +1000, Michiel Konstapel via gstreamer-devel <a class="moz-txt-link-rfc2396E" href="mailto:gstreamer-devel@lists.freedesktop.org"><gstreamer-devel@lists.freedesktop.org></a>, wrote:<br />
<blockquote type="cite" style="border-left-color: grey; border-left-width: thin; border-left-style: solid; margin: 5px 5px;padding-left: 10px;">On 16-06-2022 19:52, Steve W via gstreamer-devel wrote:<br />
<blockquote type="cite">Hello all<br />
<br />
I’m trying to switch between two queues using input-selector:<br />
<br />
input-selector name=i sync-streams=true sync-mode=clock<br />
cache-buffers=true<br />
… ! queue max-size-time=0 name=q1 ! i.<br />
… ! queue max-size-time=0 name=q2 ! i.<br />
i. ! fakesink<br />
<br />
I’ve added buffer probes to the sources of q1 and q2. Even when the<br />
input-selector has the active pad set to one stream, both of the<br />
buffer probes are triggered. Regardless of the duration rolled,<br />
current-level-buffers is always 0 for both q1 and q2. It seems to<br />
suggest that both queues are consumed even when the active pad is set<br />
to only one stream. Does anyone know why this might be the case?<br />
<br />
Thanks<br /></blockquote>
<br />
If I understand correctly, even with those properties, the<br />
input-selector will consume buffers from all its inputs, but drop<br />
everything except buffers from the active pad. `cache-buffers` only<br />
applies to (quoting the docs) "buffers still considered valid (after<br />
current running time, see sync-mode)". Even in that case, they will have<br />
been consumed from the queue, and when their time has passed, they'll<br />
still be dropped.<br />
Michiel<br /></blockquote>
</div>
</blockquote>
<div class="moz-signature">--<br />
Michiel Konstapel<br />
<i>Lead Software Developer</i><br />
<a href="https://www.aanmelder.nl">aanmelder.nl</a><br />
<br />
T: +31(0)15 2400 119<br />
E: <a class="moz-txt-link-abbreviated" href="mailto:michiel@aanmelder.nl">michiel@aanmelder.nl</a><br /></div>
</blockquote>
</div>
</body>
</html>