8

In latest Android releases, the AOSP release typically comes with tinyALSA and tinyCompress. In this question, Simon has mentioned that all Nexus devices shall support tinyALSA.

My question is why is android not integrating libasound which has all features required for an audio sub-system as compared to tinyALSA? Is it mainly due to the licensing issues as indicated in source.android.com site?

Community
  • 1
  • 1
Ganesh
  • 5,880
  • 2
  • 36
  • 54

1 Answers1

4

I can't speak on the behalf of the Android developers, but if I had to guess it's because ALSA has a very old API that hasn't changed due to backwards compatibility reasons.

If you're choosing an audio system where backwards compatibility isn't a concern, the best thing to do is start with a clean slate and a more modern API.

This is consistent with their approach for X.Org Server - completely throw out the system and replace it with something better although one could argue that this was done because X.Org wasn't built with touch screens in mind.

Lastly as you mentioned, Google recommends tinyALSA over ALSA because of the license.

Martin Konecny
  • 57,827
  • 19
  • 139
  • 159
  • Thanks Martin.. Your response is great and I share a lot of your views. However, I have heard a counter argument that `tinyALSA` doesn't have the list of features that `libaudio` has and hence, `libaudio` is preferred. Hence, I am caught with this paradox on what were the __technical reasons__ behind the decision to adopt `tinyALSA`. – Ganesh May 26 '14 at 13:45
  • 1
    The only other information I could find is that Simon (author of tinyALSA) is a Google employee. Here's the initial commit of tinyALSA into Android: https://android.googlesource.com/platform/external/tinyalsa/+/edff708e3129d7d8e05bbdfb624af97a3264a332 - I think you might have better luck contacting some of the AOSP devs on Google+ or Twitter. – Martin Konecny May 26 '14 at 14:38