DecoderAPI: add function decoder_open_uri()
Move and refactor code from the Wavpack decoder plugin.
This commit is contained in:
@@ -66,6 +66,12 @@ decoder_seek_error(gcc_unused Decoder &decoder)
|
||||
{
|
||||
}
|
||||
|
||||
InputStream *
|
||||
decoder_open_uri(Decoder &decoder, const char *uri, Error &error)
|
||||
{
|
||||
return InputStream::OpenReady(uri, decoder.mutex, decoder.cond, error);
|
||||
}
|
||||
|
||||
size_t
|
||||
decoder_read(gcc_unused Decoder *decoder,
|
||||
InputStream &is,
|
||||
|
@@ -21,8 +21,13 @@
|
||||
#define FAKE_DECODER_API_HXX
|
||||
|
||||
#include "check.h"
|
||||
#include "thread/Mutex.hxx"
|
||||
#include "thread/Cond.hxx"
|
||||
|
||||
struct Decoder {
|
||||
Mutex mutex;
|
||||
Cond cond;
|
||||
|
||||
bool initialized;
|
||||
|
||||
Decoder()
|
||||
|
@@ -27,7 +27,6 @@
|
||||
#include "fs/Path.hxx"
|
||||
#include "AudioFormat.hxx"
|
||||
#include "util/Error.hxx"
|
||||
#include "thread/Cond.hxx"
|
||||
#include "Log.hxx"
|
||||
#include "stdbin.h"
|
||||
|
||||
@@ -77,11 +76,9 @@ int main(int argc, char **argv)
|
||||
if (plugin->file_decode != nullptr) {
|
||||
plugin->FileDecode(decoder, Path::FromFS(uri));
|
||||
} else if (plugin->stream_decode != nullptr) {
|
||||
Mutex mutex;
|
||||
Cond cond;
|
||||
|
||||
InputStream *is =
|
||||
InputStream::OpenReady(uri, mutex, cond, error);
|
||||
InputStream::OpenReady(uri, decoder.mutex,
|
||||
decoder.cond, error);
|
||||
if (is == NULL) {
|
||||
if (error.IsDefined())
|
||||
LogError(error);
|
||||
|
Reference in New Issue
Block a user