[pulseaudio-discuss] [PATCH 4/4] alsa-mixer: Add force-hw-volume flag to alsa profile sets

David Henningsson david.henningsson at canonical.com
Wed Jun 29 03:53:28 PDT 2011


On 2011-06-28 23:13, Colin Guthrie wrote:
> PS, while looking into this issue, I found a way to easily recreate the
> "initial volume issue" I discussed on IRC.
>
>   1. Comment out the path_set_unify() call.
>   2. Use my USB Handset with the Speaker kcontrol (no Master or PCM)
>   3. Switch between Analog Output and Analog Speakers profiles.
>
>
> When witching from AS ->  AO, the Speaker kcontrol is zeroed+muted. When
> switching from AO ->  AS, it stays in it's zeroed+muted state until the
> volume control is touched. I think this is similar behaviour to the
> initial startup problem.

Aha, interesting.

> Of course even with path_set_unify() commented out, the fact I have two
> ports (one of which now at least works \o/) is bogus. Only Analog
> Speakers should be present so this still needs to be addressed somehow,
> but I'm beginning to actually "get" the problem in a bit more depth now :)

Given your analysis of the problem, you definitely seem to have got 
deeper into it than I have :-) But when scratching my head about this 
problem a while ago, I remember thinking that after having run through 
all the paths, we should remove all paths whose volumes/mutes/enums are 
true *subsets* of another path, because having that path does not 
contribute anything.

That would in some cases solve this problem as well, e g in the USB 
headset case, Analog Output would be removed through that algorithm and 
so no profile without hw volume would be present. (Btw, it does annoy me 
a little that it's actually named "Speaker" when it's actually a 
headphone, but that's an ALSA level problem!)

-- 
David Henningsson
http://launchpad.net/~diwic


More information about the pulseaudio-discuss mailing list