Instanziieren von Codec-MFTs

Media Foundation Transforms (MFTs) sind COM-Objekte, die die NSTRANSFORM-Schnittstelle implementieren. Ein MFT ist ein Objekt zum Transformieren von Multimediadaten als Teil einer Pipeline. Eine Pipeline ist ein gerichteter azyklischer Graph, der aus Medienquellen, Medientransformationen und Mediensenken besteht. Eine Pipeline verarbeitet das Streaming von Multimediadaten asynchron.

Obwohl MFTs unabhängig von der Media Foundation-Pipelineinfrastruktur instanziiert und verwendet werden können, ist es vorzuziehen, nach Möglichkeit das MediaFoundation-Framework zu verwenden.

Sie können einen Codec-MFT erstellen, indem Sie die CoCreateInstance-Funktion aufrufen. Sie müssen den Klassenbezeichner des MFT, den Schnittstellenbezeichner von VERETRANSFORMund einen Zeiger auf einen NSTRANSFORM-Zeiger übergeben.

Die Klassenbezeichner der Codec-MFTs werden als Konstanten in der Headerdatei wmcodecdsp.h definiert.

Die Konstante für den BEzeichner der BEzeichner der ENTTRANSFORM-Schnittstelle ist IID-KENNUNGTransform. _

Im folgenden Codebeispiel wird veranschaulicht, wie eine Instanz eines Codec-MFT erstellt wird:

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

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

Arbeiten mit Codec-MFTs