If I haven&#39;t done anything wrong with my debugging, the signal request-pt-map for the GstRtpBin element is emitted with the element locked, and in my case my concurrent code was getting deadlocked in the function gst_element_get_request_pad.<div>

<br></div><div>thanks,</div><div>Toni Silvestre<br><br><div class="gmail_quote">On Wed, Dec 22, 2010 at 11:21, Wim Taymans <span dir="ltr">&lt;<a href="mailto:wim.taymans@gmail.com">wim.taymans@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;"><div><div></div><div class="h5">On Wed, 2010-12-22 at 10:32 +0100, Antoni Silvestre Padrós wrote:<br>
&gt; Hi, I am using GstRtpBin for my application and I have a problem with<br>
&gt; signals and locks. I need the program to hold back the emission of<br>
&gt; certain gstrtpbin signals while I am executing some functions.<br>
&gt; Stopping the execution of the callbacks of those signals when they<br>
&gt; have already been called doesn&#39;t work because when those callbacks<br>
&gt; have been called the gstrtpbin code that has emitted them has already<br>
&gt; acquired the lock for the gstrtpbin object and my concurrent part of<br>
&gt; the code uses functions like gst_element_get_request_pad that also<br>
&gt; need to acquire that same lock.<br>
&gt;<br>
&gt;<br>
&gt; One solution would be to acquire the lock of the gstrtpbin object<br>
&gt; myself every time I run that part of the code that is not compatible<br>
&gt; with the signals. That would hold back the emission of gstrtpbin<br>
&gt; signals, however as gst object locks are not recursive when I use<br>
&gt; functions like gst_element_get_request_pad that also acquire the gst<br>
&gt; lock, my code gets deadlocked by locking the same mutex two times by<br>
&gt; the same thread. One workaround would be releasing the gst object lock<br>
&gt; just before any call to such functions but then obviously I would have<br>
&gt; the risk of a signal emission occurring in between the lock release<br>
&gt; and the call to the gst function that requires a lock.<br>
&gt;<br>
&gt;<br>
&gt; Right now I can&#39;t think of any elegant solution to this problem,<br>
&gt; anyone has any ideas?<br>
<br>
</div></div>What are you trying to do? all signals are emitted without any locks, if<br>
not that&#39;s a bug. What signals are you talking about, what actions are<br>
you performing that causes deadlocks?<br>
<br>
Wim<br>
<br>
&gt;<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Toni Silvestre<br>
&gt; ------------------------------------------------------------------------------<br>
&gt; Forrester recently released a report on the Return on Investment (ROI) of<br>
&gt; Google Apps. They found a 300% ROI, 38%-56% cost savings, and break-even<br>
&gt; within 7 months.  Over 3 million businesses have gone Google with Google Apps:<br>
&gt; an online email calendar, and document program that&#39;s accessible from your<br>
&gt; browser. Read the Forrester report: <a href="http://p.sf.net/sfu/googleapps-sfnew" target="_blank">http://p.sf.net/sfu/googleapps-sfnew</a><br>
&gt; _______________________________________________ gstreamer-devel mailing list <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a> <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>


<br>
<br>
<br>
------------------------------------------------------------------------------<br>
Forrester recently released a report on the Return on Investment (ROI) of<br>
Google Apps. They found a 300% ROI, 38%-56% cost savings, and break-even<br>
within 7 months.  Over 3 million businesses have gone Google with Google Apps:<br>
an online email calendar, and document program that&#39;s accessible from your<br>
browser. Read the Forrester report: <a href="http://p.sf.net/sfu/googleapps-sfnew" target="_blank">http://p.sf.net/sfu/googleapps-sfnew</a><br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
</blockquote></div><br></div>