aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/plugins/WavpackDecoderPlugin.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2014-05-22 11:10:41 +0200
committerMax Kellermann <max@duempel.org>2014-05-22 12:35:20 +0200
commit4eeea640f4641ec7c2b303567adf3e79855eb885 (patch)
treeb56039e1576a437594230027766b7bd0c5cec9e7 /src/decoder/plugins/WavpackDecoderPlugin.cxx
parentcc6f1020d01a6f8f814a6a6a211a00d490459f66 (diff)
downloadmpd-4eeea640f4641ec7c2b303567adf3e79855eb885.tar.gz
mpd-4eeea640f4641ec7c2b303567adf3e79855eb885.tar.xz
mpd-4eeea640f4641ec7c2b303567adf3e79855eb885.zip
DecoderAPI: add function decoder_open_uri()
Move and refactor code from the Wavpack decoder plugin.
Diffstat (limited to 'src/decoder/plugins/WavpackDecoderPlugin.cxx')
-rw-r--r--src/decoder/plugins/WavpackDecoderPlugin.cxx19
1 files changed, 1 insertions, 18 deletions
diff --git a/src/decoder/plugins/WavpackDecoderPlugin.cxx b/src/decoder/plugins/WavpackDecoderPlugin.cxx
index e47bcbb30..e14d93369 100644
--- a/src/decoder/plugins/WavpackDecoderPlugin.cxx
+++ b/src/decoder/plugins/WavpackDecoderPlugin.cxx
@@ -440,7 +440,6 @@ wavpack_input_init(WavpackInput *isp, Decoder &decoder,
static InputStream *
wavpack_open_wvc(Decoder &decoder, const char *uri,
- Mutex &mutex, Cond &cond,
WavpackInput *wpi)
{
/*
@@ -452,28 +451,13 @@ wavpack_open_wvc(Decoder &decoder, const char *uri,
char *wvc_url = g_strconcat(uri, "c", nullptr);
- InputStream *is_wvc = InputStream::Open(wvc_url, mutex, cond,
- IgnoreError());
+ InputStream *is_wvc = decoder_open_uri(decoder, uri, IgnoreError());
g_free(wvc_url);
if (is_wvc == nullptr)
return nullptr;
- /*
- * And we try to buffer in order to get know
- * about a possible 404 error.
- */
- char first_byte;
- size_t nbytes = decoder_read(decoder, *is_wvc,
- &first_byte, sizeof(first_byte));
- if (nbytes == 0) {
- delete is_wvc;
- return nullptr;
- }
-
- /* push it back */
wavpack_input_init(wpi, decoder, *is_wvc);
- wpi->last_byte = first_byte;
return is_wvc;
}
@@ -488,7 +472,6 @@ wavpack_streamdecode(Decoder &decoder, InputStream &is)
WavpackInput isp_wvc;
InputStream *is_wvc = wavpack_open_wvc(decoder, is.GetURI(),
- is.mutex, is.cond,
&isp_wvc);
if (is_wvc != nullptr) {
open_flags |= OPEN_WVC;