12、媒体基础转换(Media Foundation Transforms)全解析

媒体基础转换(Media Foundation Transforms)全解析

1. MFT 操作模式

MFT 有几种主要的操作模式,这些模式决定了 MFT 在处理数据时的行为:
- MFT_OUTPUT_STREAM_CAN_PROVIDE_SAMPLES :表明 MFT 可以提供自己的样本,也可以填充传入的样本。如果在 GetOutputStreamFormat() 调用中既未设置此标志,也未设置 MFT_OUTPUT_STREAM_PROVIDES_SAMPLES 标志,客户端必须在 MFT_OUTPUT_DATA_BUFFER 结构中提供一个样本,MFT 会在 ProcessOutput() 调用期间填充该样本。
- MFT_OUTPUT_STREAM_LAZY_READ :表示如果客户端空间不足且 ProcessInput() 函数持续被调用,客户端将丢弃内部样本和数据。在此模式下运行的 MFT 在满时, ProcessInput() 函数永远不会返回 MF_E_NOTACCEPTING 错误,而是直接丢弃额外的数据。

例如,图像注入器 MFT 在 ProcessOutput() 调用中提供样本,具体来说,它会重写 ProcessInput() 调用中发送的样本信息,并在 ProcessOutput()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值