VMR 操作模式

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

VMR 的组件体系结构使应用程序能够以各种方式对其进行配置,具体取决于呈现的执行方式。 下表显示了三种表示模式和两种混合模式,以及每个配置存在的组件。

模型 单流 混合模式) (多个流
窗口 Allocator-presenterCore 同步单元
窗口管理器
MixerCompositor*
分配器-演示者
核心同步单元
窗口管理器
窗户 Allocator-presenterCore 同步单元
MixerCompositor*
分配器-演示者
核心同步单元
无呈现 应用程序) 核心同步单元提供的分配器 (
MixerCompositor*
应用程序) 提供的分配器 (
核心同步单元

 

* 指示应用程序可以选择提供自定义组件或使用默认组件。

在所有配置中,在使用 VMR 创建筛选器图时,main要记住的是,必须先配置 VMR,然后再连接它。

对于所有配置,VMR 连接到上游筛选器后,无法动态添加或删除引脚,但可以连接和断开连接。 如果应用程序不确定需要多少个引脚,则应将 VMR 配置为可能需要的最大数目。 筛选器上存在未使用的输入引脚不会降低呈现性能。 与旧的覆盖混音器不同,VMR 没有输出引脚,因为它不需要单独的筛选器进行窗口管理。

以下部分介绍如何为给定模式配置 VMR: