[pulseaudio-discuss] Networking and volume control

Matt Garman matthew.garman at gmail.com
Fri Oct 30 22:28:23 UTC 2020


I have PulseAudio set up on a Raspberry Pi as a sound server.  The RPi
is connected to a USB DAC, which has hardware volume control
capabilities.  This is what I have in my /etc/pulse/default.pa:

load-module module-alsa-sink control='D70 '

Note: I am deliberately NOT loading module-udev-detect, otherwise
PulseAudio reverts to software volume control.  (The device is a
Topping D70, and the space between the zero and the quote above is
deliberate.)

Now, on my Linux workstation, from a terminal, I set
PULSE_SERVER=hostname_of_my_rpi.  Then I launch two applications: vlc
and pavucontrol.

The volumes shown in vlc and pavucontrol start out the same.  And if I
raise the volume in vlc, the slider in pavucontrol makes a
corresponding change (as expected).

However, if I *lower* the volume in vlc, the volume in pavucontrol
stays the same.  This is a huge problem: say I temporarily raise the
volume in vlc, and mistakenly set it too loud.  I lower it to where it
should be.  Now I quit vlc.  The actual volume now "jumps" back up to
where it's stuck in pavucontrol!  So if I'm not aware of this, the
next app that uses PulseAudio will be way too loud.

Now, I re-open vlc.  I use pavucontrol to lower the volume to zero.
If I raise the volume with pavucontrol, it also goes up in vlc, but by
a different amount.  I just raised the volume to 54% in pavucontrol,
but it's showing 22% in vlc.  (Whereas, as I noted above, when I
raised it with vlc, the percentages were in lock-step with both
programs.)  Furthermore, if I raise the volume in vlc, nothing happens
(i.e. no perceptible change in volume) until I hit 54% in vlc!

Any thoughts on what's going on here?

Thanks!


More information about the pulseaudio-discuss mailing list