Delphi 6 と DSPACK ライブラリを使用して DirectShow Transform フィルタを作成しました。DSPACK の基本 Filter クラスと、変換フィルターの例である「WAV Dest」サンプル アプリに属するコードを調べました。私が知る限り、Transform フィルターのソース IMediaSample または宛先 IMediaSample パラメーターの受信フィルターによってメモリが割り当てられていませんが、宛先 IMediaSample の長さが IMediaSample.SetActualLength() を使用して調整される可能性があります。
DirectShow API 仕様の一部である場合、これら 2 つのパラメーターに既にメモリが割り当てられている Transform フィルターを呼び出すコードに依存できることを確認したいだけなので、そうする必要はありません。それ以外の場合は、CoTaskMemAlloc() を使用して自分でその割り当てを行う必要があると思います。誰かがここで決定的な答えを教えてくれますか?