GNOME Bugzilla – Bug 602231
Deadlock between rtpjitterbuffer and gstrtpbin
Last modified: 2009-11-18 10:02:21 UTC
Created attachment 147991 [details] [review] patch to fix problem Seems like a regression I introduced with f542f710c. gst_rtp_jitter_buffer_get_clock_rate() emits "request-pt-map" with the JBUF lock held, the handler in gstrtpbin calls get_pt_map() which takes the session lock while farsight clears the pt map, which is done by gst_rtp_bin_clear_pt_map() which takes the session lock and calls "clear-pt-map" on the jitterbuffer whose handler takes the JBUF lock. Patch releases jbuf lock before emitting signal.. And documents the subtle fact that the clock-rate can only be set to a valid value with the streaming lock held (but could be invalidated without it..). Fun, isn't it ?
*** This bug has been marked as a duplicate of bug 593354 ***