MFCreateSampleCopierMFT 関数 (mfidl.h)
サンプル コピーャー変換のインスタンスを作成します。
構文
HRESULT MFCreateSampleCopierMFT(
[out] IMFTransform **ppCopierMFT
);
パラメーター
[out] ppCopierMFT
IMFTransform インターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。
戻り値
この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
解説
サンプル コピー機は、データを変更せずに入力サンプルから出力サンプルにデータをコピーする Media Foundation 変換 (MFT) です。 サンプルから次のデータがコピーされます。
- すべての サンプル属性。
- タイム スタンプと期間。
- サンプル フラグ ( 「IMFSample::SetSampleFlags」を参照)。
- メディア バッファー内のデータ。 入力サンプルに複数のバッファーが含まれている場合、データは出力サンプルの 1 つのバッファーにコピーされます。
- メディア ソースなどの 1 つのパイプライン オブジェクトは、出力用にメディア サンプルを割り当てます。
- メディア シンクなどの別のパイプライン オブジェクトは、独自のメディア サンプルを入力用に割り当てます。 たとえば、オブジェクトには、ビデオ メモリなどの特殊なメモリ プールから割り当てられたバッファーが必要な場合があります。
メディア シンクがメディア ソースからデータを受信するには、メディア シンクが所有するメディア サンプルにデータをコピーする必要があります。 サンプル コピー機は、この目的で使用できます。
このようなメディア シンクの具体的な例として、 拡張ビデオ レンダラー (EVR) があります。 EVR は Direct3D サーフェス バッファーを含むサンプルを割り当てます。そのため、メディア ソースからビデオ サンプルを直接受信することはできません。 Windows 7 以降では、トポロジ ローダーはメディア ソースと EVR の間にサンプル コピー機を挿入することで、このケースを自動的に処理します。
要件
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mfidl.h |
Library | Mf.lib |
[DLL] | Mf.dll |