From dc575106c296435940482cc2655804c71ee2d934 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sun, 25 Jan 2009 17:38:12 +0100 Subject: mixer: merged methods "init" and "configure" Both methods are always called together. There is no point in having them separate. This simplifies the code, because the old configure() method could be called more than once, and had to free old allocations. --- src/mixer/alsa_mixer.c | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) (limited to 'src/mixer/alsa_mixer.c') diff --git a/src/mixer/alsa_mixer.c b/src/mixer/alsa_mixer.c index f3213c4cf..95e5c70ee 100644 --- a/src/mixer/alsa_mixer.c +++ b/src/mixer/alsa_mixer.c @@ -36,16 +36,19 @@ struct alsa_mixer { }; static struct mixer_data * -alsa_mixer_init(void) +alsa_mixer_init(const struct config_param *param) { struct alsa_mixer *am = g_malloc(sizeof(struct alsa_mixer)); - am->device = NULL; - am->control = NULL; + + am->device = config_dup_block_string(param, "mixer_device", NULL); + am->control = config_dup_block_string(param, "mixer_control", NULL); + am->handle = NULL; am->elem = NULL; am->volume_min = 0; am->volume_max = 0; am->volume_set = -1; + return (struct mixer_data *)am; } @@ -59,25 +62,6 @@ alsa_mixer_finish(struct mixer_data *data) g_free(am); } -static void -alsa_mixer_configure(struct mixer_data *data, const struct config_param *param) -{ - struct alsa_mixer *am = (struct alsa_mixer *)data; - const char *value; - - value = config_get_block_string(param, "mixer_device", NULL); - if (value != NULL) { - g_free(am->device); - am->device = g_strdup(value); - } - - value = config_get_block_string(param, "mixer_control", NULL); - if (value != NULL) { - g_free(am->control); - am->control = g_strdup(value); - } -} - static void alsa_mixer_close(struct mixer_data *data) { @@ -235,7 +219,6 @@ alsa_mixer_control(struct mixer_data *data, int cmd, void *arg) const struct mixer_plugin alsa_mixer = { .init = alsa_mixer_init, .finish = alsa_mixer_finish, - .configure = alsa_mixer_configure, .open = alsa_mixer_open, .control = alsa_mixer_control, .close = alsa_mixer_close -- cgit v1.2.3