aboutsummaryrefslogtreecommitdiffstats
path: root/src/output/oss_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/oss_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/oss_plugin.c')
-rw-r--r--src/output/oss_plugin.c21
1 files changed, 1 insertions, 20 deletions
diff --git a/src/output/oss_plugin.c b/src/output/oss_plugin.c
index 87ab68a08..a66bc0598 100644
--- a/src/output/oss_plugin.c
+++ b/src/output/oss_plugin.c
@@ -19,7 +19,6 @@
#include "../output_api.h"
#include "mixer_list.h"
-#include "mixer_control.h"
#include <glib.h>
@@ -54,9 +53,6 @@ struct oss_data {
unsigned num_supported[3];
int *unsupported[3];
unsigned num_unsupported[3];
-
- /** the mixer object associated with this output */
- struct mixer *mixer;
};
enum oss_support {
@@ -302,8 +298,6 @@ oss_data_free(struct oss_data *od)
g_free(od->unsupported[OSS_CHANNELS]);
g_free(od->unsupported[OSS_BITS]);
- mixer_free(od->mixer);
-
g_free(od);
}
@@ -372,7 +366,6 @@ oss_open_default(GError **error)
if (ret[i] == OSS_STAT_NO_ERROR) {
struct oss_data *od = oss_data_new();
od->device = default_devices[i];
- od->mixer = mixer_new(&oss_mixer, NULL);
return od;
}
}
@@ -412,7 +405,6 @@ oss_output_init(G_GNUC_UNUSED const struct audio_format *audio_format,
if (device != NULL) {
struct oss_data *od = oss_data_new();
od->device = device;
- od->mixer = mixer_new(&oss_mixer, param);
return od;
}
@@ -427,14 +419,6 @@ oss_output_finish(void *data)
oss_data_free(od);
}
-static struct mixer *
-oss_get_mixer(void *data)
-{
- struct oss_data *od = data;
-
- return od->mixer;
-}
-
static int
oss_set_param(struct oss_data *od, unsigned param, int *value)
{
@@ -562,8 +546,6 @@ oss_output_open(void *data, struct audio_format *audio_format, GError **error)
*audio_format = od->audio_format;
- mixer_open(od->mixer);
-
return ret;
}
@@ -573,7 +555,6 @@ oss_output_close(void *data)
struct oss_data *od = data;
oss_close(od);
- mixer_close(od->mixer);
}
static void
@@ -616,9 +597,9 @@ const struct audio_output_plugin oss_output_plugin = {
.test_default_device = oss_output_test_default_device,
.init = oss_output_init,
.finish = oss_output_finish,
- .get_mixer = oss_get_mixer,
.open = oss_output_open,
.close = oss_output_close,
.play = oss_output_play,
.cancel = oss_output_cancel,
+ .mixer_plugin = &oss_mixer,
};