管道层 ASF 组件

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

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

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

  • ASF 媒体源由表示 ASF 文件的媒体基础提供。
  • 音频重采样器、视频图像大小调整器等, (转换)
  • 音频和视频呈现器 (接收器)

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

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

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

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

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

媒体基础中的 ASF 支持