diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2016-05-11 09:28:13 +0300 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2016-05-11 09:28:13 +0300 |
commit | 204a86af97d039ddc71cc61bb8bf8a30827c1db1 (patch) | |
tree | 7a34fedd2d28ba7963b192be9b77c8fb6edf8ee6 /gst/rtpmanager/rtpsession.c | |
parent | 00f23053b1f27c6857a2153b39e1344d2d6e9eaf (diff) |
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
Diffstat (limited to 'gst/rtpmanager/rtpsession.c')
-rw-r--r-- | gst/rtpmanager/rtpsession.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c index e530c95b8..6e984e7f1 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; |