<div dir="ltr">I have made a self-contained example here: <a href="https://github.com/kwende/GStreamerExamples/blob/master/Examples/RunInALoop/RunInALoop.cpp">https://github.com/kwende/GStreamerExamples/blob/master/Examples/RunInALoop/RunInALoop.cpp</a>. The same repo includes a VS2019 solution/project to build it. I hope this helps someone understand my question better. <br><br>Here is my problem: I think am I doing something wrong in how I'm tearing down the pipeline when using appsrc. If USEAPPSRC is defined in my code, what eventually happens is the code hangs on line 147 (after several iterations): <br><br>gst_element_send_event(state.pipeline, gst_event_new_eos());<br><div><br></div><div>In addition, I will sporadically get zero-length MP4 files before the hang eventually happens.<br><br>On the other hand, if USEAPPSRC isn't defined, and I use videotestsrc, then everything works as planned: no zero-length files and no hangs ever occur: the loop continues and I keep generating files ad nauseam. I've seen a number of discussions about flushing the pipeline, but I'm unsure how this works exactly in the scenario I've got going on with this code. I feel like something isn't getting the EOS signal properly, but how or why, I can't shake out. The heart of the issue is that I'm trying to tear down and rebuild my pipeline in an infinite loop, I've never witnessed this issue unless I'm in a loop like that. </div><div><br></div><div>It's worth noting that I'm using the Intel Media SDK h264 plugin, and so that might be a variable, but everything certainly works fine when using videotestsrc, so I feel like it's got to be something I'm doing in my code. <br><br>Thanks!</div></div>