<div dir="ltr"><div><div><div><div><div><div><div>Hi,<br><br>I have pipeline with two branches, and I need to switch them dynamically without any gaps.<br><br></div>Each branch is basically<br><br></div>filesrc -> decodebin -> audioresample -> audioconvert -> capsfilter<br>
<br></div>put in a bin where bin's src ghost pad is made out of capsfilter's src pad.<br><br></div>I have EVENT_BOTH pad probe on capsfilter's src pad and I listen for EOS.<br><br>When EOS happens, another branch is always prepared for playback, I mean it is in PLAYING state but bin's src pad is blocked.<br>
<br></div>In callback for EOS I immediately unlink EOSed bin, link another one and remove blocking pad probe for the newly linked branch.<br><br></div>Sound plays, but there are tiny gaps between files.<br><br>What else should I do in order to achieve gapless playback?<br>
<br>I cannot use playbin (finally final pipeline will be much more complex and much more different from playbin purpose than in this case).<br><br></div><div>Thanks,<br></div><div><br></div>m.<br><div><div><div><div><br>
<br>
</div></div></div></div></div>