次の方法で共有


IAMBufferNegotiation インターフェイス

IAMBufferNegotiation インターフェイスを使うことで、アプリケーションから、フィルタが作成するバッファの数とサイズを指定できるようになる。このインターフェイスは、IMemInputPin ピン インターフェイスを使って接続するどのピンでも公開できるが、通常はキャプチャ フィルタの出力ピンで公開される。

IMemInputPin を通じて 2 つのピンが接続される場合は、その両方が、バッファを作成するアロケータ オブジェクトについて合意する。通常、この処理はアプリケーションからは認識されないが、状況によっては、アプリケーションがより幅広い制御を必要とする場合がある。ピンが IAMBufferNegotiation を公開する場合、アプリケーションは、作成するバッファの数、サイズ、その他のプロパティを提示できる。アプリケーションが、キャプチャしたオーディオのプレビューを実行する場合は、より小さなバッファサイズを指定することで、遅延時間を少なくできる。電子会議アプリケーションは、最小限の数のバッファを指定するべきである。

このインターフェイスを使うには、ピンの接続前に、SuggestAllocatorProperties メソッドを呼び出す。ピンの接続後、GetAllocatorProperties メソッドを呼び出して、ピンが要求を受け入れたかどうかを調べる。

フィルタ開発者への注意点 : キャプチャ フィルタは、可能な限りこのインターフェイスをサポートするべきである。

IAMBufferNegotiation インターフェイスは、IUnknown から継承されるメソッドに加え、以下のメソッドを公開する。

メソッド 説明
GetAllocatorProperties ピンが使っているアロケータ プロパティを取得する。
SuggestAllocatorProperties アプリケーションの優先アロケータ プロパティをピンに通知する。