From f9d47502d820a90b5210e404ba383767e8540676 Mon Sep 17 00:00:00 2001 From: gd Date: Wed, 29 Jan 2025 08:43:51 +0200 Subject: [PATCH] player/Thread: update song tag from remote stream only if changed. Some streams send the same tags frequently, causing unnecessary player queue update events. --- src/player/Thread.cxx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/player/Thread.cxx b/src/player/Thread.cxx index 1a9de7235..5980f4748 100644 --- a/src/player/Thread.cxx +++ b/src/player/Thread.cxx @@ -904,13 +904,15 @@ PlayerControl::LockUpdateSongTag(DetachedSong &song, streams may change tags dynamically */ return; - song.SetTag(new_tag); + if (new_tag != song.GetTag()) { + song.SetTag(new_tag); - LockSetTaggedSong(song); + LockSetTaggedSong(song); - /* the main thread will update the playlist version when he - receives this event */ - listener.OnPlayerTagModified(); + /* the main thread will update the playlist version when he + receives this event */ + listener.OnPlayerTagModified(); + } } inline void