0

我在 msdn RenderStream中读到我们可以RenderStream多次调用来制作长过滤器链。我有以下过滤器链:

Capture Filter -> Sample Grabber -> Transformation Filter -> Video Mixing Renderer9

我正在尝试以RenderStream编程方式做同样的事情。

pBuid->RenderStream(&PIN_CATEGORY_CAPTURE,&MEDIATYPE_Video,pCap,pSampleGrabber,pTransformFilter);

pBuid->RenderStream(NULL,NULL,pTransformFilter,NULL,pVMRender);

但是,上面的代码不起作用。执行后,首先RenderStream显示控制台窗口(win32)并且什么都不做。请帮助我如何渲染Capture->Sample Grabber->Transform Filter->Renderer

4

2 回答 2

0

解决了这个问题:@CPlusSharp,你是对的,这是媒体类型问题。我为 AM_MEDIATYPE 设置了正确的媒体类型。感谢大家的帮助:)

于 2012-08-24T06:19:03.800 回答
0

Pin_Category_preview如果您正在使用,则需要使用videoRenderer. 尝试以下操作:

pBuid->RenderStream(&PIN_CATEGORY_CAPTURE,&MEDIATYPE_Video,pCap,pSampleGrabber,pTransformFilter);

pBuid->RenderStream(&PIN_CATEGORY_PREVIEW,&MEDIATYPE_Video,pCap,null,null); //the preview pin automatically connects to the renderer.
于 2012-08-24T06:07:35.320 回答