summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/archive/plugins/Bzip2ArchivePlugin.cxx11
-rw-r--r--src/archive/plugins/Iso9660ArchivePlugin.cxx11
-rw-r--r--src/archive/plugins/ZzipArchivePlugin.cxx11
-rw-r--r--src/input/InputStream.hxx15
-rw-r--r--src/input/ThreadInputStream.cxx2
-rw-r--r--src/input/ThreadInputStream.hxx7
-rw-r--r--src/input/plugins/AlsaInputPlugin.cxx2
-rw-r--r--src/input/plugins/CdioParanoiaInputPlugin.cxx2
-rw-r--r--src/input/plugins/CurlInputPlugin.cxx2
-rw-r--r--src/input/plugins/DespotifyInputPlugin.cxx2
-rw-r--r--src/input/plugins/FfmpegInputPlugin.cxx2
-rw-r--r--src/input/plugins/FileInputPlugin.cxx2
-rw-r--r--src/input/plugins/MmsInputPlugin.cxx2
-rw-r--r--src/input/plugins/NfsInputPlugin.cxx2
-rw-r--r--src/input/plugins/RewindInputPlugin.cxx9
-rw-r--r--src/input/plugins/SmbclientInputPlugin.cxx2
16 files changed, 21 insertions, 63 deletions
diff --git a/src/archive/plugins/Bzip2ArchivePlugin.cxx b/src/archive/plugins/Bzip2ArchivePlugin.cxx
index d349b537f..14a68fdb5 100644
--- a/src/archive/plugins/Bzip2ArchivePlugin.cxx
+++ b/src/archive/plugins/Bzip2ArchivePlugin.cxx
@@ -108,8 +108,6 @@ struct Bzip2InputStream final : public InputStream {
size_t Read(void *ptr, size_t size, Error &error) override;
};
-extern const InputPlugin bz2_inputplugin;
-
static constexpr Domain bz2_domain("bz2");
/* single archive handling allocation helpers */
@@ -155,7 +153,7 @@ bz2_open(Path pathname, Error &error)
Bzip2InputStream::Bzip2InputStream(Bzip2ArchiveFile &_context,
const char *_uri,
Mutex &_mutex, Cond &_cond)
- :InputStream(bz2_inputplugin, _uri, _mutex, _cond),
+ :InputStream(_uri, _mutex, _cond),
archive(&_context), eof(false)
{
archive->Ref();
@@ -251,13 +249,6 @@ static const char *const bz2_extensions[] = {
nullptr
};
-const InputPlugin bz2_inputplugin = {
- nullptr,
- nullptr,
- nullptr,
- nullptr,
-};
-
const ArchivePlugin bz2_archive_plugin = {
"bz2",
nullptr,
diff --git a/src/archive/plugins/Iso9660ArchivePlugin.cxx b/src/archive/plugins/Iso9660ArchivePlugin.cxx
index e5c3fd062..ba415d3c5 100644
--- a/src/archive/plugins/Iso9660ArchivePlugin.cxx
+++ b/src/archive/plugins/Iso9660ArchivePlugin.cxx
@@ -79,8 +79,6 @@ public:
Error &error) override;
};
-extern const InputPlugin iso9660_input_plugin;
-
static constexpr Domain iso9660_domain("iso9660");
/* archive open && listing routine */
@@ -149,7 +147,7 @@ public:
Iso9660InputStream(Iso9660ArchiveFile &_archive, const char *_uri,
Mutex &_mutex, Cond &_cond,
iso9660_stat_t *_statbuf)
- :InputStream(iso9660_input_plugin, _uri, _mutex, _cond),
+ :InputStream(_uri, _mutex, _cond),
archive(_archive), statbuf(_statbuf) {
size = statbuf->size;
SetReady();
@@ -231,13 +229,6 @@ static const char *const iso9660_archive_extensions[] = {
nullptr
};
-const InputPlugin iso9660_input_plugin = {
- nullptr,
- nullptr,
- nullptr,
- nullptr,
-};
-
const ArchivePlugin iso9660_archive_plugin = {
"iso",
nullptr,
diff --git a/src/archive/plugins/ZzipArchivePlugin.cxx b/src/archive/plugins/ZzipArchivePlugin.cxx
index 53b6b9f93..436ebc793 100644
--- a/src/archive/plugins/ZzipArchivePlugin.cxx
+++ b/src/archive/plugins/ZzipArchivePlugin.cxx
@@ -64,8 +64,6 @@ public:
Error &error) override;
};
-extern const InputPlugin zzip_input_plugin;
-
static constexpr Domain zzip_domain("zzip");
/* archive open && listing routine */
@@ -105,7 +103,7 @@ struct ZzipInputStream final : public InputStream {
ZzipInputStream(ZzipArchiveFile &_archive, const char *_uri,
Mutex &_mutex, Cond &_cond,
ZZIP_FILE *_file)
- :InputStream(zzip_input_plugin, _uri, _mutex, _cond),
+ :InputStream(_uri, _mutex, _cond),
archive(&_archive), file(_file) {
//we are seekable (but its not recommendent to do so)
seekable = true;
@@ -185,13 +183,6 @@ static const char *const zzip_archive_extensions[] = {
nullptr
};
-const InputPlugin zzip_input_plugin = {
- nullptr,
- nullptr,
- nullptr,
- nullptr,
-};
-
const ArchivePlugin zzip_archive_plugin = {
"zzip",
nullptr,
diff --git a/src/input/InputStream.hxx b/src/input/InputStream.hxx
index b1f8c0d8c..13f6af32b 100644
--- a/src/input/InputStream.hxx
+++ b/src/input/InputStream.hxx
@@ -32,7 +32,6 @@
class Cond;
class Error;
struct Tag;
-struct InputPlugin;
class InputStream {
public:
@@ -40,11 +39,6 @@ public:
private:
/**
- * the plugin which implements this input stream
- */
- const InputPlugin &plugin;
-
- /**
* The absolute URI which was used to open this stream.
*/
std::string uri;
@@ -99,9 +93,8 @@ private:
std::string mime;
public:
- InputStream(const InputPlugin &_plugin,
- const char *_uri, Mutex &_mutex, Cond &_cond)
- :plugin(_plugin), uri(_uri),
+ InputStream(const char *_uri, Mutex &_mutex, Cond &_cond)
+ :uri(_uri),
mutex(_mutex), cond(_cond),
ready(false), seekable(false),
size(-1), offset(0) {
@@ -140,10 +133,6 @@ public:
Mutex &mutex, Cond &cond,
Error &error);
- const InputPlugin &GetPlugin() const {
- return plugin;
- }
-
/**
* The absolute URI which was used to open this stream.
*
diff --git a/src/input/ThreadInputStream.cxx b/src/input/ThreadInputStream.cxx
index efbb8c9f9..4311d63ae 100644
--- a/src/input/ThreadInputStream.cxx
+++ b/src/input/ThreadInputStream.cxx
@@ -67,7 +67,7 @@ ThreadInputStream::Start(Error &error)
inline void
ThreadInputStream::ThreadFunc()
{
- FormatThreadName("input:%s", GetPlugin().name);
+ FormatThreadName("input:%s", plugin);
Lock();
if (!Open(postponed_error)) {
diff --git a/src/input/ThreadInputStream.hxx b/src/input/ThreadInputStream.hxx
index 4d4ec3972..c6ac7669c 100644
--- a/src/input/ThreadInputStream.hxx
+++ b/src/input/ThreadInputStream.hxx
@@ -40,6 +40,8 @@ template<typename T> class CircularBuffer;
* This works only for "streams": unknown length, no seeking, no tags.
*/
class ThreadInputStream : public InputStream {
+ const char *const plugin;
+
Thread thread;
/**
@@ -65,10 +67,11 @@ class ThreadInputStream : public InputStream {
bool eof;
public:
- ThreadInputStream(const InputPlugin &_plugin,
+ ThreadInputStream(const char *_plugin,
const char *_uri, Mutex &_mutex, Cond &_cond,
size_t _buffer_size)
- :InputStream(_plugin, _uri, _mutex, _cond),
+ :InputStream(_uri, _mutex, _cond),
+ plugin(_plugin),
buffer_size(_buffer_size),
buffer(nullptr),
close(false), eof(false) {}
diff --git a/src/input/plugins/AlsaInputPlugin.cxx b/src/input/plugins/AlsaInputPlugin.cxx
index b4673afcf..82b96f7df 100644
--- a/src/input/plugins/AlsaInputPlugin.cxx
+++ b/src/input/plugins/AlsaInputPlugin.cxx
@@ -84,7 +84,7 @@ public:
AlsaInputStream(EventLoop &loop,
const char *_uri, Mutex &_mutex, Cond &_cond,
snd_pcm_t *_handle, int _frame_size)
- :InputStream(input_plugin_alsa, _uri, _mutex, _cond),
+ :InputStream(_uri, _mutex, _cond),
MultiSocketMonitor(loop),
DeferredMonitor(loop),
capture_handle(_handle),
diff --git a/src/input/plugins/CdioParanoiaInputPlugin.cxx b/src/input/plugins/CdioParanoiaInputPlugin.cxx
index a5c848f68..9b6f7437e 100644
--- a/src/input/plugins/CdioParanoiaInputPlugin.cxx
+++ b/src/input/plugins/CdioParanoiaInputPlugin.cxx
@@ -65,7 +65,7 @@ struct CdioParanoiaInputStream final : public InputStream {
CdioParanoiaInputStream(const char *_uri, Mutex &_mutex, Cond &_cond,
int _trackno)
- :InputStream(input_plugin_cdio_paranoia, _uri, _mutex, _cond),
+ :InputStream(_uri, _mutex, _cond),
drv(nullptr), cdio(nullptr), para(nullptr),
trackno(_trackno)
{
diff --git a/src/input/plugins/CurlInputPlugin.cxx b/src/input/plugins/CurlInputPlugin.cxx
index bb7ddcfdb..1b00258ea 100644
--- a/src/input/plugins/CurlInputPlugin.cxx
+++ b/src/input/plugins/CurlInputPlugin.cxx
@@ -106,7 +106,7 @@ struct CurlInputStream final : public InputStream {
CurlInputStream(const char *_url, Mutex &_mutex, Cond &_cond,
void *_buffer)
- :InputStream(input_plugin_curl, _url, _mutex, _cond),
+ :InputStream(_url, _mutex, _cond),
request_headers(nullptr),
buffer((uint8_t *)_buffer, CURL_MAX_BUFFERED),
paused(false),
diff --git a/src/input/plugins/DespotifyInputPlugin.cxx b/src/input/plugins/DespotifyInputPlugin.cxx
index faceb6057..29d9186d0 100644
--- a/src/input/plugins/DespotifyInputPlugin.cxx
+++ b/src/input/plugins/DespotifyInputPlugin.cxx
@@ -48,7 +48,7 @@ class DespotifyInputStream final : public InputStream {
Mutex &_mutex, Cond &_cond,
despotify_session *_session,
ds_track *_track)
- :InputStream(input_plugin_despotify, _uri, _mutex, _cond),
+ :InputStream(_uri, _mutex, _cond),
session(_session), track(_track),
tag(mpd_despotify_tag_from_track(*track)),
len_available(0), eof(false) {
diff --git a/src/input/plugins/FfmpegInputPlugin.cxx b/src/input/plugins/FfmpegInputPlugin.cxx
index de79a09ed..9ae07dbef 100644
--- a/src/input/plugins/FfmpegInputPlugin.cxx
+++ b/src/input/plugins/FfmpegInputPlugin.cxx
@@ -40,7 +40,7 @@ struct FfmpegInputStream final : public InputStream {
FfmpegInputStream(const char *_uri, Mutex &_mutex, Cond &_cond,
AVIOContext *_h)
- :InputStream(input_plugin_ffmpeg, _uri, _mutex, _cond),
+ :InputStream(_uri, _mutex, _cond),
h(_h), eof(false) {
seekable = (h->seekable & AVIO_SEEKABLE_NORMAL) != 0;
size = avio_size(h);
diff --git a/src/input/plugins/FileInputPlugin.cxx b/src/input/plugins/FileInputPlugin.cxx
index 7c7b4e85f..1035973b6 100644
--- a/src/input/plugins/FileInputPlugin.cxx
+++ b/src/input/plugins/FileInputPlugin.cxx
@@ -38,7 +38,7 @@ struct FileInputStream final : public InputStream {
FileInputStream(const char *path, int _fd, off_t _size,
Mutex &_mutex, Cond &_cond)
- :InputStream(input_plugin_file, path, _mutex, _cond),
+ :InputStream(path, _mutex, _cond),
fd(_fd) {
size = _size;
seekable = true;
diff --git a/src/input/plugins/MmsInputPlugin.cxx b/src/input/plugins/MmsInputPlugin.cxx
index b1ff6a890..1aed9c662 100644
--- a/src/input/plugins/MmsInputPlugin.cxx
+++ b/src/input/plugins/MmsInputPlugin.cxx
@@ -34,7 +34,7 @@ class MmsInputStream final : public ThreadInputStream {
public:
MmsInputStream(const char *_uri, Mutex &_mutex, Cond &_cond)
- :ThreadInputStream(input_plugin_mms, _uri, _mutex, _cond,
+ :ThreadInputStream(input_plugin_mms.name, _uri, _mutex, _cond,
MMS_BUFFER_SIZE) {
}
diff --git a/src/input/plugins/NfsInputPlugin.cxx b/src/input/plugins/NfsInputPlugin.cxx
index d667e8f2d..b73389662 100644
--- a/src/input/plugins/NfsInputPlugin.cxx
+++ b/src/input/plugins/NfsInputPlugin.cxx
@@ -42,7 +42,7 @@ public:
Mutex &_mutex, Cond &_cond,
nfs_context *_ctx, nfsfh *_fh,
InputStream::offset_type _size)
- :InputStream(input_plugin_nfs, _uri, _mutex, _cond),
+ :InputStream(_uri, _mutex, _cond),
ctx(_ctx), fh(_fh) {
seekable = true;
size = _size;
diff --git a/src/input/plugins/RewindInputPlugin.cxx b/src/input/plugins/RewindInputPlugin.cxx
index b11fd8b80..80f3beea1 100644
--- a/src/input/plugins/RewindInputPlugin.cxx
+++ b/src/input/plugins/RewindInputPlugin.cxx
@@ -26,13 +26,6 @@
#include <string.h>
#include <stdio.h>
-static const InputPlugin rewind_input_plugin = {
- nullptr,
- nullptr,
- nullptr,
- nullptr,
-};
-
class RewindInputStream final : public InputStream {
InputStream *input;
@@ -59,7 +52,7 @@ class RewindInputStream final : public InputStream {
public:
RewindInputStream(InputStream *_input)
- :InputStream(rewind_input_plugin, _input->GetURI(),
+ :InputStream(_input->GetURI(),
_input->mutex, _input->cond),
input(_input), tail(0) {
}
diff --git a/src/input/plugins/SmbclientInputPlugin.cxx b/src/input/plugins/SmbclientInputPlugin.cxx
index 01ee2616a..aa1ba0381 100644
--- a/src/input/plugins/SmbclientInputPlugin.cxx
+++ b/src/input/plugins/SmbclientInputPlugin.cxx
@@ -36,7 +36,7 @@ public:
SmbclientInputStream(const char *_uri,
Mutex &_mutex, Cond &_cond,
SMBCCTX *_ctx, int _fd, const struct stat &st)
- :InputStream(input_plugin_smbclient, _uri, _mutex, _cond),
+ :InputStream(_uri, _mutex, _cond),
ctx(_ctx), fd(_fd) {
seekable = true;
size = st.st_size;