2017-03-08 61 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