Режимы работы VMR

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Компонентная архитектура VMR позволяет приложениям настраивать ее различными способами в зависимости от того, как должна выполняться отрисовка. В следующей таблице показаны три режима представления и два режима микширования, а также компоненты, которые присутствуют для каждой конфигурации.

Режим Один поток Несколько потоков (режим микширования)
Оконный Единица синхронизации allocator-presenterCore
Диспетчер окон
MixerCompositor*
Распределитель-выступающий
Базовая единица синхронизации
Диспетчер окон
Безоконные Единица синхронизации allocator-presenterCore
MixerCompositor*
Распределитель-выступающий
Базовая единица синхронизации
Без отрисовки Распределитель и выступающий (предоставляется приложением)Базовая единица синхронизации
MixerCompositor*
Allocator-presenter (предоставляется приложением)
Базовая единица синхронизации

 

* Указывает, что приложение может предоставить пользовательский компонент или использовать компонент по умолчанию.

Во всех конфигурациях при создании графов фильтров с помощью VMR следует помнить main, что необходимо настроить VMR перед подключением.

Для всех конфигураций контакты нельзя динамически добавлять или удалять после подключения VMR к фильтру вышестоящий, но их можно подключить и отключить. Если приложение не знаете, сколько контактов потребуется, ему следует настроить VMR для максимального числа, которое может потребоваться. Наличие неиспользуемых входных контактов на фильтре не снижает производительность отрисовки. В отличие от старого средства наложения, VMR не имеет выходного контакта, так как для управления окнами не требуется отдельный фильтр.

В следующих разделах описывается настройка VMR для заданного режима.