CTransInPlaceFilter.DecideBufferSize メソッド
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
メソッドは DecideBufferSize
、出力ピンのバッファー要件を設定します。
構文
HRESULT DecideBufferSize(
IMemAllocator *pAlloc,
ALLOCATOR_PROPERTIES *pProperties
);
パラメーター
-
pAlloc
-
出力ピンで使用される IMemAllocator オブジェクトへのポインター。
-
pProperties
-
ALLOCATOR_PROPERTIES構造体で指定された count、size、および alignment の要求されたアロケーター プロパティへのポインター。
戻り値
HRESULT 値を返します。 次の表に示す値を指定できます。
リターン コード | 説明 |
---|---|
|
Success |
|
障害 |
解説
このメソッドは、 CTransInPlaceFilter クラスがダウンストリーム フィルターにバッファー サイズを指定する必要がある場合に呼び出されます。 CTransInPlaceFilter フィルターが既にアップストリームに接続されている場合は、アップストリーム ピン接続のアロケーター プロパティが使用されます。 それ以外の場合は、一時的なプレース ホルダー値としてバッファー サイズを 1 バイトに設定します。 アップストリーム フィルターが接続すると、 CTransInPlaceFilter クラスによってダウンストリーム アロケーターが再ネゴシエーションされます。 このクラスのピン接続プロセスの詳細については、「 CTransInPlaceFilter クラス」を参照してください。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|