I just answered a similar question about FastMixer at "Questions of fastmixer" which should appear soon https://groups.google.com/d/topic/android-porting/3sTfcy-bXLE/discussion
On Wednesday, September 5, 2012 9:51:00 AM UTC-7, Xin Qian wrote: > > 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 and benefit > of this mechanism? > > > <https://lh5.googleusercontent.com/-r4eY3Di8uWY/UEeCzo6f9II/AAAAAAAAAAM/w3mvjKcKfy4/s1600/JB-AudioFlinger.bmp> > Thanks a lot. > > Best Wishes, > Xin Qian > -- unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting