Partilhar via


Instanciando MFTs de Codec

Media Foundation Transforms (MFTs) são objetos COM que implementam a interface IMFTransform. Um MFT é um objeto para transformar dados multimédia como parte de um canal de processamento. Um pipeline é um gráfico acíclico direcionado, consistindo em fontes de mídia, transformações de mídia e dissipadores de mídia. Um pipeline processa streaming de dados multimédia de forma assíncrona.

Embora os MFTs possam ser instanciados e usados independentemente da infraestrutura de pipeline do Media Foundation, é preferível usar o framework Media Foundation sempre que possível.

Você pode criar um codec MFT chamando o função CoCreateInstance. Você deve passar o identificador de classe do MFT, o identificador de interface de IMFTransforme um ponteiro para um ponteiro IMFTransform.

Os identificadores de classe do codec MFTs são definidos como constantes no arquivo de cabeçalho wmcodecdsp.h.

A constante para o identificador de interfaceIMFTransformé IID_IMFTransform.

O exemplo de código a seguir demonstra como criar uma instância de um codec MFT:

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

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

Trabalhando com MFTs Codec