Почему tinyALSA предпочтительнее libasound?

В последних выпусках Android выпуск AOSP обычно поставляется с tinyALSA и tinyCompress. В этом вопросе Саймон упомянул, что все устройства Nexus должны поддерживать tinyALSA.

Мой вопрос: почему Android не интегрирует libasound, у которого есть все функции, необходимые для аудиоподсистемы, по сравнению с tinyALSA? Это в основном связано с проблемами лицензирования, как указано на сайте source.android.com?


person Ganesh    schedule 15.05.2014    source источник


Ответы (1)


Я не могу говорить от имени разработчиков Android, но если бы мне пришлось догадываться, это потому, что ALSA имеет очень старый API, который не изменился из-за соображений обратной совместимости.

Если вы выбираете аудиосистему, для которой не важна обратная совместимость, лучше всего начать с чистого листа и более современного API.

Это согласуется с их подходом к X.Org Server — полностью выбросить систему и заменить ее чем-нибудь получше хотя можно утверждать, что это было сделано потому, что X.Org не создавался с учетом сенсорных экранов.

Наконец, как вы упомянули, Google рекомендует tinyALSA вместо ALSA из-за лицензии.

person Martin Konecny    schedule 26.05.2014
comment
Спасибо, Мартин. Ваш ответ великолепен, и я во многом разделяю ваши взгляды. Однако я слышал встречный аргумент, что tinyALSA не имеет списка функций, которые есть у libaudio, и, следовательно, libaudio предпочтительнее. Следовательно, я пойман этим парадоксом относительно того, каковы были технические причины решения принять tinyALSA. - person Ganesh; 26.05.2014
comment
Единственная другая информация, которую я смог найти, это то, что Саймон (автор tinyALSA) является сотрудником Google. Вот первоначальная фиксация tinyALSA в Android: android.googlesource.com/platform/external /tinyalsa/+/ — я думаю, вам повезет связаться с некоторыми разработчиками AOSP в Google+ или Twitter. - person Martin Konecny; 26.05.2014