diff --git a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp index 7a1664ec90a38cb9d78c41d2e96ee9a22a2ef787..3f754c8df169c1bbb9fe49e3b79bab666e71c4fc 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(); }