Here is someone that all so played with this:
http://arunraghavan.net/2012/01/pulseaudio-vs-audioflinger-fight/


Den fredagen den 21:e september 2012 kl. 11:44:11 UTC+2 skrev czheng:
>
> Hi guys,
> As we know, android audio passthrough latency is not good, many devices 
> have 150ms-250ms total latency. 
> This is unacceptable on realtime applications. And I heard Fastmixer in JB 
> didn't get dramatically improvement on it.
> So, I tried some ways on ICS to make audio flinger more stable and less 
> latency.
>
> 1. I changed the audioflinger mixer thread's scheduler class to SCHED_RR. 
> The old scheduler class is SCHED_OTHER. Although, audioflinger's mixer got 
> the lowset nice value and highest priority, the CFS scheduler can't promise 
> it getting enough resource at any critial time. In my opinion, the realtime 
> scheduler is helpful for a stable audio renderer. Howerver, I'm not sure is 
> this conflicted with the design idea of audioflinger or android arch, any 
> comments?
>
> 2. The total audio latency is decided by driver buffer size plus cblk 
> buffer size(IPC buffer for audiotrack and audioflinger). For alsa driver, 
> at least 4 periods were needed for DMA writing,
> and 10 milliseconds period was accepted by most devices as I tested. Cblk 
> buffer size equals to (driver buffer size)*2, I think it is too large, and 
> changed it to the same value as driver buffer allocated(JB brought 
> Non-block mode, I'm not sure clbk buffer size could be ingored or not in JB 
> Non-block mode).
> So the total latency would be (10 * 4 + 40) = 80 milliseconds. If your 
> system is reliable in 5 milliseconds level interpret, 40 milliseconds 
> latency reachs. For most devcies, 10 millisecods * 6 is recommended, and 
> total is 120 ms, big buffer is helpful in busy system case. 
>
> 3. Setting different buffer size for different applications. HD movie 
> playback gets heavy cpu load and latency is neglectable, big buffer size is 
> welcomed. And in MIDI Player, small buffer size brings much better 
> experience.I heard some vendors already configed differnet buffer for 
> special usage. The side effect is restarting your audio device, since many 
> cases don't support buffer size tuning dynamically.
>
> Any way, these steps were not good enough, if you tried this before, 
> please reply this thread. Any comments or ideas will be welcomed.
>
> Thanks!
> Charlie
>
>

-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting

Reply via email to