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 @@ -528,6 +528,16 @@ PortAudioIO::discover() add_devices (); } +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 () { @@ -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&); static void get_default_buffer_sizes(std::vector&);