From 4551add9b0dc1ff4cda1207a751964baf055779d Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Sat, 20 Jul 2024 01:56:42 +0200 Subject: [PATCH] weird airplay hussle issue --- music_assistant/server/providers/airplay/__init__.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/music_assistant/server/providers/airplay/__init__.py b/music_assistant/server/providers/airplay/__init__.py index 347b79ef1..db0466890 100644 --- a/music_assistant/server/providers/airplay/__init__.py +++ b/music_assistant/server/providers/airplay/__init__.py @@ -305,11 +305,11 @@ async def stop(self): """Stop playback and cleanup.""" if self._stopped: return + if self.audio_source_task and not self.audio_source_task.done(): + self.audio_source_task.cancel() if self._cliraop_proc.proc and not self._cliraop_proc.closed: await self.send_cli_command("ACTION=STOP") self._stopped = True # set after send_cli command! - if self.audio_source_task and not self.audio_source_task.done(): - self.audio_source_task.cancel() if self._cliraop_proc.proc: try: await asyncio.wait_for(self._cliraop_proc.wait(), 5) @@ -642,8 +642,8 @@ async def play_media( # always stop existing stream first async with TaskManager(self.mass) as tg: for airplay_player in self._get_sync_clients(player_id): - if airplay_player.active_stream and airplay_player.active_stream: - tg.create_task(airplay_player.active_stream.stop()) + if active_stream := airplay_player.active_stream: + tg.create_task(active_stream.stop()) # select audio source if media.media_type == MediaType.ANNOUNCEMENT: # special case: stream announcement