できれば libsndfile を使用して、音声データを stdout に書き込みたいと考えています。/dev/stdout に WAV を出力すると、なんとかヘッダーを書き込めるのですが、エラーが発生します。
Error : could not open file : /dev/stdout
System error : Illegal seek.
これはhttp://www.mega-nerd.com/libsndfile/FAQ.html#Q017に関連していると思いますが、一部のファイル形式はシークなしでは書き込めません。しかし、SF_FORMAT_AU | を出力しようとすると、SF_FORMAT_PCM_16 代わりに、同じ Illegal seek エラーが発生します。
完全にシークせずに書き込める音声ファイル形式はありますか?
私はLinuxを使用しています。
編集:明らかかもしれませんが、RAW形式は(シークなしで)機能します。残念ながら、サンプル レートなどのメタ情報を含む形式が必要です。