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
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to