<div dir="ltr"><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Apr 5, 2023 at 9:17 PM Nicolas Dufresne <<a href="mailto:nicolas@ndufresne.ca" target="_blank">nicolas@ndufresne.ca</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><br><blockquote type="cite" style="margin:0px 0px 0px 0.8ex;border-left:2px solid rgb(114,159,207);padding-left:1ex"><div dir="ltr"><div><br></div><div>Basically looking for a way for src element to keep its stream position and just continue where it was prior to being added to a new pipeline.</div><div><br></div></div></blockquote><div><br></div><div>Best is to write a minimal test app to show the issue, its is a bit too abstract to understand what is going on for you.</div><div><br></div><br></div></blockquote><div>Took a while due to vacation etc. but here is the test app to demonstrate the core of the issue. Use following steps:</div><div><ol><li>./video_switch_test1 video1_uri video2_uri</li><ul><li>This will start video1_uri playback on window1<br></li></ul><li>wait for about 10sec (so that the issue is easier to notice)<br></li><li>Press s+<ENTER> in console<br></li><ul><li>This will start video2_uri playback on window2</li><li>After some time video2_uri window2 will close and video2_uri playback should just continue on window1 (from position where it was on window2)<br></li><li>Instead, what will happen is that video2_uri playback starts on window1, BUT its position changes so it continues playback from where video1_uri was at that time (so if you waited for 10 seconds it will skip 10 seconds and continue from there).</li></ul><li>At any time you can press i+<ENTER> to get both pipelines dumped to dotfile for easier understanding of the setup.<br></li></ol><div>Code is pretty straightforward and relies on two blocking probes to block the two separate pipelines prior to exchanging elements (when processing GST_MESSAGE_APPLICATION message).</div><div><br></div><div>Trying to understand why element playing video2_uri (by default it's uridecodebin3) changes position of the stream after being moved from backup-pipeline to main-pipeline. Any help appreciated.<br></div><div><br></div><div>br,</div><div>Vladan</div><div><br></div></div><div><br></div><div> </div></div></div>