过滤器的开发:
1 添加头文件和库
2 创建工程(一般使用Win32 Dynamic-Link-Library,生成一个Simple DLL)
3 需要实现入口函数
DllMain
DllGetClassObject
DllCanUnloadNow
DllRegisterServer
DllUnregisterServer
DllGetClassObject
DllCanUnloadNow
DllRegisterServer
DllUnregisterServer
4 导出的方法:
>在定义函数时使用导出关键字_declspec(dllexport)
>在创建DLL 文件时使用模块定义文件.Def
5 需要添加的lib库
strmbasd.lib msvcrtd.lib quartz.lib vfw32.lib winmm.lib kernel32.lib advapi32.lib version.lib
largeint.lib user32.lib gdi32.lib comctl32.lib ole32.lib olepro32.lib oleaut32.lib uuid.lib
6 选择基类:
转换过滤器: TransformFilter,TransInPlaceFilter
( 输入输出Pin的媒体类型相同,则一般采用CTransInPlaceFilter 作为Filter的基类;
如果媒体类型不一样,则一般选择CTransformFilter 作为基类 )
源过滤器:CSource
渲染过滤器:CBaseRenderer,CBaseVideoRenderer