hw_ptr和app_ptr在alsa驱动程序中未更新

时间:2018-07-13 14:42:31

标签: linux alsa

我的ALSA驱动程序实现如下:

1)等待来自设备的MSI PCI中断。(中断表明音频数据已准备好从设备传输)

2)当收到中断时,ALSA驱动程序将一帧音频数据复制到ALSA框架。

3)ALSA驱动程序在将一帧复制到ALSA框架后更新hw_ptr。复制一帧数据后,将在ISR中调用snd_pcm_period_elapsed()。

4)通过执行以下命令可以观察到更新的hw_ptr。 cat / proc / asound / card2 / pcm0c / sub0 / status

/ *输出* /

状态:正在运行

owner_pid:2323

触发时间:114.467323430

时间戳:0.000000000

延迟:7200

可用:7200

avail_max:7200

hw_ptr:7200

appl_ptr:0

其中card2是上述PCIe卡实例。

5)转到第1步

问题是:

1)启动应用程序时,hw_ptr和app_ptr有时没有更新(例如VLC)。

2)当应用程序发送“启动”命令时,在驱动程序中调用snd_pcm_ops触发器回调。但是,将一帧复制到ALSA框架后,ALSA驱动程序会自行停止,而无需等待“停止”命令。

有关上述查询的任何输入都将有所帮助。

先谢谢了。

关于, 库尔卡尼。

0 个答案:

没有答案