Skip to content

Commit

Permalink
Fix: Reauthenticate with SiriusXM when playing a station (#1789)
Browse files Browse the repository at this point in the history
  • Loading branch information
btoconnor authored Nov 29, 2024
1 parent bbf6277 commit 32667fb
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions music_assistant/providers/siriusxm/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,15 @@ async def get_stream_details(
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
Expand Down

0 comments on commit 32667fb

Please sign in to comment.