[sdm660 Android9.0]Qcom平台Audio mixer_paths.xml音频通路配置

mixer_paths.xml 作用音频通路配置
在qcom平台上, DSP 连接着 FE, 和 BE;
其中 FE对应着一个 PCM设备,可以看做是一个usecase;
其中 BE对应着一个DAI, DAI连接着具体的audio device;
FE最终所对应audio device有很多个可选,具体的对应关系 需要通过配置 音频通路来配置;
简单理解:连接usecase 和 device 并打开该通路上的控件;
同时mixer_paths.xml 还提供mixer 各个控件的初始化配置;mixer ctrl 初始化audio route
mixer_pahts.xml 中根据usecase设置ctl控件,以deep-buffer-playback 为例:

<path name="deep-buffer-playback speaker">
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia1" value="1" />
</path>

<path name="deep-buffer-playback headphones">
<ctl name="TERT_MI2S_RX Audio Mixer MultiMedia1" value="1" />
</path>

<path name="deep-buffer-playback earphones">
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia1" value="1" />
</path>

这些通路其实就是连接 usecase、device 之间的路由。比如 “deep-buffer-playback speaker” 是连接 deep-buffer-playback FE PCM、speaker Device 之间的路由,打开 “deep-buffer-playback speaker”,则把 deep-buffer-playback FE PCM 和 speaker Device 连接起来;关闭 “deep-buffer-playback speaker”,则断开 deep-buffer-playback FE PCM 和 speaker Device 的连接。
路由控件名称一般是: $BE_DAI Audio Mixer F E P C M ,录制类型的路由控件名称一般是: FE_PCM,录制类型的路由控件名称一般是: FEPCM,录制类型的路由控件名称一般是:FE_PCM Audio Mixer $BE_DAI,这很容易分辨。deep-buffer-playback 连接 speaker
例如 “deep-buffer-playback speaker” 通路中的路由控件:

<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia1" value="1" />

MultiMedia1:deep_buffer usacase 对应的 FE PCM
QUAT_MI2S_RX:speaker device 所连接的 BE DAI
Audio Mixer:表示 DSP 路由功能
value:1 表示连接,0 表示断开连接

在这里插入图片描述
为了使得声音从 speaker 端点输出,需要打开 AIF1、DAC1、SPKOUT 这些部件,并把它们串联起来,这样音频数据才能顺着这条路径(AIF1>DAC1>SPKOUT>SPEAKER)一路输出到 speaker。
mixer_pahts.xml 中看 speaker 通路的通路配置:

<path name="speaker">
<ctl name="SPKL DAC1 Switch" value="1" />
<ctl name="DAC1L AIF1RX1 Switch" value="1" />
<ctl name="DAC1R AIF1RX2 Switch" value="1" />
</path>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值