【问题标题】:Media Foundation: multi-input MFT and topology connection order媒体基础:多输入MFT和拓扑连接顺序
【发布时间】:2016-09-16 17:10:20
【问题描述】:

问题

我正在编写一个带有两个输入和一个输出的自定义 MFT(它将两个视频流合并为一个)。

我的 MFT 要求在其输入之前设置媒体类型,然后才能提供输出类型。

我通过将两个源节点(它们从聚合媒体源获取不同的流)连接到我的转换节点,然后将 EVR 连接到我的单个输出来设置我的拓扑。

当我启动媒体会话时,我看到拓扑在第一个输入上调用 SetInputType,它成功了。

但随后它立即尝试获取输出类型:首先在我的 MFT 上调用 GetOutputCurrentType,它返回 MF_E_TRANSFORM_TYPE_NOT_SET,因为它无法提供一个,然后通过调用 GetOutputAvailableType,我返回 @ 987654325@ 根据文档(说您必须在设置输出类型之前设置输入类型;我也尝试输出一些部分媒体类型,但它是相同的)。

这就是问题所在:在那之后,拓扑似乎放弃了我的 MFT:它永远不会在第二个输入上调用 SetInputType

问题

如何强制拓扑在处理输出之前设置所有输入类型?

【问题讨论】:

    标签: ms-media-foundation


    【解决方案1】:

    阅读:Multiple input

    在 Windows 7 下,它不起作用...

    您可以像我在 MFNode 项目中那样提供自定义媒体会话。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多