From 83f4c0874732f8cc92b904ffdce5a6f20fbc9827 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Par=C3=ADs=20D=C3=ADaz?= Date: Mon, 23 May 2016 10:18:48 +0200 Subject: [PATCH] rtpsession: take the lock when changing stats https://bugzilla.gnome.org/show_bug.cgi?id=766025 --- gst/rtpmanager/rtpsession.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c index 620d623d23..553d793744 100644 --- a/gst/rtpmanager/rtpsession.c +++ b/gst/rtpmanager/rtpsession.c @@ -4091,9 +4091,9 @@ done: result = sess->callbacks.send_rtcp (sess, source, buffer, output->is_bye, sess->send_rtcp_user_data); - sess->stats.nacks_sent += data.nacked_seqnums; RTP_SESSION_LOCK (sess); + sess->stats.nacks_sent += data.nacked_seqnums; on_sender_ssrc_active (sess, source); RTP_SESSION_UNLOCK (sess); } else { @@ -4101,8 +4101,11 @@ done: " empty_buffer: %d, " " do_not_suppress: %d may_suppress: %d", sess->callbacks.send_rtcp, empty_buffer, do_not_suppress, data.may_suppress); - if (!empty_buffer) + if (!empty_buffer) { + RTP_SESSION_LOCK (sess); sess->stats.nacks_dropped += data.nacked_seqnums; + RTP_SESSION_UNLOCK (sess); + } gst_buffer_unref (buffer); } g_object_unref (source);