<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Hi!</div><div>I have posted this question to StackOverflow some time ago, but apparently there is no activity compared to this list, so I'm reposting. </div><div><br></div><div><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; word-wrap: break-word; clear: both;"><span style="background-color: rgba(255, 255, 255, 0);">I've been struggling with this problem for some time now, with no success. What I am trying to do is to play two container files with multiple streams inside (I take one video and just one audio) one after another without a gap. I am using filesrc/decodebin for input, then some simple processing, then playing to autosinks. As one file ends, I am relinking the pipeline dynamically, following the procedure described in the app dev guide. So far so good, but when I try to run the actual production-like pipeline, it gets stuck on EOS processing. The "production" pipeline is encoding to x264/AAC, then muxing to MPEGTS, then packetizing using RTP, then sending to UDP. What I see is that it blocks as soon as I drop the EOS event on the audio stream and block the pad. The audio stream somehow flows quicker at least before the encoder, and the moment I get EOS on audio stream, the video stream is still a couple of seconds in the past. So, I reckon I must block the audio source pad, drop the EOS, and wait for EOS on the video stream before actually changing the input bin. Alas, as soon as I mess with the audio EOS, pipeline gets stuck and no further callback is called.</span></p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; word-wrap: break-word; clear: both;"><span style="background-color: rgba(255, 255, 255, 0);">Is there anything I am missing? Can you suggest another way how to implement relinking of the pipeline to play multi-stream containers so that there are no gaps?</span></p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; word-wrap: break-word; clear: both;"><span style="background-color: rgba(255, 255, 255, 0);">In case you want to visualise, here is the pipeline DOT file after it is stuck: <a href="https://drive.google.com/open?id=0Bz5JvqnApX6WTkNuZVFZbzBCNjA" rel="nofollow noreferrer" style="margin: 0px; padding: 0px; border: 0px; text-decoration: none;">https://drive.google.com/open?id=0Bz5JvqnApX6WTkNuZVFZbzBCNjA</a></span></p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; word-wrap: break-word; clear: both;"><span style="background-color: rgba(255, 255, 255, 0);">I am not posting the code as it is quite lengthy. I will post fragments on as needed basis.</span></p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; word-wrap: break-word; clear: both;"><span style="background-color: rgba(255, 255, 255, 0);">Thank you so much in advance, all hope is on you :-)</span></p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; word-wrap: break-word; clear: both;"><span style="background-color: rgba(255, 255, 255, 0);">--</span></p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; word-wrap: break-word; clear: both;"><span style="background-color: rgba(255, 255, 255, 0);">Best, Vlad</span></p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; word-wrap: break-word; clear: both;"><span style="background-color: rgba(255, 255, 255, 0);"><br></span></p></div></body></html>