免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2030 | 回复: 0
打印 上一主题 下一主题

[C++] directshow自定义filter的问题,没有windows编程版,只能发到这里了 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-28 16:09 |只看该作者 |倒序浏览
我没有继承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理解有误?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP