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