LWN.net Logo

GStreamer: Past, present, and future

GStreamer: Past, present, and future

Posted Oct 27, 2010 17:45 UTC (Wed) by alankila (subscriber, #47141)
In reply to: GStreamer: Past, present, and future by gmaxwell
Parent article: GStreamer: Past, present, and future

Maybe your pulseaudio is resampling, or maybe it spends 90 % of time in gettimeofday(). It'd be a good idea to acquire an oprofile trace to figure out where it is hurting so much. Also, be sure to fix CPU speed to some known frequency, otherwise percentual usage values are a very poor metric for measuring relative performance.

I know that mobile systems may require the use of integer arithmetics, although I am hoping that floating point capability will get added to every CPU in time. Software emulation of floating point exists, but in practice software float is too wasteful to be acceptable. I did some quick testing on a HTC Hero and got the result that software emulated float took about 5x the time of similar integer code.

My practical experience suggests that the sort of things gstreamer needs to do (dithering, scaling, mixing, copying) take insignificant time compared to any other work that is also ongoing. That would also include decoding any codec.


(Log in to post comments)

GStreamer: Past, present, and future

Posted Oct 28, 2010 20:22 UTC (Thu) by oak (subscriber, #2786) [Link]

When playing just music on N900, the dynamic frequency scaling scales the CPU speed down to 250MHz (easiest to see from /proc/cpuinfo Bogomips value changes). Pulseaudio needs to do on N900 more complex/heavier stuff than normally on desktop (sound volume increase, speaker protection...).

Oprofile tells that about third of CPU goes to pulseaudio internal workings, rest is sound data manipulation which is accelerated with NEON SIMD instructions (as you can see by objdump'ing the related libraries code).

N900 uses TI Omap3 (ARM v7) i.e. it has HW floating point support. Sound HW is AFAIK 48kHz natively.

GStreamer: Past, present, and future

Posted Oct 29, 2010 0:35 UTC (Fri) by Spudd86 (guest, #51683) [Link]

Then pulse doing resampling seems pretty likely since so much audio is 44.1KHz

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds