aboutsummaryrefslogtreecommitdiffstats
path: root/src/mixer
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-03-26 19:50:15 +0100
committerMax Kellermann <max@duempel.org>2009-03-26 19:50:15 +0100
commit8cf206f2eeb8a7612be9e898a54e066d9b110e90 (patch)
treecb4c5e1ec6914868a17a99d8afcb9152c6a33eeb /src/mixer
parent52575d1b9da611a2b766e6f96fb838ff49e17771 (diff)
downloadmpd-8cf206f2eeb8a7612be9e898a54e066d9b110e90.tar.gz
mpd-8cf206f2eeb8a7612be9e898a54e066d9b110e90.tar.xz
mpd-8cf206f2eeb8a7612be9e898a54e066d9b110e90.zip
pulse_mixer: initialize "online" and "index" in open()
The attributes "online" and "index" were not properly reinitialized after a close/open cycle.
Diffstat (limited to 'src/mixer')
-rw-r--r--src/mixer/pulse_mixer.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mixer/pulse_mixer.c b/src/mixer/pulse_mixer.c
index 0a83755f7..b1067ae98 100644
--- a/src/mixer/pulse_mixer.c
+++ b/src/mixer/pulse_mixer.c
@@ -165,7 +165,6 @@ pulse_mixer_init(const struct config_param *param)
pm->mainloop=NULL;
pm->volume=NULL;
pm->output_name=NULL;
- pm->index=0;
pm->online=false;
pm->volume = g_new(struct pa_cvolume,1);
@@ -184,7 +183,6 @@ pulse_mixer_finish(struct mixer *data)
pm->context = NULL;
pm->mainloop = NULL;
pm->volume = NULL;
- pm->online = false;
g_free(pm);
}
@@ -226,6 +224,9 @@ pulse_mixer_open(G_GNUC_UNUSED struct mixer *data)
struct pulse_mixer *pm = (struct pulse_mixer *) data;
g_debug("pulse mixer open");
+ pm->index = 0;
+ pm->online = false;
+
if(!(pm->mainloop = pa_threaded_mainloop_new())) {
g_debug("failed mainloop");
return false;
@@ -267,6 +268,8 @@ pulse_mixer_close(G_GNUC_UNUSED struct mixer *data)
pa_threaded_mainloop_free(pm->mainloop);
pm->mainloop = NULL;
}
+
+ pm->online = false;
}
static int