学习写DSHOW框架下的FILTER之三

本文总结了DirectShow(DSHOW)中FILTER的开发流程与注意事项,包括FILTER、PIN及COM类的作用与实现方法,并介绍了在Windows CE平台上的FILTER注册步骤与调试技巧。
摘要由CSDN通过智能技术生成

时间: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

4

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

2

 

3

按PAGE[1]上所讲的注册成功了

1

设置DEF文件,以使用DLL expose 注册接口如下图所示的接口

2

3

因为我是将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 及相关命令

转载于:https://www.cnblogs.com/pengxinglove/archive/2011/01/07/1930270.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值