On 2011-04-27 20:06, Mark Brown wrote: > On Wed, Apr 27, 2011 at 05:07:44PM +0200, David Henningsson wrote: > > Adding Marga and Liam, not cutting text as a result. > >> On 2011-04-27 16:55, David Henningsson wrote: >>>> So I'll do some testing then grab it at some point (tho' need to spend >>>> some time reviewing Margarita's work before next week otherwise Liam and >>>> Mark will find some way to punish me!) >>> >>> FYI, I've done some review of that code already, and I agree with >>> plbossart's comments recently about the jack detection being done the >>> wrong way. >>> >>> In addition, I don't think we (as in Canonical/Ubuntu) even got it to >>> work yet even though we've tried it several times. You can see some of >>> it here: https://bugs.launchpad.net/ubuntu/+source/alsa-lib/+bug/746023 >>> >>> So I don't think it's ready. The question about how we can make it ready >>> might be a topic for next week's conference perhaps. See you! >> >> Hmm, that was not supposed to go to the list.. *blushes* >> >> Anyway, I haven't been much involved with the ucm stuff until a few >> weeks ago, but I'll see next week (during either the ASoC conference, >> LAC, or UDS) if I can grab one of these pandaboards, play around a >> little with UCM and get it explained to me (alsaucm could use a man >> page!), and see if I can understand why we never got those patches to >> work reliably in Ubuntu 11.04. > > You're not really supposed to use alsaucm directly except for testing > and developing new configurations, That's reason enough to have a man page and some documentation, if you ask me. (Not claiming you're the only one missing documentation though.) > I'd not expect it to play nicely with > an application that's also driving UCM. > > Sounds from a brief scan like the issue with the defaults getting lost > on boot is that Pulse needs to start storing the state itself (I'd > expect on a per use case basis) rather than relying on something else > doing so underneath it. Trying to restore a state which may correspond > to a totally different use case is going to be fail, and restoring state > that is part of the use cases has obvious issues too. But I've not read > the report properly so I'm mostly just guessing here. The overall problem IMHO is that it is overly complex: 1) The kernel might set some basic volumes 2) Alsactl can store/restore volumes 3) Alsaucm can set volumes 4) PulseAudio (for the gdm user) can store/restore volumes 5) PulseAudio (for the logged on user) can store/restore volumes As UCM adds yet another complexity to the equation, we need to get it right, avoid races and so on. If possible, I'd like to cut away a layer or two for simplicity and optimisation. Btw, as I understand it, the code in PA for controlling hardware volumes through UCM is not yet a part of Maggie's patches. Is that correct? -- David Henningsson, Canonical Ltd. http://launchpad.net/~diwic