Режимы работы VMR
[Функция, связанная с этой страницей, DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngineи аудио и видеозахват в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код MediaPlayer, IMFMediaEngine и аудио-видеозахват в Media Foundation вместо DirectShowпо возможности. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]
Архитектура компонента vmR позволяет приложениям настраивать его различными способами в зависимости от того, как выполняется отрисовка. В следующей таблице показаны три режима презентации и два режима смешивания, а также компоненты, которые присутствуют для каждой конфигурации.
Режим | Один поток | Несколько потоков (режим смешивания) |
---|---|---|
Оконный | Единица синхронизации Allocator-presenterCore Диспетчер окон |
MixerCompositor* Allocator-докладчика Единица синхронизации ядра Диспетчер окон |
Безоконный | Единица синхронизации Allocator-presenterCore |
MixerCompositor* Allocator-докладчика Единица синхронизации ядра |
Отрисовка без отрисов | Модуль синхронизации Allocator-presenter (предоставленный приложением)Core Synchronization Unit |
MixerCompositor* Allocator-presenter (предоставляется приложением) Единица синхронизации ядра |
* Указывает, что у приложения есть возможность предоставить пользовательский компонент или использовать компонент по умолчанию.
Во всех конфигурациях основной момент, который следует помнить при создании графов фильтров с помощью VMR, заключается в том, что перед подключением к ней необходимо настроить VMR.
Для всех конфигураций пин-коды нельзя динамически добавлять или удалять после подключения vmR к вышестоящему фильтру, но они могут быть подключены и отключены. Если приложение не уверены, сколько контактов потребуется, необходимо настроить VMR для максимального числа, которое может потребоваться. Наличие неиспользуемых входных закреплений в фильтре не снижает производительность отрисовки. В отличие от старого средства переложения, vmR не имеет выходного пин-кода, так как для управления окнами не требуется отдельный фильтр.
В следующих разделах описывается настройка VMR для заданного режима:
- режиме совместимости vmR
- режим без окон vmR
- VMR с несколькими потоками (режимом смешивания)
- режим микширования YUV
- размещение и перемещение прямоугольников видео в пространстве композиции
- режим воспроизведения без отрисовки VMR (настраиваемый Allocator-Presenters)
- монопольный режим DirectDraw