From: Marcel van der Veldt Date: Mon, 15 Dec 2025 22:49:37 +0000 (+0100) Subject: Clean up any existing multi-client stream in squeezelite X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=b4adbe2d6fe0914160e8e6d330cbbcd413c11c8b;p=music-assistant-server.git Clean up any existing multi-client stream in squeezelite --- 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(