媒体源对象模型

本主题介绍 Microsoft Media Foundation 中媒体源的对象模型。 媒体源必须实现两个对象:

  • 一个演示描述符,描述源的内容,包括流的数量和每个流的格式。 有关演示文稿描述符的详细信息,请参阅 演示文稿描述符
  • 生成源数据的一个或多个媒体流。

在播放开始之前,源不会创建流。

媒体源接口

媒体源必须通过 QueryInterface公开以下接口。

接口 描述
IMFMediaSource 所有媒体源都是必需的。
IMFMediaEventGenerator 所有媒体源都是必需的。 IMFMediaSource 接口继承此接口。

 

(可选)媒体源可以实现 IMFGetService 接口,并将以下任何接口实现为服务:

服务接口 描述
IMFRateControl 控制播放速率。
IMFRateSupport 报告支持的播放速率范围。
IMFQualityAdvise 使质量管理器能够调整音频或视频质量。
IMFMetadataProvider 提供元数据。

 

如果媒体来源可以以正常速度(1.0)以外的速度播放,它应公开利率控制服务(IMFRateControlIMFRateSupport)。 否则,假定源仅支持正常速度播放。 有关详细信息,请参阅 实现速率控制

有关服务接口和 IMFGetService的详细信息,请参阅 服务接口

媒体流接口

媒体流必须实现以下接口。

接口 描述
IMFMediaStream 所有媒体流都是必需的。
IMFMediaEventGenerator 所有媒体流都是必需的。 IMFMediaStream 接口继承此接口。

 

目前没有为媒体流定义服务接口。

媒体源