媒体基金会通过两个输入进行转型



是否可以将自定义AsyncMFT插入IMFMediaSession(媒体会话对象是使用MFCreateMediaSession创建的(中,该自定义异步MFT已修改为接受多个MFT作为输入(例如,连接到MFTc的MFTa和MFTb(?我在网上看到过一些参考资料,其中指出需要自定义媒体会话,但这似乎有些过头了。

我已经到了mftrace(包括代码中的调试(只是在MediaSession启动时报告Catasrophi Failure(在myMediaSession->Start(NULL,&startPos(之后立即失败(的地步。拓扑加载良好,如果两个输入MFT不连接到同一节点,则它们都工作良好。

在windows 7下,这是不可能的。

阅读:多输入和多输出

微软的Becky Weiss给出答案:

MFv1管道不支持多输入MFT。碰巧Beta 2媒体会话还没有针对这一点进行明确验证

我想说,多输入MFT是Media Foundation未来版本有望支持的内容;但就目前而言,我们还没有这种支持

我想MFv1指的是Vista,MFv2指的是Windows7。

您提供的"关于MFT"链接只是告诉您可以编写具有多个输入的转换,仅此而已。但问题不在于媒体基金会的转型。

问题是,无论您使用何种类型的连接(源>转换,转换>转换(,本机媒体会话都无法处理来自转换的多个输入流。

您收到的消息"Catasropic Failure"与我使用AudioMixerMFT和本地媒体会话收到的消息相同。

这可以在没有自定义媒体会话的Windows 10上完成吗?

我不知道。查看上面的mdsn论坛链接,昨天有人问这个。

附言:如果你选择为你的案子编写一个自定义的媒体会话,我可以帮你。由于使用了AsyncMFT,这将是一个很好的练习。

我把包含自定义媒体会话的项目移到了这里:github/mof7777(在MFNode>MFNodePlayer下(。

最新更新