Controle de fluxo
[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.]
A interface IVMRVideoStreamControl nos pinos de entrada da VMR permite que aplicativos e filtros upstream controlem o comportamento do componente do mixer, incluindo a ordem Z e o estado ativo dos fluxos de entrada da VMR. Embora essa interface seja exposta nos pinos, ela opera no componente de mixer da VMR, portanto, ela só está disponível quando o mixer é carregado, que é quando a VMR está processando vários fluxos de entrada. Os filtros upstream usam os métodos SetColorKey e GetColorKey para controlar a chave de cor de origem. Esses métodos permitem efeitos como a sobreposição de animação em vídeo. Basta definir a chave de cor para a cor da tela de fundo do fluxo de animação e a VMR misturará esse fluxo com outro fluxo de vídeo. Os aplicativos devem ter cuidado para não alterar a chave de cor para algum valor diferente do valor que está sendo usado por um filtro upstream, como um decodificador.
Os filtros usam os métodos GetStreamActiveState e SetStreamActiveState para informar ao mixer se deseja esperar dados de entrada de um pin especificado. Por exemplo, o Decodificador Line21 usa esses métodos para ativar o pin de entrada da VMR para dados line21 somente quando esses dados estiverem presentes no fluxo. Definir um pino como um estado inativo instrui o mixer a não aguardar dados de um pin especificado antes de compor a imagem.