有一个文件有两个视频流。
我想混合这两个流来制作一个输出流。(使用媒体会话)
我认为我们可以编写如下所示的拓扑结构。
https://msdn.microsoft.com/en-us/library/windows/desktop/ms701605(v=vs.85).aspx
IMFActivate *pSinkActivate = NULL;
IMFTopologyNode *pOutputNode = NULL;
pPD->GetStreamDescriptorCount(&cSourceStreams);
// For each stream, create the topology nodes and add them to the topology.
for (DWORD i = 0; i < cSourceStreams; i++)
{
IMFStreamDescriptor *pSD = NULL;
IMFTopologyNode *pSourceNode = NULL;
pPD->GetStreamDescriptorByIndex(i, &fSelected, &pSD);
// Create the media sink activation object.
if (i == 0)
CreateMediaSinkActivate(pSD, hVideoWnd, &pSinkActivate);
// Add a source node for this stream.
AddSourceNode(pTopology, pSource, pPD, pSD, &pSourceNode);
// Create the output node for the renderer.
if (i == 0)
AddOutputNode(pTopology, pSinkActivate, 0, &pOutputNode);
// Connect the source node to the output node.
pSourceNode->ConnectOutput(0, pOutputNode, 0);
SafeRelease(&pSD);
SafeRelease(&pSourceNode);
}
SafeRelease(&pSinkActivate);
SafeRelease(&pOutputNode);
我不知道自己是否表现不错。
请帮帮我。
感谢。