I want to use 16 ch in imx8mm, I use this cmd:
aplay -Dplug:ch1 /home/forlinx/audio/001.wav
aplay -Dplug:ch8 /home/forlinx/audio/001.wav
is work ok,but when ch9-ch6(aplay -Dplug:ch1 /home/forlinx/audio/001.wav) is error . the error is:
aplay: ../../../alsa-lib-1.1.5/src/pcm/pcm_local.h:572: snd_pcm_channel_area_addr: Assertion `bitofs % 8 == 0' failed.
I find the the alsa source code, Is this ch number smaller than 8?
unsigned int bitofs = area->first + area->step * offset;
assert(bitofs % 8 == 0);
return (char *) area->addr + bitofs / 8;
Thanks!
Hello Chendong,
Let us discuss the question in Chinese.
I.MX8M MINI的SAI1接口,有TX0~TX7共8根数据线,每根数据线可以传输2个channel的音频。因此,16声道是没有问题的。这一点,刚刚和i.MX Expert team确认过。但是,需要您在SAI1接口连接Audio card board with AK4458 codec才行。
因此,您需要确认您的硬件连接和device tree配置的codec是哪个(是否是AK4458 codec),SAI接口是否是SAI1。
Have a nice day!
BR
Weidong
是的,我知道i.mx8m 是支持的,现在好像是aplay ,现在好像是alsa 应用好像最大只能支持8通道的样子,不知道是不是这样。我用的是asoud.conf 里的dshare 功能。