Commit dec5d48f authored by Max Kellermann's avatar Max Kellermann

decoder_plugin: pass struct config_param to init() method

Preparing for per-plugin configuration sections in mpd.conf.
parent 900784bb
...@@ -120,7 +120,8 @@ static URLProtocol mpd_ffmpeg_fileops = { ...@@ -120,7 +120,8 @@ static URLProtocol mpd_ffmpeg_fileops = {
.url_close = mpd_ffmpeg_close, .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(); av_register_all();
register_protocol(&mpd_ffmpeg_fileops); register_protocol(&mpd_ffmpeg_fileops);
......
...@@ -383,7 +383,7 @@ flac_decode(struct decoder * decoder, struct input_stream *input_stream) ...@@ -383,7 +383,7 @@ flac_decode(struct decoder * decoder, struct input_stream *input_stream)
#ifndef HAVE_OGGFLAC #ifndef HAVE_OGGFLAC
static bool 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 #if defined(FLAC_API_VERSION_CURRENT) && FLAC_API_VERSION_CURRENT > 7
return !!FLAC_API_SUPPORTS_OGG_FLAC; return !!FLAC_API_SUPPORTS_OGG_FLAC;
......
...@@ -64,7 +64,7 @@ fluidsynth_mpd_log_function(int level, char *message, G_GNUC_UNUSED void *data) ...@@ -64,7 +64,7 @@ fluidsynth_mpd_log_function(int level, char *message, G_GNUC_UNUSED void *data)
} }
static bool static bool
fluidsynth_init(void) fluidsynth_init(G_GNUC_UNUSED const struct config_param *param)
{ {
fluid_set_log_function(LAST_LOG_LEVEL, fluid_set_log_function(LAST_LOG_LEVEL,
fluidsynth_mpd_log_function, NULL); fluidsynth_mpd_log_function, NULL);
......
...@@ -90,7 +90,8 @@ static MDRIVER drv_mpd = { ...@@ -90,7 +90,8 @@ static MDRIVER drv_mpd = {
VC_VoiceRealVolume VC_VoiceRealVolume
}; };
static bool mod_initMikMod(void) static bool
mod_initMikMod(G_GNUC_UNUSED const struct config_param *param)
{ {
static char params[] = ""; static char params[] = "";
......
...@@ -91,7 +91,8 @@ mad_fixed_to_24_buffer(int32_t *dest, const struct mad_synth *synth, ...@@ -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, gapless_playback = config_get_bool(CONF_GAPLESS_MP3_PLAYBACK,
DEFAULT_GAPLESS_MP3_PLAYBACK); DEFAULT_GAPLESS_MP3_PLAYBACK);
......
...@@ -30,7 +30,7 @@ enum { ...@@ -30,7 +30,7 @@ enum {
}; };
static bool static bool
wildmidi_init(void) wildmidi_init(G_GNUC_UNUSED const struct config_param *param)
{ {
int ret; int ret;
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include "replay_gain.h" #include "replay_gain.h"
#include "tag.h" #include "tag.h"
#include "audio_format.h" #include "audio_format.h"
#include "conf.h"
#include <stdbool.h> #include <stdbool.h>
......
...@@ -190,7 +190,7 @@ void decoder_plugin_init_all(void) ...@@ -190,7 +190,7 @@ void decoder_plugin_init_all(void)
for (unsigned i = 0; i < num_decoder_plugins; ++i) { for (unsigned i = 0; i < num_decoder_plugins; ++i) {
const struct decoder_plugin *plugin = 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; decoder_plugins_enabled[i] = true;
} }
} }
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <stdbool.h> #include <stdbool.h>
#include <stddef.h> #include <stddef.h>
struct config_param;
struct input_stream; struct input_stream;
struct tag; struct tag;
...@@ -39,7 +40,7 @@ struct decoder_plugin { ...@@ -39,7 +40,7 @@ struct decoder_plugin {
* have/need one this must return < 0 if there is an error and * have/need one this must return < 0 if there is an error and
* >= 0 otherwise * >= 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 * optional, set this to NULL if the InputPlugin doesn't have/need one
...@@ -81,14 +82,17 @@ struct decoder_plugin { ...@@ -81,14 +82,17 @@ struct decoder_plugin {
/** /**
* Initialize a 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 * @return true if the plugin was initialized successfully, false if
* the plugin is not available * the plugin is not available
*/ */
static inline bool 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 return plugin->init != NULL
? plugin->init() ? plugin->init(param)
: true; : true;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment