diff options
author | Max Kellermann <max@duempel.org> | 2009-03-26 19:50:15 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-03-26 19:50:15 +0100 |
commit | 8cf206f2eeb8a7612be9e898a54e066d9b110e90 (patch) | |
tree | cb4c5e1ec6914868a17a99d8afcb9152c6a33eeb | |
parent | 52575d1b9da611a2b766e6f96fb838ff49e17771 (diff) | |
download | mpd-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.
-rw-r--r-- | src/mixer/pulse_mixer.c | 7 |
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 |