Quantcast
Channel: Media Foundation Development for Windows Desktop forum
Viewing all articles
Browse latest Browse all 1079

MF_TOPOLOGY_TEE_NODE, DisconnectOutput on one output, the other output stops too

$
0
0

Given a tee node with two output sinks, the first uses no CPU (render) and the second uses a lot of CPU (sample grabber).  To selectively enable the second (sample grabber) I thought I could

m_IteeNodePtr->DisconnectOutput(1);

but that also stops the render output.  If I follow the DisconnectOutput(1) with a

m_IteeNodePtr->ConnectOutput(1, m_IsampleGrabberTopologyNodePtr, 0);

then the render sink works (renders in the view window as always), but then of course so does the sample grabber (sucks up lots of CPU -- 99.99% of the time I don't need that output).  The sample grabber media type doesn't matter (NV12, YUY2 is about the same CPU use) so I presume most of  the CPU is for copying from video memory to system memory (about 3.1 MB per NV12 frame for full HD, so 90+ MB/sec).

Q: How do I selectively enable and disable an output on a tee node, so that disconnecting one output does not affect the other output?


Viewing all articles
Browse latest Browse all 1079

Trending Articles