add small guard
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 21 Mar 2024 23:54:05 +0000 (00:54 +0100)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 21 Mar 2024 23:54:05 +0000 (00:54 +0100)
music_assistant/server/controllers/streams.py

index 89fefd41f345f7856cf2c67a6b0891e72b135035..e773cf27aeb53d308c5cf1922d4a1334994a827d 100644 (file)
@@ -13,6 +13,7 @@ import logging
 import time
 import urllib.parse
 from collections.abc import AsyncGenerator
+from contextlib import suppress
 from typing import TYPE_CHECKING
 
 import shortuuid
@@ -151,8 +152,9 @@ class QueueStreamJob:
             self._audio_task.cancel()
         if not self._finished:
             # we need to make sure that we close the async generator
-            task = asyncio.create_task(self.pcm_audio_source.__anext__())
-            task.cancel()
+            with suppress(StopAsyncIteration):
+                task = asyncio.create_task(self.pcm_audio_source.__anext__())
+                task.cancel()
         self._finished = True
         for sub_queue in self.subscribed_players.values():
             empty_queue(sub_queue)