diff options
author | Max Kellermann <max@duempel.org> | 2009-12-08 08:47:47 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-12-08 08:47:47 +0100 |
commit | 5a354a1ed4addd7bc757af8da797c768580454c2 (patch) | |
tree | 3f6bec247ba66e7d52883c42fd4793355a5992d7 | |
parent | f4b707b4ca6451fcb1a6af6d3f2e58579b3c01a5 (diff) | |
download | mpd-5a354a1ed4addd7bc757af8da797c768580454c2.tar.gz mpd-5a354a1ed4addd7bc757af8da797c768580454c2.tar.xz mpd-5a354a1ed4addd7bc757af8da797c768580454c2.zip |
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.
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/mixer_control.c | 4 |
2 files changed, 5 insertions, 0 deletions
@@ -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); |