学习写DSHOW框架下的FILTER之三
时间:8:25 2011-1-6
总结与计划
8:30 --- 9:00
计划首先来完成MS自带的三种FILTER(SOURCE ,TRANSFORM, RENDER)
要求分析三种FILTER的各自特点.
还是要按着FILTER编写的基本业务流程来分析,
FILTER其是做流程的控制,FILTER GRAPH 状态的控制,其是由DSHOW来管理的.
PIN 其是做FILTER的连接,数据的接收,其是由FILTER来管理的
COM类 其是做FILTER ,PIN的创建,核心业务逻辑的编写.COM性质的表达
自定义FILTER的编写方法:
其的标准方式:
FILTER 类
PIN 类
COM类
FILTER 类:其要继承CBaseFilter 或其子类
PIN 类: 其要继承相应FILTER的PIN,如RENDER 性质的FILTER,其要继承CRenderPin
COM类: 其要继承CUnknown,用户操作FILTER的接口.
用户操作FILTER的接口其是由COM类来创建的元素:
1. 其是修改COM类的状态.而FILTER其是使用FILTER的状态.
在WINCE 上注册 FILTER
[ 使用regsvrce.exe 注册当中所遇到的问题]
1. DllRegisterServer may not be exported
2.注册脚本的编写
:regsvrce.exe 其是已经被我放置在\windows下面
:copy "\nand flash\regsvrce.exe" \Windows\regsvrce.exe
: cmd 命令的参数当中,路径有空格,也要引号括起来
: regsvrce.exe "\NAND Flash\d.dll" 是错误了,: 注册
regsvrce.exe \NAND Flash\d.dll: 删除注册信息
regsvrce.exe /u \NAND Flash\d.dll
pause
按PAGE[1]上所讲的注册成功了
设置DEF文件,以使用DLL expose 注册接口如下图所示的接口
因为我是将MS的自带的FILTE ,新一个WIN32智能DLL项目,所以要添加上面的信息
[1]WinCE DirectShow Filter 注册 包括 FILTER ,PIN的信息注册
http://blog.csdn.net/hdh4638/archive/2010/03/03/5341644.aspx
[2]注册自定义文件类型
http://lenux.bokee.com/3900251.html
[PC机上的DSHOW]
环境的建立
项目的创建
运行
调试
[环境的建立]
前期准备:
1.编译BASECLASSES,
2. 将头文件与LIB的路径说明:
头文件:项目 | XXX属性|配置属性|C/C++|常规|附加包含目录
LIB: 项目 | XXX属性|配置属性|链接器|常规|附加库目录
1. 头文件
#include <streams.h>
2. LIB( 其是静态的LIB)
#pragma comment( lib,"strmbase.lib")
#pragma comment( lib,"strmiids.lib")
问题:cannot open include file 'activex.ver',
http://topic.csdn.net/t/20041206/12/3618787.html
问题:
怎么样注册FILTER
使用regsvr32.exe
如:
regsvr32 ezrgb24.ax
参考PAGE:
[1]我做DSHOW的总结
http://blog.csdn.net/adamsmith/archive/2006/11/04/1366102.aspx
[调试]
1.其关键上注册的DEBUG版本的FILTER
参考PAGE
[1] DirectShow Filter调试方法( 在PC机上面的)
http://hi.baidu.com/qtycr/blog/item/5fdc77f4aa9847d9f3d3857a.html
[1]国外一些DSHOW PAGE
http://tmhare.mvps.org/
[2] 在WIN MOBILE下的GRAPH VIEW工具]
http://www.gdcl.co.uk/mobile/
[3]DirectShow FAQ
http://msdn.microsoft.com/en-us/library/dd375463(v=vs.85).aspx
[4]在PC机上其有GRAPH EDIT plus 很强大
http://www.infognition.com/
http://www.codeguru.com/forum/archive/index.php/t-450253.html
[5] 另一个开源的GRAPH EDIT
http://blog.monogram.sk/janos/
[6]Windows CE 6.0 Directshow Problem
http://www.ureader.com/msg/1485788.aspx
[7]How to develop DirectShow filter on Windows CE 6.0?
http://www.pocketpcjunkies.com/Uwe/Forum.aspx/wince-dev/4065/How-to-develop-DirectShow-filter-on-Windows-CE-6-0
[CString是MFC类吗?]
ALT与MFC其已经共享了此类,还有很多的类要已经共享了.
http://msdn.microsoft.com/en-us/library/zzs00fs6.aspx
http://msdn.microsoft.com/en-us/library/ekdt199a.aspx
1. 先安装 SDK
2.安装WINCE6.0_SWE项目开发项目
http://www.cnblogs.com/pengxinglove/archive/2010/12/01/1893758.html
[SVN 的使用心得]
1.SVN其是一个DOS窗口程序,安装完SVN之后,我们就可以在CMD窗口当中,输入SVN 及相关命令