From b4adbe2d6fe0914160e8e6d330cbbcd413c11c8b Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Mon, 15 Dec 2025 23:49:37 +0100 Subject: [PATCH] Clean up any existing multi-client stream in squeezelite --- music_assistant/providers/squeezelite/player.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/music_assistant/providers/squeezelite/player.py b/music_assistant/providers/squeezelite/player.py index ac795334..7da712e6 100644 --- a/music_assistant/providers/squeezelite/player.py +++ b/music_assistant/providers/squeezelite/player.py @@ -201,6 +201,10 @@ class SqueezelitePlayer(Player): async def stop(self) -> None: """Handle STOP command on the player.""" + # Clean up any existing multi-client stream + if self.multi_client_stream is not None: + await self.multi_client_stream.stop() + self.multi_client_stream = None async with TaskManager(self.mass) as tg: for client in self._get_sync_clients(): tg.create_task(client.stop()) @@ -224,6 +228,11 @@ class SqueezelitePlayer(Player): msg = "A synced player cannot receive play commands directly" raise InvalidCommand(msg) + # Clean up any existing multi-client stream before starting a new one + if self.multi_client_stream is not None: + await self.multi_client_stream.stop() + self.multi_client_stream = None + if not self.group_members: # Simple, single-player playback await self._handle_play_url_for_slimplayer( -- 2.34.1