Audio之ALSA框架基础

前言

Audio系统中ALSA是在开源系统中使用最多的框架,本文介绍下这方面的基础知识点便于未来的拓展和深入挖掘。

 

1. ALSA系统架构

  • 系统架构图

Audio之ALSA框架基础_第1张图片

 

  • 系统层次介绍

ALSA从系统的角度可以分为三个层次,自上而下分别为 alsa-utils,alsa-lib和asoc driver;

alsa-utils:提供了一些基于alsa-lib之上的bin可执行文件来录制或是播放音频文件

alsa-lib:是userspace到kernel等的标准api

asoc driver:kernel层alsa 框架层

 

2. 主流OS差异

在PC主机上如ubuntu centos等系统上之上都是使用上图中左边的standard OS架构, 这种相对比较复杂。

在android手机系统上,google对应用层的部分进行了裁剪,使用的是右边的架构,这种比较简单。

 

3. 代码路径

userspace的代码路径如下:

https://git.alsa-project.org/,主流的开发人员只需要关注alsa-utils.git,alsa-lib.git这两个仓就可以了。

Audio之ALSA框架基础_第2张图片

kernel alsa的代码可以在linux的git仓库中得到,https://www.alsa-project.org/wiki/Main_Page已经不再单独维护,如下:

https://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc.git/

你可能感兴趣的:(Audio,ALSA,Audio,ALSA)