1、Linux声音体系ALSA软件整体架构图
上图中的ALSA驱动主要分为三个部分,分别是:字符设备驱动核心,ALSA驱动核心和具体ALSA驱动。驱动核心处于核心地位,对外与用户空间交互,对内向具体驱动提供功能注册和回调接口。
2、驱动核心外部接口
驱动核心与用户空间的接口是其注册的/dev/snd/controlCX,/dev/snd/pcmXXXc和/dev/snd/pcmXXXp等等设备,见图一的上半部分。controlCX(X为0,1,2,...)代表具体的设备Card,一个设备Card上可以有多个功能,比如pcm, mixer,midi等等,比如pcmC0D0C和pcmC0D0P都是controlC0卡上的功能设备。
//TODO:。。。
3、驱动核心内部接口
//TODO:。。。