Ogg vorbis performance.

Russell Sears sears at cs.berkeley.edu
Fri Jul 18 00:26:39 CEST 2008

Troy Benjegerdes wrote:
> On Thu, Jul 17, 2008 at 05:46:17PM +0200, Alexey Feldgendler wrote:
>> On Thu, 17 Jul 2008 17:27:37 +0200, Russell Sears <sears at cs.berkeley.edu>  
>> wrote:
>>> I uploaded a fix to the bug tracker.  It bypasses PulseAudio and uses  
>>> ALSA.  Any idea why that helps?  In principle, ALSA and PulseAudio  
>>> should have to perform the same computations to play the sound back  
>>> (alsa contains a software resampler...)  I haven't been able to find any  
>>> obviously mistakes in the configuration files.
>>> Also, are there any bad implications to bypassing pulseaudio?  I haven't  
>>> noticed any.  I'd like to get ogg vorbis (and anything else that outputs  
>>> 16bit/44.1kHz) fixed in the official image...
>> And why again do we need pulseaudio at all?

It does some nice things, like multi-channel mixing, network 
transparency, synchronization of multiple audio devices.  (though 
gstreamer and alsa do some of these things as well...)

It should have essentially zero overhead when properly configured, and 
when its not doing anything fancy.  I don't think these performance 
problems are fundamental.

> For power and performance reasons on a cell phone, I think anything a
> sound server does would be much better done in the kernel-level ALSA
> drivers. The only downside I can see to this approach whether the
> in-kernel bluetooth audio drivers are any good.

Kernel-level software resampling should be just as expensive as 
userspace resampling...  Pulseaudio does seem to do some soft-realtime 
stuff and adds a bit of device transparency.

> Last I tried bluetooth-audio on my laptop I had to run a userspace
> daemon.

I have no idea what would happen with Alsa if you tried to transfer a 
call between the speaker and the bluetooth set.  I think pulseaudio can 
handle this sort of thing correctly.

> Speaking of which.. do we have any way to measure the power consumption
> of playing a reference .ogg file without special hardware? Are the
> built-in battery charge management counters good enough?

Good question. :)  Also, pulseaudio may be preventing the sound card and 
cpu from falling asleep, even when no sounds are being played.  From 
what I can tell, it's been configured to never go idle.


More information about the openmoko-devel mailing list