1. 程式人生 > >Linux ALSA驅動框架(二)--PCM裝置的建立

Linux ALSA驅動框架(二)--PCM裝置的建立

        pcm中間層的幾個重要的結構體:snd_pcm是掛在snd_card下面的一個snd_devicesnd_pcm中的欄位:streams[2],該陣列中的兩個元素指向兩個snd_pcm_str結構,分別代表playback stream和capture streamsnd_pcm_str中的substream欄位,指向snd_pcm_substream結構snd_pcm_substream是pcm中間層的核心,絕大部分任務都是在substream中處理,尤其是他的ops(snd_pcm_ops)欄位,許多user空間的應用程式通過alsa-lib對驅動程式的請求都是由該結構中的函式處理.它的runtime欄位則指向snd_pcm_runtime結構,snd_pcm_runtime記錄這substream的一些重要的軟體和硬體執行環境和引數.