2
ALSA功能snd_pcm_avail
和snd_pcm_avail_update
非常相似。大多數例子似乎都使用snd_pcm_avail_update
。我應該什麼時候使用snd_pcm_avail
?何時使用snd_pcm_avail而不是snd_pcm_avail_update?
在我的測試程序中,它似乎沒有區別我使用哪種功能。有什麼不同?
ALSA功能snd_pcm_avail
和snd_pcm_avail_update
非常相似。大多數例子似乎都使用snd_pcm_avail_update
。我應該什麼時候使用snd_pcm_avail
?何時使用snd_pcm_avail而不是snd_pcm_avail_update?
在我的測試程序中,它似乎沒有區別我使用哪種功能。有什麼不同?
snd_pcm_avail_update()
沒有去內核讀取最新狀態,所以信息可能會過時。這只是在已經更新狀態的呼叫之後直接使用的優化,如poll()
或snd_pcm_status()
。
那麼[文檔](http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html#ga577b4d51e08d94930a05bbe73291ed2a)? –
嗯,我讀過文檔,但是現在還不清楚何時使用哪個函數。也許我缺乏一些背景來了解所提供的信息,但我覺得它非常簡短。對不起,如果這是顯而易見的。 –
[test/pcm.c](http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html)只使用snd_pcm_avail_update,不管它是否使用poll()/ select()或不。 –