次の方法で共有


コーデック MFT のインスタンス化

Media Foundation Transforms (MFT) は、 IMFTransform インターフェイスを実装する COM オブジェクトです。 MFT は、パイプラインの一部としてマルチメディア データを変換するためのオブジェクトです。 パイプラインは、メディア ソース、メディア変換、メディア シンクで構成される有向非巡回グラフです。 パイプラインは、ストリーミング マルチメディア データを非同期的に処理します。

MFT は Media Foundation パイプライン インフラストラクチャとは独立してインスタンス化して使用できますが、可能な場合は MediaFoundation フレームワークを使用することをお勧めします。

CoCreateInstance 関数を呼び出すことで、コーデック MFT を作成できます。 MFT のクラス識別子、 IMFTransform のインターフェイス識別子、および IMFTransform ポインターへのポインターを渡す必要があります。

コーデック MFT のクラス識別子は、wmcodecdsp.h ヘッダー ファイルの定数として定義されます。

IMFTransform インターフェイス識別子の定数がIID_IMFTransform。

次のコード例は、コーデック MFT のインスタンスを作成する方法を示しています。

HRESULT CreateVideoEncoderMFT(IMFTransform** ppMFT)
{
    if (ppMFT == NULL)
        return E_POINTER;

    return CoCreateInstance(CLSID_CWMV9EncMediaObject,
                            NULL,
                            CLSCTX_INPROC_SERVER, 
                            IID_IMFTransform, 
                            (void**)ppMFT);
}

コーデック MFT の操作