aboutsummaryrefslogtreecommitdiffstats
path: root/src/PlaylistRegistry.cxx
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/PlaylistRegistry.cxx20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/PlaylistRegistry.cxx b/src/PlaylistRegistry.cxx
index 9afbe349d..17cad3db5 100644
--- a/src/PlaylistRegistry.cxx
+++ b/src/PlaylistRegistry.cxx
@@ -40,8 +40,6 @@
#include "system/FatalError.hxx"
#include "Log.hxx"
-#include <glib.h>
-
#include <assert.h>
#include <string.h>
@@ -130,13 +128,12 @@ static SongEnumerator *
playlist_list_open_uri_scheme(const char *uri, Mutex &mutex, Cond &cond,
bool *tried)
{
- char *scheme;
SongEnumerator *playlist = nullptr;
assert(uri != nullptr);
- scheme = g_uri_parse_scheme(uri);
- if (scheme == nullptr)
+ const auto scheme = uri_get_scheme(uri);
+ if (scheme.empty())
return nullptr;
for (unsigned i = 0; playlist_plugins[i] != nullptr; ++i) {
@@ -146,7 +143,7 @@ playlist_list_open_uri_scheme(const char *uri, Mutex &mutex, Cond &cond,
if (playlist_plugins_enabled[i] && plugin->open_uri != nullptr &&
plugin->schemes != nullptr &&
- string_array_contains(plugin->schemes, scheme)) {
+ string_array_contains(plugin->schemes, scheme.c_str())) {
playlist = playlist_plugin_open_uri(plugin, uri,
mutex, cond);
if (playlist != nullptr)
@@ -156,7 +153,6 @@ playlist_list_open_uri_scheme(const char *uri, Mutex &mutex, Cond &cond,
}
}
- g_free(scheme);
return playlist;
}
@@ -273,9 +269,7 @@ playlist_list_open_stream_suffix(InputStream &is, const char *suffix)
SongEnumerator *
playlist_list_open_stream(InputStream &is, const char *uri)
{
- const char *suffix;
-
- is.LockWaitReady();
+ assert(is.ready);
const char *const mime = is.GetMimeType();
if (mime != nullptr) {
@@ -284,7 +278,7 @@ playlist_list_open_stream(InputStream &is, const char *uri)
return playlist;
}
- suffix = uri != nullptr ? uri_get_suffix(uri) : nullptr;
+ const char *suffix = uri != nullptr ? uri_get_suffix(uri) : nullptr;
if (suffix != nullptr) {
auto playlist = playlist_list_open_stream_suffix(is, suffix);
if (playlist != nullptr)
@@ -321,7 +315,7 @@ playlist_list_open_path(const char *path_fs, Mutex &mutex, Cond &cond,
return nullptr;
Error error;
- InputStream *is = InputStream::Open(path_fs, mutex, cond, error);
+ InputStream *is = InputStream::OpenReady(path_fs, mutex, cond, error);
if (is == nullptr) {
if (error.IsDefined())
LogError(error);
@@ -329,8 +323,6 @@ playlist_list_open_path(const char *path_fs, Mutex &mutex, Cond &cond,
return nullptr;
}
- is->LockWaitReady();
-
auto playlist = playlist_list_open_stream_suffix(*is, suffix);
if (playlist != nullptr)
*is_r = is;