handle updating stream_metadata if needed
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 27 Nov 2025 21:49:24 +0000 (22:49 +0100)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 27 Nov 2025 21:49:24 +0000 (22:49 +0100)
music_assistant/controllers/player_queues.py

index f7b135c1b296994a22521354959ffc389f081304..1c4e4764061ae9a8e3ca9f6f7f4bfc3a0fa07ac6 100644 (file)
@@ -2046,6 +2046,25 @@ class PlayerQueuesController(CoreController):
             if queue.next_item and queue.next_item.streamdetails:
                 queue.next_item.streamdetails.dsp = dsp
 
+        # handle updating stream_metadata if needed
+        if (
+            queue.current_item
+            and (streamdetails := queue.current_item.streamdetails)
+            and streamdetails.stream_metadata_update_callback
+            and (
+                streamdetails.stream_metadata_last_updated is None
+                or (
+                    time.time() - streamdetails.stream_metadata_last_updated
+                    >= streamdetails.stream_metadata_update_interval
+                )
+            )
+        ):
+            self.mass.create_task(
+                streamdetails.stream_metadata_update_callback(
+                    streamdetails, int(queue.corrected_elapsed_time)
+                )
+            )
+
         # handle sending a playback progress report
         # we do this every 30 seconds or when the state changes
         if (