2014-05-15 16 views
5

In den neuesten Android-Versionen wird die Version AOSP normalerweise mit tinyALSA und tinyCompress ausgeliefert. In this question hat Simon erwähnt, dass alle Nexus-Geräte tinyALSA unterstützen sollen.Warum wird tinyALSA gegenüber libasound bevorzugt?

Meine Frage ist warum ist Android nicht integriert libasound, die alle Funktionen für ein Audio-Subsystem im Vergleich zu tinyALSA hat? Liegt es hauptsächlich an den Lizenzproblemen, wie in der source.android.com Website angegeben?

Antwort

3

Ich kann nicht im Namen der Android-Entwickler sprechen, aber wenn ich raten musste, ist ALSA eine sehr alte API, die aus Gründen der Rückwärtskompatibilität nicht geändert hat.

Wenn Sie sich für ein Audiosystem entscheiden, bei dem die Abwärtskompatibilität keine Rolle spielt, sollten Sie mit einer sauberen und modernen API beginnen.

Dies ist konsistent mit ihrem Ansatz für X.Org Server - komplett das System zu werfen und es durch something better ersetzen, obwohl man argumentieren könnte, dass dies getan wurde, weil X.Org nicht mit Touchscreens im Hinterkopf gebaut wurde.

Schließlich, wie Sie erwähnt haben, empfiehlt Google tinyALSA über ALSA wegen der Lizenz.

+0

Dank Martin .. Ihre Antwort ist großartig und ich teile viele Ihrer Ansichten. Allerdings habe ich ein Gegenargument gehört, dass "tinyALSA" nicht die Liste der Funktionen hat, die "libaudio" hat und daher wird "libaudio" bevorzugt. Daher bin ich gefangen in diesem Paradox, was die __technischen Gründe waren, die hinter der Entscheidung standen, "winzige ALSA" zu übernehmen. – Ganesh

+1

Die einzige andere Information, die ich finden konnte, ist, dass Simon (Autor von tinyALSA) ein Google-Mitarbeiter ist. Hier ist der erste Commit von tinyALSA in Android: https://android.googlesource.com/platform/external/tinyalsa/+/edff708e3129d7d8e05bbdfb624af97a3264a332 - Ich denke, dass Sie vielleicht mehr Glück haben, einige der AOSP-Entwickler auf Google+ oder Twitter zu kontaktieren. –

Verwandte Themen