Android 音频系统:从 AudioTrack 到 AudioFlinger
https://blog.csdn.net/zyuanyun/article/details/60890534
Linux ALSA 音频系统:物理链路篇 经典文章
https://blog.csdn.net/zyuanyun/article/details/59170418
Linux ALSA 音频系统:逻辑设备篇 经典文章
https://blog.csdn.net/zyuanyun/article/details/59180272#t6
Qualcomm Audio HAL 音频通路设置 这篇文章很经典
https://blog.csdn.net/azloong/article/details/79383323
蓝牙电话(hfp)与Android audio hal的关联https://blog.csdn.net/bberdong/article/details/82912670
linux驱动由浅入深系列:tinyalsa(tinymix/tinycap/tinyplay/tinypcminfo)音频子系统之一
https://www.cnblogs.com/zzb-Dream-90Time/p/7616740.html
tinymix调试音频i2s
https://blog.csdn.net/u010481276/article/details/81122226
ALSA框架介绍-音频通路,这篇文章也很好
https://wenku.baidu.com/view/dacb0922af45b307e87197a2.html
【Audio driver】mixer_paths.xml文件分析
Qualcomm 音频学习一
https://blog.csdn.net/q1075355798/article/details/80657365
BT HFP 通话数据流程:
Downlink:
远端信号 -> 蓝牙端 -> AP -> BT SoundCard -> PCM -> SOC SoundCard -> 输出设备
Uplink:
远端信号 <- 蓝牙端 <- AP <- BT SoundCard <- PCM <- SOC SoundCard <- 输入设备
(以下,音频前端使用 FE 代替;音频后端使用 BE 代替,音频设备使用 Device 代替)
其中,一个音频前端对应着一个 PCM 设备,一个音频后端对应着一个 DAI 口;DSP 处于音频前端和音频后端之间,起着连接 FE 和 BE 的作用;所有的 Device 都是挂在 DAI 上的。
4. 音频 DSP(有些高端的 codec 芯片还有 EQ、DSP、SRC、DRC、AGC、Echo-Canceller、Noise-Suppression 等部件。)
在高通MSM8953/MSM8937 平台上,codec分为两部分,一部分是数字 codec,其在 MSM 上;另一部分是模拟 codec,其在 PMIC 上。
Android 音频框架层中,音频设备仅表示输入输出端点,它不关心 BE DAIs 与 端点之间都经过了哪些部件(widget)。但我们做底层的必须清楚知道:从BE DAIs 到端点,整条通路经历了哪些部件。BE DAI不是直接连到音频设备,而是需要途径了很多部件。
|