Merge pull request #11 from thekr1s/alsa-open-crash

Prevent crash in audio_backend/alsa.rs when switching from Kodi audio…
This commit is contained in:
Sasha Hilton 2018-02-07 15:08:52 +01:00 committed by GitHub
commit 53fab4dc86
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -16,12 +16,17 @@ impl Open for AlsaSink {
impl Sink for AlsaSink { impl Sink for AlsaSink {
fn start(&mut self) -> io::Result<()> { fn start(&mut self) -> io::Result<()> {
if self.0.is_some() { if self.0.is_none() {
} else { match PCM::open(&*self.1,
self.0 = Some(PCM::open(&*self.1,
Stream::Playback, Mode::Blocking, Stream::Playback, Mode::Blocking,
Format::Signed16, Access::Interleaved, Format::Signed16, Access::Interleaved,
2, 44100).ok().unwrap()); 2, 44100) {
Ok(f) => self.0 = Some(f),
Err(e) => {
error!("Alsa error PCM open {}", e);
return Err(io::Error::new(io::ErrorKind::Other, "Alsa error: PCM open failed"));
}
}
} }
Ok(()) Ok(())
} }