summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound/pcm/mixer.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/sound/pcm/mixer.c')
-rw-r--r--sys/dev/sound/pcm/mixer.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c
index 2a00a12..b1f28e0 100644
--- a/sys/dev/sound/pcm/mixer.c
+++ b/sys/dev/sound/pcm/mixer.c
@@ -62,6 +62,19 @@ mixer_init(snddev_info *d, snd_mixer *m, void *devinfo)
}
int
+mixer_reinit(snddev_info *d)
+{
+ int i;
+ if (d == NULL) return -1;
+ if (d->mixer.init != NULL && d->mixer.init(&d->mixer) == 0) {
+ for (i = 0; i < SOUND_MIXER_NRDEVICES; i++)
+ mixer_set(d, i, d->mixer.level[i]);
+ mixer_setrecsrc(d, d->mixer.recsrc);
+ return 0;
+ } else return -1;
+}
+
+int
mixer_set(snddev_info *d, unsigned dev, unsigned lev)
{
if (d == NULL || d->mixer.set == NULL) return -1;
OpenPOWER on IntegriCloud