portaudio
ためしにportaudioを覗いたところ、ユーザーコールバックに入出力が同時に渡されていました。この形式はマルチ・レート信号処理向きではありませんが、入出力を同時に使う処理に向いています。
と、いうことでもう少し踏み込んでみましたが、ビルドできません。VisualC++ 2005, Express Editionに、Windows Platform SDKを組み込んで使っています。しかし、portaudioをビルドすると "mmdeviceapi.hをインクルードできない"と言うエラーが表示されて終わります。
で、調べたところこのようなMLにあたりました。
で、エラーを起こしたファイルのコメントを改めて見直したところ、
//these headers are only in Windows SDK CTP Feb 2006 and only work in VC 2005! #if _MSC_VER >= 1400 #include <windows.h> #include <MMReg.h> //must be before other Wasapi headers #include <strsafe.h> #include <mmdeviceapi.h> #include <Avrt.h> #include <audioclient.h> #include <KsMedia.h> #include <propkey.h> // PKEY_Device_FriendlyName #endif
今使っているのはMicrosoft Platform SDK Windows 2003 Serverですから、もっと新しいのを使えということのようです。