summaryrefslogtreecommitdiff
path: root/gst/rtpmanager/rtpsession.c
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2016-05-11 09:28:13 +0300
committerSebastian Dröge <sebastian@centricular.com>2016-05-11 09:28:13 +0300
commit204a86af97d039ddc71cc61bb8bf8a30827c1db1 (patch)
tree7a34fedd2d28ba7963b192be9b77c8fb6edf8ee6 /gst/rtpmanager/rtpsession.c
parent00f23053b1f27c6857a2153b39e1344d2d6e9eaf (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.c6
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;