fix title in icy metadata
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Sat, 1 Apr 2023 06:54:43 +0000 (08:54 +0200)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Sat, 1 Apr 2023 06:54:43 +0000 (08:54 +0200)
music_assistant/server/controllers/streams.py

index 9b0bb526866c723588276f9c32a6470ebaaa5c4c..bd6ca599bf875cd7155101adbba30cf688cf8b01 100644 (file)
@@ -298,6 +298,7 @@ class StreamsController:
         )
         player_id = request.match_info["player_id"]
         player = self.mass.players.get(player_id)
+        queue = self.mass.players.queues.get_active_queue(player_id)
         if not player:
             raise web.HTTPNotFound(reason=f"Unknown player_id: {player_id}")
         stream_id = request.match_info["stream_id"]
@@ -434,11 +435,15 @@ class StreamsController:
                     continue
 
                 # if icy metadata is enabled, send the icy metadata after the chunk
-                item_in_buf = stream_job.queue_item
-                if item_in_buf and item_in_buf.streamdetails.stream_title:
-                    title = item_in_buf.streamdetails.stream_title
-                elif item_in_buf and item_in_buf.name:
-                    title = item_in_buf.name
+                if (
+                    queue
+                    and queue.current_item
+                    and queue.current_item.streamdetails
+                    and queue.current_item.streamdetails.stream_title
+                ):
+                    title = queue.current_item.streamdetails.stream_title
+                elif queue.current_item and queue.current_item.name:
+                    title = queue.current_item.name
                 else:
                     title = "Music Assistant"
                 metadata = f"StreamTitle='{title}';".encode()