From 5a354a1ed4addd7bc757af8da797c768580454c2 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 8 Dec 2009 08:47:47 +0100 Subject: [PATCH] mixer: explicitly close all mixers on shutdown Mixers with the "global" flag set aren't closed automatically when the output device is closed. Thus, they might still be open when MPD shuts down. --- NEWS | 1 + src/mixer_control.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/NEWS b/NEWS index 3ce6b8403..b375eefd7 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,7 @@ ver 0.15.7 (2009/??/??) - id3: fix ID3v1 charset conversion * decoders: - ffmpeg: don't try to force stereo +* mixer: explicitly close all mixers on shutdown * mapper: fix memory leak when playlist_directory is not set * mapper: apply filesystem_charset to playlists * command: verify playlist name in the "rm" command diff --git a/src/mixer_control.c b/src/mixer_control.c index a17885935..e19b82d65 100644 --- a/src/mixer_control.c +++ b/src/mixer_control.c @@ -62,6 +62,10 @@ mixer_free(struct mixer *mixer) assert(mixer->plugin != NULL); assert(mixer->mutex != NULL); + /* mixers with the "global" flag set might still be open at + this point (see mixer_auto_close()) */ + mixer_close(mixer); + g_mutex_free(mixer->mutex); mixer->plugin->finish(mixer);