From 204a86af97d039ddc71cc61bb8bf8a30827c1db1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 11 May 2016 09:28:13 +0300 Subject: [PATCH] rtpsession: Don't notify about stats property changes while taking the session lock The signal handlers might want to actually get the value of the stats property, which would take the session lock again and deadlock. This was introduced by 2e960e70750a0cb7e1117d0c09d08597866a29ee. https://bugzilla.gnome.org/show_bug.cgi?id=766025 --- gst/rtpmanager/rtpsession.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c index e530c95b81..6e984e7f12 100644 --- a/gst/rtpmanager/rtpsession.c +++ b/gst/rtpmanager/rtpsession.c @@ -4029,9 +4029,6 @@ rtp_session_on_timeout (RTPSession * sess, GstClockTime current_time, /* update point-to-point status */ session_update_ptp (sess); - /* notify about updated statistics */ - g_object_notify (G_OBJECT (sess), "stats"); - /* see if we need to generate SR or RR packets */ if (!is_rtcp_time (sess, current_time, &data)) goto done; @@ -4071,6 +4068,9 @@ rtp_session_on_timeout (RTPSession * sess, GstClockTime current_time, done: RTP_SESSION_UNLOCK (sess); + /* notify about updated statistics */ + g_object_notify (G_OBJECT (sess), "stats"); + /* push out the RTCP packets */ while ((output = g_queue_pop_head (&data.output))) { gboolean do_not_suppress, empty_buffer;