prevent redundant player_queue updated events
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 28 Jul 2022 14:18:58 +0000 (16:18 +0200)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 28 Jul 2022 14:18:58 +0000 (16:18 +0200)
music_assistant/models/player_queue.py

index 47d0f7d97520182ae27209c5b7ea84127ccd9b4b..802eb93f5929f07a01cec83ddb06cd43db75915d 100644 (file)
@@ -652,10 +652,10 @@ class PlayerQueue:
                     self._current_index += 1
 
         # always signal update if the PlayerState changed
-        if new_state != prev_state:
+        if new_state[0] != prev_state[0]:
             self.signal_update()
 
-        # update queue details if we're the active queue for the attached player
+        # update queue details only if we're the active queue for the attached player
         if self.player.active_queue != self or not self.active:
             return
 
@@ -807,7 +807,9 @@ class PlayerQueue:
                     track_time = elapsed_time_queue - total_time
                     break
                 duration = (
-                    queue_track.streamdetails.seconds_streamed or queue_track.duration
+                    queue_track.streamdetails.seconds_streamed
+                    or queue_track.duration
+                    or 48 * 3600
                 )
                 if duration is not None and elapsed_time_queue > (
                     duration + total_time