mpd/src/mixer
Arsen Arsenović 35dbc1a90c mixer,output: prevent setting volume before outputs are really enabled
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] ~$
2022-04-26 17:45:29 +02:00
..
plugins add various nodiscard 2021-11-11 17:17:26 -08:00
Listener.hxx copyright year 2021 2021-01-01 19:54:28 +01:00
meson.build Log: add libfmt support 2021-06-24 21:14:42 +02:00
MixerAll.cxx mixer,output: prevent setting volume before outputs are really enabled 2022-04-26 17:45:29 +02:00
MixerControl.cxx treewide: replace lock_guard with scoped_lock 2021-11-11 17:13:03 -08:00
MixerControl.hxx copyright year 2021 2021-01-01 19:54:28 +01:00
MixerInternal.hxx clang-tidy: default virtual destructors 2021-05-30 22:46:46 -07:00
MixerList.hxx copyright year 2021 2021-01-01 19:54:28 +01:00
MixerPlugin.hxx copyright year 2021 2021-01-01 19:54:28 +01:00
MixerType.cxx copyright year 2021 2021-01-01 19:54:28 +01:00
MixerType.hxx copyright year 2021 2021-01-01 19:54:28 +01:00
Volume.cxx fs/io: move to io/ 2021-12-03 14:35:41 +01:00
Volume.hxx more [[gnu::...]] attributes 2021-10-13 12:07:05 +02:00