当前位置: 代码迷 >> 多媒体/流媒体开发 >> 有先人用过这个“CoreAVC Video Decoder” filter吗?加载不成功
  详细解决方案

有先人用过这个“CoreAVC Video Decoder” filter吗?加载不成功

热度:2038   发布时间:2013-02-26 00:00:00.0
有前辈用过这个“CoreAVC Video Decoder” filter吗?加载不成功
代码如下:
IBaseFilter * m_pVideoDecodeFilter;
hr = ::CoCreateInstance(CLSID_Decoder264, NULL,CLSCTX_INPROC_SERVER,
IID_IBaseFilter, (void **)(&m_pVideoDecodeFilter));

CLSID_Decoder264宏:是CoreAVC Video Decoder这个filter的GUID号,是系统已注册的(可以在graphedit中找到);

问题:CoCreateInstance返回提示内存访问无效,不知道为什么,是不是参数没有对,困扰很久了,我很怀疑是不是IID_IBaseFilter该参数不对;还是最后那个参数的类型不是IBaseFilter *;

多多指教,先谢谢了!

------解决方案--------------------------------------------------------
是不是DEBUG模式下调试加载的?有些FILTER不允许调试的.
如果GraphEdit里可以加载,应该就是这个问题。
------解决方案--------------------------------------------------------
你应该这样,
C/C++ code
IBaseFilter * m_pVideoDecodeFilter;hr = ::CoCreateInstance(CLSID_Decoder264, NULL,CLSCTX_INPROC_SERVER,IID_IBaseFilter, (void **)(&m_pVideoDecodeFilter));MessageBox(...); //这个程序不要用 VS 启动,应该是手动双击启动后,出现 MessageBox 用 VS attach 上去,就行了,
------解决方案--------------------------------------------------------
coreavc里面有反调式的
  相关解决方案