2017-03-08 62 views
0

我正在实施一个媒体基础的示例,使用下面的链接。
https://msdn.microsoft.com/en-us/library/windows/desktop/ms701605(v=vs.85).aspxEVR获取错误MF_E_STREAMSINKS_FIXED - Windows Media Foundation

我对这个例子所做的更改是我通过调用添加到Streams中。我现在面临

CreateMediaSource(wFile1, &m_pSource_1); 
CreateMediaSource(wFile2, &m_pSource_2); 

CreateAggregatedSource(m_pSource_1, m_pSource_2, &m_pAggregatedSource); 

m_pAggregatedSource->CreatePresentationDescriptor(&pSourcePD); 

m_pSession->SetTopology(0, pTopology); 

的问题是,我得到以下错误,当我运行应用程序:

Code: 0xC00D4A3B  
Enum: MF_E_STREAMSINKS_FIXED  
Message: Stream Sinks cannot be added to or removed from this Media Sink because its set of streams is fixed. 

我想要实现什么:
我想在一个视频显示两个视频流使用EVR Windows Media Foundation的渲染器。

+0

准备好时我会提供一个工作示例。我认为的主要问题是,您需要手动为子流关联媒体类型,因为mediasession无法。 – mofo77

+0

感谢您对此的帮助,工作示例将有所帮助。 – User7723337

回答

0

在对EVR进行大量调查并使用视频混合器显示两个视频之后,我得出的结论是,evr并不是解决方案(至少在Windows 7上)。

EVR和Mixer Video在简单情况下无法呈现两个或更多视频。也许缺少文档,也许...

对我来说,最好的方法是使用自定义的evr渲染器,它可以在不使用混合器视频(不需要imftransform)的情况下进行混合。渲染器处理directx事物,因此它可以直接处理视频混合。

+0

感谢您的答复 - 经过调查和实验后,我无法获得视频混合EVR的工作。所以虽然这个定制调音台需要实施。所以开始研究混音器。但用定制调音台也无法渲染单个视频流。组合使用单个视频流+自定义混音器+默认演示者 - 无法显示视频流。 – User7723337

+0

我试图实现自定义视频混合器,只是为了看看会发生什么。我会提供反馈。 – mofo77

+0

即使只有一个视频流而没有任何混音,也很难让自定义混音器正常工作。我正在努力让定制调音台与EVR +默认演示者一起播放一个视频流,但没有运气。 – User7723337