• Arsen Arsenović's avatar
    mixer,output: prevent setting volume before outputs are really enabled · 35dbc1a9
    Arsen Arsenović authored
    Previous versions of MPD would call SetVolume on enabled outputs before
    they are ready, causing all of MPD to crash. Checking the really_enabled
    flag prevents this, though it also prevents setting volume before the
    player starts.
    
    Before (with the PipeWire output):
      [i] ~$ mpc clear
      volume: 81%   repeat: off   random: off   single: off   consume: off
      [i] ~$ systemctl --user restart mpd.service
      [i] ~$ mpc volume 100
      MPD error: Connection closed by the server
      [i] ~ 1 $
    
    After:
      [i] ~$ # mpd is freshly started w/o anything in the queue
      [i] ~$ mpc
      volume:100%   repeat: off   random: off   single: off   consume: off
      [i] ~$ mpc volume 80
      MPD error: problems setting volume
      [i] ~ 1 $ mpc
      volume:100%   repeat: off   random: off   single: off   consume: off
      [i] ~$
    35dbc1a9