11、媒体基础转换(Media Foundation Transforms)技术解析

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

1. 输入输出流函数差异

在媒体基础转换(MFT)中, GetInputStream() GetOutputStream() 函数的主要区别在于它们对应参数结构中返回的标志。 GetOutputStream() 函数包含一些额外的标志:
- MFT_OUTPUT_STREAM_FIXED_SAMPLE_SIZE :该标志表明每个样本将具有固定的大小。
- MFT_OUTPUT_STREAM_PROVIDES_SAMPLES :此标志告知调用者,该结构将在输出端提供自己的样本。

MFT_OUTPUT_STREAM_INFO 的其他成员包含与之前所示的相应 MFT_INPUT_STREAM_INFO 结构成员相同的信息。如果上游 MF 组件产生的输出缓冲区格式与下游 MF 组件期望的输入缓冲区格式不兼容,客户端可以操作样本以使组件协同工作,或者尝试找到一个中间 MFT 进行转换。

2. 媒体类型选择函数

当 MFT 客户端确定了预期的输入和输出流行为后,就可以开始进行媒体类型协商。协商过程是构建拓扑结构的一部分,目的是让相邻的 MF 组件相互连接。也就是说,上游 MF 组件需要与下游组件就一种通用的媒体格式达成一致,上游组件必须以一种下游组件能够理解的格式生成数据。如果两个 MF 组件无法就媒体类型达成一致,客户端会在它们之间插入各种其他 MFT,试图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值