[pulseaudio-discuss] Rhythmbox and Pulseaudio: per-application volume adjustment causes major ruckus

Lennart Poettering lennart at poettering.net
Tue May 26 16:01:32 PDT 2009


On Sat, 23.05.09 19:50, Jud Craft (craftjml at gmail.com) wrote:

> Unlike most multimedia applications that have an internal volume
> meter, Rhythmbox actually communicates it's internal volume value to
> Pulseaudio, and Pulse in turn uses that as Rhythmbox's per-app volume.
> 
> Problem:  when Rhythmbox is the only app running, this means that any
> Main Volume adjustment to PulseAudio is doubly applied to Rhythmbox
> (since Pulse will adjust Rhythmbox to match the main system volume,
> which changes Rhythmbox's internal volume setting).

Uh?

I'd be surprised if what you say really was the case, but if it was
then please file a bug against rb.

The control flow should go like this:

user changes volume in rb UI -> rb forwards that as sink input volume
change to PA -> PA applies it to the stream -> PA forwards it via the
flat vol logic to the sink volume.

RB should not never look directly at the sink volume. Only ever at the
sink input volume.

> So, for example, moving the Main Volume to 88%, will cascade back into
> Rhythmbox, reducing the in-app volume by over 50%.

That sounds like a bug. Could you please file a bug?

> Note that like with alsamixer, Pulseaudio's per-app audio doesn't
> actually match Rhythmbox's internal volume.  Hence, setting the Pulse
> volume for Rhythmbox to 88% will set the in-Rhythmbox volume to near
> 45%.

alsamixer and PA's volume scales are usually not aligned. PA applies a
device independant dB volume scale. And even then PA shifts the dB
scale a bit so that 0dB is always max hw amplification.

If you try to compare PA's and alsamixer's look for the dB scale,
ignore the percentage scale.

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/           GnuPG 0x1A015CC4



More information about the pulseaudio-discuss mailing list