Prevent crash in audio_backend/alsa.rs when switching from Kodi audio to librespot
@@ -18,10 +18,17 @@ impl Sink for AlsaSink {
fn start(&mut self) -> io::Result<()> {
if self.0.is_some() {
} else {
- self.0 = Some(PCM::open(&*self.1,
+ match PCM::open(&*self.1,
Stream::Playback, Mode::Blocking,
Format::Signed16, Access::Interleaved,
- 2, 44100).ok().unwrap());
+ 2, 44100) {
+ Ok(f) => self.0 = Some(f),
+ Err(e) => {
+ self.0 = None;
+ error!("Alsa error PCM open {}", e);
+ return Err(io::Error::new(io::ErrorKind::Other, "Alsa error: PCM open failed"));
+ }
+ }
}
Ok(())
}
