From 3a0d6d96c138a303bdc5ee06fd2e11a03e8f1404 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 23 Apr 2019 14:04:33 +0200 Subject: [PATCH] input/smbclient: wrap in MaybeBufferedInputStream This enables the input buffer for remote files and caches file contents in MPD. Closes https://github.com/MusicPlayerDaemon/MPD/issues/376 --- NEWS | 2 ++ src/input/plugins/SmbclientInputPlugin.cxx | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index c0c91d028..86370ba23 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,6 @@ ver 0.21.8 (not yet released) +* input + - smbclient: download to buffer instead of throttling transfer * output - httpd: add missing mutex lock - httpd: fix use-after-free bug diff --git a/src/input/plugins/SmbclientInputPlugin.cxx b/src/input/plugins/SmbclientInputPlugin.cxx index b4b0785f8..d2ad9159e 100644 --- a/src/input/plugins/SmbclientInputPlugin.cxx +++ b/src/input/plugins/SmbclientInputPlugin.cxx @@ -22,6 +22,7 @@ #include "lib/smbclient/Mutex.hxx" #include "../InputStream.hxx" #include "../InputPlugin.hxx" +#include "../MaybeBufferedInputStream.hxx" #include "PluginUnavailable.hxx" #include "system/Error.hxx" #include "util/ASCII.hxx" @@ -112,8 +113,9 @@ input_smbclient_open(const char *uri, throw MakeErrno(e, "smbc_fstat() failed"); } - return std::make_unique(uri, mutex, - ctx, fd, st); + return std::make_unique + (std::make_unique(uri, mutex, + ctx, fd, st)); } size_t