aboutsummaryrefslogtreecommitdiffstats
path: root/src/output/alsa_plugin.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-03-26 18:23:23 +0100
committerMax Kellermann <max@duempel.org>2009-03-26 18:23:23 +0100
commit66a2c5669e1fcd709a00bd4de8ddfb0d3a0c2a58 (patch)
treec138f37dfc13af01df8606ed7a8f882964a32f27 /src/output/alsa_plugin.c
parent209c8a540c80faffb6b04ac6e7fed64a03c679ac (diff)
downloadmpd-66a2c5669e1fcd709a00bd4de8ddfb0d3a0c2a58.tar.gz
mpd-66a2c5669e1fcd709a00bd4de8ddfb0d3a0c2a58.tar.xz
mpd-66a2c5669e1fcd709a00bd4de8ddfb0d3a0c2a58.zip
output_plugin: replaced output_plugin.get_mixer() with mixer_plugin
The mixer core library is now responsible for creating and managing the mixer object. This removes duplicated code from the output plugins.
Diffstat (limited to 'src/output/alsa_plugin.c')
-rw-r--r--src/output/alsa_plugin.c20
1 files changed, 1 insertions, 19 deletions
diff --git a/src/output/alsa_plugin.c b/src/output/alsa_plugin.c
index 69f4d500f..0295742e2 100644
--- a/src/output/alsa_plugin.c
+++ b/src/output/alsa_plugin.c
@@ -19,7 +19,6 @@
#include "../output_api.h"
#include "mixer_list.h"
-#include "mixer_control.h"
#include <glib.h>
#include <alsa/asoundlib.h>
@@ -70,9 +69,6 @@ struct alsa_data {
/** the size of one audio frame */
size_t frame_size;
-
- /** the mixer object associated with this output */
- struct mixer *mixer;
};
/**
@@ -105,7 +101,6 @@ static void
alsa_data_free(struct alsa_data *ad)
{
g_free(ad->device);
- mixer_free(ad->mixer);
g_free(ad);
}
@@ -151,7 +146,6 @@ alsa_init(G_GNUC_UNUSED const struct audio_format *audio_format,
}
alsa_configure(ad, param);
- ad->mixer = mixer_new(&alsa_mixer, param);
return ad;
}
@@ -164,14 +158,6 @@ alsa_finish(void *data)
alsa_data_free(ad);
}
-static struct mixer *
-alsa_get_mixer(void *data)
-{
- struct alsa_data *ad = data;
-
- return ad->mixer;
-}
-
static bool
alsa_test_default_device(void)
{
@@ -400,8 +386,6 @@ alsa_open(void *data, struct audio_format *audio_format, GError **error)
int err;
bool success;
- mixer_open(ad->mixer);
-
bitformat = get_bitformat(audio_format);
if (bitformat == SND_PCM_FORMAT_UNKNOWN) {
/* sample format is not supported by this plugin -
@@ -484,8 +468,6 @@ alsa_close(void *data)
snd_pcm_drain(ad->pcm);
snd_pcm_close(ad->pcm);
-
- mixer_close(ad->mixer);
}
static size_t
@@ -514,9 +496,9 @@ const struct audio_output_plugin alsaPlugin = {
.test_default_device = alsa_test_default_device,
.init = alsa_init,
.finish = alsa_finish,
- .get_mixer = alsa_get_mixer,
.open = alsa_open,
.play = alsa_play,
.cancel = alsa_cancel,
.close = alsa_close,
+ .mixer_plugin = &alsa_mixer,
};