2016-12-23 14 views
2

ALSA関数snd_pcm_availsnd_pcm_avail_updateは非常によく似ています。ほとんどの例はsnd_pcm_avail_updateを使用しているようです。代わりにsnd_pcm_availを使用する必要がありますか?いつsnd_pcm_avail_updateの代わりにsnd_pcm_availを使用するのですか?

私のテストプログラムでは、私が使用する機能に違いはないようです。違いはなんですか?

+0

[documentation](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)は、poll()/ select()を使用するかどうかに関係なく、snd_pcm_avail_updateのみを使用します。か否か。 –

答えて

3

snd_pcm_avail_update()最新の状態を読み取るためにカーネルに移動しないため、情報が古くなっている可能性があります。これは、既にpoll()またはsnd_pcm_status()のようにステータスを更新したコールの直後に使用すると便利な最適化に過ぎません。

関連する問題