管道层 ASF 组件

在媒体基础的管道模型中,媒体源连接到一个转换,该转换会进一步连接到媒体接收器。 源中包含的数据流经转换,并在接收器中生成输出媒体示例以便播放或编码。 根据应用程序是要播放 ASF 内容还是要编码到 ASF 文件,应用程序必须以不同的方式生成管道。

以下主题包含有关管道层组件的信息。

用于播放的 ASF 管道的三个主要组件如下所示:

  • ASF 媒体源由媒体基础提供,表示 ASF 文件。
  • 音频 resamplers、视频图像 resizers 等 (变换)
  • 音频和视频呈现器 (接收器)

有关生成播放管道的信息,请参阅 创建播放拓扑

用于编码的 ASF 管道的三个主要组件如下所示:

  • 媒体源表示格式需要转换的数据。 此组件可以是媒体基础提供的默认媒体源之一,也可以是公开 IMFMediaSource 接口的自定义源。
  • Windows媒体编码器 (转换执行格式转换) 。
  • 媒体基础提供的 ASF 媒体接收器,用于在应用程序指定的输出文件中写入 ASF 对象和媒体示例。

管道在拓扑中表示,管道中的每个对象都由拓扑节点表示。 所有管道操作都是通过媒体会话来处理的。 媒体会话的责任之一是确保管道包含生成输出所需的所有组件。 例如,在编码管道中,如果音频源格式与目标格式不同,则媒体会话将插入其他转换组件,例如 resampler,用于执行适当的采样速率转换。 通过管道的数据流控制也由媒体会话管理。 在播放场景中,启动媒体会话媒体会话会将示例发送到 SAR 和 EVR,这会将其呈现在输出设备上。 对于编码,启动媒体会话将开始编码过程。 完成编码后,会话将异步通知应用程序。

以下主题包含有关使用管道层组件生成编码拓扑的分步说明。 用于读取和写入 ASF 文件的组件。

媒体基础中的 ASF 支持