如何在directshow中使用第3方的fitler阿?

ghostliu 2005-06-04 12:08:56
本人欲在程序中使用第三方注册的filter,比如说divx的压缩filter。
这是DivX ;-) MPEG-4 Fast-Motion 的GUID
DEFINE_GUID(CLSID_DivXE,
0x33D9A760, 0x90C8, 0x11D0, 0xBD, 0x43, 0x00, 0xA0, 0xC9, 0x11, 0xCE, 0x86);
但是编译老是报错:error LNK2001: unresolved external symbol _CLSID_DivXE

CLSID_DivXE是自己定义的名字。
各位兄台,具体该怎么做啊?




...全文
100 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghostliu 2005-06-08
  • 打赏
  • 举报
回复
呵呵,多谢各位。我现在已经解决了,只能用枚举的方式来得到第三方的filter。
henryjee 2005-06-06
  • 打赏
  • 举报
回复
#include <initguid.h>,加一下试试
yyhzpk 2005-06-06
  • 打赏
  • 举报
回复
DivX解码器的GUID好像是这样子的,是不是错了,楼主可以试一下,
DEFINE_GUID(CLSID_DIVX,0x78766964, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
DEFINE_GUID(CLSID_DIVX_UC, 0x58564944, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
ghostliu 2005-06-04
  • 打赏
  • 举报
回复
我所说的filter是已经在系统中注册过的,能在graphedit中看到并使用。我想用CoCreateInstance(CLSID_DivXE,NULL,CLSCTX_INPROC_SERVER,IID_IMediaFilter,(void **)&pDivXE);通过pDivXE来使用这个filter。这个filter的guid值是从graphedit中拷贝出来的
DEFINE_GUID(CLSID_DivXE,
0x33D9A760, 0x90C8, 0x11D0, 0xBD, 0x43, 0x00, 0xA0, 0xC9, 0x11, 0xCE, 0x86);
但是现在那个指针是空值。CLSID_DivXE也是我自己定义的名称。不知该怎么办?

xiangding 2005-06-04
  • 打赏
  • 举报
回复
注册过的Filter
直接就可以用了
社会栋梁 2005-06-04
  • 打赏
  • 举报
回复
你的filter没有注册吧?

2,542

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧