当前位置: 技术问答>linux和unix
linux声卡驱动中的pcm中间层作用
来源: 互联网 发布时间:2016-04-15
本文导语: linux声卡驱动中的pcm中间层的作用是什么? 还有pcm的runtime代表的是什么东西? 请高手指教! | PCM中间层是ALSA中作用非常大的。它是唯一需要在每个驱动中都需要实现的low-level的硬件接口。 ...
linux声卡驱动中的pcm中间层的作用是什么?
还有pcm的runtime代表的是什么东西?
请高手指教!
还有pcm的runtime代表的是什么东西?
请高手指教!
|
PCM中间层是ALSA中作用非常大的。它是唯一需要在每个驱动中都需要实现的low-level的硬件接口。
为了访问PCM层,你需要包含。除此之外,如果你要操作hw_param相关的函数,还需要包含。
每个card设备可以最多拥有4个pcm实例。一个pcm实例对应予一个pcm设备文件。组件的号码限制主要是和Linux的可用的设备号多少有关。假如允许64bit的设备号,我们可以拥有更多的pcm实例。
一个pcm实例包含pcm 放音和录音流,而每个pcm流由一个或多个pcm子流组成。一些声卡支持多重播放的功能。例如:emu10k1就包含一个32个立体声子流的PCM放音设备。事实上,每次被打开的时候,一个可用的子流会自动的被选中和打开。同时,当一个子流已经存在,并且已经被打开,当再次被打开的时候,会被阻塞,或者根据打开文件的模式不同返回一个EAGAIND的错误信息。你也不需要知道你的驱动细节部分,PCM中间层会处理那些工作。
为了访问PCM层,你需要包含。除此之外,如果你要操作hw_param相关的函数,还需要包含。
每个card设备可以最多拥有4个pcm实例。一个pcm实例对应予一个pcm设备文件。组件的号码限制主要是和Linux的可用的设备号多少有关。假如允许64bit的设备号,我们可以拥有更多的pcm实例。
一个pcm实例包含pcm 放音和录音流,而每个pcm流由一个或多个pcm子流组成。一些声卡支持多重播放的功能。例如:emu10k1就包含一个32个立体声子流的PCM放音设备。事实上,每次被打开的时候,一个可用的子流会自动的被选中和打开。同时,当一个子流已经存在,并且已经被打开,当再次被打开的时候,会被阻塞,或者根据打开文件的模式不同返回一个EAGAIND的错误信息。你也不需要知道你的驱动细节部分,PCM中间层会处理那些工作。