Partager via


Instanciation des mfts de codec

Media Foundation Transforms (MFT) sont des objets COM qui implémentent l’interface IMFTransform . Un MFT est un objet permettant de transformer des données multimédias dans le cadre d’un pipeline. Un pipeline est un graphe acyclique dirigé, composé de sources multimédias, de transformations multimédias et de récepteurs multimédias. Un pipeline traite les données multimédias en streaming de manière asynchrone.

Bien que les MFT puissent être instanciés et utilisés indépendamment de l’infrastructure de pipeline Media Foundation, il est préférable d’utiliser le framework MediaFoundation dans la mesure du possible.

Vous pouvez créer un codec MFT en appelant la fonction CoCreateInstance . Vous devez passer l’identificateur de classe du MFT, l’identificateur d’interface de IMFTransform et un pointeur vers un pointeur IMFTransform .

Les identificateurs de classe des MFT de codec sont définis en tant que constantes dans le fichier d’en-tête wmcodecdsp.h.

La constante de l’identificateur d’interface IMFTransform est IID_IMFTransform.

L’exemple de code suivant montre comment créer un instance d’un codec MFT :

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

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

Utilisation de codecs MFT