Skip to content

Commit 3b9aa5a

Browse files
committed
Upgrade recording example.
1 parent a5f1c26 commit 3b9aa5a

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

examples/recording.rs

+8-7
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ fn match_device(
101101

102102
fn create_stream_settings(
103103
pa: &portaudio::PortAudio,
104+
processor: &Processor,
104105
opt: &Options,
105106
) -> Result<portaudio::DuplexStreamSettings<f32, f32>, Error> {
106107
let input_device = match_device(pa, Regex::new(&opt.capture.device_name)?)?;
@@ -127,7 +128,7 @@ fn create_stream_settings(
127128
input_params,
128129
output_params,
129130
f64::from(AUDIO_SAMPLE_RATE),
130-
NUM_SAMPLES_PER_FRAME as u32,
131+
processor.num_samples_per_frame() as u32,
131132
))
132133
}
133134

@@ -181,9 +182,9 @@ fn main() -> Result<(), Error> {
181182
let pa = portaudio::PortAudio::new()?;
182183

183184
let mut processor = Processor::new(&InitializationConfig {
184-
num_capture_channels: opt.capture.num_channels as i32,
185-
num_render_channels: opt.render.num_channels as i32,
186-
..Default::default()
185+
num_capture_channels: opt.capture.num_channels as usize,
186+
num_render_channels: opt.render.num_channels as usize,
187+
sample_rate_hz: AUDIO_SAMPLE_RATE,
187188
})?;
188189

189190
processor.set_config(opt.config.clone());
@@ -208,13 +209,13 @@ fn main() -> Result<(), Error> {
208209
let audio_callback = {
209210
// Allocate buffers outside the performance-sensitive audio loop.
210211
let mut input_mut =
211-
vec![0f32; NUM_SAMPLES_PER_FRAME as usize * opt.capture.num_channels as usize];
212+
vec![0f32; processor.num_samples_per_frame() * opt.capture.num_channels as usize];
212213

213214
let running = running.clone();
214215
let mute = opt.render.mute;
215216
let mut processor = processor.clone();
216217
move |portaudio::DuplexStreamCallbackArgs { in_buffer, out_buffer, frames, .. }| {
217-
assert_eq!(frames, NUM_SAMPLES_PER_FRAME as usize);
218+
assert_eq!(frames, processor.num_samples_per_frame());
218219

219220
let mut should_continue = true;
220221

@@ -263,7 +264,7 @@ fn main() -> Result<(), Error> {
263264
}
264265
};
265266

266-
let stream_settings = create_stream_settings(&pa, &opt)?;
267+
let stream_settings = create_stream_settings(&pa, &processor, &opt)?;
267268
let mut stream = pa.open_non_blocking_stream(stream_settings, audio_callback)?;
268269
stream.start()?;
269270

0 commit comments

Comments
 (0)