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 "DecoderAPI.hxx"
|
||||||
#include "input/InputStream.hxx"
|
#include "input/InputStream.hxx"
|
||||||
#include "input/LocalOpen.hxx"
|
#include "input/LocalOpen.hxx"
|
||||||
|
#include "input/Registry.hxx"
|
||||||
#include "DecoderList.hxx"
|
#include "DecoderList.hxx"
|
||||||
#include "system/Error.hxx"
|
#include "system/Error.hxx"
|
||||||
#include "util/MimeType.hxx"
|
#include "util/MimeType.hxx"
|
||||||
@ -432,14 +433,6 @@ try {
|
|||||||
error_uri));
|
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
|
* Try to guess whether tags attached to the given song are
|
||||||
* "volatile", e.g. if they have been received by a live stream, but
|
* "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 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
|
#define MPD_INPUT_REGISTRY_HXX
|
||||||
|
|
||||||
#include "check.h"
|
#include "check.h"
|
||||||
|
#include "util/Compiler.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NULL terminated list of all input plugins which were enabled at
|
* 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) \
|
input_plugins_for_each(plugin) \
|
||||||
if (input_plugins_enabled[input_plugin_iterator - input_plugins])
|
if (input_plugins_enabled[input_plugin_iterator - input_plugins])
|
||||||
|
|
||||||
|
gcc_pure
|
||||||
|
bool
|
||||||
|
HasRemoteTagScanner(const char *uri) noexcept;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user