linux - 用户空间中的 ALSA PCM 播放设备

标签 linux driver alsa pcm userspace

我很难搞清楚如何制作完全在用户空间中运行的 Linux PCM 播放设备。当应用程序调用 snd_pcm_open/snd_pcm_readi/writei 时,我希望调用在用户空间驱动程序中结束,并且 pcm 数据在用户空间驱动程序初始化时创建的线程中处理。然后音频处理线程将调用一个实际的 ALSA 内核驱动程序,它将 pcm 输出到 HW。 这基本上是我想要实现的目标:

应用程序 -> ALSA (pcmC1D0p) -> 音频处理线程(用户空间) -> ALSA (pcmC0D0p) -> HW

我看过一些插件,但不确定这是正确的做法吗?也不确定如何实际启动我的插件?我编译了一个 .so 文件,但不确定将其放置在何处或如何/如何调用它?

如有任何指点,我们将不胜感激。

最佳答案

这样的事情可以用 external filter plugin SDK 来完成,这基本上没有记录。

关于linux - 用户空间中的 ALSA PCM 播放设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35128242/

相关文章:

windows - Windows 离线时驱动程序签名如何工作?

driver - 通过 Visual Studio 构建 Windows 驱动程序时出现 GUID 错误

linux - 树莓派 PCM 设备驱动

c++ - 在 linux 中使用 QAudioInput 录制并在 windows 中播放

python - 在buildroot中添加一个pypi python包

linux - Sybase 16 startserver 由于缺少 libsapcrypto.so 而失败

linux - 每小时从每日日志文件中捕获日志

python - 使用Chrome驱动程序通过python和selenium在指定位置下载文件

android - 在vm中启动自编译android时出错

C++套接字,客户端无法向java服务器发送消息