Dear all,
    After upgrading to android 4.1, I noticed that AudioFlinger suffered a 
lot of changes. The two big changes are introducing fast mixer & NBAIO, but 
I'm not quite clear about the design purpose. 
    For NBAIO, my understanding is that audio HAL need to create a thread, 
which will continuously call the callback which was registered through 
writeVia(). Is it true? 
    For fast mixer, could you tell me why it is "fast"? According to my 
understanding, the fast mixer's purpose is used to reduce latency for some 
types of sound (e.g. ToneGenerator, SoundPool, etc.). If we always have a 
large buffer, such latency can not be reduced in AudioFlinger level (As I 
know, some vendor's solution is using 2 hardware buffers, 1 large buffer 
for low power playback, and 1 small buffer for low latency playback). Could 
you teach me what's the principle of fast mixer? According to the codes, 
FastMixer will read data from MixerThread through MonoPipeReader, and then 
do mixing and write mixed data to audio HAL. What's the purpose of this 
mechanism?

<https://lh5.googleusercontent.com/-r4eY3Di8uWY/UEeCzo6f9II/AAAAAAAAAAM/w3mvjKcKfy4/s1600/JB-AudioFlinger.bmp>

    Thanks a lot.

Best Wishes,
Xin Qian

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

Reply via email to