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:
- O aplicativo cria uma topologia parcial e a enfileira na Sessão de Mídia.
- 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. |
Tópicos relacionados