Управление потоком
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Интерфейс IVMRVideoStreamControl на входных контактах VMR позволяет приложениям и фильтрам вышестоящий управлять поведением компонента микшера, включая Z-порядок и активное состояние входных потоков VMR. Хотя этот интерфейс предоставляется на контактах, он работает с компонентом микшера VMR, поэтому он доступен только при загрузке микшера, то есть когда VMR обрабатывает несколько входных потоков. Вышестоящие фильтры используют методы SetColorKey и GetColorKey для управления ключом цвета источника. Эти методы обеспечивают эффекты, такие как наложение анимации на видео. Просто задайте для ключа цвета цвет фона потока анимации, и VMR будет смешивать этот поток с другим видеопотоком. Приложения должны следить за тем, чтобы ключ цвета не изменялся на значение, отличное от значения, используемого фильтром вышестоящий, например декодером.
Фильтры используют методы GetStreamActiveState и SetStreamActiveState , чтобы сообщить микшеру, следует ли ожидать входные данные от указанного контакта. Например, декодер Line21 использует эти методы для активации входного контакта VMR для данных Line21 только в том случае, если эти данные присутствуют в потоке. Установка неактивного состояния указывает микшеру не ждать данных из указанного контакта перед составлением изображения.