aboutsummaryrefslogtreecommitdiffstats
path: root/mumd/src/audio/input.rs
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2021-06-06 23:26:24 +0200
committerGustav Sörnäs <gustav@sornas.net>2021-06-06 23:26:24 +0200
commitbe76c2aa51733a0cf495e92659fbcbe527f41149 (patch)
tree617fb1caa999c076a45233b4bedea6a78192db25 /mumd/src/audio/input.rs
parent7fc5a1a36404ee4cbc09d20c955e6edd3d2ac523 (diff)
downloadmum-be76c2aa51733a0cf495e92659fbcbe527f41149.tar.gz
cargo fmt
Diffstat (limited to 'mumd/src/audio/input.rs')
-rw-r--r--mumd/src/audio/input.rs42
1 files changed, 17 insertions, 25 deletions
diff --git a/mumd/src/audio/input.rs b/mumd/src/audio/input.rs
index 4a1ed3d..e45ff27 100644
--- a/mumd/src/audio/input.rs
+++ b/mumd/src/audio/input.rs
@@ -1,11 +1,11 @@
-use cpal::{InputCallbackInfo, Sample, SampleFormat, SampleRate, StreamConfig};
use cpal::traits::{DeviceTrait, HostTrait, StreamTrait};
-use tokio::sync::watch;
+use cpal::{InputCallbackInfo, Sample, SampleFormat, SampleRate, StreamConfig};
use log::*;
+use tokio::sync::watch;
-use crate::state::StatePhase;
use crate::audio::SAMPLE_RATE;
use crate::error::{AudioError, AudioStream};
+use crate::state::StatePhase;
pub fn callback<T: Sample>(
mut input_sender: futures_channel::mpsc::Sender<f32>,
@@ -17,10 +17,7 @@ pub fn callback<T: Sample>(
return;
}
let input_volume = *input_volume_receiver.borrow();
- for sample in data
- .iter()
- .map(|e| e.to_f32())
- .map(|e| e * input_volume) {
+ for sample in data.iter().map(|e| e.to_f32()).map(|e| e * input_volume) {
if let Err(_e) = input_sender.try_send(sample) {
warn!("Error sending audio: {}", _e);
}
@@ -44,7 +41,10 @@ pub struct DefaultAudioInputDevice {
}
impl DefaultAudioInputDevice {
- pub fn new(input_volume: f32, phase_watcher: watch::Receiver<StatePhase>) -> Result<Self, AudioError> {
+ pub fn new(
+ input_volume: f32,
+ phase_watcher: watch::Receiver<StatePhase>,
+ ) -> Result<Self, AudioError> {
let sample_rate = SampleRate(SAMPLE_RATE);
let host = cpal::default_host();
@@ -76,29 +76,17 @@ impl DefaultAudioInputDevice {
let input_stream = match input_supported_sample_format {
SampleFormat::F32 => input_device.build_input_stream(
&input_config,
- callback::<f32>(
- sample_sender,
- input_volume_receiver,
- phase_watcher,
- ),
+ callback::<f32>(sample_sender, input_volume_receiver, phase_watcher),
err_fn,
),
SampleFormat::I16 => input_device.build_input_stream(
&input_config,
- callback::<i16>(
- sample_sender,
- input_volume_receiver,
- phase_watcher,
- ),
+ callback::<i16>(sample_sender, input_volume_receiver, phase_watcher),
err_fn,
),
SampleFormat::U16 => input_device.build_input_stream(
&input_config,
- callback::<u16>(
- sample_sender,
- input_volume_receiver,
- phase_watcher,
- ),
+ callback::<u16>(sample_sender, input_volume_receiver, phase_watcher),
err_fn,
),
}
@@ -116,10 +104,14 @@ impl DefaultAudioInputDevice {
impl AudioInputDevice for DefaultAudioInputDevice {
fn play(&self) -> Result<(), AudioError> {
- self.stream.play().map_err(|e| AudioError::InputPlayError(e))
+ self.stream
+ .play()
+ .map_err(|e| AudioError::InputPlayError(e))
}
fn pause(&self) -> Result<(), AudioError> {
- self.stream.pause().map_err(|e| AudioError::InputPauseError(e))
+ self.stream
+ .pause()
+ .map_err(|e| AudioError::InputPauseError(e))
}
fn set_volume(&self, volume: f32) {
self.volume_sender.send(volume).unwrap();