Dela via


Instansiera Codec MFTs

Media Foundation Transforms (MFI) är COM-objekt som implementerar IMFTransform-gränssnittet. En MFT är ett objekt för att transformera multimediadata som en del av en pipeline. En pipeline är ett riktat acykliskt diagram som består av mediekällor, medietransformeringar och mediemottagare. En pipeline bearbetar direktuppspelning av multimediadata asynkront.

Även om MMFT kan instansieras och användas oberoende av Media Foundation-pipelineinfrastrukturen är det bättre att använda MediaFoundation-ramverket där det är möjligt.

Du kan skapa en codec MFT genom att anropa funktionen CoCreateInstance. Du måste skicka klassidentifieraren för MFT, gränssnittsidentifieraren för IMFTransformoch en pekare till en IMFTransform pekare.

Klassidentifierarna för codec MFT definieras som konstanter i huvudfilen wmcodecdsp.h.

Konstanten för IMFTransform gränssnittsidentifierare är IID_IMFTransform.

Följande kodexempel visar hur du skapar en instans av en codec MFT:

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

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

Arbeta med Codec MFTs