媒体源对象模型
本主题介绍 Microsoft Media Foundation 中媒体源的对象模型。 媒体源必须实现两个对象:
- 一个演示文稿描述符,描述源的内容,包括流的数量和每个流的格式。 有关演示文稿描述符的详细信息,请参阅 演示文稿描述符。
- 生成源数据的一个或多个媒体流。
在播放开始之前,源不会创建流。
媒体源接口
媒体源必须通过 QueryInterface 公开以下接口。
接口 | 说明 |
---|---|
IMFMediaSource | 对于所有媒体源是必需的。 |
IMFMediaEventGenerator | 对于所有媒体源是必需的。 IMFMediaSource 接口继承此接口。 |
(可选)媒体源可以实现 IMFGetService 接口,并将以下任何接口实现为服务:
服务接口 | 说明 |
---|---|
IMFRateControl | 控制播放速率。 |
IMFRateSupport | 报告支持的播放速率范围。 |
IMFQualityAdvise | 使质量管理器能够调整音频或视频质量。 |
IMFMetadataProvider | 提供元数据。 |
如果媒体源可以按非正常速度 (1.0) 播放,则应 (IMFRateControl 和 IMFRateSupport) 公开速率控制服务。 否则,假定源仅支持以正常速度播放。 有关详细信息,请参阅 实现速率控制。
有关服务接口和 IMFGetService 的详细信息,请参阅 服务接口。
媒体流接口
媒体流必须实现以下接口。
接口 | 说明 |
---|---|
IMFMediaStream | 对于所有媒体流是必需的。 |
IMFMediaEventGenerator | 对于所有媒体流是必需的。 IMFMediaStream 接口继承此接口。 |
目前没有为媒体流定义任何服务接口。
相关主题