2016-09-16 96 views
1

问题媒体基金会:多输入MFT和拓扑连接顺序

我正在写有两个输入和一个输出(它结合了两个视频流为一体)的自定义MFT。

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

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

当我开始媒体会话时,我看到拓扑在第一个输入上调用了SetInputType,并且成功。

但随后立即尝试得到一个输出型:通过调用GetOutputAvailableType,这是我做回MF_E_TRANSFORM_TYPE_NOT_SET按照文档(第一个通过我的MFT,它返回MF_E_TRANSFORM_TYPE_NOT_SET因为它无法提供一个呼叫GetOutputCurrentType,然后说你必须设置输入类型之前设置输出类型;我也试图输出一些部分媒体类型,但它是一样的)。

问题出在这之后,拓扑似乎放弃了我的MFT:它从来不会在第二个输入上调用SetInputType

问题

我如何可以强制拓扑处理在输出之前将所有的输入类型?

回答

2

阅读:Multiple input

在Windows 7,这是行不通的......

你可以提供一个自定义的媒体会话就像我在一个MFNode项目做。