From 1e6a65d083f92e95b3de9c72aed77d779b61f92e Mon Sep 17 00:00:00 2001
From: Alexandre Savard <alexandre.savard@savoirfairelinux.net>
Date: Tue, 20 Oct 2009 09:23:20 -0400
Subject: [PATCH] [#2308] Fix pulseaudio stream closing assertion failure

---
 sflphone-common/src/audio/pulseaudio/pulselayer.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp
index c1ffa9c9c0..4000b727b6 100644
--- a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp
+++ b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp
@@ -405,12 +405,19 @@ PulseLayer::stopStream (void)
 
 	// pa_threaded_mainloop_unlock (m);
 
+	_debug("Disconnecting PulseAudio context\n");
+
 	if (context) {
+
+	    pa_threaded_mainloop_lock (m);
 	    pa_context_disconnect (context);
 	    pa_context_unref (context);
+	    pa_threaded_mainloop_unlock (m);
 	    context = NULL;
 	}
 
+	_debug("Freeing Pulseaudio mainloop\n");
+
 	if (m) {
 	    pa_threaded_mainloop_free (m);
 	    m = NULL;
-- 
GitLab