If I haven'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"><<a href="mailto:wim.taymans@gmail.com">wim.taymans@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><div></div><div class="h5">On Wed, 2010-12-22 at 10:32 +0100, Antoni Silvestre Padrós wrote:<br>
> Hi, I am using GstRtpBin for my application and I have a problem with<br>
> signals and locks. I need the program to hold back the emission of<br>
> certain gstrtpbin signals while I am executing some functions.<br>
> Stopping the execution of the callbacks of those signals when they<br>
> have already been called doesn't work because when those callbacks<br>
> have been called the gstrtpbin code that has emitted them has already<br>
> acquired the lock for the gstrtpbin object and my concurrent part of<br>
> the code uses functions like gst_element_get_request_pad that also<br>
> need to acquire that same lock.<br>
><br>
><br>
> One solution would be to acquire the lock of the gstrtpbin object<br>
> myself every time I run that part of the code that is not compatible<br>
> with the signals. That would hold back the emission of gstrtpbin<br>
> signals, however as gst object locks are not recursive when I use<br>
> functions like gst_element_get_request_pad that also acquire the gst<br>
> lock, my code gets deadlocked by locking the same mutex two times by<br>
> the same thread. One workaround would be releasing the gst object lock<br>
> just before any call to such functions but then obviously I would have<br>
> the risk of a signal emission occurring in between the lock release<br>
> and the call to the gst function that requires a lock.<br>
><br>
><br>
> Right now I can't think of any elegant solution to this problem,<br>
> 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's a bug. What signals are you talking about, what actions are<br>
you performing that causes deadlocks?<br>
<br>
Wim<br>
<br>
><br>
><br>
> Thanks,<br>
> Toni Silvestre<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'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>
> _______________________________________________ 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'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>