Partilhar via


Controlo de Fluxo

[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.]

A interface IVMRVideoStreamControl no(s) pino(s) de entrada do VMR permite que aplicativos e filtros upstream controlem o comportamento do componente misturador, incluindo a ordem Z e o estado ativo dos fluxos de entrada do VMR. Embora essa interface esteja exposta nos pinos, ela opera no componente misturador do VMR, portanto, só está disponível quando o misturador é carregado, que é quando o VMR está processando vários fluxos de entrada. Os filtros upstream usam o SetColorKey e métodos GetColorKey para controlar a chave de cor de origem. Esses métodos permitem efeitos como a sobreposição de animação sobre vídeo. Basta definir a chave de cor para a cor de fundo do fluxo de animação, e o VMR irá misturar esse fluxo com outro fluxo de vídeo. Os aplicativos devem tomar cuidado para não alterar a chave de cor para algum valor que seja diferente do valor que está sendo usado por um filtro upstream, como um decodificador.

Os filtros usam o GetStreamActiveState e métodos de SetStreamActiveState para informar ao misturador se deve esperar dados de entrada de um pino especificado. Por exemplo, o decodificador Line21 usa esses métodos para ativar o pino de entrada do VMR para dados Line21 somente quando esses dados estão presentes no fluxo. Definir um pino para um estado inativo instrui o misturador a não esperar pelos dados de um pino especificado antes de compor a imagem.