[pulseaudio-discuss] PulseAudio on Android kernel, for Ubuntu phone

David Henningsson david.henningsson at canonical.com
Mon May 27 11:57:48 PDT 2013

Well, as some of you already know, Canonical is currently working on an 
Ubuntu phone product. Part of that is a well working audio stack.

In short, we're trying to build something where we can run as much of 
standard Ubuntu as possible and as little of Android as possible, 
without having to rewrite a lot of hardware specific stuff. That's at 
least how I understand it. :-)

So, my plan is to start building something really soon. My draft plan 
looks like:

  - For PCM streaming, I'll try to use native ALSA, i e, PulseAudio, 
alsa-lib, kernel, just as on the desktop. This is for best performance, 
and also because it's the nicest thing to do for non-PA sound servers 
and applications (e g JACK).

  - For setting up the mixer, I'll try to talk to the Android HAL layer. 
Mixer controls vary a lot between hardware, so making a bridge to 
Android here would likely save us work in the long run. (This is the 
most uncertain part.)

  - For jack detection, in Android this is done through sysfs, and not 
through the Android HAL. Thus I'll need to write code in PulseAudio to 
listen to these uevents/sysfs changes.

So, I'm mostly posting this to see if you have better ideas, if there 
are things I should think about before or during the implementation of 
this code, if somebody has code that already does this hidden in his/her 
closet, etc.

Also, I'm guessing that there wouldn't be any larger objections for 
upstreaming this either - after all, if we are open to supporting 
everything from Solaris to Win32, an Linux/Android hybrid should be okay 
too, right? :-)

David Henningsson, Canonical Ltd.

More information about the pulseaudio-discuss mailing list