2017-03-08 13 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); 

問題は、私がアプリケーションを実行すると、私はエラーの下に取得しています、次のとおりです。
は、私は1本のビデオに2つのビデオストリームを表示したい:私は実装したい何

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

準備が整い次第、作業サンプルを提供します。私が考えている主な問題は、中世のことができないので、あなたがサブストリームのために手作業でメディアタイプを否定する必要があるということです。 – mofo77

+0

これを手助けしてくれてありがとう、作業例は多くの助けになります。 – User7723337

答えて

0

EVRとビデオミキサーを使用して2つのビデオを表示すると、多くの調査の結果、EVRはこれ以上の解決策ではないという結論に達しました(少なくともWindows 7では)。

EVRとミキサービデオは単純なケースで2つ以上のビデオをレンダリングできません。おそらくドキュメンテーションの不足、おそらく...

私にとっては、ミキサービデオのデザインを使用せずに、ミキシングを行うカスタムのevrレンダラーを使用することが最善の方法です(imftransformは不要です)。レンダラーはDirectXのものを処理するので、ビデオのミキシングを直接処理できます。

+0

返事をありがとう - 調査と実験の後、私はビデオミキシングのために働くEVRを得ることができません。だからカスタムミキサーを実装する必要があります。そこでミキサーで作業を始めました。しかし、カスタムミキサーでも、単一のビデオスチームをレンダリングできません。組み合わせは単一のビデオストリーム+カスタムミキサー+デフォルトのプレゼンターを使用 - ビデオストリームを表示することはできません。 – User7723337

+0

私はカスタムビデオミキサーも実装しようとしていますが、何が起こるか見るだけです。私はフィードバックをします。 – mofo77

+0

カスタムミキサーは、ミックスすることなく1つのビデオストリームでも動作するようにするのは非常に困難です。私は、カスタムミキサーに運がないEVR +デフォルトのプレゼンターを使って1つのビデオストリームを再生するように努力しています。 – User7723337

関連する問題