summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-04-01 22:43:39 +1000
committerTim Mayberry <mojofunk@gmail.com>2015-07-31 09:59:54 +1000
commite2001ac4f30441ddc22c74df200c8a27e638d476 (patch)
treefce1f60eb9066beffc996ef1c7e857d5497f78d9
parentb6db19a5c67e4b58bc2555d7ff83f97bdba6811b (diff)
Fix crash when unable to open portaudio stream
Calling Pa_Terminate after failing to open stream causes an assertion
-rw-r--r--libs/backends/portaudio/portaudio_io.cc8
1 files changed, 1 insertions, 7 deletions
diff --git a/libs/backends/portaudio/portaudio_io.cc b/libs/backends/portaudio/portaudio_io.cc
index 0b2256496d..64f424d858 100644
--- a/libs/backends/portaudio/portaudio_io.cc
+++ b/libs/backends/portaudio/portaudio_io.cc
@@ -306,15 +306,10 @@ PortAudioIO::pcm_setup (
const PaDeviceInfo *nfo_out;
const PaStreamInfo *nfo_s;
- if (!_initialized) {
- err = Pa_Initialize();
- }
- if (err != paNoError) {
+ if (!initialize_pa()) {
fprintf(stderr, "PortAudio Initialization Failed\n");
goto error;
}
- _initialized = true;
-
if (device_input == -1) {
device_input = Pa_GetDefaultInputDevice();
@@ -459,7 +454,6 @@ error:
_playback_channels = 0;
free (_input_buffer); _input_buffer = NULL;
free (_output_buffer); _output_buffer = NULL;
- Pa_Terminate();
return -1;
}