• 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
Name
Last commit
Last update
..
plugins Loading commit data...
Listener.hxx Loading commit data...
MixerAll.cxx Loading commit data...
MixerControl.cxx Loading commit data...
MixerControl.hxx Loading commit data...
MixerInternal.hxx Loading commit data...
MixerList.hxx Loading commit data...
MixerPlugin.hxx Loading commit data...
MixerType.cxx Loading commit data...
MixerType.hxx Loading commit data...
Volume.cxx Loading commit data...
Volume.hxx Loading commit data...
meson.build Loading commit data...