Compilação avançada de topologia

Esta seção descreve algumas técnicas avançadas para criar topologias. Você pode usar essas técnicas se quiser mais controle sobre as topologias enviadas para a Sessão de Mídia.

Como essas técnicas se destinam a cenários que vão além da funcionalidade fornecida pelo carregador de topologia padrão, muitos dos detalhes dependerão dos requisitos específicos do aplicativo. Portanto, esta seção é organizada livremente em torno de subtarefas menores, em vez de cenários completos de ponta a ponta.

O aplicativo de reprodução típico segue estas etapas:

  1. O aplicativo cria uma topologia parcial e a enfileira na Sessão de Mídia.
  2. A Sessão de Mídia invoca o carregador de topologia para resolve a topologia.

Se você quiser ir além dos recursos do carregador de topologia, há três abordagens gerais:

  • Crie uma topologia completa. Quando você enfileirar a topologia na Sessão de Mídia, chame IMFMediaSession::SetTopology com o sinalizador MFSESSION_SETTOPOLOGY_NORESOLUTION. Esse sinalizador impede que a Sessão de Mídia tente resolve a topologia.

  • Invoque diretamente o carregador de topologia para resolve a topologia. Em seguida, você pode modificar a topologia completa antes de enfileira-la na Sessão de Mídia.

  • Implementar um carregador de topologia personalizado. Com essa abordagem, você enfileira uma topologia parcial, mas a Sessão de Mídia invoca seu carregador personalizado em vez da implementação padrão do Media Foundation. Uma vantagem dessa abordagem é que você pode executar a compilação de topologia personalizada dentro do ambiente protegido. (Nesse caso, no entanto, o carregador de topologia deve ser um componente confiável. Para obter mais informações, consulte Caminho de mídia protegida.)

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

Tópico Descrição
Carregadores de topologia personalizados Como fornecer uma implementação personalizada de IMFTopoLoader para a Sessão de Mídia.
Associando nós de saída a coletores de mídia Como preparar os nós de saída em uma topologia se você estiver usando o carregador de topologia fora da Sessão de Mídia.
Adicionando um decodificador a uma topologia Como selecionar um decodificador manualmente e adicioná-lo a uma topologia.

 

Topologias