diff options
author | Max Kellermann <max@duempel.org> | 2008-08-26 08:27:08 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2008-08-26 08:27:08 +0200 |
commit | 41c5fbbb0790e09e09d487630382e73245524b7a (patch) | |
tree | d57399502e5db91afc4def612aed83572394612a /src/inputPlugin.c | |
parent | f5711e28daed603c26cf78713837d9c4e1eacdfd (diff) | |
download | mpd-41c5fbbb0790e09e09d487630382e73245524b7a.tar.gz mpd-41c5fbbb0790e09e09d487630382e73245524b7a.tar.xz mpd-41c5fbbb0790e09e09d487630382e73245524b7a.zip |
renamed inputPlugin.* to decoder_list.*
Since inputPlugin.c manages the list of registered decoders, we should
rename the source file.
Diffstat (limited to 'src/inputPlugin.c')
-rw-r--r-- | src/inputPlugin.c | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/src/inputPlugin.c b/src/inputPlugin.c deleted file mode 100644 index 4df445a29..000000000 --- a/src/inputPlugin.c +++ /dev/null @@ -1,166 +0,0 @@ -/* the Music Player Daemon (MPD) - * Copyright (C) 2003-2007 by Warren Dukes (warren.dukes@gmail.com) - * This project's homepage is: http://www.musicpd.org - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "inputPlugin.h" -#include "decoder_api.h" - -extern struct decoder_plugin mp3Plugin; -extern struct decoder_plugin oggvorbisPlugin; -extern struct decoder_plugin flacPlugin; -extern struct decoder_plugin oggflacPlugin; -extern struct decoder_plugin audiofilePlugin; -extern struct decoder_plugin mp4Plugin; -extern struct decoder_plugin aacPlugin; -extern struct decoder_plugin mpcPlugin; -extern struct decoder_plugin wavpackPlugin; -extern struct decoder_plugin modPlugin; - -static List *inputPlugin_list; - -void loadInputPlugin(struct decoder_plugin * inputPlugin) -{ - if (!inputPlugin) - return; - if (!inputPlugin->name) - return; - - if (inputPlugin->initFunc && inputPlugin->initFunc() < 0) - return; - - insertInList(inputPlugin_list, inputPlugin->name, (void *)inputPlugin); -} - -void unloadInputPlugin(struct decoder_plugin * inputPlugin) -{ - if (inputPlugin->finishFunc) - inputPlugin->finishFunc(); - deleteFromList(inputPlugin_list, inputPlugin->name); -} - -static int stringFoundInStringArray(const char *const*array, const char *suffix) -{ - while (array && *array) { - if (strcasecmp(*array, suffix) == 0) - return 1; - array++; - } - - return 0; -} - -struct decoder_plugin *getInputPluginFromSuffix(const char *suffix, unsigned int next) -{ - static ListNode *pos; - ListNode *node; - struct decoder_plugin *plugin; - - if (suffix == NULL) - return NULL; - - if (next) { - if (pos) - node = pos; - else - return NULL; - } else - node = inputPlugin_list->firstNode; - - while (node != NULL) { - plugin = node->data; - if (stringFoundInStringArray(plugin->suffixes, suffix)) { - pos = node->nextNode; - return plugin; - } - node = node->nextNode; - } - - return NULL; -} - -struct decoder_plugin *getInputPluginFromMimeType(const char *mimeType, unsigned int next) -{ - static ListNode *pos; - ListNode *node; - struct decoder_plugin *plugin; - - if (mimeType == NULL) - return NULL; - - node = (next && pos) ? pos : inputPlugin_list->firstNode; - - while (node != NULL) { - plugin = node->data; - if (stringFoundInStringArray(plugin->mimeTypes, mimeType)) { - pos = node->nextNode; - return plugin; - } - node = node->nextNode; - } - - return NULL; -} - -struct decoder_plugin *getInputPluginFromName(const char *name) -{ - void *plugin = NULL; - - findInList(inputPlugin_list, name, &plugin); - - return (struct decoder_plugin *) plugin; -} - -void printAllInputPluginSuffixes(FILE * fp) -{ - ListNode *node = inputPlugin_list->firstNode; - struct decoder_plugin *plugin; - const char *const*suffixes; - - while (node) { - plugin = (struct decoder_plugin *) node->data; - suffixes = plugin->suffixes; - while (suffixes && *suffixes) { - fprintf(fp, "%s ", *suffixes); - suffixes++; - } - node = node->nextNode; - } - fprintf(fp, "\n"); - fflush(fp); -} - -void initInputPlugins(void) -{ - inputPlugin_list = makeList(NULL, 1); - - /* load plugins here */ - loadInputPlugin(&mp3Plugin); - loadInputPlugin(&oggvorbisPlugin); - loadInputPlugin(&oggflacPlugin); - loadInputPlugin(&flacPlugin); - loadInputPlugin(&audiofilePlugin); - loadInputPlugin(&mp4Plugin); - loadInputPlugin(&aacPlugin); - loadInputPlugin(&mpcPlugin); - loadInputPlugin(&wavpackPlugin); - loadInputPlugin(&modPlugin); -} - -void finishInputPlugins(void) -{ - freeList(inputPlugin_list); -} |