X-Git-Url: https://code.octet-stream.net/m17rt/blobdiff_plain/6440cd74346c4b2d63d4774476e8c6113c032534..2fb25de49daca6ddff6f5af13bcf7c314aafafb3:/m17app/src/soundcard.rs?ds=sidebyside diff --git a/m17app/src/soundcard.rs b/m17app/src/soundcard.rs index b12ef88..f89d9f4 100644 --- a/m17app/src/soundcard.rs +++ b/m17app/src/soundcard.rs @@ -12,7 +12,7 @@ use cpal::{ }; use crate::{ - error::M17Error, + error::{M17Error, SoundmodemError}, soundmodem::{InputSource, OutputBuffer, OutputSink, SoundmodemEvent}, }; @@ -63,10 +63,7 @@ impl Soundcard { continue; }; if configs - .find(|config| { - config.channels() == 1 && config.sample_format() == SampleFormat::I16 - }) - .is_some() + .any(|config| config.channels() == 1 && config.sample_format() == SampleFormat::I16) { let Ok(name) = d.name() else { continue; @@ -89,10 +86,7 @@ impl Soundcard { continue; }; if configs - .find(|config| { - config.channels() == 1 && config.sample_format() == SampleFormat::I16 - }) - .is_some() + .any(|config| config.channels() == 1 && config.sample_format() == SampleFormat::I16) { let Ok(name) = d.name() else { continue; @@ -124,12 +118,12 @@ pub struct SoundcardInputSource { } impl InputSource for SoundcardInputSource { - fn start(&self, samples: SyncSender) { - let _ = self.event_tx.send(SoundcardEvent::StartInput { samples }); + fn start(&self, samples: SyncSender) -> Result<(), SoundmodemError> { + Ok(self.event_tx.send(SoundcardEvent::StartInput { samples })?) } - fn close(&self) { - let _ = self.event_tx.send(SoundcardEvent::CloseInput); + fn close(&self) -> Result<(), SoundmodemError> { + Ok(self.event_tx.send(SoundcardEvent::CloseInput)?) } } @@ -138,14 +132,18 @@ pub struct SoundcardOutputSink { } impl OutputSink for SoundcardOutputSink { - fn start(&self, event_tx: SyncSender, buffer: Arc>) { - let _ = self + fn start( + &self, + event_tx: SyncSender, + buffer: Arc>, + ) -> Result<(), SoundmodemError> { + Ok(self .event_tx - .send(SoundcardEvent::StartOutput { event_tx, buffer }); + .send(SoundcardEvent::StartOutput { event_tx, buffer })?) } - fn close(&self) { - let _ = self.event_tx.send(SoundcardEvent::CloseOutput); + fn close(&self) -> Result<(), SoundmodemError> { + Ok(self.event_tx.send(SoundcardEvent::CloseOutput)?) } }