decoder/Thread: reimplement HasRemoteTagScanner() using the InputPlugin list
This commit is contained in:
parent
3e78c9ab48
commit
8bb35e7bb6
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue