From: Brian O'Connor Date: Fri, 29 Nov 2024 17:10:02 +0000 (-0500) Subject: Fix: Reauthenticate with SiriusXM when playing a station (#1789) X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=32667fbc8fd56d21d0699d5267f6fe49f94064ca;p=music-assistant-server.git Fix: Reauthenticate with SiriusXM when playing a station (#1789) --- diff --git a/music_assistant/providers/siriusxm/__init__.py b/music_assistant/providers/siriusxm/__init__.py index f32b5fbd..36724642 100644 --- a/music_assistant/providers/siriusxm/__init__.py +++ b/music_assistant/providers/siriusxm/__init__.py @@ -215,6 +215,15 @@ class SiriusXMProvider(MusicProvider): self, item_id: str, media_type: MediaType = MediaType.RADIO ) -> StreamDetails: """Get streamdetails for a track/radio.""" + # There's a chance that the SiriusXM auth session has expired + # by the time the user clicks to play a station. The sxm-client + # will attempt to reauthenticate automatically, but this causes + # a delay in streaming, and ffmpeg raises a TimeoutError. + # To prevent this, we're going to explicitly authenticate with + # SiriusXM proactively when a station has been chosen to avoid + # this. + await self._client.authenticate() + hls_path = f"http://{self._base_url}/{item_id}.m3u8" # Keep a reference to the current `StreamDetails` object so that we can