Commit 20346b0d authored by Max Kellermann's avatar Max Kellermann

DecoderThread: use OpenLocalInputStream() for local files

parent e0e65cbd
......@@ -30,6 +30,7 @@
#include "fs/AllocatedPath.hxx"
#include "DecoderAPI.hxx"
#include "input/InputStream.hxx"
#include "input/LocalOpen.hxx"
#include "DecoderList.hxx"
#include "util/UriUtil.hxx"
#include "util/Error.hxx"
......@@ -107,6 +108,24 @@ decoder_input_stream_open(DecoderControl &dc, const char *uri)
return is;
}
static InputStream *
decoder_input_stream_open(DecoderControl &dc, Path path)
{
Error error;
InputStream *is = OpenLocalInputStream(path, dc.mutex, dc.cond, error);
if (is == nullptr) {
if (error.IsDefined())
LogError(error);
return nullptr;
}
assert(is->IsReady());
return is;
}
static bool
decoder_stream_decode(const DecoderPlugin &plugin,
Decoder &decoder,
......@@ -308,7 +327,7 @@ TryDecoderFile(Decoder &decoder, Path path_fs, const char *suffix,
dc.Unlock();
} else if (plugin.stream_decode != nullptr) {
InputStream *input_stream =
decoder_input_stream_open(dc, path_fs.c_str());
decoder_input_stream_open(dc, path_fs);
if (input_stream == nullptr)
return false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment