大家好、
最近、我遇到了 McASP 音频捕获问题。 看起来,当发生溢出时,McASP 将从 PCM1808捕获一些错误数据。 该数据由 PCM1808生成、McASP 将其添加到其中。 当我浏览 pcm1808数据表时、我发现 pcm1808将"通过停止系统时钟来断电和复位"。
在 funcuin snd_pcm_update_state int 文件 sound/core/pcm_lib.c 中、
如果(AVAIL >=运行时->STOP_THRESHOLD){
xrun (子流);
return -EPIPE;
}
当应用程序线程无法从 McASP 发送或获取音频数据时、内核会将 EPIPE 信号升高到 ALSA 库、这是溢出的。
在这种情况 下、McASP 将被停止、并且 AFR/X 时钟被停止、然后 PCM1808将复位、然后生成脉冲。
如何解决此问题? 如何避免重置 PCM1808,因为我们不想捕获这些错误数据。
感谢大家