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

DirectShow Transform Filter,该怎么处理

2012-02-07 
DirectShow Transform Filter大家好,请问DirectShow中transformFilter和主程序之间如何传递参数,非常急,请

DirectShow Transform Filter
大家好,请问DirectShow中transform   Filter和主程序之间如何传递参数,非常急,请大家帮帮忙!我正在写一个transform   Filter,这个Filter需要从主程序获取一些信息。
谢谢了。

[解决办法]
像设置类的属性那样!!
[解决办法]
filter暴露接口。
如:(filter的名字为TestFilter)
在ITestFilter文件里,
写几个接口:
DECLARE_INTERFACE_(ITestFilter, IUnknown)
{
STDMETHOD(SetParameter) (THIS_
const char * inName, const char *inValue
) PURE;

STDMETHOD(StartVideo)(THIS_
const int inIsVideo, const int inIsAudioUp, BOOL cifd1
) PURE;

STDMETHOD(BeginRecord)(THIS_
const char * inFileName
) PURE;

STDMETHOD(EndRecord) (THIS_
) PURE;
};

在TestFilter.h和TestFilter.cpp声明和实现它们。
然后在directshow里,
IBaseFilter *pFilter = m_pTestSourceFilter-> GetFilter();
ITestFilter *pTestFilter = NULL;
pFilter-> QueryInterface(IID_ITestFilter, (void **)&pTestFilter);

pTestFilter-> StartVideo(1, 0, cifd1);

pFilter-> Release();

热点排行