From f61ed84f5c4d2c7caf1f21220849af8a43bf23b8 Mon Sep 17 00:00:00 2001
From: Alexandre Savard <alexandresavard@alexandresavard-desktop.(none)>
Date: Fri, 12 Mar 2010 17:10:21 -0500
Subject: [PATCH] [#3007] Lock the mainloop when flush pulseaudio streams

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

diff --git a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp
index 7a1664ec90..3f754c8df1 100644
--- a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp
+++ b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp
@@ -357,12 +357,17 @@ PulseLayer::stopStream (void)
 {
 
 	_info("Audio: Stop audio stream");
+
+	pa_threaded_mainloop_lock (m);
+
 	if(playback)
 	    pa_stream_flush (playback->pulseStream(), NULL, NULL);
 
 	if(record)
 	    pa_stream_flush (record->pulseStream(), NULL, NULL);
 
+	pa_threaded_mainloop_unlock (m);
+
 	disconnectAudioStream();
 }
 
-- 
GitLab