Fix: Chromecast should use to_thread for non-async
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Fri, 17 Jan 2025 23:01:41 +0000 (00:01 +0100)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Fri, 17 Jan 2025 23:11:18 +0000 (00:11 +0100)
music_assistant/providers/chromecast/__init__.py
music_assistant/providers/spotify_connect/__init__.py

index 12313a4b5821085b137e0930799cd269fb81f101..fc9758a0a21fcb28ba0f66ef77bd7bd577f8e957 100644 (file)
@@ -291,7 +291,7 @@ class ChromecastProvider(PlayerProvider):
         }
         media_controller = castplayer.cc.media_controller
         queuedata["mediaSessionId"] = media_controller.status.media_session_id
-        self.mass.create_task(media_controller.send_message, data=queuedata, inc_session_id=True)
+        await asyncio.to_thread(media_controller.send_message, data=queuedata, inc_session_id=True)
         self.logger.debug(
             "Enqued next track (%s) to player %s",
             media.title or media.uri,
@@ -712,7 +712,7 @@ class ChromecastProvider(PlayerProvider):
                     }
                 },
             }
-            self.mass.create_task(
+            await asyncio.to_thread(
                 media_controller.send_message, data=queuedata, inc_session_id=True
             )
 
@@ -743,4 +743,4 @@ class ChromecastProvider(PlayerProvider):
                     }
                 ],
             }
-            self.mass.create_task(media_controller.send_message, data=msg, inc_session_id=True)
+            await asyncio.to_thread(media_controller.send_message, data=msg, inc_session_id=True)
index 46dc859bba0b1c75bd3cfda5d3262914e8d94e01..d788af791313acb180357130931493dd14290399 100644 (file)
@@ -213,7 +213,7 @@ class SpotifyConnectProvider(MusicProvider):
             allow_seek=False,
             can_seek=False,
             stream_type=StreamType.CUSTOM,
-            extra_input_args=["-readrate", "1.0", "-readrate_initial_burst", "10"],
+            extra_input_args=["-re"],
         )
         return streamdetails