summaryrefslogtreecommitdiff
path: root/libs/backends/portaudio
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-08-23 20:36:23 +1000
committerTim Mayberry <mojofunk@gmail.com>2015-09-02 12:07:15 +1000
commite42f9d649bc0d84458ae71a4ed8af3607f670a61 (patch)
tree7bb838c12afc2d146140de520df14d111b17642c /libs/backends/portaudio
parentc857008b93262b1fb017f9d94e16429eae72c80a (diff)
Refactor parts of PortAudioIO class into new method
Diffstat (limited to 'libs/backends/portaudio')
-rw-r--r--libs/backends/portaudio/portaudio_io.cc22
-rw-r--r--libs/backends/portaudio/portaudio_io.h2
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>&);