Direct Show Capture filter "wrapper"
I need to write a DirectShow capture filter that wraps the "real" video device (fitler) and deinterlaces the captured video. From the interface perspective, this has to be a separate video device available in enumerator and when choosen, it connects to a real video device and inserts a transform filter (deinterlace) between video device ou开发者_运维百科tput pin and the its own output pin. My question is - is my approach correct? I want to simply develop a DShow capture video filter, instantiate a transform filter within and connect pins from my filter automatically. Is there a better way to "inject" a transfrom filter between a real video device and the application that uses it? Regards
Dominik Tomczak
To deinterlace without a wrapper, you can create a transform filter and give it a very high merit, that way it can be automatically added (injected) to graphs. See MatrixMixer which does something simular for audio.
If you really need a wrapper, create a second graph with the original video device and the transform filter. Then transfer the output into the graph where your wrapper filter is in. See GMFBridge for an example how to use the output of graph A as the input of graph B.
精彩评论