diff options
Diffstat (limited to 'libs/backends/portaudio')
-rw-r--r-- | libs/backends/portaudio/portaudio_io.cc | 22 | ||||
-rw-r--r-- | libs/backends/portaudio/portaudio_io.h | 2 |
2 files changed, 14 insertions, 10 deletions
diff --git a/libs/backends/portaudio/portaudio_io.cc b/libs/backends/portaudio/portaudio_io.cc index 51b03cd691..419c0b0263 100644 --- a/libs/backends/portaudio/portaudio_io.cc +++ b/libs/backends/portaudio/portaudio_io.cc @@ -529,6 +529,16 @@ PortAudioIO::discover() } void +PortAudioIO::reset_stream_dependents () +{ + _capture_channels = 0; + _playback_channels = 0; + _cur_sample_rate = 0; + _cur_input_latency = 0; + _cur_output_latency = 0; +} + +void PortAudioIO::pcm_stop () { if (_stream) { @@ -536,11 +546,7 @@ PortAudioIO::pcm_stop () } _stream = NULL; - _capture_channels = 0; - _playback_channels = 0; - _cur_sample_rate = 0; - _cur_input_latency = 0; - _cur_output_latency = 0; + reset_stream_dependents(); free (_input_buffer); _input_buffer = NULL; free (_output_buffer); _output_buffer = NULL; @@ -689,11 +695,7 @@ PortAudioIO::pcm_setup ( return -1; } - _capture_channels = 0; - _playback_channels = 0; - _cur_sample_rate = 0; - _cur_input_latency = 0; - _cur_output_latency = 0; + reset_stream_dependents (); DEBUG_AUDIO (string_compose ( "PortAudio Device IDs: i:%1 o:%2\n", device_input, device_output)); diff --git a/libs/backends/portaudio/portaudio_io.h b/libs/backends/portaudio/portaudio_io.h index 7e903d4472..661c6a07bb 100644 --- a/libs/backends/portaudio/portaudio_io.h +++ b/libs/backends/portaudio/portaudio_io.h @@ -114,6 +114,8 @@ private: // Methods bool set_sample_rate_and_latency_from_stream(); bool allocate_buffers_for_blocking_api (uint32_t samples_per_period); + void reset_stream_dependents (); + static void get_default_sample_rates(std::vector<float>&); static void get_default_buffer_sizes(std::vector<uint32_t>&); |