From ba4e11a40ab18308437a05333a46eace6f8eeb5a Mon Sep 17 00:00:00 2001 From: franchioping <43936644+franchioping@users.noreply.github.com> Date: Tue, 2 Jan 2024 16:37:51 +0000 Subject: [PATCH] fix: songs doesn't play when sources with preferred audio codec is empty (#976) * Fix song not playing when m4a or weba is not available (one is available but not the other) for that song * Update lib/services/sourced_track/sources/youtube.dart --------- Co-authored-by: Kingkor Roy Tirtho --- lib/services/sourced_track/sources/youtube.dart | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/services/sourced_track/sources/youtube.dart b/lib/services/sourced_track/sources/youtube.dart index 096de2d4..2bcd6e3e 100644 --- a/lib/services/sourced_track/sources/youtube.dart +++ b/lib/services/sourced_track/sources/youtube.dart @@ -79,14 +79,17 @@ class YoutubeSourcedTrack extends SourcedTrack { } static SourceMap toSourceMap(StreamManifest manifest) { - final m4a = manifest.audioOnly + var m4a = manifest.audioOnly .where((audio) => audio.codec.mimeType == "audio/mp4") .sortByBitrate(); - final weba = manifest.audioOnly + var weba = manifest.audioOnly .where((audio) => audio.codec.mimeType == "audio/webm") .sortByBitrate(); + m4a = m4a.isEmpty ? weba.toList() : m4a; + weba = weba.isEmpty ? m4a.toList() : weba; + return SourceMap( m4a: SourceQualityMap( high: m4a.first.url.toString(),