自己写了个Filter(DirectShow)
自己写的Filter, 用以下代码时出错:
IBaseFilter *pF = 0;
hr = CoCreateInstance(CLSID_H263ENCODER, 0, CLSCTX_INPROC_SERVER,
IID_IBaseFilter, reinterpret_cast<void**>(&pF));
提示CLSID_H263ENCODER没定义,Filter我已经注册,并且用GraphEdit测试过是没问题的.
难道只能采用Filer Mapper搜索Filter吗?
问题点数:50、回复次数:7Top
1 楼tyong(伊面)回复于 2006-03-16 17:53:23 得分 0
刚刚接触DirectShow, 还望大虾们多多指教, 谢谢Top
2 楼vcmute(BCare4 H1Rest Good9!)回复于 2006-03-16 21:29:51 得分 10
static GUID CLSID_H263ENCODER =
参考guidgen的写法Top
3 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2006-03-16 21:49:33 得分 30
你的Filter的CLSID定义,需要包含到目标工程。Top
4 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-16 22:40:23 得分 10
up!!楼上2位说的对,将你写filter时定义的CLSID拷贝过来就可以了Top
5 楼tyong(伊面)回复于 2006-03-17 09:11:21 得分 0
vcmute(不争) :
我是用guidgen工具生成的,定义如下:
// {55AAA963-3913-49f3-B5BB-97D2CBA2296A}
DEFINE_GUID(CLSID_H263ENCODER,
0x55aaa963, 0x3913, 0x49f3, 0xb5, 0xbb, 0x97, 0xd2, 0xcb, 0xa2, 0x29, 0x6a);Top
6 楼tyong(伊面)回复于 2006-03-17 09:14:08 得分 0
DentistryDoctor(MVP(Offline while working)) :
CLSID定义的头文件已经包含进去,编译没问题,可是连接的时候提示不能识别
dshowbase.obj : error LNK2001: unresolved external symbol _CLSID_H263ENCODERTop
7 楼tyong(伊面)回复于 2006-03-17 09:28:09 得分 0
是因为没有包含
#include "initguid.h"
谢谢楼上几位,等一下结帖Top
相关问题
- 为什么自己写的filter自己不能用,grapgedit却可以用(directshow)
- 为什么自己写的filter自己不能用,grapgedit却可以用(directshow)
- DirectShow Overlay Mixer Filter
- 关于自己写DirectShow Source Filter然后连接的问题,请高手看看,给点思路也好。
- 关于自己写DirectShow Source Filter然后连接的问题,请高手看看,请cvav() 来拿分。
- 关于自己写DirectShow Source Filter然后连接的问题,请高手看看,给点思路也好。
- 使用DirectShow设计了自己的Filter,请教如何在应用程序中创建Filter的实例?
- 我自己做了一个DirectShow的Filter,但使用时出问题!
- 自己建立个新的DLL作为DIRECTSHOW FILTER,但是编译不通过
- DirectShow中Filter的属性




