こんにちは私はalsaのAPIとsnd_pcm_writeiを使用してサウンドプレーヤーを開発しています。
CENTOS5とalsa1.0.18RC3では問題なく動作しますが、Ubuntu10.10とalsa1.0.23では、タイミングに問題があります。
バッファサイズと期間サイズを40msに設定しました。CENTOS5では、snd_pcm_writeiが40ミリ秒をブロックしましたが、Ubuntuでは、snd_pcm_writeiが80ミリ秒をブロックし、次の呼び出しでブロックされませんでした。次に80ミリ秒、次に0 ....しかし、なぜですか?私は毎回40ミリ秒を書き込みます。これは、バッファサイズが80ミリ秒で、サウンドカードがバッファを埋めてフレームが再生されるまで80ミリ秒待つ必要があるかのようですが、バッファサイズを40ミリ秒に設定して確認します。
だから私の質問は、呼び出しの間に40msあるために何ができるかということです。
どうもありがとう