aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_control.c
diff options
context:
space:
mode:
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);
}