Freigeben über


Instanziieren von Codec-MFTs

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

MFTs können zwar unabhängig von der Media Foundation-Pipelineinfrastruktur instanziiert und verwendet werden, es ist jedoch vorzuziehen, das MediaFoundation-Framework nach Möglichkeit 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 IMFTransform und einen Zeiger auf einen IMFTransform-Zeiger übergeben.

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

Die Konstante für den IMFTransform-Schnittstellenbezeichner ist IID_IMFTransform.

Im folgenden Codebeispiel wird veranschaulicht, wie Sie eine instance eines Codecs MFT erstellen:

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