Skip to content
Snippets Groups Projects
Commit 063d4c75 authored by Alexandre Savard's avatar Alexandre Savard
Browse files

[#2366] Set callback to null when deleting Pulseaudio streams

parent d815e361
Branches
Tags
No related merge requests found
......@@ -101,15 +101,22 @@ AudioStream::disconnectStream (void)
{
_debug ("Destroy audio streams\n");
// pa_threaded_mainloop_lock (_mainloop);
pa_threaded_mainloop_lock (_mainloop);
if (_audiostream) {
pa_stream_disconnect (_audiostream);
// make sure we don't get any further callback
pa_stream_set_state_callback(_audiostream, NULL, NULL);
pa_stream_set_write_callback (_audiostream, NULL, NULL);
pa_stream_set_underflow_callback (_audiostream, NULL, NULL);
pa_stream_set_overflow_callback (_audiostream, NULL, NULL);
pa_stream_unref (_audiostream);
_audiostream = NULL;
}
// pa_threaded_mainloop_unlock (_mainloop);
pa_threaded_mainloop_unlock (_mainloop);
return true;
}
......
......@@ -134,7 +134,7 @@ PulseLayer::closeLayer (void)
// record->disconnectStream();
// closeCaptureStream();
disconnectAudioStream();
// disconnectAudioStream();
if (context) {
pa_context_disconnect (context);
......@@ -294,9 +294,7 @@ void PulseLayer::closeCaptureStream (void)
{
if (record) {
pa_threaded_mainloop_lock (m);
delete record;
pa_threaded_mainloop_unlock (m);
record=NULL;
}
}
......@@ -305,9 +303,7 @@ void PulseLayer::closePlaybackStream (void)
{
if (playback) {
pa_threaded_mainloop_lock (m);
delete playback;
pa_threaded_mainloop_unlock (m);
playback=NULL;
}
}
......@@ -662,7 +658,6 @@ void PulseLayer::readFromMic (void)
size_t r;
// if (record->getStreamState()
// pa_threaded_mainloop_lock (m);
int readableSize = pa_stream_readable_size (record->pulseStream());
......@@ -672,6 +667,7 @@ void PulseLayer::readFromMic (void)
_debug ("pa_stream_peek() failed: %s\n" , pa_strerror (pa_context_errno (context)));
}
if (data != 0) {
int _mainBufferSampleRate = getMainBuffer()->getInternalSamplingRate();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment