私はWindowsマルチメディアAPIを使用して、ウェーブオーディオ(waveInOpen
およびその友人)を記録および処理しています。ラウンドロビン方式で少数のバッファを使用したいと思います。
デバイスにバッファを追加する前に使用することになっていること、およびWaveデバイスが「バッファをアプリケーションに戻した」後、割り当てを解除する前にwaveInPrepareHeader
呼び出すことになっていることを私は知っています。waveInUnprepareHeader
私の質問は、バッファを再利用するために準備を解除して再準備する必要がありますか?または、以前に使用したバッファをデバイスに追加することはできますか?
また、これをどのスレッドで行うかは重要ですか?オーディオシステムに属するワーカースレッドで呼び出されているように見えるコールバック関数を使用しています。waveInUnprepareHeader
コールバック中に、、、waveInPrepareHeader
およびwaveInAddBuffer
そのスレッドで呼び出すことはできますか?