diff options
Diffstat (limited to 'src/output_command.c')
-rw-r--r-- | src/output_command.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/output_command.c b/src/output_command.c index 9d948c8cc..b47890043 100644 --- a/src/output_command.c +++ b/src/output_command.c @@ -29,6 +29,7 @@ #include "output_internal.h" #include "output_plugin.h" #include "mixer_control.h" +#include "player_control.h" #include "idle.h" extern unsigned audio_output_state_version; @@ -42,10 +43,14 @@ audio_output_enable_index(unsigned idx) return false; ao = audio_output_get(idx); + if (ao->enabled) + return true; ao->enabled = true; idle_add(IDLE_OUTPUT); + pc_update_audio(); + ++audio_output_state_version; return true; @@ -61,6 +66,8 @@ audio_output_disable_index(unsigned idx) return false; ao = audio_output_get(idx); + if (!ao->enabled) + return true; ao->enabled = false; idle_add(IDLE_OUTPUT); @@ -71,6 +78,8 @@ audio_output_disable_index(unsigned idx) idle_add(IDLE_MIXER); } + pc_update_audio(); + ++audio_output_state_version; return true; |