decoder_plugin: pass struct config_param to init() method

Preparing for per-plugin configuration sections in mpd.conf.
This commit is contained in:
Max Kellermann 2009-02-15 18:34:14 +01:00
parent 900784bb4e
commit dec5d48f80
9 changed files with 18 additions and 10 deletions

View File

@ -120,7 +120,8 @@ static URLProtocol mpd_ffmpeg_fileops = {
.url_close = mpd_ffmpeg_close,
};
static bool ffmpeg_init(void)
static bool
ffmpeg_init(G_GNUC_UNUSED const struct config_param *param)
{
av_register_all();
register_protocol(&mpd_ffmpeg_fileops);

View File

@ -383,7 +383,7 @@ flac_decode(struct decoder * decoder, struct input_stream *input_stream)
#ifndef HAVE_OGGFLAC
static bool
oggflac_init(void)
oggflac_init(G_GNUC_UNUSED const struct config_param *param)
{
#if defined(FLAC_API_VERSION_CURRENT) && FLAC_API_VERSION_CURRENT > 7
return !!FLAC_API_SUPPORTS_OGG_FLAC;

View File

@ -64,7 +64,7 @@ fluidsynth_mpd_log_function(int level, char *message, G_GNUC_UNUSED void *data)
}
static bool
fluidsynth_init(void)
fluidsynth_init(G_GNUC_UNUSED const struct config_param *param)
{
fluid_set_log_function(LAST_LOG_LEVEL,
fluidsynth_mpd_log_function, NULL);

View File

@ -90,7 +90,8 @@ static MDRIVER drv_mpd = {
VC_VoiceRealVolume
};
static bool mod_initMikMod(void)
static bool
mod_initMikMod(G_GNUC_UNUSED const struct config_param *param)
{
static char params[] = "";

View File

@ -91,7 +91,8 @@ mad_fixed_to_24_buffer(int32_t *dest, const struct mad_synth *synth,
}
}
static bool mp3_plugin_init(void)
static bool
mp3_plugin_init(G_GNUC_UNUSED const struct config_param *param)
{
gapless_playback = config_get_bool(CONF_GAPLESS_MP3_PLAYBACK,
DEFAULT_GAPLESS_MP3_PLAYBACK);

View File

@ -30,7 +30,7 @@ enum {
};
static bool
wildmidi_init(void)
wildmidi_init(G_GNUC_UNUSED const struct config_param *param)
{
int ret;

View File

@ -32,6 +32,7 @@
#include "replay_gain.h"
#include "tag.h"
#include "audio_format.h"
#include "conf.h"
#include <stdbool.h>

View File

@ -190,7 +190,7 @@ void decoder_plugin_init_all(void)
for (unsigned i = 0; i < num_decoder_plugins; ++i) {
const struct decoder_plugin *plugin = decoder_plugins[i];
if (decoder_plugin_init(plugin))
if (decoder_plugin_init(plugin, NULL))
decoder_plugins_enabled[i] = true;
}
}

View File

@ -22,6 +22,7 @@
#include <stdbool.h>
#include <stddef.h>
struct config_param;
struct input_stream;
struct tag;
@ -39,7 +40,7 @@ struct decoder_plugin {
* have/need one this must return < 0 if there is an error and
* >= 0 otherwise
*/
bool (*init)(void);
bool (*init)(const struct config_param *param);
/**
* optional, set this to NULL if the InputPlugin doesn't have/need one
@ -81,14 +82,17 @@ struct decoder_plugin {
/**
* Initialize a decoder plugin.
*
* @param param a configuration block for this plugin, or NULL if none
* is configured
* @return true if the plugin was initialized successfully, false if
* the plugin is not available
*/
static inline bool
decoder_plugin_init(const struct decoder_plugin *plugin)
decoder_plugin_init(const struct decoder_plugin *plugin,
const struct config_param *param)
{
return plugin->init != NULL
? plugin->init()
? plugin->init(param)
: true;
}