aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_control.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-04-21 22:17:52 +0200
committerMax Kellermann <max@duempel.org>2009-04-21 22:17:52 +0200
commitc7c809ecba1ce0dd005c9235f189021558f4b984 (patch)
tree20ebc4bd289c21fe07091bbe95b8288ab33c954f /src/output_control.c
parentc9c0415d65dedf13eac09abbbb86dfe17bbc8570 (diff)
downloadmpd-c7c809ecba1ce0dd005c9235f189021558f4b984.tar.gz
mpd-c7c809ecba1ce0dd005c9235f189021558f4b984.tar.xz
mpd-c7c809ecba1ce0dd005c9235f189021558f4b984.zip
output_control: close mixer on pause
For non-global mixers (only "pulse" currently), close the mixer when MPD playback is paused.
Diffstat (limited to 'src/output_control.c')
-rw-r--r--src/output_control.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/output_control.c b/src/output_control.c
index 4131594f0..eac9bdfcb 100644
--- a/src/output_control.c
+++ b/src/output_control.c
@@ -137,6 +137,12 @@ audio_output_play(struct audio_output *ao)
void audio_output_pause(struct audio_output *ao)
{
+ if (ao->mixer != NULL && ao->plugin->pause == NULL)
+ /* the device has no pause mode: close the mixer,
+ unless its "global" flag is set (checked by
+ mixer_auto_close()) */
+ mixer_auto_close(ao->mixer);
+
ao_command_async(ao, AO_COMMAND_PAUSE);
}