Depending on the element in the pipeline which will handle the URI you are trying to play, the state change call can be blocking on network access.<div><br></div><div>For example libneon HTTP source will change state in a synchronous way and block the _set_state function whereas libsoup will do this asynchronously.</div>
<div><br></div><div>I guess the same happens to you here, the mms src element is probably doing stuff synchronously in the state change function and blocks your application&#39;s main thread.</div><div><br></div><div>You can either call the set_state function in a deferred thread or try to improve the element so that the state change is not blocking so much.</div>
<div><br></div><div>Hope this helps,</div><div><br></div><div>Best regards,<br clear="all"><span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse;color:rgb(80, 0, 80)"><p style="margin-bottom:0cm">
<font color="#2323dc"><font face="Verdana, sans-serif"><font size="2">Julien Moutte<br>CTO <br>Fluendo<br>San Francisco, USA &amp; Barcelona, SPAIN<br>Tel BCN. +34 933 175 153<br>Tel USA. </font></font></font><span style="color:rgb(35, 35, 220);font-family:Verdana, sans-serif;font-size:small"><span style="color:rgb(35, 35, 220)">+1 415 773 5353</span></span></p>
<p style="margin-bottom:0cm"><font color="#2323dc"><font face="Verdana, sans-serif"><font size="2"><a href="http://www.fluendo.com/" style="color:rgb(0, 0, 204)" target="_blank">www.fluendo.com</a> &amp; <a href="http://www.moovida.com/" style="color:rgb(0, 0, 204)" target="_blank">www.moovida.com</a></font></font></font></p>
<p><font color="#008000"><font face="Webdings"><font size="5">P</font></font></font><font color="#008000"><font face="Verdana, sans-serif"><font size="2"> </font></font></font><strong><font color="#008000"><font face="Times New Roman"><font size="1"><b>Please consider the environment before printing this e-mail.</b></font></font></font></strong></p>
</span><br>
<br><br><div class="gmail_quote">On Wed, Apr 13, 2011 at 11:41 AM, Jianchun Zhou <span dir="ltr">&lt;<a href="mailto:jianchun.zhou@gmail.com">jianchun.zhou@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<font size="4">hi, guys:<br><br>A problem has been troubling me a lot for quite a period of time.<br><br>when I use gstreamer to play an online radio stream, it blocks on <span style="color:rgb(204, 0, 0)">gst_element_set_state(play, GST_STATE_PLAYING);<br>

<font color="#000000">the application hangs and has no response. my system is Ubuntu 10.10 LTS.<br><br>the attached is my source code, the url mms://<a href="http://live.cbg.cn/yinyue" target="_blank">live.cbg.cn/yinyue</a> is the one blocks, and the other one can play.<br>

<br>anybody can shed some light for me, how can I return from the setting state operation immediately?<br><br>thanks in advance.<br></font></span></font><font color="#888888"><br clear="all"><br>-- <br>Best Regards<br>
</font><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" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div>