Partilhar via


Componentes do Graph-Building

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O DirectShow fornece vários componentes que podem ser usados para criar grafos de filtro. Entre elas estão as seguintes:

Conexão Inteligente

O termo "Conexão Inteligente" abrange um conjunto de algoritmos que o Gerenciador de Grafo de Filtro usa para criar todo ou parte de um grafo de filtro. Sempre que o Gerenciador de Grafo de Filtro requer filtros adicionais para concluir o grafo, ele faz aproximadamente o seguinte:

  1. Se houver um filtro atualmente no grafo, com pelo menos um pino de entrada não conectado, o Gerenciador de Grafo de Filtro tentará usar esse filtro.
  2. Caso contrário, o Gerenciador de Grafo de Filtro procura no registro filtros que podem aceitar o tipo de mídia correto para a conexão. Cada filtro tem um valor de registro chamado "Mérito", que indica aproximadamente a probabilidade de o filtro ser útil na conclusão do grafo. O Gerenciador de Grafo de Filtro tenta filtros em ordem de valor de mérito. Para cada tipo de fluxo (como áudio, vídeo ou MIDI), o renderizador padrão tem um alto mérito. Os decodificadores também têm alto mérito. Os filtros de finalidade especial têm baixo mérito.

Se o Gerenciador de Grafo de Filtro ficar preso, ele fará backup e tentará uma combinação diferente de filtros. Você pode encontrar os detalhes exatos no tópico Conexão Inteligente.

Criando o grafo de filtro