2016-12-23 155 views
2

ALSA功能snd_pcm_availsnd_pcm_avail_update非常相似。大多數例子似乎都使用snd_pcm_avail_update。我應該什麼時候使用snd_pcm_avail何時使用snd_pcm_avail而不是snd_pcm_avail_update?

在我的測試程序中,它似乎沒有區別我使用哪種功能。有什麼不同?

+0

那麼[文檔](http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html#ga577b4d51e08d94930a05bbe73291ed2a)? –

+0

嗯,我讀過文檔,但是現在還不清楚何時使用哪個函數。也許我缺乏一些背景來了解所提供的信息,但我覺得它非常簡短。對不起,如果這是顯而易見的。 –

+0

[test/pcm.c](http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html)只使用snd_pcm_avail_update,不管它是否使用poll()/ select()或不。 –

回答

3

snd_pcm_avail_update()沒有去內核讀取最新狀態,所以信息可能會過時。這只是在已經更新狀態的呼叫之後直接使用的優化,如poll()snd_pcm_status()

相關問題