0
votes

I am implementing an example of media foundation, using below link.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms701605(v=vs.85).aspx

The change that I have did to this example is I have added to Streams by calling.

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);

Issue that I am facing is, I am getting below error when I run the application:

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.

What I want to implement:
I want to display two video streams in one video renderer using EVR Windows Media Foundation.

1
I will provide a working sample when ready. The major problem i think is that you need to negociate media type by hand for the substream, because the mediasession is not able to. - mofo77
Thanks for helping out on this, working example will help a lot. - User7723337

1 Answers

0
votes

After a lot of investigation on EVR and using Video Mixer to display two video, my conclusion is that evr is not a solution for this (at least on Windows 7).

EVR and Mixer Video simply fail to render two or more video in a simple case. Perhaps a lack of documentation, perhaps...

For me the best way would be to use a custom evr renderer that will do the mixing, without using the design of a mixer video (no need imftransform). The renderer handle the directx things, so it can handle directly the video mixing.