mixer: removed mixer_configure(), configure mixer in mixer_new()

Allocate the mixer object when it is configured.

Merged mixer_configure() into mixer_new().  mixer_new() was quite
useless anyway.
This commit is contained in:
Max Kellermann 2009-01-25 17:37:59 +01:00
parent 763dd8c1dd
commit 8695b94232
4 changed files with 7 additions and 20 deletions

View File

@ -38,11 +38,13 @@ void mixer_finish(struct mixer *mixer)
}
struct mixer *
mixer_new(const struct mixer_plugin *plugin)
mixer_new(const struct mixer_plugin *plugin, const struct config_param *param)
{
struct mixer *mixer = g_new(struct mixer, 1);
mixer_init(mixer, plugin);
plugin->configure(mixer->data, param);
return mixer;
}
@ -53,12 +55,6 @@ mixer_free(struct mixer *mixer)
g_free(mixer);
}
void mixer_configure(struct mixer *mixer, const struct config_param *param)
{
assert(mixer != NULL && mixer->plugin != NULL);
mixer->plugin->configure(mixer->data, param);
}
bool mixer_open(struct mixer *mixer)
{
assert(mixer != NULL && mixer->plugin != NULL);

View File

@ -73,12 +73,11 @@ void mixer_init(struct mixer *mixer, const struct mixer_plugin *plugin);
void mixer_finish(struct mixer *mixer);
struct mixer *
mixer_new(const struct mixer_plugin *plugin);
mixer_new(const struct mixer_plugin *plugin, const struct config_param *param);
void
mixer_free(struct mixer *mixer);
void mixer_configure(struct mixer *mixer, const struct config_param *param);
bool mixer_open(struct mixer *mixer);
bool mixer_control(struct mixer *mixer, int cmd, void *arg);
void mixer_close(struct mixer *mixer);

View File

@ -89,9 +89,6 @@ alsa_data_new(void)
ret->pcm = NULL;
ret->writei = snd_pcm_writei;
//use alsa mixer by default
ret->mixer = mixer_new(&alsa_mixer);
return ret;
}
@ -146,10 +143,7 @@ alsa_init(G_GNUC_UNUSED struct audio_output *ao,
}
alsa_configure(ad, param);
if (param) {
mixer_configure(ad->mixer, param);
}
ad->mixer = mixer_new(&alsa_mixer, param);
return ad;
}

View File

@ -278,8 +278,6 @@ static OssData *newOssData(void)
supportParam(ret, SNDCTL_DSP_CHANNELS, 2);
supportParam(ret, SNDCTL_DSP_SAMPLESIZE, 16);
ret->mixer = mixer_new(&oss_mixer);
return ret;
}
@ -357,7 +355,7 @@ static void *oss_open_default(const struct config_param *param)
if (ret[i] == 0) {
OssData *od = newOssData();
od->device = default_devices[i];
mixer_configure(od->mixer, param);
od->mixer = mixer_new(&oss_mixer, param);
return od;
}
}
@ -398,7 +396,7 @@ oss_initDriver(G_GNUC_UNUSED struct audio_output *audioOutput,
if (device != NULL) {
OssData *od = newOssData();
od->device = device;
mixer_configure(od->mixer, param);
od->mixer = mixer_new(&oss_mixer, param);
return od;
}