From eb110ff7a55fb249dec1b035798774a516cad003 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Sun, 14 Dec 2025 20:22:32 +0100 Subject: [PATCH] Add guard in airplay remove client --- music_assistant/providers/airplay/stream_session.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/music_assistant/providers/airplay/stream_session.py b/music_assistant/providers/airplay/stream_session.py index 856b243f..aa455ee5 100644 --- a/music_assistant/providers/airplay/stream_session.py +++ b/music_assistant/providers/airplay/stream_session.py @@ -134,12 +134,12 @@ class AirPlayStreamSession: async def remove_client(self, airplay_player: AirPlayPlayer) -> None: """Remove a sync client from the session.""" - if airplay_player not in self.sync_clients: - return - assert airplay_player.stream - assert airplay_player.stream.session == self async with self._lock: + if airplay_player not in self.sync_clients: + return self.sync_clients.remove(airplay_player) + if not airplay_player.stream or airplay_player.stream.session != self: + return await airplay_player.stream.stop() if ffmpeg := self._player_ffmpeg.pop(airplay_player.player_id, None): await ffmpeg.close() -- 2.34.1