[pulseaudio-discuss] [PATCH] module: new null-source module

David Henningsson david.henningsson at canonical.com
Wed Apr 27 11:29:34 PDT 2011

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.

More information about the pulseaudio-discuss mailing list