diff options
author | Max Kellermann <max@musicpd.org> | 2018-06-22 19:37:18 +0200 |
---|---|---|
committer | Max Kellermann <max@musicpd.org> | 2018-06-22 19:37:18 +0200 |
commit | d0fbf6db592eb445c9741fc7544b7bee739fcdfa (patch) | |
tree | d8cd22fa2f23dc150ef8b07f46d9561c276ee316 /src/playlist/plugins | |
parent | 01d8eb629072e4d5d02345868f4233177c99d70a (diff) |
input/Stream: remove attribute "cond", replace with handler interface
This adds a bit of overhead, but also adds flexibility to the API,
because arbitrary triggers may be invoked from that virtual method
implementation, not just Cond::signal().
The motivation for this is to make the handlers more dynamic, for the
upcoming buffering class utilizing ProxyInputStream.
Diffstat (limited to 'src/playlist/plugins')
-rw-r--r-- | src/playlist/plugins/EmbeddedCuePlaylistPlugin.cxx | 3 | ||||
-rw-r--r-- | src/playlist/plugins/FlacPlaylistPlugin.cxx | 2 | ||||
-rw-r--r-- | src/playlist/plugins/SoundCloudPlaylistPlugin.cxx | 8 |
3 files changed, 6 insertions, 7 deletions
diff --git a/src/playlist/plugins/EmbeddedCuePlaylistPlugin.cxx b/src/playlist/plugins/EmbeddedCuePlaylistPlugin.cxx index ef99428bd..afbf6a55c 100644 --- a/src/playlist/plugins/EmbeddedCuePlaylistPlugin.cxx +++ b/src/playlist/plugins/EmbeddedCuePlaylistPlugin.cxx @@ -89,8 +89,7 @@ static constexpr TagHandler embcue_tag_handler = { static std::unique_ptr<SongEnumerator> embcue_playlist_open_uri(const char *uri, - gcc_unused Mutex &mutex, - gcc_unused Cond &cond) + gcc_unused Mutex &mutex) { if (!PathTraitsUTF8::IsAbsolute(uri)) /* only local files supported */ diff --git a/src/playlist/plugins/FlacPlaylistPlugin.cxx b/src/playlist/plugins/FlacPlaylistPlugin.cxx index 58e5c9641..330c3b332 100644 --- a/src/playlist/plugins/FlacPlaylistPlugin.cxx +++ b/src/playlist/plugins/FlacPlaylistPlugin.cxx @@ -88,7 +88,7 @@ FlacPlaylist::NextSong() static std::unique_ptr<SongEnumerator> flac_playlist_open_uri(const char *uri, - gcc_unused Mutex &mutex, gcc_unused Cond &cond) + gcc_unused Mutex &mutex) { if (!PathTraitsUTF8::IsAbsolute(uri)) /* only local files supported */ diff --git a/src/playlist/plugins/SoundCloudPlaylistPlugin.cxx b/src/playlist/plugins/SoundCloudPlaylistPlugin.cxx index fdaffb6c9..3a5df3946 100644 --- a/src/playlist/plugins/SoundCloudPlaylistPlugin.cxx +++ b/src/playlist/plugins/SoundCloudPlaylistPlugin.cxx @@ -221,9 +221,9 @@ static constexpr yajl_callbacks parse_callbacks = { */ static void soundcloud_parse_json(const char *url, Yajl::Handle &handle, - Mutex &mutex, Cond &cond) + Mutex &mutex) { - auto input_stream = InputStream::OpenReady(url, mutex, cond); + auto input_stream = InputStream::OpenReady(url, mutex); Yajl::ParseInputStream(handle, *input_stream); } @@ -235,7 +235,7 @@ soundcloud_parse_json(const char *url, Yajl::Handle &handle, * soundcloud://url/<url or path of soundcloud page> */ static std::unique_ptr<SongEnumerator> -soundcloud_open_uri(const char *uri, Mutex &mutex, Cond &cond) +soundcloud_open_uri(const char *uri, Mutex &mutex) { assert(strncmp(uri, "soundcloud://", 13) == 0); uri += 13; @@ -277,7 +277,7 @@ soundcloud_open_uri(const char *uri, Mutex &mutex, Cond &cond) SoundCloudJsonData data; Yajl::Handle handle(&parse_callbacks, nullptr, &data); - soundcloud_parse_json(u, handle, mutex, cond); + soundcloud_parse_json(u, handle, mutex); data.songs.reverse(); return std::make_unique<MemorySongEnumerator>(std::move(data.songs)); |