<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 17, 2015 at 5:16 PM, Sérgio Agostinho <span dir="ltr"><<a href="mailto:sergio.r.agostinho@gmail.com" target="_blank">sergio.r.agostinho@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>I would probably use a mutex that gets unlocked once you receive the state change message of your bin in the pipeline bus. </div><div><br></div><div>1 - lock</div><div>2 - add the bin to the tee</div><div>3 - lock - this will block, until you get the unlock from the state change message.</div><div>4 - unlock again</div></div></blockquote><div><br></div><div>That's not very practical. The "Async Done" message that gets to my bus-handler just has "pipeline" as its source, so I have no idea WHICH bin has finished a state change. The reason I'm using worker threads to modify the pipeline is because I can easily be adding 4 or 5 new output legs at the same time, in parallel.<br><br></div><div>It looks like I could set the enclosing bin to have the message-forward property, but then I would need to do it for several other enclosing bins as well, and the final GST_MESSAGE_ELEMENT I would get would have all relevant info buried 3 or 4 layers deep. Is there an easier way?<br><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Cheers</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">2015-09-17 22:24 GMT+02:00 Stirling Westrup <span dir="ltr"><<a href="mailto:swestrup@gmail.com" target="_blank">swestrup@gmail.com</a>></span>:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div><div><div>I have a worker thread which is attempting to add another output bin to an output tee on a playing pipeline. When it changes the output bin's state (via gst_element_sync_state_with_parent), it gets a TRUE result, and if I do nothing else, the newly added output works correctly.<br><br></div>However, if I call gst_element_get_state to wait for the transition to finish, it *always* times out, no matter how long the timeout. My Logs show that the state change only ever completes AFTER gst_element_get_state has returned.<br><br></div>I can only imagine that some sort of lock is being held somewhere which is preventing the state change to complete while the worker thread is waiting.<br><br></div>Is there any good way to wait upon the state change that DOES work? I really do need to know when the new part of the pipeline is actually in the new state.<span><font color="#888888"><br clear="all"><div><div><div><div><br>-- <br><div>Stirling Westrup<br>Programmer, Entrepreneur.<br><a href="https://www.linkedin.com/e/fpf/77228" target="_blank">https://www.linkedin.com/e/fpf/77228</a><br><a href="http://www.linkedin.com/in/swestrup" target="_blank">http://www.linkedin.com/in/swestrup</a><br><a href="http://technaut.livejournal.com" target="_blank">http://technaut.livejournal.com</a><br><a href="http://sourceforge.net/users/stirlingwestrup" target="_blank">http://sourceforge.net/users/stirlingwestrup</a></div>
</div></div></div></div></font></span></div>
<br></div></div>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">Stirling Westrup<br>Programmer, Entrepreneur.<br><a href="https://www.linkedin.com/e/fpf/77228" target="_blank">https://www.linkedin.com/e/fpf/77228</a><br><a href="http://www.linkedin.com/in/swestrup" target="_blank">http://www.linkedin.com/in/swestrup</a><br><a href="http://technaut.livejournal.com" target="_blank">http://technaut.livejournal.com</a><br><a href="http://sourceforge.net/users/stirlingwestrup" target="_blank">http://sourceforge.net/users/stirlingwestrup</a></div>
</div></div>