Fix loudness assignment race condition
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Mon, 10 Mar 2025 22:21:01 +0000 (23:21 +0100)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Mon, 10 Mar 2025 22:21:01 +0000 (23:21 +0100)
music_assistant/helpers/audio.py

index 1dde1d2b4f8ae8123f237750dea397e5698e53ac..a2542012b778752d4fdb4870a122c294d6fbc838 100644 (file)
@@ -506,10 +506,8 @@ async def get_stream_details(
         streamdetails.provider,
         media_type=queue_item.media_type,
     ):
-        streamdetails.loudness = float(result[0]) if isinstance(result[0], int | float) else None
-        streamdetails.loudness_album = (
-            float(result[1]) if isinstance(result[1], int | float) else None
-        )
+        streamdetails.loudness = result[0]
+        streamdetails.loudness_album = result[1]
     streamdetails.prefer_album_loudness = prefer_album_loudness
     player_settings = await mass.config.get_player_config(streamdetails.queue_id)
     core_config = await mass.config.get_core_config("streams")
@@ -1335,7 +1333,8 @@ async def analyze_loudness(
         media_type=streamdetails.media_type,
     ):
         # only when needed we do the analyze job
-        streamdetails.loudness = result
+        streamdetails.loudness = result[0]
+        streamdetails.loudness_album = result[1]
         return
 
     logger = LOGGER.getChild("analyze_loudness")