cpal
cpal copied to clipboard
0.13.4: alsa regression
Upgrading cpal in https://github.com/marin-m/SongRec to 0.13.4 causes an ALSA error to appear:
fuji@antonovka /tmp/SongRec $ cargo run
Compiling songrec v0.2.1 (/tmp/SongRec)
Finished dev [unoptimized + debuginfo] target(s) in 12.57s
Running `target/debug/songrec`
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: BackendSpecific { err: BackendSpecificError { description: "ALSA function 'snd_pcm_sw_params' failed with error 'EINVAL: Invalid argument'" } }', src/gui/microphone_thread.rs:100:330
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
The issue doesn't appear with cpal 0.13.3.
Calling code: https://github.com/marin-m/SongRec/blob/master/src/gui/microphone_thread.rs#L99
stream = Some(match config.sample_format() {
cpal::SampleFormat::F32 => device.build_input_stream(&config.into(), move |data, _: &_| write_data::<f32, f32>(data, &processing_tx_2, gui_tx_3.clone(), channels, sample_rate, &mut twelve_seconds_buffer, &mut number_unprocessed_samples, &mut number_unmeasured_samples, &processing_already_ongoing_2), err_fn).unwrap(),
cpal::SampleFormat::I16 => device.build_input_stream(&config.into(), move |data, _: &_| write_data::<i16, i16>(data, &processing_tx_2, gui_tx_3.clone(), channels, sample_rate, &mut twelve_seconds_buffer, &mut number_unprocessed_samples, &mut number_unmeasured_samples, &processing_already_ongoing_2), err_fn).unwrap(),
cpal::SampleFormat::U16 => device.build_input_stream(&config.into(), move |data, _: &_| write_data::<u16, i16>(data, &processing_tx_2, gui_tx_3.clone(), channels, sample_rate, &mut twelve_seconds_buffer, &mut number_unprocessed_samples, &mut number_unmeasured_samples, &processing_already_ongoing_2), err_fn).unwrap(),
});
More info: marin-m/SongRec#70
Hello,
Maybe it is a duplicate of issue #606?