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ですから、もっと新しいのを使えということのようです。