diff options
Diffstat (limited to 'src/inputPlugin.c')
-rw-r--r-- | src/inputPlugin.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/inputPlugin.c b/src/inputPlugin.c index bd317964f..72286d3f6 100644 --- a/src/inputPlugin.c +++ b/src/inputPlugin.c @@ -11,10 +11,13 @@ void loadInputPlugin(InputPlugin * inputPlugin) { if(!inputPlugin) return; if(!inputPlugin->name) return; + if(inputPlugin->initFunc && inputPlugin->initFunc() < 0) return; + insertInList(inputPlugin_list, inputPlugin->name, (void *)inputPlugin); } void unloadInputPlugin(InputPlugin * inputPlugin) { + if(inputPlugin->finishFunc) inputPlugin->finishFunc(); deleteFromList(inputPlugin_list, inputPlugin->name); } @@ -73,6 +76,7 @@ extern InputPlugin flacPlugin; extern InputPlugin audiofilePlugin; extern InputPlugin mp4Plugin; extern InputPlugin aacPlugin; +extern InputPlugin modPlugin; void initInputPlugins() { inputPlugin_list = makeList(NULL); @@ -83,7 +87,7 @@ void initInputPlugins() { loadInputPlugin(&flacPlugin); loadInputPlugin(&audiofilePlugin); loadInputPlugin(&mp4Plugin); - loadInputPlugin(&aacPlugin); + loadInputPlugin(&modPlugin); } void finishInputPlugins() { |