Режимы работы 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 для заданного режима.
- VMR Windowed (Compatibility) Mode
- Режим vmr без окон
- VMR с несколькими потоками (режим микширования)
- Режим смешивания YUV
- Размещение и перемещение прямоугольников видео в пространстве композиции
- Режим воспроизведения без отрисовки VMR (пользовательские выступающие распределителя)
- Монопольный режим DirectDraw