From 1d20f5be336b98fffd681fae0922c19f089d3be9 Mon Sep 17 00:00:00 2001 From: Djowie Date: Wed, 19 Jan 2022 15:02:49 +0100 Subject: [PATCH] Improved stream url and removed dependency on track numbers (#64079) --- homeassistant/components/jellyfin/media_source.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/jellyfin/media_source.py b/homeassistant/components/jellyfin/media_source.py index 55e849a1f14..3eedc1b0440 100644 --- a/homeassistant/components/jellyfin/media_source.py +++ b/homeassistant/components/jellyfin/media_source.py @@ -238,7 +238,13 @@ class JellyfinSource(MediaSource): async def _build_tracks(self, album_id: str) -> list[BrowseMediaSource]: """Return all tracks of a single album as browsable media sources.""" tracks = await self._get_children(album_id, ITEM_TYPE_AUDIO) - tracks = sorted(tracks, key=lambda k: k[ITEM_KEY_INDEX_NUMBER]) # type: ignore[no-any-return] + tracks = sorted( + tracks, + key=lambda k: ( + ITEM_KEY_INDEX_NUMBER not in k, + k.get(ITEM_KEY_INDEX_NUMBER, None), + ), + ) return [self._build_track(track) for track in tracks] def _build_track(self, track: dict[str, Any]) -> BrowseMediaSource: @@ -310,7 +316,6 @@ class JellyfinSource(MediaSource): "MaxStreamingBitrate": MAX_STREAMING_BITRATE, } ) - return f"{self.url}Audio/{item_id}/universal?{params}"