Instanciando MFTs do Codec
As MFTs (Transformações do Media Foundation) são objetos COM que implementam a interface IMFTransform. Um MFT é um objeto para transformar dados multimídia como parte de um pipeline. Um pipeline é um grafo acyclic direcionado, composto por fontes de mídia, transformações de mídia e coletores de mídia. Um pipeline processa o 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 a estrutura MediaFoundation sempre que possível.
Você pode criar um codec MFT chamando a função CoCreateInstance . Você deve passar o identificador de classe do MFT, o identificador de interface de IMFTransform e um ponteiro para um ponteiro IMFTransform .
Os identificadores de classe dos MFTs codec são definidos como constantes no arquivo de cabeçalho wmcodecdsp.h.
A constante para o identificador de interface IMFTransform é 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);
}
Tópicos relacionados