- 论坛徽章:
- 0
|
我没有继承sdk里面的类,想自己实现各个接口
class MyFilter : public IBaseFilter;
class MyPin : public IPin;
class MyEnumPins : public IEnumPins;
class MyEnumMediaTypes : public IEnumMediaTyps;
这4个类我已经实现了所有虚函数
然后
pmf = new MyFilter();
hr = pGraph->AddFilter( (IBaseFilter *)pmf, _T("My filter") );
hr = pBuild->RenderStream(&PIN_CATEGORY_PREVIEW, &MEDIATYPE_Video, pCap, NULL, (IBaseFilter *)pmf);
//pGraph是IGraphBuilder
//pBuild是ICaptureGraphBuilder2
//pCap是IBaseFilter
//3个变量都已经正确初始化
我调试发现只有一下函数被调用,Pin并没有进行connect
MyFilter::JoinFilterGraph
MyFilter::EnumPins
MyEnumPins::Next
MyFilter::EnumPins
MyEnumPins::Next
正常来讲Next之后得到Pin,应该调用Pin的connect相关函数才对
难道我对RenderStream理解有误? |
|