From aa3518807a8093415f8b6d21b0a11fd1e73c4ced Mon Sep 17 00:00:00 2001 From: Jan-Henrik Bruhn Date: Mon, 18 Mar 2024 20:34:07 +0100 Subject: [PATCH] Allow broken file playback --- src/jellyfin.rs | 1 - src/player.rs | 16 +++++++--------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/jellyfin.rs b/src/jellyfin.rs index 562c09c..00da0eb 100644 --- a/src/jellyfin.rs +++ b/src/jellyfin.rs @@ -1,4 +1,3 @@ -use awedio::Sound; use bytes::Buf; use serde::Deserialize; diff --git a/src/player.rs b/src/player.rs index 99e2878..bcb2175 100644 --- a/src/player.rs +++ b/src/player.rs @@ -95,17 +95,15 @@ impl Sound for Player { self.was_empty = false; return Ok(NextSample::MetadataChanged); } - let next_sample = match next_sound.next_sample() { - Ok(s) => s, - Err(e) => { - self.sounds.remove(0); - return Err(e); - } - }; + + let next_sample = next_sound.next_sample(); + if let Err(e) = &next_sample { + println!("Error playing track: {:?}", e); + } let ret = match next_sample { - NextSample::Sample(_) | NextSample::MetadataChanged | NextSample::Paused => next_sample, - NextSample::Finished => { + Ok(NextSample::Sample(_) | NextSample::MetadataChanged | NextSample::Paused) => next_sample.unwrap(), + Ok(NextSample::Finished) | Err(_) => { // Just ignore the error self.sounds.remove(0); if self.sounds.is_empty() { NextSample::Finished