Commit 8bb35e7b authored by Max Kellermann's avatar Max Kellermann

decoder/Thread: reimplement HasRemoteTagScanner() using the InputPlugin list

parent 3e78c9ab
......@@ -28,6 +28,7 @@
#include "DecoderAPI.hxx"
#include "input/InputStream.hxx"
#include "input/LocalOpen.hxx"
#include "input/Registry.hxx"
#include "DecoderList.hxx"
#include "system/Error.hxx"
#include "util/MimeType.hxx"
......@@ -432,14 +433,6 @@ 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
......
......@@ -83,3 +83,14 @@ const InputPlugin *const input_plugins[] = {
};
bool input_plugins_enabled[ARRAY_SIZE(input_plugins) - 1];
bool
HasRemoteTagScanner(const char *uri) noexcept
{
input_plugins_for_each_enabled(plugin)
if (plugin->scan_tags != nullptr &&
plugin->SupportsUri(uri))
return true;
return false;
}
......@@ -21,6 +21,7 @@
#define MPD_INPUT_REGISTRY_HXX
#include "check.h"
#include "util/Compiler.h"
/**
* NULL terminated list of all input plugins which were enabled at
......@@ -40,4 +41,8 @@ extern bool input_plugins_enabled[];
input_plugins_for_each(plugin) \
if (input_plugins_enabled[input_plugin_iterator - input_plugins])
gcc_pure
bool
HasRemoteTagScanner(const char *uri) noexcept;
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment