首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

DMO 视频解码器有关问题

2012-03-02 
DMO 视频解码器问题DMO 视频解码器问题我按照C:\DXSDK\Samples\C++\DirectShow\DMO\DMOSample例子改写了一

DMO 视频解码器问题
DMO 视频解码器问题


我按照C:\DXSDK\Samples\C++\DirectShow\DMO\DMOSample例子改写了一个视频解码器,注册正常,我要解码的文件是ASF,我的注册函数为:
STDAPI DllRegisterServer(void)
{
  // Register ourselves as a DMO with no types
  // RGS file also registers with a merit of 0 so DirectShow won't try to use us
DMO_PARTIAL_MEDIATYPE inMT,outMT;
inMT.type =MEDIATYPE_Video;
inMT.subtype =CLSID_DLH4_UC;
outMT.type =MEDIATYPE_Video;
outMT.subtype =MEDIASUBTYPE_RGB32;
  HRESULT hr=DMORegister(L"DALI DLH4 Video Decoder DMO", 
  CLSID_Sample, 
  DMOCATEGORY_VIDEO_DECODER,
  0,
  1,
  &inMT,
  1,
  &outMT);
if(FAILED(hr)) return hr;
  // registers object
  return _Module.RegisterServer();
}
用graphedt打开我的ASF文件,发现连接图正常而且是绿色的,用WINDOWS Media Player播放器打开我的ASF文件时提示"此对象只能创建为集合对象",如附件所示:
我跟踪调试了一下代码,播放时只调用了2次InternalGetOutputStreamInfo函数,其它函数都没调用,不知道这是为什么?但是其它播放器如Media Player Classic等播放器均可播放,请高手指点!!!!!


[解决办法]
你的dmo在graphedit里连接renderer了么

热点排行