Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize 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.]
Quando dois filtros se conectam, eles concordam em um tipo de mídia, que descreve o formato dos dados que o filtro upstream fornecerá. Na maioria dos casos, o tipo de mídia é fixo para a duração da conexão. No entanto, o DirectShow oferece suporte limitado para filtros para alterar o tipo de mídia. Quando um filtro alterna tipos de mídia, ele é chamado de alteração de formato dinâmico . Se você estiver escrevendo um filtro DirectShow, você deve estar ciente dos mecanismos para alterações de formato dinâmico. Mesmo que o filtro não suporte essas alterações, ele deve responder corretamente se outro filtro solicitar um novo formato.
O DirectShow define vários mecanismos distintos para alterações de formato dinâmico, dependendo do estado do gráfico de filtro e do tipo de alteração necessária.
- Se o gráfico estiver parado, os pinos podem se reconectar e renegociar o tipo de mídia. Para obter mais informações, consulte Reconectando Pins.
- Alguns filtros podem reconectar pinos mesmo quando o gráfico está ativo (em execução ou pausado). Para obter mais informações sobre esse mecanismo, consulte de reconexão dinâmica .
Caso contrário, se o gráfico estiver ativo, mas os filtros em questão não suportarem reconexões de pinos dinâmicos, há três mecanismos possíveis para alterar o formato:
- QueryAccept (Downstream) é usado quando Se um pino de saída propõe uma alteração de formato para seu par downstream, mas somente se o novo formato não requer um buffer maior.
- QueryAccept (Upstream) é usado quando um pino de entrada propõe uma alteração de formato para seu par upstream. O novo formato pode ter o mesmo tamanho ou ser maior.
- ReceiveConnection é usado quando um pino de saída propõe uma alteração de formato para seu par downstream e o novo formato requer um buffer maior.
Tópicos relacionados