Escrevendo um MFT personalizado

Esta seção descreve como escrever uma MFT (Media Foundation Transform) personalizada.

Lista de verificação do MFT

Ao implementar um MFT personalizado, use a seguinte lista de verificação para determinar os requisitos:

MFT Requisitos
Todos os MFTs Todos os MFTs devem implementar IMFTransform.
Os tópicos a seguir fornecem mais informações sobre como implementar essa interface:
Codificadores e decodificadores Requisitos: consulte Implementando um Codec MFT.
Recomendado: implemente IMFQualityAdvise ou IMFQualityAdvise2 para dar suporte a notificações de QoS (qualidade de serviço).
Decodificadores de vídeo e processadores de vídeo Opcional: suporte à aceleração de vídeo DirectX.
Codecs de hardware Consulte MFTs de hardware.
Para tornar o MFT detectável por aplicativos... Consulte Registro e enumeração de MFTs.
Processamento de dados assíncrono O modelo de MFT padrão usa chamadas síncronas (bloqueio) para processar dados. Para alguns MFTs, o processamento assíncrono pode ser mais eficiente. No entanto, também é mais complexo implementar.
Para obter mais informações, consulte MFTs assíncronos.
Controle de taxa, modo de truque ou reprodução inversa Consulte Implementando o controle de taxa.
Se o MFT criar threads... Implemente a interface IMFRealTimeClient .
Se o MFT tiver restrições de licenciamento... Considere usar o mecanismo de campo de uso. Confira Restrições de campo de uso.
Se você estiver portando um DMO (Objeto de Mídia DirectX) existente... Consulte Comparação de MFTs e DMOs.

Esta seção contém os seguintes tópicos: