Not everything Google writes is the smartest or best implementation of whatever they take on. I think Google was targeting much simpler (less capable) devices with the original design of AudioFlinger, and they didn't really have the software mixing, low-power, time-based scheduling type functionality in mind -- partly because there might be CPU bottlenecks or software bugs introduced with more complicated code such as PA's.
Also consider that Google "just needed to get something out the door that works" when they were in a hurry to get Android shipped and sold to device manufacturers. We did something similar with ACCESS Linux Platform at ACCESS Systems several years ago (I've since moved on); the reason we didn't use PA is primarily due to the fact that PA was in the early immature phases at the time and it wasn't really much better than what we had. But if we'd had had a build of PA from the future -- say, early 2011 -- back in 2007, I think it would've been a no-brainer to use it.
As for me, I'm very excited to use PA in place of AudioFlinger on my Thunderbolt, so I'll be watching this work closely. Of course if PA on Android depends on Icecream Sandwich then I won't be able to use it until there's ICS for Thunderbolt...


Reply With Quote
