我正在为嵌入式设备编写应用程序。该设备已连接到8麦克风板,因此8个通道被传输到该板上。在ALSA中,该设备显示为HW:3,0。
我打开了HW:3,0流,并使用:
snd_pcm_hw_params_test_channels()
我检查了允许的通道数。输出为1-8。
如果我打开流并将通道数设置为4,会发生什么情况?ALSA是否会丢弃其余4个通道,并且得到CH1的缓冲区| CH2 | CH3 | CH4样本或得到CH1 | ... | CH8在缓冲液中?
谢谢你的帮助,叛徒
查看更多
该hw_params_*限制由驱动程序管理。因此,驱动程序被告知该流具有四个通道,然后驱动程序负责配置硬件以每帧生成四个样本。
hw_params_*
在那种情况下,我需要仔细检查驱动程序是否具有这种行为。还是您试图暗示,一旦测试返回1-10,驱动程序就有能力进行这种行为?
如果
snd_pcm_hw_params_set_channels()
成功,则驱动程序支持该值。