From 9ec86acb9c92767fba9322000925b094aa4ea285 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 24 Oct 2018 16:38:26 +0200 Subject: [PATCH] decoder/Thread: enable output tags for Tidal and Qobuz Fixes formatted paths in the `recorder` output, closing #345. --- src/decoder/Thread.cxx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/decoder/Thread.cxx b/src/decoder/Thread.cxx index f9dad2627..7a54af3e8 100644 --- a/src/decoder/Thread.cxx +++ b/src/decoder/Thread.cxx @@ -35,6 +35,7 @@ #include "util/RuntimeError.hxx" #include "util/Domain.hxx" #include "util/ScopeExit.hxx" +#include "util/StringCompare.hxx" #include "thread/Name.hxx" #include "tag/ApeReplayGain.hxx" #include "Log.hxx" @@ -431,6 +432,14 @@ try { error_uri)); } +gcc_pure +static bool +HasRemoteTagScanner(const char *uri) noexcept +{ + return StringStartsWith(uri, "tidal://") || + StringStartsWith(uri, "qobuz://"); +} + /** * Try to guess whether tags attached to the given song are * "volatile", e.g. if they have been received by a live stream, but @@ -441,7 +450,7 @@ gcc_pure static bool SongHasVolatileTags(const DetachedSong &song) noexcept { - return !song.IsFile(); + return !song.IsFile() && !HasRemoteTagScanner(song.GetRealURI()); } /**