From d0fbf6db592eb445c9741fc7544b7bee739fcdfa Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 22 Jun 2018 19:37:18 +0200 Subject: 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. --- src/playlist/plugins/EmbeddedCuePlaylistPlugin.cxx | 3 +-- src/playlist/plugins/FlacPlaylistPlugin.cxx | 2 +- src/playlist/plugins/SoundCloudPlaylistPlugin.cxx | 8 ++++---- 3 files changed, 6 insertions(+), 7 deletions(-) (limited to 'src/playlist/plugins') 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 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 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/ */ static std::unique_ptr -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(std::move(data.songs)); -- cgit v1.2.3