DirectShow中RenderStream时可以加入自己写得Filter吗?
我用DirectShow对视频采集卡进行录像,主要用的是下面的语句:
hr = pBuild-> RenderStream(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video, pCap, NULL, pMux);
为了在视频流中加入实时时间显示,我自己写了一个Trans Filter,但是怎样才能将其加入RenderStream的链中呢?请高手指教!
[解决办法]
在初始定义模版的时候,不要用MERIT_DO_NOT_USE,而是定义一个数,这个数越大,枚举的优先级越高
模版类似:
const AMOVIESETUP_FILTER sudEZrgb24 =
{
&CLSID_EZrgb24, // Filter CLSID
L "Image Effects (EZRGB24) ", // String name
MERIT_DO_NOT_USE, // Filter merit
2, // Number of pins
sudpPins // Pin information
};
[解决办法]
自己写一个videorender,在buffer贴上就可以了
[解决办法]
加入Graph就可以,或者自己手动连接pin