18、媒体基础源与Windows属性处理程序详解

媒体基础源与Windows属性处理程序详解

1. 媒体流相关操作

在媒体处理中, SendSampleToStream() 函数起着重要作用,它会根据流的类型加载音频或视频样本。样本会被传递给 IMFMediaStream 对象,之后该方法会与解析器进行检查,判断是否到达流的末尾。若检测到流结束,函数会将此信息发送给媒体流对象,以便下次调用 IMFMediaStream::RequestSample() 函数时返回 MF_E_END_OF_STREAM 错误。

1.1 媒体流对象概述

IMFMediaStream 对象通常较为简单,其主要职责是接收样本请求,将请求传递给底层源,从源获取样本并将其发送出去。由于MF采用异步架构,样本会作为媒体事件传递给监听媒体流 IMFMediaEventGenerator 接口的客户端。

IMFMediaStream 接口仅暴露了四个方法,其中三个如下:
- GetMediaSource() :返回与流关联的源的指针。
- GetStreamDescriptor() :返回一个流描述符,该描述符展示了流支持的媒体类型和流ID。
- RequestSample() :从流中请求下一个样本。此函数调用不会直接返回样本,而是将样本作为异步媒体事件发送出去。媒体会话在尝试从源中提取下一个样本时会调用此方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值